Jak powstają aplikacje dla BlackBerry?

Avatar
Piotr Barycki
12.09.2012

Aplikacje dla urządzeń mobilnych, zwłaszcza te pochodzące od niezależnych producentów, stały się w ostatnich latach nieodzownym elementem każdego systemu mobilnego, będąc w stanie – o ile jest ich pod dostatkiem – zapewnić sukces lub – w przypadku ich braku – kompletną porażkę, niezależnie od możliwości samego OS. Z punktu widzenia użytkowników całość wygląda niezwykle łatwo – uruchamia się odpowiedni sklep z oprogramowaniem, wyszukuje według słów kluczowych lub po prostu przegląda najlepsze czy najciekawsze propozycje, pobiera, uruchamia a potem, po krótkim czasie, albo przyzwyczaja się do niej i przenosi ze sobą zawsze wraz ze zmianą urządzenia lub nigdy więcej nie włącza i kasuje lub skazuje na zapomnienie w jednym z przepastnych folderów.

Jeśli jednak zechcemy wcielić się choć na chwilę w rolę programisty, który umożliwił nam w ogóle pobranie i przetestowanie jego dzieła, cała sytuacja prezentuje się o wiele bardziej skomplikowanie i przede wszystkim – o wiele bardziej interesująco.

Aby przybliżyć wszystkim ten fascynujący (i mówimy to bez zbytniego dramatyzowania!) proces, postanowiliśmy dowiedzieć się na jego temat jak najwięcej od firmy PROGET, stojącej za stworzeniem między innymi takich aplikacji jak mobilna wersja GG dla BlackBerry, tuba.FM dla smartfonów i tabletów BlackBerry PlayBook czy wydanego niedawno i już nagrodzonego chociażby podczas BlackBerry 10 Jam Warsaw programu TIP.

Nic oczywiście w życiu nie bierze się zupełnie znikąd i na samym początku drogi do publikacji aplikacji w AppWorld i jej premierowych pobrań musi stać impuls, który uruchomi całą lawinę następujących po sobie zdarzeń. W tym przypadku może to być cokolwiek – od często nieco na początku abstrakcyjnych pomysłów, które z czasem nabierają kształtów, przez obserwację potrzeb użytkowników i braków w sklepie internetowym, aż po czysto biznesowe zlecenia, na wykonanie programu realizującego określone przez zleceniodawcę założenia. Oczywiście najprzyjemniejsze w realizacji i charakteryzujące się największym prawdopodobieństwem sukcesu są aplikacje, których pomysł jest często kwestią chwili, konkretnej sytuacji i braku dostępnego narzędzia – niezależnie od tego, czy mówimy o pracy i narzędziach użytkowych czy rozrywce i narzędziach, które są w stanie umilić nam czas. W takim przypadku często rozpoczynamy realizację naszego projektu w dużym stopniu dla siebie samych, dzięki czemu także i satysfakcja z zakończonego dzieła jest nieporównywalnie większa.

Po określeniu czym naprawdę ma być nasza aplikacja, zaczyna się już prawdziwa, intensywna i często długotrwała praca, gdzie na etapach początkowych nie zawsze wykorzystuje się nawet komputer (choć oczywiście zawsze może okazać się pomocny). W tej fazie najważniejsze jest bowiem jak najlepsze dopracowanie samej idei oraz ogólnego szkicu, zarówno jeśli chodzi o interfejs użytkownika, jak i funkcjonalność całego programu, aby potem nie trzeba było w pewnym momencie dobudowywać do niego nic na siłę lub w ogóle rozpoczynać proces od początku. To również tutaj w dużej mierze waży się to, ile czasu zajmie nam ostatecznie cały proces – jeśli naprawdę dobrze zaprojektujemy nasz program „na papierze”, jego realizacja będzie o wiele, wiele łatwiejsza. Nie warto więc od razu siadać do komputera i zaczynać kodować – czasem warto jeszcze przed tym dłużej pomyśleć.

QuoteApp – przykład na to, że proste pomysły sprawdzają się czasem najlepiej (aplikacja dostępna dla smartfonów i tabletów BlackBerry)

Programiści muszą także zdecydować, jak wiele swobody chcą wewnątrz swojego dzieła pozostawić użytkownikom. Owszem, w teorii im więcej opcji można odnaleźć w aplikacji tym lepiej, jednak w rzeczywistości, nadmiar funkcji i konieczność długotrwałej konfiguracji może do niej naprawdę skutecznie zniechęcić. Odnalezienie złotego środka jest oczywiście bardzo trudne, ale zdecydowanie warto rozważyć wszelkie „za” i „przeciw” dla konkretnych rozwiązań – opinie o „prostocie”, „łatwości obsługi” czy „intuicyjności” rozchodzą się wśród użytkowników niesamowicie szybko i potrafią być potężnym argumentem, przemawiającym np. za zakupem właśnie naszej aplikacji, a nie produktu konkurencji.

W tym momencie przychodzi również czas na podjęcie jednej z najważniejszych decyzji, mogącej zadecydować o ostatecznym rezultacie prac – technologii, w której wykonana zostanie aplikacja. Obecnie do wyboru Research In Motion oferuje nam jedną z największych w branży liczbę dostępnych narzędzi, języków i rozwiązań. W przypadku dotychczasowych wersji BlackBerry OS wybór był prosty – należało skorzystać z nieco zmodyfikowanej wersji Java, do której całkiem niedawno dołączył WebWorks, wykorzystujący HTML5 oraz Java Script. Od premiery PlayBook OS i nadchodzącej premiery BlackBerry 10 opcji jest jednak jeszcze więcej – zaczynając od natywnego C++ z Cascades, przez Adobe AIR aż po aplikacje z Androida i wspomniane wcześniej WebWorks. Z jednej strony oznacza to, że praktycznie każdy, kto do tej pory miał kontakt z programowaniem może zaprezentować swoją propozycję dla BlackBerry 10, posiłkując się jedną z powyższych technologii, jednak z drugiej, rozwiązanie to ma jeszcze jeden ogromny plus. W przypadku bardziej zaawansowanych twórców lub firm, zajmujących się tworzeniem aplikacji, istnieje możliwość wybrania odpowiedniego języka programistycznego w zależności od przeznaczenia programu.

Tuba.fm – przykład aplikacji rozrywkowej stworzonej w C++ dla tabletu BlackBerry PlayBook i BlackBerry 10 [aplikacja przygotowana przez firmę PROGET, dostępna również dla smartfonów z BlackBerry OS]

W ten sposób prostsze programy mogą być tworzone z wykorzystaniem WebWorks, zapewniając tym samym już na starcie obsługę wielu platform, natomiast jeśli zamierzamy stworzyć naprawdę potężną aplikację, możemy zdecydować się na C++, dające nam nieporównywalnie większe możliwości i – mimo wszystko – lepszą wydajność.

Z tego właśnie powodu tak ważne jest podjęcie odpowiedniej decyzji w tej kwestii już na samym początku prac i odpowiednia realizacja wcześniejszego kroku, obejmująca stworzenie szkicu funkcjonalności programu. Nie zawsze jest przecież sens zaprzęgać do naszego pomysłu C++, kiedy o wiele szybciej, łatwiej i z podobnym efektem mogłoby nam posłużyć WebWorks czy Adobe AIR. Z drugiej strony, w pewnym momencie może okazać się, że nasza prawie-już-gotowa aplikacja w WebWorks nie jest jednak w stanie zrealizować stawianych przed nią wymagań.

Tworząc aplikację tuba.FM dla tabletu BlackBerry PlayBook stanęliśmy przed wyborem odpowiednich narzędzi. I choć wszystkie rozwiązania wydawały się niezwykle atrakcyjne, zdecydowaliśmy się ostatecznie na tzw. ścieżkę natywną (C++), aby zapewnić tak rozbudowanej aplikacji odpowiednią płynność, wydajność i efektowny wygląd – powiedział w rozmowie z nami Łukasz Czernik, właściciel firmy PROGET – W przypadku każdego projektu należy jednak od początku zadać sobie to samo pytanie – czego wymagam od swojej aplikacji i jakich technologii naprawdę potrzebuję. Chociażby w przypadku QuoteApp udało nam się przygotować przyjemny, animowany i trójwymiarowy interfejs dla tabletu BlackBerry PlayBook, korzystając z WebWorks.

Nawet kiedy jednak wszyscy zajmą swoje miejsca za komputerami, pierwsze efekty praktycznie nigdy nie przypominają wersji finalnej, głównie ze względu na mocno robocze UI, które ma na ten moment być jedynie orientacyjną powłoką dla kodu, który stanowi serce i rozum aplikacji. Jest to na tym etapie o wiele ważniejsze niż sam wygląd, gdyż nawet najpiękniejsze aplikacje, które okazują się na faktycznych urządzeniach nieszczególnie wydajne, nie zaskarbią sobie często sympatii użytkowników na tyle, aby czekali kolejne dni, tygodnie i miesiące na ewentualną aktualizację.

Kwestia interfejsu nabiera jednak ogromnego znaczenia z czasem, kiedy to główną rolę przejmują graficy, mający sprawić, aby aplikacja już samym wyglądem przyciągnęła nas do siebie i skłoniła do zaznajomienia się ze swoją pełną funkcjonalnością. Tutaj, podobnie jak w poprzednich przypadkach, odnalezienie optymalnego rozwiązania również nie zawsze należy do najłatwiejszego. Należy pamiętać, że wielu z nas jest wzrokowcami i naprawdę atrakcyjne i przemyślane UI jest w stanie przysłonić niektóre drobniejsze wady lub braki, wręcz zmuszając nas do polubienia programu, jednak zbyt efektowny lub wręcz efekciarski interfejs potrafi skutecznie zniechęcić do korzystania nawet z bardzo dobrego produktu.

Przygotowane przez PROGET mobile GG dla BlackBerry pozwoliło tysiącom osób nawiązać kontakt ze znajomymi również z dala od komputera

Na wygląd UI warto zwrócić uwagę szczególnie w przypadku BlackBerry 10 i PlayBook OS, gdzie RIM nie tylko zapewnia szczegółowe instrukcje w tej kwestii, ale również w niektórych przypadkach udostępnia odpowiednie rozwiązania już w gotowej formie (np. Cascades). Pamiętajmy na co narzekali do tej pory często użytkownicy BlackBerry – na to, że aplikacje były w porównaniu do platform konkurencyjnych po prostu brzydkie, a niekoniecznie na to, że potrafiły mniej. I choć wygląd z całą pewnością nie jest sprawą pierwszoplanową, zdecydowanie warto jest mieć tę akurat obserwacje na uwadze podczas pracy.

Po powiązaniu ze sobą w jak najlepszy możliwy sposób tych dwóch elementów – interfejsu graficznego oraz kodu, mogłoby się wydawać, że przed nami już prosta droga do AppWorld, sławy i bogactwa. Niestety nic bardziej mylnego. Po przygotowaniach, które mogą trwać nawet nie tyle tygodniami, co miesiącami, aby nie zaprzepaścić wszystkich wysiłków i zasobów włożonych w produkcję, często nawet tyle samo czasu poświęca się na testy. W tych uczestniczą przeważnie nie tylko programiści, biorący udział w całym procesie tworzenia, ale również osoby nie związane z firmą bezpośrednio i – co jest niezwykle istotne – niekoniecznie należące do grona najbardziej „technicznych”. Poleganie bowiem wyłącznie na wyszkolonym personelu, tym bardziej zaznajomionym z historią tworzenia aplikacji, może doprowadzić do tego, że będzie ona dla zwykłych użytkowników np. nieintuicyjna czy niewystarczająco logiczna lub przejrzysta. Takie świeże spojrzenie z zewnątrz pozwala zaoszczędzić często bardzo wiele – dzięki temu jesteśmy bowiem w stanie wprowadzić istotne zmiany np. w UI jeszcze przed publiczną premierą, przez co nie zmieniamy aplikacji aż tak poważnie po momencie, w którym trafiła ona do obiegu (co może również nie spodobać się wielu osobom).

Gruntowne przetestowanie aplikacji przed premierą przez wybranych zwykłych użytkowników może pozwolić nam przy tym oszczędzić sobie problemów z popremierowym wsparciem dla owocu naszego projektu. Zwłaszcza w sytuacjach, kiedy decydujemy się go sprzedawać, użytkownicy muszący wydawać na niego swoje ciężko (i uczciwie) zarobione pieniądze, okazują się często dość niecierpliwi, jeśli chodzi o usuwanie poważnych błędów. Zdecydowanie lepiej zrobimy, jeśli opóźnimy premierę o tydzień lub dwa (albo nawet i więcej), a program przetestuje chociażby nasz znajomy, który zwróci nam uwagę na mniejsze i większe niedociągnięcia. Akurat na tym etapie, kiedy wydaje się, że jesteśmy już prawie u celu, pośpiech jest najgorszym możliwym doradcą.

Nie bez znaczenia, nawet w przypadku naprawdę dopracowanych projektów, jest także wsparcie dla aplikacji po jej premierze. Użytkownicy nad wyraz często decydują się na bezpośredni kontakt z deweloperem, czy to za pomocą komentarzy pod aplikacją w AppWorld czy formularza kontaktowego i jeśli pozostawimy ich opinie czy pytania bez reakcji przez pewien czas, możemy być praktycznie pewni, że nasz produkt w bardzo krótkim czasie zaginie w gąszczu innych aplikacji, a nawet najbardziej przekonani do niego użytkownicy w końcu zirytują się do tego stopnia, że porzucą go na rzecz innych. Nie zapominajmy więc, że prace nad naprawdę udaną aplikacją nie kończą się w momencie jej publikacji i ewentualnych premier poprawionych wersji – klienci chcą wiedzieć, że jej twórca jest do ich dyspozycji i jest im w stanie pomóc z każdym, nawet pozornie najbardziej banalnym problemem.

Jednym z większych i ciekawszych doświadczeń w naszej historii było przygotowanie i wsparcie poprodukcyjne dla aplikacji GG (Gadu Gadu) dla BlackBerry – mówi Łukasz Czernik – Okazało się, że zwykli użytkownicy są często o wiele lepszymi i bardziej uważnymi testerami, szybko informując nas o niedociągnięciach i sugerując ewentualne poprawki, pozwalając nam tym samym szybko przygotować odpowiednie „łatki”. W rzeczywistości dla programisty nie ma – a przynajmniej nie powinno być – nic ważniejszego niż właśnie opinia osoby, która korzysta z naszej aplikacji – w końcu do z myślą także o niej realizowany był cały projekt. Staramy się więc skrupulatnie zbierać wszystkie opinie i dostosowywać do nich. Nawet jeśli nie jesteśmy więc w stanie odpisać na wszystkie wiadomości – wiedzcie, że każda z nich jest przez nas czytana i uwzględniana.

W tym momencie artykułu, a prawdopodobnie na samym początku procesu tworzenia aplikacji, może (a może i nawet powinno) pojawić się pytanie o to, czy w ogóle warto w Polsce – nie tak wielkim, choć bez wątpienia istotnym, dla RIM rynku – tworzyć aplikacje dla systemu operacyjnego BlackBerry. Odpowiedź jest prosta: zdecydowanie warto i warto przy tym spojrzeć nie tylko na nasz kraj, ale o wiele szerzej. Obecnie ilość użytkowników BlackBerry OS na całym świecie jest na tyle duża, że tworząc dobrą, uniwersalną aplikację, jesteśmy w stanie dotrzeć nawet nie do milionów, ale wręcz do dziesiątków milionów użytkowników na całym świecie. Użytkowników, którzy naprawdę chcą dobrych aplikacji i – według wielu niezależnych badań oraz doświadczeń programistów – są w stanie za nie płacić, nawet odrobinę więcej niż w innych przypadkach. Przy tym wszystkim taka szansa nie jest jedynie teorią – programiści z całego świata, w tym również i z Polski, wielokrotnie mogli pochwalić się prawdziwie globalnym sukcesem.

Łukasz Czernik: Jako programiści nie możemy zapominać o czymś, o czym zapomina naprawdę wiele osób. Nie liczy się bowiem sama opinia o platformie, ale i bezwzględna ilość jej użytkowników, która określa maksymalną ilość unikalnych pobrań naszej aplikacji. W przypadku BlackBerry mamy szansę na maksymalnie 80 milionów – dużo, a nawet bardzo dużo, tym bardziej, jeśli planujemy wprowadzić na rynek prawdziwy „hit”. Nawet jeśli jednak nie, w dalszym ciągu pozostaje dla nas bardzo dużo miejsca do wykorzystania – AppWorld wciąż nie jest tak przeładowany aplikacjami jak Google Play czy Apple AppStore i nasza szansa na sukces jest o wiele większa.

Polskie serwisy rozrywkowe (i nie tylko) potrzebują dedykowanych aplikacji dla BlackBerry [Demotywatory, aplikacja autorstwa firmy PROGET]

Z doświadczeń PROGETu wynika jednak, że zdecydowanie nie należy zapominać także o aplikacjach tworzonych specjalnie z myślą o użytkownikach mieszkających w granicach naszego kraju. Właśnie teraz, kiedy produkty RIM, nawet mimo amerykańskiego kryzysu, zdobywają w Polsce coraz większą popularność, wręcz wypada np. aby poważne serwisy miały swoją dedykowaną aplikację, niezależnie od tego czy chodzi o wersję dla BlackBerry OS, BlackBerry PlayBook OS czy w przyszłości – BlackBerry 10. Krajowi użytkownicy BlackBerry są wręcz jeszcze bardziej wygłodniali nowych programów, które mogą przydać się im w codziennych sytuacjach, nie będąc przy tym jedynie kopiami rozwiązań zagranicznych, a produktami stworzonymi od początku do końca właśnie z myślą o nich. I choć niestety nie możemy podać dokładnych statystyk pobrań najpopularniejszych aplikacji PROGETu, możemy zapewnić, że dają one do zrozumienia jedno – użytkownicy w Polsce naprawdę pragną programów i niemal dosłownie rzucają się na nie od razu po ich pojawieniu się w AppWorld. Determinację tą potwierdza chociażby fakt, że często informacja o premierze nowej, ciekawej aplikacji obiega już polską społeczność BlackBerry jeszcze zanim oficjalny komunikat prasowy dostanie się do sieci.

Oczywiście wśród naszych pytań nie mogło zabraknąć tych, dotyczących ewentualnego wpływu BlackBerry 10 i powiązanych z nim narzędzi na ekosystem aplikacji z perspektywy programistów. W tym miejscu na szczęście potwierdzają się nasze „laickie” przemyślenia i opinie i BlackBerry 10 nie jest jedynie drobną zmianą dla deweloperów, ale gigantycznym wręcz przeskokiem jakościowym, z czasów nieco archaicznych, do wręcz wyprzedzających odrobinę do tej pory najpopularniejsze rozwiązania w świecie mobilnych aplikacji.

Serdecznie dziękujemy pracownikom firmy PROGET za udzielenie odpowiedzi na wszystkie nasze pytania i oczywiście życzymy równie udanych projektów, jak do tej pory!