WWDC 2016 First Thoughts

The first day of WWDC is in the books, and I jotted down a few first impressions before I get too into the technical sessions later this week.

Siri

Although I’m happy there’s finally a developer API for Siri, I’m disappointed that it’s limited to a fairly small set of applications for now. As a user, what I want most is for my favorite shopping and to-do list apps to get Siri integration, something that won’t be possible with what Apple announced today. However, they strongly implied that Siri API support will expand to other situations in the future. It’s also notable that the API works across all languages that Siri supports, and allows users to interact with much more flexible syntax than something like the Amazon Echo.

It looks like I was wrong about the Siri API being cloud-based, and Apple didn’t say much about how Siri features will work across devices. I assume that each device will only support features for the apps it has installed. I hope they’ll do something about the problem of multiple devices answering whenever I say “Hey, Siri,” especially now that Siri lives on the Mac as well.

MacOS Sierra

I always had a fondness for the classic “Mac OS” name, and I’m happy to see it return, even with slightly odd spacing and capitalization. This year’s code name Sierra may be meant to evoke the Sierra Nevada mountains, but I can’t help but think of the 90s adventure games I loved so dearly in my youth.

Most of the changes on the Mac strike me as gradual evolutions rather than revolutionary new features, and I’m OK with that. The Mac doesn’t need a ton of new features, it just needs to keep up with the times and other platforms. Siri on the Mac doesn’t strike me as all that Earth-shattering, but can’t hurt and might turn out to be handy here and there. I’m puzzled as to why Siri search results get stashed in Notification Center. Why not a smart Finder window? As someone who rarely opens Notification Center on the Mac, it’s an odd choice.

Auto-unlock, Apple Pay on the web, and universal clipboard are small but handy features. Storing the Documents and Desktop folders in iCloud Drive is really appealing as an idea – get at all your files anywhere – but I’m nervous about reliability. I assume that it’ll be possible to opt out of this feature, and I’ll probably do that for a good while to make sure any bugs are worked out.

iOS 10

Aside from a big overhaul of Messages, the changes in iOS strike me as surprisingly incremental for the 10th version of iOS. Many of the updates, like Maps and the lock screen, look great and will certainly be useful and appreciated. Improvements to search in Photos, including face and object recognition, will be great provided that they work as advertised. I don’t think the redesigned Music app does enough to solve the usability problem in Apple Music, but I’m happy to see Apple keep trying to improve it.

One of the bigger changes is something Apple didn’t really talk about: de-coupling many core apps from iOS itself. Many of the system apps, like Mail, Maps, Compass, etc., can now be uninstalled. Moreover, they’re now downloadable from the App Store. That implies that Apple could also update these apps on a different schedule from iOS itself. For example, they could roll out new features in the Photos app in January, instead of waiting for iOS 11. Whether that’ll happen is an open question, but I hope Apple will take advantage of the flexibility.

Messages was clearly the biggest winner in iOS 10, with a ton of new features and even its own app store. Some of the full-screen messaging effects look pretty annoying, but that should shake itself out sooner rather than later. I particularly like how Messages embeds rich content and previews right into a thread. I suspect we’ll look back on the old mostly-text Messages and think we lived like animals.

Of everything in the event today, I’m most puzzled by the lack of significant upgrades for the iPad, particularly multitasking. The multitasking app switcher, in particular, is such a mess that I can’t believe Apple will go another year without improving it. Even something as simple as adding a search field would go a long way. I’m hoping that this is a feature that just wasn’t quite ready and will appear before iOS 10 launches this fall. Barring that, perhaps it could be a 10.1 or 10.2 feature in early 2017. Here’s hoping.

Apple TV

The only thing that really caught my eye during the Apple TV demo was the single sign on feature for authenticating with your cable provider. It’ll make it much less annoying to download a new video on demand app. That one feature alone should make this a great update.

WatchOS

Apple Watch badly needed a software re-think, and Apple delivered. Gone is the confusing distinction between glances and apps, as is the rarely-used friend picker. Instead, you can now press the side button to see a list of frequently-used apps displayed in a horizontally-scrolling Dock. Apple also claims to have vastly increased the speed of Watch apps. Apple claimed to have improved Watch app speed with WatchOS 2, so I’m reserving judgement until I actually get a chance to use this. “Fast” is a relative term, but like Justice Potter Stewart, I know it when I see it.

Overall, I’m very happy that Apple kept an open mind about the Watch with a willingness to change the things that weren’t working. The updates announced for WatchOS 3 make much more conceptual sense to me, and if they’re anything close to as good as today’s demo they should make the Watch much more pleasant to use. Interestingly, no mention was made of the “honeycomb” home screen, so I guess that it remains even in a de-emphasized state.

Siri, iCloud, and Swift on the Server

WWDC kicks off in just a few days, which means it’s prediction time. This year I’ve got one that’s a little off the wall: Not only will there be an API for Siri, but it’ll be iCloud-based and take advantage of Swift on the server.

Implementing a Siri API this way would solve a number of potential problems, and fits with several converging trends from Apple.

Siri exists on an ever-growing list of Apple devices. It started out as a feature specific to the iPhone 4S, then gradually expanded to subsequent iPhones and the iPad. Then came the Apple Watch and Apple TV, and rumors strongly indicate Siri will arrive on the Mac soon. Users expect Siri to have more or less the same feature set on all these devices, which is pretty much what happens now with its core features.

That gets a little tricky when you consider how and where third-party apps and services could integrate with Siri. Unlike the Apple Watch, which is paired to one and only one iPhone, Siri isn’t a good fit for apps that pair to extensions in their iOS counterparts. For example, if Uber creates a Siri app that allows you to request a car, you’d expect that to work from Siri on your iPad or your Mac just as much as on your iPhone where the Uber app is installed.

To me, the most logical solution is to make the apps server-based. Installing a Siri app would create an association between Siri and your Apple ID. Then Siri could provide that app’s functionality from any device where you’ve signed in with your Apple ID. The app could store your personal data in your private iCloud storage, allowing it to remember things like login credentials. From the user’s perspective, Siri apps might be installed through some kind of Siri App Store, or through a prompt in a native app. Either way, the main logic of the app itself would live on the server, perhaps interacting with local native apps on each device through new API.

Storing Siri app logic on the server also ties in to the steady progress Apple has made in advancing services like CloudKit. Last year Apple added CloudKit JS, which allows developers to connect to CloudKit through other web services. It’s not hard to imagine additional expansion that lets developers configure server-side logic within CloudKit itself, logic that might be perfect for Siri.

Finally, Apple has been working on getting Swift running on Linux, which suggests at least a passing interest in running Swift on the server. Given the company’s strong push to drive Swift adoption, it wouldn’t be a huge surprise to see Apple use Swift as the language of choice for cloud-based Siri apps. Even better, it could provide the start of a framework for running Swift in server environments elsewhere.

This prediction is a wild guess, but if Apple does something along these lines it would create some pretty cool opportunities. Finding a way to coordinate a voice-driven assistant across multiple devices is a problem that most other companies haven’t tackled. It would also be a very Apple-y way of moving further into cloud-based services and pushing developers to adopt Apple’s cloud technologies. I can’t wait until next week to find out whether I’m right or wrong.