Sviluppo Android TV: i grandi schermi stanno arrivando, preparati!
Pubblicato: 2022-03-11Google vuole portare Android su qualsiasi cosa, dai telefoni e orologi, alle auto e ai televisori intelligenti. Prima di tutto, nell'interesse della piena divulgazione, devo dire che sono un po' di parte quando si tratta di piattaforme di smart TV, quindi togliamolo di mezzo. Penso che la maggior parte, se non tutte le piattaforme di smart TV sul mercato siano decisamente terribili, ma sono solo io. Google pensa di poter fare di meglio e sono propenso a credere che possa davvero fare di meglio, o almeno spero che possa farlo, sia come consumatore che come appassionato di tecnologia.
Allora, cos'è Android TV? Molte persone lo confondono con Google TV, una piattaforma defunta rilasciata nel 2010. È stato sviluppato da Google, Sony, Intel e Logitech, ma non ha mai preso piede. È stata ufficialmente sostituita da Android TV a metà del 2014 e questa nuova piattaforma è molto più interessante sia per i consumatori che per gli sviluppatori.
A differenza di Google TV, Android TV è molto più vicino all'Android standard. Funziona con Android 5.0 (almeno nella versione di lancio iniziale) e può essere utilizzato su nuovi televisori, nonché su dispositivi standalone. Questa è una buona notizia poiché Android TV finirà su box e stick Android TV economici, portando la stessa esperienza utente a milioni di vecchi televisori. In effetti, il primo dispositivo con Android TV non è affatto un televisore, è il Nexus Player di Google. Questo risolve anche una delle più grandi lamentele mosse in passato contro varie piattaforme di smart TV: la mancanza di coerenza. Android TV dovrebbe offrire un'esperienza utente quasi identica a tutti i dispositivi compatibili.
La rivoluzione non sarà trasmessa in televisione, sarà trasmessa in streaming
Per quanto riguarda le nuove funzionalità, Android TV introduce anche il supporto per Google Cast. Potresti avere familiarità con Google Cast dal Chromecast Stick. La tecnologia è già supportata da centinaia di app e servizi, con altri in arrivo. Google Cast consente ai dispositivi Android TV di ricevere contenuti in streaming da una vasta gamma di dispositivi. L'implementazione è semplice utilizzando l'API di Google Cast e troverai tutte le informazioni di cui hai bisogno sul sito di sviluppo di Google Cast.
Questo significa che Google vuole trasformare le compagnie via cavo in "tubi stupidi" e utilizzare semplicemente la loro larghezza di banda anziché i contenuti? Non proprio, ma tutto è possibile, soprattutto con il proliferare delle piattaforme di smart TV.
Tuttavia, lo streaming non è l'unica carta vincente di Google.
Android TV crea anche nuove opportunità per la comunicazione, i giochi, la domotica e molto altro. Android TV potrebbe diventare un hub per tutti i tipi di dispositivi connessi, con Android o altre piattaforme. Puoi usarlo per vedere chi c'è alla porta, regolare l'aria condizionata o il termostato collegato, magari anche sincronizzare le tue lampadine a LED RGB con la tua TV mentre guardi alcuni classici d'azione degli anni '80.
Certo, alcune di queste cose possono sembrare ingannevoli, ma Android TV non è per espedienti; non sarà una piattaforma di nicchia come Android Wear o Android Auto. Non molto tempo fa, solo gli appassionati acquistavano smart TV e smartphone, ma a questo punto i feature phone e le TV tradizionali sono quasi scomparsi. Android TV finirà sui televisori di milioni di case; non ci sono davvero dubbi al riguardo.
Questa è una buona notizia per gli sviluppatori Android poiché la base di utenti è destinata a crescere rapidamente, mitigando così il rischio di affrontare una nuova piattaforma per lo sviluppo di app per Android TV.
Android TV: cosa c'è sotto il cofano?
Per quanto riguarda l'hardware, vedremo schermi FHD standard Android (1080p) e UHD (3840x2160). C'è anche una buona possibilità che alcuni produttori portino anche Android TV su unità curve 21:9 in futuro, ma per il momento l'attenzione sarà rivolta ai pannelli 16:9. I progettisti dell'interfaccia utente devono tenerlo a mente.
Poiché è basato su Android 5.0 (livello API 21) e utilizza ART, la maggior parte dell'hardware Android TV sarà dotata di processori a 64 bit. Il Nexus Player è basato su un processore Intel Atom, molti dei prossimi Android TV sfoggeranno il processore MT5595 di MediaTek, mentre la console Shield di Nvidia, di cui ho già parlato in un post precedente, utilizza il processore Tegra X1. Le offerte System-on-Chip (SoC) di Intel e Nvidia si basano su core CPU a 64 bit, mentre MediaTek utilizza core Cortex-A17 e Cortex-A7 a 32 bit.
Tutto l'hardware Android TV dovrà supportare la decodifica HEVC e VP9 ed è probabile che la maggior parte di questi chip sia in grado di gestire diversi flussi non UHD contemporaneamente. Anche la distribuzione di contenuti UHD a 60 fotogrammi al secondo non dovrebbe essere un problema. È integrato anche il wireless veloce e dual-band, che fornisce una larghezza di banda sufficiente per gli stream UHD.
Le piattaforme hardware Android TV si baseranno su molti middleware e rispetteranno più standard di trasmissione per coprire ogni regione e mercato.
Non c'è niente di esotico nell'hardware e gli sviluppatori non hanno molto di cui preoccuparsi. Molto DNA di Android 5.0 garantisce una transizione graduale sul fronte software, ma ci sono alcune cose da tenere a mente.
Android diventa grande schermo
Cosa significa tutto questo per gli sviluppatori? Lo sviluppo di Android TV sembra semplice, ma una rapida occhiata alle specifiche non dipinge il quadro completo. Mentre molti sviluppatori e designer dovrebbero sentirsi come a casa, devono anche assicurarsi che gli utenti si sentano a casa: dopotutto, Android TV è progettato per il soggiorno.
Cominciamo con la buona notizia. La maggior parte dei dispositivi Android TV utilizzerà pannelli 16:9 in sole due risoluzioni, quindi molte cose saranno standardizzate. Ciò contribuirà a migliorare la coerenza e dovrebbe rendere il test un po' più semplice.
- Funzionando con un rapporto di aspetto, 16:9 (sebbene i dispositivi 21:9 potrebbero apparire in futuro).
- Progettando per due risoluzioni, FHD e UHD, solo la densità varia a seconda delle dimensioni dello schermo.
- Utilizzo di molti elementi dell'interfaccia utente standardizzati.
- Non c'è bisogno di pensare all'input tattile.
- Non molti sensori da gestire.
- L'efficienza energetica non è rilevante.
Tuttavia, lo sviluppo di app per Android TV comporta anche una serie di nuove sfide da affrontare. Poiché non è presente alcun input touch sulla TV stessa (sebbene tablet e telefoni possano essere utilizzati per l'input), dovremo gestire altri metodi di input come telecomandi, unità airmouse di terze parti, tastiere, controller di gioco e così via . Ci sono anche molte cose Android legacy che devono andare (ad esempio, non esiste la modalità verticale). Le variazioni di densità dei pixel sono molto maggiori, la mancanza di input touch potrebbe essere problematica per alcuni sviluppatori e così via.
Ecco alcune delle sfide:
- Supporto per più controller contemporaneamente.
- Supporto per diversi tipi di controller, ad esempio telecomando standard e controller di gioco.
- Pochi sensori a bordo.
- L'overscan potrebbe essere un problema su alcuni dispositivi.
- Densità di pixel molto diversa anche con la stessa risoluzione (i televisori sono disponibili in dimensioni molto maggiori rispetto a tablet e telefoni).
- Rimuovi gli elementi non necessari.
Diamo un'occhiata più da vicino ad alcuni di questi problemi. Poiché le Android TV verranno utilizzate come hub multimediali, è probabile che le persone vogliano utilizzare più di un controller su di esse. Alcuni potrebbero volere una tastiera Bluetooth, mentre altri potrebbero ottenere due controller di gioco per alcune azioni multiplayer. La buona notizia è che probabilmente non avrai bisogno di codice personalizzato per implementare il supporto per input di controller aggiuntivi poiché l'input standard del controller di gioco Android può essere utilizzato per l'interfaccia utente e app come i giochi. Tuttavia, potrebbe essere necessario indirizzare più di un dispositivo di input e, nel caso in cui sia necessario aggiungere il supporto per controller più esotici, potrebbero essere necessarie alcune modifiche.
La maggior parte delle TV Android verrà spedita con un pacchetto di sensori limitato. Perché dovresti aver bisogno del GPS su un televisore? Per questo è necessario disabilitare il supporto per le funzionalità hardware non disponibili sui dispositivi TV. Ci sono molte informazioni dettagliate su come sistemare tutto; in pratica, segnala semplicemente i sensori non supportati come falsi e il gioco è fatto.
Devi anche esaminare il manifest dell'app Android e verificare se escluderà o meno i dispositivi Android TV a causa della loro mancanza di funzionalità.
Ad esempio, l'autorizzazione ACCESS_FINE_LOCATION
standard utilizza il GPS. Poiché non è presente alcun GPS a bordo, il manifest dell'app dovrebbe includere quanto segue:

<uses-feature android:name="android.hardware.gps" android:required="false"/>
Pertanto, dovrai modificare ACCESS_FINE_LOCATION
in ACCESS_COARSE_LOCATION
. Lo stesso principio si applica ad altri aspetti della piattaforma e i dettagli sono disponibili su Google. Un'altra risorsa che potresti voler controllare è la Guida per gli sviluppatori di Android TV di Nvidia.
Nel caso in cui stai pensando di riutilizzare cose da altri progetti Android, vale la pena tenerlo a mente, altrimenti potresti ritrovarti con un'app che tenta di aprire un menu in modalità verticale su una TV, il che mi porta al punto successivo:
Interfaccia utente di Android TV da 10 piedi
Sebbene Android TV sia fondamentalmente Android 5.0, l'interfaccia utente ha poco a che fare con Android di serie come lo conosciamo. Le piattaforme Smart TV utilizzano un approccio "10 piedi", il che significa sostanzialmente che l'esperienza dell'utente è ottimizzata per 10 piedi dallo schermo, circa dieci volte di più rispetto a uno smartphone o un tablet.
Il concetto "10 piedi" è antecedente alle piattaforme smart TV. È stato utilizzato anche nel design OSD (On-Screen-Display), nel design del dashboard della console di gioco ed era solitamente impiegato dai principali sistemi surround 5.1. Quindi cosa significa per l'esperienza utente e la progettazione dell'interfaccia utente?
Bene, i progettisti devono assicurarsi che tutto appaia a posto su una gamma di pannelli diversi, dai televisori economici da 37 pollici 1080p ai mostri da 65 pollici o 75 pollici in UHD. L'interfaccia utente deve funzionare bene in FHD e UHD, indipendentemente dalle dimensioni dello schermo. Mentre abbiamo a che fare solo con un paio di risoluzioni diverse, la densità dei pixel (pixel per pollice o ppi) varia notevolmente.
Ecco alcuni esempi:
- Pannello UHD da 42 pollici – 105ppi
- Pannello FHD da 42 pollici – 52ppi
- Pannello UHD da 50 pollici – 88ppi
- Pannello FHD da 50 pollici – 44ppi
- Pannello UHD da 55 pollici – 80ppi
- Pannello UHD da 65 pollici – 67ppi
- Pannello FHD da 32 pollici – 69ppi
È improbabile che vedremo pannelli UHD su Android TV con dimensioni del pannello comprese tra 30 e 40 pollici, ma dovremmo vedere molti dispositivi FHD che funzionano in questo segmento. Molti consumatori semplicemente usciranno e acquisteranno nuovi box TV Android invece di sostituire i televisori 1080p esistenti. Sebbene molti produttori di TV inizieranno a utilizzare pannelli 4K su modelli da 40 pollici in su, gli sviluppatori devono ancora pensare al supporto legacy.
Questo è anche il motivo per cui dobbiamo tenere a mente che l'overscan può essere un problema. Molti televisori dotati di set top box Android TV perderanno un po' di spazio sullo schermo verso la cornice. Chiunque abbia familiarità con i video sa già un paio di cose sui frame sicuri (sicura per l'azione e sicura per il titolo); questo è un ritorno ai giorni dei televisori CRT a definizione standard, ma è comunque una buona idea stare sul sicuro ed evitare di posizionare elementi importanti dell'interfaccia utente vicino al bordo. Cerca di mantenere almeno il 5 percento dell'area libera da qualsiasi contenuto importante e utilizza un margine ancora più sicuro per elementi dell'interfaccia utente davvero importanti; Il 10 percento dovrebbe fare il trucco, ma se vuoi essere completamente al sicuro, puoi andare con ancora di più.
Tieni presente che questo particolare problema non esiste su tablet o smartphone. Fortunatamente, ciò non significa che Google non lo abbia preso in considerazione, quindi il supporto per l'overscan è integrato in Android TV (e in effetti in altre versioni di Android dopo la 4.2.x). Nel caso in cui stai pensando di utilizzare OpenGL, devi anche affrontare questo problema.
È improbabile che l'overscan sia un problema sui veri TV Android, ma potrebbe essere un grosso problema sulle soluzioni Android TV aftermarket. Non tutti vogliono aggiornare la propria TV ogni pochi anni e molte persone riceveranno invece un dongle HDMI da $ 50 con Android TV. Questo è il motivo per cui è una buona idea includere le opzioni di configurazione dell'overscan nell'app Android TV.
Un'altra buona idea è quella di controllare le best practice di Google relative al supporto per più schermi. È semplice ma importante; è probabile che dovrai includere ulteriori "schermi compatibili" nel manifest dell'app.
Miglioramento dell'esperienza utente di Android TV
L'esperienza utente è sempre stata un problema per le piattaforme smart TV. Android TV è Google TV fatto bene e dovrebbe migliorare l'UX, ma non pronto all'uso; gli sviluppatori dovranno fare molto del lavoro pesante.
La buona notizia è che i televisori non richiedono molto input e coinvolgimento degli utenti; qualsiasi pantofola lo confermerà! I produttori di TV hanno già passato anni a perfezionare le loro interfacce smart TV e a migliorare l'esperienza utente con interfacce utente più veloci ed eleganti e nuovo hardware, come i nuovi telecomandi ricchi di sensori. Le cose stavano andando bene anche senza Android TV, ma la nuova piattaforma di Google apre più opportunità.
Ho già detto di essere un po' scettico sulla smart TV, ma devo ammettere che sono stati fatti molti progressi negli ultimi due anni. Tuttavia, Android TV non serve solo a migliorare il modo in cui le persone consumano i contenuti TV, ma anche a cambiare il modo in cui lo fanno.
Se sei il tipo di utente a cui piace guardare un sacco di sport e politica in un attimo (come il mio papà in pensione e annoiato), UX è un ripensamento. Lo stesso vale per persone come me, che tengono la TV accesa in sottofondo, ascoltando notizie o musica come avrebbero potuto fare con un'antica radio a valvole. Tuttavia, il modo in cui molte persone consumano i contenuti video è cambiato drasticamente negli ultimi 10-15 anni, prima con i videoregistratori digitali, ora con lo streaming. Gli adolescenti di oggi crescono circondati da dispositivi connessi e si aspettano ancora di più da una TV rispetto ai millennial.
L'obiettivo finale di qualsiasi piattaforma di smart TV, che finora si è rivelata sfuggente, è creare una nuova esperienza utente, combinando la TV tradizionale con video on-demand e altri tipi di contenuti, nel modo più fluido possibile. Personalmente, penso che nessuno l'abbia fatto bene finora. Google potrebbe, ma resta da vedere. Molto dipenderà da sviluppatori di terze parti. Dovranno seguire una serie di linee guida per offrire una buona UX su tutti i tipi di hardware Android TV, dai dongle HDMI da $ 50 ai televisori di fascia alta da $ 5.000.
Dal momento che non sono un fan delle attuali piattaforme di smart TV, elencare ciò che è necessario fare per creare un'esperienza utente perfetta potrebbe essere a dir poco presuntuoso. Tuttavia, gli esperti di UI e UX tendono a concordare su alcuni punti:
- Le Smart TV sono ancora solo TV : vengono utilizzate principalmente per consumare contenuti video, non per fare un milione di cose diverse che già facciamo sui nostri cellulari e tablet.
- I metodi di input devono migliorare : i telecomandi si sono evoluti, ma non sono ancora abbastanza buoni per un'interfaccia utente complessa. L'uso di smartphone e tablet come metodi di input alternativi è ancora considerato geek e deve essere più semplice.
- Controllo dei gesti : potrebbe essere implementato in alcune situazioni, ma poiché abbiamo a che fare con un'esperienza utente passiva, non cambierà molto.
- Utenti multipli : i televisori non sono dispositivi personali nella maggior parte delle famiglie, quindi dimentica di accedere, infastidirà solo gli utenti.
- Se non è rotto, non aggiustarlo : la radio e la TV tradizionali offrono comunque un'esperienza utente molto piacevole grazie alla loro semplicità e praticità, quindi non è necessario reinventare la ruota.
- Mantieni tutto semplice : cerca di ridurre al minimo l'interazione dell'utente, con il minor numero di clic possibile.
- Scegli un'interfaccia utente pulita e minimale : solo perché hai un sacco di proprietà immobiliari con cui giocare, non devi usarle tutte.
In definitiva, gli sviluppatori di Android TV possono fare solo così tanto; resta ai partner di Google e Android TV la possibilità di creare un'esperienza utente eccellente. Gli sviluppatori di terze parti si baseranno semplicemente su di esso, espanderanno le funzionalità garantendo al contempo un'esperienza coerente su più dispositivi. Se la piattaforma sottostante soffre di problemi iniziali o incongruenze, gli sviluppatori devono fare la loro magia con le mani legate dietro la schiena.