Cet article constitue un guide sur le processus de mise à jour des application Firefox OS.
Vue d'ensemble de l'implémentation
Types d'applications
Il existe de base trois catégories d'applications qui peuvent être mises à jour en utilisant ce mécanisme :
- Applications centrales
- Les applications centrales (celles qui sont livrées comme faisant partie du système Firefox OS de base, comme Téléphone) sont empaquetées, certifiées, pré-installées et non supprimables. Elles ne peuvent être mises à jour que lors de la mise à niveau du système complet ou d'une mise à jour des couches Gonk et Gaia.
- Applications installées par l'utilisateur
- Les applications installées par l'utilisateur sont soit empaquetées, soit hébergées. La politique de mise à jour est le principal sujet de cet article.
- Applications tierces pré-installées
- Ces applications sont pré-installées par l'opérateur ou le fabricant, mais ne font pas partie du cœur du système d'exploitation de la plate-forme. Leur mise à jour est soumise aux mêmes règles et conventions que pour les applications installées par l'utilisateur.
Suppositions concernant les utilisateurs
Pour au moins les premières versions de Firefox OS, les hypothèses suivantes sont prises en compte à propos des utilisateurs :
- Les transferts de données sont lents, onéreux, et intentionnellement limités ; en d'autres termes, nous partons du principe que l'utilisateur dispose d'une connexion de données lente et que la quantité de trafic autorisée chaque mois est limitée.
- Nous supposons que l'utilisateur n'a que rarement ou pas du tout accès au WiFi ; la plupart des mises à jour seront effectuées via la connexion de données cellulaires.
- Les appareils sont rarement en itinérance.
- Les utilisateurs laissent le service de données mobiles désactivé par défaut, ils ne l'activent que pour réaliser certaines transactions.
- Les utilisateurs possèdent et utilisent plusieurs cartes SIM.
Toutes ces conditions utilisateurs sont répandues dans beaucoup de pays, il paraît donc juste de faire de telles hypothèses. Notre objectif est d'essayer d'optimiser l'expérience utilisateur lors des mises à jour pour les personnes concernées par celles-ci. En général, ces suppositions n'auront pas d'impact négatif sur les utilisateurs qui disposent d'un accès WiFi rapide et pas cher.
Paramètres de conception technique
Cette section aborde quelques principes de conception pour l'implémentation des mises à jour d'applications dans Firefox OS :
- Pour l'instant, l'appareil va régulièrement consulter le Marketplace pour chercher des mises à jour ; nous évaluerons plus tard la possibilité pour les mises à jour d'être envoyées automatiquement.
- Le Marketplace connaîtra la version actuelle de chaque application.
- Les mises à jour peuvent être téléchargées et installées alors que la version actuelle de l'application est ouverte, et cela avec un faible risque de casser l'application en cours d'exécution.
Considérations pour les développeurs
Il y a plusieurs choses dont les développeurs doivent prendre en considération, compte-tenu du modèle de mise à jour des applications :
- Les développeurs Web sont habitués aux utilisateurs qui sont toujours sur la dernière version de leurs sites ; garder les applications à jour imite ce modèle.
- La sécurité est aussi améliorée lorsqu'il y a le plus possible d'utilisateurs à jour.
Expérience utilisateur
Principes de conception
Afin de bénéficier de la meilleure expérience utilisateur possible lors de la mise à jour des applications, quelques principes essentiels doivent être gardés à l'esprit :
- Les mises à jour doivent avoir un impact minimal sur l'utilisateur ; ne pas l'interrompre plus que nécessaire, ne pas nuire à sa vitesse de connexion, et ainsi de suite.
- Ne pas laisser à l'utilisateur la charge de mettre à jour ses applications.
- Minimiser les conséquences en cas d'échec de la mise à jour.
- Prendre en charge la compatibilité ascendante pour les utilisateurs qui ne peuvent pas mettre à jour leurs applications ou qui ne peuvent pas le faire souvent.
- Éviter de présenter aux utilisateurs des détails techniques qui ne sont pas nécessaires.
Types de mises à jour
Il existe trois types basiques de mise à jour :
- Manuel : individuel
- Une mise à jour d'une unique application, à l'initiative de l'utilisateur
- Manuel : lot
- Une mise à jour de plusieurs applications en une seule fois, à l'initiative de l'utilisateur
- Silencieuse
- Une mise à jour en arrière-plan, automatisée