> 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.
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...
https://arstechnica.com/gadgets/2021/05/apple-brass-discusse...
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.
> 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
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.
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.
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.
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.
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'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 don’t think accounts can be deleted? I tried once and was told no. :(
try to think about it as a strong disagreement.
(EDIT: i wonder who downvoted this comment now ;-)
Apple regularly leverages operating system calls that 3rd parties do not have access to.
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.
Apple isn’t even a majority of the market, so laws on monopolies don’t readily apply here.
It is if your security model includes things like parental controls and payment processing.
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.
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.
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.
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.
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.
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.
1) link JavaScriptCore
2) download JavaScript code from the internet
3) provide code to JSC
4) ???
5) Profit!
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.
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 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.
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....
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?
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...
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
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?
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.
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.
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.
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.
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.
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.
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".
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).
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.
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.
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.
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.
I don't understand this mentality. I can run an 8 year old version of nginx just fine. Why would it stop working?
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).
Please stop calling this as modern model. This is modern daylight theft
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. :/
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.
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.
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.
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.
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.
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.
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.
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 really isn’t this.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
PS: The whole web VSCode thing can also have very bad latency in my experience.
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...
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"?
macOS and iOS let you choose your default browser
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. :-)
> 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.
If you get screwed by Apple, why not go to the other field?
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.
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.
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.
Am I missing something?
This comment seems misinformed and griping, there are plenty of ways to program on iOS. There's the developer program, TestPilot, and more.
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.
They don’t.
No other dev can replicate it with the public entitlements only. (On iOS)
What is an education app? Well, that is up to Apple.
…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?
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.
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.
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.
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!
So basically my current 13" MBP M1 with a detachable touch screen.
Main problem for me would be the iPad's single port.
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 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.
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.
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.
I wonder what it would take to make a Code development tool to take advantage of that.
Add touch support to MacOS and let it run on the “pro” iPads. Done.
Definitely feel for their engineering team.
This is not true. A recent iOS update broke Transmit; it no longer launches and says it needs an update.
Either way, it was a great app and I very much disagree with their reasons for discontinuing it.
I remember losing quite a couple apps this way. Can't be downloaded anymore, too bad you didn't have a full backup.
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.
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!
Seeing as there is a risk it might not work within a few months that isn’t that bad of a deal I guess.
Is this to appeal to those who haven't heard of visual studio code?
Is the source code going to be published so people can keep running it on jailbroken devices?