Este artículo sobre el ecodiseño es propuesta de Romuald Priol, desarrollador web en Peaks Lyon, experto en rendimiento web y de aplicaciones, referente del Collectif Numérique Responsable y representante de GreenIt.fr

Diseñar un servicio digital ya no es una cuestión compleja. De hecho, ahora es muy fácil crear un sitio mediante CMS como WordPress. Estas soluciones permiten que cada vez más gente pueda diseñar sitios web de manera rápida, aunque sin necesariamente tener en cuenta las consecuencias relacionadas con este tipo de desarrollo.

El impacto digital

Las consecuencias de un diseño digital son múltiples:

  • Problemas de accesibilidad que no permiten a las personas con algún tipo de discapacidad, como sordera o hipoacusia, acceder a numerosos servicios digitales.
  • Problemas éticos, como la recuperación o el uso de datos personales sin avisar a los usuarios.
  • Problemas de seguridad: a diario se descubren nuevos fallos y muchos desarrolladores descuidan la protección de los datos. Por lo tanto, es imprescindible proteger la aplicación, nuestros datos y, sobre todo, los de nuestros usuarios.

El impacto medioambiental

La consecuencia menos conocida, de la que poco a poco somos conscientes, es la que menos se ve: el impacto ecológico de la tecnología digital.

El problema con este impacto es que es invisible. Cuando utilizamos un teléfono, cuando utilizamos un producto que ha sido diseñado, fabricado, entregado y vendido, hemos comprado (o alquilado) un bien material que agota poco a poco ciertos recursos y que consume distintas energías hasta llegar a nuestras manos. Se trata de un producto visible que, al mismo tiempo, nos hace pensar en recursos finitos extraídos del planeta para su concepción, pero también en recursos que seguimos agotando para alimentarnos con la electricidad imprescindible para su funcionamiento.

Con la web, resulta mucho más complicado. No nos planteamos que usar una aplicación contamina porque su utilización es inmaterial:

  • Ver una película en Netflix o una serie con el descodificador TV conectado al módem.
  • Jugar en línea a la consola.
  • Utilizar la potencia del «cloud» para hacer la copia de seguridad de los vídeos, fotos o documentos.
  • Publicar mensajes en las redes sociales.
  • Consultar los mails.

Todas estas acciones que realizamos mediante un dispositivo digital tienen un impacto real, más o menos importante, que no podemos permitirnos ignorar.

GreenIt.fr ha editado un informe sobre la huella ambiental de la tecnología digital mundial, donde se muestran diferentes cifras relativas a indicadores ambientales que nos permiten hacernos una idea del impacto de la tecnología digital:

De acuerdo con el informe, la tecnología digital…

  • utiliza el 4,2% de la energía primaria que se consume en el planeta
  • emite el 3,8% de las emisiones totales de gases de efecto invernadero
  • consume el 0,2% del agua dulce potable
  • consume el 5,6% de la electricidad producida en el mundo.
Huella ambiental de la tecnología digital mundial (https://greenit.fr 2019).

Las cifras de estos impactos no parecen «espeluznantes», pero representan valores gigantescos:

  • 3,8% de las emisiones de gases de efecto invernadero = 116 millones de vueltas al mundo en coche
  • 0,2% del consumo de agua = 3.600 millones de duchas

Además, hay que entender las cifras comparadas entre sí, y al número de usuarios de Internet:

Porcentaje de usuarios con acceso a Internet en el mundo (https://datos.bancomundial.org, 2017).

En 2019, casi el 6% del consumo eléctrico mundial se dedicó a la tecnología digital, con emisiones de gases de efecto invernadero equivalentes a aproximadamente el 4% de las emisiones globales (a pesar de que la mitad de la población mundial todavía no tiene acceso a Internet).

No olvidamos que el progreso tecnológico nos ha permitido conocer mejor nuestro planeta. Sin embargo, sabemos que nuestros suelos sólo tienen cantidades finitas de ciertos recursos (antimonio, estaño, níquel, cobalto, etc.). Cuando los hayamos extraído por completo, ¡ya no habrá más!

Diagrama del libro «La guerre des métaux rares» de Guillaume Pitron

La tecnología digital es una gran consumidora de recursos. Los que suelen utilizar nuestros dispositivos no son sólo raros, sino también muy poco reciclables.

El mejor ejemplo sigue siendo el de las «tierras raras». A pesar de su nombre no son específicamente raras en la tierra, pero se reciclan en menos de un 1%:

Eso es terrible desde un punto de vista medioambiental.

Existen soluciones

1. Alargar la vida útil de nuestros dispositivos

La primera consiste en alargar la vida útil de nuestros dispositivos, ya que el mayor impacto proviene del lado de los usuarios:

La función de los usuarios es mucho más importante que la de la red y los centros informáticos, pero hay que tener en cuenta que cuanto mayor sea el tamaño del dispositivo, mayor impacto negativo tendrá en el medio ambiente: es decir, un smartphone con pantalla de 6” (15,2 cm) tendrá un impacto menor que un portátil de 15” (38,1 cm) que a su vez tendrá un impacto menor que una televisión conectada de 85” (215,9 cm).

Por lo tanto, todos podemos utilizar mejor la tecnología digital y, sobre todo, ¡diseñarla mejor! Esto tendría un impacto mucho menor en las redes y centros informáticos (y, por lo tanto, limitaría el uso de recursos necesarios para estas infraestructuras).

2. Diseñar mejor la tecnología digital

Un servicio digital lo puede diseñar cualquiera, de cualquier modo, y con cualquier tipo de arquitectura informática, y eso es uno de los puntos fuertes de la web: todo el mundo puede participar en su diseño, aportar ideas y ayudar a que evolucione. No obstante, también es uno de sus puntos más débiles: todo el mundo puede participar y aumentar los distintos problemas o impactos de la web, sin ni siquiera ser consciente.

Un servicio digital y una aplicación son códigos y hay 1000 formas de escribir el código para la misma función. De la más lenta a la más rápida, de la que más consume a la más sobria. La startup nantesa Greenspector.com ofrece un servicio que muestra el consumo de una aplicación o un sitio en el móvil:

Consumo de energía final (en mAh) de los navegadores web al navegar por distintos sitios.

Este diagrama, del informe «Quels sont les meilleurs navigateurs web à utiliser en 2020 ? » ilustra de forma sencilla el consumo de energía (en mAh) al navegar por distintos sitios web con diferentes navegadores desde un mismo dispositivo, con las mismas especificaciones en cuanto a material, software y conectividad (las mediciones, para que sean más fiables, se realizan en un contexto idéntico).

A simple vista, se observa que ciertos navegadores (Opera/Brave) son mucho más eficientes que otros (Firefox/Opera Mini) aún con el mismo proceso: mostrar una página web.

Este análisis se puede correlacionar directamente con las previsiones de autonomía de la batería respecto al navegador empleado:

Previsión de autonomía de las aplicaciones móviles (en número de horas).

Por lo tanto, es posible que con una batería y un smartphone equivalentes se pueda navegar por Internet el doble de tiempo utilizando Opera o la versión «preview» de Firefox que con Firefox o la versión «mini» de Opera… O dicho de otra forma:

para el mismo uso, se podría cargar hasta dos veces menos la batería al utilizar un navegador más eficaz. ¡Y esto es válido para todas las aplicaciones que utilices!

Lo que pretendo mostrar con este ejemplo es que incluso entre los grandes editores de software, existen grandes disparidades en cuanto al diseño informático. Imagina, entonces, las que habrá entre los sitios web de personas que tienen conocimientos escasos o nulos sobre la calidad informática, el rendimiento informático o el ecodiseño.

Ecodiseño informático

En materia de diseño informático, existe una norma ISO a la que nos referimos para hablar del ecodiseño digital: la ISO/TR 14062:2002. Esta norma describe conceptos y prácticas actuales que atañen a la integración de aspectos medioambientales desde el diseño y el desarrollo del producto. Cabe destacar que esta norma ha sido planteada al mismo tiempo para bienes materiales y servicios.

Aplicar el ecodiseño en un proyecto informático supone múltiples ventajas: nos permite no sólo tener en cuenta la economía de los recursos del planeta para crear servicios desde las fases de diseño, sino que también nos permite obtener mayor rendimiento derivado directamente de las reglas aplicadas (a la vez que aportan una mayor comodidad de utilización).

¿Como se ecodiseña una aplicación?

Antes de hablar sobre ecodiseño, hay que entender lo que se puede ecodiseñar. Un sitio web no podrá ecodiseñarse salvo que todas las profesiones implicadas sigan el ecodiseño. ¡Hablar de ecodiseñar un programa de software o una aplicación sin tener esto en cuenta sería incoherente! En cualquier caso, lo importante es actuar con sobriedad.

¡Una solución de ecodiseño no se aborda obligatoriamente con una plataforma informática! Alguien podría desear un sitio web para atraer a clientes cercanos, pero no tiene porque resultarle necesariamente útil. Todo dependerá de la profesión y los objetivos. En ciertos casos, un simple folleto publicitario distribuido por los buzones podría ser suficiente para atraer a más clientes.

Si se reconoce la utilidad del servicio digital, porque sabemos que la necesidad se satisfará mejor con la tecnología digital que sin ella, podemos empezar por analizar las distintas funciones del sitio web.

Por ejemplo, una tienda en línea no necesita obligatoriamente un espacio de conexión, sobre todo para el primer pedido de un cliente. Obligar a los usuarios a inscribirse en un sitio aumenta el número de etapas necesarias para completar la transacción. Ahí también, todo depende de las necesidades. El dueño del sitio necesita vender un producto, pero no necesariamente administrar cientos de datos de usuarios que no le servirán para nada y que deberá almacenar de forma segura para nada. Simplificar las etapas de venta puede resultar beneficioso tanto para el usuario como para el cliente.

El caso de las páginas de contacto: ¿por qué tener que gestionar un formulario entero cuando en la mayoría de los casos una sencilla etiqueta <a href=’mailto :mail@domain.tld’ >< /a> basta? ¿Por qué mostrar un plugin de cartografía que ralentiza drásticamente el speedIndex de las páginas cuando una simple imagen cargada dinámicamente con un vínculo que redirige al sitio de cartografía es suficiente?

Tenemos la mala costumbre de hacerlo todo demasiado complicado. Esta complejidad degrada la calidad informática de nuestras aplicaciones y sitios y aumenta el número de líneas de código que hay que administrar: pasamos más tiempo manteniendo las funciones y actualizándolas o con desarrollos que el que dedicamos a resolver realmente una solución útil.

¡Una vez identificada claramente la lista de funciones, cuando un diseñador ya ha administrado la UX teniendo en cuenta un itinerario de usuario sencillo y accesible, sin “Dark Pattern” ni scrolling infinito, podemos elegir el proveedor de alojamiento de nuestro sitio!

Elegir un proveedor de alojamiento ecológico

Existen todo tipo de proveedores de alojamiento pero pocos son los que dan prioridad a resolver los problemas ecológicos y sociales. En términos generales, yo recomiendo Infomaniak por las siguientes cuestiones:

  • La energía consumida por este proveedor de alojamiento está certificada como «TUV SUD EE01» y «Naturemade Star», como prueba de que la energía empleada por sus centros de datos es 100% de origen renovable.
  • No hay un exceso de consumo eléctrico porque todo se enfría mediante aire exterior. No se utilizan grandes climatizadores para hacer el trabajo.
  • Dan prioridad a las compras locales y responsables (pocos productos proceden de la otra punta del mundo).
  • Compensan al 200% sus emisiones de gases de efecto invernadero (aunque la compensación sea la solución «menos mala»; si no se produjera CO2, no habría que compensarlo).
  • Prolongan la vida útil de sus servidores para reducir la cantidad de CO2 emitido durante su vida útil. Utilizan los servidores durante un periodo mínimo de 5 años.

Es alentador ver que una empresa así de grande puede avanzar en la buena dirección, respetando nuestro planeta en la medida de lo posible.

Arquitectura & elección del código

Tenemos que pensar también en la arquitectura que debemos aplicar: ¿vamos a soportar un alto flujo de datos que dirigiremos a un sitio dinámico? ¿Los datos mostrados son sólo para presentar un perfil sencillo, una empresa con poca información pero pertinente, que podría generarse por completo con un sitio estático y así evitaríamos tener que mantener un espacio de conexión, una base de datos y todos los problemas de seguridad que conlleva? Esta última elección será de gran ayuda para saber si partiremos de un CMS como WordPress, un Framework o un código “from scratch”.

Esta tapa también es decisiva para elegir el lenguaje de programación. Se puede generar código HTML de miles de formas diferentes mediante una variedad enorme de lenguajes de programación. Pero ahí también tenemos que tener numerosos parámetros en cuenta: conocer los equipos y la energía que utiliza nuestro lenguaje para generar el código HTML.

No todos los lenguajes de programación son iguales. Algunos son más fáciles de entender que otros, también pueden ser más conocidos, y encontrarás más fácilmente la documentación y soluciones a posibles problemas del equipo. Asimismo, los lenguajes de programación presentan diferencias en cuanto al consumo de recursos en ejecución, utilizan más o menos RAM (memoria) y CPU para funcionar.

Un estudio permite entender las diferencias de rendimiento de los distintos lenguajes de programación entre sí. Se observa que ciertos lenguajes «recientes» como GO o RUST están bien posicionados en cuanto a todos los criterios (energía consumida, tiempo de ejecución y memoria utilizada). Resulta positivo ver que hay nuevos lenguajes de programación que pueden ser más eficientes que los que solemos utilizar.

Es importante tener en cuenta la generación del código en el lado del servidor (el código que genera los datos dinámicamente). No obstante, recordemos que, en general, el mayor impacto que podemos alcanzar será del lado del cliente, habida cuenta que una política de memoria caché en el lado del servidor permite reducir drásticamente la generación del código. Será el cliente quien descargue los datos, efectúe ciertas solicitudes y estará obligado a actualizar su navegador o incluso el ordenador si considera que todo se está volviendo demasiado «lento», puesto que no has hecho la aplicación lo bastante eficiente respecto a las limitaciones del hardware más antiguo.

No olvidemos que estamos en un momento en el que ya no cambiamos de teléfono porque no funciona sino porque se queda obsoleto.

Las aplicaciones, igual que los sitios web, cada vez más pesadas, requieren más capacidad por parte de los dispositivos de los usuarios. Y esto significa que hay que cambiarlos más a menudo para disfrutar de las aplicaciones y las actualizaciones cada vez más exigentes en cuanto a CPU, RAM, espacio de almacenamiento y energía: es lo que se conoce como obsolescencia.

Para satisfacer esa misma necesidad, nos vemos obligados a consumir muchos más recursos y energía que hace 10 años. Para crear el mismo texto en Word, hacer la misma acción en Excel o enviar el mismo correo con Outlook, necesitamos 114 veces más de RAM con Windows 8 y Office 2013 que con Windows 98 y Office 97. (El libro “Sobriété Numérique” de Frédéric Bordage, ediciones “La verte” 2019, explica a la perfección todos estos temas 😉).

¡Ya podemos ponernos manos a la obra con el código! Ahora, sea como fuera, siempre con sobriedad y eficacia. Es evidente que independientemente del código que quieras generar, no hace falta reinventar la rueda. Es una frase que oímos mucho en el mundo del desarrollo. Si ya hay un pedacito de código, un bundle, un módulo, utilízalo. ¡Es cierto, al utilizarlo incluso puedes mejorarlo!

Aún así, son muchos los casos donde vemos que se abusa de esta metodología de reciclaje de componentes. Parece que nos descargamos todo un garaje sólo para reutilizar una rueda. Hay que tener cuidado con las dependencias que empleamos. Reducir la dependencia respecto a módulos externos es un buen consejo en cuanto a diseño, pero también en cuanto a calidad del software. No es necesariamente fácil mantener pedazos de código que conocemos, y es incluso más difícil si no los conocemos y pueden evolucionar a un ritmo distinto del nuestro.

También es importante prestar atención a las versiones específicas de nuestros Frameworks para mantener la mayor compatibilidad posible con dispositivos antiguos. Centrarnos en las versiones más recientes nos ofrece funciones que no son necesariamente útiles en el código que vamos a producir y anulan la compatibilidad de nuestra aplicación con versiones antiguas de sistemas operativos móviles, tabletas o PC. Si tu aplicación llega con una función nueva que podría haber funcionado con componentes compatibles antiguos, estarás obligando a los usuarios a cambiar de dispositivo para seguir tus desarrollos o, en el mejor de los casos (en términos ecológicos) abandonarte.

Buenas prácticas

Ahora, lo que te queda es escribir el código del servicio respetando un máximo de buenas prácticas en ecodiseño que podrás encontrar en la guía de 115 buenas prácticas del ecodiseño web de Frédéric Bordage.

He aquí algunos ejemplos de buenas prácticas:

  • Eliminar las funciones que no sean esenciales
  • Usar la introducción de datos asistida mejor que auto-completar
  • Limitar el número de peticiones HTTP
  • Elegir un formato de datos adaptado
  • Cortar las CSS
  • Dar preferencia a las fuentes estándar
  • Evitar las animaciones Javascript/CSS costosas
  • No conectarse una base de datos salvo que sea necesario
  • Elegir un proveedor de alojamiento verde como Infomaniak
  • Aplicar un plan de fin de vida útil

Debemos diseñar las necesidades específicas de nuestro software y servicios digitales evitando evidentemente el «greenwashing digital». La guía de 115 buenas prácticas del ecodiseño es una fuente excelente de información para integrar una estrategia de diseño más responsable en nuestros servicios informáticos. ¡Con el conjunto de estas reglas podrás aligerar las páginas, hacer una web más sobria, más rápida y más accesible!

Es necesario entender la necesidad de respetar al máximo las reglas para conseguir ecodiseñar un sitio web. Se ven muchos sitios haciéndose pasar por low-tech o ecodiseño, y que sólo respetan algunas normas del ecodiseño sin haber estudiado a fondo las necesidades reales de los usuarios ni haber analizado (aguas arriba a ser posible) el impacto de su servicio respecto a más criterios (consumo de agua, de energía, de recursos, emisiones de GEI, etc.). Los resultados son dispares. Puede que los recursos del sitio se vean reducidos, que las imágenes estén comprimidas, incluso que las páginas sean estáticas y lo bastante rápidas, pero si la arquitectura subyacente no es de las dimensiones necesarias, hay una multitud de scripts diferidos que cargan una docena de componentes de terceros que ralentizan todo el sitio y aumentan la cantidad de RAM y CPU que usa el navegador web del cliente, no podemos decir que se trata de un sitio «ecodiseñado», sino de un sitio que ha seguido algunas reglas de rendimiento web.

Herramientas para analizar el rendimiento

Existen herramientas de análisis que permiten estudiar el rendimiento de los servicios. Estas herramientas están en el lado back (con el excelente BlackFire para analizar tus aplicaciones PHP y python), código de aplicación (con los programas ReSharper, DotTrace para las aplicaciones C, C++ o C#) y el lado front con las herramientas de análisis estático que existen (Dareboost, Gtmetrix o incluso Web.dev). Estas herramientas son eficientes y permiten, una vez esté disponible el sitio o la aplicación, analizar el rendimiento y obtener un buen número de recomendaciones para mejorar el rendimiento del servicio.

Informe del análisis de un sitio mediante Dareboost.com

La eficacia es (en general) beneficiosa para Internet. Uno de los intereses del diseño es hacer que las aplicaciones sean eficientes de manera natural. Pero esta afirmación no funciona a la inversa. Una aplicación eficiente no es necesariamente una aplicación ecodiseñada.

Pongamos un ejemplo sencillo: la implementación de scripts JavaScript de tu sitio en diferido. Cuando hay mucho JavaScript, y tenemos la costumbre de usarlo por todo y para todo, suele haber problemas de rendimiento. Demasiado JavaScript, demasiadas peticiones para recuperarlo, demasiado tiempo de carga de archivos, demasiado contenido para leer y ejecutar por parte del navegador. Sin JavaScript bloqueando la visualización de la página (esto sería lo ideal :D), podemos decidir diferir la aceptación de estos scripts por el navegador con el atributo «defer». Entonces, los scripts se ejecutarán en último lugar, uno tras otro, y la página se mostrará más rápido. De este modo, habremos mejorado eficacia y, seguramente, el SEO, puesto que bajará el SpeedIndex y la página se visualizará mucho más rápido.

Y a pesar de ello, ¡nada habrá cambiado en el sitio! Sin lugar a dudas, es mucho más eficiente, pero sigue descargando tantos recursos que:

  • puede que no satisfaga la necesidad inicial
  • puede que sean demasiado pesados
  • siguen siendo el trabajo de desarrolladores que ya no forman parte del proyecto, lo que permite efectuar acciones hoy por hoy inutilizadas.

En este caso, el sitio es realmente más eficiente, ¡pero no está ecodiseñado!

Herramientas de análisis del ecodiseño

Para controlar con mayor precisión los indicadores de ecodiseño, las asociaciones han creado herramientas que permiten calcular la huella de nuestros servicios digitales:

Collectif Numérique Responsable, de greenit.fr, ha diseñado el sitio ecoindex.fr:

Huella medioambiental probada en el sitio ecoindex.fr

EcoIndex calcula la huella medioambiental en función del nivel de ecodiseño del sitio. El cálculo se realiza a partir del impacto promedio en términos de emisión de gases de efecto invernadero y consumo de agua dulce. Este valor promedio se matiza en función del nivel de ecodiseño. Se trata de un planteamiento sencillo que permite establecer un orden de magnitud realista.

Cabe destacar que hay extensiones disponibles para los navegadores Chrome y Firefox, para controlar las sesiones de navegación en las páginas web. Así se puede calcular la huella y el nivel de madurez de ecodiseño a través del itinerario de usuario completo.

Resumen de la extensión Firefox EcoIndex en un sitio web.

El grupo de GreenIt.fr y algunos de sus socios también han creado el sitio Ecometer.org, un servicio que permite identificar el número de buenas prácticas aplicadas (o no) de un servicio digital a través de su URL. El sitio enumera los puntos que todavía deben aplicarse para reducir la huella medioambiental de la página o el servicio web analizado.

Pequeña parte de las buenas prácticas respetadas mediante un análisis de Ecometer.org

Los “shifters” de la asociación The Shift Project también han diseñado una herramienta que permite calcular la huella de los sitios, Carbonalyser. Se puede utilizar mediante una extensión en el navegador Firefox. El método del shift depende de las consultas realizadas mediante el programa ‘1byte model’ que convierte el dato transmitido al navegador en equivalente en electricidad (kWh) y a su vez en CO2 equivalente. Se trata de un método que no exento de defectos (ya que la electricidad no tiene el mismo impacto en una zona geográfica que en otra), pero la aplicación nos permite hacernos una buena idea del impacto que podemos tener al navegar por Internet.

Interfaz de la extensión Firefox “Carbonalyser” diseñada por The Shift Project.

Todas estas herramientas nos permiten darnos cuenta del impacto real de las páginas web al medir indicadores relacionados con el medio ambiente. Y ese es precisamente el objetivo del planteamiento: permitirnos diseñar aplicaciones más sobrias, más funcionales, respetando al máximo los recursos del planeta para aprovechar las tecnologías digitales el mayor tiempo posible.

Conclusión

Las tecnologías digitales siguen siendo todavía una herramienta joven y en desarrollo constante desde hace 30 años. Nos ayuda en distintos dominios, nos acerca los unos a los otros, no simplifica las tareas y nos libera tiempo. ¡Nos permite entender mejor nuestras interacciones con los demás y con la biodiversidad, así como nuestro impacto sobre el planeta!

Esa juventud es al mismo tiempo su defecto. ¡Todavía tenemos que aprender a dominarla, a usarla de manera inteligente, quizás con mayor sobriedad, por el bien de la humanidad y de nuestro planeta! ¡Es importante que usemos y diseñemos las tecnologías digitales con sobriedad!

No olvidemos que somos nosotros los que debemos reducir nuestro impacto sobre el planeta de manera más eficaz cambiando los hábitos donde más se note (reducir el uso del coche, evitar el avión, llevar una dieta vegetariana, pasar a «desperdicio cero», consumir productos locales, etc. 😉).

Más información