ImgZilla 1.3 è ufficialmente disponibile: uno strumento di compressione immagini senza perdita 'in-place', perché ci abbiamo messo tanto
ImgZilla è ora disponibile sul Mac App Store.
La sua funzione principale è chiara: riduci le dimensioni delle immagini sul tuo Mac senza modificare nome file, percorso o formato; l'originale viene spostato nel cestino per impostazione predefinita, così puoi sempre ripristinarlo.
Tutte queste operazioni vengono eseguite interamente sul tuo Mac, senza bisogno di connessione internet; le immagini non lasciano mai il tuo computer e non vengono caricate su alcun server: la privacy e la sicurezza dei dati sono state integrate fin dal principio.
Questa funzionalità può sembrare semplice, ma l'abbiamo testata, rivista e rifatta molte volte. Questo articolo non vuole raccontare 'cosa abbiamo fatto', ma piuttosto i problemi concreti incontrati nell'uso reale e come sono stati infine risolti.
'Sovrascrittura in-place': non si scherza
La maggior parte degli strumenti di compressione salva il risultato come photo-min.jpg, una scelta sicura ma che ti lascia con un problema: il nome del file cambia, e tutti i riferimenti nelle tabelle prodotti, i percorsi nei template web, l'ordinamento delle directory di archivio vanno modificati di conseguenza.
ImgZilla ha scelto un'altra strada: il risultato della compressione viene scritto direttamente nel percorso originale, con lo stesso nome file e lo stesso formato. Un JPG resta un JPG dopo la compressione, e i riferimenti non devono essere modificati di una virgola.
Il prezzo da pagare è: questo strumento lavora sui file originali dell'utente. Se qualcosa va storto, non si perdono dati della cache, ma foto scattate in un'intera giornata o collezioni accumulate in anni.
Ecco perché il vero impegno nello sviluppo non è stato sulla compressione in sé (affidata a encoder maturi), ma su tutto ciò che la circonda per il 'caso peggiore'. I miglioramenti descritti di seguito sono emersi tutti durante i test reali.
Cose cambiate durante i test
1. Strategia di protezione dell'originale, rifatta da zero
Il progetto iniziale prevedeva di copiare l'originale in una directory di backup dedicata. La logica era corretta, ma l'uso risultava scomodo: la directory di backup cresceva silenziosamente, e dopo mesi l'utente si ritrovava con una copia completa in più sul disco, proprio quando l'obiettivo era risparmiare spazio.
Ora adottiamo l'approccio cestino prima di tutto: quando la compressione riesce, l'originale viene spostato nel cestino di sistema, e solo dopo il risultato compresso viene scritto nel percorso originale.
Il ripristino diventa un'operazione che ogni utente Mac conosce: apri il cestino, fai clic destro e seleziona 'Ripristina'. Non c'è bisogno di imparare nuovi concetti, né di avere directory nascoste che crescono. Questa opzione è attivata per impostazione predefinita nelle impostazioni; disattivandola, la sovrascrittura è diretta e irreversibile, quindi viene mostrato un secondo avviso di conferma quando la si disabilita.
2. Il popup sui dischi esterni, nato dai test
Durante i test su dischi esterni, NAS e volumi di rete, abbiamo incontrato un problema comune su macOS: spesso in queste posizioni non è possibile spostare i file nel cestino.
Nella prima versione, semplicemente segnalavamo l'errore e saltavamo il file, con il risultato che l'utente trascinava un'intera cartella e non succedeva nulla.
Ora invece: la compressione viene messa in pausa e appare un popup che ti permette di scegliere:
- Scegliere una directory di backup: l'originale viene copiato lì, poi sovrascritto;
- Rinunciare al backup: dopo una seconda conferma, si sovrascrive direttamente senza conservare copia;
- Chiudere il popup: viene considerato come annullamento, e l'intera operazione si interrompe.
C'è un dettaglio aggiunto durante i test: la tua scelta viene applicata a tutti i file rimanenti dell'operazione corrente, altrimenti con 500 immagini avresti 500 popup consecutivi (la prima versione faceva così, e dopo averla usata una volta noi stessi non ne potevamo più).
La directory di backup selezionata viene registrata come posizione predefinita (con sottodirectory basate sulla data in
~/Library/Application Support/ImgZilla Backups/), e verrà riutilizzata in futuro per situazioni simili.
3. 'Già minimo': meglio non fare nulla
Alcune immagini sono già state compresse prima di essere trascinate (con altri strumenti o con ImgZilla stesso in precedenza), e una nuova compressione di solito produce una riduzione di pochi decimi di punto percentuale. Per questo abbiamo stabilito una regola rigida: se il rapporto di compressione è inferiore allo 0,4%, non tocchiamo il file. Nell'elenco viene contrassegnato come 'Già minimo', l'originale rimane intatto e non consuma il limite gratuito.
Questa regola rende le statistiche meno appariscenti: se trascini un'intera raccolta già compressa, la maggior parte potrebbe risultare 'Già minimo'. Ma riteniamo che uno strumento che ricomprime le tue immagini solo per mostrare risultati migliori non meriti di lavorare sui tuoi file originali.
4. Quando l'estensione inganna
Nei nostri campioni di test, non erano rari i file con estensione .png ma in realtà JPEG: immagini passate attraverso vari canali, più di quanto si pensi.
Ora ImgZilla legge i byte magici dell'intestazione del file per determinare il formato reale e sceglie l'encoder appropriato. Anche se l'estensione è sbagliata, il file viene gestito correttamente.
5. Elaborazione seriale, non parallela
Elaborare un'immagine dopo l'altra può sembrare 'poco veloce'. Abbiamo provato l'elaborazione parallela, e la velocità migliorava, ma in caso di errori durante compiti su larga scala lo stato diventava difficile da tracciare, e questo strumento sta sovrascrivendo i file originali dell'utente.
La stabilità ha la priorità sulla velocità massima, e abbiamo mantenuto l'elaborazione seriale. Va precisato che 'seriale' si riferisce all'elaborazione di un file alla volta, ma la compressione di ogni singola immagine sfrutta internamente il multithreading dell'encoder, senza sprecare la capacità multi-core della CPU. Come compensazione nell'interfaccia, abbiamo aggiunto: l'elemento in elaborazione viene automaticamente portato nell'area visibile, lo scorrimento automatico si mette in pausa al passaggio del mouse, nella parte inferiore vengono mostrati in tempo reale il numero di file elaborati e lo spazio risparmiato, e al termine viene inviata una notifica di sistema.
6. Quando il limite gratuito è raggiunto, l'operazione va in 'pausa' e non viene 'annullata'
La versione gratuita permette di comprimere 10 immagini al giorno, con ripristino automatico il giorno successivo. Durante i test abbiamo capito che il momento in cui si viene interrotti cambia completamente l'esperienza: se trascini 200 immagini e dopo la decima l'operazione fallisce e si ferma, costringendoti a ricaricare tutti i file, quel messaggio diventa puro disturbo.
Ora invece: quando il limite è raggiunto, l'operazione si mette in pausa dov'è, appare il pannello di acquisto; dopo l'acquisto, riprende da dove era stata interrotta senza dover aggiungere di nuovo alcun file. Inoltre, il conteggio scala solo se la compressione ha successo: i fallimenti o i file 'già minimo' non vengono contati.
7. Opzioni per 19 lingue, e un tocco finale poco appariscente
L'interfaccia supporta completamente 19 lingue (tra cui 'Segui il sistema', cinese semplificato e tradizionale, inglese, giapponese, coreano, le principali lingue europee, arabo, vietnamita e altre), selezionabili in qualsiasi momento dalle impostazioni. Il cambio ha effetto immediato, senza bisogno di riavviare.
Questo ha richiesto molto più lavoro del previsto ed è una delle cause del ritardo nel rilascio. Ma per uno strumento distribuito globalmente sull'App Store, permettere agli utenti di vederlo nella propria lingua madre è una questione di rispetto fondamentale.
Sulla qualità: non crederci sulla parola, guarda tu stesso
La cosa più difficile da guadagnare nella compressione è la fiducia. Per questo siamo chiari:
- PNG (oxipng) e SVG (svgcleaner) sono compressioni veramente senza perdita, i pixel rimangono identici;
- JPEG, WebP, AVIF, HEIC/HEIF, GIF sono per loro natura ricodifiche con perdita, ma i parametri sono scelti per un risultato visivamente senza perdita: a occhio nudo è quasi impossibile distinguere, ma non è 'senza perdita', e non useremo mai questi due termini come sinonimi.
Inoltre, non devi accettarlo sulla fiducia. ImgZilla include una finestra di confronto immagini (⌘D): a sinistra l'originale, a destra la versione compressa; trascina la linea divisoria per confrontarle, puoi ingrandire a dimensione reale ed esaminare ogni dettaglio. Ogni immagine compressa con successo nell'elenco può aprire il confronto con un clic.
Se non ti convince, ripristina l'originale dal cestino. Questa via d'uscita c'è sempre.
I parametri sono fissi, non c'è uno slider della qualità nell'interfaccia. È una scelta deliberata: regolare i parametri richiederebbe di capire concetti tecnici come tabelle di quantizzazione, metodo di codifica, velocità, e un errore porterebbe a compressioni inutili o sfocate. Noi l'abbiamo fatto per te: ogni formato ha i suoi parametri calibrati individualmente. Trascina l'immagine, clicca su comprimi, e ottieni il miglior equilibrio possibile per quel formato con i parametri attuali.
Se sei abituato a regolare manualmente i parametri di compressione, ti consigliamo comunque di provare ImgZilla: i parametri sono già ottimizzati e forse ti faranno risparmiare tempo di tentativi.
Cosa non fa
Ecco i limiti, altrettanto importanti, così non li scopri dopo averlo scaricato:
- Solo macOS (12.3 o successivo). Nessuna versione Windows, iOS o web.
- Non converte i formati. Un JPG resta JPG, non diventa WebP.
- Non modifica le dimensioni. Nessun ridimensionamento o ritaglio.
- Non garantisce sempre una compressione. Le immagini già ottimizzate potrebbero non ridursi affatto e verranno onestamente contrassegnate come 'Già minimo'. Gli EXIF vengono rimossi per impostazione predefinita (inclusi i dati GPS, per file più piccoli e maggiore privacy). Se hai bisogno di conservare parametri di scatto, copyright e profili colore, abilita manualmente 'Conserva dati EXIF' nelle impostazioni.
Un ultimo punto da sottolineare: tutta la compressione avviene in locale sul tuo Mac. A parte la verifica degli acquisti sull'App Store, ImgZilla non necessita di connessione internet, le immagini non lasciano mai il tuo computer: nessuna coda, nessun limite di quantità, nessun 'caricamento su server altrui'. Tutti gli encoder sono librerie statiche locali incluse nell'app.
Ora puoi iniziare a usarlo
- Versione gratuita: 10 immagini al giorno, ripristino automatico il giorno successivo, nessuna limitazione delle funzionalità.
- Per rimuovere il limite: versione perpetua (acquisto unico, illimitata) o abbonamento mensile, i prezzi sono mostrati in base alla regione del tuo App Store. Se cambi computer o reinstalli, basta cliccare su 'Ripristina acquisti'.
Consiglio per il primo utilizzo: trascina un'immagine di prova a cui non tieni particolarmente, dopo la compressione clicca su 'Confronta', giudica tu stesso la qualità, e poi decidi se affidargli un'intera cartella.
Questo è anche il modo in cui vorremmo che lo strumento venisse usato: prima verifica, poi fidati.
Per qualsiasi domanda o suggerimento, contattaci dal menu 'Aiuto → Feedback'. La 1.3 è una versione su cui puoi fare affidamento, ma sicuramente non sarà l'ultima.
ImgZilla 1.3 è ora disponibile su Mac App Store. Richiede macOS 12.3 o successivo.
Scarica subito -> App Store