2. Konspekt Parę słów o FancyFon Platformy mobilne Projekt Pakk Jak okiełznać różnorodność platform? Ograniczenie czy szansa?
3. FancyFon – co robimy? Inna strona mobilności FAMOC – zarządzanie urządzeniami mobilnymi Backup/restore Wipe Polityki (haseł, VPN, konfiguracja WiFi) Zdalny dostęp Nie tylko telefony Oprogramowanie mobilne na zamówienie
5. Platformy mobilne - fakty Gdzie jest Nokia i RIM, a gdzie będzie? źródło: http://www.allaboutsymbian.com/news/item/12858_IDC_smartphone_shipment_figure.php
6. Pakk – co to takiego? Klient: Vodafone Węgry Przeznaczenie: self-support dla klientów końcowych Funkcjonalność: Backup/restore danych Zarządzanie usługami Wewnętrzne repozytorium aplikacji Śledzenie stanu konta
8. Pakk – wyzwania Głęboka integracja z systemem (backup, integracja przez SMS) Rozdzielczość ekranu Różne możliwości urządzeń Aplikacja z limitowanym dostępem Opór niektórych producentów telefonów
9. Pakk Java Czego się spodziewaliśmy? Problemy z testowaniem: dużo producentów i modeli (Nokia S40 – ok. 200 modeli) brak części telefonów z listy top40 Duży koszt poprawy błędów Co nas zaskoczyło? Problem z dostępnością telefonów na rynku Aż tak duże różnice w działaniu aplikacji między urządzeniami
10. Pakk Java - development Nokia S40 5th, 6th – OK Sony Ericsson, w miarę dobra implementacja J2ME Samsung, LG – co telefon to inny świat Naruszone założenia specyfikacji JTWI Drobne problemy przy uruchomieniu na S60 Nie udało się uruchomić na Bada OS
11. Pakk – Java (2) Zalety: Stosunkowo krótki czas wytworzenia Powszechny język programowania Problemy: API nie działające zgodnie ze specyfikacją Rozmiar aplikacji Zróżnicowanie wielkości ekranu Zróżnicowanie możliwości przeglądarki Różna reprezentacja obiektów (np. kontakt) Wysoki koszt testów Problem z konfiguracją APN (Nokia) oraz uprawnień aplikacji – negatywny wpływ na wrażenia użytkownika!!!
12. Pakk – Android Czego się spodziewaliśmy? Szybki development Przewidywalne zachowanie systemu Duże zróżnicowanie modeli (głównie ekran) Potencjalne problemy z „brandowanymi” telefonami Problemy z wsteczną kompatybilnością (Android 2.1 vs 1.6) Co nas zaskoczyło? Nie zawsze prawidłowa implementacja API systemowego (kontakty) Nietypowe zachowanie przeglądarki w HTC (user-agent)
13. Pakk – Android (2) Zalety: Wielozadaniowy system operacyjny – można więcej Duża swoboda aplikacji (szeroki dostęp do systemu) Popularny język programowania Szybkość tworzenia aplikacji Automatyczna dostępność aplikacji na tablety Problemy: Różnice w zachowaniu API na różnych modelach telefonów (raczej incydentalne) Pewne nienaruszalne założenia (np. sposób instalacji aplikacji) – ograniczenie możliwości Nienajlepsza dokumentacja
14. Pakk – Symbian Czego się spodziewaliśmy? Ciężki development, szczególnie interfejs użytkownika Duża liczba urządzeń i wersji systemu Niespójność systemu na różnych urządzeniach Wszystko da się zaimplementować Co nas zaskoczyło? Dużo większa pracochłonność niż zakładana Bardziej skomplikowane rozwiązania niż na Android
15. Pakk – Symbian Zalety: API pozwalające na dostęp do każdego elementu systemu W nowych telefonach możliwość tworzenia aplikacji w Qt Wady: Dużo wyższa pracochłonność niż na innych platformach (bez użycia Qt) Archaiczny język i środowisko programistyczne Ukryte API Skomplikowany system podpisów „Sztuczki i kruczki” zarówno w systemie jak w środowisku Zróżnicowanie między wersjami Symbiana Zróżnicowanie między urządzeniami
16. Pakk – iPhone Czego się spodziewaliśmy? Szybki development Uboższa funkcjonalność Bogaty graficznie Co nas zaskoczyło? Naprawdę szybki development Drobne błędy w funkcjonowaniu iOS
17. Pakk – iPhone Zalety: Niewielka liczba urządzeń i wersji systemu Szybki development „Błyszczący” interfejs użytkownika Automatyczna dostępność aplikacji dla iPad Wady: Nietypowy język programowania Konieczność posiadania sprzętu Apple Ograniczone API do dostępu do elementów systemu (np. skrzynka SMS)
18. Pakk – inne platformy BlackBerry – zależy od klientów Windows Phone 7 – jeszcze nie dziś Bada – niski priorytet Windows Mobile – na pewno nie Palm (WebOS) – na pewno nie
20. Garść dobrych rad Proste aplikacje Nie wchodzić głęboko w system Ograniczyć docelową grupę urządzeń Posiadać telefony referencyjne Nie zakładać zgodności między urządzeniami
22. Nadzieja na przyszłość? Biblioteki dostępne na kilku platformach LWUIT XStream OpenGL Źródło: http://www.rovio.com
23. Nadzieja na przyszłość? Aplikacje pisane w ActionScript: Android iPhone (z użyciem Packager for iPhone) BlackBerryPlayBook
24. Nadzieja na przyszłość? HTML 5 Tworzenie aplikacji w HTML/CSS/JavaScript Aplikacje „offline” Write once run anywhere PhoneGap (phonegap.com) źródło: http://miniapps.co.uk/cardflip/
25. Ograniczenie czy szansa? Dla każdego coś miłego Można iteracyjnie Dobór platformy do projektu Dynamika rynku Google AppInventor – każdy może napisać aplikację (http://appinventor.googlelabs.com/about/)