Di immagini e di siti

Il problema

Fate una cosa. Se non ci siete già, aprite un nuovo tab nel vostro browser e andate sulla pagina principale di UIELinux. Quando ha finito di caricare scorretela su e giù per un paio di volte poi tornate qui. Quella che avete appena visto penso che la si potrebbe definire un'orgia di immagini. Ce ne sono a centinaia che vengono disegnate sullo schermo in ogni punto della pagina.

Per essere precisi quando il sito viene aperto per la prima volta il browser deve scaricare in media 47 immagini diverse per un totale di 420 Kbyte. Questo significa che su una connessione ADSL media servono circa due secondi per scaricarle tutte quante.

Ora. Io sono una persona piuttosto impaziente e se un sito ci mette 3 o 4 secondi per comparire sullo schermo comincio a pensare che c'è qualcosa che non va e lo chiudo ancora prima di leggerne i contenuti. UIELinux però è anche un po' casa mia. Non posso mica dire «Che cesso di sito! » e chiudere il tab.

Cosa fare per migliorare la situazione? Togliere le immagini non è una soluzione. Fanno parte del design ed alcune volte sono il vero e proprio contenuto della pagina. L'unica cosa che rimane da fare è quindi agire sulla immagini.

Può sembrare assurdo ma usando il terminale e due programmi è possibile fare anche dei veri e propri miracoli.

La soluzione

Aprite il vostro gestore dei pacchetti e cercate i pacchetti che contengono i programmi optipng e jpegoptim. Selezionateli e cliccate su installa.

Queste due piccole utility riescono a ricomprimere qualsiasi file png o jpg in maniera completamente lossless. L'immagine finale sarà quindi identica a quella originale e non ci sarà alcuna perdita di qualità. La dimensione del file, però, sarà ridotta. In genere il guadagno che si ottiene si aggira attorno al 14%. In alcuni casi è possibile arrivare a ridurre lo spazio occupato del 30% ma si tratta di casi molto rari.

Usare questi programmi è facile. Basta aprire il terminale e lanciarli indicando il percorso del file da ottimizzare.

JPEGOptim

jpegoptim --strip-all ~/frutta.jpg
/home/mirco/frutta.jpg 255x300 24bit Exif  [OK] 44467 --> 33154 bytes (25.44%), optimized.

OptiPNG

optipng -o2 ~/tatto.png
Output file size = 11754 bytes (2839 bytes = 19.45% decrease)

I due programmi hanno molte opzioni avanzate per controllare le varie ottimizzazioni ed il loro comportamento. Alcune volte permettono di ottenere risultati migliori. Di solito, però, quelle che ho riportato negli esempi qui sopra hanno il miglior compromesso tra tempo e spazio guadagnato.

Optipng può persino essere forzato a fare centinaia di tentativi quindi se l'immagine originale ha le dimensioni di uno sfondo è possibile che necessiti anche di più di 10 minuti per terminare invece di pochi secondi.

Ora andate ed ottimizzate!


Articolo originale su UIELinux.org