develop apps for (apple) tv

41
DEVELOP APPS FOR (APPLE) TV Francesco Novelli

Upload: codemotion

Post on 14-Apr-2017

286 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: Develop apps for (Apple) TV

DEVELOP APPS FOR (APPLE) TV

Francesco Novelli

Page 2: Develop apps for (Apple) TV

FRANCESCO NOVELLI

• iOS Developer since 2009

• Web Developer (LAMP)

• Development Book Author

• BLINKAR employee

• Lovers

Page 3: Develop apps for (Apple) TV

Thanks to BLINKAR

www.blinkar.com

Page 4: Develop apps for (Apple) TV

AGENDA

• Apps vs. TV?

• Apple TV!

• tvOS SDK

• TVMLKit

• Design Principle

• Recap

Page 5: Develop apps for (Apple) TV
Page 6: Develop apps for (Apple) TV
Page 7: Develop apps for (Apple) TV

SMART TV!

Page 8: Develop apps for (Apple) TV
Page 9: Develop apps for (Apple) TV

NO!

Page 10: Develop apps for (Apple) TV
Page 11: Develop apps for (Apple) TV

Apple TV

Apple TV 2/3

Apple TV 4

2007

2010 2012

2015

Page 12: Develop apps for (Apple) TV

APPLE TV 4

• Nuovo OS, tvOS

• AppStore

• Nuovo Remote

• Siri

Page 13: Develop apps for (Apple) TV

TVOS• Semplice da controllare

• AppStore SOLO per TV

• SDK per sviluppatori

• Basato su iOS (e OSX)

• Game-platform

Page 14: Develop apps for (Apple) TV

SIRI REMOTE

• Touch Surface (with tap)

• Accelerometer

• Giroscope

• Microphone

• Tasti (menu, play)

Page 15: Develop apps for (Apple) TV

GAME CONTROLLER

• OPTIONAL

• Più tasti

• Utilizzabile anche per le interfacce

• Massimo di 2 controller (più il telecomando)

Page 16: Develop apps for (Apple) TV
Page 17: Develop apps for (Apple) TV

Frameworks On-demandResources Focus

Page 18: Develop apps for (Apple) TV

TVOS FRAMEWORKS• UIKIT

• Metal/OpenGL

• AVKit

• CoreLocation

• CoreImage

• CoreMedia

• ….

Page 19: Develop apps for (Apple) TV

NEW TVOS FRAMEWORKS

• TVMLJS

• TVMLKit

• TVServices

Page 20: Develop apps for (Apple) TV

TVSERVICES FRAMEWORK

• Top Shelf

• Utile per le prime 5 app (Dock)

• Media content

• Velocizzare apertura di contenuto

• Gestito da tvOS

Page 21: Develop apps for (Apple) TV

ON-DEMAND RESOURCES

• 200MB AppStore limit

• Tag bundle

• TV è sempre connessa

• Download interface

• Gestione automatica della cache

Page 22: Develop apps for (Apple) TV

ICLOUD STORAGE

• TV 32GB o 64GB

• iCloud KVS fino a 1MB

• CloudKit oltre 1MB

• Servizi cloud

• Evitare servizi con login (GDrive, Dropbox etc)

Page 23: Develop apps for (Apple) TV

FOCUS DRIVEN DESIGN

• Niente dita sullo schermo

• Indirect Manipulation

• Focus su un elemento prima del tap

• Far avvicinare l’elemento all’utente

• Parallax effect

Page 24: Develop apps for (Apple) TV
Page 25: Develop apps for (Apple) TV

FOCUS MODEL

• Standard UIKit Control

• Elementi grandi abbastanza

• Cambio focus fluido

• Rendere il Focus ovvio!!!

Page 26: Develop apps for (Apple) TV

PARALLAX EFFECT

• Parallax Previewer

• Parallax Exporter (per Photoshop)

• Effetto grafico integrato in UIKit

• Do not reinvent the wheel!

Page 27: Develop apps for (Apple) TV
Page 28: Develop apps for (Apple) TV
Page 29: Develop apps for (Apple) TV

A B C

Page 30: Develop apps for (Apple) TV

TVMLKIT

Page 31: Develop apps for (Apple) TV
Page 32: Develop apps for (Apple) TV

func application(application: UIApplication , didFinishLaunchingWithOptions launchOptions: [ NSObject : AnyObject ]?) -> Bool {

self.window = UIWindow(frame: UIScreen.mainScreen().bounds) let appControllerContext = TVApplicationControllerContext() let javascriptURL = NSURL(string: “https://sample.cloud/app.js“) appControllerContext.javaScriptApplicationURL = javascriptURL! if let options = launchOptions { for (kind, value) in options { if let kindStr = kind as? String { appControllerContext.launchOptions[kindStr] = value } } } self.appController = TVApplicationController(context: appControllerContext,

window: self.window, delegate: self) return true }

Page 33: Develop apps for (Apple) TV
Page 34: Develop apps for (Apple) TV
Page 35: Develop apps for (Apple) TV

TVML

• 1 TVML per View

• Template pronti (alert, catalog, compilation etc)

• HTML Style

• TVML Style (CSS)

Page 36: Develop apps for (Apple) TV

TVML: PROS AND CONS

• Easy

• Fast

• No ObjC

• No Swift

• Web

• No Flexibility

• No personalization

• Slow

• Network dependent

• No games

Page 37: Develop apps for (Apple) TV

DESIGN PRINCIPLES

• Connected

• Clear

• Immersive

Page 38: Develop apps for (Apple) TV

CONNECTED

• Utente e TV devono sentirsi vicini

• Gesture

• Parallax Effect!

Page 39: Develop apps for (Apple) TV

CLEAR• Mantenere app semplici

• Utenti devono usare le app in modo istintivo

• Menu Button torna SEMPRE indietro

• Semplice da leggere da lontano

• Nessuna gesture complicata

Page 40: Develop apps for (Apple) TV

IMMERSIVE

• Usare TUTTA la TV per il contenuto

• edge-to-edge artwork

• Meno elementi grafici possibili

Page 41: Develop apps for (Apple) TV

Thanks! Q&A TimeFrancesco Novelli [email protected]

@if9

http://www.9lli.it/francesco

www.blinkar.com