押したのに「解除」で届くボタン
6月25日、机の上で安全デバイスのボタンを押しては、サーバーに何が届くかを眺めていた。 それまでの受信処理は仕様書だけを頼りに書いた机上のもので、実機をつないだのはこの日が最初だ。 最初の一押しはちゃんと「SOS開始」で届いた。 ところが続けてもう一度押すと、今度は「SOS解除」として届く。 押し方は同じなのに、通報が出たり出なかったりする。
理由は端末の作りにあった。このボタンはラッチ式で、一度押すと端末はしばらく「SOS中」の状態を保ち、その間にもう一度押すと解除の合図を送る。 電灯のスイッチと同じで、押すたびに開始と解除が入れ替わる。 端末としては筋の通った設計だが、うちの使い方では困る。 怖い思いをしている人が、いま端末がどちらの状態かを気にして押せるはずがない。 連打すれば2回に1回は解除になるし、少し前に押したのを忘れてもう一度押しても解除になる。
解除の合図も、通報として扱う
対処は2段構えにした。ひとつは端末側で、設定に「ボタンでの解除」を切る項目があるので、これを常に切った状態で焼き込む。 うちのデリヘル管理アプリの画面には出していない。店が選ぶ性質のものではなく、間違って入れられると困るからだ。 ただ、設定が端末に届くのは端末が通信した瞬間だけで、反映前の端末や、何かの拍子に戻ってしまった端末がないとは言い切れない。
だからもうひとつ、サーバー側では開始と解除のどちらが届いても同じSOSとして起票することにした。 解除の合図を受けて通報を自動で閉じることもしない。 端末が「解除」と言ってきたからといって、本人が無事だとは限らない。 閉じるのは、店の人が安否を確かめてから手で押すときだけにしている。 押した側の操作を握りつぶさない、を安全デバイスではいちばん上に置いた。
両取りにすると、今度は増える
開始も解除も通報にすると、1回の押下で複数の合図が届く場面が出てくる。 端末はSOS中、開始と解除を繰り返し送ってくるからだ。 そのまま1件ずつ起票すると、連絡先への電話とSMSが数分で何本も飛ぶ。 そこで、同じ端末の同じ種類の通報が開いている間は1件にまとめ、位置だけを新しいものに更新する。 店が「確認」を押した直後にも同じ再送が来るので、確認から10分以内の再送も新しい通報にはしない。 解決まで済ませたあとに来たものだけが、本物の新しい通報になる。
同じ日にもうひとつ直した。押したと判定する長さを2秒から1秒に縮めた。 2秒だと「押したのに無反応」が頻発して、ボタンを信じてもらえない。 誤って触れただけで鳴るのは困るが、押したのに鳴らないほうがずっと困る。