← Powrót do bloga

ImgZilla 1.3 – Oficjalne wydanie

ImgZilla 1.3 oficjalnie wydany: narzędzie do bezstratnej kompresji obrazów w miejscu – dlaczego trwało to tak długo. ImgZilla dostępny w Mac App Store. Główna funkcja: zmniejszanie obrazów na Macu bez zmiany nazw, ścieżek i formatów, oryginał trafia do kosza.

Udostępnij

ImgZilla 1.3 – Oficjalne wydanie: narzędzie do „bezstratnej kompresji obrazów w miejscu” – dlaczego trwało to tak długo

ImgZilla trafił do Mac App Store.

Jego kluczowa funkcja jest jasna: zmniejszanie obrazów na Macu bez zmiany nazw plików, ścieżek i formatów – oryginalne pliki domyślnie trafiają do kosza, skąd można je przywrócić.

Wszystkie te operacje wykonują się w całości na Twoim Macu, bez potrzeby łączenia z internetem. Zdjęcia nie opuszczają komputera i nie są przesyłane na żadne serwery – prywatność i bezpieczeństwo danych były priorytetem od samego początku projektowania.

Ta funkcja wydaje się prosta, ale wielokrotnie testowaliśmy, przerabialiśmy i ulepszaliśmy ją od podstaw. Ten artykuł nie opisuje „co zrobiliśmy”, ale konkretne problemy napotkane w rzeczywistych scenariuszach użytkowania oraz to, jak ostatecznie je rozwiązaliśmy.


„Nadpisywanie w miejscu” – bez półśrodków

Większość narzędzi do kompresji obrazów zapisuje wyniki jako photo-min.jpg – to bezpieczne, ale przenosi problem na Ciebie: zmieniają się nazwy plików, a wraz z nimi referencje w tabelach produktów, ścieżki w szablonach stron czy porządek w archiwach.

ImgZilla wybrał inną drogę: wynik kompresji jest zapisywany bezpośrednio pod tą samą ścieżką, z tą samą nazwą i w tym samym formacie. Plik JPG po kompresji pozostaje JPG, nie trzeba aktualizować żadnych odwołań.

Koszt: to narzędzie modyfikuje oryginalne pliki użytkownika. Jeśli gdzieś pójdzie coś nie tak, strata nie dotyczy plików tymczasowych, ale zdjęć, które ktoś robił przez cały dzień lub kolekcji gromadzonej latami.

Dlatego prawdziwy wysiłek włożono nie w samą kompresję – do tego wystarczą dojrzałe kodery – ale w system zabezpieczeń na wypadek awarii. Poniższe ulepszenia wynikły właśnie z testów.


Rzeczy zmienione podczas testów

1. Ochrona oryginałów – przeprojektowana

Początkowo plan zakładał kopiowanie oryginału do dedykowanego katalogu kopii zapasowych. Logicznie poprawne, ale w praktyce niewygodne: katalog kopii rósł w ukryciu, a użytkownik po kilku miesiącach orientował się, że na dysku znajduje się pełna kopia plików, podczas gdy celem było oszczędzanie miejsca.

Obecne podejście to priorytet kosza: po pomyślnej kompresji oryginał jest przenoszony do systemowego kosza, a następnie kompresowany plik zapisywany jest na jego miejscu.

Przywracanie sprowadza się do czynności znanej każdemu użytkownikowi Maca – otwarcia kosza i wybrania „Przywróć”. Nie trzeba uczyć się nowych pojęć ani martwić rosnącym ukrytym katalogiem. Opcja ta jest domyślnie włączona w ustawieniach; wyłączenie oznacza bezpośrednie nadpisanie bez możliwości przywrócenia, dlatego jej wyłączenie wymaga dodatkowego potwierdzenia.

2. Okno dialogowe na zewnętrznych dyskach – wynik testów

Podczas testów na dyskach przenośnych, NAS-ach i wolumenach sieciowych napotkaliśmy typowy problem w macOS: w takich lokalizacjach często nie można przenieść pliku do kosza.

Pierwsza wersja po prostu zgłaszała błąd i pomijała plik – w efekcie użytkownik przeciągał cały folder i nic się nie działo.

Obecnie: kompresja jest wstrzymywana i pojawia się okno dialogowe z opcjami:

  • Wybierz katalog kopii zapasowej: oryginał jest tam kopiowany, a następnie nadpisywany;
  • Zrezygnuj z kopii: po potwierdzeniu plik zostanie bezpośrednio nadpisany, bez tworzenia kopii;
  • Zamknij okno: traktowane jako anulowanie – całe zadanie zostaje przerwane.

Dodatkowym szczegółem wprowadzonym po testach jest: Twój wybór zostanie zastosowany do wszystkich pozostałych plików w bieżącym zadaniu – w przeciwnym razie przy 500 zdjęciach okno pojawiałoby się 500 razy. Tak właśnie działała pierwsza wersja i po jednorazowym użyciu stwierdziliśmy, że to nie do przyjęcia.

Wybrany katalog kopii zapasowej jest zapamiętywany jako domyślna lokalizacja kopii (~/Library/Application Support/ImgZilla Backups/ z podkatalogami według daty) i będzie preferowany przy kolejnych podobnych sytuacjach.

3. „Już zminimalizowane” – lepiej nic nie robić

Niektóre obrazy zostały już wcześniej skompresowane (innym narzędziem lub wcześniej przez ImgZillę) i ponowna kompresja zwykle daje zaledwie ułamki procenta oszczędności. Przyjęliśmy sztywną zasadę: jeśli stopień kompresji jest mniejszy niż 0,4%, plik nie jest ruszany, na liście oznaczany jako „Już zminimalizowane”, a oryginał pozostaje nietknięty i nie zużywa darmowego limitu.

Ta reguła sprawia, że statystyki mogą wyglądać mniej imponująco – po przeciągnięciu całego albumu już skompresowanych zdjęć większość z nich pokaże status „Już zminimalizowane”. Uważamy jednak, że narzędzie, które dla poprawy statystyk ponownie kompresuje Twoje obrazy, nie powinno mieć dostępu do oryginalnych plików.

4. Gdy rozszerzenia plików kłamią

W zestawach testowych pojawiło się wiele plików z rozszerzeniem .png, które w rzeczywistości były JPEG-ami – pliki krążące w obiegu, których było więcej, niż można przypuszczać.

Teraz ImgZilla odczytuje magiczne bajty nagłówka pliku, aby określić prawdziwy format, i dobiera koder zgodnie z nim. Nawet błędne rozszerzenie nie stanowi problemu.

5. Przetwarzanie szeregowe, nie równoległe

Kompresja jedna po drugiej wydaje się „wolna”. Próbowaliśmy przetwarzania równoległego, które istotnie przyspieszało pracę, ale przy dużych zadaniach trudno było śledzić stan w razie błędów – a to narzędzie nadpisuje oryginalne pliki użytkownika.

Stabilność ważniejsza od szczytowej szybkości – ostatecznie zachowaliśmy przetwarzanie szeregowe. Należy zaznaczyć, że „szeregowo” oznacza sekwencyjne przetwarzanie zadań, natomiast sam proces kompresji każdego obrazu wykorzystuje wewnętrznie wiele wątków, dzięki czemu nie marnuje się mocy wielordzeniowego procesora. Jako rekompensatę w interfejsie dodaliśmy: automatyczne przewijanie listy do aktualnie przetwarzanego elementu, pauzę przewijania po najechaniu myszą, wyświetlanie na bieżąco liczby przetworzonych obrazów i zaoszczędzonego miejsca na dole okna oraz powiadomienie systemowe po zakończeniu wszystkich zadań.

6. Gdy limit darmowy się wyczerpie, zadanie jest „wstrzymywane”, a nie „przerywane”

Darmowa wersja pozwala na 10 obrazów dziennie, a licznik resetuje się o północy. Podczas testów odkryliśmy, że moment przerwania ma kluczowe znaczenie dla wygody: jeśli po przeciągnięciu 200 zdjęć kompresja zatrzyma się po 10 i zakończy się błędem, a użytkownik musiałby ponownie dodawać wszystkie pliki – taki komunikat byłby czystą irytacją.

Obecnie po wyczerpaniu limitu zadanie jest wstrzymywane w miejscu i pojawia się panel zakupu; po dokonaniu zakupu kompresja jest kontynuowana od miejsca przerwania, bez konieczności ponownego dodawania plików. Ponadto limit jest odejmowany tylko za udaną kompresję – nieudane próby ani pliki oznaczone jako „Już zminimalizowane” nie są wliczane.

7. 19 wersji językowych i mniej widoczny szczegół

Interfejs w pełni obsługuje 19 wersji językowych (m.in. „Śledź system”, chiński uproszczony i tradycyjny, English, 日本語, 한국어, główne języki europejskie, العربية, Tiếng Việt itp.), które można zmieniać w ustawieniach – zmiana następuje natychmiast, bez konieczności ponownego uruchamiania.

Nakład pracy nad tą funkcją znacznie przekroczył oczekiwania i był jednym z powodów opóźnienia premiery. Jednak dla narzędzia dostępnego globalnie w App Store, umożliwienie użytkownikom obsługi we własnym języku to kwestia podstawowego szacunku.


O jakości obrazu: nie wierz nam, sprawdź sam

Najtrudniejszą rzeczą w kompresji jest zdobycie zaufania. Dlatego mówimy jasno:

  • PNG (oxipng) i SVG (svgcleaner) to kompresja naprawdę bezstratna, bez zmiany pikseli;
  • JPEG, WebP, AVIF, HEIC/HEIF, GIF są z natury stratną rekompresją, ale parametry dobrano tak, aby były wizualnie bezstratne – ludzkie oko praktycznie nie dostrzega różnicy, ale nie jest to „bezstratność”; nie mylimy tych pojęć.

Co więcej, nie musisz przyjmować tego na słowo. ImgZilla ma wbudowane okno porównawcze (⌘D): po lewej przed kompresją, po prawej po, z możliwością przeciągania linii podziału i powiększania do rzeczywistego rozmiaru, aby dokładnie porównać szczegóły. Dla każdego pomyślnie skompresowanego obrazu na liście można jednym kliknięciem wywołać porównanie.

Jeśli coś jest nie tak, przywróć oryginał z Kosza. Ta ścieżka odwrotu jest zawsze dostępna.

Parametry są stałe, w interfejsie nie ma suwaka jakości. To świadomy wybór: dostrajanie wymagałoby rozumienia tabel kwantyzacji, metody kodowania, szybkości itp., a jeden błąd może sprawić, że kompresja będzie nieskuteczna lub zniszczy obraz. Zrobiliśmy to za Ciebie – parametry dla każdego formatu zostały skonfigurowane indywidualnie; po prostu przeciągnij i kliknij kompresuj, a otrzymasz idealny balans dla danego formatu przy tych ustawieniach.

Jeśli jesteś przyzwyczajony do samodzielnego dostosowywania parametrów, i tak zachęcamy do wypróbowania ImgZilli – parametry są już skalibrowane i mogą zaoszczędzić czas na wielokrotne próby i błędy.


Czego nie robi

Równie ważne ograniczenia, które warto znać przed pobraniem:

  • Tylko macOS (12.3 lub nowszy). Nie ma wersji na Windows, iOS ani przeglądarkowej.
  • Nie konwertuje formatów. JPG po kompresji pozostaje JPG, nie zmieni się w WebP.
  • Nie zmienia rozmiarów. Nie skaluje, nie przycina.
  • Nie gwarantuje, że zawsze zmniejszy. Obrazy już zoptymalizowane prawdopodobnie nie zostaną w ogóle zmniejszone; zostaną oznaczone jako „Już zminimalizowane”.
  • Domyślnie usuwa EXIF (w tym dane GPS, co zmniejsza rozmiar i chroni prywatność). Jeśli potrzebujesz zachować parametry zdjęcia, prawa autorskie i profil kolorów, ręcznie włącz opcję „Zachowaj informacje EXIF” w ustawieniach.

Warto podkreślić osobno: cała kompresja odbywa się lokalnie na Twoim Macu. Poza weryfikacją zakupu w App Store, ImgZilla nie potrzebuje internetu, obrazy nie opuszczają komputera – bez kolejek, bez ograniczeń ilości, bez „wysyłania na czyjś serwer”. Kodery są zawarte w aplikacji jako lokalne biblioteki statyczne.


Można już zaczynać

  • Wersja darmowa: 10 obrazów dziennie, licznik resetuje się codziennie, pełna funkcjonalność.
  • Odblokowanie bez limitu: licencja wieczysta (jednorazowy zakup) lub subskrypcja miesięczna, cena według regionu App Store. Po zmianie komputera lub przeinstalowaniu kliknij „Przywróć zakup”.

Sugerowany pierwszy test: przeciągnij dowolne zdjęcie, na którym Ci nie zależy, po kompresji kliknij „Porównaj”, oceń jakość i dopiero wtedy zdecyduj, czy powierzyć cały folder.

Tak właśnie chcemy, aby to narzędzie było używane – najpierw zweryfikuj, potem zaufaj.

Wszelkie pytania i sugestie prosimy zgłaszać przez menu „Pomoc → Opinie”. Wersja 1.3 jest wersją godną zaufania, ale z pewnością nie ostatnią.


ImgZilla 1.3 jest już dostępny w Mac App Store. Wymaga systemu macOS 12.3 lub nowszego.

Pobierz teraz -> App Store

Chcesz mniejsze i szybsze obrazy?

Pobierz ImgZilla i kompresuj lokalnie — Twoje obrazy nigdy nie opuszczają Maca.