Apple released WatchKit today! Read all the details and what we can build with it here.

Quick WATCHKIT Tips

These tips are short and sweet. Feel free to tweet any that you find helpful.


Apps

Watch apps extend the behavior of existing iOS apps. The Watch app and WatchKit extension are bundled together

 

The purpose of a Watch app is to give the user quick but more in-depth access to app-related data

 

During installation of your iOS app, system will prompt user to install the Watch app if a paired Apple Watch is present

 

A Watch app requires two separate executables: the app that runs on WATCH & a WatchKit extension that runs on iPhone


 

Watch apps work in tandem w/ WatchKit extension on iPhone. App contains no custom code, just storyboards & UI resources

 

iPhone extension brains of the operation—contains business logic & code. Gets location updates & performs long-running tasks

Glances

A glance is a focused display of important information the user needs right now. Glances are intended to be looked at quickly

 

Glances do not scroll, must fit on single screen. No buttons. Tapping a glance launches your Watch app


Notifications

Notifications split into two levels:  “short look” w/ app icon & brief text, and "long look" w/ more detail & action buttons

 

Watch supports the interactive notifications from iOS 8. Can add buttons to notifications for immediate actions user can take

 

From glance or notification, a tap goes to your Watch App—and w/ Handoff can go directly to specific view inside your app

 

Can customize which notifications can show up in Notification Center as well as the app icon specific to this view. 


Code & Languages

Apple sample code "Lister" contains an Apple Watch app written in both Objective-C & Swift languages http://buff.ly/1r0NCem

Design

Use Interface Builder the way you're used to—connect views to outlets— SDK handles the Bluetooth comm behind the scenes

 

Auto Layout not needed for Watch views: Instead use new system called, groups, and it handles the layout for you

 

Strangely, interface animation not supported, have to pre-generate images and cycle through like a flip-book, similar to GIF


Apple's Human Interface Guidelines (HIG) provide solid user experience advice http://buff.ly/1F1Odor

Apple's Design Resources download has PSDs w/ different layouts for both Watch sizes http://buff.ly/1qUSqSE

Apple's download PSDs also have mockups of UI controls, color and spacing guidelines, guidance on stroke widths

New font named, San Francisco, only for use in app interfaces for the Watch, not allowed elsewhere


Interface objects stack next to each other vertically and horizontally & can be in any order, but can't overlap

You cannot hide the page indicator dots http://buff.ly/16oEYCV

You cannot use other included iOS fonts. The only one available is System (San Francisco) http://buff.ly/1HPjxeM

HealthKit cannot be used in a WatchKit extension http://bit.ly/1zAuV9


API Capabilities

In Apple Dev Forums, FAQ for WatchKit // sensors, scrolling, watch faces, sound, IAP, NSUserDefaults http://buff.ly/1qw6x6l

 

Use mic for dictation, then use converted text to derive result from API, e.g. in-flight airline app "Where am I?" "30k feet"

 

No developer access for custom watch faces yet

 

No access to motion data or heart rate sensor yet


No hook for Digital Crown data yet. Scrolling content happens, but phone extension can't observe it

Not possible to play sounds on the Apple Watch yet. Though you could trigger a sound to play on the phone

If user's iPhone is unreachable, your app will not function. There is no way currently to cache information to keep it alive

No direct API access to the Taptic engine. However, you can cause a vibration by sending a push notification


Overviews

Video overview from Apple, Getting Started with WatchKit (30 mins) http://bit.ly/apple-watchkit-video

 

Team from @rwenderlich provides an overview of the WatchKit capabilities, architecture, and features http://buff.ly/1zlcOmp

 

Meetup event walkthrough to make a simple "Hello World" app in WatchKit with Xcode http://bit.ly/hello-watchkit-event

 

WatchKit Bootcamp, full day, in Silicon Valley, to learn app+extension, glances, notifications, API data, animations http://bit.ly/watchkit-bootcamp-sv


Developing: updates will come with information as it is uncovered

What questions do you have about WatchKit development? Let us know in the comments. Also, you may want to check out Tips for Designers.

Xcode 6.2 includes the iOS 8.2 SDK, which includes the WatchKit framework for developing apps for Apple Watch.
Tools support for WatchKit includes:
• Design tools for building Watch interfaces, glances, and notifications
• Debugging and profiling support
• Watch support in iOS Simulator for testing apps, glances, and notifications
— Xcode 6.2 Release Notes
With the iOS 8.2 beta SDK, developers can now start using WatchKit to create breakthrough new apps, Glances and actionable notifications designed for the innovative Apple Watch interface and work with new technologies such as Force Touch, Digital Crown and Taptic Engine.
— Philip Schiller, Apple’s senior vice president of Worldwide Marketing