focus on tvos

27
Focus on tvOS October 13th, 2015 Séraphin Hochart - @nsphin

Upload: seraphin-hochart

Post on 13-Apr-2017

504 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Focus on tvOS

Focus on tvOS

October 13th, 2015 Séraphin Hochart - @nsphin

Page 2: Focus on tvOS

Where do we start? 📺

Page 3: Focus on tvOS

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

Page 4: Focus on tvOS

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

Page 5: Focus on tvOS

2 ways of building

• TVML

• tvOS

Page 6: Focus on tvOS

Example : Gammes for iOS

Page 7: Focus on tvOS

Things that su.. to keep in mind

💩

Page 8: Focus on tvOS

Xcode

Page 9: Focus on tvOS

Few things• No microphone access

• Bitcode only

• Universal apps. 1 price.

• Fixed screen size… for now

Page 10: Focus on tvOS

Local storage

• NSUserDefaults : 500kb of data max.

• What about filesystem? CoreData?

• 200Mb limit per app // TODO : to confirm

Page 11: Focus on tvOS

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

Page 12: Focus on tvOS

Focus in a “cursorless” world ✏

Page 13: Focus on tvOS
Page 14: Focus on tvOS
Page 15: Focus on tvOS
Page 16: Focus on tvOS

🚫 Mistake #1 : You are not on a touch screen

Page 17: Focus on tvOS

🚫 Mistake #2: Diagonal navigation

Page 18: Focus on tvOS

🚫 Mistake #3: Don’t put your inputs too

close to each other

Page 19: Focus on tvOS

Space your inputs

Page 20: Focus on tvOS

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…

Page 21: Focus on tvOS

Last resort : code

1. override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {

2. preferredFocusedView / nextFocusedView

3. Create UIFocusGuide()

Page 22: Focus on tvOS
Page 23: Focus on tvOS

// TODO : Attempt to do a live demo

Page 24: Focus on tvOS
Page 25: Focus on tvOS
Page 26: Focus on tvOS