★Beat Angels

サル・パラダイスよ!誰もいないときは、窓から入れ。 レミ・ボンクール

お知らせタイマー・リンゴちゃんの設計

これはある時間が経過したことを計測して知らせてくれる「リンゴちゃん」というタイマー製品です。100円ショップの台所用品コーナーなどいくとこの系統の商品をよく見かけます

 

おそらくこのリンゴちゃんはこの台所用タイマーという分野の草分け的な存在です。最近ではさらに高機能のものも登場しているようですが、大変シンプルでかわいいと思います。私はこのタイマーを店頭で眺めただけで実際に触ってみたことはありません。この商品について自分ならばどのように設計するかを自分なりに考えてみた結果をここで報告したいと思います。
 

■基本仕様

写真をご覧の通り、経済化、小型化を目的として構成はいたってシンプル。同じ系統の製品で秒単位まで指定できるものもある中で、搭載部品も必要最低数としているのだと思います。

・タイマー設定範囲:1~99分(1分単位)

・液晶表示器:7セグメント2桁

・ブザー鳴動による通知

・ボタン仕様 ①数字ボタン:0~9の10個

       ②Sボタン:START/STOP兼用、1個

本製品の設計上のカギは、こうした数少ない部品をフルに活用してできる限り使いやすい操作性を実現することにあります。

このSボタンの兼用が意味するところは、このボタン操作による動作はいつでも同じではない、ということです。従ってこの製品の設計においては動作状態というものを定義してその状態毎にこのSボタンを押したときの動作を決めていく必要があります。

■基本操作の流れと状態の定義

まずは基本的な操作の流れから次のような操作サイクルの流れを考えました。

  


リセットは電池の交換時、あるいは非常手段として隠れたリセットボタンが押された時に正常動作に戻すための操作です。この初期の状態を初期状態と呼びます。そこから数字ボタンが押されるとタイマーの値である1~99分までを設定するタイマー入力状態に移ります。2桁の値を入力させるために使用者は複数回、数字ボタンを押して希望の値になったのを確認して、Sボタンを押します。SボタンはSTART/STOP兼用ですがこの時はSTARTの意味合いです。

そこからタイマーのカウント状態に入ります。この間、タイマーは時間を計測してそれが設定されたタイマー値と一致、つまり満了となったときにブザーを鳴らして知らせます。

このブザー鳴動中状態で押されたSボタンはSTOPの意味合いとなり、それでブザーは停止して、次の操作のために初期状態に移行します。

■各状態の表示仕様

こうして基本的な4つの状態が定められました。これを下表に整理します。

これらの状態はあくまで設計上で使用されるもので、使用する人がそれを厳密に理解しているわけではありませんが、おそらく同じような操作手順を頭の中でイメージしているはずでそれに合致させるようにしています。

この製品がどういう状態にあるかを極力操作する人が理解できるようにしてあげるのが親切です。幸運なことに液晶表示器とブザーという人の五感に訴える機能がありますのでこれをうまく使って今の状態を表示することを考えます。その例を下表に示します。

特に、カウント中状態を明確に分かりやすくすることを優先しました。まだカウントしていないのにカウント中であると誤認識してしまうと大きな誤操作となってしまうからです。表示が1秒周期などで点滅を行うことでタイマーのカウント中を暗黙に了解により確認してもらえるようにしています。2桁の表示方法ですが、99分から1分00秒までは分を示す99~1の点滅、59秒以下になると秒数が点滅しながら0秒に向かって減っていくというのがいいと思います。

■状態遷移手法に基づく詳細設計

引き続き、各状態における各種のボタン操作について考えます。そのために状態遷移手法を適用します。状態遷移手法は各種状態において発生する変化(今回ならばボタン操作が主ですが)に対して、①実行すべき処理、②状態遷移先を明確にしていく作業です。本製品ではボタンは単純なのでどの状態でも操作できてしまいます。これに対してスマートフォンなどのようにケースバイケースで使用可能なボタンだけが表示されるケースとは異なります。

この設計にあたり重要なのは、そのボタン操作がどういう意図で行われたか、を考えることです。勿論、意図的なものではなく単純に誤って操作してしまうケースも含めて考える必要があります。

設計例を下表に示します。

各状態と入力要因のマトリクスの形式で実行すべき処理、その後の遷移先を記載します。

先にすべての状態でボタンは任意に押されてしまう、と書きました。しかし、この図を見ると登場しないものもあります。それは未完成というのでも、サボっているわけでもありません。その操作についてはあったとしても何もしない、つまり無視するという重要な意思を示しています。

本設計例で留意した点についていくつか解説します。

例えば、カウント中状態は実動作に入った大事な状態です。そこで仮に数字ボタンが押されるケースをどう理解するか、について考えてみます。

ここでは誤操作であり、ガード、つまり無視すべきと考えました。カウント中状態に入った時、操作する人はブザーを待つことになるのでこのタイマーを手元から離してどこか別な場所においておく可能性がある。タイマーを持った人が誤って押しやすいのがこのボタンの大多数を占める数字ボタンである。この考え方よりカウント中の数字ボタンは無視することにしました。

しかし一方で実際にカウント中に入ったがそのカウントが不要となることもあります。またタイマーの設定の誤りに気が付くこともあるでしょう。従ってカウント動作は途中で止められるようにしていくのが望ましいと思いました。そこで、カウント中状態においてはSボタンの操作を認め、カウント動作を停止してタイマーの再設定に戻すこととしました。


■さらなる改良ポイント

基本的な使用方法はこれでいいとして、いろいろなユースケースでさらに効率的な操作ができるように考えてみます。

①同一タイマー設定への対応

同じ時間、例えば3分だけを繰り返し使う人がいることを考えます。例としてはこのタイマーをカップラーメン用にだけ繰り返し使うようなケースです。この場合、アイドル状態でSボタンを押したときには過去のタイマーの値をとのまま使ってカウント中に移行させます。これにより、同一のタイマーを繰り返し使う人はSボタンだけの操作ですむことになります。

②プロセス的な連続使用への対応

ある時間で使用した人が続けて次の時間を測りたいような場合、ブザーが鳴動している状態は、人はどちらというと「不快」を感じることが多いのでなんらか操作があった場合は極力ブザーを停止させるのがいいと思います。そのために、ブザー鳴動中に数字ボタンが押されたらSボタン同等にブザーを止めて、さらにアイドル状態も経由せずに次のタイマ入力状態に遷移させるのがいいと考えました。

③オートパワーオフタイマーの追加

本製品は電池で動作します。従って使用中に放置されることを防止するために無操作状態が継続した時にそれを検知して電源をオフする機能を搭載するのがいいです。このためのタイマー値はとりあえず「10分」とします。勿論、カウント中状態は除外します。


以上の改良ポイントを折り込んだ設計資料を以下に示します。特に⑤オートパワーオフ状態が追加されています。

  

 



特に人の操作上重要となる液晶表示器の表示仕様を下図に示します。

   


初期状態では、過去のタイマー設定値を表示して前回の設定を確認してもらいます。同一のタイマー値で使うケースが多いと考えられるからです。ブザー鳴動中は表示を"0"としました。これはタイマーの満了を耳だけでなく、目視でも確認できるようにするためです。

また、タイマー値の設定の途中で、10の位が"0"となる場合は空欄として表示して、100分以上の設定と誤解しないようにしました。それと、"0"を2回連続で追われた場合は表示は空欄+"0"となりますが、0分は設定不可なのでその状態ではSボタンを押しても動作せず無視されます。


以上、お知らせタイマー・リンゴちゃんの設計例を勝手に検討して説明しました。

状態遷移手法においてはそれぞれの入力要因についてどのように解釈してどう動作するのがいいのかについて新たな発見が得られるメリットがあります。つまり入力要因の網羅性を検証することができて、もっともすぐれた使い勝手を考案することができます。

いつか実際にリンゴちゃんを購入してこの結果と比較してみたいと思います。