Hacker News new | past | comments | ask | show | jobs | submit login
We’ll stop selling our Code Editor app for iOS soon (panic.com)
353 points by krzyzanowskim on May 11, 2021 | hide | past | favorite | 436 comments



> The biggest technical hurdle is the inability to run external processes on iOS and iPadOS.

> Apps on iOS and iPadOS must use Apple’s Javascript interpreter, JavaScriptCore.

Both of these really suck because they are policy, not technical, decisions. Even setting aside the arguments of whether JIT code is a security concern (it is not unless your security model is one where codesigning exists to prevent the addition of new native code) that you cannot spawn a new process, nor can you ship another JavaScript interpreter, is really unfortunate.

Allowing apps to spawn new processes is easy (I mean, just inherit sandboxing rules and resource limits…) and allows for a lot of new usecases, like robust crash reporting, web servers, privilege separation, and more. That Apple allows this on macOS and even uses it for its own apps on iOS just shows how useful this can be and how little it affects the security model of iOS.

Likewise, not allowing other JavaScript interpreters is just…annoying. Regardless of your opinions of JavaScriptCore, this is an unfair limitation on an already slanted playing field. Coupled with the fact that the JavaScriptCore interpreter (which the framework uses for anything you run in-process) is literally designed for low resource consumption instead of than performance makes this even more infuriating.


> Likewise, not allowing other JavaScript interpreters is just…annoying. Regardless of your opinions of JavaScriptCore, this is an unfair limitation on an already slanted playing field.

Reading the actual policies reveals that other interpreters are in fact allowed, but they may only be used for code that is part of the app bundle.

The actual limitation is that apps must be self-contained, and only javascriptcore and webkit may be used to run code from an external source (e.g. downloaded or user input).

See app store review guidelines, section 2.5.2: https://developer.apple.com/app-store/review/guidelines/#sof...


Apple tries to rely on static analysis. But it does not work and the engineering premise for it to work is shaky. This was discussed in Epic vs. Apple recently

https://arstechnica.com/gadgets/2021/05/apple-brass-discusse...


Objective-C supports dynamic dispatch i.e. call methods using a string at runtime.

So it's impossible to have static analysis work in all cases.


In all cases, sure. But static analysis people have been resolving virtual function calls effectively for decades.


Apple uses some dynamic analysis as well, but of course this is limited to what they can see during review.


No, the actual limitation is that you can’t implement a JIT compiler. You can’t create executable memory blocks unless you have a special entitlement only Apples Javascript engine has.

Even using that engine your app must be self contained, you can’t download extra code, no matter the language.

As your link says:

> Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps.


> Even using that engine your app must be self contained, you can’t download extra code, no matter the language.

That rule is honored more in the breach though


With the big caveat that only JavaScriptCore can JIT, so third-party interpreters will always be performance-constrained. Not a big deal for languages like Python or Lua that are always interpreted, but things like .NET on iOS (Xamarin) have to be ahead-of-time compiled for decent performance, and it's a complete non-starter for third-party JavaScript interpreters.


Neither Python nor Lua are always interpreted.

(Both languages have fairly well-known and reasonably widely used alternative implementations that include JIT.)


JavaScriptCore can’t JIT when run in process, the entitlement isn’t there on your app, so the kernel won’t let it. I think that’s part of the reason for WKWebView (which runs the browser in a separate process and proxies it).


>> The biggest technical hurdle is the inability to run external processes on iOS and iPadOS. >> Apps on iOS and iPadOS must use Apple’s Javascript interpreter, JavaScriptCore.

> Both of these really suck because they are policy, not technical, decisions.

They are policy decisions that kind of make sense for a device like a tablet or phone though. Even though you could technically allow installing a complete development toolchain on an iPad, I can't imagine what the process would look like in practice. Download and install a complete *nix userland through the app store? Plus a compiler toolchain and each and every tool used in the build phase for your product? Who is going to maintain and distribute all these parts if the whole ecosystem is designed around the idea that apps are sandboxed and distributed through a curated app store? Imagine the customer support burden if you are the maintainer of some app that depends on external tools that can be used in a zillion different build/deploy configurations.

You could of course argue that the iOS ecosystem should not be based around a curated app store and sandboxed applications, but that would make it a MacBook...

Maybe we should put the whole idea of having one device that does everything to rest and accept that there are advantages to have a split between 'real computers' and tablets/phones. That's just my opionion though...

Edit: ah great, an immediate -3 because apparently people here think it is absolutely required to downvote straight away because they disagree with some opinion that is not their own.

Goodbye Hacker News, after ~10 years I'm finally done with the comment sections here and will deactivate my account and ask for it to be deleted


Apple advertises their own iPads as computers now, they certainly don't want their customers to look at iPads and think, "that's great, now I'm going to buy a real computer instead". They want their customers to buy an iPad. The only real way for iPadOS to go is "up", as in, absorbing more "real computer" features.

Also, what you're describing already exists, it's called iSH. It runs an x86 emulator with a copy of Alpine Linux inside. Somehow, they even convinced App Review to allow it (yes, Apple did threaten to remove it at one point, they backed down). You can use this penalty box to run pretty much any developer tool you like, you can mount file providers inside of the VM, etc. The only limitation is that it's x86 emulation is incomplete, I can't get it to run cargo so I can't compile Rust programs on it yet.


> they certainly don't want their customers to look at iPads and think, "that's great, now I'm going to buy a real computer instead". They want their customers to buy an iPad.

They want their customers to buy both. Apple has nothing to gain by killing off the Mac via the iPad.


> Apple has nothing to gain by killing off the Mac via the iPad.

If tablets are going to replace laptops for consumers in the long term, Apple would prefer that those tablets be iPads. If that shift means the iPad eats the Mac, so be it.

This already worked for them once - the iPhone cannibalized the (then-very profitable) iPod business with Apple’s explicit support, and now the company’s worth a trillion dollars.


They clearly want ipad to replace macs for consumption, not coding.


> They clearly want ipad to replace macs for consumption, not coding

I don't know what they want, but they're clearly preparing for a future where iPads are the default for consumption and creation.

There are multiple physical keyboard options, the Pencil is consistently refreshed, iPadOS has mouse/trackpad support now, and there's even an official - if very limited - iPad IDE[1] for learning Swift.

1. https://www.apple.com/sg/swift/playgrounds/


Swift playgrounds does not change their “app console” philosophy as can be seen from their documents shown in their legal battle with Epic (I’m on mobile so I don’t have the link handy)


If we’ve learned anything from Apple’s history, it’s that what they say today has little bearing on what they’ll do tomorrow.


The truest comment I've ever read. Honestly I hope you're right! How cool would that be?


The line is that the adding additional functionality requires an informed user's explicit and understood consent. This is a blurry line of policy which is not able to be limited via technology. The developers of tools like iSH and Pythonista have to tread carefully.


Apple advertises their own iPads as computers now, they certainly don't want their customers to look at iPads and think, "that's great, now I'm going to buy a real computer instead".

Just because most of us on HACKERnews write code doesn't mean your average 'computer user' does. iPads work very well as computer replacements for the majority of people who just want to browse the web/do shopping/use their favourite video and other media viewer etc etc.

It's an everyday computer for the masses. Not a developer's workstation.


Wow, you can actually use iSH to install PHP, run `php -S localhost:8080` and view index.php or whatever in Safari. I had no idea this was possible on iOS. Thanks!


Yeah, iSH is cool, but x86? Seems odd that they didn't run an ARM version of linux in a container or VM.


The iSH author had more experience with x86 than ARM.

I would not be surprised if iPadOS 15 ships with virtualization support, since the M1 has ARM EL2. If that is the case and Apple allows iSH to use it, then it probably would make sense to add ARM support to iSH for extra performance.


You cannot download and execute arbitrary files, so had to have something interpreted.

They could pick something easier to emulate perhaps, but x86 has benefits from a compatibility standpoint.

Maybe one day there would be a benefit of targetting WASM with a natively implemented syscall api?


We looked into it; the problem is that this makes system calls unbearably slow because they require IPC.


There isn’t any support for this in iOS.


I downvoted you for several reasons: while I do agree with the basic idea (an iPad shouldn’t be a MacBook with touch), I think the way you argue for it lacks nuance and doesn’t hold up. First of all, there is no reason why you can’t have both, *nix tools and a central App Store. Most people don’t use nix tools? Don’t install them. This would also work with sandboxing, e.g. I wouldn’t care if every app brings their own compilers even if it wastes memory. But even that is too much in apple’s eyes. The reason I need a MacBook that has the same processor as an iPad to develop for the iPad is completely arbitrary. Also, ideally I would like to not have to carry around multiple devices but more importantly, don’t buy them because it costs money (for some reason this argument rarely comes up, but money matters, especially in developing regions). Lastly, having devices that serve multiple purposes is a good thing for the environment. It’s also the way forward for the last 2 decades. When was the last time you had a separate MP3 player, a camera a calculator and a GPS device with you? Why shouldn’t my iPad be capable of enabling actual productive work?


"Should" in an ethical sense often conflicts with "does" in a business sense.


> Even though you could technically allow installing a complete development toolchain on an iPad, I can't imagine what the process would look like in practice.

Like every other computer ever.

> Imagine the customer support burden if you are the maintainer of some app that depends on external tools that can be used in a zillion different build/deploy configurations.

Microsoft and Google seem to work just fine. People seem to be able to ship when they have the tools to do so.

> They are policy decisions that kind of make sense for a device like a tablet or phone though.

They are strategic decision under the guise of policy decisions. Apple is "protecting you from dangerous apps" (read: dangerous apps = competition for Apple).

Apple is anti-competitive.


It's got 8GB of RAM and 3GHz processor. It runs Photoshop, for God's sake. An iPad is a small computer with touch.


An iPad Pro and a MacBook Air have the same core hardware - even the same M1 CPU. Add a keyboard and they look really similar except that the iPad has a touchscreen!

But there are lots of hybrid tablets and touchscreen laptops. What makes the iPad an amazing device for me is its outstanding software library (e.g. Procreate) and the Apple Pencil.

I could certainly imagine Apple bringing its Pro apps - notably Final Cut, Logic, and XCode - to the iPad. But I can't imagine Apple opening up iOS any time soon any more than I would imagine Nintendo opening up the Switch.


With this level of reasoning, SMS also makes sense for phones, and banning messenger apps is no big deal.

People have different needs, and a minority is always pushing the edges, and this pushing needs to happen so that the mainstream can pick and choose from the newly explored territory.


I was looking at some old notes the other day and remembering that I had made a plan for going the other direction, of slaving other devices to my IDE for faster round tripping of UI development.

That’s a very heterogenous example, but at some point we will be discussing personal clouds, where people have a little cluster of commodity/older ARM hardware that they balance a bunch of services across.

For example, you can download the server part of Don’t Starve Together as a separate app that you can then leave running even if you log off. That should be the standard for coop games, and probably for multiplayer games in general.

We are also overdue for a rethink of CI/CD pipelines, and I don’t mean As A Service.


> You could of course argue that the iOS ecosystem should not be based around a curated app store and sandboxed applications, but that would make it a MacBook...

Exactly what I would argue, and the only thing that would bring me back to iOS at this point.

> Maybe we should put the whole idea of having one device that does everything to rest and accept that there are advantages to have a split between 'real computers' and tablets/phones.

Google "convergence Pinephone", and imagine how powerful that would be with an iPhone running convergent macOS. And how much more powerful having macOS (with a mobile-optimized GUI) on the phone would make it on the go.


I understand your frustration with downvotes but it's not too bad in general in my experience. It's Apple discussions in particular that are hopeless, you have the rabid fanboys one one side and the rabbit haters on the other. I gave up on commenting on these stories, you can try to make a constructive comment only to be immediately grayed out.


Downvoting seems to turn any opinionated discussion into a stupid game/power struggle between upvotes and downvotes. As if you somehow "win" whenever someone with a different perspective is downvoted to grey.

It's bad on HN, and it's much worse on other sites.


Ive found this as well. Offering input from a highly specialized experience set (US IC community) being downvoted because I share the reality of some things that conflict with how people think things should be.


> They are policy decisions that kind of make sense for a device like a tablet or phone though. Even though you could technically allow installing a complete development toolchain on an iPad, I can't imagine what the process would look like in practice. Download and install a complete *nix userland through the app store? Plus a compiler toolchain and each and every tool used in the build phase for your product? Who is going to maintain and distribute all these parts if the whole ecosystem is designed around the idea that apps are sandboxed and distributed through a curated app store? Imagine the customer support burden if you are the maintainer of some app that depends on external tools that can be used in a zillion different build/deploy configurations.

I've got Termux running on my phone, complete with vim plugins, language server support, several compilers and all kinds of other tools. Combined with a bluetooth keyboard, it can be very useful in a pinch. It'll stop working on Android 11 because of "security concerns", but either thankfully or sadly, my phone has no stable Android 11 release yet. Everything is running inside a sandbox, I don't even have root access, and the binaries are distributed through a normal Linux package manager. With the right software you can even run a normal GUI on it through VNC or Spice, although that's something I haven't explored yet.

No need for other app developers to have any relation with Termux, that's what the sandbox is for. On Android, you can theoretically implement a system for sharing binaries and virtual files quite easily if Termux would support it, but I haven't seen such need myself.

These tools are maintained by volunteers and the Termux developer, and can be extended by adding repositories made by other people. So "who is going to maintain and distribute all these parts" comes down to the same question as "who is maintaining and distributing all of these Debian packages": the developers who want to make the ecosystem and apps function.

Most users won't use their phone or tablet like this, but I honestly don't see why they shouldn't be allowed to if they wish to. Apple is selling a complete keyboard and display stand for iPads, so these devices are clearly being targeted for productive use. Yet Apple refuses to allow developers to be productive on these devices, because they don't want competition for their crappy mobile browser engine.

As far as hardware is concerned, the touch screen, keyboard and OS are pretty much the only serious differences between the iPad and the Macbook Air. If you prefer a two-in-one tablet/laptop combo (which quite a lot of people do), the iPad is the closest Apple product to fit the description, if it would allow users more software freedom.

I do see the advantage of the curated app store, but I don't see the advantage of banning customers from not using said app store for the end user. You don't _have_ to install any apps from outside the app store, you just get the option to do so if you wish. I don't know any non-technical people who have installed apps from outside the Play Store, so it's not like allowing any lifted restrictions will make the ecosystem collapse.

I have a hard time understanding why you would want a company to tell you what you can and cannot use a device for. Their suggestions are always welcome, but why would you be in favour of their restrictions?


> I have a hard time understanding why you would want a company to tell you what you can and cannot use a device for. Their suggestions are always welcome, but why would you be in favour of their restrictions?

1. I'm in favor of locked-down devices for certain classes of users, because it reduces the technical support burden, one that I might otherwise be saddled with!

2. I'm willing to put up with walled gardens that have high-quality software, such as certain iPhone games and music apps, or first-party Nintendo games on the Switch. DRM is irritating, but I can live with it if it doesn't get in my way too much.

3. I'm in favor of several of Apple's developer restrictions that are aligned with my priorities of privacy, security, and battery life, so I'm willing to put up with the others that support Apple's business interests. Sideloading obviously makes such restrictions less enforceable.


I see. I don't think that all of these restrictions are really necessary to achieve the goals we both share for smartphones, but I can understand the rationale better now.

I actually agree with most of those reasons as long as there's a developer mode setting somewhere deep down to turn them off. I've only seen hidden settings being accessed on a large scale once, which was during the Pokemon Go hype, to allow GPS spoofing through the developer options; something that can't be easily done anymore.

With an off switch, normal users are protected and given a nice ecosystem while anyone else can benefit from the freedom of using their device the way they want to. This solves the technical support burden and the software quality issue, because to reach that audience, you still need to go through some form of accepted app store. If you prefer Apple's judgement for whatever reason, you just stick to their store and ignore the existence of any other app out there.

I have to disagree with you on the developer restrictions, though, and I think that's where my lack of understanding your mindset came from. The mandatory 15/30% cut and arbitrary rules (such as the ban on most parental control apps the moment Apple brings out a competitor) make it impossible for me to tolerate the other minor annoyances that come with Apple's decisions. Of course, Google has been going the same route, sadly.

Google has been applying many of the same protections, except for many of the privacy ones, and their platform doesn't suffer a side-loading problem at all. This indicates that the ecosystem would be fine if Apple would loosen up a bit, sticking to their privacy guns but allowing developers to still compete with whatever project they've come up with next.

Neither Google nor Apple have my best interests at heart, but in the case of Google I can at least work around their stupidity. I'll gladly lose access to some "exclusive" content if that's what it takes to install open source apps onto my phone.


Ironically, your comment was in positive when I read it...


> will deactivate my account and ask for it to be deleted

I don’t think accounts can be deleted? I tried once and was told no. :(


I think they can, but they just refuse to. I’ve seen (a few times) some comments with the username and text as “[deleted]”. But I’m not @dang, so I can’t say for sure.


yes, downvoting hurts, and sometimes it's not fair, i got to feel that too. but it has been said repeatedly that downvoting is reasonable to voice disagreements. replying would be better, but not everyone can put their thoughts into words.

try to think about it as a strong disagreement.

(EDIT: i wonder who downvoted this comment now ;-)


I haven't downvoted you, but voicing disagreement via downvoting isn't reasonable, since it tends to have dissenting opinions not be heard at all. When we're here to have a discussion after all, aren't we?


I agree with you but HN does not. HN specifically says downvoting for disagreeing is a valid and even encouraged used of downvoting on HN. I've been informed of this by Dang when complaining about downvoting before.

https://news.ycombinator.com/item?id=16131314

I wish I could downvote downvoting


well, yes, i used to think like that too, but i changed my mind. even when i received downvotes. they don't say much, but they did tell me that there are people who disagree with me. it is a weak signal, but it is a signal, and so it's not useless nor unreasonable.

personally, i only downvote if i feel someone says something unreasonable or worse. but not if it is a good argument, even one that i disagree with. in those cases i even counterupvote other downvotes.

as for the downvote on my comment, that was more a rethorical question. i was actually just laughing at that, given the subject of the message. and the subsequent upvotes show that a lot of people agree with the comment.

(edit: it gets funnier. by now my above comment received at least 8 upvotes and 4 downvotes (or up to 4 people changed their mind))


Why is there voting at all? It's so childish.


Upvoting that.


> replying would be better, but not everyone can put their thoughts into words.

Exactly, downvoting as a way to disagree is the easy way, it’s childish, puerile, and ridiculous. But let’s put things into perspective. A comment is just an opinion in a sea of random opinions. Opinions, for the most part, are not even personal, people tend to borrow them. To think through something and come up with an original opinion takes a lot of work. A downvote is just an easy dismissal, in a sea of easy dismissals. That’s not a proper way to communicate.

Downvoting is imperfect, but that said, I understand how people can find it useful as a curating system. I never downvote comments I disagree with because it doesn’t accomplish anything. It also takes too much energy.


As long as Apple makes money from allowing people to buy "Pro" apps like IDEs, REPL , other creation apps then you wrong, otherwise Apple should reject this apps as not allowed because the device is not capable for Pro creator usage.


That sounds like the exact thing that Microsoft was slapped with in the 90s. Microsoft used operating system functionality for their browser that 3rd parties did not have access to. Microsoft was forced to open this stuff up.

Apple regularly leverages operating system calls that 3rd parties do not have access to.


I'm not sure it's the same thing. It's an arbitrary and somewhat dubious limitation, but it's less like "IE gets to hook into the OS at a lower level than Netscape Navigator can" than if the problem has been "Netscape Navigator can run on Windows but has to use IE's rendering engine."

I think a lot of iOS's limitations come from a philosophical stance Apple took at the start of the (iOS) App Store -- iPhones and iPads should be treated like consoles, not general purpose computing platforms. Despite them marketing the iPad Pro as if it's a full-bore computer replacement -- and to be fair, there are a lot of use cases where it really can be (e.g., office worker, photographer, writer[1], even video/audio editor -- on an OS level, they've stubbornly stuck with the "Mac = computer, iPad = console" approach[2] and I don't think they're going to change it unless forced.

[1] With certain limitations. I can use an iPad well enough for my fiction and non-fiction, but not for my technical writing.

[2] The "Mac = computer" part of that is why I disagree with the prevailing opinion on HN about how Apple will "inevitably" lock down the Mac to the same degree they have the iPad; I think they continue to see them as fundamentally different classes of products, even as that distinction grows ever more arbitrary.


I think there's reasonable argument to be made that smartphones are important enough that they should not ve like consoles, and should be forced to be more open. I guess a similar argument to that used to justify regulating utlities.


The problem is that there are a mix of technical and non-technical restrictions in order to keep end users from shooting themselves in the foot.

It is likely a "careful what you wish for" with regulating the platforms like utilities, because they would likely regulate much farther down - the governments would become an additional party setting app store policy to a much greater degree than we see today.


That's ignoring all the other things MS was up to at the time. They did a lot of embrace-extend-extinguish to reduce the effectiveness of competitors, a lot of dirty dealing with OEMs to block alternate OSes. The IE thing was just one piece of a much larger case.


The main component of Microsoft v. US was about this:

https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor...

Part of their punishment was to open up APIs and allow 3rd parties to audit. If this wasn't the main part of the case why was this used to remedy?


IE was used because it was a clear demonstration of MS's abuse of their market share and monopoly position to stifle competition. If they'd integrated their office applications in a similar fashion, spending billions of dollars on development and advertising only to release it for free and forced OEMs to not install a third party office application suite with strong arm tactics, that's what we would have seen.

The browser was not special, the abuse was the issue and the browser case was solid to use as a central claim against MS.

And this bears repeating again and again:

The browser was not and is not special. It does not matter. It was the abuse that was at issue, not the browser itself. The browser was a symptom of the abuse. Again, the browser was not the issue, only a symptom of abuse of their monopoly position.

Any claims against Apple about the Safari browser on mobile being like the IE situation on Windows is the result of a shallow reading of the case.


https://www.justice.gov/atr/us-v-microsoft-courts-findings-f...

>34. Viewed together, three main facts indicate that Microsoft enjoys monopoly power. First, Microsoft's share of the market for Intel-compatible PC operating systems is extremely large and stable. Second, Microsoft's dominant market share is protected by a high barrier to entry. Third, and largely as a result of that barrier, Microsoft's customers lack a commercially viable alternative to Windows.

Viewed together, three main facts indicate that Apple enjoys monopoly power. First, Apple's share of the market for smartphones is extremely large and stable. Second, Apple's dominant market share is protected by a high barrier to entry. Third, and largely as a result of that barrier, Apple's customers lack a commercially viable alternative to iOS.


How? There are many viable alternatives to everything Apple makes. There are plenty of non-Apple laptops, desktop computers, tablets (ok, this is more limited at least in terms of equivalent capability), phones, even the watch.

And Apple, unlike MS at the time, has not been conducting the same abusive policies that put competitors out of business, which is a large part of what raised the cost of entry.


>Third, and largely as a result of that barrier, Microsoft's customers lack a commercially viable alternative to Windows.

Do Apple customers have commercially viable alternatives? Apple's current customers and, not only alternatives, viable alternatives?

I personally know many people who lament, "All my stuff is Apple, I can't leave!" Of course they could leave if forced to but it is not viable. Perhaps their other devices would stop working. Those people aren't choosing Apple products because they think they're better, they are choosing Apple products because they are a victim of Apple lock-in.


I remember when Microsoft had its dominant position with Windows[0] in the late 1990s; sentiments along the lines of "this sucks, but we're stuck with it" were common. I do not hear that sentiment from Apple users often today. Even when they have complaints, they typically like the hardware and/or software better than alternatives to which they have been exposed.

In case that seems like something a fanboy would write, I should clarify that I am not an Apple user, nor do I have any desire to buy Apple products (though I do hope somebody else manages to build a fast, cool-running ARM laptop soon).

[0] Windows still has a very high market share for desktop operating systems, but there's much less lock-in for most users.


There are reasonable alternative to all of Apple's products and I'm not aware of anything except convince stopping people moving.

This sounds a bit like saying Ford has a monopoly on the Ford car market - true, but not how anti-trust cases work.


Where on Earth are you getting that Apple's market share is "extremely large and stable"?

iPhones account for 17% of the smartphone market.[0] That's less than Samsung.

iOS has 27% market share against Android's 72% [1].

Apple has a monopoly on Apple products. Yes, there is a high barrier to entry to compete with Apple on making Apple products.

But they in no sense have a dominant market position, much less one to be compared with Microsoft at their height when IE had 95% market share of browsers [2]

[0] https://www.counterpointresearch.com/global-smartphone-share... [1] https://gs.statcounter.com/os-market-share/mobile/worldwide [2] https://en.wikipedia.org/wiki/Usage_share_of_web_browsers


What is iOS market share in the US?


Over 50%.


The iOS ~50% smartphone market share is dramatically different to the 90%+ market share Windows had.

Redefining the market as "the iOS smartphone market" is what Epic seems to be trying to do. I'm skeptical about this being a workable approach in an anti-trust case.


How is it not similarly abusive to ban non-approved software from being installed without paying a 30% protection fee?


In similar way that Al Capone was indicted for tax evasion, not for the many other crimes he was understood to commit. The prosecution stands on what it can be able to proved in court, with a judge sharply listening to each detail.


That's true but consumers would definitely be empowered if Apple received a similar ruling.


Plus the fact that Microsoft had a monopoly they were abusing; Apple doesn't by any reasonable metric.


Here's a reasonable metric: who controls the market for iPad or iPhone applications, and how did that compare to who controlled the market for applications that ran on Windows at the peak of Microsoft's dominance? For the former, the only distribution method is via Apple's store and Apple gets a cut of every sale. For the latter, developers could sell directly to the public; Microsoft did not control this. Apple's monopoly is much stronger.

Apple apologists will blur this by taking about the smart phone market as a whole. But once someone has bought a device, they are no longer in that larger market. They need apps, and there's only one place to get them.

That only leaves the question of whether they are abusing the monopoly.

Google has a similar monopoly over Android applications, but it's not as tight, because of side-loading and fragmentation by Amazon and others. Still, it's a near-monopoly because few people bypass the Play Store.


> Apple apologists will blur this by taking about the smart phone market as a whole.

Until you can find a judge willing to endorse your definition of "market", it's not just "Apple apologists" but "legal precedent".


You'd have no problem finding economists to endorse my definition. As for judges, they only get to rule on cases that are brought to them, and that depends on the regulators.


So, again, legal precedent is that Apple doesn’t have a monopoly.


The legal precedent isn't that Apple doesn't have a monopoly.

There is no legal precedent on whether Apple has a monopoly. The law is entirely agnostic on whether Apple has a monopoly until it is put to a judge.


Consoles have existed for decades applying similar rules to software distribution, no?


There is no legal precedent I’m aware of that you can carve out one company’s products and claim that constitutes a market over which it holds a monopoly, in the presence of an alternative with comparable market share.


The Second Circuit has defined monopoly power as "the ability '

(1) to price substantially above the competitive level and

(2) to persist in doing so for a significant period without erosion by new entry or expansion.'

Apple's iOS platform matches both these conditions.


Except iPhones aren’t generally more expensive than phones of similar caliber hardware. Samsung offers phones even more expensive.

Apple just doesn’t offer cheap hardware.

Does Porsche have monopoly power just because they don’t offer low-end models?


Porsche doesn't provide an app platform.


I think we need two rules for the modern information economy to ensure competition.

I think it should be illegal to deliberately interfer with a devices owner's ability to run the software of their choice. This means that owners of iPhones, PlayStations, Switches, Tractors, Cars, etc should not have to treat the manufacturer as an adversary in their ownership of the devices.

I also think that content exclusivity contracts should be illegal and that all content creators that license content to a service should be required to offer reasonably similar licensing terms to that service's competitors.


> Here's a reasonable metric: who controls the market for iPad or iPhone applications, and how did that compare to who controlled the market for applications that ran on Windows at the peak of Microsoft's dominance?

Apple for iOs and software distributors and computer store retailers for the windows application market.

Microsoft dominated the market for operating systems for home computers, and they did a bunch of nasty stuff, including using their dominance to effectively restrict and/or prevent bundling of other operating systems with new computers, and there were shenanigans done against a handful specific products made by others, but AFAIK Microsoft did not make any attempt to dictate what applications computer stores sold. If you could convince distributors and retailers, your software could be on shelves. There were made for windows labeling programs, and those are now compulsory for drivers, but that's outside the Microsoft abuses time frame and there's not the same kind of pushback.

Google's control of Android is similar, but not nearly the same. Developers can make apks available for users and users can pretty easily install them; the experience seems to be getting consistently better, my newest phones will show a warning on opening that links to the checkbox and when you tick the box you can install the apk directly, without having to find it again. It's not quite as easy as running a setup program on windows, but it's darn close.

Sure, most developers don't provide apks, and most users don't use direct apk links when they're provided, but it's an available option vs jailbreaking an iOS device which requires a lot of fiddly steps. There's also a concern about Google enforcing some terms on downloaded apks that are also distibuted through the Play store, at least a few years ago, they didn't like non-google in app payment, even if it was only in the direct apk; and Google Play's security scanning apparatus runs against downloaded apks and sometimes shows scary messages which may be anti-competitive.

I think there's certainly a legal question about if Apple's captive market can be considered a market for anti-trust purposes. If so, there's a clear case of anti-competitiveness, IMHO. If the relevant market is applications on smartphones or tablets, I don't think Apple has enough marketshare that the anti-competitive things they do are prohibited, because IMHO, they only do things that are prohibited in combination with strong market power.

Google, on the other hand, probably has enough market power, regardless of segmentation, but they also are signficantly less restrictive.


Right. MS had somewhere around 97% of the desktop market for a chunk of the 90s, when the anti-trust stuff was really taking off. As an example:

They used that position to force OEMs to sell Windows only. BeOS was going to be on <vendor> desktops [0], but MS went to them and said, in short, "If you do this, you will have to pay retail price for our OS. And if you have to pay retail price, you will have to raise your hardware prices when selling Windows desktops. And if you have to do that, in this cutthroat low-margin industry, you won't be able to compete with the other OEMs."

The anti-trust case is really interesting reading (to me at least), and worth checking out. Most people only know the headlines of what was covered by it ("it's about browsers") but aren't aware of the deeper and over decade long issues that were covered by it.

Embrace, extend, extinguish: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...

It wasn't just the browser's hooks into the OS (or the OS dependency on IE). It was the deliberate non-conformant manner that MS developed it in. It literally did things in the opposite way the standard described at times. See also their effort at implementing Java as part of their developer suite, where they were later forced to drop the J++ line because they were making an incompatible, non-standard Java.

[0] Compaq? It's in the suit, I may track it down before the edit window is closed.


Layman definitions of monopoly do not matter when it comes to antitrust laws[1]:

> Courts do not require a literal monopoly before applying rules for single firm conduct; that term is used as shorthand for a firm with significant and durable market power — that is, the long term ability to raise price or exclude competitors. That is how that term is used here: a "monopolist" is a firm with significant and durable market power.

Also, iOS has 60% of the mobile operating systems market in the US[2]. Apple's App Store is responsible for 100% more revenue than the Play Store[3].

Apple and Google are certainly leveraging their duopolies in both the mobile operating systems market and the mobile app distribution market in order to prevent competition in those markets and others.

[1] https://www.ftc.gov/tips-advice/competition-guidance/guide-a...

[2] https://deviceatlas.com/blog/android-v-ios-market-share

[3] https://www.businessofapps.com/data/app-revenues/


And how much of it is because how Apple runs their platform?


They are part of a duopoly and I hope Google also gets scrutinized.


Android isn't just Google though. Amazon ships Android devices that don't even have Google's Android store on them. Amazon also ships their own store which Android users can download and install even on Google devices - and they're not the only 3rd party store on Android.


What % of android phones are Amazon? Less than 1%? I think they would need a bigger marketshare before you start including them as a market player.


Phones? Probably nil. But tablets, firesticks, and kindles have to enjoy reasonable marketshare. Kindle is something like 70% of the ebook market, 85% if you include KindleUnlimited.

I believe non-Google Android phones are quite popular outside of the USA.


Ebooks aren't really the same market as phones/tablwts though. So they're not that relevant to the discussion of a smartphone duopoly.


We're not talking about a smartphone duopoly though. This post is about a major iPad app. Tablets are fair game.


Until/unless the two companies are caught colluding against consumers, duopolies aren't covered by antitrust law afaik.


The Apple store is a monopoly when you consider just iOS. It is in fact 100% market share among apple devices. There is no alternative. Android doesn't replace an iPhone in many cases.


>The Apple store is a monopoly when you consider just iOS.

Every business is just a monopoly if you consider it alone, and a single 7 Eleven has 100% marker share among its store.


The analagous situation with convenience storea is: If any convenience store chain was able to prevent other convenience store chains from operating in a geographic area, they would have a monopoly in that area. Consumers in that market segment would have no other choice unless they were willing to sell their house and move.

In your example, a consumer can easily leave 7-11 and go to a near by store at a much, much, lower cost than selling a house.

On Android, to have choices beyond the Play Store, all I need to do is change some setting and instal a 3rd party store.

On iPhone, to have choices beyond the AppStore I might be able to run some much more complicated and dangerous software, but only when Apple is behind in the cat and mouse game with jailbreakers.

The root of the question here is one we have to answer as a society. How much should consumer choice cost (relative to the price of the good/service they are choosing). Maybe 5x is reasonable, but 500x is not.

When a company deliberately does everything they can to raise those costs and thoae costs are very high (such as with Apple), I think we should absolutely call those companies to account for anti-competive and monopolostic trade practices.


>The analagous situation with convenience storea is: If any convenience store chain was able to prevent other convenience store chains from operating in a geographic area, they would have a monopoly in that area

This breaks down as there's no "physical area" preventing anything.

You can get an Android phone whether you're in Alaska or Miami or Tanzania. In fact it's easier, and most of the billions in the planet (including high income earners) do just that.


The analogy is between the cost of moving to a new physical area and the cost of buying a new physical device.


Uh, it's more like the cost of switching your preferred convenience store chain vs. your phone platform. There are alternatives and you might like one more than the other, but at the end of the day both serve the same purpose (buy milk, or computer in my pocket). If this analogy breaks down it's not because Apple has a monopoly, it's because Android ecosystem has not delivered something similar enough to 7-11.


[flagged]


And I don't have to use an Apple credit card on the iOS app store.


Ah but you have to use the Apple app store. There is no alternative.


Sure there is, don't buy an Apple device. They aren't the majority or even necessary for anything. Android is a viable alternative and you can sideload applications there.

And, in stark contrast to the MS antitrust case, Apple doesn't have 97% of the market share.


[flagged]


>You can't not have an iPhone for so many reasons.

This is the most entitled, "first world" problem, I've ever heard of.

Sure you can (not have one). The majority (60%+) of the population in the USA manages just fine without one. 90% in some Western European countries...

Pro tip: you don't need an Apple Watch either.

Pro tip 2: you might want to look up the definition of "need" and "lying".


You'd be surprised what someone who runs a food truck or works in real estate "needs" to project "success".

Actual protip: get out of your tech bubble for two seconds and talk to some real business owners.


Adding true clauses (e.g. some people want an iphone to project success) doesn't necessarily make a true argument. The conclusion must also be supported by the clauses.

In this case, an argument which amounts to:

"People need to have an iPhone because some business owners feel they need it to project success, thus Apple has a monopoly on something essential"

is so random it can't be even be called wrong.

Whether some "business owners" feel they need an iPhone to "project success" doesn't mean anything, and is an absolutely moot point as to whether Apple is a monopoly, or even as to whether the iPhone is an essential good, or whatever else you had in mind.


"I need this specific platform to succeed for some reason" does not somehow make that platform a monopoly that should be subject to regulatory action.

Apple's management of their platform is not unique, is not meaningfully different from their competitors, and not meaningfully different from the management of similar stores in different industries. Even assuming they actually have built a strong enough brand that people are judged for having a competing product, I fail to see how requiring changes to the App Store solves that problem.


A brand requirement to establish prestige seems a weak anti-trust case.

Infact, a judge might see it as a counter argument. If prestige is the reason people buy Apple then almost by definition there must be alternatives.


Well, you don't have to use an Apple credit card in the App Store either.

That said, do you remember having to use Disney money in Disneyland for every transaction?


> That said, do you remember having to use Disney money in Disneyland for every transaction?

I remember it being a fun option to use either Disney or US dollars in the park, maybe it was required at some point, but I don't remember that.


I'm curious, do you use iOS devices?


I own hand me downs I use for testing but they are usually in a pile on my desk and not actually in use.


Hopefully that will soon change. Apple/google is a prime example of why it should.


The the PlayStation and Xbox and Nintendo stores are the exact same?


Because Apple influenced them. They copied Apple’s model because Apple had been getting away with it, and will likely have to comply with whatever new regulations might result from this.


Are you sure? I thought PlayStation store opened in 2006 and apple 2008?


> duopolies aren't covered by antitrust law afaik.

What exactly do you think the 'trust' in 'antitrust' means? From here[1]:

> A trust or corporate trust is a large grouping of business interests with significant market power, which may be embodied as a corporation or as a group of corporations that cooperate with one another in various ways.

[1] https://en.wikipedia.org/wiki/Trust_(business)


Hence the caveat:

> Until/unless the two companies are caught colluding against consumers


What competition does[0] Apple have on the service of distributing iphone applications?

0: indeed, can, without stupedous efforts of reverse engineering that they actively oppose


So if Apple had had any market share in the late 90s then Microsoft+Apple would have been allowed to put a strangle hold on the web the way that Google+Apple do to apps today. In that sense we are really lucky that Microsoft had that monopoly or the open web would not exist today.


I''m really curious why this comment got downvoted. Wish I had gotten a reply. I don't see the error in my logic. If 90s Apple had had 50% of the desktop market Microsoft would not have been regulated. And Steve Jobs was no lover of open systems. In their hands the open web would not have survived.


You can do a lot of things as a non-monopoly that you can’t do as a monopoly.

Apple isn’t even a majority of the market, so laws on monopolies don’t readily apply here.


I was hoping with the announcement of the iPad Pro with the M1 chip and 16GB(!) of RAM it meant that Apple was going to give us some way of running arbitrary code inside sandboxes on the device in the next release of iPadOS. (So we could have Xcode, or at the least, Swift and Clang and a terminal). I suppose they probably would’ve told Panic though, even if under NDA since they’ve had a good relationship with Apple. Crap.


WWDC is in a month so we’ll see then. I will be disappointed if there isn’t at least XCode for the iPad. Swift Playgrounds already compiles Swift code on the iPad and has for years.


Just because it’s impossible for third-parties to write an IDE doesn’t mean Apple can’t. In fact, it seems more likely that Apple would ship Xcode for iOS as a way of trying out new API capabilities and then in a year or two allowing other devs to use some of the same capabilities. That said, I could imagine that if such an API existed, Visual Studio Code would be the first text editor devs would be excited for. I like Nova, it’s much faster than VS Code, but VS Code has all the extensions, and is cross-platform. I tend to use Nova for files, VS Code for folders and JetBrains IDEs for projects…


> it is not unless your security model is one where codesigning exists to prevent the addition of new native code

It is if your security model includes things like parental controls and payment processing.


>Even setting aside the arguments of whether JIT code is a security concern (it is not unless your security model is one where codesigning exists to prevent the addition of new native code) ...

I'm a neophyte on security issues, but this seems like a very open ended assertion.

Doesn't JIT require rwx permission on a block of memory? Haven't there been thousands of security attacks over the years that started with some kind of buffer overflow (or similar approach) that is fundamentally enabled by rwx permission on a block of memory? Like I said, I'm just an observer in this area, so apologies if I am way off base.

>is literally designed for low resource consumption instead of than performance

I would say this is the right choice for a handheld device. At least it is for my phone.


No, these are reasonable questions, they just miss the fact that Apple ships JavaScriptCore with a JIT. By not allowing JITs in third party apps Apple claims they are the only ones who can write a secure JIT (obviously false) and that their platform sandbox is too weak to stand up to arbitrary code execution. Plus, it’s not like normal code doesn’t have buffer overflows or other security issues. As for the tuning on the VM: perhaps in isolation. But again, the high performance JIT exists; it’s just not available to anyone else.


Yes, you are right that they allow their own JIT. Their position would be that they spend a great deal of time hardening that JIT and don't trust others to take that time. Their JIT isn't perfect of course, but they control it and can fix it fast if needed. (In their opinion.) They are really saying that they aren't willing to take the time to exhaustively test other JITs. That is a frustrating choice, but I do understand the thinking.

You raise the bigger point. Is there no way for their platform sandbox to handle the concerns? That is a great question.

>Plus, it’s not like normal code doesn’t have buffer overflows or other security issues.

I think normal code on an M1 only runs in rx memory blocks [0,1], so no buffer overflow attacks. At least not without another attack to remap the blocks. This might go back to A12 processors. M1 strengthened the model.

Perhaps with these newer processors, the hardware support can harden the sandbox enough to allow more flexibility. One can hope...

[0] https://blog.svenpeter.dev/posts/m1_sprr_gxf/ [1] https://siguza.github.io/APRR/


You’re exactly right about this being their position. The problem is that their position is not necessary grounded in fact: WebKit certainly isn’t a perfect browser engine, and arguably it might not even be the most secure one. However, it is not Apple’s job to test anything: it’s not like they are currently responsible for finding security issues in apps right now. Basically their position is:

“We work hard to make our engine secure. We don’t think anyone else should try.”

“But here’s a security issue in your engine. Can I use this other one which I think does a better job? Can I even try?

“No.”

FWIW, W^X is generally implemented by all good JITs these days because it’s a good idea. I’m sure the if given the opportunity browsers would adopt this, just like they’ve adopted sandboxing on macOS despite there being zero documentation or support for that interface. It’s just that Apple does not even allow them to do so on iOS. (Also, W^X does mot protect against all buffer overflow attacks.)


JITs do not require memory to be writable and executable at the same time, which is the source of those security problems.


JITs can be exploited even in the presence of W^X.


Anything can be exploited. Normal compilers too, especially if you're running code someone else supplied. But I wouldn't say there are any especially severe vulnerabilities unique to JITing.


This is also the reason why iPad Pro will never be the professional machine Apple is pushing it as, no matter how much processing power or marketing dollars they throw at it.


For a lot of users it’s more then enough, professional writers editors writers photographers and many many more do not need to “run arbitrary code” it’s a professional device for many professions, just maybe not for software development and maybe that’s ok?


So it is. The gilded cage will never rival the open field.


That depends on what field one is a professional in surely?


React native has Hermes, it’s own JavaScript engine. The key is it’s not a JIT though. It actually performs better in many facets than JSC which is impressive.

So you can run your own side process, and it can be its own JS engine.

Also, I’ll repeat this, but Im a fan of the JSC only limitation, at least for now. By not allowing v8, we are least have some hedge against a… hegemony. I like Apple over Google for many reasons, and would like to see Googles extremely hostile actions towards the web curtailed. I’ll take the trade off. I’d be less happy actually as a consumer if they allowed third party browser engines.


> By not allowing v8, we are least have some hedge against a… hegemony. I like Apple over Google for many reasons, and would like to see Googles extremely hostile actions towards the web curtailed. I’ll take the trade off. I’d be less happy actually as a consumer if they allowed third party browser engines.

Similar deal with WebKit. At ~15% marketshare between mobile and desktop followed with Gecko at ~5%, it's the only real holdout against Chromium domination. If browser engines were opened up on iOS, you can bet anything that Google is going to go bananas with marketing Chromium-based Chrome for iOS and web devs will happily back those efforts, pushing most or all of that 15% over into Google's lap. At that point Mozilla will have an even more difficult time holding on as an increasing number of devs only develop against Chromium.


Not only that, if Chrome gets enough marketshare on iOS Google could do things like taking away 5-20% of a huge fraction of iOS devices' battery life just by shipping a somewhat less efficient build, plus doing the same with any embedded versions they'd manage to convince everyone to use in their apps. I mean, Chrome's already less efficient than Safari, so that much of a penalty might happen regardless, but they could accidentally-on-purpose fail to optimize new features in their iOS code to harm their only competitor in the mobile OS arena.

"But developers and users wouldn't stand for that!" OK except I can take 4-6 hours off my M1 Macbook's battery life by using a couple Electron apps and favoring Chrome over Safari. Lots of people do exactly that, maybe not because they want to, but because they need those crappy programs to get work done.


It must be alien to you that some people do like Chrome for what it offers.


And that comes at a battery life costC I’m slowly trying to move off it myself and it is hard with chrome lockin


Why must that be the case?


Safari breaks it's debug protocol all the time and is no longer compatible with Android so it's not even really an option for my workflow.


Sure, I know lots of people in our field don't have much choice to avoid Chrome on the desktop, even if they want to (and they might simply prefer it anyway, despite the higher power use and its generally being heavier on system resource use)


I absolutely can not stand Chrome. I don't like how it doesn't tie in with native services like Keychain, I don't like how it logs me into the browser when I log into a website (Google)>

Lastly Chrome is power hungry. When I need to use Chrome for work, I go through my battery almost 2 - 3 times faster than when using Safari.

I much prefer the integrated experience I get with Safari and how it feels like it fits in with the rest of the OS over Chrome which does its best to tie me into Google services.


> I much prefer the integrated experience I get with Safari and how it feels like it fits in with the rest of the OS over Chrome which does its best to tie me into Google services.

That sentence is weird to me - you appreciate Safari for binding you into using in-house Apple built functionality but you begrudge Chrome trying to do the same with Google build functionality.


Yeah, I appreciate Safari for fitting in with the rest of the OS and integrating with the services it provides.

I can easily share my passwords with other apps/devices I own, and use it as a password manager. I don't want to cede that to another service.

So yes I begrudge Google for forcing me to use their services instead.


>you can bet anything that Google is going to go bananas with marketing Chromium-based Chrome for iOS

But Apple is a Pro at PR so Google PR should not work, the only issue would be if Safari is garbage or Google attempts to use some non standard APIs on their pages - but in this case Apple could give everyone a hand by using their expsensive lawyers and doing once in their life something good and go after Google.


> Google attempts to use some non standard APIs on their pages

Google pushes their APIs and calls them standard. And then employs "developer advocates" to bash iOS and Safari.

Here's a non-exhaustive list of APIs that are "standard" even though both Safari and Firefox are against them: https://webapicontroversy.com/


What's sad is, the current duopoly actually has a nice division of labor. Google tossing any brain drippings of some random web dev into Chrome to experiment with, Apple plays the conservative role examining what is going on and waiting for things to go through a committee. The only place this breaks down is where the Google missionaries go around and lambast Apple for not rushing out to implement every half-assed feature that ships in Chrome.


OMG I never thought about it this way. That's a very interesting and quite accurate description, thank you!


> By not allowing v8, we are least have some hedge against a… hegemony. I like Apple over Google for many reasons, and would like to see Googles extremely hostile actions towards the web curtailed. I’ll take the trade off. I’d be less happy actually as a consumer if they allowed third party browser engines.

I'm sorry but I only see "I like X and I hate Y".

Worse, you want your preference to be forced on other people.


This comment could be slapped on either side of the fanboys in this thread and it would still do nothing except be inflammatory.


It's sad that the only hedge we have against the browser monoculture problem is Safari of all things.


Upvoting you because I don’t think many people in this thread understand what kind of dangerous privilege is given to third party JIT web renderers.

On iOS, third party JIT is blocked by disabling mprotect + PROT_EXEC syscall, which allows execution of arbitrary blocks of memory.

No thank you, I don’t want rando apps to have that kind of power. Especially given the trade-off is some marginally different browser experience.


This is not a dangerous privilege, given that you can already ship pretty much arbitrary code to users…


If you want to hedge against a hegemony why not allow an actual compiler...


Because the hedgehog won’t share the hedge.


But you’re allowed to run a vm for running code. Like the “ish” shell


> setting aside the arguments of whether JIT code is a security concern (it is not unless your security model is one where codesigning exists to prevent the addition of new native code)

But, it is.

1) provide a JIT compiler

2) download code from the internet

3) provide code to JIT compiler

4) ???

5) Profit!

JIT code obfuscates the inspection of the app. It therefore is a security concern.


How is this significantly different from:

1) link JavaScriptCore

2) download JavaScript code from the internet

3) provide code to JSC

4) ???

5) Profit!


I suppose the difference is that JSC can only execute javascript (an interface which is relatively self-contained and which Apple can control) and not arbitrary machine instructions?


But you can't provide a JS JIT as well.


Apple makes sure that JavaScriptCore can safely run untrusted code, but they don't apply that same level of security to their native API.


JIT's can be made 100% secure. Inspection by humans cannot be made secure, for a lot of different reasons. So it's just the opposite.

I've run bots that executed code from the internet and while yes, I've had to learn some lessons the hard way, you can have perfectly safe JITs.


If I was a malicious developer I’d just spray my app with ROP gadgets and run arbitrary native code, just somewhat slower.


I have a different view of this than most in this topic. I am disappointed, though not surprised, that Panic is abandoning yet another of their iOS apps. They’ve done it several times before and while I am grateful they’ve continued to provide some bug fixes, feature work stopped years ago.

In my view, the biggest hurdle does not seem to have been technical, but ideological/business. These old school Mac developers like Panic and Omni have had a very difficult time adapting to (or failing to) the iOS/mobile era. I know we all hate subscriptions, but continued app development and management requires continued labor so subscriptions seem like the only business option that makes any sense to me. Panic and Omni want paid upgrades but Apple has never, ever even hinted at providing that as an option. The option is subscriptions. Even on desktop Sketch, Adobe, and Microsoft are going with subscriptions. (We’ll see how Affinity does. They charge a lot more for their apps and seem to be in a growth phase so I imagine their sales at the moment are fast enough to make up for the fact that each sale is only a one time source of revenue).

Honestly, Panic and Omni and other old school Mac developers really, really need to adapt to the modern era. They’ve had years and it feels like the runway is about to end (see Omni’s recent layoffs.) Wishing for paid upgrades and writing “only AppKit apps are real Mac apps” blog posts isn’t going to change anything.


The post gives an specific technical limitation for why Nova wouldn't be possible due to iOS apps store policies. So they wouldn't be able to make a subscription version even if they wanted to?

> The biggest technical hurdle is the inability to run external processes on iOS and iPadOS. There’s just no way around it: this is required for modern web development. For example, the TypeScript extension is one of the most popular Nova extensions right now, and it launches and runs the TypeScript compiler. While we could attempt to build the TypeScript compiler into Nova, we can’t possibly anticipate and include every such tool that might be needed by a developer. We’d need to bundle compilers, interpreters, and language servers for just about every programming language in existence, not to mention tools like linters, JavaScript transpilers, and bundlers. The scope would quickly become unmanageable, and we’d always be lagging behind the latest versions of these tools.


That complaint doesn't quite make sense to me because things like "language servers for every programming language in existence" don't exist for iOS in the first place, even if you were allowed to run external processes.

To me the logical solution is something like Replit, where your arbitrary programming environment is running off-device. You want to program Go or Python on your iPad? Okay, but the actual code is executing in some cloud machine. Apple should be happy with that, and it'll be a lot easier to maintain all this stuff off-device anyway, than on iPads, where nobody else is maintaining a toolchain.

Of course that doesn't work with a "one-time-purchase" business model....


> That complaint doesn't quite make sense to me because things like "language servers for every programming language in existence" don't exist iOS in the first place, even if you were allowed to run external processes.

Yes, they do exist for iOS, they're the existing language servers. iOS is Unix on ARM, it can run most of (all of?) the Node ecosystem (including the existing LSP implementations) just fine. The problem is Apple doesn’t provide the APIs to run them, and bans apps that create their own workarounds to run them (unless they’re in the app bundle, which my understanding is allowed, e.g., that’s how something like play.js works https://playdotjs.com/).


Apple is building desktop-class processors for iPad so that it can operate as a thin network client for a Linux server somewhere? That strategy doesn't make too much sense.


It only makes no sense if you have a black/white view of the world.

Some apps will run on device and need the full performance e.g. video editing. Other apps will be a thin client.


But the iPad could be so much more. It is a highly performance platform. Great CPU, GPU, SSD ... So yeah it's just being held back by Apple


> Honestly, Panic and Omni and other old school Mac developers really, really need to adapt to the modern era.

A counterpoint: how intense would the outcry be if Panic were to make the next versions of Transmit & Coda subscription only (the Mac versions, that is, not their baby iOS counterparts)? I'm probably almost a model Panic customer -- I've paid for every major version of both at release, along with Prompt & Coda for iOS -- but even I'd balk at paying a subscription for a code editor. A paid upgrade every few years? Sure, take my money (see also: Jetbrains). But a monthly subscription for a tool that updates only semi-frequently (e.g. Transmit)?

Yeah, I'm out. Developers (and tech folks in general) are the cheapest, orneriest market. How can I justify to myself a monthly sub to Transmit & Coda when scp & VSCode are free?


> A paid upgrade every few years? Sure, take my money (see also: Jetbrains)

JetBrains has all but deprecated this AFAIK. I pay for my JetBrains tools annually and I'm perfectly ok with that. If I ever want to stop paying then I just fall back to the version of software at time of renewal [0]. I'm more than happy with this situation as it lets me get the newest features ASAP while giving JetBrains the "guaranteed" income stream. Major versions every year or so lead to a feast/famine situation for the developer and I'd rather get a feature right away instead of having to wait till they have enough features to justify a paid release.

Can subscriptions allow bad actors to act poorly? Yes, but then I can just cancel my subscription and find someone better. Maybe I'm in the minority but I don't mind subscription-based things if I feel like I'm actually getting value out of them. It lowers the barrier of entry, encourages/incentives continuous improvement, helps developers plan for the future better, and it lays stark the realities of development (if you want ongoing features/fixes you need to pay for them).

[0] https://sales.jetbrains.com/hc/en-gb/articles/207240845-What...


I'm ok with subscriptions as long as I get to keep the latest version forever. I'm not ok with being locked out of my work when I can no longer pay for the subscription.

Now if I'm working for someone else, then sure! But, say, an author, who can no longer edit their old works for a republication? Not a chance.


I pay for Jetbrains subscription as well. They offer a bargain compared to many others. There are products I pay 66% of the amount I pay to JB for far less overall functionality. I don't mind subscriptions but I am weary of some of the higher prices. I also don't want to subscribe to everything some things one and done is what I want. No updates just buy it and move on and it continues to work.


Yes. Though I recommended subscriptions, I do have a price limit. I really like the interface of Cinema4D but it’s over $100 a month! No thank you.

I also think there just are hard limits in what’s a sustainable business. E.g. Small, indie, bespoke notes apps probably can’t support even one person long term regardless if it’s a one time purchase, subscription, paid upgrades, or any other pricing model.


Unfortunately this model can't be implemented on iOS

Your app updates go to everyone, even if they've stopped paying their subscription.

So it becomes really tricky to sell a subscription on iOS where, once lapsed, the user can continue to use the latest version available at the end of their subscription.

One way to do this is to have feature unlocks based on a timeline (Working Copy, an iOS git client, does this). Where users continue to receive a subset of features but some new features are locked behind a yearly upgrade payment. This requires littering your codebase with checks that certain features are unlocked based on the user's latest yearly purchase.

I'd love official support for the JetBrains / Sketch subscription model on iOS. As a developer, I would feel bad locking my paying users out of features they paid for just because they stopped subscribing. But I also really can't be bothered spending months developing a robust in-app-purchase feature locking mechanism to work around Apple's limited set of purchase options


I completely agree with everything you've said. The big problem (as I see it) is even if there was a way for Apple to provide the infrastructure for "hasPaidForSubscriptionInPast" or "lastSubscriptionActiveDate" or similar, the limiting fact is that Apple only allows 1 version of your app to exist in the app store (under the same identifier, obviously you could release seperate apps). The whole thing breaks down if you need to ship a nasty bug fix for a previous version.

Sure, Apple could stop letting users get updates if they stop subscribing but then you have no way to ship ANY updates to that user on an older version. I'm honestly not sure if JetBrains ever ships bug/compatibility fixes for older versions but for apps that are half-free/half-subscription this would be a huge problem. How can I convince people to restart their subscriptions if from their perspective the app has been stagnant since they stopped subscribing? And/or do they even have the option to go to the latest version and just use the free features? Now we are back into the "littering your codebase with checks"-hell that I agree would be terrible to maintain. I'm not giving Apple a pass in the slightest, but I'm having a hard time coming up with what the "gold standard" would be where you could support something like this.


Adobe had an intense outcry when they moved to a subscription model, and it worked out great for them. You are basically changing your customer base. People who would happily spend $20/month for a good code editor will love the change to a subscription model in the long run, because it lets you invest more effort in making the product great. And I think there are a lot of those people - if you spend hours and hours every day programming, and you make good money at your job, aren't you willing to spend money to use the best tools? People who don't want to buy a subscription will be angry, but in a couple months they won't be your customer any more so it won't matter that they're angry.


I'm probably missing it. I've used Photoshop since version 1 and owned a personal copy since version 3 (mid 90s). When new features were added i'd evaluate if I wanted them. I generally upgrade every 2 versions for $199 or which is ~$50 a year.

Subscriptions raised that to $240 a year, a 480% increase. Further, since subscriptions were added no features I want have been added. But, I can't just stop and use some version, stop paying and the software stops working.

I see no evidence that Adobe's subscription model has let them invest more effort in making the product great. In fact it's the exact opposite. Before they had to add some features to entice you to pay for the upgrade. now they can just do nothing because you're "renting" the software.


stop paying and the software stops working

This is the major problem. I do know indies who have used workarounds just so they aren't held hostage. I wouldn't use subscriptions for my own personal creative work. So, yes, the customer base is indeed changing- to those who mainly work for others.


Adobe's products are not trivial.

And yet they have ported them not only to iOS but also to M1.

Just because you don't see changes in the UI doesn't mean there hasn't been significant engineering effort spent.


Porting is a feature, and they already charged for it under the pre-subscription model.


> I see no evidence that Adobe's subscription model has let them invest more effort in making the product great. In fact it's the exact opposite.

It's hard to define cause and effect, but Adobe's R&D spend is definitely increasing:

https://www.statista.com/statistics/794840/research-developm...


Because their competition is catching up.

Figma is crushing Adobe. Alternatives like Affinity are eating much of the casual user base.


Figma is crushing Adobe XD, not Adobe. But we will never know the exact reason for the increase in R&D spend - but without the increase in revenue they would not have been able to afford this investment in R&D (R&D is approx 60% of their revenue).

Again it's impossible to define cause and effect, but OP's claim that they are investing less in product after introducing subscriptions is spurious - R&D has dramatically increased almost exactly in line with revenue.


> Adobe had an intense outcry when they moved to a subscription model, and it worked out great for them

That remains to be seen, actually. There used to be an "Adobe pipeline" where kids in high school and college would pirate Photoshop, become familiar with it, then be ready to use it when they got a real job. That pipeline shut down when Adobe moved to a subscription model: now all the kids use Figma instead. It'll take a little while to bubble up, but eventually all these design shops are going to find that their new hires know how to use Figma and not Photoshop, and start wondering whether Adobe software is worth the cost on top of retraining.

None of this shows up in quarterly reports but it's a real phenomenon and it will catch up to Adobe sooner or later.


>now all the kids use Figma instead.

This is only true if in your entire world bubble Photoshop only exists to design mobile UIs. Figma, like Sketch before it, is a simply a part of Photoshop's total market. There's no replacement for Photoshop yet for creative agencies, photographers, and content studios.


Give Affinity Photo / Designer a try. It's a fantastic photoshop replacement, many of the keyboard shortcuts are even the same.


Yeah I've seen designers switching to the whole suite.


nothing is stopping any of these kids from pirating photoshop in 2021


> People who would happily spend $20/month for a good code editor will love the change to a subscription model in the long run, because it lets you invest more effort in making the product great.

That’s almost double what I pay for Jetbrains’ stuff and I figured the forced subscription from Jetbrains was 3x what I had been paying by skipping 1-2 versions between updates.

You’re right about changing the customer base though. All the suckers that can’t figure out prices just when up 3-4x seem to love subscriptions and financially flippant people like that are probably the best customers to have.

And Jetbrains is the only subscription software I’ve used that doesn’t keep adding bloated trash features to justify their subscription.


For some crazy reason Photoshop users are so crazy loyal to that product they're willing to pay for it. I'm totally guilty of this, just yesterday I needed to scale and crop an image and I had to download the whole Creative Cloud installer to my new laptop and install Photoshop. I'm positive I could have done this in a number of different tools even built into the OS, but for whatever reason I'm just hooked on Photoshop.


FYI If you’re on a Mac you can do that right in Preview


Some people have been working with Photoshop for decades, it's integrated into industry wide workflows. For me some complex 4-key shortcuts (the legacy save for web claw) are second nature. It's the devil we know very very well.


> [...] but even I'd balk at paying a subscription for a code editor. A paid upgrade every few years? Sure, take my money (see also: Jetbrains).

Funny you bring that up - Jetbrains only switched to its current model after a massive outcry. Their original plan was to completely brick your IDE when your subscription lapsed. That did not go down well[1]. Fortunately, they abandoned the plan within a day

1. https://news.ycombinator.com/item?id=10170089


There is an amazing plugin for Visual Studio that makes searching blindingly fast almost instantaneous and the price was $10 for the longest time (now $20) and trying to get developers to buy that thing was a chore. They didn't want to pay for any software tools. This is in the US not somewhere that $10 is a huge price and yet they balked. I have to ask why anybody who makes a living writing software is so repulsed by the idea of paying someone else for software especially something cheap and time saving.


Cause that's free in Linux and you kinda resent paying extra for something that should be built into something like visual studio. And now even vscode does it out of the box.


What does "that's free in Linux" even mean in this context? You're talking about an IDE plugin that's "free" in an operating system?


In Linux updatedb and locate are built in so you can do the search on terminal and it's instant so putting a gui over something like that should really be part of visual studio imo to begin with.


I think Nova is already on a somewhat similar model. You can buy it and use it forever, but you only get support/updates for a year. A subsequent year is (I think) $49.

If iOS supported this model I think most devs would be ok with it, pay upfront X amount, and then a slightly smaller amount yearly for continued support/updates/development. I wonder if we'd have more 'pro/dev' iOS apps if the App Store supported models like this?


Jetbrains default way is a subscription model that leaves you with a one year old "perpetual fallback".


If you thought scp and vscode were perfect replacements for transmit and coda, they already lost ;-)


The problem is that many people, even in developer circles like here on HN, are still very negative when it comes to subscriptions.

From a consumer point of view that's understandable: Everyone wants to keep their recurring costs low.

But from a developer point of view, this is an antiquated way of thinking about software. Software that is not actively maintained (which is expensive) eventually stops working. Even more so on platforms like iOS, where you're beholden to the whims of the platform OS. So you need recurring revenue to offset that maintenance cost.

I wish consumers would understand this better.


In the great subscription exodus of 2018, about 10-15 of my apps moved to this "sustainable" subscription model. Only two are still being maintained with proper new features and improved (those would be 1Password and Jetbrains tooling).

All the other apps pretty much stopped feature work and are now mostly more broken than they were before switching to the subscription model. There's an occasional update, but it's all pretty much dead.

So out of that deal I (as a user) have gotten pretty much nothing - the developer is constantly taking my money with nothing to offer in return. If I stop paying, they'll take away the app I've paid for.

Compare this to something like VMWare Fusion or Parallels Desktop model - I pay license every year to get support for new OS and new feature. But it's MY choice whether I want to pay and if the updates actually offer me VALUE for the money.

And this keeps us honest - honest money for honest value delivered with incentive for developer to keep maintaining their software and not just sitting on their rent-seeking vendor lockin. It seriously sucks that Apple and Google don't allow for that sales model in their stores - it makes the market worse for all of us.


Could you name and shame some of the apps your are talking about? I pay for 1Password and JetBrains and similarly am happy with them but I also pay for a number of other subscriptions and I haven't felt the same "resting on their laurels" that you are describing.


Out of top of my mind - Evernote, Lightroom on Desktop. A PDF reader on my Android phone (still doesn't support dark mode, years after introduction). Boostnote, another note-taking app. LastPass also doesn't really justify their costs considering their poor engineering.


Sincerely, what do you mean by including Evernote? You can see here they’re pretty busy. Aren’t they also doing a bunch of behind-the-scenes re-architecture? https://help.evernote.com/hc/en-us/articles/1500001700002

I haven’t been a user for years; I’m just a perplexed bystander.

Lightroom has some updates but I’ll agree the pace is slower. They are a market leader for certain kinds of commercial photographers that will happily pay a couple hundred a year for a critical business expense. I wish they’d see more competition.


Evernote is one of the few that might at least have a legitimate case for having a recurring monthly fee since ostensibly you're paying for cloud storage and synchronization across all of your devices.


I really want to move out of Lightroom CC. However, there are no competitors out there that has cloud sync on my Mac and iOS devices.

Hoping that Affinity can come up with something. Even if it doesn't sync, I would still get it.


Boostnote is still free and open source. They also have a paid version but there is no real reason to switch to it.


>So out of that deal I (as a user) have gotten pretty much nothing - the developer is constantly taking my money with nothing to offer in return. If I stop paying, they'll take away the app I've paid for.

That's a feature, not a flaw.


I fail to see how this is a feature for me as a user in any way.

I get it - developers want to rent-seek and suck on that sweet passive income without actually having to constantly provide any value for users. But from a users perspective, I get nothing, especially when the response from developers is to just stop development.


It'd be acceptable if the developer in turn were to refund me all the money I've given them when I was subscribed.

I'm left with nothing, they're left with nothing. That's fair enough.


A feature for the seller, not for the user. We've moved on from personal computers to computers as a service, but it's getting pretty clear who they're serving.


Just speaking from personal experience, app updates are generally bad things aside from compatibility fixes. Either they're adding a feature that I'm not going to use because I was happy with the app already, or they break something. Probably 25% of the apps on my phone are now decoupled from the Play Store because the developers either broke them or sold out to an adware company looking for a new vector.


I wish businesses would understand that inflicting subscriptions on consumers is a lot more onerous than they think.

A subscription means one has to use the software they paid for. You can't have it sit on a shelf for those once-every-few-months use cases. It means having to manage a million stupid business relationships with vendors that one doesn't want to have to deal with. It means trolling credit card statements after-the-fact to make sure the subscription was actually cancelled when that comes time, and it means dealing with the cancellation process (and whatever dark patterns the vendor throws down) on a fairly regular basis.

The old paid-updates model isn't "antiquated", it's customer-centric. Subscriptions are the opposite: customer-hostile.

The service worker earning minimum wage can't afford a million subscriptions. Your subscription means they are a lost customer, and it means they cannot invest in their future in a way that they can effectively control their costs. It's a great way to get your stuff pirated.

Photoshop is a great deal at a fixed cost of $1000 or whatever it was, because when I needed it it was there for me and I knew it would solve my problem. Photoshop cloud is a fucking rip off, I'm not going to pay their ridiculous monthly fees, nor deal with their onerous subscription terms, for an app I use maybe once every six months.

I don't want to live in a future where I am beholden to a million rent-seeking wantrepreneurs because they forgot how to finance their business the old-fashioned way, or because they are afraid of being "antiquated"

The SAAS mentality really, really, really needs to die.


> Photoshop is a great deal at a fixed cost of $1000 or whatever it was, because when I needed it it was there for me and I knew it would solve my problem. Photoshop cloud is a fucking rip off, I'm not going to pay their ridiculous monthly fees, nor deal with their onerous subscription terms, for an app I use maybe once every six months.

How is paying $1000 better than paying $32 every six months and getting access for the entire month? $1000 better if you'll use it for 30 months without interruptions but it sounds like that's not your use-case.


Photoshop is $10 per month in the photography plan on adobe's site, but only on an annual basis. MSRP and business users pay $30+ a month by itself. In either case where are you getting $32 every six months?

I guess the photography plan is competitive, but it's still a subscription. I hate paying monthly fees for anything, especially for something I don't use. Much prefer to pay a higher fixed cost and finance that on my own... and yes I preferred this when I was a poor student; I bought a lot of expensive software back in the day by saving what I could from my $12/hour (in 2004 money) day job.

And believe it or not, being able to open the program and have it simply work, without going through a bunch of login/update/subscription hassle, is really important for creativity. Technical crap regularly derails my creative process when I'm manic with an idea, so the possible premium is worth it.


$10 is annual which is not useful when you need it once every 6 months. You wrote that you need Photoshop every 6 months. It means that you can pay $32, get access for a month and cancel subscription afterwards.

I get what you're saying, but my point is that $1000 is ludicrously expensive when you only rarely need that software and in this case cheap subscription is a good option. I would not consider $1000 for Photoshop at all, but $32 is something I could pay if there's no free or cheap alternative.


The process of activating and then deactivating the software is too much, in the heat of the moment.

Art is weird. I have a perpetual license for Lightroom. It's great because I can click the LR icon and boom, there it is, ready to download my photos and serve me. I don't have to measure my photography out by it, don't have to consider whether or not my LR subscription is current before I pick up the camera, I don't have to hassle with it when I need something... it's simply there.

Same with music: if an idea pops up in my head, I can click the FL-Studio icon and... there it is! Ready to go. I have a couple of plugins that need to periodically reactivate interactively, and in all honesty they simply don't get used. In the moment even load times matter, I'm not going to sit around and finagle with logins or activations or anything... I'll just move on.

I purchased a data recovery program that used to be called R-Studio a little while ago. It's great software, I used to pirate it back in the day, and its demonstrably better than most of the free data recovery apps out there. I've used it once, but again I am confident that it is there and it will run, and that I can confidently offer a data recovery service/favor to friends or customers without awkwardly futzing about or checking before-hand as to whether the software will work or not.

These are all cases where having software ready-to-go is better, and a subscription just gets in the way. I could even argue that having this stuff on-hand helped me get through some really lean times where even $10/month was a difficult price to pay.


I wish it would as well but honestly I think a lot of vendors treat their software as gym memberships - and hope that customers forget about that seemingly innocuous five dollar fee every month on their credit card.


You're completely right. I can't count the number of paid apps I bought and then barely used. Two dollars here, five, sometimes ten. Thing is, I can play that game now, or tomorrow, or ten years from now and it still cost me the same amount.


>The SAAS mentality really, really, really needs to die.

It won't. This is evolution. People are voting with their wallets, and subscription providers are making the money while "pay once and forget" people are going out of business one by one.

Or let me put it another way: Looking at the world, habits of people around you, and the software pricing strategy landscape, which method do you see "surviving"? (not asking which one you want, but rationally, which one has the demonstrated advantage?)


It may be, but wider technological trends are taking everything good about computing out of the picture. What good is computing for all when the computing all sucks?

You call it an evolution, I call it a cycle. It's arrogant to think that SAAS' time in the sun will be forever. Remember mainframes? When the pendulum swings back, the power users will be ready for it.

There are already cracks in the foundation. Internet fragmentation, increasingly onerous data regulation, sloppy 5g rollouts, societies with regimes that like to cut net access... hell there are even some new WiFi vulnerabilities that are on HN today. One day some business revolution is going to come along and eat SAAS's lunch... I can't wait to cruise the net on a highway paved with the corpses of dead subscription companies


> I wish consumers would understand this better.

No. I routinely buy software and lifetime subscriptions in the $10 to $100 range without batting an eye, but if I had to pay $5 a month for every piece of software or service I use, I would spend thousands of dollars every single month and it'd be ridiculous even if I'm lucky enough to be able to afford that.

There's a place for recurring subscriptions and a place for fixed priced software that is supposed to work for eternity, even if without upgrades.

Don't blame the consumer if they don't want to pay $5 a month for a standalone app.


What grinds my gears is when an app goes subscription and then jacks their prices. Fantastical 2 was a $50 one-time purchase. Fantastical 3 is $60 per year.

If you switch to a subscription model, your new price better be no more than your expected amortized purchase price. If you use to launch paid major version upgrades every 2 years at $100 a pop, your rental price needs to be less than $50 per year to make up for the lack in functionality. Don't try to be a used car salesman and emphasize the "low monthly payment" when your customers are used to considering the total annual cost.


This sums it up. Even for people who make great money, how many subscriptions do devs really think we want to have?


Not many, but that just reveals a more painful truth - how much time do people have to invest in using apps?

The answer is not much, that’s the real bottleneck. You can’t expect people to pay for what they can’t use, and we just can’t use all that much software because we don’t have time for it.


Very few people object to paying for updates as an option.

The expectation is that if you got a version now and it works fine, then you should be able to keep using it without paying. It's only fair, because after all developer costs here are exactly zero. If later on you see an update with something you like, then you pay again.

That's the model a lot of Windows desktop software is rapidly converging to and it's a good fit for subscriptions, as a convenience option. In comparison, any software that drops completely dead once you stop paying comes across as a rip-off and quite rightfully so.


I wish consumers would understand this better.

Developers aren't consumers, they are producers. And producers understand that durability and longevity are more important than enabling the rent-for-life, own nothing, subservient economy.


I understand what you mean. I also think that durability and longevity are very important. But wouldn't you agree that those qualities are very difficult to achieve and thus expensive?

Part of the problem is that software development is still in its infancy in my understanding. Average software quality and reliability just isn't very high.


But wouldn't you agree that those qualities are very difficult to achieve and thus expensive?

I don't think I would agree with that. With software, durability is the default. I can write a program once, and run it on the same hardware until the capacitors fail. It takes active intervention in the form of forced upgrades and planned obsolescence to make software "decay."

For a producer as I'm using that term in my previous comment, software is a tool. If I buy a physical tool, I will pay up front for fine craftsmanship, but from there on that tool belongs to me, and I expect it to last as long as the care I give it allows. I expect to do the same with software. If a software vendor wants more money, they need to provide more value in return.

Note that this does not mean I would never pay for subscription services, but I will not stand for companies trying to blur the line between service and tool.


First comment in this thread that's hit the nail on the head with regards to why software requires maintenance. After all, if I write an algorithm, how on earth does it just stop working after a while?

Fixing flaws is a separate and legitimate concern, but whether feature or security, this is solved by the idea of a warranty where the purchase price includes the product, and some time-limited obligation to ensure that it is fit for purpose. Once that's up, it's up to the developer to determine whether it's worth their while continuing to support it - but at least the end user can run it on the platform they originally purchased it on. Theoretically.

Then comes the hiding-in-plain-sight pernicious moneymaker mentioned: platform planned obsolescence. It comes in many forms, forced upgrades as mentioned, but also things like "turn on auto-updates because that's just what you do these days", "oh this is a 32-bit app so you can't run it anymore - pester the developer". Then there's all the developer-side stuff like "32-bit apps don't work anymore, update", "Oh neither does the older SDK, update that too", "Oh didn't we mention there's this new screen shape and you have to add support for that too", and "oh if you don't do all this stuff your app will disappear from the store in X days". What about the less obvious stuff like "this new SDK/toolkit/platform library is the way to build new apps! There's not really a clear upgrade path, but it's the one true way. Until the next one."

It's next to impossible for developers to solve this problem because it is an externality imposed on them by platform vendors. It is the main reason why software, in the short term, needs to be maintained. Of course, long term you expect that big developments and innovations would result in some level of obsolescence, but the devices and software industries have an incredibly fast rate of churn even for the pace of innovation. It's very interesting using systems from 5, 10, 20 years ago just to see how far we've come (or in many cases, how far we haven't).

Apple in particular has driven this by consistently eschewing backwards compatibility, constantly churning their SDKs, and continuously breaking older platforms. It's no surprise, they have two strong financial incentives to do so: if new software requires new Apple hardware, that's new revenue for them, providing they can convince us to buy it. If new hardware requires new software, that's new revenue for them thanks to their app stores. If they can get developers to move to subscription models well, that increases the recurring revenue via IAPs. Force them to use your payment and accounting services too, clipping the ticket along the way? More revenue!

We're the suckers though - we've been conditioned so hard to expect their stuff to be somewhat fragile, expensive to repair, and severely limited in lifespan that we almost like it. You dropped your phone? Oh the glass on the back has all broken. That's integral to the chassis, so it's a really expensive repair - over half the cost of a new one. Might as well treat yourself. No don't listen to that Rossmann guy, he's obviously <unsafe/counterfeit/untrustworthy>, eyes over here buddy, look at my pretty blue shirt. Oh hey, if you go to him Face ID won't work, because a nation-state actor might have installed an intercept on his dodgy counterfeit screen. You want to keep secure right? Anyway what were we saying again? Oh yeah, the new one. Oh you also ran out of storage? It's only been 5 years, the base model still has the same amount, so why don't you pay a bit more and get the upgrade. After all it only makes sense that you'd accumulate stuff over time right? What did you say, SD card? RAM stick? nVME SSD? No no no, they're way too slow/insecure/low-tech/dangerous to work with iPhone/Mac. No no your friend who put one in his computer has a PC - these are Macs, entirely different type of thing. Of course software needs to be maintained, of course it does. How could it possibly work on your new machines, how on earth! I digress...


The problem is that many people, even in developer circles like here on HN, are still very negative when it comes to subscriptions.

It's always going to be that way, and that's okay. It's still the right move for professional iOS tools to move to a subscription model. Some fraction of your user base will complain and refuse to subscribe. But if you actually make a good tool, you will fairly quickly see an increase in revenue, which lets you invest more in making a good product. A bunch of people will periodically complain on HN that they don't like subscriptions and it's not too hard to just ignore that and move on.

Don't look at 10 people complaining on HN and conclude "this must not be the best business model".


As a consumer when I buy a product I expect it to be a finished product with minimal bugs. If it does have bugs it should be remedied/fixed and I shouldn't have to pay for it (similar to a warranty). If there are new features, I'll pay for them if I want them.


That's only feasible if the platform is relatively stable. The problem, especially with 'modern' platforms, is that it doesn't even remotely work that way anymore. On iOS and Android, for example, they make breaking changes nearly every major release of their respective platforms. So for an application to look like it's standing still (i.e. just to keep working from release to release) takes a non-trivial amount of work.


This is one the larger reasons iOS (& android) gaming is such a vapid wasteland of exploitative f2p trash.

https://variety.com/2019/gaming/features/android-ios-apple-g...

The 'Pay Once' model used for quality self contained games that you see on windows or consoles are unsustainable for constantly incompatible os updates.


Well iOS Transmit still works just fine, 3 years after it was discontinued…


I hate when software changes. When I'm buying software, I want for it to stay as it is. All new features don't bring anything but bloat. All I need is bugfixes and security fixes. It does not require a significant investments. So my ideal software is when developer spends some time, builds a program, sells it and spends a little time keeping it alive.

There are some exceptions. For example Intellij Idea should support new Java versions which might require significant development. But those are exceptions (for example I hate almost all new Intellij Idea features, thankfully most of them could be disabled).


> Software that is not actively maintained (which is expensive) eventually stops working.

That's only true in the context of the environment the software is in. The environment is very hostile to supporting old versions of software. We keep pushing out operating system updates and updates on linked libraries and so on, mostly in the name of security and feature creep.. and software that worked perfectly fine at one point are gradually murdered. It's kind of a tragedy.


What possible advantage do subscriptions have for users over license upgrades? The incentives of license upgrades are much more tuned towards developers adding meaningful features, and also more tuned towards developers finishing development on a product when it is mature. Beyond that, license upgrades allow users to actually keep what they have paid for.

I'm convinced a major reason Adobe made the switch to a cloud subscription was because they recognized their products were maturing and the window was closing on locking in recurring revenue before the licensed product was so mature there would be little incentive for users to subscribe.


All these points are correct, but you leave out the counterpoint which is that once a company has recurring revenue, the incentive to update the software in ways that benefit the existing users can be lower.

Increasing the size of the user base becomes a priority over refining service for existing users, and that often means developing features that existing users don’t need or changing the UI in ways that make things easier for new users but worse for power users.


>>Software that is not actively maintained (which is expensive) eventually stops working

Funny because I know many many many business that run entirely on old unmaintained code, code that can not be maintained because upgrading it will break things, will make things stop working.


> Software that is not actively maintained (which is expensive) eventually stops working.

I don't understand this mentality. I can run an 8 year old version of nginx just fine. Why would it stop working?


Apps keep working for years though. On Android anything since KitKat still works.


If you're talking about apps via Google Play, only for some kinds of apps (ironically, the ones that make minimal use of platform specific features tend to fare the best... typically games) Also, Google is actively culling apps from the app store that don't upgrade to recent Android SDKs which often forces additional development to make the migration. For many apps, that means they will die/disappear since the economics of mobile don't justify their continued development.


There's a tool I use called Dash for quickly looking up documentation of coding languages and frameworks and it works offline. It does not have a subscription model, but it does have very frequent paid upgrades; without charting them out, I'd guess they are roughly yearly. I grumble every time because the upgrade cost isn't cheap and the updates rarely have groundbreaking new features, but then I consider how much use I get out of that tool and hand my dollars over. But the times when money has been tight or I've just been lazy and haven't upgraded when a new release comes out, the old one continues to work just fine. I'd much rather see Panic and other developers use a model like this; trick/incentivize me into re-buying your product every year without calling it a subscription or breaking my old versions.

I used Coda pretty much since its launch and paid for upgrades to Coda 2 and Nova. I've built my career around these editors, so it's kind of scandalous how little I've paid Panic in proportion to how much money I've made using them. I would be fine with them having more frequent paid upgrades. But the day they try to rope me into a forced subscription model is the day I start looking at alternatives (which is too bad, because the last time I looked at the market when Coda 2 was getting a bit too long in the tooth and it was looking like Nova was never going to actually be released, it was clear that there are no serious alternatives for Mac-native code editors out there except for maybe the crusty old BBEdit, which I do not have fond memories of).


The problem here is that Apple does not support that license upgrade model for iOS.


Sorry. Subscription isn't for me. I don't want to be in a jail of non ownership as an illusion.

Please stop calling this as modern model. This is modern daylight theft


> panic is abandoning yet another of their iOS apps

Exactly. I don’t understand why anyone would buy their apps. For the money you’ll get an app riddled with bugs, zero useful updates that actually fix those bugs, and near zero support from panic. It happens over and over and over again.

I guess I thought the saying started with “fool me thrice” because it took that long for me to figure it out. :/


I agree completely. Panic have, to be blunt, screwed me over about four times with various pieces of software over the last decade on both iOS and Mac, and Omni are not exactly much better. As cool and shiny as a lot of their software looks, I cannot trust them enough to buy the thing when I know that they will abandon support at the drop of a hat.


Many developers just release new apps as "upgrades", or lock new features behind in app purchases to remedy the no-upgrades problem. I think that only cannot be the reason. I think there's just too many free alternatives in code editors and you have to be really amazing (like jetbrains) to be able to make users pay.


Can you point to indie developers that have been successful developing iOS apps, etc?

The likes of Microsoft and Adobe, whose strategy isn't to sell products as much as it is to establish and maintain market control, are not good comparisons.


Omni in particular started off very strong on iOS but failed to adapt their products.

Their failure to support the system file sharing / iCloud for so long was a killer for me. They were simply technically wrong about how to do it.

There are many other ways in which they simply failed to adapt as the model changed, which I find perplexing.


It’s a real shame that the otherwise very capable iPad cannot sustain an enormous subcategory of professional grade software, solely because of Apple’s policies.

People know this going in of course, but it doesn’t make it any less of a shame, especially now you can spec out an iPad Pro with the exact same specs as the laptop I use for work.


> you can spec out an iPad Pro with the exact same specs

There's the root of the policy decision. If one device did everything, why would you buy two? Apple needs you to buy the lap AND the tablet AND the phone and maybe also the watch. Oh and they would also prefer you buy more every year, none of this decade stuff.


> There's the root of the policy decision.

Or maybe, it's just as Apple says - iOS/iPadOS isn't MacOS and they're not meant to function the same way because they're intended for different use cases and security models.

No doubt they'd love for you to buy one of everything, but your chafing at the limitations of Apple's platform strategy isn't an indication of an ulterior motive, so much as an indication that Apple's platform strategy doesn't meet your needs. Alas.


That definitely seems to be accurate, but it's undercut by marketing campaigns like "what's a computer" that seem designed to push toward no distinction.


Apple has specifically said that they don't hold features back from iPads for the sake of making you buy a Mac. And given their pricing model I'd believe it.

If you buy an M1 MacBook Air, you spend $1000 and you get pretty much an amazing laptop that does everything except flip over and let you draw on the screen.

If you buy an iPad Pro - the new one with the M1 chip - then you have to spend $1100 to get the 13" model, which has less storage than the MacBook. And that's just the tablet - you now have to spend $350 on a keyboard case to actually use it like a laptop. You can also use a pen input with the iPad, which you can't with the MacBook, but that's another $130 please. So you can really jack up the price of the iPad with accessories intended to give you laptop-like capabilities.

So I don't buy the idea that either device is held back so you have to buy both. The device they're clearly positioning as a do-everything machine is the most expensive one in their lineup.


It’s not a do everything machine: I can’t use it as a tablet. On the other hand what’s holding my iPad back from becoming a do-everything machine is

A) sandboxing, which they shouldn’t change or at best streamline to allow better app interoperability (the current share approach is laughably bad)

B) what is allowed on the AppStore. This is purely a policy issue. Why isn’t there an isolated XCode that at least lets me develop iPad apps? The MacBook Air is a $1000 work horse, the iPad is a pricey web browsing machine/toy. Save for, say artists and even they are extremely limited. Want to create a 3D model using several apps? Good luck with that


> It’s not a do everything machine

For you. But for the majority of the population it is.

Office, Mail, Browser, Photo Editor etc is typically more than enough for most.


No, not really. Any direction you run in, you're going to come across sharp edges. The web is still terribly optimized for tablets, and it's even worse when you're forced to use Safari to interact with it all. I can't count the number of times one of my family members was filling out a form/buying something/doing anything on an iPad and had to go put it down to get a real computer to finish the job.

This myth that "the average consumer doesn't need x" is pretty pervasive, and it's a pretty diminutive way to look at computing. The user doesn't need a graphical interface, but we still give it to them anyways. They don't need excessive, timewasting animations cluttering their UI, but iPadOS provides in spades.

Either way, I'm expanding my blanket ban on recommending Macs to include iPads. After trying out one of the new iPad Pros, I honestly can't even say it's a better choice than a shitty 2014 Macbook Pro. The ecosystem still has a long ways to go before the iPad feels like a natural part.


On the flip side , the 2018 IPad Pro has been an amazing reader, note taker, third monitor, media watcher , and web browsing tool that I just would not use on neither a laptop or Desktop.


Anecdata, but my mid-2012 Macbook is still my primary and only computer which I use for web and mobile development, though I have upgraded the RAM and SSD. Interestingly, the battery still holds a charge for a few hours. I'm sure Apple would like me to buy something in the last 9.5 years, but it wasn't necessary.


It’s not like there is much of an alternative. Android isn’t that much better, and its hardware offerings suck. Apple has an effective monopoly on quality tablet hardware, as far as I know. (I don’t understand why, but then again, I don’t understand how there can be years-long shortages of PS5 either. Why don’t they just increase the fucking price? ...)


Microsoft Surface Go is a technological marvel. Full-blown x86 computer in tablet form. I’ve used it for the past year as my only machine (I’m a fulltime + hobby software developer). It’s 100% on par with Apple hardware (including the foldable keyboard & trackpad, and the lack of RAM). Software is a different issue, but for development work it mostly doesn’t matter that much (I use IntellJ, conda, Jupyter & Chrome, and all of those are completely cross platform). I haven’t tried Surface Pro but I imagine it’s equally good, just bigger.


+1 for the Surface line. Apple can eat their heart out honestly, Ubuntu plus Surface is a pretty killer combo.


Possibly interestingly, I just bought a 2nd hand MS Surface Pro 3 tablet for about US$300 (8GB RAM, i5 Cpu, 256GB SSD).

https://en.wikipedia.org/wiki/Surface_Pro_3

Specifically because I'm looking for something to run Blender (blender.org) on. The iPad Pro could only run it via Sidecar from a real Mac (eg tethered laptop or similar).

Android has an ancient version (circa ~2013), which isn't a real option.

Could have spent money on a new Surface Pro, but trying things out on an older model seems to be working so far. :)

From my point of view, there are more options than just iOS and Android for tablets. Apparently Linux can be installed on Surface Pro's too, though that's a future "maybe" item for this one.


In addition to the MS Surface tablets, Lenovo makes a 2-in-1 laptop with detachable keyboard that can be used as a tablet, and apparently is pretty good at it. eg:

https://www.lenovo.com/us/en/laptops/thinkpad/thinkpad-x/X12...

Depending on what you're after, a modern 2-in-1 laptop like the Lenovo Yoga (they have a range), HP Elitebook x360, or similar might work well too:

https://www.lenovo.com/au/en/laptops/yoga/yoga-2-in-1-series...

https://store.hp.com/au-en/default/business-laptops-eliteboo...


It's so so weird. They have this super beefy iPad Pro, that they've kitted out with a nice keyboard attachement. Seemingly all of this is with the suggestion that this iPad is a laptop replacement. And yet, it cannot be a laptop replacement. Bizarre.


> solely because of Apple’s policies.

It really isn’t this.


It really is, and the problem is ubiquitous across app categories.

Here's another example: you cannot selectively block JavaScript in an iOS browser.

On Android/MacOS/Windows/Linux, you can use a browser extension like Noscript to only run trusted or necessary JS.

Safari only provides a coarse on/off toggle, and Apple forbids any browser that does not use their proprietary WebKit framework. None of the App Store content blockers allow seamless fine-grained control like every other platform supports.


None of this has anything to do with why the iPad and iPhone are not good for desktop style professional apps.

You list a bunch of ‘examples’ - but what are they examples of? Nobody disputes that Apple controls iOS.


They are examples of how Apple's policy decisions stifle competition and result in a worse product for consumers.

Apple's devices cannot adequately protect my privacy, because of their efforts to prevent competitors from making products in any of the markets that they participate in.


> They are examples of how Apple's policy decisions stifle competition and result in a worse product for consumers.

No they aren’t. They are just statements about iOS’s design. You don’t make any case for how they make a anything worse.

> Apple's devices cannot adequately protect my privacy, because of their efforts to prevent competitors from making products in any of the markets that they participate in.

This paragraph is gibberish. You might want to edit it.


Please elaborate.


I love iPads - I have used one almost every day since they were first released.

But.. they just aren’t great for the same kinds of professional software that works well on the desktop. It’s not about Apple’s policies.

It that the Mac is just better for desktop style apps for obvious reasons.

I do think that this can be overcome in the end by really figuring out how to design for the platform, but we are nowhere near that today.

I have bought various editors including Coda, and I also bought prompt (which Panic is still working on). I use prompt regularly for impromptu server maintenance or quick diagnostics, but I never use the editors. This is all about what the devices are good for and nothing to do with policies.


Either way, the original comment was arguing that the limitations in place are entirely arbitrary, and their argument still rings true. Apparently, the iPhone worked just fine as a code editor: as they mention in the article, the primary technical hurdle was the Javascript engine, which was forced to use Apple's gimped WebKit offerings instead of a real browser engine.


> Either way, the original comment was arguing that the limitations in place are entirely arbitrary,

No, the original comment argued that the limitations are the only reason a class of professional software is not successful on iOS, which is certainly false.

> Apparently, the iPhone worked just fine as a code editor

Obviously it doesn’t work as well as a Mac.

Few people would choose to edit code on an iPhone where a Mac or Linux machine was available instead, so no it doesn’t ‘work just fine’.


And this is why I'll be buying a MacBook Air over an iPad Pro. I'm not even going to complain - it is what it is and this article simply illustrates some important differences between the two platforms. I'm not even going to say iOS is bad - I love my iPhone and my wife absolutely loves her iPad Pro.

Apple has targeted iPadOS to casual computer users who mainly consume content and require light content generation and editing capabilities, and as it turns out there's a HUGE market for that. But it's not for me. I'm a developer by profession and my hobbies are music and photography. All of these push the limits of what iPadOS is capable of delivering - but MacOS delivers with aplomb.

And now thanks to Catalyst if there's some must-have iPadOS app I want to run then I can run it. The MacBook Air may be the most versatile machine Apple has ever made for users like me.


If Apple had the appetite to let that M1 on the iPad run macOS I'd buy that in a second, just for the ability to develop.

The iPad is already so versatile, adding the ability to do my job or just to update a small side project every now and again (waiting at the airport etc).

I understand the hesitation in doing so, but its so frustrating. Given that the iPad now has a keyboard and mouse if you want it & a CPU that we know is fast, just unleash it!


I'd kill for an iPad Pro running macOS that has an attachable magic keyboard + trackpad.

So basically my current 13" MBP M1 with a detachable touch screen.

Main problem for me would be the iPad's single port.


Next, they just need to get the Apple pencil working on the MacBook touchscreen... :)


> The app should continue to function for a long time, but won’t receive further updates

Just a warning for users and devs alike: Nope, it probably won't. Apple's track record for backwards compatibility isn't terrible, but it's also not flawless. I had an app in the store from 2011 until the end of 2017.

iOS 14.5 broke this app for some reason (I don't know why). No warning for users and if Apple follows some kind of SemVer, it's weird that a minor version breaks an old app.

Note for devs: Find a way how people can export their data from the app even if it's not working anymore (for example, by writing to the Documents folder and exposing it to the Finder)

Note for users: Assume that an unsupported app can and will break in an unpredictable way. Backup your data regularly.


  >Note for devs: Find a way how people can export their data from the app 
At the risk of meandering off-topic; this is one of my all-time bugbears with software. Or, rather it's half of one of my all-time bugbears. I'd complete it by adding "Find a way how people can import their existing data into the app"

It never ceases to amaze me how many developers produce apps which have obviously had a lot of time and thought devoted to their creation and functionality. But which provide no way of importing existing data you might have.

Unless your app is creating something completely unique and filling a completely new gap in the market, the chances are that there are other apps out there which serve a similar function. Your app may be ten times more lovely to look at and ten times more pleasing to use. But, without providing import/export facility, you're expecting potential new users to either be completely new to <whatever> your app does. Or to totally abandon all the work they have done previously, in your rivals' apps.

In my opinion, this is why the Fediverse has failed so dismally. All these rivals to Twitter, Facebook, Instagram et al. All launched with lots of high-falutin' claims about privacy and respect for users. Yet not one of them provided a way to import your existing data from the services they sought to replace. "All those years and years of 'stuff' you've already written and posted? That's all just worthless junk. Leave it all behind and come empty-handed to our exciting new platform!"

It's quite insulting really, when you think about it.

And it's not only 'social meeja' apps. One of my particular quirks is that I'm a bit of a compulsive place-marker of where I've been on holidays, camping, or just days out, etc. I have probably a few hundred such place-marks saved on the mapping app on my phone.

Every so often, I'll think to try a new mapping app and download and install it. Only to find, on almost every occasion, that it doesn't provide any way for me to import my existing place-marks. So, presumably, the target market of the developers of those apps is someone who's never left the house before. But belatedly feels the urge to travel around, marking places they've been on a map.


You can't import what you can't export and a lot of people see easy exporting of data as helping their competition.



> if Apple follows some kind of SemVer

They don’t.


I tried editing code on a mobile, even tablet, before, thinking "I have all this downtime where I'm mindlessly browsing on my phone, think of how productive I could be if I could code during that time!"

The reality becomes that those places are usually too distracting for me to be in a coding mindset, and even when not, typing code using a non-physical keyboard is tiring and cumbersome. Even just the occasional mistype stops my flow as I have to back up and fix the letter or number now that I'm several characters past it.


I've been working on a browser on and off for a few years, I just started adding js support via Fabrice Bellard's Quickjs project and did this on my Pinephone while taking the train. I use FVWM as the DE with xvkbd as the keyboard (Originally I was expecting to have to change that but it turns out typing fast isn't needed to stay focused as long as you're decent at vim.)

I've tried coding on iOS before but the whole thing is really built to push you toward chatting and scrolling. Everything is miserable down to switching between your editor and browser, copying files, and running your build tools. Not to mention the feeling that you can't build your own tools to fix problems you have.

It's totally possible to be productive on a phone but you need to not be fighting against the OS vendor to do it.


> did this on my Pinephone while taking the train

That sounds to me like the definition of living hell. Writing prose on a touchscreen is bad already, I can't imagine how bad it must be to write actual code on one. It's not an iPad(OS) problem, it's a form factor/peripheral problem.


I've found prose is much more painful (by orders of magnitude really) than code (provided the keyboard has symbol/modifier keys and works well with your editor.) that's why I thought it wouldn't work.


A bluetooth keyboard makes a massive difference. Working in a jupyter notebook (hosted elswhere) on Android is a smooth experience for me


Kinda absurd how much effort Panic has put trying to fit into Apple's vision of the future of computing and operating systems almost to backtrack again at every turn a few years later when the initial investment doesn't translate into money.

Definitely feel for their engineering team.


Yeah, this is how Apple treats their allies. Jut another confirmation that my decision to leave the ecosystem was correct.


One good thing is that today you can run VS Code on an iPad, in the browser, with all the dev tools running in a remote container. Not a bad experience.

Edit: I've always thought that Panic could take a similar approach with Nova. Run locally on the iPad, as a native app, while connecting to a remote machine to compile, debug and run the actual code.


You could also just carry around a laptop and have those same tools and keyboard integrated into a single package. It's a pretty new and novel invention, but I guess people got tired of lugging around a useless screen all day and decided to do something about it.


A laptop? That's way too much. Joking aside, clearly a laptop is the right way to go in most cases, but there is a certain appeal to using a terminal like an iPad with a remote machine build machine. You have long battery life and you can use a very beefy VM for running your dev environment.


Yeah, they mention your suggestion (remote machine to run the compiler(s) and debugger) in the post, and it sounds like it was too cumbersome to make sense to build a product around. I personally suspect that if they kept at it, it could've eventually built an audience... but I can imagine the cost of developing and maintaining that exceeding any potential profit from selling copies to iOS users.


This is the sort of feature that you build for one purpose and then leverage for something bigger. We do this all the time - in the small - with refactoring.

Jetbrains has plenty of code for remote debugging and such, and other IDEs have language server support. Leveraging existing tech like this to then sell a tablet app that is basically a control panel? I could see that making it through design committees.

But writing it from scratch just for tablet? That’s a hard sell.


I would love this and even pay a monthly fee for this.

There is a company doing this but they do the container piece. forgot their name. If we could seamlessly pair that with VS code Remote on the iPad (or macOS) I’d try to move our developers to it to keep all sensitive customer data totally off our laptops for good.


Without an external keyboard? Really?

PS: The whole web VSCode thing can also have very bad latency in my experience.


No, definitely with a keyboard. I tried it on an iPad Pro with an external keyboard and the experience seemed decent. But it's not my primary workflow so can't say if there are quirks, like the latency you mentioned.


This is a chance even for Microsoft to just release a react-native-sort of VS code where the rendering layer is native, but it's still JS, and it hits the remote services for the actual "horsepower"


I love iPad but for many things. But as a software developer, creating on iPad scores pretty close to zero. Thank you, Panic Software, for hanging in for as long as you did.


How so? You can still use remote/local machines to develop. People use(including myself) great success apps like Blink Shell(https://blink.sh), Inspect Browser(https://apps.pdyn.net/inspect/) or code-server(https://github.com/cdr/code-server) to work full time on iPad. By full time I mean #iPadOnly way.

I do JS front-ends, back-ends in Go, I design in Figma(https://figurative.design/) and Affinity Designer/Photo. For coding my daily driver is Blink Shell(They released a free community edition if you want to try: https://community.blink.sh) with Mosh. I never had a feeling that my terminal is just connected to VPS. Whenever I open Blink, everything is still there as I left it. Slow connection? No problem with Mosh. Constantly changing networks or IP addresses? You will not lose a connection even for a minute.

After a long year after the switch to my only device at home, I can tell you that I never looked back nor needed any other machine. Maybe it doesn’t cover everyone’s needs, but you can’t say it’s close to zero. Most of current development can be done on it. :-)


If your argument is that "the iPad is great for puppeting other machines to develop with", I'd honestly rather just carry around a laptop.


I was curious so went to the Blink website and I am very confused. The initial strapline is enticing, "Connect to your cloud on the go, or code all day from the beach." so I read more:

> With Mosh and SSH, Blink is rock-solid, fast, and your all-day-long companion.

Okay, it's starting to get crowded but I want to know more so I scroll down to get some details:

> Mosh was built for constant mobile connectivity.

Isn't this the Blink site? Or is it also called Mosh? Why am I getting the history of an app/service/Lord-knows-what before being told what it is?

> You can flawlessly jump from home, to the train, and then to the office thanks to Mosh.

Still on about Mosh and not only is there not a peep about what it is, I still don't know what Blink is.

> Blink is rock-solid connected all the way.

Now we're back to Blink. What is it? Doesn't matter, it's good! Trust us, the people who won't tell you what it is. What is Mosh? Who knows!

If I guess that Blink is a shell and Mosh is some kind of networking facility will I a) be correct, and b) have guessed more detail about them in a few words than their home page tells me?

Disappointing.


Blink is a terminal emulator and shell with a command line style interface (vs pointy clicky gui). It has numerous commands built-in that the shell can execute. If you are familiar with busybox then it is very much like that.

The most useful is ssh, which works as you expect (blink has code to manage keys etc). But iOS/iPadOS also terminates non-foreground apps. For example you could switch from blink to a massive web page in your browser, and then switch back again and blink would be relaunched. mosh is a connection-less protocol (setup is done over ssh first though), so you can keep sessions going across blink being killed and restarted, and even if you change IP address! I personally use tmux so this doesn't matter.

The shell commands are useful too. For example you can access iCloud files (available on every device) and local iOS files. You can do network diagnostics (ping, dig, nc etc). You can scp/sftp files back and forth. And then you can operate on them using sed/awk/grep etc.

It is quite challenging to explain all this, as you noticed at the web site. An example of a more GUI style ssh client is https://www.panic.com/prompt/ and they deal with keeping connections described here https://library.panic.com/general/ios-background/

There is a general command line with multiple commands built in at https://libterm.app/ and Blink is built on that. Note that you can even do things like compile code with clang, but the resulting "executables" are interpreted and not native code (again due to iOS policies).

Another alternative is https://ish.app/ which runs Alpine Linux userspace and interprets x86 instructions.

In short an iOS/iPadOS ssh client is more complicated than you'd expect, and they all have varying degrees of workarounds for app permissions, termination, maintaining connections in the background, etc. The blink site tells you more about one of those solutions (mosh) than describing the problem it addresses in the first place.


The only thing disappointing here is your comment about ONE block on the whole page that talks about connectivity, and you present it as a complete website. The website itself maybe is little outdated but does a great job telling what Blink does and what tech it uses to make your life easier.


There's nothing on that whole page that addresses my complaints, why do you think I'm going to spend time delving into the rest of the site when the writers of that page clearly don't care about wasting my time?

- Tell me what it is

- Tell me why it exists

- Stop with the ad copy and buzzwords until the first 2 points have been addressed

That's what I want from a landing page / home page.


> - Tell me what it is

"THE PRO TERMINAL FOR iOS & iPadOS", from the front page.

> - Tell me why it exists

" You bought the latest Pro device, loved it, and then you wondered...

…Can I use it to replace my laptop?

Yes, you can

Blink was built as the tool we wanted to use all day. We were tired of User Interfaces being on our way, and of connections that couldn’t even last for 5 minutes... ", from the front page too.

> - Stop with the ad copy and buzzwords until the first 2 points have been addressed

They have been.


> "THE PRO TERMINAL FOR iOS & iPadOS", from the front page.

Then what's Mosh? Why bring it up?

> " You bought the latest Pro device, loved it, and then you wondered... > …Can I use it to replace my laptop?

No, I didn't but I know it's supposed to be appealing. The original comment about it was more appealing than that line. Still.

> Yes, you can

Can I? Because I can "code all day from the beach"? (which doesn't sound fun, actually)

It's facetious, it's anodyne while striving to be zippy, and worst of all, it's meaningless. I've seen half-arsed Github READMEs that are more informative. Do I really have to pull out alternatives to show the difference? Okay then.

There is ZeroTier[1], which I'm going to guess is a Mosh equivalent as I have zero (ha) desire to find out any more about Mosh. This is their initial blurb:

> Connect team members from anywhere in the world on any device. > ZeroTier creates secure networks between on-premise, cloud, desktop, and mobile devices.

Now that answers my questions and the rest of the page goes into more detail.

Now for a shell - let's take Fish[2] because I've heard about it but never bothered with it. This will be fun…

> fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family.

It then goes into features which is an indirect answer to the why so I'll give them half marks there.

Oops, my mistake, it's a terminal we need. Since I use iTerm[3] nowadays:

> What is iTerm2?

> iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.14 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.

> Why Do I Want It?

> Check out the impressive features and screenshots. If you spend a lot of time in a terminal, then you'll appreciate all the little things that add up to a lot. It is free software and you can find the source code on Github.

It's like they read my mind, or they actually followed a very simple recipe that I had hoped most people were aware of. I think this can be improved but it's still miles better than the copy Blink is using.

I'd suggest employing this bloke[4], or taking some of the advice given out by fellow HNers there.

[1] https://www.zerotier.com/

[2] https://fishshell.com/

[3] https://iterm2.com/

[4] https://news.ycombinator.com/item?id=26842191


Is this better in any way than just using a Mac? iPad is just as powerful as a MacBook Air, and costs about the same. But with the keyboard/trackpad case, it's thicker, heavier, and less ergonomic. And the workflow becomes useless when, for example, you don't have internet connection.


It’s different… and for me in many ways better.

I have 12.9 Pro model from 2020 with only folio case and pen. I own an external keyboard but only use it at home. I also have SIM, so more or less I have always a decent internet connection no matter where I am. Feat that is impossible with MBP without hotspot from iPhone. ;-)

Yet, the whole magic for me is in applications, having native app for Netflix, HBO, Reddit (Apollo) is a game changer for someone who used only Safari, Figma nad iTerm2 in full screen on a Mac, and rest was just browser based stuff. I could lie down and read some news, respond to tweets, scroll through Reddit, code in Blink and design using pen and Figurative at the same time watching Netflix without having a MBP on my laps baking my balls. ;-)

And, yes, external keyboard isn’t as bad as most people tell.


I have really been enjoying the SSH experience with ShellFish. In particular the SCP/file integration.

https://secureshellfish.app/


I prefer to code on a 27in display, the iPad it still too small. I know people who just use the MBP display but I never found Xcode usable on a small screen.


It boggles my mind how developers bought the marketing that the iPad Pro can be a good for software development use case. Apple's marketing and distortion field is truly impressive.


How does Apple's Swift Playgrounds on iOS handle compiling code? Aren't the Swift compiler and linker also separate binaries? I'm wondering whether Apple excepted themselves or whether they actually forced that subset of Xcode to fit into the normal requirements somehow.


Apple did except themselves. Swift Playgrounds uses private entitlements.

No other dev can replicate it with the public entitlements only. (On iOS)


That sounds like something that needs to be fixed and soon. This is drifting into antitrust trial territory.


Apple did not except themselves, Apple excepted any app listed in the Education category of the store.


Nope, other apps on that category use interpreters and do not have entitlements for running unsigned code at runtime.

Swift Playgrounds actually compiles down to native code.


Education applications are exempt from this policy. They are allowed to execute code that did not come in the bundle, provided the user can fully edit it.

What is an education app? Well, that is up to Apple.


I'm probably be gonna laughed at, but I don't understand why these developers don't publish their apps on Android.

If you get screwed by Apple, why not go to the other field?


Panic is a long time Apple developer house.

They don’t want to make the best tools for just any platform; they contribute the best tools they can to Apple’s ecosystem, the one they use and appreciate (and love). Apple power users have different expectations, especially around UX on the Mac; that is Panic’s forte.

I’m sure if they wanted to develop for Windows or Android, they could have years ago. But that’s not their thing, that’s not why they make these tools.


One thing I don’t like about Google Play Store is their refund policy that only last 48 hours after that time you need to contact developer for a refund. Which in most cases ends on lack of answer from them.

On AppStore you have 90 days to do a refund, and mostly it’s always accepted, no questions asked.

Second, differences in prices. Yesterday my friend was scammed into app(one of the top apps there) that gave him 3 day trail but only when choosing 1 year license after that. After 3 days without notification he was billed for $125. The same app cost yearly on iOS $35 and lifetime for $40. And, this is just an example of many scammy tactics that go on on Play Store. :-)

No, it doesn’t mean that Apple does not have this problem. It has, but in smaller quantity.


I suppose, in this case, because there isn't an alternative to the iPad on the Android side. There are many Android tablets (I have a few) but they are not as powerful and the battery always seems to last a lot less than the iPads.


Android tablets are dead. Same conclusion. I enjoyed a few samsung tabs, but beyond content consumption they are basically useless. I installed node on a few, but I kept getting frustrated about the lack of a real ide. Between phones and smaller tabletesque laptops these days, I don't see a future for the true tablets.


I have a Samsung Galaxy Tab S7 and it seems pretty powerful to run anything I want.


Because the APIs offered by Android are a mess and a joke compared to what you get on iOS. If you want to make really polished software, iOS is much, much easier to work with.


This keeps being parroted without any hint of proof


I've developed for both, it is my job.


It really makes me sad. Apple used a lot of free and open technologies like FreeBSD to build their business, and they created these amazing, small computers. The people that developed these amazing small computers and their operating systems, as kids, likely had some desktop pc that shipped with a language like QBasic where they could learn programming and build things and share with friends.

Kids who buy these new small computers from Apple, not only does it not ship with such a thing, but its not even possible to download or buy a programming environment!

We built computers with brains the size of a planet, they fit in our pocket, and they have been castrated such that they are no good for creating anything, for no good reason.


Kids have Swift Playgrounds on iPad. It's specifically for learning programming.


Swift Playgrounds can only exist because Apple has specifically designated permissions for themselves to run Swift code, and other developers are not allowed to have access to these permissions.


Millions of people build and create things on Mac computers, they have the XCode IDE and multiple natively supported languages, swift, objc, C++, C, Python, JavaScript, it's all built-in.

Am I missing something?


Ah sorry missed the part about mobile. But in any case, this isn't true, there has been playground for quite a long time on iOS. The portions of BSD which XNU uses is quite small, and is quite a mismatch of things from all over like IOKit and mach, mostly taking inspiration from L3. The drivers are custom, graphics custom, custom touch input, etc. They actively pay developer salaries at LLVM, cups, many other open and important nix projects.

This comment seems misinformed and griping, there are plenty of ways to program on iOS. There's the developer program, TestPilot, and more.


I am pretty sure that the poster was referring to phones, not laptops, when he posted about computers that can fit in the pocket.


I mean, XCode is not only proprietary, but it's also horribly designed. Installing it is a nightmare that will use more than half of your Macs storage, and updating it takes longer than updating your own OS. What the original commentor is complaining about is how Apple stood on the shoulders of giants without giving back, only to turn around and wow the world with a product that is only 20-30% theirs. It's been a practice for as long as capitalism has existed, but for a company that operates on such blatantly wide profit margins and runs a socially conscious ad campaign, it seems a little stupid to at least not pay homage to the people who helped make your product. It's a bit of tragic irony that you can't even use the tools that Apple used to make MacOS on a Mac.


The topic was iOS devices, not macOS.


I really enjoy using Transmit, and feel bad that I don't know about many Mac devs making great products. I also like Many Tricks and Alfred. Anyone have a list of other top mac developer houses?


HN does not seem to have a DM feature, and the OP does not have any contact credentials listed.

This is off topic, but OP, do you happen to be White in this game? https://lichess.org/0dv2oS4f It recently came up while I was prepping the French from Aagard’s book, and if so: cool, and small world!


Hm, you can run alpine Linux on iOS. With background tasks. (https://apps.apple.com/de/app/ish-shell/id1436902243)

I wonder what it would take to make a Code development tool to take advantage of that.


I can't imagine a company like Panic being able to get away with using that approach to run stuff like tsc, but it would be cool to see someone try who can afford to have Apple shoot their whole product in the head. Maybe it'd be great and Apple would decide to re-evaluate the rules and make it officially OK.


iSH runs everything in one process as threads.


It says something about a refund when bought in the last 60 days. Does that mean I’d buy it now I’d be able to get my money back and still have access to the app?

Seeing as there is a risk it might not work within a few months that isn’t that bad of a deal I guess.


> (For comparison, even Transmit iOS, discontinued in 2018, continues to work fine today for those who purchased it.)

This is not true. A recent iOS update broke Transmit; it no longer launches and says it needs an update.


Funny thing is, it still works on my iPhone, but stopped working on my iPad. Strange stuff.

Either way, it was a great app and I very much disagree with their reasons for discontinuing it.


Only remotely related: How good is their Nova editor by now compared to Sublime Text? Currently wondering if trying it once more is worth the time.


As someone who daily drives Nova... it depends. Plugin support is vastly better than it was 6 months ago but there are still tons of quirks (from a Typescript-first developer POV). If you're willing to code your own plugins or contribute to open source you'll find yourself a lot happier.

Your mileage may vary but overall I'd give it a 9/10 in speed and UX but a 6-7/10 in usability compared to Webstorm or VSCode with the right plugins.


They have a trial for Nova, so I suggest checking it out. It’s not quite as fast as ST (on my aging 2013 MBP) and the extension ecosystem is still somewhat lacking. Nonetheless, it feels fantastic to use and I’ve switched completely now


I found it a bit slow when I used the beta. The search was especially bad since I'm used to ripgrep.


Here I go, being skeptical about getting work done on iPads again…

…but is there any “pro” software like this that is succeeding on iPad that isn’t part of a larger cloud/subscription service?

I believe Office gets some actual use on iPad, and Adobe sure keeps trying, but is there really any notable pro apps that are succeeding on their lonesome?


Photography, video creation & editing is really good on iOS.

I can take my camera, a card reader and iPad Pro and have a complete darkroom with a calibrated screen with minimum weight.

Even my iPhone X can post-process files from my 24MP mirrorless camera and create really high quality images.

iPad Pro is a multimedia powerhouse both for creation and post-processing. Development is hard, because it needs unfettered access, due to nature of the beast.


What apps do you use for photography?


For quick'n'dirty stuff:

    - VSCO
    - Priime
    - RNI films
For more advanced post processing:

    - Polarr
    - Dark Room
    - CameraBag Mobile
If I don't have my camera with me, I use Halide for taking photos. For timing, occasional astro and other stuff I use Helios and Photo Pills.

On the desktop side I use CameraBag Pro and Darktable mainly. I occasionally use Luminar.

I started photography with analog in the 90s, so I really dig the atmosphere different emulsions or curves add to the photography and, I use these tools to create the feeling I want to create with my images.


Procreate is very successful. By all accounts I've heard from personal friends, it's a wonderful tool for drawing and illustrations. It's a one time purchase for an extremely fair price (around 10 USD/EUR). I bought it years ago just to play around and still receive updates.


If there is, I have yet to find it. My creative professional work is mostly in the world of audio/music, so my iPad gets about zero mileage from me on a day-to-day basis. Writing code on it is a practice in patience and frustration, and document markup is always more trouble than it's worth with touch controls.

Really, all the iPad does well is consume content. That's why content creators love it so much, and everyone else is either indifferent or ignores them.


I have no opinion on the discontinuation of Code Editor, since I didn't use it. I just wanted to say that I wish more companies would handle similar situations like this. This article is comprehensive, articulate, respectful, and not written like a press release.


The big question is will the new M1 iPad be allowed to be a real computer if the user wants it to.


I am very much hoping for a "macOS in a VM" feature, but I don't think it will ever happen. The iPad Pro being great for certain professions seems to be enough for Apple. Targeting all professional groups does not appear to be a goal.


I rather expect that the M1 iPad is the next step of elevating iOS to an all-purpose platform, and the path is to ultimately get rid of the Desktop OS and all its remaining "openness" in favor of the tightly controlled revenue-generating ecosystem-model of iOS.

The M1 iMac is already quite close to a "iPad Desktop", I'm not sure how long it will take until Apple takes the full step and ships an iMac with iOS. My guess is that there will be an intermediary phase where the OS will only allow AppleStore apps by default but can be unlocked. And then one day the "most-affordable iMac ever" will arrive, with iOS...


I'm also eagerly awaiting Apple's flying pig announcement.

On a more serious note though, Apple won't let you choose which browser you're using anymore: what makes you think it will fulfill the criterion of a "real computer"?


> Apple won't let you choose which browser you're using anymore

macOS and iOS let you choose your default browser


iOS won't allow developers to write custom web engines though, meaning that everyone ends up using reskinned Safari. Back to square 1.


Since they’re deliberately marketing that the iPad has an M1 chip, I think they have dual booting in mind for the future


They definitely do not. macOS is not designed for use with a touch screen, and Apple are not interested in releasing half-arsed, unusable systems.


iOS has mouse support, and Apple sells a keyboard with a trackpad for it. If they were that concerned about the touch screen being unusable—even though other manufacturers have figured it out—then they could just disable touch input while in Mac mode. Maybe even allow Pencil support.


> Apple are not interested in releasing half-arsed, unusable systems.

Is that why on macOS I can open a window like "About this mac" or any window from a menu bar app, switch away from it with the keyboard...and then not be able to switch back to that same window with the same keyboard shortcut?

Are you aware that, for over 20 years, Apple sold an OS that only let you resize application windows by the lower right hand corner?

I could go on (and on and on) but I'll stop here: Remember when Apple swore by the single button mouse? They said it was the best thing ever. Except the first thing everybody bought for their new Mac was a multi-button mouse... Reminds me of how many dongles you need today because thin is in!


Obviously they’re going to disable the touch screen if that happens.


The new iMacs are basically iPads with keyboard and macOS.


More expensive and less portable though, AND no touch interface.


but with actual pro class software.


> We’re working on a new version of Prompt, though!

Ugh-oh. Not again. The last time it happened, they took the old version off the AppStore and ultimately forced everyone to re-purchase their new and shiny remake for the full price. I'm still bitter about it. You want to make a new version - fine, but taking the old one off was a real shitty move (* see EDIT below).

So despite of how it sounds, that ^ part is the exact opposite of good news.

EDIT - I misremembered, my bad. They refused to rebuild the original prompt for x64 target. That's what it was. They didn't take it off the store, they just claimed that rebuilding for 64-bit platform was such an immense hassle and monstrously complicated task that they just can't. But! Lucky for you we just happened to have this brand new version that is 64-bit. It has few things improved, but largely the same. You'll love it. $15.


This is just the reality of iOS software development, the amount of work required to keep it working on newer versions of iOS costs more than the initial purchase from the users who then get a perpetual licence.

Only routes to sustainability is this ship new version, support it for a few months then start working on a new version that will be another purchase, or well you know subscription which I'm sure we all agree is the less preferred of the two.


I know a guy who works on a team that makes productivity apps for iOS, and there is a coupon system, but not many people use it (logistically it sounded a bit tricky).

There are ways to let someone upgrade to the new version for less than retail price, but you just don’t hear if that many people doing it.

Or maybe we don’t hear because so many apps are made by very small companies, or as a loss leader for other services. And maybe the latter should give them/us pause.


> the amount of work required to keep it working on newer versions of iOS costs more than ...

My educated guess would that this is simply not true. It's a convenient excuse, but a bullshit one. Either covering up engineering incompetence or the good old desire to sell the same thing more than once. And that's even if Prompt weren't a relatively expensive app with a large user base.

In any case, this is not my problem as their client. My fairly basic assumption is that what they sell will last a reasonable amount of time and it's entirely their headache to work out the details behind that.


It’s not engineering incompetence when the floor is constantly changing under your feet.

How many apps coded 5 years ago even run on modern iOS. Apple expects engineers to ship at least one new version a year and don’t care about backwards compatibility. Have a ton of apps on my phone that no longer launch for various reasons.

Not saying I endorse it or agree with it. Just saying this is the world Apple built and don’t intend to change.


I am not saying that iOS doesn't change in a breaking way. That's given. I am saying that the upkeep is not as expensive as you said it was.

I've lived through the W10 launch and that was a fucking dumpster fire. Still, adapting to whatever Microsoft broke with their brand new "update" wasn't that difficult even though these were genuine surprises. Things. Just. Broke. In comparison iOS changes are announced well in advance and they aren't too drastic. So while you can't compile an iOS app today and expect it to work in few years, keeping it updated is not that hard or time-consuming. Unless the code is a mess to begin with.


I don't know why you're excusing their behavior.

Apps on Android and windows run regardless of how many years ago they were written with very few exceptions.

Let's call a duck a duck: Apple choose this right because it was easier and made them more money, at the expense of their users. It's a fact. It just is.


Once again, I view this as Apple's fault. You can't release pay for upgrades, if you leave both up it confuses people.


Very few Prompt users will be confused by seeing two whole versions of the program.


You have a lot of confidence in Prompt users. I see so much whining and complaining from otherwise seemingly erudite online communities such as HN, I'm inclined to believe people who know how to use SSH and are in possession of a mobile Apple device are incapable of maintaining a state of calm when confronted with a plurality of versions of the same app in the same app store.


Panic lost their cool, and their marketing is completely stale. You are exactly right, it’s a lot of “You’ll love it”’s these days.

I used to like Coda and Coda 2, but I was more of a Mac simp back then, and didn’t realize that they literally just plopped in some other editor (can’t think of the name at the moment). Plus, the one-window workflow was just a bad idea. Especially if you have multiple monitors at your disposal.

Insane to think that they only thing they make now that has actual utility is their FTP client. Still. After all these years.


$15 doesn’t seem like so much to give for software. I understand you’d already paid, I just don’t see how panic is supposed to thrive if they can’t create new versions and get paid for the effort.

The product I work on is $10/month and worth it to many people, and by my own admission, considerably lower quality and utility than any panic product. I just can’t make it for any less, realistically.


I mean, you would still be able to access the old version in your Purchases section.


What's the alternative? Why would you leave the old version on the store? I don't understand why anyone would benefit from both (hypothetically) Prompt 2 and Prompt 3 being for sale at the same time.


So long as I can download my previously paid-for Prompt when I get and setup a new device, no problem.


It's not so much about people having to choose, it's people that bought Prompt 2 being forced to upgrade if they for example set up a new mac.


you get to redownload purchased software don't you, even if it was taken off the store from the public?


Yes, you don't lose access to purchases just because they're not still for sale.


It can be weird though. I had a hobby I kept meaning to get back to Some Day(tm) and when I did the app was on my device just like always, but I was now two devices later and it would simply crash on startup.

I’m fairly sure that at some point those devices ran low on space (less of a problem today, but mostly because I’ve been off the music treadmill for a while) and I had to delete things to keep working.


Yeah, you do. Apps routinely disappear from the AppStore, e.g. after some M&A and such. They just vanish from your purchase history without a trace. No way to get a copy if you don't have one already.


Librem 5 is the way forward for programmers, Apple is not for truck-drivers anymore, only for electric hooverboarders (reference to Steve Jobs talk about post-pc devices)


I don't understand who would pay for an editor nowadays when free ones have been amazing for years and years.

Is this to appeal to those who haven't heard of visual studio code?


I don’t think we need iOS to be able to do everything MacOS does. We already have MacOS!

Add touch support to MacOS and let it run on the “pro” iPads. Done.


Or just lift arbitrary limitations and let devs write the software they want while allowing users to install the software they want. Or is that too tall of an order for... checks notes ...the highest valued and largest company in the modern history of the first world.


Done with what? Done dreaming?


Odds of Xcode for iPad arriving right around then?


Probably never. If Apple does this, it will the the most brazen permission-hopping Apple has ever done, and developers the world over would probably instantly complain that it renders Apple's entire threat model useless. Furthermore, it could also be illegal for Apple to be the sole distributor of an IDE on a platform where their competitors lack the permissions required to run/debug programs.


iOS is not for doing work. It is for consuming media. Apple has made it very clear what their target demographics and priorities are.


Just want to say that Prompt 2 is the best terminal app on iOS. I love Panic products and am curious about how good Nova has gotten.


Have you tried Blink Mosh shell? I’ve tried them both and blink seems lightyears ahead of prompt. Maybe I didn’t give it enough time when I tried it, but prompt just felt bulkier IMO, which surprised me because Panic makes such great products. Could you elaborate on why you love prompt?


Prompt 1 & 2 were the best options for a /long/ time on iOS but both of them suffered from Panic not really going full-in on iOS development in my opinion. They are still old-school app developers who want to write something once and a call it done with minor little fixes after that. Most of the hot/popular ssh/mosh tools on iOS now (along with lots of other types of iOS apps) are constantly improving/being worked on. I'm going to have to add Blink to my list of terminal emulators to try out because I'm actively trying to move off Prompt 2. I have played with Termius but I really don't have a need for an SSH client on macOS, I'm very happy with iTerm, and there are other little things in Termius that annoy me/worked better in Prompt 2.


I switched to Blink when Prompt 2 came along. I mean, if I'm going to have to switch apps anyway...

I never looked back. Blink's GUI isn't as pretty as Prompt's, but its functionality is outstanding. There's nothing more I would add to it.


If you want to try Blink use https://community.blink.sh/ to get your hands on the free community edition with latest features.


This is why I haven’t release my own dev tool on iPad actually, but OS X does let you run a process and sub processes


Every operating system lets you run a process and subprocess. Until iOS/iPadOS came along, that is.


RIP.

Is the source code going to be published so people can keep running it on jailbroken devices?


Does it cost them to keep the final version in the store so that people could, say, restore it after their device was wiped?

I remember losing quite a couple apps this way. Can't be downloaded anymore, too bad you didn't have a full backup.


AppStore.app > Tap profile image in the top right > Purchased > Not on this iPhone.

Not all apps will be available for example Facebook Paper shows up for me, but can't be downloaded because of an OS incompatibility (at least that is what the message implies), but other apps that otherwise don't show up are still there, like early versions of Tweetbot.

It's not clear to me how Apple knows when apps stop working and then makes them un-downloadable, but it does appear many apps that have been taken down from the store can still be accessed if you previously purchased/downloaded them.


why don't you make it free? transmit ios and diet coda?


[flagged]


Please don't take HN threads into flamewar, like here and https://news.ycombinator.com/item?id=27121240. It's not what this site is for.

Especially please don't post personal attacks, as you did in the other comment.

We detached this subthread from https://news.ycombinator.com/item?id=27119293.


> When the iPhone first launched I never would have imagined how locked down it is now.

When the iPhone first launched, it had no App Store at all. Apple came out a few months later and said "hey, just write web apps." And when they did open an App Store, it was even more restricted and limited in capability than what we have now. Was there seriously anything about the iPhone at any point in its history that made you think "boy, this is gonna be as open as all get out any day now?"

> Why do you hate freedom?

As much as find "I love the fact that Apple restricts my choices! Woo!" annoying, this kind of self-righteous and insulting rhetoric is not an improvement. Being willing to accept the limitations of iOS does not mean someone "hates freedom". Come on.


If someone told you that they need to restrict freedom of speech to increase the security of the state you'd probably be rightly miffed.

This same argument is being used to stifle my freedom to run the programs that I want to run on a device I supposedly own. My freedom.

Now you may sugar coat it anyway you like but essentially your opinion is costing me my freedom.

"Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."

Example: I want an Apple Watch. Requires an apple phone to operate. I can't run open source apps I use daily on iOS. Ergo facto no liberty.

Honestly 2020s tech blows in so many ways. We fucked up. Go back. Lol


You can't compare Apple to the government. Apple does not have any ability to compel you to do anything, and in fact you have many other options besides using their products. With the government... not so much.


> restrict freedom of speech to increase the security of the state

In some countries they do, in mine three categories of speech including hateful speech are prohibited


> Why do you hate freedom?

I love my freedom to chose the Apple/iPhone ecosystem and how it works. You wanting to force your ideas of freedom onto Apple and its users is an interesting way to think about freedom, when last I checked no one is compelled to use any of their products.

This whole freedom line of reasoning is ridiculous anyway. No one hates freedom. The curated App Store as done today is a certain set of tradeoffs - some good and some bad for the end user. Starting a discussion by assuming the other side hates freedom is not productive.


[flagged]


Sorry that Apple compelled you into a remunerative desk job that supports a comfortable lifestyle, that must be hard for you.

I think the government (EU best bet) should compel Apple to allow side-loading on iOS devices, for what it's worth. What you're doing here is not the way to get it.


I honestly don't really have a desk job and I definitely don't work with iOS daily. It's the 5% edge case. What I do see is our mobile dev constantly jumping through dumb little hoops Apple throws in his way. I'm over here maybe testing a feature or two. He's the one that has to actually fix everything.

But that's largely irrelevant. What is relevent is that I have a pile of all iPhones that all require an apple account to do anything. The little voice inside me that values freedom is outraged. Doubly so when I go on HN and have Apple talking points parroted at me by people who should know better.


> I have to ask. Why do you hate freedom?

When we talk and discuss modern, powerful, high level languages it's not due to adding more freedom to a developer's ability to express intent - it's about restricting it. Often times with tools we find more strength in tools that prevent us from making errors (thus making the tool simpler to apply and require less oversight). There is nothing you can do with a table saw that you can't do with a knife - that's pretty similar to comparing assembly code to rust or your preferred modern language. Tools gain strength by restriction actions - not adding them.

I personally strongly disagree about applying this to browser engines since I don't think we've reached anything near to a consensus on what a good web browser should do and due to the involvement of companies that want to harvest a lot of user data - but the point isn't irrational, there is some power to be gained by locking down devices to a single browser.

I would agree that the validations of the App store are entirely security theater though - that approval process adds nothing of value and it amazes me that they haven't been sued somehow over failing to actually enforce the rules they promote.


Because even though I'm a programmer, I don't want to have to think about every device that I own. Apple's locked down control of the device has a very clear and very real value proposition, even for developers. What's missing is not Apple opening up, but a lack of more customizable phone hardware that is more like a true Linux machine.


It's not all or nothing. MacOS has a restricted mode too where you can't install apps outside of the Apple Store. If that's what you want you can have it. There's no reason to restrict power users.


> I've seen this opinion all over the internet from techies and I'm just baffled. Why do you like a pocket computer that isn't actually yours to do with as you like? And why do you feel compelled to force others into this philosophy?

Sheeps, shills or shareholders?


Sheeps and shills I guess cause if anything I'd be more inclined to own an iPhone if it wasn't a locked down corporate dystopian nightmare of an operating system.


Good riddance. Coda for iOS never worked correctly and was a scam app. It's utterly unjustifiable that Panic sold a "full-featured" editor that only works on "Sites" and not files.


> was a scam app

That's a horribly irresponsible thing to say.


Explain to me how it is not "horribly irresponsible" to charge people money for a product you don't deliver, but it is "horribly irresponsible" to call them out on it.

Panic charged me $24.99 for a full-featured code editor. I would like a full-featured code editor or I would like my $24.99 back. It is not "horribly irresponsible" to expect what one pays for.


Did you ask for a refund? I was a very happy Coda user for many years. You sound irrational and angry over a small subjective thing. I'd buy "horribly irresponsible" about your comment.


If the front-end build is the key sticking point, then I think there's hope, in at least 2 dimensions: first, people SHOULD mockup their apps using static HTML - is a best practice that has for some reason gone out of favor, but it will come back. Second, native modules are new, but I think they will play a BIG part in eliminating the front-end build nonsense that has saddled the web dev community for too long.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: