The Case for Xcode Cloud

image

Will next big Xcode announcement be Xcode Cloud, enabling Xcode on iOS devices?

The computing vision of the future

Just as Gretzky famously stated that he wouldn’t skate to where the puck was, but to where it was going to be, Apple seems to bank on that the proverbial puck will end up in a world where all computational heavy lifting will happen in the cloud, not on our devices. And I think they are right.

While iPads and iOS isn’t there yet, this is a vision that Sun Microsystems started pushing in the 90’s, and that companies like Apple, Google and Microsoft have been working tirelessly towards for decades, launching increasingly capable cloud backed apps and online productivity services along the way.

The moment one accepts this future, many old truths go out the window. Why would you need a faster and faster CPU with more and more RAM if your device is merely an interface to computing happening elsewhere in a data center? Having a computer with the maximum amount of RAM and the maximum amount of CPU is a waste of money and system resources, since your system will be idling and using a lot less resources a majority of the time.

In my opinion — and clearly also in Apple’s — it is not a question of “if”, but “when” tablets replace personal computers as our main computers. Anyone that watched the launch of the smaller iPad Pro may have been surprised by the shift in how aggressively Apple is now pushing the iPad Pro as a PC replacement. Ever since the launch of the first iPad, there has been an air of “one day this will be it” surrounding it. That “one day” has now been replaced with an in-your-face “that day is now” stance.

When is the future?

Is that day finally here? Ever since the launch of the iPad, it’s been good enough for causal computer users for Facebook, sending emails, messages and to Skype or use FaceTime. Over time, apps and the iPad hardware have matured, and as someone that forced myself to exclusively use my 12” iPad Pro for a week at work instead of my MacBook Air, I am of the opinion that the iPad Pro is definitely powerful enough, and there are definitely good enough productivity apps for it today to allow a majority of people to switch to an iPad as their main computing device for both business as well as for fun and games.

Besides the stock apps that come with the iPad, here’s a selection of apps I ended up using.

I used these and other apps to work on Ruby server code, review code changes, share documents, create PDF’s, schedule tasks, organize applicants for a job posting, manage my team, access and create reports from MySQL databases, enhance featured property photos for the LuxuryRealEstate.com homepage, and more. All in all, I believe I pushed the iPad further that week than many ever push their office PC’s, and therefore I strongly believe that the iPad Pro is ready today to replace a PC for most people.

Despite that, I’m sure many that could switch from a PC to an iPad just fine will probably protest and claim that it isn’t so. People are creatures of habit after all, and moving from a personal computer to an iPad will be different and cause friction. Also, for the most part, iOS apps aren’t yet as refined as their personal computer counterparts, so it will take some challenging old habits, frustration and willingness to relearn how to get things done to move towards where the puck will be.

Xcode

The one thing I couldn’t do during my all iPad week was to work on and submit our Luxury Real Estate TV app to the Apple TV app store. To be able to do that, there would need to be an iOS version of Xcode. If one buys in to the idea that Apple is working towards helping create a truly post PC future, there are exactly zero reasons to think that a team within Apple isn’t already hard at work on it, since the next logical step after plucking the low hanging productivity fruit is to cater to the needs of developers. Being able to develop iOS apps using iOS is the obvious goal.

Xcode on iPad will be better

Having iPad Xcode compile locally would just replicate the old PC way. It’d require heavy CPU usage, demand a lot of resources, and would cut battery time dramatically. If you want to make light, mobile devices that last a full day on a battery charge, and believe that cloud computing is the future, you would develop a version of Xcode that takes your code, uploads it to a cloud service, compiles it for you, and returns a binary.

How far in the future is Xcode Cloud? I used to think years away. Then something significant happened. Apple did good on their promise to open source Swift. That was promptly followed by IBM announcing they’re all over it and that they’re already using Swift in their data centers and in Swift programming sandboxes in the cloud. Anyone want to bet against IBM being involved in building the cloud based Swift compiler that Xcode Cloud will lean on? Highlighting IBM’s use of Swift in data centers strikes me as hiding a bigger strategy in plain sight. Then, Apple taking on the tone that the era of switching the PC for an iPad is here, makes me think that Xcode Cloud is closer than anyone expects.

Apple is getting ready to shoot the puck, and I for one am very excited to skate along.