WWDC 2016 Spotlight: watchOS 3

Dan Berry
BPXL Craft
Published in
3 min readJun 21, 2016

--

watchOS is an opportune platform to consume discrete notifications, track fitness and health data, and access apps on the go. In watchOS 3, Apple made major customer-facing changes to the navigation and workouts feature and made the Watch experience faster than ever.

One of the biggest challenges with watchOS development over the past year has been providing experiences that can be consumed quickly with data that is up to date. Apple recognized this and has provided mechanisms to address these areas. They also enabled new categories of experiences using frameworks like HomeKit and SpriteKit. Let’s take a look at some of the features we think will be big for developers in watchOS 3.

Fitness

Developers now have access to real-time heart rate data, the all-day accelerometer, and the gyroscope. Additionally, workout apps will be able to run continuously in the background. These changes add up to a new class of fitness apps that can be created.

HomeKit

One of the most compelling use-cases for Apple Watch was as a control mechanism for the smart home, but until now, that has been challenging since the HomeKit framework was not accessible. Not only is HomeKit an available framework, you can even provide inline video to take advantage of accessories that supply camera data.

Input

Having access to health sensor data is great. Apple took this a step further by opening up access to Digital Crown and touch events as well as processing speaker audio.

Background Tasks

Apps that took advantage of complications have had access to background updates, but Apple has expanded this as part of the strategy for making the Watch feel faster system wide. Use WKApplicationRefreshBackgroundTask when you want to drive other tasks, like kicking off a network operation to refresh data from your API. Use WKSnapshotRefreshBackgroundTask when you want to update your app’s UI. If you need to receive data from the paired iPhone, use WKWatchConnectivityRefreshBackgroundTask. Finally, there is WKURLSessionRefreshBackgroundTask, which is instantiated when a background transfer completes or needs authorization.

Here are a couple of additional notes on background tasks, since this will be such an important concept for successful watchOS apps going forward:

  • Consider including a complication. Apps with complications are guaranteed to get 50 updates a day.
  • You are allowed to schedule the execution of your app’s next background task for each of the four items noted above, and canceling of previously scheduled updates will be taken care of for you.

Taking advantage of the background tasks described above coupled with your app being added to the dock is how you achieve the quick launch performance that was talked about so much in the keynote, so make sure your implementation of this is solid.

CloudKit

CloudKit is a great alternative to Watch connectivity for making sure data is available and consistent across your app platforms, and now it can be used on watchOS. This includes the ability to use the shared database, which is a new CloudKit feature. The Watch will work with CloudKit independent of phone connectivity as long as it is connected to a Wi-Fi network.

SpriteKit and SceneKit

Having access to SpriteKit and SceneKit doesn’t just mean better games on watchOS. These are also great additions for providing rich animations in your app.

watchOS 3 is a fantastic advancement of the platform that gives developers the ability to create better experiences as well as new classes of applications that just weren’t possible before. We can’t wait to get started using these new bits and look forward to seeing what else the community creates.

For more information on watchOS 3, see:

For more insights on design and development, subscribe to BPXL Craft and follow Black Pixel on Twitter.

--

--