The new iPad Pro is out and the review are pretty consistent. The hardware is amazing, but held back by the limitations of the software, and that software limitation prevents certain workflows from being viable. Every year that list seems to get a little shorter; Dom Esposito was able to produce his iPad Pro review for YouTube on it (in 4K, no less), Shawn Blanc is doing production photography work on an iPad and a Leica camera, and of course there’s Federico Viticci’s ever-evolving list of workflows to get the most out of the iPad’s multitasking capabilities. With Apple’s silicon team doing some of the best work in the industry, and with GeekBench scores rivaling laptops in bursts, it’s not hard to see why people want to replace desktops with these things; I’ve argued for three years (to the day, apparently) that the iPad Pro needs Xcode.

But there is one type of workflow that, for 8 years, has been difficult to hit on an iPad. Building software.

You don’t want to be limited by the availability of pre-programmed cartridges. You’ll want a computer, like Apple, that you can also program yourself.

Apple print ad, 1978

In many ways, this is a foundational part of the definition of a computer. Apple’s said as much in their ads. The Macintosh has always been an open, developer-friendly platform. And Apple has an excellent and compatible web engine in WebKit that developers can run web apps on. Apple’s history was one that helped small and large companies build Macintosh software, and with Cocoa helped many new developers (including me) build amazing apps for its general purpose computers. But in 2018, it’s an unsolved problem on iPads, one that is viable on competitor tablets like Microsoft’s Surface line and Google’s Pixel tablets. What’s holding it back?

Read More

Why the iPad Pro needs Xcode


On March 7, 2012, Tim Cook announced their 3rd-generation “New iPad”, leading into it with a (fair and justified) dig at the state of Android tablet apps. Apps like Twitter and Yelp were shown as they ran at the time, with a smartphone-based UI stretched out to fit the wider display. Cook made jokes about apps being hard to see, with small text and lots of whitespace.

The prospect of building iPad apps has not been as popular for developers as building for iPhone. At the same time, iOS as a platform went from having a couple fixed screen sizes to requiring developers design their apps to be flexible. In an effort to bring more iPhone apps to iPad, Apple developed the concept of Adaptive UI, pushing developers away from targeting screen sizes to targeting flexible rectangles with certain size properties.

What Apple wanted to happen was that developers would build a compact UI, and a full-size UI, and the library of iPad apps would naturally expand to have a lot of what was on iPhone. But that didn’t really happen. What happened instead was that many developers design and target for iPhone, then fudge and fiddle with that UI until it looks okay on iPad, leading to (in the worst case) things like what Twitter’s iPad app has now become.

Read More