ソフトウェア開発者は1日6〜10時間、画面の前に座って過ごします。深い集中、デュアルモニター、長丁場のデバッグ。この組み合わせは、筋骨格の問題を招く最悪の条件がそろった状態です。研究はそれをはっきり示しています。
頭部前方位 — 頭が肩より前に出ていく状態 — は、開発者を象徴する不調です。脊椎外科医のDr. Kenneth Hansraj(2014)による生体力学モデルによれば、60°前傾したとき、頭は頸椎に最大60ポンド相当の力をかけます。キーボードに手を伸ばしたまま長時間動かない姿勢と重なると、圧迫の力が生まれ、緊張型頭痛や慢性的な上背部のこわばりにつながります。
皮肉なことに、たいていの休憩リマインダーは最悪のタイミングで割り込んできます。ありふれた30分タイマーは、あなたが考えの途中なのか、タスクの切れ目にいるのかを知りません。Mark, Gudith & Klocke(2008)の研究では、割り込みのあと深い集中を完全に取り戻すまでに平均25分かかることが分かっています。つまり、タイミングの悪い休憩は30分近くの生産的な時間を奪いかねません。
Craneは開発者が、開発者のために設計しました。どの機能も、深い集中を要する仕事の現実を尊重しながら、長時間動かない姿勢による負担から体を守ります。
ディープフォーカスのプロファイルは、60分の座位ブロックを使います。意味のあるコーディングができるだけの長さがあり、痛みを引き起こす脊椎の圧迫が積み重なるほどには長くありません。ブロックが終わると、Craneは30分の回復シーケンス — 立つ、歩く、ストレッチ、運動 — をガイドします。文脈を失わずに切り替えられます。体を回復させながら、スタンディングデスクの高さを変え、PRをレビューし、ドキュメントを読めばよいのです。
CraneはTensorFlow.jsと姿勢推定モデルMoveNetを使い、ウェブカメラ越しに頭の位置、肩の高さ、前傾を追跡します。モニターに向かって背中を丸め始めると — デュアルモニターでよく起きるずれです — Craneは作業を妨げない穏やかな通知を送ります。処理はすべてあなたのCPU上でローカルに行われます。画像が保存・送信・録画されることはありません。
20分ごとに、20フィート先のものを20秒間見る。Craneの人間工学サイクルタイマーは、活動の切り替わりのたびに目を休める機会を自然に作ります。研究では、追加の休憩がデジタル眼精疲労の軽減に役立つ可能性が示されていますが、20-20-20という具体的な間隔については結果が分かれています(Rosenfield et al., 2023)。
Craneがウィンドウのフォーカスを奪うことはありません。通知は小さな半透明のオーバーレイとして現れ、数秒で消えます。モーダルダイアログも、強制的な一時停止も、ゲーム風の仕掛けもありません。合図に気づき、いつ動くかは自分で決める。コードは前面に出たままです。
ディープフォーカスのプロファイルは、長く途切れない集中の時間を必要とする開発者やナレッジワーカーのために設計されています。90分のサイクルの内訳は次のとおりです。
このサイクルは、ウルトラディアンリズム — 脳が1日を通して繰り返す約90分の自然な注意の周期 — に関する研究に基づいています。60分の集中ブロックは1周期にちょうど収まり、30分の回復シーケンスが脊椎の圧迫を解き、血流を戻し、次のブロックに向けて姿勢を整え直します。
スタンディングデスクをお使いなら、Craneが切り替えを滑らかにつなぎます。お使いでなくても、回復の時間は、次のブロックの前に体を動かし、伸ばし、コーヒーを注ぎ足すのにちょうどよいタイミングです。
もっと短いセッションや、テンポの速い仕事には、Dev Sprintのプロファイルがあります。69分のサイクルに、スプリント型の開発に最適化された52分の作業ブロックを組み合わせたものです。ディープフォーカスとの相性も良く、コードレビューやバグ修正にはDev Sprint、腰を据えた機能開発にはディープフォーカスという使い分けができます。
Craneはすべてあなたのパソコン上で動きます。姿勢データのためのクラウドバックエンドも、テレメトリも、解析も、アカウント作成もありません。ウェブカメラの映像はメモリ上で1フレームずつ処理され、直後に破棄されます。AIモデルはTensorFlow.jsを通じてCPUで動き、GPUは不要です。発生するネットワーク通信は、Proユーザーのライセンス検証と、ストア経由のアプリ更新だけです。
これは単なるプライバシー機能ではなく、アーキテクチャ上の判断です。「見ないと約束します」と「送る先のサーバーが存在しません」の違いは、開発者ならご存じのはずです。Craneは後者を選びました。