Hacker News new | past | comments | ask | show | jobs | submit login

>> 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: