wtorek, 16 marca 2010

APIBridge i Nokia Platform Service 2.0

Platform Services to API w Symbianie, dzięki któremu różnym technologiom na Symbiana (Web Runtime, FlashLite, Java Mobile i jak Python) zapewnia się identryczne API do pewnych funkcjonalności a w przyszłości rozszerzanie je.

Koncepcję API Platform Services powstała jak tworzono WebRuntime dla S60 3rd FP1 (bazując na Symbianie 9.2) Wtedy do obsługi aplikacji tworzonych jako widgety dodano API System Service Information pozwalające na zbieranie następujących informacji: stan baterii, stan połączenia z siecią, uruchamianie wibracji, stan wyświetlacza, stan pamięci RAM, oraz informacje o wersji językowej systemu. Pierwsze API nazwano WRT 1.0

API Platform Services 1.0 pojawiło się w 2008 wraz z wprowadzeniem S60 5th edition, jako rozszerzenie dla aplikacji internetowych dla WebRuntime i jak dla FlashLite. Celem było umożliwienie programistom szybkie wykorzystanie programowania w JavaScript czy ActionScriptu 2.0 do pewnych funkcjonalności komórki. Wtedy oficjalnie przyjęto że API dla WebRuntime w S60 5th nazwano WRT 1.1 Natomiast też wprowadzono API Platform Services 1.0 dla FlashLite 3 tylko dla S60 5th. One zawierały bardzo duży zestaw możliwości dla twórców aplikacji Symbiana w JavaScript czy ActionScript 2.0.
Oto zestaw API Platform Services 1.0 zawierał takie możliwości jak:
AppManager API pozwala na zebranie informacji jakie programy ma zainstalowane użytkownik i uruchamianie ich oraz plików powiązanych z aplikacjami
Calendar API- pozwala na dostęp i modyfikacje oraz zarządzanie danymi w kalendarzu.
Contacts API - można pobrać dane z kontaktów, modyfikować je i w razie czego eksportować do pliku vCard
Landmarks API - służy do zbierania informacji o punktach orientacyjnych i ich kategoriach a także tworzenie ich i czy eksportowanie w formacie XML
Location API - zbiera informacje o położeniu użytkownika z takich urządzeń GPS, AGPS czy z odbiorników Bluetooth GPS
Logging API - ma się dostęp do logów użytkownika kiedy i do kogo dzwonił
Media Management API - zapewnia dostęp do plików mediów w publicznych katalogach w komórce w tym do zdjęć użytkownika czy filmików użytkownika.
Messaging API - pozwala na wysłanie SMSa, MMSa czy emaila jako MMSa, pozwala też na przeczytanie treści w SMSach i MMSach, wyświetlenie monitu że otrzymało się wiadomość, zmianę statusu wiadomości a także kasowanie wiadomości programistyczne.
Sensors API - otrzymujesz dostęp do danych z czujników akceleracji, nacisku (tapping), orientacji, obrotu, kompasu (czujnik magnetyczny), przechylania (tilt)
System Information API dla WRT 1.1 ma sporo nowych opcji do odczytu: głównie informacje techniczne o komórce: firmware, nazwa, model, imei, identyfikator komórki, a także informacje związane z siecią: nazwę operatora, numer stacji bazowej, obszar gdzie użytkownik się znajduje.

Potencjalne możliwosci wykorzystania tego API są spore i wystarczające do tworzenia całkiem ciekawych funkcjonalności.

Potem Nokia aktualizowała w niektórych modelach silnik przeglądarki internetowej WebKit a także pojawiła się nowa wersja FlashLite 3.1 to dla niektórych modeli API WebRuntime zaczęło nazywać się WRT 7.0 i WRT 7.1.

Z jednej strony coraz większa presja na tworzenie aplikacji w HTML5, żeby dorównać możliwościom. Nokia wraz ze swoimi partnerami najpierw jako projekt wewnętrzny stworzono API do WebRuntime pozwalający na dodawanie nowych wtyczek i możliwości czyli APIBridge. Z tego co mi wiadomo najpierw wykorzystał Facebook do stworzenia aplikacji na N97. Ponieważ ta aplikacja stałą się popularna to Nokia postanowiła upublicznić komponent APIBridge. Najpierw w wersji alpha w listopadzie 2009, a potem już poprawione wersje w lutym 2010 dla APIBridge Web Runtime API i jak dla FlashLite czy J2ME

W praktyce okazało się że sporo jest komórek z S60 3rd które właściwie nie mają Platform Services, wiec wyszła potrzeba dostarczenia tym komórkom takiej samej funkcjonalności jakie mają te nowsze komórki. Wykorzystując możliwość tworzenia aplikacji serwerowej opartej na pluginach ECOM stworzono framework który pozwala na rozszerzanie możliwości dla WebRuntime, FlashLite czy nawet JaveMobile i Pythona. API tego frameworka API Bridge można wykorzystać zarówno każdej wersji WRT czy w FlashLite 2 czy FlashLite 3.
Możliwości APIBridge są takie: wysyłanie plików, nagrywanie filmów, robienie zdjęć, nagrywanie dźwięku, odczyt plików, skalowanie obrazków, tworzenie miniatur, dostęp do usług Logging API, dostęp do usług Location API, dostęp do plików multimedialnych i wysyłanie tonów DTMF podczas dzwonienia. To wszystko jest dostępne dla programistów ActionScriptu i jak JavaScriptu czy Javy

Równocześnie Nokia dokonała refaktoringu API Platform Service dostarczając możliwość obsługi kamery z poziomu JavaScriptu. API Platform Service 2.0 zostało wypuszczone jako wersja alpha do testowania w marcu 2009, natomiast rok potem w marcu 2010 zostało wysłane do aktualizacji w firmaware N97 i N97 Mini. Główna różnica pomiędzy API Platform Service 2.0 a API Platform Service 1.0 poza zmienionymi nazw metod polega na tym że większość kodu w API Platform Service 2.0 może wykonywać się w sposób asynchroniczny i usunięto ze względów bezpieczeństwa AppManager API.

Czy te możliwości przyjmą się wśród programistów na komórki? Trudno powiedzieć. Ludzie chcą bardziej bajerancki UI dla aplikacji, co jest możliwe do zrealizowania w FlashLite 3, a z drugiej strony spora fragmentaryzacja technologii wymusza dokonywanie pewnych kompromisów w zakresie projektowania i ingerencji w dane użytkownika. Ktoś złośliwy mógłby napisać gierkę a w tle dokonywałoby zbierania danych o użytkowniku, a potem AJAXem wysłałby dane o komórce użytkownika też wraz z danymi o położeniu użytkownika. W teorii można by wgrać listę wszystkich sklepów i ich dane kontaktowe do książki adresowej użytkownika a także wgrać listę punktów obserwacyjnych o tych sklepach do bazy w komórce. Takie aplikacje są dobre dla ludzi którzy potrzebują szybkiego kontaktu wewnątrz organizacji i na służbowych komórkach. Monitoring pracowników gdzie aplikacja w tle wysyła na serwer komunikaty o położeniu pracownika i jego aktywności jest wręcz konieczna w przypadku gdzie trzeba zarządzać ludźmi w czasie rzeczywistym. Pisząc o jego aktywności polega to na zbieraniu informacji o jego kontaktach. Wykorzystanie kamery w komórce pozwoli na robienie na szybko zdjęć i wysyłanie tego mailem czy MMS ma duże znaczenie w dostarczaniu komunikatów z imprez czy efektywności podejmowanych działań. Właściwie bardzo silna możliwość identyfikacji użytkownika komórki sprawia że łatwiej jest dokonać jego pomiaru aktywności poprzez wykorzystanie tej aplikacji jako widgetu w internecie niż w przypadku aplikacji internetowych z przeglądarki internetowej. Widgety Symbiana mogą stać się bardzo skutecznym w marketingu mobilnym - ale też przekleństwem dla użytkowników komórek.

Brak komentarzy: