Lo que descarga una herramienta gratis antes de tocar nada | nopa

Lo que descarga una herramienta antes de que pulses nada

Nuestro quitafondos enviaba 1386 KB de JavaScript a tu móvil antes de que eligieras una foto. Nadie los había pedido y nada de lo que había en pantalla los necesitaba. Esto es cómo llegaron ahí, en cuánto se quedaron, y cómo medir cualquier herramienta en treinta segundos.

La cifra que nadie publica

Todas las webs de herramientas publican su lista de funciones. Casi ninguna publica cuánto pesa la página antes de usarla. Y esa cifra decide cómo se siente una herramienta: en un móvil con una conexión normal, cada 400 KB de JavaScript son aproximadamente un segundo más mirando una página que parece lista y no lo está.

Para nosotros pesa más que para otros. nopa funciona en tu dispositivo: unir, comprimir, transcribir ocurre en tu navegador y no se sube nada. La otra cara de esa promesa es que el código tiene que llegar primero. La descarga no es un coste alrededor del producto: es el producto llegando.

Cómo lo medimos

Un script de nuestro repositorio abre cada ruta en un Chromium real, con la caché vacía y el service worker desactivado, y suma los bytes transferidos de todos los scripts que la página pide antes de cualquier interacción. No el tamaño sin comprimir ni el informe del empaquetador: los bytes que viajan por la red, que son los que paga tu conexión.

Lo pasamos por todo el sitio: portada, catálogo y hubs, y cada página de herramienta. Siete rutas volvieron por encima del megabyte.

Lo que encontramos en nuestro propio código

La columna «antes» es lo que servíamos. La columna «después» es la misma página hoy, sin quitar ni una función.

PáginaAntesDespués
Quitar fondo1386 KB405 KB
Emojis1318 KB740 KB
Transcripción940 KB402 KB
Conversor de archivos845 KB403 KB
Lector839 KB427 KB
Portada325 KB28 KB
Catálogo y hubs318 KB21 KB

Nunca es la función. Es el import.

Ninguna de estas páginas pesaba por lo que hace. En todos los casos era una sola línea al principio de un archivo que arrastraba algo que la página nunca iba a ejecutar.

  • Una comprobación de «¿ya está descargado el modelo de IA?» arrastraba todo el runtime de machine learning —539 KB— a páginas que nunca cargan un modelo. Ahora lee la caché del navegador directamente, en nueve líneas.
  • Un ayudante de zip estaba importado al principio del motor de PDF, así que cualquier página que comprimiera algo descargaba también 443 KB de código de PDF. Cargarlo en el momento de usarlo redujo a la mitad cuatro páginas.
  • El selector de emojis servía su tabla de palabras clave —la mitad del conjunto de datos— antes de la primera tecla. Ahora llega con tu primera búsqueda, que es cuando alguien la lee.
  • Una librería de animación entera se cargaba por un panel que sube en móviles. El navegador ya trae una API de animación; la librería se fue.
  • Un índice de catálogo de 373 KB se cargaba en todas las páginas para pintar una fila de enlaces a herramientas relacionadas.

Por qué aquí no hay cifras de la competencia

Queríamos meter otras herramientas en esa tabla. No pudimos hacerlo con honestidad. El primer intento descargaba sus páginas y contaba los scripts del HTML; el resultado decía que una conocida suite de PDF sirve 2 KB de JavaScript, porque la aplicación real la carga el propio JavaScript en lugar de estar escrita en la página. Una cifra que no podemos reproducir es peor que ninguna cifra, y una comparativa donde nos ponemos la nota nosotros no es una comparativa.

Así que la tabla solo contiene páginas nuestras. Y en lugar de números que tendrías que creerte, aquí está el método.

Mide cualquier herramienta en treinta segundos

Funciona en cualquier web, incluida la nuestra. Si nuestras cifras fallan, así nos pillas.

  • Abre la herramienta en un navegador de escritorio y abre las herramientas de desarrollo (F12), pestaña Network.
  • Marca «Disable cache», filtra por JS y recarga la página.
  • Mira el total transferred abajo antes de tocar nada. Esa es la descarga que pagas en cada visita en frío.
  • Para la promesa de trabajo local: con la página ya cargada, pon la red en modo offline y haz tu tarea. Si termina, el trabajo es de tu dispositivo. Si falla, tu archivo iba a alguna parte.

A qué nos obligamos ahora

Cada ruta tiene un techo duro de 600 KB de JavaScript y el script que lo mide falla en alto cuando una página se pasa. Eso es lo que impide que vuelva: los cuatro arreglos de arriba costaron un día, y llevaban meses haciendo falta solo porque nadie estaba contando.

Las herramientas están ahí cuando las necesites, y ninguna te pedirá registrarte para saber cuánto pesa.