スマートグラス Even G2 の ポモドーロタイマー のプラグイン(アプリ) を開発・リリースしました!
いよいよ Even Hub 機能を搭載する アプリ バージョン v2.1.1 がリリース間近(4/3予定)ですね!
そして、先駆けて開発・申請していた Pomodoro Timer プラグイン(アプリ)が公開状態になりました!
これから開発する方もいらっしゃると思いますので、苦労話やソースコードをご紹介します。
On Even Hub
もしよかったらご使用いただいて、忌憚のないご感想などいただけたら、とても嬉しいです!
(4/3までは、Beta版のアプリからのみ可能)
スマートグラス アプリ、はじめての開発
内容自体は、シンプルなポモドーロテクニックのタイマーです。
(便宜上、「アプリ」と言ってしまっていますが、Even専門用語的には「プラグイン」が正確なようです。)
独特のプログラム構成・操作制限・画面制限に面食らいながらも、SDKも提供されており、また有志のToolKitもあったので、短期間でしたがなんとか開発することができました!
もちろんAIさんにも手伝ってもらいました。
苦労話
アプリWeb画面 と Glass画面
スマホアプリ内のWebView?ベースのアプリ(以下、アプリWeb画面)が起点となり、その中でGlass用のAPIをコールすることで、Glass側の表示を行います。

どこまでアプリWeb画面とGlass画面を連動させるのか?同期を取るのか?・・・に最後まで悩み、どんでん返しもありました。
アプリWeb側を Backend・Glass側を Frontend と捉えて、「アプリWeb側でデータや処理ロジックを実装!Glass側はUI担当!」と定義して開発→シミュレータでテスト→意気揚々と出来た!→いざ実機でテストをして、スマホアプリがバックグラウンドになったら動かない・・・とか・・・
「あああ、そうだった、俺はスマートグラスのアプリを開発していたんだ。主はグラス側だ・・・」
と作り直したり・・・で、なんとか現状、動いてるっぽいです。
※とはいえ、今のところ、そんな認識なのですが・・・アプリWeb側でバックグラウンド処理ができないと使い物にならない気もするので、きっとWorkerのようなものが可能なのだと思います(SDKをちゃんと見てません。勉強します。)
スタート画面
作業時間、休憩時間、繰り返し回数を設定します。
メガネ側での操作は「左スワイプ」「右スワイプ」「クリック」「ダブルタップ」の4種類しかありません・・・シンプル!
ですが、これだけで如何に設定を入力できるようにするのか・・・を考えるのが楽しかったですね!
(ここは将来的には音声でやってしまえると良いですよね。)
どう操作するのか?と同時並行で、アプリWeb側とGlass側の画面構成をどうするの・・・1画面?入力ごとに画面分割?あーだこーだしました。


進行画面
いかに作業集中を妨げないようにするか、でも作業と休憩の切り替わりをどう気付かせるか・・・いまだに結論が出ていません。
現時点では、
- 進行中は超シンプル
- クリックで残り時間・残り回数表示
- ダブルクリックでポーズ(強制終了)
としています。
スマートグラスを実際に使うとわかるのですが、グラス画面に何か表示されていても焦点を合わせないと読めないのです。逆に言うと焦点が合ってないとグラス画面の微妙な変化に、ほとんど気づかないのです。
つまり、WORKING→BREAKINGに文言が変化しても気づけない・・・という・・・
今後の改善として、
- 進行の大きな切り替わり時には、グラス画面をフラッシュさせる
などが必要だと感じています。
あと、SDKへの要望として「BEEP音を鳴らす」ぐらいはできるようにしてほしい。
(なんか付け外しのタイミングでBEEP音、鳴りますよね?)



完了画面
ただ頑張ったのを褒めてくれるだけの画面。
もっと嬉しくなる演出ができると良いな!と思っています。
将来、ご褒美画像を表示する・・・など


ソースコードを丸ごと公開!
ソースコード、VSCode with Claude Code の環境丸々公開しています。
SDKやToolKitへのリンクなどもREADME.mdに載せてみました。
開発環境のご参考まで!
追加:開発裏話
ご興味がありましたら、開発裏話もどうぞ!
おわりに
とりあえず、一歩を踏み出せました!
アプリ、ファームウェア、SDKツール群など、現在進行形で進化していますので、引き続きチェックしていきます。
このプラグインの忌憚のない感想や、こんなの作ったよー!を聞かせていただけると嬉しいです!
もしよかったら「スキ!」いただけると嬉しいです!
