WWDC 2019 Preview
Apple's Worldwide Developer Conference starts tomorrow, and we're set to get our first look at the future of iOS, MacOS, watchOS and tvOS (for those in the UK, you can watch the keynote via the Apple website starting at 6pm).
I've long since moved on from caring what they do with tvOS (too many years of wasted opportunity), and while I wear my Apple Watch every day, the convenience of Apple Pay is all that keeps me there. The rumoured watch app independence doesn't really mean much for me, because I've never considered it as a platform for apps.
The interesting story is in the Mac and iOS, and what Marzipan (which will allow developers to use the same tools to develop for both) will mean for the future of both platforms.
I've been a Mac user now for almost 21 years, and I've seen the developer community move from Windows to Mac in that time. When I first switched, finding apps to do what I needed (I'm a web-developer and sysadmin, who spends far too much time online) was quite difficult. Everything was happening on the Windows side, and it (it being OS X) seemed to not yet have the traction to give me the apps I needed.
But over time, the developers came, and the apps followed. If you look at Windows now, it's a barren wasteland of new app development. Try finding something as simple as a good RSS reader or Twitter client on Windows, and you'll see what I mean. All that momentum moved to the Mac.
But the biggest shift in the past 21 years has been the rise of the web developer. When I first switched to Mac, I was still a Windows desktop application developer. Both my job and my home life involved creating Windows apps. But today? I wouldn't even consider starting development on a new desktop application. The web is development platform #1.
Desktop app development is stagnant, because the talent pool isn't growing. Businesses are focussed on development platform #1, or they're focussed on #2 - mobile. Getting whomever is left to focus on your desktop operating system is just a challenge that these companies are no longer willing to fight for. Microsoft realised years ago that their best bet for the future was to stop caring about whether you used their desktop OS, and instead focus on helping you get work done wherever you were. That was enough to make them the most valuable company in the world again at the start of this year.
This is a problem Apple have been punting down the road for years, with the slow pace of Mac hardware and software updates making me believe they'd almost considered it a lost cause. But they've finally decided to answer the question of what the Mac looks like in a world where only a tiny percentage of their customers actually care. And their answer to that is a single development platform for Mac and iOS.
Of course it is! If you were to start again today from scratch, you wouldn't do it any other way.
Now, those paying attention may say that Microsoft has just given up on the same idea, so what's going to be any different here.
The answer to that is simply that Microsoft didn't have a strong platform to use as an anchor. Windows Mobile is dead, traditional app and game developers are happy with what they've been doing for years (Win32), and Windows 10 removed most of the tablet-specific features that Windows 8 introduced. With 2 dying platforms and an already comfortable one, there was no momentum to push developers into writing something for all of them.
But Apple are in a very different position, because they have a growing and thriving iOS eco-system to draw from. They have a significant number of developers who have literally grown up knowing nothing except iOS development, who have never tried to do something on the Mac. A single development environment means less duplication of training, documentation and tools. It's so obvious that a layman would be baffled to hear it wasn't that way already.
Die-hard Mac fans see this as a bad sign, and wish to keep hold of whatever they believe "Mac-like" really means. They can do their work on a Mac, and not on iOS, therefore this must be a bad thing. The early examples included in last years Mojave release were hardly shining examples of what a Mac application can be.
I tend to think this is a negative way to look at it. I don't see this as a way to port iOS apps onto the Mac, I see this as a way to let developers use one system to develop for both. It's a subtle difference, but one with much more positive connotations. Mac users, would you like Apple to make it easier for developers to write software for your favourite operating system?
What this means for users should be a lot more Mac apps, because the talent pool of developers who can create for the platform is going to grow massively overnight. What this means for iOS apps is that developers who may have thought that their app only has an audience on the Mac, can now more easily bring it both, raising the bar for iOS apps (which have long suffered for not being as full-featured as their Mac counterparts).
This is a massive change for both eco-systems, and the best shot at keeping the Mac relevant for another few years. Without it, there is no long-term future. iOS has already won, simply by sheer scale in users.
As a final aside, the Mac Pro is also likely to be shown at this event, two years after they said they were working on it. We have to assume that Marzipan and the Mac Pro are part of a similar strategy. Why create the most powerful desktop Mac ever made, to just have people run dumbed down iOS apps on it? I think we can assume that the Marzipan goal is to allow the creation of any class of application.