Dziś ImgZilla 1.3 oficjalnie trafia do Mac App Store.
Jego główna funkcja jest jasna: kompresuje obrazy na Macu w miejscu — nazwa pliku, ścieżka i format pozostają bez zmian, a oryginał domyślnie trafia do kosza, skąd w każdej chwili można go przywrócić.
Wszystkie te operacje odbywają się na Twoim własnym Macu, bez połączenia z internetem; obrazy nie opuszczają komputera i nie są przesyłane na żaden serwer — prywatność i bezpieczeństwo danych były podstawowym założeniem od samego początku.
Ta funkcja wydaje się prosta, ale wielokrotnie ją testowaliśmy, burzyliśmy i przebudowywaliśmy. Ten artykuł nie ma opisywać „jakie funkcje dodaliśmy”, lecz konkretne problemy napotkane w realnych scenariuszach użytkowania oraz to, jak ostatecznie je rozwiązaliśmy.
„Kompresja w miejscu” – tu nie ma miejsca na bylejakość
Większość narzędzi do kompresji obrazów zapisuje wynik jako photo-min.jpg — bezpieczne, ale zostawia problem Tobie: zmienia się nazwa pliku, a wraz z nią odwołania w arkuszach produktów, ścieżki w szablonach stron internetowych i sortowanie w katalogach archiwalnych.
ImgZilla wybrał inną drogę: wynik kompresji zapisuje bezpośrednio pod oryginalną ścieżką, z oryginalną nazwą pliku i w oryginalnym formacie. JPG po kompresji pozostaje JPG, nie trzeba zmieniać ani jednego odwołania.
Kosztem jest to, że to narzędzie operuje na oryginalnych plikach użytkownika. Jeśli coś pójdzie nie tak, nie stracisz plików tymczasowych, lecz zdjęcia z całego dnia i kolekcję gromadzoną latami.
Dlatego najwięcej czasu poświęciliśmy nie samej kompresji — do tego wystarczą dojrzałe kodery — lecz warstwie zabezpieczeń na wypadek „co jeśli”. Poniższe ulepszenia wynikają z realnych sytuacji napotkanych podczas testów.
Kilka rzeczy poprawionych podczas testów
1. Strategia ochrony oryginałów – przebudowana od zera raz
Pierwotny projekt zakładał kopiowanie oryginałów do dedykowanego katalogu kopii zapasowych. Logika była poprawna, ale w praktyce okazało się to niewygodne: katalog kopii rósł niepostrzeżenie i po miesiącach kompresji użytkownik odkrywał na dysku pełną dodatkową kopię, podczas gdy pierwotnym celem było właśnie oszczędzanie miejsca.
Obecne podejście to najpierw kosz systemowy: po udanej kompresji oryginał trafia do kosza, a dopiero potem wynik kompresji jest zapisywany pod oryginalną ścieżką.
Przywracanie staje się operacją, którą zna każdy użytkownik Maca — otwórz kosz, kliknij prawym przyciskiem i wybierz „Umieść z powrotem”. Nie trzeba uczyć się nowych pojęć ani martwić rosnącym ukrytym katalogiem. Ta opcja jest domyślnie włączona w ustawieniach; wyłączenie oznacza bezpośrednie nadpisanie bez możliwości odzyskania, dlatego przed wyłączeniem pojawia się drugie potwierdzenie.
2. Okno dialogowe na dysku zewnętrznym – wymuszone przez testy
Podczas testów na dyskach przenośnych, NAS i wolumenach sieciowych napotkaliśmy częsty problem w macOS: z tych lokalizacji często nie można przenieść plików do kosza.
Pierwsza wersja po prostu zgłaszała błąd i pomijała plik — efekt: użytkownik przeciągał cały folder i nic się nie działo.
Obecnie kompresja jest wstrzymywana i pojawia się okno z wyborem:
- Wybierz katalog kopii zapasowej: oryginał zostanie skopiowany w to miejsce, a następnie nadpisany;
- Zrezygnuj z kopii: po drugim potwierdzeniu plik zostanie bezpośrednio nadpisany bez zachowania kopii;
- Zamknij okno: traktowane jako anulowanie, całe zadanie zostaje przerwane.
Jest jeszcze jeden szczegół dodany podczas testów: Twój wybór zostanie zastosowany do wszystkich pozostałych plików w bieżącym zadaniu, w przeciwnym razie przy 500 zdjęciach pojawiłoby się 500 okien — tak było w pierwszej wersji; wystarczyło raz tego użyć, by uznać to za nie do zniesienia.
Wybrany katalog kopii zapasowej jest zapamiętywany jako domyślna lokalizacja kopii (podkatalogi tworzone wg czasu w
~/Library/Application Support/ImgZilla Backups/), a przy kolejnych podobnych sytuacjach będzie używany w pierwszej kolejności.
3. „Już zminimalizowany”: lepiej nic nie robić
Niektóre obrazy są już skompresowane, zanim je przeciągniesz (czy to innym narzędziem, czy wcześniej samym ImgZilla); ponowna kompresja zwykle daje tylko ułamek procenta zmiany rozmiaru. Przyjęliśmy twardą zasadę: jeśli oszczędność miejsca jest mniejsza niż 0,4%, nie ruszamy pliku; na liście oznaczamy go jako „Już zminimalizowany”, oryginał pozostaje nietknięty i nie zużywa bezpłatnego limitu.
Ta reguła sprawia, że statystyki wyglądają mniej imponująco — po przeciągnięciu całej kolekcji już zoptymalizowanych obrazów większość może być oznaczona jako „Już zminimalizowany”. Uważamy jednak, że narzędzie, które ponownie kompresuje Twoje obrazy tylko po to, by ładnie wyglądać w statystykach, nie zasługuje na dostęp do Twoich oryginalnych plików.
4. Gdy rozszerzenie pliku kłamie
W próbkach testowych trafiało się sporo plików z rozszerzeniem .png, które w rzeczywistości były JPEG-ami — obrazy krążące z różnych źródeł są częstsze, niż można by sądzić.
Teraz ImgZilla odczytuje magiczne bajty z nagłówka pliku, aby ustalić prawdziwy format, i na tej podstawie wybiera koder. Nawet błędne rozszerzenie zostanie poprawnie obsłużone.
5. Przetwarzanie sekwencyjne, a nie równoległe
Kompresja po jednym pliku może wydawać się „niewystarczająco szybka”. Próbowaliśmy przetwarzania równoległego i szybkość faktycznie wzrosła, ale w dużych zadaniach trudno było śledzić stan po wystąpieniu błędu — a to narzędzie operuje na oryginalnych plikach użytkownika.
Stabilność ma pierwszeństwo nad szybkością szczytową, dlatego ostatecznie pozostało przetwarzanie sekwencyjne. Należy wyjaśnić, że sekwencyjność dotyczy obsługi zadań po kolei, natomiast sama kompresja każdego obrazu jest wykonywana wewnątrz kodera z użyciem wielu wątków, więc wielordzeniowy procesor nie jest marnowany. Jako rekompensatę w interfejsie dodaliśmy: bieżący element automatycznie przewija się do widocznego obszaru, po najechaniu myszą automatyczne przewijanie jest wstrzymywane, na dole na bieżąco pokazujemy liczbę przetworzonych plików i zaoszczędzone miejsce, a po zakończeniu wysyłamy powiadomienie systemowe.
6. Po wyczerpaniu limitu darmowego zadanie jest „wstrzymane”, a nie „przerwane”
Wersja darmowa pozwala skompresować 10 obrazów dziennie, limit resetuje się automatycznie po północy. Podczas testów odkryliśmy, że moment przerwania ma ogromne znaczenie dla doświadczenia: jeśli przeciągniesz 200 zdjęć, a kompresja zatrzyma się na 10. i zakończy błędem, będziesz musiał ponownie dodać wszystkie pliki — taki komunikat byłby czystym utrapieniem.
Obecnie po wyczerpaniu limitu zadanie jest wstrzymywane w miejscu, w którym się zatrzymało, i pojawia się panel zakupu; po dokonaniu zakupu kompresja wznawia się od punktu przerwania i nie trzeba ponownie dodawać żadnych plików. Co więcej, limit jest odejmowany tylko przy udanej kompresji — błędy i status „Już zminimalizowany” nie pomniejszają limitu.
7. Opcje 19 języków i mniej widoczne zakończenie
Interfejs w pełni obsługuje 19 wariantów językowych (w tym „Zgodnie z systemem”, chiński uproszczony i tradycyjny, English, 日本語, 한국어 oraz główne języki europejskie, العربية, Tiếng Việt itd.). Język można zmienić w ustawieniach w dowolnym momencie, zmiana działa natychmiast, bez ponownego uruchamiania.
Nakład pracy był znacznie większy, niż oczekiwaliśmy, i jest to jeden z powodów opóźnienia premiery. Jednak dla narzędzia dostępnego globalnie w App Store pokazanie użytkownikom ich ojczystego języka to podstawowy wyraz szacunku.
O jakości obrazu: nie wierz nam, sprawdź sam
Najtrudniej w kompresji jest zbudować zaufanie. Dlatego mówimy wprost:
- PNG (oxipng) i SVG (svgcleaner) to prawdziwie bezstratna kompresja, piksele pozostają niezmienione;
- JPEG, WebP, AVIF, HEIC/HEIF i GIF są z zasady stratnym ponownym kodowaniem, ale parametry dobrano w zakresie wizualnie bezstratnym — gołym okiem różnica jest prawie niewidoczna, ale nie jest to „bezstratne” i nie będziemy tych dwóch pojęć mylić.
Co więcej, nie musisz przyjmować tego na wiarę. ImgZilla ma wbudowane okno porównania obrazów (⌘D): po lewej stronie obraz przed kompresją, po prawej po; przeciągnij linię podziału, aby porównać, możesz powiększyć do rzeczywistego rozmiaru i dokładnie sprawdzić szczegóły. Dla każdego pomyślnie skompresowanego obrazu na liście możesz jednym kliknięciem otworzyć porównanie.
Jeśli uznasz, że nie jest dobrze, po prostu przywróć oryginał z kosza. Ta droga odwrotu jest zawsze dostępna.
Parametry są stałe, w interfejsie nie ma suwaka jakości. To świadomy kompromis: dostrajanie wymaga zrozumienia specjalistycznych pojęć, takich jak tablice kwantyzacji, metoda kodowania czy szybkość; błędne ustawienie kończy się albo brakiem oszczędności, albo rozmazanym obrazem. Zrobiliśmy to za Ciebie — parametry każdego formatu zostały osobno skalibrowane; przeciągnij plik, kliknij kompresuj i otrzymasz optymalny punkt równowagi dla danego formatu przy bieżących ustawieniach.
Jeśli wolisz samodzielnie dostrajać parametry kompresji, i tak zachęcamy do wypróbowania ImgZilla — parametry są już wyregulowane i mogą oszczędzić Ci wielu prób i błędów.
Czego nie robi
Równie ważne ograniczenia — zapisujemy je tutaj, żebyś nie dowiedział się o nich dopiero po pobraniu:
- Tylko macOS (12.3 lub nowszy). Nie ma wersji dla Windows, iOS ani wersji internetowej.
- Nie konwertuje formatów. JPG po kompresji pozostaje JPG, nie zmieni się w WebP.
- Nie zmienia rozmiarów. Nie zmniejsza rozdzielczości ani nie przycina.
- Nie gwarantuje, że zawsze zmniejszy plik. Obrazy już zoptymalizowane mogą się w ogóle nie zmniejszyć; zostaną uczciwie oznaczone jako „Już zminimalizowany”.
- Domyślnie usuwa EXIF (w tym dane GPS; plik jest mniejszy i lepiej chroniona jest prywatność). Jeśli potrzebujesz zachować parametry zdjęcia, prawa autorskie i profil kolorów, przejdź do ustawień i ręcznie włącz „Zachowaj informacje EXIF”.
Jest jeszcze jedna rzecz warta osobnego podkreślenia: cała kompresja odbywa się lokalnie na Twoim Macu. Poza weryfikacją zakupu w App Store ImgZilla nie potrzebuje połączenia z internetem, obrazy nie opuszczają komputera — nie ma kolejek, limitów liczby plików ani „wysyłania na czyjś serwer”. Wszystkie kodery to lokalne biblioteki statyczne dołączone do aplikacji.
Już teraz możesz zacząć
- Wersja darmowa: 10 obrazów dziennie, automatyczne resetowanie o północy, pełna funkcjonalność.
- Odblokowanie: licencja wieczysta (jednorazowy zakup, bez limitu liczby plików) lub miesięczna subskrypcja; cena zależy od regionu App Store. Po zmianie komputera lub ponownej instalacji wystarczy kliknąć „Przywróć zakupy”.
Sugerowany sposób na pierwszy raz: przeciągnij jedno zdjęcie, na którym Ci mniej zależy, po kompresji kliknij „Porównaj”, oceń jakość i dopiero wtedy zdecyduj, czy powierzyć mu cały folder.
Taki właśnie sposób użytkowania zalecamy — najpierw zweryfikuj, potem zaufaj.
W razie pytań lub sugestii zapraszamy do kontaktu przez menu „Pomoc → Opinia”. Wersja 1.3 jest gotowa do bezpiecznego użytkowania, ale z pewnością nie będzie ostatnią.
ImgZilla 1.3 jest już dostępny w Mac App Store. Wymaga systemu macOS 12.3 lub nowszego.