Nowy standard. Twoje centrum tworzenia inteligentnego, szybkiego i zrównoważonego oprogramowania AI

Zobacz teraz
Logotyp Polaroid

Natywna aplikacja mobilna na Androida dla Polaroid: 99,5% sesji bez awarii przy dużej skali

Polaroid potrzebował rozbudować swoją aplikację mobilną tak, by obsługiwała nowo wprowadzony Polaroid Lab, urządzenie zamieniające zdjęcia ze smartfona w fizyczne odbitki natychmiastowe. Stworzyliśmy własny silnik kolaży zdjęć, skanowanie oparte na AR oraz profile kolorów ICC dopasowane do rzeczywistego filmu Polaroid. Aplikacja urosła do 144 000 pobrań i 44 000 aktywnych użytkowników, utrzymując 99,5% sesji bez awarii w 364 wydaniach w Google Play.

Natywna aplikacja mobilna na Androida dla Polaroid

Firma i produkt

Nowe życie ikony dzięki urządzeniu do drukowania zdjęć z telefonu

Polaroid, marka stojąca za oryginalną fotografią natychmiastową, odzyskała swoją nazwę po okresie działalności jako Polaroid Originals. Obok linii analogowych aparatów natychmiastowych, w tym OneStep+, firma wprowadziła Polaroid Lab, czyli urządzenie, które ponownie drukuje zdjęcia ze smartfona jako fizyczny film natychmiastowy w formacie Polaroid.

Dotychczasowa aplikacja mobilna obsługiwała aparat OneStep+, ale nie była przygotowana na kluczowy mechanizm Polaroid Lab: zamianę pojedynczego zdjęcia cyfrowego w fizyczną odbitkę o właściwych proporcjach albo podział jednego obrazu na kilka części. Monterail rozbudował aplikację o pełen zestaw funkcji Lab: kolaże z dzieleniem obrazu, ulepszanie zdjęć oparte na AR oraz wierne odwzorowanie kolorów na wydruku, a przy tym utrzymał stabilność aplikacji dla już dużej bazy instalacji.

Najważniejsze wyzwania projektu

Co jest potrzebne, by dostarczyć aplikację towarzyszącą z wiernym odwzorowaniem wydruku

Polaroid Lab na nowo zdefiniował sposób, w jaki zdjęcie z telefonu staje się fizyczną odbitką, a oprogramowanie mobilne musiało za tym nadążyć. To oznaczało rozwiązanie czterech odrębnych problemów technicznych

  • Przetwarzanie obrazu obejmujące wiele kadrów

    Aby stworzyć układ kolażu bez zniekształcania proporcji obrazu, zbudowaliśmy specjalnie do tego celu komponent uwzględniający współrzędne, który wylicza dokładne granice kadru dla każdego rozmiaru wydruku. 

  • Uruchamianie efektów AR z fizycznej odbitki

    Skanowanie kodu kreskowego wydrukowanego na fizycznych zdjęciach z Polaroid Lab, aby zastosować efekty filmu oparte na AR i zapisać ulepszony rezultat z powrotem w galerii telefonu, wymagało zbudowania skanowania AR uruchamianego kodem kreskowym, które łączy fizyczną odbitkę z jej cyfrowym oryginałem.

  • Odwzorowanie dokładnego wyglądu ponownie wydrukowanego zdjęcia Polaroid

    Ponieważ żaden gotowy profil kolorów ICC nie oddawał efektu fizycznego filmu natychmiastowego, zespół zbudował pipeline kolorów od podstaw, wychodząc od specyfikacji ICC, i dostroił go tak, by cyfrowe odwzorowania odpowiadały fizycznie wydrukowanemu zdjęciu Polaroid.

  • Utrzymanie wydajności aplikacji przy dużej skali

    Gdy liczba pobrań przekroczyła 140 000, w rzeczywistych warunkach sieciowych ujawniły się problemy z buforowaniem związane z pamięcią. To wymagało stworzenia dedykowanej warstwy buforowania, która wytrzymuje tam, gdzie ogólne implementacje buforowania zdjęć zawodzą pod presją pamięci.

Nasze podejście

Dlaczego warto zbudować własne rozwiązanie zamiast korzystać z ogólnych narzędzi do zdjęć

Własny silnik kolaży uwzględniający współrzędne

Stworzyliśmy specjalny komponent widoku, który wylicza dokładne granice kadru dla każdego rozmiaru wydruku, dzięki czemu jedno zdjęcie można podzielić nawet na 9 kadrów bez nieoczekiwanego rozciągania ani przycinania.

Skanowanie AR uruchamiane kodem kreskowym

Dodaliśmy funkcję skanowania AR, dzięki której fizyczna odbitka z Polaroid Lab stawała się wyzwalaczem zapisania cyfrowego oryginału i zastosowania własnych efektów filmu na ekranie, przedłużając życie fizycznego produktu w telefonie.

Profile kolorów ICC zbudowane od podstaw

Zamiast polegać na ogólnym profilu kolorów, zbudowaliśmy pipeline zarządzania kolorem od podstaw na bazie specyfikacji ICC i dostroiliśmy go specjalnie tak, by cyfrowe odwzorowania były wizualnie zgodne z fizycznie wydrukowanym zdjęciem Polaroid.

Własny system buforowania danych

Zaprojektowaliśmy i wdrożyliśmy dedykowaną warstwę buforowania, aby zapobiec awariom i spowolnieniom, które ogólne implementacje buforowania zdjęć powodują pod presją pamięci. Dzięki temu aplikacja zachowała responsywność, gdy liczba pobrań przekroczyła 140 000.

Funkcje aplikacji

  • Widok mobilny aplikacji Polaroid Lab
  • Mobilny widok drukarki w aplikacji Polaroid Lab

Technologie, których użyliśmy

WarstwaTechnologie
MobileKotlin, Kotlin Coroutines: podstawowy język i mechanizm ustrukturyzowanej współbieżności dla asynchronicznego pipeline'u przetwarzania obrazów w aplikacji
Biblioteka programistycznaRxJava: odpowiadała za wieloetapowy pipeline transformacji zdjęć, który zasilał funkcje kolażu, AR i zarządzania kolorem
Backend Firebase: usługi i analityka awarii wspierające utrzymanie wskaźnika 99,5% sesji bez awarii

Rezultaty

Jak szybko się skalować bez utraty stabilności

Przebudowana aplikacja dostarczyła kluczowe funkcje Polaroid Lab i jednocześnie utrzymała się przy rzeczywistej skali użycia:


  • 144 000 pobrań aplikacji po wdrożeniu funkcji Polaroid Lab.

  • 44 000 aktywnych użytkowników korzystających z aplikacji na całym świecie.

  • 99,5% użytkowników bez awarii, mimo że liczba pobrań przekroczyła 140 000.

  • 364 wydania opublikowane w Google Play bez pogorszenia wskaźnika użytkowników bez awarii.

  • 1 679 testów automatycznych stworzonych po to, by chronić własną logikę kolaży, AR i zarządzania kolorem przed regresjami.

Opinia klienta

James Tjan logo

James Tjan

Product Manager at Polaroid

James Tjan

Reliable Delivery Partner

For us working with Monterail means to have a committed partner who is constantly proving to deliver a great mobile experience for the global market.

Najważniejsze wnioski

Jak zbudowaliśmy aplikację towarzyszącą dla fizycznego produktu

  • Wierne odwzorowanie kolorów na wydruku zwykle oznacza samodzielne zbudowanie zarządzania kolorem

    Gotowe profile ICC nie odwzorują konkretnego nośnika fizycznego; aby dopasować efekt do prawdziwej odbitki Polaroid, trzeba było zbudować profil od podstaw.

  • Dedykowana warstwa buforowania zaczyna się opłacać, gdy liczba pobrań przekracza sześć cyfr

    Ogólne podejścia do buforowania obrazów, które dobrze działają w testach, mogą zawodzić pod rzeczywistą presją pamięci przy dużej skali, dlatego zamiast tego zbudowaliśmy dedykowaną warstwę buforowania.

  • Funkcje powiązane ze sprzętem wymagają własnej logiki widoku, a nie ogólnych komponentów układu

    Podzielenie jednego zdjęcia na proporcjonalne kadry do wydruku wymagało specjalnego komponentu uwzględniającego współrzędne zamiast standardowego widoku siatki.

  • Połączenia świata fizycznego i cyfrowego wydłużają życie produktu sprzętowego

    Funkcja AR uruchamiana kodem kreskowym sprawiła, że wydrukowane zdjęcie nadal dawało wartość w telefonie długo po tym, jak opuściło tackę.

case studies

Grzegorz Hajdukiewicz

Potrzebujesz aplikacji towarzyszącej dla swojego produktu?

We build mobile apps that turn hardware releases into complete products, from custom color science to AR features that extend a product's life beyond the box.

Grzegorz Hajdukiewicz | Chief Delivery Officer

Skontaktuj się z nami, aby omówić zakres projektu