Nuove ottimizzazioni delle immagini lato client per Discourse

Quasi 5 anni fa, abbiamo introdotto l’ottimizzazione delle immagini lato client per consentire agli utenti di caricare immagini più grandi dei limiti del sito, risparmiare la larghezza di banda per gli upload degli utenti, risparmiare spazio di archiviazione della comunità e rendere l’esperienza utente con le immagini su Discourse complessivamente più reattiva.

Costruendo su questo, c’è un nuovo sistema Cambiamenti imminenti che abilita alcune nuove funzionalità per questo sistema:

Conversione da GIF a WEBP animato

La conversione di GIF di grandi dimensioni era sulla nostra lista di priorità da molto tempo, e ora vengono convertite in WebP animato, che ha in media la metà delle dimensioni del file originale:

1ueX9IP
(2,5 MB GIF → 1 MB WEBP)

output
(10,1 MB GIF → 4,8 MB WEBP, non sarebbe consentito di default su Discourse in base alle dimensioni)

Conversione HEIC

Abbiamo aggiunto il supporto per HEIC nel 2020 tramite conversioni lato server, e ora supportiamo anche la gestione diretta nel compositore, offrendo all’utente la visibilità del risultato della conversione prima dell’invio del post. Abbiamo mantenuto la conversione lato server come fallback nel caso in cui quella lato client fallisse per qualche motivo.


(3,4 MB HEIC → 650 KB JPG)

Conversione JXL

Sebbene il supporto dei browser per i file JXL non sia ancora pronto, gli utenti possono ora caricare file JXL su Discourse e vederli convertiti automaticamente in JPG in modo che ogni utente possa visualizzare l’immagine.


(1,1 MB JXL → 930 KB JPG)

38 Mi Piace

Mi fa piacere vedere l’ottimizzazione per l’efficienza! Ma perché non sfruttare di più WebP, ad esempio per le conversioni JXL e HEIC, e soprattutto per le conversioni/compressioni PNG? Suggerirei AVIF, ma, a differenza di WebP, per quanto ne so, non è ancora abbastanza supportato in modo diffuso.

Le immagini HEIC e JXL con trasparenza vengono già convertite in WebP invece che in JPG. Avevo preso in considerazione l’idea di utilizzarlo sempre, ma ciò richiederebbe di aggiungere una miriade di impostazioni del sito per consentire agli amministratori di regolare finemente il comportamento, cosa che mi ha fatto esitare.

Lo stesso vale anche per questo.

Idealmente, mi piacerebbe molto fornire agli amministratori impostazioni per controllare la compressione delle immagini sia lato client che lato server, mantenendo comunque valori predefiniti ragionevoli, e persino permettere agli utenti finali di disattivare la compressione al momento dell’upload tramite le opzioni della finestra di composizione, come fanno Telegram e WhatsApp. Tuttavia, non c’è interesse interno a intraprendere questo lavoro.

6 Mi Piace