Apple has just released a flood of information about how apps on Apple Watch work, through the WatchKit framework. There are three types of integrations currently possible: WatchKit apps, Glances and actionable notifications. Although they sound similar, the development process for WatchKit apps are actually very different to that of normal iOS apps for iPhone and iPad, as much of the computation is done on the connected iPhone rather than rendered by the watch’s hardware itself.
The interface elements and interaction patterns for WatchKit apps revolve around a core set of user interface components and layouts. Arbitrary views are not supported, which is a big departure from how iOS apps are constructed.
The constraints are in place because although the Watch renders the UI, any other coding logic is actually managed by the connected iPhone through a WatchKit extension, that silently runs on the iPhone. For instance, animations are pre rendered as an image sequence on the phone GPU before being sent OTA to the watch for display. Apple has announced that fully-native Watch apps will debut later in 2015, which will likely loosen these restrictions somewhat.
For Glances, these are template-based notifications that persist on the watch. For instance, apps can show the current Weather information in a Glance. Glances are limited by the available templates, as described by Apple, as to how they can appear. Glances do not accept user interaction themselves, but they can act as a gateway to their respective parent apps. The Handoff API is used to ‘deep-link’ users to the relevant areas of the host app.
Actionable notifications are even less customizable. This is basically a different way of viewing the notifications that already present themselves on iOS today, although developers can provide some custom images to personalize the notifications. Notifications are presented as a modal view when they come in (with the icon centred) which transitions to a strict style of form, with any associated button actions shown below. As they are so limited, developers need to almost nothing to support this type of Apple Watch integration.
Developers can start creating WatchKit apps and Glances, by downloading the Xcode 6.2 and iOS 8.2 betas.