Pebbleその後

PebbleのForumの通知が送られてくるのでその後の動向はどうなっているのか読んでみた。

2016/12/14 First Steps Forward with Fitbit

開発者ブログで公開された記事。

とりあえずFitbitはPebbleのエコシステムは2017年はサポートする。Pebbleアプリ開発者は作成したり更新していいとのこと。まぁそう言われてもまったくやる気は起きないのだが・・・あと開発者向けのブログなので壊れたPebbleを修理してくれるなどのPebbleユーザ向けのサポートについては書いていない。

その後の方向性としてはCloudに依存しなくて済むようにMobile appを更新する。Pebble HealthはCloudに依存していないので使い続けられるだろう。とのこと。

Rebble

First Steps Forward with Fitbitの記事でも紹介されているコミニティ。Pebbleのエコシステムを置き換えようとしている。

Gadgetbridge

First Steps Forward with Fitbitのコメントで紹介されているAndroidアプリ。Pebbleと連携できる模様。

2016/12/22 Pebble.js – Pebble Package Edition!

開発者ブログで公開された記事。Pebble.jsがPebble Packageになりました。今更?

Pebble PackageはPebbleの共有ライブラリを管理するエコシステム。このタイミングでpacakge化されたのはよくわからないがもともとPebble.jsはGitHubでソースが公開されていたのであまり延命の話には関係ないように思える。

その他

Forum見てると「動かない、Pebbleはサポートを止めたのか?」「え?俺の環境では動くけど?」のような混乱が見受けられる。何かが動かないとすぐにサービスを止められたのか?と疑念を抱かれるのは辛いだろうが仕方がない。

Pebbleスマートウォッチ延命の道

今後どこまでサポートが続くのか先行き不明なPebbleの延命の道を考える。

  • PebbleアプリがインストールされたiPhone, Android端末を所持し続ける
    • もしくはapkをゲットして新しいAndroid端末に入れられるようにする
  • お気に入りのwatchapp、watchfaceのpdwファイルをバックアップする

とりあえず古いOSのiPhoneまたはAndroidを用意しておく。現行のアプリは新しいOSのバージョンはサポートされない恐れがあるので確実に動くOSバージョンのiPhone,Androidを持っておきたい。野良アプリをインストールできるAndroidの方が良い。Pebble iOSアプリがストアから消えるとiPhoneではどうしようもなくなる(ソースが公開されれば自分でビルドしてインストールはできるが・・・プロビジョニングプロファイルの更新があり面倒)。Androidの場合はapkが公開されればGoogle Playから消えても大丈夫。

自分の記憶ではPebble本体から時計を設定できた記憶がないのでiPhone,Androidのペアリングできないと時計としても機能しなくなる。ペアリングはBluethoothで行われているんだけど、何かアプリからじゃないと上手く行かなかった覚えがある。なので今後のためにiPhone,AndroidでPebbleアプリがインストールされたデバイスを持っておくことが必要。

次に気に入ったwatchface, watchappのpdwファイルをダウンロードして保管しておく。

Pebble appstoreがなくなるとiPhone,AndroidのPebbleアプリが動いたとしてもデフォルトのwatchfaceしか使えなくなる。しかしPebbleアプリはpdwファイルの関連付けをしてくれているのでPebble appstoreがなくてもファイルがあればインストールできる。(そもそもPebble appstoreができる前はpdwファイルによる共有が主だった)

Pebble appstoreが出来るまでにあった非公式なギャラリーサイトが今後メインになるかもしれない。自分もwatchface, watchapp開発者の一人として今後メインになるギャラリーサイトがあるのであればそこへアップロードしようと思う。

Pebbleの行方

Pebblerに Pebble’s Next Step With Fitbit という件名のメールが送られてきた。

ブログにも記事があがっている。
Pebble’s Next Step

PebbleはFitbit社に買収された。Pebbleというブランド(モデル)は引き継がれないし、もう生産も販売もされない。一応機器は動くとされているが今後Fitbit社のサポートがどこまで続くは不明。

KickstarterでPebble Coreを支援していたが返金されることになる。先月までSDKはリリースされていたし、Pebble Time 2のサポートをそろそろやらないなと思っていたところだけにショック。

ブログのコメントなどではオープンソースにする声もあがっているが、Cloud PebbleやiOS/Androidアプリなど結合度の高いコンポーネントが数多くあり、そもそもFitbit社が買収したいテクノロジーがそこにあるわけだから競合他社に公開したくはないだろう。現実的にはオープンソース化は難しいと思われる。

「ブランドは違うけどPebbleじゃん」というものがFitbitから出ることを祈るばかり。

Pebble 2来る

Pebble Coreが来年なので勢いでKickstarterで支援してしまったPebble 2が来た。
Pebble 2, Time 2 + All-New Pebble Core

Pebble 2

Pebble 2

中のパッケージ。どうやら日本も重要な市場として認められているようだ。

Pebble 2

以前にPebble Time用に3Dプリント代行で作ったDockが流用できた。Pebble 2も初代と並べるとデザインが洗練されているように見える。

PebbleのDeveloper Potalで確認できる自作のwatchfaceのハードウェア別集計を見てみると初代はPebble Time Roundよりも低いのだが、これはモデルが古いからなのか白黒に需要がないのか定かではない。

Pebble 2はHeart Rate Monitorが付いているなどかなりフィットネス向けに特化して他のものは削ぎ落とした感がある。自分はターゲット層ではないからイマイチピンと来ていないのだがもしかしたらApble Watchがオーバースペックすぎて高いと思っている人達には売れるのかもしれない。129ドル。
Pebble 2 + Heart Rate

まずは1週間は使ってみるとしよう。

Pebble Time 2対応の道

Pebble Time 2(Emery)向け対応がなかなか大変そうな雰囲気。

Pebble Time 2は来年出る予定のPebbleの新型。名前の通りカラー四角のTimeの後継。解像度が144×168 → 200×228、DPIが172 → 202と変わる。

Pebble Time 2にはBezelモードというのがあって過去のPebble Classic(Aplite),Pebble Time(Basalt)向けに作ったWatchappは144×168のセンター寄せで周囲を黒い縁にして表示してくれる。なのでなにも対応しなくても実行できることはできる。昔iPadでiPhoneアプリを動かすときにあったときに似ている。

しかしDPIが上がっているので同じ解像度で表示しても文字などが小さくなってしまうと思われる。iPadならまだしもスマートウォッチでこれは致命的なので対応しないとなかなか使ってもらえないと思う。

丸型のPebble Time Roundが出たときはPBL_ROUNDPBL_RECTで分岐して四角か丸かで最適化した。今後はPBL_DISPLAY_HEIGHTPBL_DISPLAY_HEIGHTで頑張れということらしい。以下の例では228がTime 2、180がTime Round向けということになる。

#if PBL_DISPLAY_HEIGHT == 228
  uint8_t offset_y = 100;
#elif PBL_DISPLAY_HEIGHT == 180
  uint8_t offset_y = 80;
#else
  uint8_t offset_y = 60;
#endif

画像もexample-image~color~rect~228h.pngなどとできそう。

とりあえずレイアウトそのままでMineclockをそのまま実行したらこんな有様。

Round 2が出るのでは?と期待してTime 2はまだ買っていないが、微妙な解像度やDPIの違いはエミュレータでは確認できなさそうな気がするので凝ったデザインのWatchfappを作っている場合は実機を買わないと行けないような気がする。199ドル。
https://www.pebble.com/buy-pebble-time-2-smartwatch

PebbeのTimeline Quick View対応

Pebble WatchfaceであるMineclockでPebble OS v4.0のTimeline Quick Viewに対応してみた。

残念ながらTimeline Quick Viewは丸型のPebble Time Roundでは対応しておらず、四角のPebble Timeで使える機能なので押入れで眠っていたPebble Timeを引っ張り出して確認したりした。Timeline Quick ViewはWatchface上に次のTimelineの通知が表示される機能で、まぁ次の予定が時計上で確認できるというものになる。設定で30分前からとか5分前から表示などを設定できる。

Watchfaceの開発者としてはTimeline Quick Viewが表示されてもユーザインタフェース上問題ないようにレイアウトする必要がある。ちなみにPebble TimeではTimeline Quick Viewが高さを50pxくらいとるのでwatchfaceによってはかなりレイアウト上の制限を受ける(Pebble Timeの解像度は144×168)。Timeline Quick Viewに対応していないWatchfaceが重要な時間情報を画面の下で表示していると致命的である。

今後、機種によってTimeline Quick Viewのサイズが変わってくるとかなり面倒なことになるので、今回はデジタル時計部分を無理やり表示するという方法でとりあえず対応した。なおエミュレータを使うと予定がなくてもTimeline Quick Viewの表示のオンオフを pebble emu-set-timeline-quick-view --emulator basalt on で確認できるのでまずはそれで確認するのが良い。

アナログの日時計を対応する場合はTimeline Quick Viewが表示された場合と、そうでない場合で2種類の画像を用意して描画処理をしないといけなくなるのでMinelockのように画面の解像度を前提とした凝ったWatchfaceの対応は苦労することになる。

今回はとりあえずの対応をして他のWatchfaceの開発者の様子を見てみよう。

Pebble OS 4.0対応を読む

8/31からは4.0対応が推奨されていくらしい。
https://developer.pebble.com/blog/2016/08/19/prime-time-is-approaching-for-os-4.0/

4.0対応には以下のようなことがある。

  • AppIcon
  • Timeline Quick View
  • AppGlances
  • The Diorite Platform

AppIcon

ようやくAppIconが表示されるようになる。というか初代Pebbleでは表示されていたのだがPebble Time RoundではWatchappのアイコンが表示されなくなってForumでもスレッドが立っていた。以前読んだドキュメントでは28×28のモノクロだったけど、OS 4.0からは25×25のpngになる模様。25×25にしたとしてOS 3以下のPebbleでもちゃんと表示されるのだろうか。

"resources": {
  "media": [
    {
      "menuIcon": true,
      "type": "png",
      "name": "IMAGE_MENU_ICON",
      "file": "images/icon.png"
    }
  ]
}

Timeline Quick View

OS 4からはタイムラインをWatchface上で見れるようになるらしい。これに伴い、Watchface開発者はタイムラインが表示されても邪魔にならないようにレイアウト対応する必要がありそう。

Mineclockでも対応しなければ場所的にデジタル時間が見れなくなるかもしれない。もしくは対応してないとWatchface上に出せないのか。

AppGlances

ランチャー上のWatchappのアイコンやテキストを動的に変えられるようになる。状態を持つアプリでは使えそうだが、今公開しているWatchappでは必要なさそう。

Diorite対応

Diorite(Pebble 2)は144×168の白黒で解像度は初代Pebbleと変わらないのでpackage.jsontargetPlatformsdioriteを追加するだけでとくに何も必要ないだろうという理解でいる。

Pebbleがどれくらいで届くか

Pebble Time Roundのディスプレイがおかしくなったため新しいものと交換してもらえることになってようやく届いた。

おもったより早く届いたので前回と今回で時系列でまとめてみる。今回が約2週間、前回が3週間で届いたことになる。どちらも通常配送でSingPostが使われている。

日付 状態
2016/08/06(土) 注文完了 Your Pebble Order
2016/08/10(水) 出荷開始 Your Pebble has shipped!
2016/08/12(金) 海外発送中 SingPost: Despatched to overseas (Country code: JP)
2016/08/16(火) 日本到着 SingPost: Arrival at Destination Post (Country: JP)
2016/08/17(水) 国内処理中 SingPost: Arrival at Processing Center (Country code: JP)
2016/08/19(金) 到着
日付 状態
2015/11/12(木) 注文完了 Important News Regarding Your Order
2015/11/14(土) 出荷開始 Your order has been successfully processed)
2015/11/22(日) 海外発送中 SingPost: Despatched to overseas (Country code: JP)
2015/11/26(木) 日本到着 SingPost: Arrival at Destination Post (Country: JP)
2015/12/02(水) 到着

営業日で見ると日本に来てから届くまで4〜5日なので今回速かったのは火曜日に国内にきて週末を挟まずに済んだということがありそうである。あとは前回が出荷開始からSingPostのステータスが変わるまでだいぶ時間がかかっているがこれには初期ロットだったので忙しかったのかもしれない。

繁忙期かどうか、各作業で週末またくがどうかで変わってきそうだが、大体はやはり注文後2,3週間に落ちつくのではないかと思われる。

2,3週間待てない人は配送をDHLにすると少し早くなるがそれほどでもない。なのでAmazonなどで輸入品を買うのが一番早いと思われる。

Pebble Time Roundの交換

Pebble Time Roundのディスプレイの色の出力がおかしくなってしまい報告したら新しいものが送られてきた。

左が壊れたもの、右が新しいもの。

new Pebble Time Round

そういえばいつからかメニューの表示もおかしくなったのだった。単にダーク系のデザインに変更したのかと勝手に解釈していたが何かの色が失なわれていただけの模様。

これで自作のWatchfaceを含めて試せなかったWatchappを実機で確認できるようになったので調整しよう。

Mineclock v1.1

Pebble watchfaceであるMineclockに日付を入れて欲しいという要望があったので対応した。最初のバージョンの開発中に一瞬入れていたけどデザインが微妙になったので止めた記憶があったが、とりあえず時間の下に入れてみた。

現在、Pebble Time Roundが黒背景しか見えない問題のせいで実機で確認できていない問題がある。Pebbleのシュミレーターは便利だけどPCのディスプレイではドットの表示が鮮明すぎて細かい部分の調整は実機じゃないとわからない所がある。

あと、今更ながらAtomエディタのプラグインでpb-completionsを入れたら少しだけ補完が効くようになって楽になった。構造体のメンバは出ないようなので完璧ではないが無いよりまし。