Apple softens its stance on developers using iOS as a platform for coding

Apple recently changed the terms of service for its App Store. One new paragraph caught the attention of John Voorhees at MacStories:

Apps designed to teach, develop, or test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the Application completely viewable and editable by the user.

This is huge. It plays into Apple’s educational ambitions by making iOS a more viable platform to learn software development, as students will be able to import and run sample projects.

Products like Glitch — which lets people experiment by taking large projects, and modifying the parts that are relevant to them — could soon be re-imagined as a super-sleek, super-fast native iOS application

That’s exciting. But not as exciting as the possibility (and that’s all it is, a possibility) that Apple is considering the iPad’s future as an honest-to-god development machine.

Really, this isn’t surprising. Apple has long-touted the iPad as a device worthy of replacing your laptop. Indeed, Cupertino would much rather people considered it not as an iPhone offshoot, but rather a legitimate, honest-to-god computer.

This argument has always rang a little hollow. While the iPad — and its big brother, the iPad Pro — is perfectly suited to light productivity work, the underlying operating system remains tightly locked down. There’s so much you can’t do on an iPad, specifically writing code.

Before someone chimes into the comments with a ‘well, actually,’ I suppose I should clarify this.

Yes, you can write code. But no way can you do as much as you could on a desktop computer.

It feels more like a ‘toy’ than anything else. Yes, there’s a third-party Python REPL and a Java compiler. You can install VIM, and more. But these aren’t nearly as fleshed out as what you’d get on a bog-standard PC. And that’s entirely because of Apple’s strictly-enforced App Store terms of service.

This softening of Apple’s stance paves the way for all sorts of new and exciting stuff.

Depending on how Apple chooses to interpret the paragraph, it could mean users will be able to download and import libraries from across the Internet, allowing them to make more sophisticated applications.

Imagine it. NPM and PIP for iOS.

Of course, that wouldn’t be enough. For developers to realistically consider using iOS as their main operating system for software development, Apple would have to relinquish even more control. And it’s not clear how willing it’ll be to do that, as it will have to reconsider its entire security model, which is partially based on limiting user access.

One option would be for Apple to sell specific ‘developer edition’ iPad Pros. These would command a higher pricetag, and would come with developer-specific features.

On one hand, there’s precedent. Dell has long sold high-end XPS laptops running a lightly-modified version of Ubuntu Linux. But then again, Apple loathes device fragmentation. I can’t see this happening.

Perhaps more realistically, Apple has slowly started to figure out how it can open iOS to developers, while ensuring the operating system’s safeguards against malware stay intact. If that’s the case, that’s really exciting. But we probably won’t see anything major for a while.