ImgZilla 1.3 officieel uitgebracht: een tool voor 'verliesvrije compressie van afbeeldingen ter plekke', waarom het zo lang duurde
ImgZilla is nu officieel beschikbaar in de Mac App Store.
De kernfunctionaliteit is duidelijk: verklein afbeeldingen op je Mac ter plekke – bestandsnamen, paden en formaten blijven ongewijzigd, de originele afbeelding gaat standaard naar de prullenbak en kan op elk moment worden hersteld.
Al deze bewerkingen vinden plaats op je eigen Mac, zonder internetverbinding. Afbeeldingen verlaten je computer niet en worden niet geüpload naar servers – privacy en gegevensbeveiliging zijn vanaf het begin een fundamenteel ontwerp.
Deze functionaliteit lijkt eenvoudig, maar we hebben vele rondes van testen, herzien en opnieuw opbouwen doorlopen. Dit artikel wil niet beschrijven 'welke functies we hebben gemaakt', maar de specifieke problemen die we in echte gebruiksscenario's tegenkwamen, en hoe ze uiteindelijk zijn opgelost.
'Ter plekke overschrijven' mag geen fouten kennen
De meeste tools voor beeldcompressie slaan het resultaat op als photo-min.jpg – veilig, maar met het ongemak dat jij de rest moet doen: bestandsnamen veranderen, verwijzingen in producttabellen, paden in websjablonen, sorteer- en archiefmappen moeten allemaal worden aangepast.
ImgZilla kiest een andere weg: het compressieresultaat wordt direct teruggeschreven naar het oorspronkelijke pad, de oorspronkelijke bestandsnaam en het oorspronkelijke formaat. JPG blijft JPG na compressie, verwijzingen hoeven niet te worden gewijzigd.
De prijs hiervan is: deze tool bewerkt de originele bestanden van de gebruiker. Als er ergens een fout optreedt, verlies je geen cache, maar foto's waar iemand een hele dag aan heeft gewerkt of een verzameling die jarenlang is opgebouwd.
Daarom zat de echte inspanning van het product nooit in de compressie zelf – de compressie overlaten we aan volwassen encoders – maar in de bescherming rondom 'wat als'. De volgende verbeteringen zijn allemaal naar voren gekomen tijdens het testen.
Dingen die tijdens het testen zijn aangepast
1. De strategie voor het beschermen van originele afbeeldingen is één keer volledig herzien
Het oorspronkelijke ontwerp kopieerde de originele afbeelding naar een speciale back-upmap. De logica klopte, maar het gebruik was onhandig: de back-upmap werd stilletjes groter en na maanden compressie ontdekte de gebruiker dat er een volledige kopie op de schijf stond, terwijl het doel juist ruimte besparen was.
De huidige aanpak is prullenbak eerst: bij succesvolle compressie wordt de originele afbeelding eerst naar de systeemprullenbak verplaatst en daarna wordt het compressieresultaat teruggeschreven naar het oorspronkelijke pad.
Herstellen doe je nu op de manier die elke Mac-gebruiker al kent: open de prullenbak, klik met de rechtermuisknop op 'Terugzetten'. Geen nieuwe concepten om te leren en geen verborgen map die steeds groter wordt. Deze optie is standaard ingeschakeld in de instellingen; uitschakelen betekent direct overschrijven zonder herstelmogelijkheid, dus bij uitschakelen verschijnt er een tweede bevestiging.
2. De melding over externe harde schijven werd door het testen opgelegd
Tijdens het testen op externe harde schijven, NAS en netwerkvolumes kwamen we een veelvoorkomend macOS-probleem tegen: op deze locaties kunnen bestanden vaak niet naar de prullenbak worden verplaatst.
In de eerste versie werd er gewoon een foutmelding gegeven en overgeslagen – met als gevolg dat de gebruiker een hele map erin sleepte en er niets gebeurde.
Nu is de aanpak: compressie wordt gepauzeerd en er verschijnt een dialoogvenster waarin je kunt kiezen:
- Een back-upmap selecteren: de originele afbeelding wordt daarheen gekopieerd en daarna overschreven;
- Back-up overslaan: na een tweede bevestiging direct overschrijven zonder kopie;
- Dialoogvenster sluiten: wordt beschouwd als annuleren, de hele taak stopt.
Een detail dat tijdens het testen is toegevoegd: jouw keuze wordt toegepast op alle resterende bestanden in deze sessie, anders zou je bij 500 afbeeldingen 500 keer het dialoogvenster krijgen – de eerste versie deed dat en na één keer gebruiken wilden we dat niet meer.
De geselecteerde back-upmap wordt opgeslagen als de standaard back-uplocatie (er wordt een submap op datum aangemaakt onder
~/Library/Application Support/ImgZilla Backups/) en bij latere vergelijkbare situaties wordt deze bij voorkeur gebruikt.
3. 'Al minimaal': liever niets doen
Sommige afbeeldingen zijn al gecomprimeerd voordat ze worden binnengesleept (met andere tools of eerder met ImgZilla). Opnieuw comprimeren levert meestal slechts een paar tienden van een procent volumevermindering op. Hiervoor hebben we een strikte regel ingesteld: als de compressieratio minder dan 0,4% is, laten we het met rust, in de lijst markeren we het als 'Al minimaal', het originele bestand blijft behouden en het kost geen gratis credits.
Deze regel maakt de statistieken minder indrukwekkend – als je een hele set reeds gecomprimeerde afbeeldingen erin sleept, kunnen de meeste als 'Al minimaal' worden weergegeven. Maar wij vinden: een tool die jouw afbeeldingen opnieuw comprimeert alleen om indruk te maken, is niet geschikt om op je originele bestanden los te laten.
4. Wanneer de extensie liegt
In de testmonsters kwamen veel bestanden voor met de extensie .png maar die eigenlijk JPEG waren – afbeeldingen die via allerlei kanalen zijn binnengekomen, veel meer dan je zou denken.
ImgZilla leest nu de magic bytes van de bestandskop om het echte formaat te bepalen en kiest de encoder op basis van het echte formaat. Zelfs als de extensie fout is, wordt het correct verwerkt.
5. Seriële verwerking in plaats van parallel
Eén voor één in volgorde comprimeren lijkt 'niet snel genoeg'. We hebben parallel verwerking geprobeerd; de snelheid nam wel toe, maar bij grote taken werd de status bij fouten onoverzichtelijk – en deze tool overschrijft de originele bestanden van de gebruiker.
Stabiliteit gaat boven pieksnelheid, dus we hebben uiteindelijk voor seriële verwerking gekozen. Seriëel betekent hier dat de taken één voor één worden verwerkt, maar het compressieproces van elke afbeelding zelf maakt intern gebruik van meerdere threads binnen de encoder, dus de multicore-capaciteit van de CPU wordt niet verspild. Als compensatie in de interface hebben we het volgende gedaan: het huidige verwerkte item wordt automatisch naar het zichtbare gebied gescrold; het scrollen pauzeert bij muis-over; onderaan wordt live het aantal verwerkte afbeeldingen en de bespaarde ruimte weergegeven; en na voltooiing wordt er een systeemmelding verstuurd.
6. Wanneer de gratis limiet is bereikt, pauzeert de taak in plaats van te stoppen
De gratis versie kan 10 afbeeldingen per dag comprimeren; de limiet wordt automatisch gereset bij het overschrijden van de dag. Tijdens het testen ontdekten we dat het moment waarop je wordt onderbroken, een wereld van verschil maakt voor de ervaring: als je 200 afbeeldingen erin sleept, de 10e direct faalt en de taak stopt, moet de gebruiker alle bestanden opnieuw toevoegen – dan wordt die melding pure ergernis.
Nu is het gedrag: als de limiet is bereikt, pauzeert de taak waar hij is en verschijnt het aankooppaneel; na aankoop gaat de taak verder waar hij was gebleven zonder dat er bestanden opnieuw hoeven te worden toegevoegd. Bovendien wordt de limiet alleen verbruikt bij succesvolle compressie – mislukte compressie of 'Al minimaal' telt niet mee.
7. 19 taalopties en een minder opvallende afsluiting
De interface ondersteunt volledig 19 taalopties (inclusief 'Systeem volgen', Vereenvoudigd Chinees, Traditioneel Chinees, English, 日本語, 한국어 en de belangrijkste Europese talen, العربية, Tiếng Việt enz.) en kan op elk moment worden gewisseld in de instellingen, de wijziging treedt onmiddellijk in werking zonder herstart.
Deze inspanning overtrof ruimschoots de verwachtingen en was een van de redenen waarom de releasedatum werd uitgesteld. Maar voor een tool die in de wereldwijde App Store staat, is het tonen van de moedertaal van de gebruiker een basisvorm van respect.
Over beeldkwaliteit: geloof ons niet, oordeel zelf
Het moeilijkste bij compressie is het opbouwen van vertrouwen. Daarom zijn we duidelijk:
- PNG (oxipng) en SVG (svgcleaner) zijn echt verliesvrije compressie, pixels veranderen niet;
- JPEG, WebP, AVIF, HEIC/HEIF en GIF zijn in principe verliesgevende hercoderingen, maar de parameters zijn gekozen binnen het visueel verliesvrije bereik – met het blote oog bijna niet te onderscheiden, maar het is niet 'verliesvrij'; we zullen deze termen niet door elkaar gebruiken.
En je hoeft deze uitspraak niet blindelings te accepteren. ImgZilla heeft een ingebouwd vergelijkingsvenster (⌘D): links voor compressie, rechts na compressie. Sleep de scheidingslijn in het midden om links en rechts te vergelijken, zoom in op ware grootte om details nauwkeurig te bekijken. Voor elke succesvol gecomprimeerde afbeelding in de lijst kun je met één klik de vergelijking oproepen.
Als het niet goed is, zet je de originele afbeelding gewoon terug vanuit de prullenbak. Die terugweg blijft altijd bestaan.
De parameters staan vast, er is geen kwaliteitsschuifregelaar in de interface. Dit is een bewuste afweging: het aanpassen van parameters vereist begrip van professionele concepten zoals kwantisatietabellen, coderingsmethode, snelheid, enz. Als je het verkeerd aanpast, levert het ofwel niets op ofwel wordt het wazig. Wij hebben dit werk al voor je gedaan – de parameters voor elk formaat zijn afzonderlijk afgesteld, sleep erafbeeldingen in en klik op comprimeren, en je krijgt het optimale evenwicht voor dat formaat met de huidige parameters.
Als je gewend bent om zelf compressieparameters aan te passen, raden we je nog steeds aan om ImgZilla eerst uit te proberen – de parameters zijn al afgesteld en kunnen je misschien het gepruts met vallen en opstaan besparen.
Wat het niet doet
Even belangrijke grenzen, hier opgesomd zodat je ze niet pas ontdekt na het downloaden:
- Alleen voor macOS (12.3 en hoger). Geen Windows-versie, geen iOS-versie, geen webversie.
- Converteert geen formaten. JPG blijft JPG na compressie, het wordt geen WebP.
- Verandert de afmetingen niet. Geen resolutieverkleining, geen uitsnijden.
- Garandeert niet dat het altijd kleiner wordt. Reeds geoptimaliseerde afbeeldingen kunnen waarschijnlijk helemaal niet worden verkleind; die worden eerlijk gemarkeerd als 'Al minimaal'.
- EXIF wordt standaard verwijderd (inclusief GPS-locatie, voor kleinere bestanden en meer privacy). Als je opnameparameters, auteursrecht en kleurprofielen wilt behouden, ga dan naar de instellingen en schakel handmatig 'EXIF-informatie behouden' in.
Er is nog een punt dat aparte nadruk verdient: alle compressie vindt plaats op je eigen Mac. Behalve de aankoopverificatie van de App Store heeft ImgZilla geen internetverbinding nodig, afbeeldingen verlaten je computer niet – er is geen wachtrij, geen limiet op het aantal, en er is geen sprake van 'uploaden naar andermans server'. De encoders zijn allemaal lokale statische bibliotheken die in de app zijn verpakt.
Nu kun je aan de slag
- Gratis versie: 10 afbeeldingen per dag, limiet wordt automatisch gereset bij dagovergang, geen functiebeperking.
- Beperking opheffen: een permanente versie (eenmalige aankoop, onbeperkt aantal) of een maandelijks abonnement, de prijs wordt weergegeven in jouw App Store-regio. Als je van computer wisselt of opnieuw installeert, klik je op 'Aankoop herstellen'.
Aanbevolen eerste gebruik: sleep eerst een willekeurige afbeelding waar je niet zoveel om geeft, comprimeer, klik op 'Vergelijk', bekijk zelf de kwaliteit en beslis dan of je de hele map eraan toevertrouwt.
Dat is ook hoe we hopen dat deze tool gebruikt wordt – eerst valideren, dan vertrouwen.
Als je vragen of suggesties hebt, laat het ons weten via het menu 'Help → Feedback'. 1.3 is een versie waarop je kunt vertrouwen, maar het zal zeker niet de laatste zijn.
ImgZilla 1.3 is nu beschikbaar in de Mac App Store. Vereist macOS 12.3 of nieuwer.
Nu downloaden -> App Store