Com funciona Araluma

On s'executa cada eina, per què algunes necessiten un servidor i com confirmar-ho al vostre propi navegador.

Dos tipus d’eina

Cada eina d’Araluma pertany a un de dos grups. Les eines de navegador llegeixen, editen i desen el fitxer al vostre propi dispositiu. Les eines amb servidor pugen el fitxer, el processen als nostres servidors o amb un proveïdor d’imatges i us retornen el resultat. Les eines amb servidor també tenen un pla B que acaba la feina al navegador quan no es pot accedir als servidors.

EinaNomés navegadorAmb servidorPla B si fallen els servidors
Retallar imatge en cercle, Retallar imatge, Redimensionar imatgeSempreMaiNo cal
Convertir format (un fitxer, sortida PNG, JPG o WebP)SíNoNo cal
Convertir format (sortida AVIF, o dos fitxers o més)NoSíCodificador del navegador
Convertir JPG a PDF (una imatge)SíNoNo cal
Convertir JPG a PDF (dues imatges o més)NoSíMuntatge al navegador
Comprimir imatgeNomés SVG i lots molt gransSíCompressió al navegador
Treure el fonsNoSí, primer Cloudflare, després ImageKitModel d’IA que s’executa al navegador
Ampliar imatge amb IANoSí, primer Cloudflare, després ImageKitRemostreig al navegador

Hi ha un cas més que afecta totes les eines: crear un enllaç per compartir, o desar un resultat a Dropbox, guarda el fitxer resultant unes dues hores perquè l’enllaç es pugui obrir.

Per què no fer-ho tot al navegador?

Els navegadors són excel·lents amb la geometria. Retallar, girar, escalar i desar una imatge en els formats habituals porta una fracció de segon al dispositiu, sense esperar la xarxa, així que aquestes eines no en surten mai.

Altres feines encara surten millor en un servidor:

  • Compressió. Els codificadors de servidor basats en libvips aconsegueixen fitxers força més petits que els codificadors integrats als navegadors amb la mateixa qualitat visual, i ofereixen ajustos d’AVIF que els navegadors no tenen.
  • Sortida AVIF. Codificar AVIF en un navegador és lent i consumeix molta memòria als mòbils, així que les conversions a AVIF fan servir el mateix servidor.
  • Lots i PDF de diverses pàgines. Una cua de desenes d’imatges bloquejaria un mòbil. El servidor les processa juntes i retorna un únic ZIP o PDF.
  • Treure fons i ampliar la resolució. Totes dues coses fan servir models d’IA que necessiten una GPU per respondre en segons. El pla B del navegador funciona, però és més lent i deixa vores més tosques en els cabells i el pelatge.

Què passa amb un fitxer, pas a pas

  1. Trieu un fitxer. Seleccionar-lo, arrossegar-lo o enganxar-lo dona a la pàgina una referència local al fitxer. En aquest punt no s’envia res.
  2. El navegador l’obre. JPG, PNG, WebP, GIF i AVIF es descodifiquen de manera nativa. Les fotos HEIC d’iPhone les descodifica un petit mòdul que s’executa a la pàgina.
  3. Es fa la feina. Les eines de navegador editen els píxels en un canvas i codifiquen el resultat allà mateix. Les eines amb servidor pugen el fitxer per HTTPS a un emmagatzematge temporal de Cloudflare R2 o directament a un Cloudflare Worker, i la feina s’executa al nostre servidor de São Paulo (compressió, conversió, PDF) o als serveis d’imatges de Cloudflare o d’ImageKit (treure fons, ampliar la resolució). Comprimir pot començar a pujar uns segons després que afegiu els fitxers, perquè el resultat estigui llest quan premeu el botó.
  4. Rebeu el resultat. El fitxer acabat s’ofereix a la baixada normal del navegador. Els resultats generats al servidor es queden a l’emmagatzematge temporal unes dues hores (la pantalla de baixada de Comprimir permet esborrar-los a l’instant) i després s’eliminen automàticament.

La política de privacitat inclou la taula completa de conservació i la llista de proveïdors.

Comproveu-ho al vostre navegador

Panell de xarxa. Obriu les eines per a desenvolupadors (F12 a la majoria de navegadors d’escriptori), seleccioneu la pestanya Xarxa i buideu-la. Feu servir Retallar imatge en cercle, Retallar imatge o Redimensionar imatge: veureu com es carreguen els recursos de la pàgina i cap sol·licitud que porti la vostra imatge. Després feu servir Comprimir o Treure el fons: apareix una sol·licitud de pujada, seguida de la baixada del resultat.

Prova fora de línia. Carregueu una eina de navegador, activeu el mode avió o marqueu “Fora de línia” a la pestanya Xarxa i torneu-la a fer servir. Continua funcionant, perquè mai no ha necessitat la xarxa. Les eines amb servidor passaran al seu pla B, cosa que també serveix per veure on s’executa cada pas.

Què podem veure i què no

Amb les eines de navegador no rebem res sobre la vostra imatge, perquè cap sol·licitud no la transporta.

Amb les eines amb servidor, el fitxer només existeix a la nostra infraestructura mentre s’executa la feina i durant els terminis de conservació de la política de privacitat. No hi ha comptes, de manera que un fitxer pujat no queda associat a cap nom ni perfil. No revisem els fitxers pujats i no els fem servir per entrenar models.

A totes les pàgines registrem esdeveniments d’ús anònims (eina, pas, temps, errors, país, tipus de dispositiu) per trobar errors i punts lents. Nosaltres no instal·lem cap galeta de seguiment entre llocs. Les galetes publicitàries que Google fa servir a les pàgines de les eines es descriuen a la política de privacitat, juntament amb les maneres de rebutjar-les. Quan es baixa al navegador un model d’IA o un descodificador, el nostre allotjament veu que s’ha demanat aquell fitxer, igual que veu que es demana un full d’estils, i no en sap res de la vostra imatge.

Amb què està fet

  • Astro, que genera cada pàgina com a HTML senzill i només hi afegeix JavaScript on una eina el necessita.
  • CSS pur amb design tokens, sense cap framework de CSS.
  • Canvas i còdecs en WebAssembly per a les eines que funcionen al navegador.
  • ONNX Runtime Web, que executa el model per treure fons al vostre dispositiu quan la ruta al núvol no està disponible.
  • Cloudflare per a l’allotjament, els Workers, l’emmagatzematge R2 i els models d’imatge que hi ha darrere de treure fons i ampliar la resolució.
  • Un servei Node.js amb sharp i libvips en un servidor d’Hostinger a São Paulo, Brasil, per a les feines de compressió, conversió i PDF.

Les eines funcionen amb la versió actual i l’anterior de Chrome, Edge, Firefox i Safari, en ordinadors i en mòbils. Quan un navegador ofereix una capacitat més nova, l’eina l’aprofita, i quan no, recorre a un mètode més antic, de manera que cap navegador no queda fora. Totes les eines requereixen JavaScript, i la connexió només cal per a les que fan servir servidor.

Més preguntes?

Les preguntes tècniques són benvingudes a support@araluma.com.