z[mobi]lizuj się! o tym czego chcieć i jak to zrobić w kontekście dobrej i użytecznej aplikacji...
TRANSCRIPT
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i użytecznej aplikacji mobilnej
Marcin Zajkowski, SICC.pl @ InfoMEET Warszawa, 2015
SICC.pl
WeAreSICC.com
@zajkowskimarcin
fb.com/zajkowski.marcin
goldenline.pl/marcin-zajkowski
Smartfony / urządzenia przenośne nie są czymś nowym czyinnowacyjnym, są po prostu normalnym elementem naszego życia.
Użytkownicy instalują niesamowicie dużo aplikacji na swoichurządzeniach (max ~100 per user), ale stale korzystają tylko z
nielicznych.
Baaaardzo dużo czasu spędzamy korzystając z aplikacji mobilnych, a korzystamy z nich praktycznie wszędzie.
https://www.youtube.com/watch?v=Zu65kiRfnnQ
(* 75% Amerykanów przyznaje, że korzysta z telefonów w toalecie, 19 %badanych zdarzyło się utopic telefon w muszli klozetowej, a 51 %badanych na terenie UK stwierdza, że CIERPI, kiedy nie ma w ich pobliżuich urządzeń mobilnych)
“There is an app for that.”
• Snapcat (Android) – aplikacja społecznościowa do dzielenia sięzdjęciami kotów
• Ghost Detector (Android)
• Bowel Mover i PoopLog – dziel się swoimi łazienkowymi“sukcesami”
• Hold the Button, Pryk (), Yo etc.
• Taxi Hold’Em – neon z napisem “TAXI” wspomagającyzatrzymywanie taxówek (problem, który nie istnieje)
• #NOTONAPPSTORE! (http://notonappstore.com)
Aplikacje natywne
• Pisane z wykorzystaniem kodu źródłowego dedykowanego każdej z platform (Objective-C → iOS, Java → Android, C#/Silverlight → WP)
• Nastawione na jak największą wydajność i dopasowanie do platformy
• „Ograniczone” przez API systemu (przypadek WP7)
Np.: Instagram, Shazam, Gry*, Aplikacje radiowe, Klienci pocztowi itp.
Tzw. „hybrydy”
• PhoneGap
• Rhodes
• Appcelerator
• …
• Możliwość wykorzystania natywnych funkcji urządzeń tj. aparat, pamięć wbudowana, lista kontaktów, powiadomienia push etc.
• Typ aplikacji mocno promowany na początku powstania iPhone’a oraz nawet zasugerowany jako rekomendowany w podręczniku dla developerów iOS
Np.: Fastbook, Facebook (stara wersja Androidowa np.), LinkedIn
WebApps (ew. Mobile websites)
• Oparte na standardach webowych (teoretycznie znanych dla wszystkich większości developerów / programistów)
• Zależne od dostawców przeglądarek internetowych oraz przeglądarek dostępnych w urządzeniach / platformach
• Możliwość wykorzystania nowych standardów webowych np. do przechowywania danych po stronie przeglądarki
• Brak dostępu do natywnych cech urządzeń*
Np.: Twitter, Facebook, Trello
Częste wymagania (polskich?) klientów
• Ma działać „wszędzie”
• „Coś jak …”
• „Im szybciej tym lepiej”
• „Czy zmieścimy się w budżecie … zł?”
• Abstrachuje.TV: Oczekiwania vs. Rzeczywistość (nasze przygody)
Jak tego uniknąć?
• Solidna analiza zapotrzebowania klientów
• Stanowcza, ale też konstruktywna, krytyka przekonań klientów
• Identyfikacja docelowych użytkowników i ich zachowań
• Prototypowanie ponad wytwarzanie oprogramowania
• Użyteczność > funkcjonalność!
• Świadomość fragmentaryzacji rynku / rynków
• Testy, testy, testy….
Jak pracujemy w SICC
• Ok. 70 % naszych wycen to czas potrzebny na analizy i przygotowanie do “działania” a 30 % to czysty development (niezawsze)
• Maksymalnie odciążamy urządzenia (logika w większościprzypadków jest wydzielona -> Umbraco <3 + .NET) → krótszyczas potrzebny do wytworzenia kilku klientów / platform
• “Done is better than perfect.” taa…
• Rozmawiamy, słuchamy, myślimy, mierzymy siły na zamiary (co wydaje się rzadko spotykanym procederem )
Pomocne toole
• http://caniuse.com
• Window Resizer (http://ujeb.se/Dbro)
• F11
• Aplikacje do sketch’owania i prototypowania aplikacji
• Dokumentacje platform mobilnych
• Google Analytics for mobile apps (nie tylko for mobile), heatmapy i badanie zachowań użytkowników
• Kody źródłowe zdekompilowanych aplikacji
• Cierpliwość!