Smartwatch Pebble i Windows — jest współpraca?
31.03.2015 | aktual.: 31.03.2015 21:27
Kilkanaście dni temu zakupiłem sobie smartwatch - Pebble. Dziś już nazywany przez producenta "Classic". W swojej oryginalnej, plastikowej wersji, w kolorze czarnym.
Tutaj warto przypomnieć moje słowa sprzed kilku miesięcy, że mój poprzedni zegarek działa na baterii 10 lat i wszelkie smartwatche są bez sensu. Zakupiłem Pebble także po to, aby sprawdzić, czy w ogóle ta koncepcja ma sens.
Jest to inne podejście do koncepcji "inteligentnego zegarka" niż to, co prezentuje Android Wear czy inny Apple Watch. Zamiast kolorowego ekranu dotykowego jest czarno-biały ekran "e‑paper", a w zasadzie energooszczędny LCD. Zamiast dotykania palcem są cztery przyciski. Nie ma mikrofonu, głośnika, złącza karty SIM. Jest za to wodoodporność.
Ale jest jedna, istotna, rzecz. Współpraca. Pebble współpracuje z Androidem i iOS. Oferuje SDK, przez które można sobie napisać w języku C własną "tarczę" lub własną aplikację na zegarek. Lub w JavaScripcie. Także przez "chmurowy" edytor i emulator. Ale i lokalnie, przez odpowiednie SDK.
Ok, ale Android i iOS to jedno. A co z Windows? Jak wiadomo, używam telefonu z Windows Phone, a każde użycie Androida wywołuje u mnie negatywne emocje. Po co mi w takim razie "inteligentny" zegarek?
Plotki mówią, że Microsoft miał współpracować z Pebble. Ale nie wyszło. Mniejsza o plotki, ale po drodze powstało sobie oprogramowanie pozwalające na wysyłanie powiadomień z telefonu Windows Phone na zegarek Pebble. Oficjalne od Microsoftu, ale beta. I niedostępne dla szerszego grona użytkowników. Ale od czego są zdolni programiści na świecie? Na Windows Central jest instrukcja dotycząca instalacji aplikacji Pebble Connect Beta. Wymagane odblokowanie telefonu dla programistów oraz Windows Phone 8.1 U1 (bo ono wprowadza opcję aplikacji dla akcesoriów).
Używam tego rozwiązania od przeszło dwóch tygodni. Jak na razie zdarzyło się, że zegarek przestał dostawać powiadomienia, a aplikacja stwierdziła, że mam usunąć parowanie urządzeń i dodać je jeszcze raz. I pomogło. Kiedy dzwoni telefon - mam powiadomienie na zegarku. Kiedy przychodzi SMS - mogę odczytać jego fragment (lub cały, jak się zmieści). Powiadomienia z aplikacji działają poprawnie. Tak samo e‑maile. Byłem zaskoczony, ale to faktycznie działa!
Aplikacji zdarza się zachować dziwnie, wysłać powiadomienie ze zwłoką, ale przez większość czasu działa idealnie. Niezbyt poprawnie wysyłane są chyba tylko statusy powiadomień, bo wszystko ma ikonkę jak SMS‑y - powiadomienia kalendarza, e‑maile, SMS‑y, powiadomienia z aplikacji. Przypuszczam, że wynika to z faktu, ze Pebble Connect używa starszej wersji API Pebble. Można wybrać jakie rodzaje powiadomień są wysyłane na zegarek i z jakich aplikacji.
Dziwnie zachowuje się Cortana - dostaję powiadomienia, które normalnie wyświetlane są tylko na kafelku przypiętym do ekranu startowego - interesujące mnie informacje i nowości ze świata. Przez jakiś czas miałem powiadomienia o mediach i dostawałem powiadomienie o każdym zmienionym utworze, co warto wyłączyć. Zegarek otrzymuje też powiadomienia, których nie wiem jak wyłączyć - o wejściu w tryb oszczędzania energii czy Driving Mode.
Aplikacja działa nieco inaczej niż oficjalna aplikacje Pebble na Androida - nie jest połączona z zegarkiem non‑stop, ale łączy się wtedy, kiedy musi. Nie widzę znaczącego opóźnienia w powiadomieniach, a ciekawi mnie, czy bardziej oszczędza to energię obu urządzeń. Aczkolwiek jest parę przypadków, że połączenie było utrzymywane.
Oprócz oficjalnej aplikacji do powiadomień istnieją jeszcze aplikacje pozwalające na inną współpracę z zegarkiem: Pebble Watch Lite (darmowa) pozwalają między innymi na sterowanie muzyką telefonu z interfejsu zegarka, a jej odmiana Pro (płatna) oferuje również między innymi wgrywanie własnych "tarcz" i aplikacji (ale nie integruje się z Pebble App Store).
Te same opcje oferuje również darmowa aplikacja Skim, aczkolwiek przyznam, że jeszcze tego nie testowałem.
A to może coś zaprogramujemy?
Stwórzmy zatem własną tarczę zegarka. Wspomniane CloudPebble bez problemu pozwoli nam to zrobić pod Windows. Oficjalne SDK jednak nie jest wspierane pod tym systemem. Maszyna wirtualna z Linuksem? To oburzające! O wiele lepiej jest przecież skorzystać z pomocy społeczności i zainstalować zwyczajnie pod Windows. Daje nam to bez problemu możliwość tworzenia i kompilowania aplikacji pod tym systemem.
Niestety, opcja "install", która instaluje nasz program na zegarku nie współpracuje z bezpośrednim połączeniem Bluetooth pomiędzy komputerzem i zegarkiem, należy wspomóc się oficjalną aplikacją Pebble (np. na Androida) i jej trybem dla programistów lub wrzucaniem na jakiś serwer i aplikacją Skim lub aplikacją Pebble.WPF o której dalej.
Bo co, gdybyśmy chcieli z własnego programu komunikować się z zegarkiem? A może z komputera dostaniemy jeszcze jakieś dodatkowe opcje? Istnieje sobie biblioteka PebbleSharp, która pozwala na komunikację z Pebble z wykorzystaniem języka C#, także z aplikacji Windows (czyli UAP, czyli WinRT, czyli Modern, czyli Metro) oraz Windows Desktop (a dokładniej .NET 4.5). Dołączone aplikacje "demo" pozwalają choćby na synchronizację czasu z komputerem, instalacje aplikacji czy wysyłanie powiadomień.
Ale co tam o samym zegarku?
Sam sprzęt jest fajny. Nadal nie widzę dla niego zastosowań przydatnych dla przeciętnego obywatela, ale jest fajnym gadżetem dla geeka.
Podczas jazdy samochodem widzę, kto dzwoni, ale przecież każdy porządny samochód ma zestaw Bluetooth, który zapewne by poinformował o tym samym. Dostaję powiadomienia o SMS‑ach i jedyne dobre zastosowanie to brak konieczności sięgania po telefon kiedy trzeba przepisać kod do banku.
No i mam aplikacje. Czas liczony wedle kalendarza innej planety, kompas na nadgarstku, mapa gwiazd (sic!) w zegarku. Nie wiem jak z użytecznością, ale dla mnie zwyczajnie fajne. A możliwość własnoręcznego zaprogramowania czy stworzenia tarczy zegarka prawie bez klikania (a na pewno bez programowania).
Bateria ma teoretycznie wytrzymywać tydzień. W praktyce osiągam około 6‑7 dni, pewien wpływ na to może mieć codzienne (conocne?) używanie aplikacji na zegarek, która śledzi mój sen i ma mnie obudzić o takiej porze, abym był wyspany. Biorąc pod uwagę, że codziennie musi mnie budzić o godzinie 6:30 jeszcze się to nie udało.
Wyświetlacz jest czytelny w każdych warunkach. Świetne jest podświetlenie tarczy po potrząśnięciu nadgarstkiem.
Podsumowując - współpraca z Windows wymaga kombinowania, ale działa. W obecnej chwili programiści firm trzecich nie mają swobodnego dostępu do API powiadomień i mam wielką nadzieję, że zmieni się to w Windows 10 (tak brzmiało to ze slajdów na WinHEC). Programowanie dla Pebble w ogóle wymaga samozaparcia, bo jest uciążliwe dla ludzi przyzwyczajonych do wyższego poziomu, ale czy robimy to pod Windows, czy nie - prawie nie ma znaczenia.
Ciekawe oczywiście jak bardzo się wszystko zepsuje wraz z nowym firmware Pebble 3.0... ;‑)