At this year’s Apple WWDC–a conference for iOS and OS X developers–Apple announced a set of technologies call Continuity, that makes it very easy for users to work on whatever Apple device is best suited for the current task. This is great for users who own both an iPhone and a Mac–but how common is that at work?
Not very. So this is a play by Apple for more small business and enterprise businesses to buy Macs. But for a business to buy Macs, there must be software.
Chicken and egg.
But, wait! There are tens or hundreds of thousands of iOS developers–there are more than a million apps in the iOS App Store. Couldn’t Apple leverage these iOS developers to write Mac (OS X) apps? Maybe, but there’s one thing pulling iOS developers away from the Mac:
Yes, Android. If you’re creating apps for iOS, you (one hopes!) understand how to work with mobile devices. And you’ve covered a large part of the market with iOS. So, if you want to grow your business, where do you expand next: to the Mac, or to Android?
While the Mac is tempting–because the foundation of iOS development is virtually identical to OS X development–it’s a far smaller market than Android. And writing an app for desktop is significantly different than writing one for mobile. So there’s this constant tug between expanding to the Mac (easier code/language transition) or expanding to Android (easier form factor/UX transition).
With iOS 8 and OS X Yosemite, Apple is incrementally making OS X development easier for iOS developers. But I don’t think Apple’s developer tools make it easy enough, yet, for iOS developers to quickly port their apps to OS X.
Continuity helps, as it makes it easier for users, and it’s shared across iOS and OS X. But Apple still has essentially completely separate UIKit (for iOS) and AppKit (for OS X) user interfaces that are optimized for each platform.
I understand why Apple does this (for users and productivity), but I think Apple needs to make some concessions for developers (and users). For example, I discussed previously how Apple could port a modified UIKit to OS X but still make it optimized for the mouse and keyboard of a Mac. This would also make the transition easier for users, moving from iOS devices to Macs.
In the absence of UIKit itself on OS X, perhaps Apple could use the introduction of its Swift computer programming language to some sort of compatibility layer.
It just feels like OS X development is ripe for the picking, with tens of thousands of iOS developers waiting in the wings, but Apple just hasn’t provided the boost developers need to make it imperative for them to start making Mac apps. Continuity is nice, but I don’t think it’s enough.