Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Focus on tvOS

557 vues

Publié le

My talk for Cocoaheads Montreal about tvOS's focus engine and some best UX practices on the new Apple TV's cursorless environment.

Publié dans : Ingénierie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Focus on tvOS

  1. 1. Focus on tvOS October 13th, 2015 Séraphin Hochart - @nsphin
  2. 2. Where do we start? 📺
  3. 3. Instagram & Apple Watch • Computers are made to be used for hours • Phones are made to be used for minutes • Watches are made to be used for seconds
  4. 4. Instagram & Apple Watch • Computers are made to be used for hours • Tvs are made to be used for a few hours, but browsing should be minutes • Phones are made to be used for minutes • Watches are made to be used for seconds
  5. 5. 2 ways of building • TVML • tvOS
  6. 6. Example : Gammes for iOS
  7. 7. Things that su.. to keep in mind 💩
  8. 8. Xcode
  9. 9. Few things • No microphone access • Bitcode only • Universal apps. 1 price. • Fixed screen size… for now
  10. 10. Local storage • NSUserDefaults : 500kb of data max. • What about filesystem? CoreData? • 200Mb limit per app // TODO : to confirm
  11. 11. Meh “There is no persistent local storage for apps on Apple TV. This means that every app developed for the new Apple TV must be able to store data in iCloud and retrieve it in a way that provides a great customer experience” … “Yes, all local storage can be purged before the next time a user opens the app.” - Some Apple guy on developer forums
  12. 12. Focus in a “cursorless” world ✏
  13. 13. 🚫 Mistake #1 : You are not on a touch screen
  14. 14. 🚫 Mistake #2: Diagonal navigation
  15. 15. 🚫 Mistake #3: Don’t put your inputs too close to each other
  16. 16. Space your inputs
  17. 17. What should we do? 1. Netflix, Airbnb : 1 way navigation. 2. Space your inputs 3. Build a UI for easy focus 4. If all else fails…
  18. 18. Last resort : code 1. override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) { 2. preferredFocusedView / nextFocusedView 3. Create UIFocusGuide()
  19. 19. // TODO : Attempt to do a live demo
  20. 20. Thanks! phin@breather.com @nsphin

×