Digesting WWDC: cloudy

I’ve spent the last couple of days sifting through the announcements at WWDC. Apple claims 4000 new APIs, and it certainly feels like it. Apple has been busy. But setting aside all the normal incremental improvements, there are a couple of interesting strands. 

First, Apple is continuing the steady process of removing restrictions on what developers can do - but doing so in a very specific way. Almost all of these restrictions are necessarily trade-offs - on a smartphone more flexibility is ipso facto less security and less battery life. So multi-tasking was permitted only once Apple had created a way to do it while preserving control. The same now comes with Extensions. Apple has a model to allow apps to connect to each other and add functionality to other apps - but with clearly defined attach points and a clear control model. Like multitasking, the idea is to gain most benefits of being open while preserving most benefits of being closed. Rather than giving any app system access, you open up specific use cases - a new keyboard, for example, while controlling it tightly (no network access for that keyboard without permission) and dismissing other use cases entirely (no third party SMS apps). The same applies to the fingerprint scanner - apps can now ask for authentication but don’t get the print data - they only get a ‘yes/no’ response back from the system. It’s sandboxes all the way down. In addition, Apple is backing off the ‘no documents’ rule, which seems to have been a vision of a simpler and easier to use approach that was just too forward-thinking. Hence Cloud Drive, which is amongst other things an argument that DropBox really is just a feature (and in the new MacOS there are APIs specifically for file syncing services, addressing some of the heavy lifting OS hacking that Dropbox or Box have had to build themselves). The practical effect of these moves is that a lot of the specific use cases that might draw high-end users to Android (custom keyboards, say) get sliced off. 

The second theme, and a very interesting one, is cloud, the big Apple weakness. The whole of WWDC is full of cloud. A very large proportion of the new user-facing features touch the cloud in some way, as a conduit or as storage. And the ones that don’t use what you might call the personal cloud - the Bluetooth LE/Wifi mesh around you (such as HealthKit or HomeKit). So edit a photo and the edits are on all your devices, run out of room and your photos stay on the cloud but all but the previews are cleared off your phone, tap a phone number on a web page on your Mac and your phone dials it. But none of this says ‘CLOUD™’ and none of it is done in a web browser. Web browsers are for web pages, not for apps. Hence one could suggest that Apple loves the cloud, just not the web (or, not URLs). This is obviously a contrast with Google, which has pretty much the opposite approach. For Google, devices are dumb glass and the intelligence is in the cloud, but for Apple the cloud is just dumb storage and the device is the place for intelligence. And it’s built a whole new set of APIs, CloudKit, to enable this for developers, which it is (for the first time, I believe) dogfooding, building the photos product on it. 

There’s a release cycle question in here. A phone that’s refreshed every year or replaced every two can iterate and innovate much faster than a TV, car (or fridge, or, perhaps thermostat) that may be replaced only every five or ten years. So it seems like the place for the intelligence should be in the phone rather than the TV. But the extension of this is that a cloud product can iterate every day. This is the killer advantage of enterprise SaaS over on-premises software - you can improve things all the time. And Apple updates its OS once a year and, so far, the same is true for the cloud products it builds for developers, where Google can update all of its products every week. 

You can see this dynamic clearly in smartphones: for the last couple of years, Apple has done an annual release (of both hardware and software) and taken the lead for 6-9m months, and then Android (Google and the OEMs collectively) catches up and overtakes for 3-6 months until the the next Apple release. It’s a game of leapfrog. Is this a disadvantage for Apple? Again, there’s a tradeoff, embodied in Facebook’s old internal slogan, ‘Move fast and break things”. If you’re Google and your products are mostly black boxes to the outside world then iterating fast is fine, but if you have millions of developers building on those APIs, changing things every week isn’t necessarily a great idea. That is, there’s an optimum API refresh frequency. (One could also point out that though Google refreshes Android frequently, the average Android user gets a new version of Android only every two years, when they replace their phone, where the average iOS user gets the new version once a year as it is released). 

Going back to this ‘Apple view of the cloud’, though, there’s a deeper and older dynamic starting to come into play now. Apple invented the smartphone as we know it 7 years ago and since then the concept has been built out. All the stuff that really should have been there has been added step by step by both Apple and Google, and the pace at which essential improvements are made is starting to flatten out. But as that happens, the two platforms start to converge. Copy & paste is copy & paste, but iBeacon is a very Apple sort of idea, just as Google Now is a very Google product. That is, as the core features are built out and commoditised, the changes are coming more and more in ways that reflect the very different characters of Apple and Google. I’ve described this before by saying that Apple is moving innovation down the stack into hardware/software integration, where it’s hard for Google to follow, and Google is moving innovation up the stack into cloud-based AI & machine learning services, where it's hard for Apple to follow. This isn’t a tactical ‘this’ll screw those guys’ approach - it reflects the fundamental characters of the two companies. Google thinks about improving UX by reducing page load times, Apple thinks about UX by making it easier to scroll that page. 

One effect of this is that it might get harder to make essentially the same app on both platforms. If a core, valuable thing you can do on one platform has no analogue at all on the other, what do you do? Ignore the stuff that isn’t on both, and get a lowest common denominator product? Or dive into those tools, but end up having quite different experiences on iOS and Android? Things like Metal and Swift only accelerate this issue. 

Another aspect of this issue is the stuff that Facebook announced at F8, especially deep linking. Facebook would clearly like, on some level, to put together a sort of meta-OS that sits on top of both iOS and Android, driving connections and engagement between apps and acting as a social plumbing layer. But it’s not clear that that’s its place in the stack. Apple’s Extensions offer another and very compelling way to drive people between iOS apps. And in addition, Apple has quietly announced, as part of Cloudkit, its own identity layer. You can sign a user into your app using their iCloud account, and (with permission) use iCloud to see which of their friends are using the same app. And that would use the fingerprint scanner.  Looking at the address book is a major driver of growth bethink many social apps on smartphones - Apple is trying to co-opt that, with less friction but also with total user privacy built in. And privacy was a very, very common theme throughout all the developer sessions. You could build an entire multi-player game in Cloudkit, and possibly even a social messaging app. So 'cloud' things become iOS things. But only for iOS. 

And yet, on the other hand, all of the new extensions give Google and Facebook new places to embed their services within iOS.  

This brings me to the macro point: Everything Apple does is about selling devices. Definitely iOS devices, and possibly an Apple TV or a wearable of its own. But for now, the device is the centre point. And that’s a $600 device. Apple has a lock on the majority of this super-premium segment, with Android’s attempts to break into it plateauing at about a third of the segment. This means that Apple sells about 10% of all the phones on earth and Android takes the next 50% or so, and that gives Apple perhaps a third of run-rate app downloads and the majority of the actual value. This is a now pretty stable situation, unless a premium alternative to Samsung emerges or the subsidy environment changes radically. But the only way for Apple to break out of that segment and sell 20% or 30% of the phones sold on earth is a cheaper phone.  Until then the annual leapfrogging with Android will continue.