L’activation par défaut de la télémétrie dans Firefox Nightly et Aurora

Je vais vous parler d'une fonctionnalité de Firefox sur laquelle je travaille, et qui peut paraitre pour certains banale, ou sans grand intérêt, mais qui en réalité est incroyablement utile : l'envoi de données de performances, également appelée télémétrie. Tout d'abord, comme cette fonctionnalité est plutôt méconnue et n'est pas réellement visible pour l'utilisateur: la télémétrie, qu'est-ce que c'est ? Si l'on se réfère à Wikipédia,

« La télémétrie est une technologie qui permet la mesure à distance et la journalisation d'informations d'intérêt vers le concepteur du système ou un opérateur. »

Et dans le cas de Firefox cela se traduit par l'envoi de données concernant les performances, la configuration matérielle de la machine, la consommation mémoire, la réactivité, ainsi que la fréquence d'utilisation des fonctionnalités.

Cette fonctionnalité est, et restera, à activer manuellement par l'utilisateur dans Firefox, et Firefox Beta. Cela doit rester à l'utilisateur de choisir, c'est un point essentiel. En revanche, en ce qui concerne les versions de développement, Firefox Nightly et Firefox Aurora, nous considérons que les utilisateurs de ces versions peuvent être traités différemment, et donc avoir cette option activée par défaut. Mais rassurez-vous il n'est pas, et ne sera jamais question d'imposer quoi que ce soit aux utilisateurs: il reste évidement possible dans tous les cas de simplement décocher l'option « Envoyer les rapports de performance » dans l'onglet Avancé des options de Firefox.

En effet, dans les versions de développement, la télémétrie sera active à la création d'un nouveau profil, ainsi que pour les utilisateurs actuels qui n'ont encore fait aucun choix à ce sujet. Encore une fois, nous avons pris toutes les précautions nécessaires pour respecter le choix des utilisateurs. Par exemple les personnes l'ayant précédemment refusée, la garderont désactivée, et les préférences des versions de développement et des versions « grand public » seront indépendantes, c'est-à-dire qu'il sera possible, par exemple, sur un même profil, de l'activer lors de l'utilisation de Nightly, et de la désactiver lors de l'utilisation de Firefox. De plus, nous souhaitons que les utilisateurs soient au maximum conscients de cet envoi automatique, c'est pourquoi nous avons mis en place :

- Premièrement, un message explicatif accessible en permanence, dans la boite de dialogue « À propos de Firefox ». Il est déjà présent depuis plusieurs mois, alors que la fonctionnalité n'est pas encore activée par défaut (Ce fût ma toute première modification dans Firefox !)

- Deuxièmement, un bandeau informatif qui s'affichera en haut de l'écran dès que l'activation par défaut sera effective.

- Troisièmement, encore un message informatif, sur la page de téléchargement de ces versions de développement.

- Et enfin, une FAQ pour la presse, ainsi qu'un billet sur le blog officiel de Mozilla annonçant le changement, seront publiés.

Mon patch est terminé, fonctionnel, et en attente d'une ultime relecture. Il faudra également attendre la fin des discussions qui ont lieu en ce moment-même avec Mitchell Baker, la présidente de Mozilla, afin d'avoir le feu vert. J'espère, ainsi que de nombreux autres développeurs avoir ce feu vert, car les données de performances sont d'une importance cruciale dans le développement de Firefox, et nous en manquons cruellement. Le taux actuel d'activation est de seulement 2 %, ce n'est vraiment pas assez. Mon patch va donc logiquement augmenter de façon significative cette masse de données sur les versions de développement, et cela sera utile à plusieurs niveaux:

- Le taux précis d'adoption/d'utilisation d'une fonctionnalité permet de connaitre l'impact qu'aura un patch, et ainsi de pouvoir juger de son utilité, de définir une priorité entre les patchs. Un patch concernant une fonctionnalité utilisée par une majorité d'utilisateurs sera à traiter en priorité, mais d'autres éléments sont à prendre en compte.

- Il sera plus facile de découvrir les ralentissements dans Firefox, et donc de les corriger. Même chose pour les fuites de mémoire (Programme memshrink [en]), ainsi que la réactivité globale du logiciel, incluant le temps de démarrage (Programme Snappy [en])

- Les incompatibilités matérielles peuvent être également décelées plus tôt dans le processus de développement. En effet, l'écosystème de configurations matérielles est tel que Mozilla ne peut pas tout tester, il faut donc une masse importante de données pour trouver les configurations incompatibles.

La télémétrie est donc quelque chose de vraiment précieux pour le développement du logiciel, et permet des améliorations significatives, et rapides dans Firefox. Et il ne faut pas non plus négliger l'utilisateur, sa vie privée, et ses choix. Ce fût d'ailleurs assez compliqué, et j'y reviendrais plus tard dans un nouveau billet. En tout cas, si vous souhaitez faire un geste gratuit, utile, et immédiat pour Firefox, je vous encourage fortement à commencer par activer la télémétrie !