5 segundos de carga no son aceptables. Pero son la norma.

Cuando inicias un programa, abres una app o cargas un sitio web, seguramente esperas al menos varios segundos. Es normal.

No debería serlo.

Una vez que tus clientes prueban tiempos de carga y respuestas rápidos, ya no te cambiarán por la competencia: en cuanto sienten la diferencia entre tu app rápida y la app lenta del competidor, la lenta les resultará muy molesta.

¿Cómo conseguir esta ventaja, algunos datos del mundo real y qué preguntarle a tu desarrollador? Todo en este artículo.

5 segundos de carga no son aceptables. Pero son la norma.

¿Qué tan rápido pueden ser las cosas en realidad?

Este no es un artículo técnico, así que pasemos por encima de unas cuantas cifras fundamentales y fáciles de entender, y comparémoslas con el mundo real.

Una CPU barata de un teléfono económico puede procesar miles de millones de instrucciones por segundo x al menos 2 núcleos (básicamente 2 unidades de procesamiento).

Leer datos de los discos modernos se mide en miles de megabytes por segundo, de nuevo incluso en un teléfono de gama baja.

Transferir por internet va, en el peor de los casos, a cientos de megabytes por segundo.

La comparación

Tomemos primero el producto más lento. Una página web de buena calidad, justo después de cargar, podría pesar como mucho entre 15 y 25 megabytes.

Lo que significa que, contándolo todo, deberías escribir el enlace en un navegador abierto y ver el sitio en alrededor de 1 a 2 segundos, completamente cargado.

Si tomamos una app de tu teléfono, son archivos guardados en tu dispositivo, por lo que aquí no aplica la conexión a internet (la velocidad más lenta). Con velocidades de gigabytes por segundo, deberías ver una app típica abrirse y funcionar en 0,15 a 0,25 segundos.

Dentro de una app, un programa o un sitio web ya abiertos, una interacción solo pasa por las velocidades más rápidas de la CPU y, a veces, de la GPU. Al hacer clic en un botón, deberías ver resultados literalmente inmediatos en tu pantalla.

La realidad actual

En la realidad de hoy, no siempre es posible alcanzar esas velocidades. Pero, como puedes imaginar, pasar de 1 o 2 segundos a 5 segundos de carga tampoco es necesario, y tu sitio aún puede abrirse en 2 o 3 segundos. Y eso es para una página realmente grande a la que le falta una buena optimización.

¿Qué preguntarle a tu desarrollador?

No necesitas entender la tecnología y la programación en detalle. Esto no es para hacer una entrevista técnica.

El stack

Empieza con la pregunta «¿Cuál es tu stack?». Esa pregunta busca saber qué herramientas y tecnologías usan para construir y sobre qué construyen. Si el desarrollador empieza a contarte sobre todas las tecnologías geniales que usa, eso es una señal de alarma. Lo mismo si dice cosas como «webview».

¿Por qué? Porque la mayor parte del software lento de hoy se construye sobre algo construido antes, que a su vez se construyó sobre otra cosa construida antes. Es una cadena. Lo que significa que todas las velocidades mencionadas arriba, que siguen siendo válidas, no tienen que procesar tu proyecto, sino muchas capas.

WordPress es lento porque lo hace todo, aunque no lo necesites.

La medición

La segunda pregunta es cómo miden la velocidad. Y cuáles son sus objetivos de velocidad.

Sorprendentemente, muchos desarrolladores dicen que 5 segundos es el objetivo. Esa es otra señal de alarma. Lo mismo si no tienen una respuesta clara sobre cómo miden, o si la respuesta es «lo abrimos y vemos».

Ver con tus propios ojos y sentirlo es una parte necesaria de las pruebas. Pero también es la raíz de muchos problemas del tipo «a mí me funciona».

Deberías empezar a exigir métricas de velocidad

Hacer tu proyecto correctamente da más trabajo. Pero no tanto como podrías pensar.

Los proyectos pequeños (como sitios web de una sola página) no tienen una diferencia medible de trabajo entre empezar desde cero y usar herramientas ya existentes. Los proyectos grandes requieren una planificación cuidadosa, sopesar los pros y los contras, y saber por qué usar los llamados frameworks.

Parte de la especificación de tu producto no debería ser solo cómo debe funcionar, sino también qué tan rápido debe ser. Es una conversación muy importante.

Por nuestra experiencia, entendemos que para una persona no técnica esta es una conversación incómoda. Por eso en LINK-V acompañamos a nuestros clientes durante el proceso con un lenguaje que entienden. Al fin y al cabo, el software es la capa entre el humano y la computadora, y si nosotros hacemos el software, actuamos de la misma manera.

Tom J. · LINK-V