Doit on développer pour la Google TV ?

Ça y est la Google TV a démarré officiellement en France le 27 septembre, et elle soulève beaucoup d’interrogations quant à ses possibilités (différenciantes ou pas) et les nouvelles opportunités qui s’offrent à nous en tant que développeurs.

Le concept de la Google TV

Tout d’abord, contrairement à ce que son nom pourrait suggérer, la Google TV n’est pas une TV (au sens “hardware” du terme). Ne vous attendez donc pas à repartir avec une TV sous le bras, du moins pour le moment.

Il vaut mieux la voir au sens “software”, c’est à dire une norme que doivent suivre les terminaux de gestion de flux vidéo. Pour faire simple, ces terminaux tourneront obligatoirement sous l’OS phare de Google, j’ai nommé Android (tout du moins une version repackagée), et ils permettront l’accès de ce fait aux principaux services de Google.

Concrètement, cela laisse 2 possibilités.

Soit vous branchez un boitier Google TV entre votre box FAI (Fournisseur d’Accès à Internet) et votre TV actuelle. Ce qui est la solution la moins onéreuse et la seule possible pour le moment.

Soit vous achèterez (non encore disponible) une nouvelle TV intégrant directement la norme Google TV. En gros, une Smart TV avec l’OS Android par défaut.

Les 3 arguments phares (et officiels) par rapport à une Smart TV classique sont :

  • Présence du navigateur Chrome.
  • L’accès direct à YouTube.
  • L’intégration du Google Play Store.

Nous allons évoquer rapidement les 2 premiers, pour nous intéresser plus précisément au dernier point.

Chrome comme navigateur pour pouvoir aller surfer sur le web via sa TV

L’argument de pouvoir accéder au web via sa TV n’est en rien une exclusivité de la Google TV, beaucoup de FAI via leur “box” ou les Smart TV “classiques” proposent déjà ce service.

L’intérêt se limite finalement à améliorer l’expérience utilisateur via le navigateur Chrome ou via les périphériques hardware.

La télécommande du boitier “Google TV” Sony NSZ-GS7

YouTube veut s’imposer

Le voeu inavoué (et inavouable) de Google est bien de changer de paradigme sur la consommation audiovisuelle. Nous basculerons d’une consommation linéaire définie par les diffuseurs (aussi nombreux soient-ils) à une consommation “à la carte” par moteur de recherche.

Cela les diffuseurs l’ont bien compris (aussi bien aux USA, qu’en France) ; et ils freinent tous des 4 fers pour faire valoir leurs droits de diffusion, pour ne pas entrer dans une logique “YouTube, un bouquet TV pour les amener tous et dans les ténèbres les lier”.

Vaste sujet que je ne détaillerai pas plus puisqu’il ne s’agit pas là de l’objectif de cet article.

Inonder sa TV d’applications Android ?

Non, ce qui nous intéresse le plus, nous ; c’est de savoir ce qu’il est possible de développer comme application Android pour donner une tout autre dimension aux TV. Voici donc une rapide synthèse.

Je commence avec le lot (trop ?) important de mauvaises nouvelles :

  • Impossibilité de récupérer le flux vidéo.Ouch ! Là on vient d’éliminer au minimum 50% des applications qui auraient pu être intéressantes sur le Google Play.
  • Impossibilité de connaître la chaîne courante.Les applications contextuelles qui peuvent venir en soutien du visionnage ou tout simplement les statistiques utilisateurs sont à oublier.
  • Impossibilité d’utiliser le NDK (langage natif).C’est donc très limité pour sortir des applications avec des bonnes performances graphiques (exit les gros jeux).
  • Pas de bluetooth, de localisation, de NFC, etc.

Bon soyons honnête, ça laisse peu de place aux opportunités.

Il en existe quand même une, c’est la possibilité du “Second Screen App”. C’est à dire la possibilité d’interfacer d’autres terminaux Android directement avec la Google TV par le biais d’un socket.

Quand on sait qu’on peut lister les chaînes ou changer de chaîne, on imagine très vite son smartphone devenir la nouvelle télécommande interactive.

C’est l’application la plus évidente, mais il peut exister beaucoup d’autres usages très intéressants aussi bien dans le domaine grand public (avec les jeux par exemple), que dans l’entreprise (imaginez un scrum board affiché aux yeux de tous ou chaque membre interagit avec son smartphone, le rêve ?). Pour laisser travailler votre imagination, je vous conseille de regarder cette petite présentation : http://www.slideshare.net/preciousforever/patterns-for-multiscreen-strategies

Voilà, vous avez l’idée du siècle, super ! “Yapluka” la coder, alors que faut-il savoir ?

  • La version Android utilisée est la 3.1 ou la 3.2 uniquement pour le moment (ça dépend des terminaux).
  • La version Android est repackagée, en effet l’UI (User Interface) n’est pas la même sur une TV que sur un terminal mobile. Mais globalement cela reste de la programmation “classique” sous Android.
  • Le code n’est pas open source, et là je ne saurai dire s’il s’agit d’une bonne ou d’une mauvaise nouvelle. Pour les développeurs c’est une mauvaise nouvelle, il ne pourra pas y avoir de fix it / bidouille maison. Mais quand on voit toutes les surcouches constructeur ou opérateur sur les téléphones Android, ça va peut être en dissuader certains, ce qui n’est peut être pas plus mal pour les utilisateurs.
  • Le SDK est opérationnel uniquement sous Linux pour le moment !
  • Le “remote debugging” est possible.
  • Possibilité de choisir uniquement les terminaux TV dans le Google Play lors de la publication.

Après l’éternelle question sera de savoir si vous voulez développer en natif Android, en HTML5 ou en hybride. Il y a comme un air de déjà vu sous mobile, mais en amplifié.

Pour conclure, je dirai qu’il existe beaucoup d’incertitudes sur la pénétration de la Google TV dans le marché actuel. Si elle ouvre le champ des possibles sur “Second Screen App”, se lancer dans du développement natif est peut être prématuré.

Mieux vaut regarder du côté du HTML5 et du Responsive Web Design pour développer des applications durables dans le temps, et pourquoi pas du côté des WebSockets (http://en.wikipedia.org/wiki/WebSocket)) pour le côté “Second Screen App”.