top | item 27116763

(no title)

w0utert | 4 years ago

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

discuss

order

kmeisthax|4 years ago

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.

alsetmusic|4 years ago

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

dwaite|4 years ago

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.

ulfw|4 years ago

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.

donbrae|4 years ago

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!

dev_tty01|4 years ago

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

emsy|4 years ago

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?

imwillofficial|4 years ago

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

echelon|4 years ago

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

freeone3000|4 years ago

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

musicale|4 years ago

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.

Siira|4 years ago

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.

hinkley|4 years ago

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.

Valkhyr|4 years ago

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

simias|4 years ago

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.

musicale|4 years ago

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.

jeroenhd|4 years ago

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

musicale|4 years ago

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

dgellow|4 years ago

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

forrestthewoods|4 years ago

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

colejohnson66|4 years ago

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.

em-bee|4 years ago

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 ;-)

tannhaeuser|4 years ago

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?

Hoasi|4 years ago

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

simion314|4 years ago

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.