Cet article est une traduction libre de l’article Extending Stadia’s app architecture to more devices publié par Matt Joseph, Engineering Manager chez Google Stadia sur le blog de Stadia, le 02 août 2022.
Avec l’extension de Stadia vers de nouveaux appareils de salon, tels que les téléviseurs intelligents LG et Samsung, les ingénieurs de Stadia ont voulu faire une brève mise à jour de l’architecture de leur application de salon. C’est parti !
Vue d’ensemble
De manière similaire à l’architecture de l’application Stadia sur Android TV, les ingénieurs de Google ont réutilisé et adapté de nombreux composants avec lesquels les joueurs interagissent depuis des années. Cela inclut :
- L’application Web Stadia TV – une application web construite à l’aide de technologies comme Dart, HTML et CSS, conçue pour les appareils de salon.
- Cobalt – une « plateforme très performante et peu encombrante qui met en œuvre un sous-ensemble de HTML5/CSS/JS pour exécuter des applications, notamment l’application YouTube TV ».
- Starboard – « La couche de portage de Cobalt et d’abstraction du système d’exploitation ».
- Le client de streaming Stadia – la pile de streaming native qui s’intègre aux API de transport de données, d’audio et de vidéo haute performance pour offrir un gameplay de haute qualité.
Voici une vue de ce à quoi ressemble l’architecture lorsque ces pièces sont assemblées :
Défis et opportunités
En raison de cette pile technologique unique, l’équipe Stadia a rencontré des défis et des opportunités singulières en cours de route. En voici quelques exemples :
Des plateformes uniques
Chaque système d’exploitation et environnement de télévision sur lequel les ingénieur de Stadia travaillent présente des caractéristiques et des capacités uniques. Les appareils de salon sont des dispositifs intégrés dont le fonctionnement et l’utilisation sont très différents de ceux des téléphones mobiles ou des navigateurs Web de bureau. Par conséquent, l’équipe Stadia doit travailler en étroite collaboration avec chaque opérateur de plate-forme pour en comprendre ses capacités.
Le client de streaming Stadia utilise des capacités de lecture vidéo et audio uniques. Non seulement ces capacités sont exposées différemment sur chaque système d’exploitation, mais elles peuvent également présenter des limitations spécifiques à la plate-forme. Par exemple, le contrôle fin du décodage vidéo varie selon la plate-forme, tout comme les capacités de mixage audio.
L’adaptation à chaque plate-forme unique nécessite donc des partenariats solides avec des collaborateurs internes et externes.
Implémentation multiple
Selon la plate-forme, différentes équipes, voire différentes entreprises, peuvent être responsables de la mise en œuvre de certaines parties de la pile.
- Les implémentations de référence pour Starboard (par exemple, Linux, Android) – Google
- Le client de streaming Stadia – Google
- L’application web Stadia TV – Google
- Systèmes d’exploitation TV – divers tierce parties
- Les implémentations de Starboard – diverses tierces parties
Cela signifie qu’il faut une coordination sur plusieurs trimestres et plusieurs années pour s’assurer que chaque composant est prêt à fonctionner et qu’il répond aux exigences des éléments de la pile supérieure.
Des tests rigoureux
Les nouvelles versions de l’application Web Stadia TV doivent être testées sur toutes les plateformes prises en charge afin de garantir une expérience de haute qualité et d’éviter les régressions.
En outre, les nouvelles versions des composants de niveau inférieur (par exemple, le client de streaming Stadia, Cobalt) doivent être validées avec une version publique de l’application Web Stadia TV pour éviter les régressions. Selon la plateforme, cela peut prendre plusieurs formes. Par exemple, il peut s’agir d’une nouvelle version de l’application Android (APK) sur Android TV et d’autres formats de paquets pour les plateformes tierces.
Réutilisation et prochaines étapes
La réutilisation de certaines parties de la pile technologique de Stadia a été la clé de la capacité de Google à élargir l’ouverture de Stadia à de nouveaux appareils de salon. Les ingénieurs de Moutain View continuent d’utiliser Dart pour partager des parties essentielles de la logique de gameplay entre toutes les plateformes de salon et Stadia pour Android. L’investissement commun dans Cobalt et les partenariats solides avec d’autres équipes de Google, comme YouTube, leur ont permis de s’étendre à de nouvelles plateformes.
Comme il a été mentionné dans un précédent billet, le passage à l’échelle est un facteur déterminant dans un grand nombre de ces décisions architecturales. L’approche technique choisie pour Android TV a finalement ouvert la voie à l’extension de Stadia vers deux autres plateformes, et c’est avec cette même approche en matière de portabilité que les effort de Google se poursuivent pour étendre le périmètre d’utilisation de Stadia à l’avenir.
Ce travail est mené en collaboration avec de nombreuses personnes au sein des équipes du projet Stadia et de Google, ainsi qu’avec de nombreuses personnes d’entreprises tierces.