At Apple's annual Worldwide Developer's Conference yesterday, one announcement garnered more applause than pretty much everything else combined. It wasn't iOS 10, or the latest version of OS X (now rechristened macOS), or a hardware product. It was Swift Playgrounds: a free iPad app that aims to teach kids and adults alike to code using Apple's Swift programming language.
The new learn-to-code app takes a similar approach to teaching the basics of code as several products previously covered by Co.Design, like Osmos Coding. The earliest lessons all revolve around moving a digital creature around video game levels collecting gems using snippets of code. Later, as a user's programming skills get more advanced, they can learn more sophisticated coding techniques through interactive lessons, and even put together simple iOS themselves, which run in a split screen sandbox within the Playgrounds app.
But none of this fully explains why the 5,000 developers in attendance got so excited about Swift Playgrounds. The main reason? It opens the door for the iPad as a coding environment.
Right now, if you want to code an app for the iPhone, iPad, or Apple Watch, you can only do it on a Mac. That's a policy that has served Apple well over the years: it's no accident that Mac sales started dramatically rising when Apple first announced the iOS app store as part of iOS 2.0 (then called iPhone OS 2). And truthfully, it would have been difficult, if not impossible, for Apple to allow developers to build apps on the underpowered chips of yesteryears' iPhones or iPads, because compiling apps is computationally expensive.
These days, though, it's looking increasingly like an omission that iOS devices can't actually code iOS apps. Apple has sold over 1 billion iOS devices in the wild. Even in a weak quarter, it sells 15 to 20 times more iPhones and iPads than Macs. iPads, meanwhile, are getting more Mac-like, supporting advanced desktop functionality like the ability to run multiple apps side-by-side. Heck, the 12.9-inch iPad Pro is even as powerful as a Mac, falling in benchmarks somewhere between the MacBook Air and MacBook Pro.
Looking at these numbers, it makes little sense that developers in 2016 can't design and program on the same devices their apps are meant to run on. And as desktop and laptop sales continue to shrink, it's even more ludicrous that companies like Apple haven't opened up their mobile devices to coders. The whole world is moving towards doing literally everything on smartphones and tablets. That's the whole idea behind the iPad Pro, the first Apple tablet that could legitimately be considered a laptop replacement. It's downright silly that code is the sole exception to the "do everything on mobile" mindset.
Swift Playgrounds isn't a full coding platform. The apps you can create with it can't be shared with friends, or uploaded to the App Store. Still, the reason why the WWDC audience cheered today is because it forecasts a day in which iPad apps are designed and built on iPads, not PCs. Otherwise, why teach a whole new generation of coders on a device that will never have a professional coding environment?