Gekonshare

Koncept:

Gekonshare jest aplikacją do łatwego i wygodnego udostępniania zdjęć. To tak słowem wstępu, aby zobrazować o czym będzie ten wpis.

Koncept tej aplikacji pojawił się w mojej głowie, kiedy po jednej z uroczystości rodzinnych musiałem rozesłać kilkadziesiąt zdjęć do kilku członków rodziny. Robiłem to wtedy za pomocą maila, a nawet kilkunastu maili. Wysyłałem po trzy, cztery zdjęcia w każdej wiadomości, które grupowałem w katalogi dla każdej osoby, aby każdemu wysłać odpowiednie zdjęcia. Było to kilka lat temu, gdy załączniki w wiadomości mailowej nie mogły mieć więcej niż 10 mega, a Google Drive było jeszcze w powijakach. Istniały co prawda aplikacje takie jak Picassa, ale ona jakoś nigdy mnie do siebie nie przekonała. Rozesłanie więc tych zdjęć zajęło mi dłuższą chwilę.

Na przestrzeni tych kilku lat pomysł na tą aplikację powracał, aż w końcu stwierdziłem, że trzeba go zrealizować 🙂 W międzyczasie pojawiały się pomysły na nowe funkcje i opcje. Jak to zawsze bywa w głowie miałem cały rozbudowany system, wraz ze statystykami oraz feedbackiem od klienta, lecz trzeba było wybrać podstawowy ‘scope’ i od czegoś zacząć.

Chciałem stworzyć aplikację, która byłaby naprawde wygodna dla użytkownika. Przeanalizowałem więc kilka kluczowych według mnie kwestii w akcji “udostępnij zdjęcie”.

Problemy, jakie zauważyłem:

  • Na maila ciężko wysłać sporą ilość zdjęć (rozmiar zdjęć -> kilka maili ).
  • Po FTPie nie każdy potrafi to odebrać (zdjęcia często rozsyłamy do osób “nietechnicznych”).
  • Problematyczne jest wybranie interesujących zdjęć dla poszczególnych odbiorców, trzeba stworzyć podkatalogi / kolekcje.
  • Niektóre aplikacje wymagają założenia konta, aby pobrać zdjęcia.
  • Niektóre zdjęcia są kilkukrotnie wysyłane, np. zdjęcie grupowe, wysyłałem prawie do wszystkich osób ze zdjecia.
  • Zdjęcia z aparatów cyfrowych mają spore rozmiary, przesyłanie ich w oryginalnych rozmiarach jest uciążliwe, a przeskalowanie wszystkich interesujących nas zdjęć wymaga dodatkowej pracy i czasu.
  • Można także wgrać plik zip na FTP i rozesłać link, ale znów albo tworzymy kilka zipów, dla każdego osobno, albo wszyscy otrzymują jedną wielką paczkę zdjęć.

Wnioski:

  • Przesyłanie zdjęć jest czasochłonne i generuje spory ruch w sieci.
  • Przepychanie sporych rozmiarów zdjęć jest bezsensowne, ponieważ po pierwsze jest to marnotrawstwo sieci. Po drugie przesłane zdjęcia zajmują także sporo przestrzeni dyskowej, na serwerach, w skrzynce odbiorczej, w skrzynce odbiorczej. Po trzecie biorąc pod uwagę, że zdjęcia te najczęściej oglądane są na ekranie komputera, nie ma sensu przetrzymywać na dysku zdjęć w pełnej rozdzielczość (mam na myśli odbiorców, bo po co np. cioci Krysi 21 mega pikselowe zdjęcie). Zwalcza, że fotografia w rozmiarze 1920px zapewnia swobodny wydruk w rozmiarze 18x13 cm.
  • Trzeba pamiętać, aby usunąć udostępnione zdjęcia z aplikacji (jeżeli korzystamy np. z Google Drive). Serwery nie mają nieskończonej pojemności.

Zbierając te problemy i wnioski razem zdecydowałem, że chcę aby aplikacja rozwiązywała kilka z tych problemów. Pozostało tylko wybrać technologię i do dzieła.

Wykonanie:

  • Aplikacja napisana jest w Angularze 1.6.
  • Jako backendowe “ramy” wykorzystałem PHP-owy framework CodeInteger.
  • Cały layout (HTML5 i CSS3) jest napisany “z palca” bez wykorzystania żadnych frameworków.
  • Cały CSS jest autorski a aplikacja jest w pełni responsywna.

Ekrany dostępne w Gekonshare:

  • Dashboard
  • Album
  • Galeria wynikowa
  • Kontakty
  • Panel logowania
  • Panel logowania do galerii wynikowej
  • 404 dla galerii wynikowej

Akcje dla właściciela albumu:

  • Dodanie nowego albumu.
  • Wgranie zdjęć do albumu - automatyczne skalowanie zdjęć po stronie przeglądarki użytkownika  do rozmiaru 1920px (na dłuższym boku). Na serwery trafia już zoptymalizowane zdjęcia.
  • Ustawienie hasła dla albumu.
  • Ustawienie prywatności dla albumu (album może być prywatny - dostęp po adresie www i podaniu hasła, lub publiczny - do przeglądania nie wymagane jest hasło, wystarczy link do galerii).
  • Ustawienie możliwości udostępniani zdjęć na FB z poziomu galerii.
  • Aktywacja albumu (galeria jest widoczny w sieci przez 30 dni, po tym okresie jest usuwana wraz z zawartością, nieaktywowany album usuwany jest ze serwera po 7 dniach).
  • Podgląd galerii wynikowej.
  • Skopiowanie linku do galerii.
  • Wysłanie wiadomości email z poziomu aplikacji wraz z linkiem do galerii i hasłem dostępu.
  • Dodanie kontakty do listy kontaktów.

Akcje dla odbiorcy:

  • Przeglądanie zdjęć.
  • Pobieranie pojedynczego zdjęcia.
  • Zaznaczanie zdjęcia.
  • Pobieranie zaznaczonych zdjęć jako zipa.
  • Publikacja zdjęcia na swojej tablicy na FB.

Efekt:

Po kilku latach myślenia nad tą aplikacją i po trzech iteracjach interfejsu, projekt jest skończony i pełni funkcjonalny.

Dostępny pod adresem :

www.gekonshare.pixelcorn.pl

Można zakładać konto i korzystać!

ps.

Feedback mile widziany!