Pokazywanie postów oznaczonych etykietą C2DM. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą C2DM. Pokaż wszystkie posty

wtorek, 21 grudnia 2010

Chrome2Phone (C2DM) i android2cloud

Istnieje taki dodatek do Chrome o nazwie Chrome2Phone, który po zainstalowaniu w telefonie z Androidem programu o tej samej nazwie, autoryzacji pluginu, skojarzeniu programu w telefonie i pluginu - pozwala na uruchamianie akcji (programów) w telefonie za pomocą kliknięcia w przycisk na pasku Chrome.

Przykład? Oglądam jakąś strone, klikam przycisk i strona otwiera się za moment w przeglądarce telefonu. Oglądam mapę w Google Maps, klik, i oglądana lokalizacja otwiera się w aplikacji Google Maps w telefonie.  Podobnie podczas oglądania filmu na YouTube. Proste i pomocne. Możemy też w opcjach ustawić czy linki mają otwierać się automatycznie czy mamy być pytani za każdym razem o to.

Cały ten mechanizm opiera się na usłudze C2DM (Cloud to Device Messaging), dostępnej dla systemu Android od wersji 2.2. Jest to usługa pozwalająca na przesyłanie danych (a właściwie to powiadomienia o pojawieniu się nowych danych, gdyż nie zaleca się przesyłania zbyt dużej ilości danych za pomocą C2DM - limit wynosi 1024 bajty) z jakiegoś serwera bezpośrednio do urządzenia z Androidem na pokładzie. Pozwala zaoszczędzić czas i zasoby telefonu na ciągłe odpytywanie serwera o nowe dane. Aplikacja w telefonie zostaje powiadomiona za pomocą broadcastu o nadejściu danych. Co ciekawe, do działania usługi potrzebna jest zainstalowana aplikacja Market (patrz tutaj). 

Dziś dowiedziałem się o 2 nowych funkcjach: kopiowanie tekstu i wybieranie numeru telefonu. Pierwsza z nich polega na tym, że po zaznaczeniu dowolnego tekstu na stronie i kliknięciu przycisku plugina tekst kopiowany jest do schowka systemowego w telefonie, co zostaje uwidocznione przez informację w pasku powiadomienia:


Drugą z nich polega na tym, że po zaznaczeniu na stronie kawałka tekstu który jest numerem telefonu i kliknięciu przycisku pluginu na telefonie zostanie uruchomiona aplikacja do dzwonienia wraz z wpisanym już numerem telefonu - należy już tylko wcisnąć zieloną słuchawkę.



To jednak dopiero połowa. Czasami brakowało mi odwrotnej funkcji - oglądam jakaś stronę w telefonie, ale jest to jednak niewygodne, więc chciałbym zobaczyć ja na ekranie komputera. Najłatwiej było przesłać linka mejlem, ale to mimo wszystko niewygodne. Okazało się, że istnieje rozwiązanie - nazywa się ono android2cloud (strona domowa projektu). Za jego pomocą można przesłać (za pomocą akcji Share w telefonie) oglądaną właśnie stronę do przeglądarki Chrome.

Instalacja jest analogiczna jak Chrome2Phone. Trzeba ściągnąć plugin do Chrome (stąd) oraz zainstalować aplikację z Marketu (co ciekawe, są jej dwie wersje, darmowa i płatna, obie tak samo funkcjonalne, link do darmowej). Po zainstalowaniu i konfiguracji (autoryzacja) mamy dostępna aplikację (mało ergonomiczna mówiąc delikatnie) oraz dużo bardziej wygodny sposób za pomocą opcji Share w menu przeglądarki:


Działanie jest niestety zauważalnie wolniejsze niż w przeciwną stronę. Nie zmienia to faktu, że aplikacja działa i bywa bardzo pomocna na co dzień.

piątek, 13 sierpnia 2010

Z dużej chmury mały deszcz - Voice Actions i Chrome to Phone

Niestety żadna z zapowiedzi na dzisiejsza konferencję Google Mobile się nie sprawdziła. Na konferencji zapowiedziano dwie rzeczy:
  1. Voice Actions
  2. Chrome to Phone
      1. Voice Actions - to połączenie Voice Search i widżetu Google Search. Polega ono na tym, że użytkownik może wypowiedzieć jedna z komend:
      • send text to [contact] [message]
      • listen to [artist/song/album]
      • call [business]
      • call [contact]
      • send email to [contact] [message]
      • go to [website]
      • note to self [note]
      • navigate to [location/business name]
      • directions to [location/business name]
      • map of [location]
      a usługa odpowiednio je zinterpretuje przekazując do odpowiedniego programu. Jak to działa można zobaczyć na poniższym video:



      Robi to niezłe wrażenie, niestety diabeł - jak to zwykle - tkwi w szczegółach. A są one takie, że wymagane jest posiadanie wersji 2.2 Androida, aplikacja działa tylko w języku angielskim (przynajmniej na razie, mimo że w ustawieniach można wybrać iny język...) i - co o wiele gorsze - jest dostępna tylko dla użytkowników angielskojęzycznych aplikacja jest już dostępna dla wszystkich lokalizacji. Dla nie angielskojęzycznych użytkowników aplikacja jest ciężka w użyciu, u mnie rozpoznała tylko jednego adresata z kontaktów, nie zna takich miast jak "Katowice" czy "Cracow", ale już "Poland" rozpoznaje. Sprawę z kontaktami można rozwiązać definiując dla nich fonetyczne brzmienie. Niestety nie było dane mi tego sprawdzić bo po kilku próbach pojawił mi się taki oto ekran przy próbie wyszukania czegokolwiek:


      Połączenie z internetem oczywiście działało, może więc serwer usługi się zapchał po tym jak wszyscy po konferencji prasowej rzucili się do testowania usługi? 

      2. Chrome to Phone - to rozwiązanie bazujące na Cloud to Device Messaging (C2DM), pozwalające na przesyłanie danych bezpośrednio z przeglądarki Chrome (za pomocą pluginu) do urządzenia z Androidem (aplikacja odbierająca dane). Po drodze znajduje się jeszcze serwer działający na Google AppEngine. Schemat działania przypomina problem producent-konsument:
      • aplikacja w telefonie rejestruje się w usłudze C2DM i dostaje unikalny numerek ID
      • aplikacja w telefonie wysyła numerek ID i dane użytkownika do serwera AppEngine, który zapamiętuje te dane
      • plugin z przeglądarki wysyła dane POSTem do serwera
      • serwer autoryzuje użytkownika i szuka mapowania dla danego użytkownika, po czym (jeśli znajdzie oczywiście) wysyła POSTem URLa do usługi C2DM, która "wpycha" dane do aplikacji w telefonie
      • aplikacja odbiera dane za pomocą broadcast receivera, i przekazuje dane za pomocą nowej intencji (jakieś lepsze tłumaczenie albo chociaż odmiana słowa Intent?) do odpowiedniej aplikacji
      Jak to działa w praktyce możecie zobaczyć tutaj:


      Aplikacja obsługuje linki do przeglądarki, Google Maps, YouTube, numery telefonów (zaznaczone na stronie) oraz dowolny tekst zaznaczony na stronie (wysyłany do schowka w telefonie). 

      Projekt Chrome to phone jest udostępniony jako open source i ma służyć jako przykład użycia techniki C2DM.