ディスプレイを見ている時はスリープさせない賢さを手に入れる

Macの手書き説明書さん経由、

Should I Sleepが素晴らしい!

これまでの自動スリープの仕様

  • 今まで、待機時間の設定に頼るしかなかった自動スリープ。
    • 待機時間=ユーザーが何も操作していない時間
  • 設定した待機時間が経過すると、画面の輝度を下げ(dim)、さらに何もしないとスリープする。
  • 若干賢い環境になると...
    • 映像(DVDやスライドショーなど)を再生している間はスリープしないとか、
    • ダウンロードしている間はスリープしないとか、(そんなことできたか?自分の要望か?)

上記仕様の限界

  • よく考えられた仕様なのだけど、時間設定と起動中のプロセスの監視に頼ることしかできていない。
  • 半分はうまくいくけど、もう半分の場面では無用なスリープを招いて、イライラを募らせることもあった。

例:

    • コーディング中にコードの流れを追いながら、数分に及んで考えているとき。
    • PDFで書籍の推敲をしているとき。
  • とにかく、何もしていなくても画面を見ているのだから、dimやスリープして欲しくないのだ。
  • しかし、画面を見ているなんてことをMacBookが知る由もなく、無情にもdimされ、その都度shiftキーなど押していた。
  • 今までこの欲求を満たすには、いたずらに待機時間を長く設定するしかなかった...。
  • すると今度は、さっさとスリープして欲しいときに無駄に長く稼働している状態になってしまう...。

どちらを優先するか、究極の選択を迫られていたのだ。

  • 場合によっては、一時的に自動スリープを無効にしたり、強制的にスリープさせたりと、スリープにまつわる苦労は以外と多かった。

良きに計らうShould I Sleep

その状況を、Should I Sleepが一気に解決してしまった!

  • Should I Sleepは、dimする直前にiSightカメラで目の前の状況を確認する。
  • そして、カメラの画像に顔を感知すると、dimとスリープをキャンセルしてくれるのだ。

素晴らしい発想!

  • 画面を見ている間は間違いなく顔が検出されるはずだから、きっとほとんどの状況でうまくいくはず。

試用

さっそく、試してみた。

  • まずはシステム環境設定 >> 省エネルギー設定で、dimまでの待機時間を1分(最短)に設定。

  • Should I Sleepを以下のように設定した。
    • Face Detection チェックあり
    • Enable Notifications チェックあり
  • これでShould I Sleepが顔検出したときに、通知センターに通知されるので、効き具合がよく分かるのだ。

  • 1分30秒くらい何もしない状態が続くと、iSightが緑色に光って稼働し、以下の通知が表示された!

  • 顔が検出されると「顔が検出されました。スリープが中止されました。」
    • 再び、次の待機時間の経過を待って、上記動作を繰り返す。

  • 顔が検出されないと「何も検出されませんでした。スリープは許可されました。」
    • このまま1分くらい放っておくとdimして、最終的にはスリープする。

  • 試してみたら、素晴らしい性能である!
  • 迷わず、起動時に稼働する設定にした。

  • 顔検出は、ここで処理時間を長く設定するほど正確になるようだが、今のところデフォルトのままで問題なし。

  • 実験が終わったら、Enable Notificationのチェックを外しておくと、Should I Sleepは裏で黙々と顔をチェックしてくれる。

所感

  • こうゆうインテリジェントなソフトウェアって大好きである。
    • インテリジェント=人の操作に頼らないで、良きに計らってくれる仕組み。

もう、OS標準にして欲しいくらいの快適さである!素晴らしい!

おまけの実験結果

  • 本当に顔を検知しているのか知りたくて、自分の顔を隠して待つこと1分30秒。
  • しかーし、予想に反してShould I Sleepは「顔が検出されたので、スリープを中止する」と通知してきた。


  • 顔検出とか言っても、けっこういい加減かもしれない、と不信感を募らせ始めていたところ、
  • 顔を隠すのに使っていた本の表紙を改めて見直した時に、気付いてしまった...。

顔を隠すのに使った本

  • もしや、アリスかボブのイラストの顔が検出されているのかもしれない...。
  • そう予想して、本の後ろ側がカメラに写るようにして顔を隠してみると...


  • 今度は見事に顔が検出されず、スリープが許可された!


  • 恐るべし顔検出。疑ってごめんなさいShould I Sleep。


教訓:

  • 背景にあるポスターとか写真の中の顔さえも、Should I Sleepは検出する場合がある。
    • ある意味、正確な仕事をしているのだ。高性能な顔検出が行われている。
  • アリスかボブのイラストでもOKだったので、顔は2D・3Dに限らず検出すると思ってた方がいい。
  • ポスター、カレンダー、写真など、背景に何があるか確認しておいた方が良さそう。