Quand on pense à réduire notre empreinte écologique, notre premier réflexe est de penser aux moyens de transport qu’on utilise ou à nos habitudes de recyclage ou de consommation.
Cependant, notamment avec l’avènement de l’intelligence artificielle pour le citoyen moyen, un sujet qui revient de plus en plus est l’impact que peut avoir la technologie, particulièrement les logiciels, sur l’environnement. L’impact est si invisible dans nos activités quotidiennes qu’il est difficile de réaliser que notre travail a des conséquences réelles et importantes sur l’environnement.
Thirdbridge détenant une expertise en ingénierie logicielle et non en environnement, voici quelques trucs et astuces à garder en tête afin de concevoir des logiciels de façon responsable.
Ce qu’on peut faire en tant que développeur logiciel
Là où on a la plus grande opportunité d’avoir un impact dans le développement applicatif, c’est en influençant les utilisateurs des produits qu’on développe. Effectivement, les mesures les plus significatives sont en bout de ligne les mesures qui affectent le plus grand nombre de personnes. C’est ce bassin d’utilisateurs qui changent leur appareil aux 2–3 ans et qui font des milliers de requêtes aux serveurs particulièrement énergivores. On peut donc contribuer en optimisant l ’utilisation des produits numériques.
On s’est posé la question chez Thirdbridge: qu’est-ce qu’on peut faire pour réduire l’impact environnemental des produits que l’on développe pour nos clients? Il y a une règle bien simple applicable à la conception logicielle qui permet d’avoir un impact indirect sur l’écologie et j’ai nommé les 3 U: utile, utilisable et utilisé. C’est en fait une approche de conception logicielle basée sur l’utilisateur. Les avantages ne sont pas qu’environnementaux; cette mentalité a aussi pour but de maximiser la valeur offerte aux utilisateurs finaux.
Concevoir un produit utile
UtilitéIl vise à concevoir un produit qui répond à un besoin. Le but est tout simplement de ne pas mettre sur le marché un produit qui consomme des ressources sans amener une valeur ajoutée. Amené comme ça, ça semble bien simple, mais bien cerner le besoin utilisateur peut être un processus fastidieux. La réponse ne sera jamais, ou rarement, très évidente. Un moyen pour comprendre ce que l’utilisateur a besoin est de créer des prototypes. Au fil des prototypes, il est possible de faire des observations et de mieux comprendre comment et pourquoi le produit est utile dans la vie de ceux qui l’ont entre les mains. Avec un produit utile, on est certain que les précieuses ressources utilisées ont un avantage pour certains.
Élaborons un scénario: votre application a pour but d’encourager la consommation d’eau à chaque jour. Vous avez réfléchi à une méthode pour y arriver: envoyer une notification plusieurs fois par jour. C’est le premier prototype, mais est-ce vraiment utile? Est-ce que vos utilisateurs veulent se faire rappeler de boire de l’eau, ou veulent-ils plutôt être motivés à le faire? Je ne prétends pas connaître la réponse, mais supposons que le résultat de votre prototypage montre qu’ils veulent plutôt être motivés. Le deuxième prototype pourrait plutôt prendre l’angle d’encourager à faire un suivi de leur consommation, et de voir leur progrès. Peut-être que vos utilisateurs en verront une plus grande valeur et possiblement qu’ils boiront plus d’eau. Une chose est certaine, c’est que l’énergie consommée par votre produit n’est pas gaspillée puisqu’elle a une utilité.
Optimiser l’utilisabilité du produit
Utilisable
Une chose bien évidente lorsqu’on réfléchit à une façon de diminuer l’énergie consommée par l’utilisateur est l’utilisabilité du produit. Si on y pense au premier degré, l’application se doit bien évidemment de fonctionner. Là où ça devient intéressant, c’est lorsqu’on pense au deuxième degré: est-ce que la solution offerte permet de combler les besoins préalablement réfléchis? Même avec une application qui répond à un besoin clair et qui offre une réelle valeur ajoutée, si vos utilisateurs ne comprennent pas comment l’utiliser, une bonne partie des efforts est perdue. Il est possible de mieux savoir comment vos utilisateurs se comportent en analysant les données analytiques de leur utilisation, et d’ajuster en fonction. Avec un produit utilisable, on peut être certain que notre utilisation des précieuses ressources est optimisée.
Reprenons notre scénario. On a bien établi que le besoin de suivre notre consommation d’eau est adressé, mais est-ce que l’application permet de rendre facile cette solution? Avec votre MVP, vous avez mis en place un formulaire comme suit: quantité d’eau bue, unité, heure de la consommation.
Avec les données analytiques recueillies, vous avez perçu que 20% des utilisateurs abandonnent à l’unité, 50% des utilisateurs abandonnent à l’heure et 10% ne soumettent pas de formulaire, par inadvertance. Vous trouvez donc que seulement 20% des gens utilisant l’application l’utilisent correctement.
Bon, c’est peut-être exagéré, mais suivez-moi. Avec ces données, on peut apporter des changements à l’application pour la rendre beaucoup plus utilisable. On enlève l’unité: l’utilisateur peut choisir l’unité par défaut. On enlève l’heure: on utilise l’heure de la soumission. On enlève le bouton: le formulaire est soumis dès l’entrée de la quantité. Ces changements devraient grandement améliorer l’utilisabilité, et donc optimiser l’énergie consommée par votre application.
Encourager une utilisation régulière
Utilisé
Avec ce troisième U, on veut s’assurer que le produit, ou certaines de ses fonctionnalités, ne soient pas oubliées. C’est tout simplement de réfléchir à si toutes les parties et fonctionnalités du produit n’est pas nécessaire (connaissiez-vous Facebook Avatars?). Encore une fois ici, on peut répondre à cette question en analysant les données analytiques des utilisateurs. En utilisant un produit, on s’assure que la consommation de ressources précieuses n’est pas vaine.
Plus haut dans l’article, il est recommandé de modifier la fonctionnalité de votre application de consommation d’eau en y ajoutant un suivi du progrès. Vous avez pris mon conseil à la lettre et vous avez élaboré une page complète sur l’analyse des données de consommation: l’historique des 4 derniers mois avec une analyse approfondie de la tendance. Cependant, les données analytiques démontrent qu’il y a vingt fois plus d’impressions sur la page résumé que sur la page de détails de la consommation (peut-être encore exagéré, bien sûr). La conclusion à tirer est donc qu’il est probablement hors de danger de retirer cette page qui consomme beaucoup d’énergie pour faire tous ces calculs alors qu’elle est à peine utilisée.
En prenant le temps de réfléchir à ces trois axes, il y a peut-être certains éléments qui concordent avec l’un de vos produits. Ce sont peut-être de minimes détails, mais multipliez ces petites optimisations par le nombre de requêtes par session, par jour, par utilisateur, par application, et vous allez avoir un nombre un peu plus significatif qui aura définitivement un impact.
En tant que développeur d’applications, il est possible de voir un impact significativement plus grand si nous sommes en mesure de bien conseiller nos clients quant aux ressources utilisées par les applications développées afin d’en assurer leur durabilité. Le plus important, c’est de continuer à trouver des façons créatives pour adresser le problème et d’imprégner la valeur écoresponsable dans notre identité personnelle et professionnelle.