エアコンのリモコン
俺の家にはエアコンが3台あって、当然だがそれぞれにリモコンがある。 それらリモコンの設計思想が全然違うことが、今更ながら気になってきた。
設計思想の違いってのは、大雑把に分けると次の2つ。
- ボタンの機能を減らして数を増やす。
- ボタンの機能を増やして数を減らす。
以下、それぞれ見ていこう。
ボタンの機能を減らして数を増やす
一つのボタンに一つの機能のみを持たせ、機能の数だけボタンを並べる形。 と言っても判り難いので、ポイントを絞って具体的に示す。 こんな感じ。
ボタンをクリックすると、エアコン本体へのメッセージを送信し、現在の状態を変化させる。
冷房の開始、暖房の開始、停止、それぞれの機能に対して一つ、ボタンが対応する。 冷房ボタンで冷房開始して、もう一回冷房ボタンを押すと止める、なんてことはしない。 止めるなら停止ボタンを使う。
どうでもいい情報ではあるが、俺の家だと、リビングにあるのがこのタイプ。
ボタンの機能を増やして数を減らす
こちらも具体的に示す。 こんな感じ。
上と同様、ボタンをクリックすると、エアコン本体へのメッセージを送信し、現在の状態を変化させる。
運転開始する時に [運転 / 停止] のボタンをクリックし、止めるときはもう一度ボタンをクリックする。 つまりこのボタンには、運転の開始と停止の二つの機能があることになる。 現在の状況判断まで含めると、一つのボタンが持つ機能は三つ。
切替という機能を一つだけ持たせているという解釈もできなくはないが、しかし実際にエアコン本体に送信するメッセージは、その時の状態に応じた開始または停止だからね。
ちなみに、俺の部屋と父の部屋にあるのがこのタイプ。
比較検討
そもそも何故こんなことが気になり始めたのか。 それは誤操作が増えたからだ。
俺の部屋のリモコンの電池がへたれてきているからだと思うが、最近、ボタンを押しても反応しない時が有る。 結構頻繁に有る。 で、空振りしたときは当然だが、もう一度ボタンを押す。 押すのだが、俺の部屋のリモコンが上の後者のタイプなので、少々面倒なことになる。
- 運転開始のつもりでボタンを押す。 これが空振りしたとする。
- もう一度ボタンを押す。 このときリモコンは、その前のボタン操作で今は運転中だと思っているので、今回の操作では運転停止を送信する。 停止しているところに停止を送るので無駄撃ち。
- もう一度ボタンを押す。 これで運転開始する。
つまり失敗を取り戻すのに最低2回の操作が必要になるのだ。
その取り戻すための2回でまた失敗したりして、ボタンを押す回数もどんどん増える。 鬱陶しい。 早く温まりたいのに起動すらできない状況に、とても苛々する。
これが前者のタイプだと、失敗を取り戻すのに必要な操作は1回。
と、使い勝手の点で優れていると思う前者のタイプだが、内部の実装でも前者の方が簡単なはず。
前者は、そのボタンで何をするかだけを考えればいい。 状態の考慮は不要。
後者は、ボタンを押した時の動作を決めるために、状態を判断する必要がある。 そのために状態を保持しておかねばならない。
上の二つは javascript で作ったが、コード量(行数)は後者が前者のおよそ1.5倍になった。 実際のリモコンの組み込みプログラムが何で作られてるのかは知らないが、やることはそう変わらないだろうから、きっと同じぐらいの差になるだろう。
ここまで二つの視点で比較してみたが、単純な判りやすさでも前者のタイプだろう。 なのに何故、後者のタイプが世に送り出されるのか。 耐久性とか、保守性とか、何か俺の気付いてない利点があるのだろうか。
なんてことを考えながらメーカーを確認したら、前者が Panasonic で2011年製、後者が National で2008年製だった。 反省して改善したのかな。
結論
電池交換は早めに。