Moje życie potoczyło się tak, że równolegle do fotografii rozwijam się jako programista webowy. Programowanie to mój główny zawód, źródło utrzymania, ale też ogromna pasja. Czasem zastanawiam się, jak to możliwe, że dwie tak różne dziedziny – świat obrazu i świat kodu – tak dobrze się u mnie przeplatają.
Ktoś kiedyś powiedział: „Wybieram leniwą osobę do ciężkiego zadania, bo ta osoba znajdzie sposób, by znaleźć łatwy sposób na rozwiązanie problemu.” To chyba dobrze opisuje nas, informatyków. Lubimy automatyzować procesy, upraszczać skomplikowane zadania i tworzyć narzędzia, które ułatwiają życie – zarówno sobie, jak i innym.
Właśnie na styku moich pasji pojawia się ciekawy problem fotografa: oddawanie klientowi zdjęć w pełnej jakości, na przykład w formacie RAW, jest ryzykowne. Z jednej strony chcemy pokazać klientowi nasze najlepsze prace, dać mu komfort wyboru. Z drugiej jednak, choć nie lubię traktować ludzi jak potencjalnych złodziei i zawsze zakładam dobre intencje, to doświadczenie uczy, że od czasu do czasu trafia się ktoś nieuczciwy, kto próbuje wykorzystać sytuację na swoją korzyść. Dlatego oddawanie pełnej jakości materiału bez zabezpieczeń może narazić fotografa na straty i niesprawiedliwe wykorzystanie jego pracy.
Z czasem, pracując w branży, spotykamy osoby, które niestety próbują przekroczyć ustalone granice, podstępnie wyciągając więcej zdjęć niż zostało to umówione. Oddanie im pełnej jakości materiału do weryfikacji to w takich przypadkach proszenie się o kłopoty.
Tutaj właśnie technologia i umiejętności programistyczne mogą bardzo pomóc. Dzięki nim można stworzyć specjalne narzędzia do prezentacji zdjęć klientowi – takie, które pozwalają na wygodne przeglądanie i wybór, ale jednocześnie zabezpieczają pliki przed nieautoryzowanym kopiowaniem i wykorzystaniem. Automatyzacja tego procesu oszczędza czas, chroni pracę i zapewnia komfort zarówno fotografowi, jak i klientowi.
W mojej pracy łączę więc estetykę fotografii z nowoczesnymi rozwiązaniami technicznymi. To pozwala mi oferować nie tylko piękne zdjęcia, ale także bezpieczne, profesjonalne doświadczenie na każdym etapie współpracy.
Prawda jest taka, że całkowite zabezpieczenie zdjęć przed pobraniem z sieci jest praktycznie niemożliwe. Blokowanie prawego przycisku myszy czy wyłączanie menu kontekstowego, które umożliwia zapis obrazu, to rozwiązania jedynie pozorne — technicznie łatwe do ominięcia. Dopóki zdjęcie jest wyświetlane na ekranie i znajduje się w pamięci komputera, osoba z dostępem do tego sprzętu może spróbować je przechwycić na różne sposoby: analizując ruch sieciowy, zaglądając do struktury strony (DOM), a w najgorszym przypadku po prostu robiąc printscreen.
Z tego względu warto podejść do tematu zabezpieczeń bardziej strategicznie. Najskuteczniejszym rozwiązaniem jest uczynienie zdjęcia mniej atrakcyjnym dla potencjalnych złodziei — czyli dodanie znaku wodnego oraz celowe obniżenie jakości pliku, który udostępniamy klientowi. W dobie narzędzi sztucznej inteligencji, choć wiele można „odbudować”, to jednak utraconych szczegółów i informacji z oryginalnego, wysokiej jakości pliku nie da się skutecznie i wiernie odtworzyć (nie dajcie się zwieść filmom pokazującym cuda AI!).
Dodatkowo, obecność znaku wodnego sprawia, że zdjęcie praktycznie nie nadaje się do nieautoryzowanego użytku — jest dla złodzieja zdecydowanie mniej „atrakcyjne”. I choć nikt nie chce wystawiać na pokaz swoich zdjęć z widocznym znakiem wodnym, bo to trochę jakby przyznanie się do braku kontroli nad swoją pracą, to jednak w przypadku prezentacji materiału klientowi jest to kompromis między ochroną praw autorskich a umożliwieniem wygodnego wyboru.
Zabezpieczanie zdjęć warto zacząć od wygenerowania miniatur na bazie materiału źródłowego i automatycznego dodania do nich znaku wodnego. Ten proces jest stosunkowo prosty, zwłaszcza jeśli korzystamy z gotowych bibliotek i frameworków dostępnych w różnych językach programowania.
W moim przypadku cały proces jest bardzo zautomatyzowany – wystarczy, że wgram zdjęcia do odpowiedniego folderu w systemie CMS (korzystam z Pimcore), a reszta odbywa się niemal sama. Program automatycznie rozpoznaje wszystkie dodane pliki, generuje miniatury, dodaje do nich znak wodny oraz przygotowuje wszystkie potrzebne wersje zdjęć, wraz z zachowaniem informacji EXIF.
Dzięki temu nie muszę ręcznie zajmować się każdą fotografią – mogę skupić się na samej sesji i kreatywnej pracy, a system zajmuje się techniczną stroną prezentacji. Klient otrzymuje bezpieczną galerię, w której wygodnie przegląda zdjęcia i dokonuje wyboru, bez ryzyka nieautoryzowanego kopiowania.
To rozwiązanie oszczędza czas, minimalizuje ryzyko i zapewnia profesjonalną obsługę na każdym etapie współpracy.
Na wejściu program otrzymuje od nas zdjęcia, które – tak jak wspomniałem wcześniej – są już odpowiednio przygotowane: mają wygenerowane miniatury, znaki wodne i zoptymalizowaną jakość. Na podstawie tych materiałów tworzy kompletną galerię, z której klient może wygodnie przeglądać zdjęcia.
Galeria z oczywistych względów nie może być publicznie dostępna – tu pojawia się potrzeba zabezpieczenia dostępu. Tylko uprawnione osoby, czyli klient lub wyznaczeni przez niego użytkownicy, powinni móc wejść i zobaczyć swoje zdjęcia. W związku z tym konieczne jest utworzenie panelu logowania.
Stworzenie modułu logowania to z pozoru najprostsza i najbardziej odwlekana część projektu. Jednak właśnie dzięki niemu cały system zyskuje na bezpieczeństwie i profesjonalizmie. Po pomyślnym zalogowaniu klient ma pewność, że jego prywatne materiały są chronione i nie trafią w niepowołane ręce.
Z czasem pojawiła się też potrzeba dodania splash screena – ekranu startowego, który wyświetla się podczas ładowania galerii. Wynika to z faktu, że ilość zasobów do załadowania (zdjęcia, skrypty, style) jest całkiem spora, a dobrze zaprojektowany splash screen pomaga ukryć ewentualne “chrupanie” i opóźnienia, poprawiając odbiór całego doświadczenia użytkownika.
Gdy już wszystko się załaduje, klient widzi przejrzystą galerię ze swoimi zdjęciami – może wygodnie przeglądać, wybierać ulubione ujęcia i podejmować decyzje, które fotografie chce zachować lub zamówić.
Kluczową funkcją programu jest nie tylko prezentacja zdjęć, ale przede wszystkim umożliwienie interaktywnej wymiany opinii między mną, jako fotografem, a klientem. Dzięki temu proces wyboru zdjęć staje się dwustronny i bardziej przejrzysty.
Na etapie konfigurowania prezentacji mam możliwość oznaczenia tych zdjęć, które według mnie zasługują na szczególną uwagę. Te fotografie w galerii są wyróżnione czerwoną wstęgą z napisem „propozycja” — dzięki temu klient od razu widzi, które ujęcia ja rekomenduję.
Wybrane przez klienta zdjęcia trafiają natomiast do osobnej kolekcji i są wyróżnione pomarańczową wstęgą z napisem „mój wybór”. Dzięki temu zarówno ja, jak i klient widzimy wyraźne rozgraniczenie między moimi rekomendacjami a jego preferencjami, co ułatwia dalszą komunikację i selekcję.
Z drugiej strony, klient ma pełną swobodę, by zaznaczyć dowolne zdjęcia, które mu się podobają, niezależnie od moich propozycji. Na zakończenie sesji przeglądania galerii system generuje dla mnie listę plików, które klient wybrał — to dla mnie cenny feedback, który pozwala lepiej zrozumieć jego oczekiwania i preferencje.
Taki dwukierunkowy proces daje klientowi możliwość poznania mojego zdania, a mnie pozwala na szybkie poznanie jego preferencji. Ponadto dodałem również możliwość zostawiania przez klienta wiadomości czy komentarzy pod wybranymi zdjęciami – co dodatkowo usprawnia komunikację i pozwala na wyjaśnienie ewentualnych wątpliwości.
Dodatkowo w panelu konfiguracji można ustawić limit wybranych zdjęć, co pomaga klientowi skupić się na najważniejszych kadrach i ułatwia końcową selekcję.
Aby usprawnić codzienną pracę – zarówno swoją, jak i klientów – dodałem do aplikacji kilka funkcjonalnych udogodnień. Jednym z nich jest widok powiększenia, który umożliwia natychmiastowe wyświetlenie wybranego obrazu w większym rozmiarze. Pozwala to na szybsze przeglądanie detali bez konieczności otwierania nowego okna czy zmiany kontekstu.
Na tym jednak nie poprzestałem. W oparciu o sztuczną inteligencję dodałem dwa zaawansowane rozwiązania. Pierwsze z nich to automatyczne wykrywanie twarzy. Dzięki niemu aplikacja potrafi wyrenderować istotny fragment obrazu – zazwyczaj twarz – i pokazać go równolegle z całym zdjęciem, niczym dynamiczna lupa. To doskonałe narzędzie do prezentacji subtelnych emocji, niuansów mimiki czy jakości retuszu.
Drugie usprawnienie to analiza emocji na zdjęciu. Algorytm rozpoznaje dominujące uczucia i przedstawia je na przejrzystym wykresie radarowym, opartym o siedem podstawowych emocji: złość, obrzydzenie, strach, radość, neutralność, smutek i zaskoczenie. Całość działa w wielu językach, choć domyślnie interfejs prezentowany jest w moim natywnym.
Z perspektywy użytkownika – i własnego doświadczenia – mogę powiedzieć jedno: to naprawdę działa. Wrzucałem do systemu dziesiątki różnych zdjęć, by sprawdzić, jak AI poradzi sobie z rozpoznawaniem emocji. Ku mojemu zaskoczeniu – pozytywnemu – wyniki były trafne, spójne i zaskakująco precyzyjne. Spodziewałem się bardziej efektu wróżby, tymczasem pomyłki algorytmu były rzadkością i najczęściej wynikały z niejednoznaczności kadru.
Aplikacja działa zarówno na komputerach stacjonarnych, jak i na urządzeniach mobilnych. Ze względu na charakter mojej pracy i specyfikę obróbki zdjęć, głównym środowiskiem docelowym pozostaje PC – to tu aplikacja rozwija skrzydła. Interfejs został zoptymalizowany pod kątem wygodnej obsługi z poziomu klawiatury, co pozwala na szybkie przeglądanie, selekcję i analizę zdjęć praktycznie jedną ręką. Taki układ pozwala na płynne i bezwysiłkowe operowanie dużymi kolekcjami – bez konieczności sięgania po myszkę czy touchpad.
Nie zapomniałem jednak o użytkownikach telefonów. Aplikacja w wersji mobilnej zachowuje pełną funkcjonalność i jest w pełni responsywna, choć traktuję ją raczej jako tryb awaryjny – przydatny w podróży, do szybkiego podglądu czy wstępnej selekcji. Dołożyłem wszelkich starań, aby większość interakcji była możliwa przy użyciu jednego palca, co sprawdza się w praktyce, ale trudno mówić o takiej samej wygodzie jak przy pracy na dużym ekranie. Praca z fotografią – zwłaszcza precyzyjna analiza detali – wymaga przestrzeni roboczej i jakościowego monitora. Tego żaden smartfon nie zastąpi.
Czy ktoś zaraz wspomni o tabletach? Możliwe. Nie mam takiego sprzętu i nie testowałem aplikacji na tym formacie, więc nie będę się wypowiadać. Jeśli jednak ktoś spróbuje – z chęcią usłyszę wrażenia.