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

tvOS Perks and Pitfalls

tvOS Perks and Pitfalls

In this talk Axel will discuss the first steps in the new tvOS environment. Sometimes it feels like a warm iOS blanket, othertimes you get these weird error messages and of course you have to deal with the necessary UX changes.

By Axel Roest. Original slides: http://www.slideshare.net/axelroest/tvos-perks-and-pitfalls

Powered by http://xebia.com

B94d88549eaca9755b9346a0383b41bb?s=128

do{iOS} conference

November 09, 2015
Tweet

Transcript

  1. tvOS Perks and Pitfalls Axel Roest The App Academy do{iOS}

    2015
  2. whoami

  3. whoami

  4. Happy We got one of the $1 dev. kits

  5. Happy We got one of the $1 dev. kits

  6. Fun

  7. images © ifixit Dual-core 64-bit Apple A8 chip 2 GB

    RAM 32 or 64 GB Flash
  8. Rumours „Oh, it’s just web apps”

  9. 2 different technologies

  10. TVML TVJS 2 different technologies iOS traditional code

  11. TVML TVJS 2 different technologies iOS traditional code

  12. Twofold opportunities • iOS devs can reuse their knowledge •

    web devs can reuse their js+xml knowledge
  13. Twofold opportunities • iOS devs can reuse their knowledge •

    web devs can reuse their js+xml knowledge Shhhh! Please don’t tell your web friends this!
  14. Anatomy of the Apple TV home screen

  15. top row TVContentItem TopShelf rest of apps

  16. top row TVContentItem TopShelf rest of apps

  17. top row TVContentItem TopShelf rest of apps in Focus

  18. None
  19. None
  20. un Focus ed

  21. un Focus ed

  22. Anatomy of an app Two targets: • TVTopShelfProvider ➔ [TVContentItem]

    • Your App ➔
  23. Anatomy of an app Two targets: • TVTopShelfProvider ➔ [TVContentItem]

    • Your App ➔
  24. tvOS

  25. diff iOS tvOS • No persistent storage ➔ iCloud only

    • 200 MB limit ➔ on-demand resources • Focus Engine • No specific iOS frameworks
  26. diff iOS tvOS • No persistent storage ➔ iCloud only

    • 200 MB limit ➔ on-demand resources • Focus Engine • No specific iOS frameworks – Contacts HealthKit CoreMotion Accounts
  27. diff iOS tvOS • No persistent storage ➔ iCloud only

    • 200 MB limit ➔ on-demand resources • Focus Engine • No specific iOS frameworks – Contacts HealthKit CoreMotion Accounts + TVServices TVMLKit
  28. Weirdly missing • HomeKit • MapKit • ReplayKit • VideoToolbox

  29. Weirdly missing • HomeKit • MapKit • ReplayKit • VideoToolbox

  30. why no Webkit?

  31. WebKit Alternatives • Create your own layoutengine (NetNewsWire) • Hack

    it for your own personal use
 https://github.com/jvanakker/tvOSBrowser
  32. code is easy • Add a tvos target • Add

    new UIViewControllers • Run
  33. ux redesign • UX is a whole new ballgame •

    Rethink interaction • No touch screen: less typing • new layered icons
  34. ux redesign • UX is a whole new ballgame •

    Rethink interaction • No touch screen: less typing • new layered icons
  35. Parallax Previewer

  36. Parallax Previewer

  37. • Difference LSR and LCR files • Creating in Xcode:

    drag & export • create LCR file using layerutil, which converts LSR to LCR. • LCRs can be used within UIImageviews • unfortunately, no reverse version of layerutil yet
  38. Gotchas w.r.t. icons you need 3 icon layers! no transparency

    in back layer
  39. Gotchas w.r.t. icons Large-AppIconScratch-.xcassets: The last image stack layer with

    content, "Back", must be a 
 fully opaque bitmap. The pixel at position (602, 475) has an alpha value of 26. Xcode compiler error: you need 3 icon layers! no transparency in back layer
  40. TVJS TVML

  41. TVML app • Client-Server • Written in ‘TVJS’, a javascript

    framework • AppDelegate contains URL • start TVApplicationController • Use standard web techniques for 
 deployment, analytics, A/B testing etc.
  42. TVML • you can now totally change an app after

    you went through the app approval phase. • ideal for existing web based content • Tons of standard TVML templates for e.g. alerts, lists, photo stacks
  43. None
  44. but wait! You can also put TVML applications inside UIViewControllers!

  45. pitfalls

  46. Remember to buy yet another USB cable

  47. Remote Simulator remote works, but not really well (But you

    can connect the Siri remote to the simulator!)
  48. Really easy to test TVML app python server however (due

    to caching?): for each new js tweak you need to reload the app from Xcode. Killing it doesn’t seem to work
  49. No local storage (!) apart from NSUserDefaults ➔ iCloud KVS

    (< 1MB) and CloudKit ➔ On-Demand Resources
  50. Asset placement and ease of use no handy keyboard

  51. None
  52. perks

  53. perks • iOS app ➔ tvOS • online content ➔

    TVML + TVJS
  54. So many toys, so little time

  55. The end axel@theappacademy.nl • @axello