Case study

Oprogramowanie dla banku obrazów. Jak zbudować produkt cyfrowy, który spełni marzenia o “zarabianiu podczas snu”

Rozpoczęcie nowego projektu jest zawsze ekscytujące, ale jeszcze bardziej ekscytujące jest kiedy dawny klient wraca po kilku latach z pomysłami na usprawnienie produktu, który osiągnął sukces i jest używany przez setki tysięcy użytkowników.

Ta historia rozpoczyna się ponad 10 lat temu kiedy firma Virrage Images skontaktowała się z nami w celu stworzenia spersonalizowanego oprogramowania dla ich marki – Welcomia.com. Jak pewnie wiecie technologia zmienia się z dnia na dzień, więc powrót do projektu stworzonego 10 lat temu był dla nas wyzwaniem. Powodem dla którego GMI powstało było właśnie mierzenie się z nowymi wyzwaniami, więc od razu wgłębiliśmy się w temat.

Pomysł – “sprzedawaj podczas snu” – platforma do sprzedaży zdjęć i nagrań stockowych małym firmom i osobom fizycznym

Jeśli kiedykolwiek udało ci się zrobić piękne zdjęcie jak z okładki magazynu prawdopodobnie zastanawiałeś się “a co gdybym je sprzedał”. Tak właśnie działa Welcomia.com, która jest ogromną biblioteką zdjęć i filmów wysokiej jakości.

Celem było zbudowanie aplikacji online do zarządzania wszystkimi zdjęciami i nagraniami oraz sprzedaży ich do dużej grupy klientów we w pełni zautomatyzowanym procesie.

Jednakże to tylko plany na najbliższą przyszłość. Później Welcomia pozwoli na udostępnianie bibliotek przez partnerów zewnętrznych czy freelancerów.

Spójrzmy na liczby. Każdego dnia publikowanych online jest ~2 biliony zdjęć. Jeśli Załóżmy, że tylko 0.01% z nich to zdjęcia wysokiej jakości. Wtedy mamy 200 000 zdjęć nadających się do monetyzacji. Każdego dnia. Więc jest tu ogromny potencjał biznesowy dla Welcomii.

Wyzwanie #1 – “Zrobione” vs “Perfekcyjne”

Zaprosiliśmy naszego klienta na 6-godzinną sesję Product Design Workshop i zaczęliśmy analizować starą wersję i planować nową. Po kilku minutach rozmowy przypomnieliśmy sobie, że nasz klient jest perfekcjonistą i podejście “pixel-perfect” jest wymagane w tym projekcie.

Szczerze mówiąc, było to jedno z wyzwań, ponieważ pracujemy zazwyczaj ze startupami w podejściu “lean development” gdzie “zrobione jest lepsze niż perfekcyjne” jest pewnego rodzaju mantrą. W wyniku tego zdefiniowaliśmy części projektu, które muszą być wykonane podejściem “pixel-perfect” i te, gdzie musimy się skupić na samym działaniu a nie na wyglądzie.

W skrócie sekcje dostępne publicznie miały być dopracowane, back-office miał działać prawidłowo. Ten kompromis pozwolił nam zredukować budżet i jasno ustalić priorytety.

Po zdefiniowaniu najważniejszych celów projektu i opisaniu Scruma jako podstawy naszej pracy na kolejne tygodnie zajęliśmy się dyskusjami i burzą mózgów w temacie procesów w aplikacji.

Ideacja i burza mózgów

Jeśli spotykasz się ze swoim klientem w biurze, zazwyczaj używasz tablicy do rozrysowania pomysłów. Ale my jesteśmy firmą, która pracuje w pełni zdalnie, dlatego podczas naszych warsztatów używamy tablicy online (miro.com).

Uważamy, że jest to najlepszy sposób na warsztaty online. Nigdy nie będziesz musiał zmazać tej tablicy. Możesz otworzyć ją w każdym momencie trwania projektu. Klient zawsze ma dostęp do tej tablicy, a najlepsze jest to, że możemy ją zintegrować z zewnętrznymi narzędziami.

Welcomia jest globalnym projektem finansowanym przez firmę z USA, więc pracując online nasz klient zredukował budżet przeznaczony na podróże i spotkania do 0 USD. Jest to wielka zaleta dla wszystkich. Finalnie ten budżet może zostać przeznaczony na pozyskanie nowych klientów lub zaprogramowanie nowych funkcjonalności.

Tak więc mamy narzędzia i procesy. Nadszedł czas na zrozumienia ścieżki klienta i tego jak nasze oprogramowanie powinno zapewnić mu najlepsze doświadczenie. Pytaniem jest: jak zmienić odwiedzających w kupujących?

Świetną wiadomością było to, że nasz klient był doświadczony w tej kwestii, więć dostarczył nam przygotowane wcześniej statyczne widoki aplikacji przygotowane za pomocą frameworka Bootstrap.

To pozwoliło nam naszkicować flow użytkownika na tablicy używając prawdziwych elementów UI, które zostały użyte potem w naszej aplikacji.

Cytując Steve’a Jobsa “Ludzie nie wiedzą czego chcą dopóki im tego nie pokażesz”, więc zawsze lepiej jest dyskutować o czymś co można zobaczyć. W tym wypadku prawie widzieliśmy gotowy produkt na tablicy Miro. Nie często się to zdarza, zazwyczaj warsztaty są krokiem mocno koncepcyjnym – dużo szkiców i draftów.

Finalnie przygotowaliśmy spójny proces dla trzech profili: gości, użytkowników i administratora. Dzięki tej wiedzy i zrozumieniu, byliśmy w stanie przygotować roadmapę i zaproponować zespół developerski. Posiadając tę informację dostarczyliśmy klientowi informacje o budżecie i dokładnym planie.

Zielone światło! Zaczynajmy kodowanie!

Dostać informację od klienta, że będziemy pracować nad jego projektem to zawsze wspaniałe uczucie. Tak było i tym razem.

Dedykowany zespół dla tego projektu:

  • Krzysztof jako Backend Developer (w pełni zaangażowany w projekt)
  • Karol jako Frontend Developer (częściowo zaangażowany w projekt)
  • Mikolaj jako Proxy Product Owner
  • Piotr jako Scrum Master

Wyzwanie #2 – Klient jako Product Owner?

Wiedzieliśmy od początku, że nasz klient jest bardzo zajętą osobą i potrzebowaliśmy sposobu, żeby wesprzeć go w roli Product Ownera. Była to bardzo nietypowa sytuacja, ponieważ postanowiliśmy zaangażować Mikołaja jako Proxy Product Ownera, ponieważ to właśnie on programował Welcomię 10 lat temu i rozumiał cele biznesowe klienta. Klient wcielił się tu w rolę inwestora.

Jeśli jesteś ciekawy dlaczego postanowiliśmy podzielić te role, możesz przeczytać o tym więcej tutaj: Stakeholder vs Product Owner in the online project – is mixing up these roles a good idea?

Maraton czy sprint?

„Most people overestimate what they can do in one year
and underestimate what they can do in ten years.” – Bill Gates.

Jesteśmy świadomi, że zbudowanie nowego, odnoszącego sukcesy produktu jest maratonem, ale żeby nabrać dobrego tempa musisz podzielić go na mniejsze interwały. Dlatego zaplanowaliśmy pracę na 10 tygodniowych sprintów.

Każdy sprint rozpoczynał się od spotkania planującego, na którym rozmawialiśmy o planach na kolejny tydzień. Cała praca była zorganizowana na Trello, więc na każdym kroku klient i zespół mogli sprawdzić status. Po każdym sprincie odbywaliśmy spotkanie, na którym omawialiśmy rezultaty ostatniego tygodnia i co możemy poprawić w nadchodzących – to była część retrospektywy.

Środowisko IT jest bardzo dynamiczne i aby zachować wszystko pod kontrolą odbywaliśmy również codzienne spotkania. Każdego dnia zaczynaliśmy pracę od 15 minut spędzonych wspólnie, gdzie odpowiadaliśmy na trzy bardzo ważne pytania:

  • Co udało ci się zrobić wczoraj?
  • Co planujesz zrobić dzisiaj?
  • Czy coś blokuje cię przed wykonaniem swoich działań?
team

Po takim szybkim spotkaniu cały zespół znał status pracy i mógł wrócić do programowania nowych funkcjonalności.

Wyzwanie #3. Migracja systemu – Baza danych + Amazon S3

Jeśli pracujesz z różnymi systemami lub aplikacjami często są one niekompatybilne ze sobą. Wiedzieliśmy, że migracja bazy danych, która została zaprojektowana 10 lat temu może być ciężka. Dodatkowo, wraz z klientem postanowiliśmy przesłać wszystkie pliki do AWS.

Był to najlepszy czas na zrobienie tego. Wiedzieliśmy, że nie będzie to jednorazowa akcja, więc podzieliliśmy ten plan na sprinty.

Pierwszym krokiem było lepsze poznanie bazy danych i jej plików. Po tym byliśmy w stanie zwalidować nasze przypuszczenia w kwestii nowego i starego schematu bazy danych. Odkryliśmy w trakcie, że brakuje nam jednej rzeczy – znaków wodnych. Każdy z obrazów powinien posiadać nowy znak wodny z logo Welcomii. Oczywiście miniatura i podgląd również powinny być przygotowane.

Wiedząc o tym, postanowiliśmy przygotować proof-of-concept i napisać funkcjonalność, która przeniesie pliki i wygeneruje znak wodny w trakcie. Wyglądało to jak świetny pomysł, ale po kilku próbach okazało się, że mała część plików jest uszkodzona.

Postanowiliśmy więc podzielić duże paczki z tysiącem plików na mniejsze i sprawdzić, które z nich są uszkodzone.

Dzięki temu mogliśmy kontynuować nasze prace, a jeśli pojawił się jakiś problem, łatwiej było kontynuować proces.

Ponieważ cała migracja była rozłożona w czasie całego developmentu, zdecydowaliśmy się dla testów użyć małych paczek zdjęć na samym początku. Dzięki temu byliśmy w stanie zweryfikować prawidłowe działanie aplikacji na wczesnym etapie.

Działania z plikami zajmowały dużo czasu, ale nie uważaliśmy by miało to wpływ na naszą pracę nad innymi funkcjonalnościami w międzyczasie. Niestety to był nasz błąd. To zadanie zabrało nam więcej czasu niż przewidywaliśmy, co miało wpływ na zakończenie i wypuszczenie aplikacji.

Wyzwanie #4. SEO – poprzednie URLe

Posiadając tak dużą bazę danych Welcomia skupia się na ruchu organicznym, który może być generowany dzięki wielu słowom kluczowym. Bardzo ważne było zachowanie istniejących adresów URL, ponieważ ruch pochodzący z Google był ogromny.

Zaimportowaliśmy wszystkie ścieżki ze starego systemu i zbudowaliśmy nową aplikację przekierowującą odwiedzających.

Wsparcie klienta w tej kwestii było nieocenione, ponieważ posiadał on ogromną wiedzę o słowach kluczowych. Dzięki temu po wypuszczeniu wersji beta, byliśmy w stanie bardzo szybko dostosować metadane i ukryte frazy SEO.

Rezultat

Z końcem Marca 2020 wypuściliśmy wersję beta, a 2 tygodnie później aplikacja była dostępna publicznie. Przez następne kilka miesięcy klient był skupiony na zwiększeniu ruchu organicznego co pozwoliło mu zdobyć więcej płacących klientów.

Z wielkim zainteresowaniem obserwowaliśmy działania klienta licząc, że nasze cele zostaną osiągnięte i w przyszłości znów się spotkamy by zbudować kolejną wersję produktu.

Jeśli szukasz wysokiej jakości zdjęć lub nagrań odwiedź www.welcomia.com!

Jeśli planujesz stworzyć biznes, który zarabia kiedy śpisz, trafiłeś w dobre miejsce! Skontaktuj się z nami w celu wyceny projektu!

Podoba ci się ten artykuł? Podziel się nim ze swoimi przyjaciółmi:
Autor:

Mikołaj Lehman

Napisz do mnie: m.lehman@gmihub.com

Więcej case studies

Zbuduj swój produkt z GMI

Wyślij nam zapytanie i uzyskaj odpowiedź tego samego dnia!

Zatrudnij nas