Slide 1

Slide 1 text

Wish%List%for%WatchKit Developing*for*Apple*Watch Conrad'Stoll'+'@conradstoll'+'@mutualmobile

Slide 2

Slide 2 text

Agenda !"Working"with"WatchKit !"Q&A

Slide 3

Slide 3 text

We're%all%new%to%this Ask$ques(ons!

Slide 4

Slide 4 text

Apple%Watch%is%Awesome

Slide 5

Slide 5 text

It#hasn't#changed#my#life

Slide 6

Slide 6 text

But$it$has$changed$my#Phone's$life

Slide 7

Slide 7 text

Working(with(WatchKit

Slide 8

Slide 8 text

Example:)Run-me

Slide 9

Slide 9 text

Example:)Run-me)Glance

Slide 10

Slide 10 text

There's'not'much'code!

Slide 11

Slide 11 text

Extensions WatchKit(apps(are(extensions(of(iPhone(apps

Slide 12

Slide 12 text

Access%to%iPhone%App Data$and$sensors$from$the$iPhone

Slide 13

Slide 13 text

Wish%&!openParentApplica.on!

Slide 14

Slide 14 text

App#Groups Data$passed$between$shared$containers

Slide 15

Slide 15 text

MMWormhole h"p:/ /github.com/mutualmobile/mmwormhole

Slide 16

Slide 16 text

Wish%&!Easy!XPC Feels%like%there%should%be%a%first%party%solu3on

Slide 17

Slide 17 text

iPhone'Drives'Watch'UI Updates(via(Bluetooth

Slide 18

Slide 18 text

Wish%&!Performance!Tools Developers)need)tools)to)improve)performance

Slide 19

Slide 19 text

Wish%&!Na$ve!Apps Don't&require&the&iPhone

Slide 20

Slide 20 text

Wish%&!Gestures Double'tap,'swipe,'pan,'maybe'not'pinch?

Slide 21

Slide 21 text

View%Interface%Controllers Every&screen&is&backed&by&a&light&weight&interface&controller

Slide 22

Slide 22 text

Wish%&!Interface!Controller!Life! Cycle !"didAc'vate,"!"willDeac'vate

Slide 23

Slide 23 text

Wish%&!Presenta)on!Callbacks Naviga&on,*Modal*and*Menu

Slide 24

Slide 24 text

Storyboards Watch&app&UI&is&en.rely&defined&using&Storyboards

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Wish%&!Programa(c!Views Add#a#new#label#or#bu-on#programma1cally

Slide 27

Slide 27 text

Rela%ve'Layout Layout'based'on'dynamic'content'size,'rela4ve'margins'and' percentages

Slide 28

Slide 28 text

Groups Organiza(onal+and+structural+building+blocks

Slide 29

Slide 29 text

Labels A"ributed*text,*dynamic*type,*mul4line*text*layout

Slide 30

Slide 30 text

Wish%&!Text!A'achments Rich%Text%Layout

Slide 31

Slide 31 text

Wish%&!Data!Detectors Phone&Numbers URL$Handoff

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Wish%&!Marquee!Text Li#le&marching&le#ers Useful'for'long',tles

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Wish%&!Speaker!Access All#audio#running#through#iPhone

Slide 37

Slide 37 text

Images Asset%catalogues,%bundled%images,%dynamically%cached%images

Slide 38

Slide 38 text

Wish%&!Offline!Image!Caching Programma'cally+cache+images+to+the+watch+before+Watch+app+ launches

Slide 39

Slide 39 text

Image&Sequences Anima&ons!*...*sort*of

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Wish%&!Na$ve!Anima$ons

Slide 42

Slide 42 text

Bu#ons Pre$y&much&what&you'd&expect...

Slide 43

Slide 43 text

Wish%&!Tap!States

Slide 44

Slide 44 text

Maps Configurable,loca.on,and,pin,style

Slide 45

Slide 45 text

Wish%&!Map!Overlays Third&party&map&,les&would&be&nice

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

Wish%&!Interac)vity

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

Wish%&!Naviga'on

Slide 50

Slide 50 text

Switches,*Sliders,*Seperators,*oh*my! Fairly'niche'controls Helpful'when'you'need'them

Slide 51

Slide 51 text

Wish%&!Digital!Crown!Control

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

Wish%&!WKInterfacePicker

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

Wish%&!Tap%c!Engine No#access#to#generate#taps

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

Dates&and&Timers Brand&new&type&of&control Handles(date(and(*mer(math

Slide 58

Slide 58 text

Wish%&!UIDateView Bring&it&to&iOS!

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

Tables The$heart$and$soul$of$many$apps

Slide 61

Slide 61 text

Wish%&!Performance Reusable(cells,(batch(loading

Slide 62

Slide 62 text

So#what#can#you#build#with#all#this? Anything(you(can(build(with(legos!

Slide 63

Slide 63 text

A"Helicarrier!

Slide 64

Slide 64 text

Quick&Updates Contextual*no+fica+ons Glance'able)applica,ons

Slide 65

Slide 65 text

Glances Blank&canvas&interface&controller Quick&bits&of&informa0on

Slide 66

Slide 66 text

Wish%&!Interac)ve!Glances

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

No#fica#ons Very%customizable Richly'detailed Ac#onable

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

Wish%&!Back!to!iOS

Slide 71

Slide 71 text

If#you#could#have#any#bu0on#on#your# wrist,#what#would#it#be?

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

Remote&Controls Popular(ac*on(in(your(iPhone(app?

Slide 74

Slide 74 text

If#you#could#have#any#number#on# your#wrist,#what#would#it#show?

Slide 75

Slide 75 text

Wish%&!Third!Party!Complica1ons

Slide 76

Slide 76 text

No content

Slide 77

Slide 77 text

Wish%&!GoPro!Record!Bu,on

Slide 78

Slide 78 text

Wish%&!Nest!Home!Temperature

Slide 79

Slide 79 text

Wish%&!Third!Party!Weather!Apps

Slide 80

Slide 80 text

Wish%&!Bluetooth!Grill!Thermometer

Slide 81

Slide 81 text

Wish%&!Overcast!Playback!Time

Slide 82

Slide 82 text

Wish%&!Run%me!Time/Distance

Slide 83

Slide 83 text

Wish%&!HipChat!Unread!Messages

Slide 84

Slide 84 text

Wish%&!Next!Bus!or!Train!Time

Slide 85

Slide 85 text

Drum%Roll...

Slide 86

Slide 86 text

Wish%&!Watch!Faces Mickey'is'great... but$we$want$to$build$our$own.

Slide 87

Slide 87 text

Conclusion

Slide 88

Slide 88 text

WatchKit(is(pre-y(great Even%with%these%limita.ons Use$it!

Slide 89

Slide 89 text

Thanks! Conrad'Stoll @conradstoll+,+conradstoll.com