Watchos: - Principles - Practices

Watchos: - Principles - Practices

Independent watchOS: - principles - practices Vadim Drobinin | @valzevul Independent apps @valzevul / drobinin.com 2 Independent apps. Just put a checkmark? @valzevul / drobinin.com 3 Independent apps @valzevul / drobinin.com 4 Questions? drobinin.com | @valzevul Independent apps. Just put a checkmark? Think different. @valzevul / drobinin.com 6 Agenda @valzevul / drobinin.com 7 Agenda — Back to the roots @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 — watchOS 6 @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 — watchOS 6 — Principles @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 — watchOS 6 — Principles — Best practices @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 — watchOS 6 — Principles — Best practices — Watch App Store @valzevul / drobinin.com 7 Agenda — Back to the roots — watchOS 1..<6 — watchOS 6 — Principles — Best practices — Watch App Store — Summary @valzevul / drobinin.com 7 https://paleotronic.com/2019/09/28/from-pocket-computers-to-palmtops-an-early-history-of-mobile-telecomputing/ 8 Back to the roots @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock — 1975: calculator wristwatch @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock — 1975: calculator wristwatch — 1984: The Organiser @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock — 1975: calculator wristwatch — 1984: The Organiser — 2002: bluetooth headset @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock — 1975: calculator wristwatch — 1984: The Organiser — 2002: bluetooth headset — 2006-2013: Nike+, Fitbit, Google Glass @valzevul / drobinin.com 9 Back to the roots — 13th century: eyeglasses — 16th century: wearable clocks — 1960s: "Beat the Dealer" clock — 1975: calculator wristwatch — 1984: The Organiser — 2002: bluetooth headset — 2006-2013: Nike+, Fitbit, Google Glass — 2014: Apple Watch @valzevul / drobinin.com 9 Back to the roots 10 Back to the roots — PDAs 10 Back to the roots — PDAs — Smartphones 10 Back to the roots — PDAs — Smartphones — Wearables 10 watchOS 1..<6 Name Apple Watch Purpose and/or Tell time, track Function fitness Beneficial Promote Effect(s) health awareness Harmful Potentially Effect(s) distracting @valzevul / drobinin.com 11 © apple.com 12 watchOS 6 @valzevul / drobinin.com 13 watchOS 6 — Dedicated App Store @valzevul / drobinin.com 13 watchOS 6 — Dedicated App Store — New APIs for developers @valzevul / drobinin.com 13 watchOS 6 — Dedicated App Store — New APIs for developers — Software Updates without iPhone @valzevul / drobinin.com 13 watchOS 6 — Dedicated App Store — New APIs for developers — Software Updates without iPhone — New watch faces, Noise app @valzevul / drobinin.com 13 watchOS 6 — Dedicated App Store — New APIs for developers — Software Updates without iPhone — New watch faces, Noise app — Cycle Tracking app, Activity Trends @valzevul / drobinin.com 13 New APIs for developers @valzevul / drobinin.com 14 New APIs for developers — Independent apps @valzevul / drobinin.com 14 New APIs for developers — Independent apps — Extended Runtime @valzevul / drobinin.com 14 New APIs for developers — Independent apps — Extended Runtime — Streaming audio API @valzevul / drobinin.com 14 New APIs for developers — Independent apps — Extended Runtime — Streaming audio API — Sign-in with Apple @valzevul / drobinin.com 14 New APIs for developers — Independent apps — Extended Runtime — Streaming audio API — Sign-in with Apple — Core ML and the Neural Engine @valzevul / drobinin.com 14 Extended Runtime @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care — Mindfulness @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care — Mindfulness — Physical Therapy @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care — Mindfulness — Physical Therapy — Health Monitoring @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care — Mindfulness — Physical Therapy — Health Monitoring — Alarm @valzevul / drobinin.com 16 Extended Runtime — Provide runtime to complete targeted tasks — Self Care — Mindfulness — Physical Therapy — Health Monitoring — Alarm — Preserve battery @valzevul / drobinin.com 16 Extended Runtime @valzevul / drobinin.com 17 Extended Runtime — For non-workout activities @valzevul / drobinin.com 17 Extended Runtime — For non-workout activities — Move and Exercise rings not affected @valzevul / drobinin.com 17 Extended Runtime — For non-workout activities — Move and Exercise rings not affected — Heart rate sensor off by default @valzevul / drobinin.com 17 Extended Runtime let runtimeSession = WKExtendedRuntimeSession() // Must be called while app is active runtimeSession.delegate = self runtimeSession.start() runtimeSession.invalidate() @valzevul / drobinin.com 18 Extended Runtime let runtimeSession = WKExtendedRuntimeSession() // Must be called while app is active runtimeSession.delegate = self runtimeSession.start() runtimeSession.invalidate() @valzevul / drobinin.com 18 Extended Runtime let runtimeSession = WKExtendedRuntimeSession() // Must be called while app is active runtimeSession.delegate = self runtimeSession.start() runtimeSession.invalidate() @valzevul / drobinin.com 18 Streaming audio API @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) — Custom audio protocols @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) — Custom audio protocols — Network.framework @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) — Custom audio protocols — Network.framework — URLSessionStreamingTask from URLSession @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) — Custom audio protocols — Network.framework — URLSessionStreamingTask from URLSession — URLSessionWebSocketTask (new in iOS 13 and watchOS 6) @valzevul / drobinin.com 19 Streaming audio API — HLS (via AVQueuePlayer) — Custom audio protocols — Network.framework — URLSessionStreamingTask from URLSession — URLSessionWebSocketTask (new in iOS 13 and watchOS 6) — AVPlayer and AVQueuePlayer @valzevul / drobinin.com 19 Sign-in with Apple @valzevul / drobinin.com 20 Sign-in with Apple — Use Sign-in with Apple: @valzevul / drobinin.com 20 Sign-in with Apple — Use Sign-in with Apple: — WKInterfaceAuthorizationAppleIDButton @valzevul / drobinin.com 20 Sign-in with Apple — Use Sign-in with Apple: — WKInterfaceAuthorizationAppleIDButton — AuthenticationServices.framework @valzevul / drobinin.com 20 Sign-in with Apple — Use Sign-in with Apple: — WKInterfaceAuthorizationAppleIDButton — AuthenticationServices.framework — Create an app without user accounts @valzevul / drobinin.com 20 Sign-in with Apple — Use Sign-in with Apple: — WKInterfaceAuthorizationAppleIDButton — AuthenticationServices.framework — Create an app without user accounts — Create custom form @valzevul / drobinin.com 20 Core ML and the Neural Engine @valzevul / drobinin.com 21 Core ML and the Neural Engine — SoundAnalysis.framework "Use the SoundAnalysis framework to analyze audio and recognize it as a particular type, such as laughter or applause" @valzevul / drobinin.com 21 Core ML and the Neural Engine — SoundAnalysis.framework "Use the SoundAnalysis framework to analyze audio and recognize it as a particular type, such as laughter or applause" — MLUpdateTask et al "A task that updates a model with additional training data" @valzevul / drobinin.com 21 22 Principles @valzevul / drobinin.com 23 ! Lightweight interactions @valzevul / drobinin.com 24 ! Holistic design @valzevul / drobinin.com 25 ! Personal communication @valzevul / drobinin.com 26 Glanceable @valzevul / drobinin.com 27 Glanceable — readiliy available information @valzevul / drobinin.com 27 Glanceable — readiliy available information — no distractions @valzevul / drobinin.com 27 Glanceable — readiliy available information — no distractions — up-to-date snapshots @valzevul / drobinin.com 27 Glanceable — readiliy available information — no distractions — up-to-date snapshots — provides a complication @valzevul / drobinin.com 27 Glanceable — readiliy available information — no distractions — up-to-date snapshots — provides a complication — a custom notification interface @valzevul / drobinin.com 27 Actionable @valzevul / drobinin.com 28 Actionable — mindful of the information @valzevul / drobinin.com 28 Actionable — mindful of the information — what’s onscreen is always current and relevant @valzevul / drobinin.com 28 Actionable

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    171 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us