珍しく真面目に書いている
pebbleに関する基本的なアレコレですが
今回はアプリの作成について書きます。
・ 理想のアプリを求めて
前回エントリより、現在リリースされているアプリに欲しいモノが無い場合は自作するのが一番手っ取り早いです。どうしても画面が小さいので必要な情報が載っていなかったりそこに至るまでの手順が多かったり、あるいは画像やフォントがどうしても気に入らなかったり対応する日本語を利用したいという場合もあるでしょう。そういう場合に自作はとても有効です。
「アプリの開発」と聞くと敷居が高そうに感じますが、全く知識を持たなかった自分が数日のスキマ時間で時計と日付、曜日を表示するwatchfaceを組み上げられたので、半日集中できる時間を用意できればその程度なら作り上げられると思います。今回はその方法について、特に挑戦しやすいものを選んで挙げます。
初めての開発で参考にしたページはこちらやこちら。他に公式アプリで探せるpebbleアプリのページには開発者によりソースコード(プログラム本体)が公開されている場合もあり、それらを参考にする場合もありました(後述)。
・ 実際にアプリを作成する
pebble用のアプリを作成する方法は前エントリのwatchface generatorの他に、お使いのデスクトップやラップトップを利用して開発環境を構築する手段、そして"cloudpebble"を利用する手段があります。watchface generatorではなくcloudpebbleを利用するメリットとしては、
・ 好きなフォントが適用できる
・ 用意されている関数全てを利用できる
・ ios/androidと連携できる
・ 任意の画像を好きなだけ配置できる
・ javascriptを利用できる
などがあります。個人的には画像とフォントについては特にこだわりが強かったので、利用を開始した直後にcloudpebbleでのアプリ作成は魅力的でした。ここでは本格的な開発環境を用意せず、自分が行っているcloudpebbleと一般的なテキストエディタのみで開発を行う方法について述べます。
・ cloudpebbleとは

pebbleアプリの開発に特化したwebページで、もともとは一般の方が作成したページながら現在は公式サイトならびに公式アプリとの親和性も高く、記述時点では関数の簡単な解説やエラーになりそうな部分をハイライト表示する機能により初心者でも視覚的にわかりやすく作られています。

最新のアップデートではpebbleと接続された機器のアプリが開発機と同一のネットワーク内に無くてもデータを送り込める機能を実装するなど、頻繁なアップデートによりエディタ自体の充実を始め新しい機能も盛り込み進化を続けています。
開発するにはブラウザが扱える機器なら概ねどれでも大丈夫です。それはつまりデスクトップパソコンのwindowsやmacを始め、ダブレット端末やスマホでもOKということです。現に自分が一番最近作成したアプリはiphoneのみでプログラムの細かい修正、ビルド(プログラムをpebbleで扱えるアプリに変換する作業)してそのまま同端末内のpebbleアプリを経由してインストールしています。
その気になればケータイのみでアプリの作成が可能です。
cloudpebbleで使われるアプリの作成方法は以下の通りになります。
- C言語
pebble発売時点よりサポートされている方法。最も基本的な開発言語であり、watchfaceの作成に必要な時間と日時の取得と書き出し、電池残量(10%刻み)と充電状況やbluetoothの接続状況も取得して画面に表示するなどができるpebbleで扱われる関数群(pebble.h)を利用できます。
C言語を利用するパートでは他に、本体内蔵の加速度センサー等の情報を取得したり、バイブの振動を制御することなどもできます。pebbleと接続された機器がある場合はそちらのカレンダーやリマインダー、gpsに関するデータや電子コンパスの情報も公式アプリを経由して取得できます。
またこの関数群には画面の描画に扱われる関数もあり、活用することで画像等をアニメーションさせることもできます。公式よりリリースされている具体例としてはこちら。
pebbleの公式サイトでは開発に関するページもあり、そちらでは利用できる関数群について全て解説しています。
- C言語 + javascript
現段階でインターネットを介して情報を取得するpebbleアプリで一番普及している方法です。
多い利用方法としてはjavascriptパートでgetXMLrequest等によりwebページの情報を取得し、そのうち必要な部分についてC言語のパートに送り出してC言語パートで表示する作業を行う、といったことができます。この程度ならC言語のパートを覚えてからならば数日で習得できます。webページの作成等でjavascriptを扱ったことがある方ならもっと早く使えるようになるでしょう。
また、この組み合わせによる開発ではC言語のパートでできる機能をあらかじめ扱いやすいように準備しておき、javascript側からの指示で実行することもできます。つまり、pebble用のアプリをjavascriptのみで作成できるということです。そのうち特に普及している以下の2つは一般の方が開発し、cloudpebbleでもサポートされています。
- simplyjs
比較的早く公開された方法で、以前にも書いていますがとても簡単に組み上げられるのが特徴です。
画像の表示やページの変遷はできないながら、webページの情報を文章のみでpebbleに表示するだけならば今のところ一番簡単に実現できる方法です。
単体のアプリを公式アプリ等よりダウンロードし、web上にあるsimplyjsのルールによって記述されたjavascriptのコードをアップロードした上でアドレスを指定すると、両方が連携してpebbleに表示を出すことができます。
公式アプリ内に表示される"setting"ボタンから呼び出される設定画面で呼び出したいコードがあるアドレスを指定することでコードを切り替えることができるます。
いくつかのコードをオンライン上の同じフォルダに用意して、アドレスを数文字変更できるようにしておくとpebble内に はsimplyjsのアプリを一つインストールしておくだけで複数の機能を切り替えられるので、そういった扱い方も便利です。
バイブの管理から本体の加速度センサーを利用した連動機能などもサポートしています。
cloudpebbleではjavascriptのコードもsimplyjsに組み込んで一つのアプリにするため、単機能のアプリを作成する場合や、コードの動作を確認するためなら便利ですが、前述のような複数のjavascriptコードを一つのアプリで使い分ける、という使い方には不向きです。
- pebble.js
最近公開された方法で、simplyjsよりも多彩な表現方法を持ちます。こちらは公式でも作成方法を紹介しており、simplyjsではできない
・ 画像を表示する
・ カスタムフォントの利用
・ メニューリストから項目を選択して結果を表示
などが可能になります。
・ 参考になるコード
これらの方法によりアプリは作成されますが、全く知識がない状態から作り上げるのは、とてもむずかしい作業に感じれられます。ですが公式では実際に関数を利用したアプリの作成例としてサンプルコードをgithubに用意しており、自由に使って良いと公開しているのでまずはこれらをcloudpebbleで走らせてみるのもイイでしょう。
また、公式アプリのappstoreにて公開されているアプリは作成者によって任意にそのコードが公開されている場合があり、それらも自由に使って良いとされている場合があります。githubで"pebble watchapp"等のキーワードで検索をかけるとゴロゴロ出てきますし、そのままgoogle大先生に投げつけてみてもボチボチ返ってくるのでそれらを参考にしてみるのもイイと思います。
・ 実際に作ったアプリについて
このような手段で完成したアプリはcloudpebbleから公式アプリを通じて自分のpebbleに直接インストールできる他、無料でappstoreにて公開することも可能です。以下に開発したアプリを公開するまでの手順を解説します。

お手持ちのpebbleアカウントで開発者ページにログインします

左上にあるメニューから・watchfaceなのかwatchappなのか選択して

アプリの名前(正式名)、その機能、コードを公開するのであればそのアドレスやサポート用のwebページやemailアドレスなどを打ち込み…

紹介用ページに載せる画面写真などを用意して

アプリ本体を送り込めば公開完了です。
javascriptを利用するアプリについてはiosを通じて利用する場合にappleの審査を通る必要があり、よってダウンロードが可能になるまでandroid利用者よりはやや遅くなる場合もあるので留意しておきたいところではありますが大きな問題では無いでしょう。
自分で作ったアプリが第三者に利用されている状況を確認できたり、サポート用のemailアドレスを公開している場合にはそちらへレスポンスがあったりするので公開することでより刺激的な体験ができますよ。
では、今日はここまで。
次回は現時点で
オススメのアプリなどを
紹介します。







