Apple Watchkit – For Apps At Fingertips
An Apple Watch is considered to be a gadget from the neighbouring universe though it is designed and manufactured on planet earth. The features showcased by an Apple Watch are simply phenomenal, easing out human effort for communication and entertainment. As we see an Apple Watch is a smart gadget that is wearable, the apps that work on it be designed differently than ordinary apps and possess a status symbol. Let’s see what Apple has in store for the app developers eyeing the Apple Watch.
As mentioned in our previous blog post Apple has provided developers with “Watchkit” – an integrated development environment to develop apps for the device. The Watchkit contains classes to develop applications on the watch which can communicate with its corresponding Watchkit extension. Recently, Apple released a fifth beta for iOS 8.2 and a new build for Xcode 6.2, thus further motivating developers by giving them the latest Watchkit tools for developing innovative and interactive apps for the Apple Watch.
Apps developed for the watch can only be accessed by its corresponding Watchkit extension residing on the iPhone. And, yes, the watch requires Bluetooth pairing with an iPhone to run the app. The Watchkit framework handles the communication, between the watch app and the extension, seamlessly in the background through Bluetooth connectivity.
Apple has provided an in-depth guide in terms of the design templates, the various UI elements, color themes to be used, dynamic text type sizes and built in text styles, detailed specifications for icon and image design, the layout guidelines, menu images specs and what not. Phew… Didn’t I say Apple has showcased a detailed and comprehensive list.
With this move, Apple ensures third party developers are aligned in providing the most optimal user experience as their own apps do.
Apple Watch Interactions:
As we mentioned earlier in our post, the apps for Apple watch are designed in a very different manner, the same can be said about the various interactions provided in Apple Watch.The Apple Watch will be available in two screen sizes of 38mm and 42mm, with 340px and 390px resolution respectively.
The device is equipped with multiple sensors which detect human voice and movements. For example, when you lift your wrist, the watch senses this movement and activates the display automatically. Users can interact with Apple Watch by action based events as button tap, switches, table row selection, single tap, swipe gestures etc., very similar to your iPhone device. A point to be noted here is that Apple Watch does not support multi-finger gestures such as pinches.
There are some unique and interesting interactions supported by an Apple Watch, let’s see them in brief:
Force Touch is new interaction that has been introduced in the Apple Watch. With touch, retina display detects the amount of force applied by the user’s finger. When this combination of force and touch is detected, the context menu (if any) will be displayed. Apps can use this menu to display app level menus with respect to its current screen.
The Digital Crown:
The Digital Crown can be fine tuned to accelerate scrolling, making scrolls easier for longer pages. Digital Crown can be used in application development to enable scrolling for the app screens.
Apple has installed a Taptic Engine; it provides a haptic feedback on your wrist to notify about new updates. The user receives a feedback from the Taptic Engine when the screen or Digital Crown is accessed.
The interactions surely would stoke the fire in the developer’s mind on the possibilities of innovative apps one can create. By leveraging WatchKit, iOS apps can be taken a step ahead by extending its functionality to Apple Watch in 3 ways:
A WatchKit app:
A WatchKit app is a user initiated app, launched from Apple Watch home screen and contains a full user interface where users can control app data by interacting with the app. WatchKit provides its own interface controllers to handle the interface of an app. One can add additional scenes for glances, notifications or other controllers. The interface controller code is to be implemented in the Watchkit extension, not in the Watchkit app.
Glances offer the user with minimal but primary information about an app, with the data being in read-only format. The data is chunked and displayed with vitals that inform the user about a particular app activity, human inputs/interactions are barred in the Glances. Example of Glance could be a calendar app showing next meeting or a Route app showing destination reached message.
Glances are delivered as part of your WatchKit app and WatchKit extension; it does not need a separate executable, as the glance interface is present in the existing storyboard. On tapping of a glance option, the notified app is launched with its main interface controller. The user can also customize to open interface controller other than the main controller. For example, next meeting glance could directly take the user to meeting details interface.
Notifications are another way to interact with the Apple Watch. Initially, Apple Watch uses a minimal interface to display incoming notifications.
Now, judging from this feature, one would say how is it different from glances principally? Well, Notifications interface changes to a more detailed layout, when the user wishes to see more information. Here, you can add images, additional content and customize the layout as desired.
With iOS 8 actionable notifications, one can add buttons to notifications interface and execute the code for respective actions. For example, calendar event invitation notification can have buttons to accept or reject the invitation. This will launch the app in the background and can execute further as per action taken by the user.
As discussed, WatchKit app extends the behavior of an iOS app. So, for deployment purposes, the WatchKit app and its extensions are bundled together with the iOS app. During installation of the app from app store, system prompts to install WatchKit app if Watch is paired with device and is available.
Some design guidelines to ponder:
- Your app should be capable of quick and lightweight interactions
- Must learn the wearer’s intentions from sensory controls
- Use appropriate means of communication – voice, visual, touch, force and wrist-raise
- Provide glances to communicate time/location related short info (like temperature)
- Carefully choosing the interface styles: hierarchical and page-based, at the start of your app design, as one cannot combine the two
- As the watch is exposed more to the public than a phone, developers must keep in mind privacy and usability, and the first point mentioned in the guideline aids in this
Apple has already won many accolades from the users of the iPhone and iPad for a variety of user friendly apps. But now with Apple Watch, the game is being changed completely with the intimacy and privacy coupled with smartness in the lifestyle as the main principles of apps. In all it has been a different kind of experience with the Apple Watch, we can hope easy synchronization of data from the phone to the watch easily available by flicking our wrist. So, the watch app designer must wear the hat of an art designer rather than just the logic designer.