Facebook ha deciso di affrontare il problema del peso delle immagini. Con la diffusione di dispositivi mobile sempre più potenti, come smartphone e tablet dotati di fotocamere di ultima generazione o addirittura tridimensionali, il peso dei formati fotografici è diventato molto rilevante. Così non solo si trovano degli intoppi in fase di upload, con utenti costretti a dedicare una parte importante del loro traffico mobile mensile, ma anche in termini di gestione, data la richiesta di sempre più spazio sui server. Per questa ragione, il social network ha rilasciato Spectrum 1.0.0, una libreria open source per comprimere e ottimizzare le immagini.
Di seguito, alcune delle caratteristiche annunciate da Facebook nella nota di rilascio e le possibili utilità per gli sviluppatori.
Spectrum, cos'è?
Così come già accennato, l'incredibile avanzamento del comparto fotografico su mobile - tra doppie e triple fotocamere, scansioni in 3D, immagini panoramiche, HDR e molto altro ancora - ha portato alla generazione di fotografie dal peso sempre più rilevante. Le dimensioni dei file costringono però gli utenti a consumare una parte considerevole di traffico per l'upload di queste immagini sui social network, obbligando anche i fornitori di servizi a dotarsi di server e database sempre più spaziosi e performanti.
Per ovviare a questi problemi, Facebook ha rilasciato agli sviluppatori Spectrum 1.0.0, una libreria open source, disponibile con apposite API per iOS e Android, pensata per l'ottimizzazione di questi file. L'obiettivo è quello di comprimere il più possibile le fotografie, senza però perdere qualità visiva (compressione lossless).
Spectrum, sin da subito disponibile sulla piattaforma GitHub, consente di integrare le sue librerie all'interno delle applicazioni, affinché il processo di compressione avvenga direttamente sul dispositivo dell'utente.
Supporta i principali formati per Internet - JPG, PNG e WEBP - e il core della libreria è stato sviluppato in C++.
Vantaggi
Il primo vantaggio dall'impiego di Spectrum, oltre all'ottimizzazione delle immagini, è il lavoro a livello locale che la libreria garantisce. Avvenendo il processo direttamente sul dispositivo dell'utente, la fotografia risulta compressa e ottimizzata prima ancora che venga immessa in Rete.
Questo permette non solo di ridurre il traffico in uscita, e preservare il monte dati dell'utilizzatore, ma anche di alleggerire il carico di lavoro sulle CDN (Content Delivery Network), che già da tempo includono degli strumenti server-side per alleggerire questi file.
Il secondo, è in termini di versatilità e leggerezza di caricamento. Le immagini ottimizzate, una volta richiamate nell'applicazione o sul social network su cui è avvenuto l'upload, garantiranno un caricamento più veloce della pagina richiesta, assicurando un'esperienza d'uso istantanea all'utente e un risparmio nei costi sia di archiviazione su server che di banda per gli sviluppatori.
Il terzo beneficio, infine, risiede nella completa automatizzazione del processo: una volta implementate le librerie, la modifica delle immagini avviene senza alcun ulteriore intervento, né da parte dello sviluppatore né dell'utilizzatore finale.
Via Facebook Code