Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wish List for WatchKit

Wish List for WatchKit

http://cocoaconf.com/austin-2015/sessions/Wish-List-for-WatchKit

Apple introduced WatchKit in November and developers have been abuzz building the first versions of their apps for the Apple Watch. WatchKit supports building interactive notifications, glances, extensions. WatchKit extensions are not as powerful as fully native apps can be on the Apple Watch, but they are still flexible enough to keep developers busy for the initial launch.

This talk will recap what we’ve been able to build using WatchKit and also take a look forward to what we hope to see in the native Apple Watch SDK expected to be introduced at WWDC. By now we’ve seen many examples of excellent WatchKit extensions. We’ll discuss some of the innovative techniques developers have found to build amazing experiences using this initial toolset, and how things may change with access to a native SDK.

The Apple Watch is the most personal computer that Apple has ever made and it’s going to require a change in our thinking about how we approach building personal software. We’ll be thinking about how to tailor our approach to software design towards these new devices and how we hope to build great experiences with access to things like the accelerometer, heart rate sensor, taptic engine, and digital crown.

213552b97093cd0aba5995051fe05a4d?s=128

Conrad Stoll

May 22, 2015
Tweet

Transcript

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

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

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

  4. Apple%Watch%is%Awesome

  5. It#hasn't#changed#my#life

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

  7. Working(with(WatchKit

  8. Example:)Run-me

  9. Example:)Run-me)Glance

  10. There's'not'much'code!

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

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

  13. Wish%&!openParentApplica.on!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  34. None
  35. None
  36. Wish%&!Speaker!Access All#audio#running#through#iPhone

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

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

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

  40. None
  41. Wish%&!Na$ve!Anima$ons

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

  43. Wish%&!Tap!States

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

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

  46. None
  47. Wish%&!Interac)vity

  48. None
  49. Wish%&!Naviga'on

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

  51. Wish%&!Digital!Crown!Control

  52. None
  53. Wish%&!WKInterfacePicker

  54. None
  55. Wish%&!Tap%c!Engine No#access#to#generate#taps

  56. None
  57. Dates&and&Timers Brand&new&type&of&control Handles(date(and(*mer(math

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

  59. None
  60. Tables The$heart$and$soul$of$many$apps

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

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

  63. A"Helicarrier!

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

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

  66. Wish%&!Interac)ve!Glances

  67. None
  68. No#fica#ons Very%customizable Richly'detailed Ac#onable

  69. None
  70. Wish%&!Back!to!iOS

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

  72. None
  73. Remote&Controls Popular(ac*on(in(your(iPhone(app?

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

  75. Wish%&!Third!Party!Complica1ons

  76. None
  77. Wish%&!GoPro!Record!Bu,on

  78. Wish%&!Nest!Home!Temperature

  79. Wish%&!Third!Party!Weather!Apps

  80. Wish%&!Bluetooth!Grill!Thermometer

  81. Wish%&!Overcast!Playback!Time

  82. Wish%&!Run%me!Time/Distance

  83. Wish%&!HipChat!Unread!Messages

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

  85. Drum%Roll...

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

  87. Conclusion

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

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