Independent watchOS: principles and practices

🇵🇱 Mobiconf on 4 Oct 2019
watchOS iOS Watch App Store

For a very long time, Apple Watch was considered to be a device for either people dealing with too many notifications, or a smart remote for the Music app, or a health-centred tracker. Lack of UI components, a terrible way to compose animations, and a strong dependency on an iPhone being present didn't help as well.

However, with the most recent announcements from Apple, everything might finally change. In this talk I will walk you through the best practices and principles behind designing and developing offline-first and independent watchOS apps, as well as briefly touch a few ideas on Watch App Store search optimization and basic approaches to reduce users' pain when dealing with wearable devices.

About this talk

What does this talk cover?

The principles and practices of independent watchOS apps - ones that install from the Watch's own App Store and run with no iPhone around - and what changes when the Watch is the primary device.

Which watchOS APIs does the talk walk through?

The watchOS 6 toolkit that made independence possible: Extended Runtime sessions and their limits, streaming audio over HLS and WebSockets, Sign in with Apple on the wrist, and Core ML running on the Watch's own Neural Engine.

What does Apple require from an independent Watch app?

It can't lean on WatchConnectivity as its main data source - the talk covers downloading data straight to the Watch, sending push notifications directly to it, and handling sign-in and permissions without a phone in the loop.

Does it cover design as well as code?

Yes - the glanceable, actionable, responsive principles behind watchOS design, and what lightweight interactions mean for an app whose sessions last seconds.

Where can I watch it?

The recording is embedded at the top of this page, and the slides are linked in the resources section.

Related consulting

I build standalone watchOS apps and Watch features for clients, emergency flows included.

Apple Watch / watchOS