変数やIf文などが使えるので、ほとんどプログラム言語のようなもの。
「Plug-in」と呼ばれる拡張ソフトや、各種スクリプトを利用することもできるので、複雑な処理をさせることができる。
とりあえず、
■職場ではWi-Fiをオフにする。(つながらないので、バッテリーの節約)
■家で電源につながっていないときは、データ通信をオフにする。
という自動実行タスクを組んでみた。
場所の判定にはもちろんGPS機能を使えるが、GPSはバッテリーを食うのでここでは使わず、携帯セル局の固有ナンバーを判定条件にした。精度は落ちるが、十分用は足りる。
ついでに、
■朝、会社について電源を入れたら、その日の予定を表示させる。
というタスクも組んでみた。
本当は「今日の予定」を音声で読み上げさせたいのだが、当日のスケジュールをデータとして読みだすやり方がわからないので、第一段階としてカレンダーを呼び出すだけで我慢している。
この場合、電源を入れる度にカレンダーを表示するとうっとうしいので、朝一番の一回目だけ表示するように、「表示した」という情報を変数に格納して参照するようにしている。
現在取組中のプロジェクトは、
■画面ロック中の端末をポケットから取り出し、キーワードを唱えると「おしゃべり秘書」を起動する。
というタスクの開発。
音声認識を利用して、キーワードが間違っている時はまたロック状態に戻す。
おおむね骨組みは出来たのだが、どうも動作が安定しない。通信状態とか、端末のメモリーがひっ迫していることなどが影響しているのかも。
完成した暁には、「アイアンマン」のJARVISっぽくなることを期待している。