# 邪魔にならない Mole の設計

> 安定したレイアウト、明示的な操作状態、確認してからの削除、パス検証、アクセシビリティ、視覚的な節制が静かなツールをどう作るかを説明します。

Published: 2026-07-05 | Updated: 2026-08-07

mole.fit を一日かけて作り直しました。いま読んでいるこのページです。投稿したとき、私は一行だけ書きました。静かで、信頼できて、邪魔をしない。アプリそのものと同じ思想だと。それが、最初のシェルスクリプト以来、Mole のデザインのすべてです。ここでは、それが実際に何を意味するかを書きます。

<figure class="blog-diagram">
  <video src="https://mole.fit/img/blog/new-mole.mp4" width="1440" height="996" autoplay muted loop playsinline></video>
  <figcaption>作り直した mole.fit と、それが語るアプリ。五つの機能、ひとつの落ち着いた画面。必要のない注目を求めない。</figcaption>
</figure>

## 静かであることは制約です

静かさは雰囲気のように聞こえますが、ツールにとっては一連の厳しいルールです。パネルは完全に描画されるか、隠されるかのどちらかで、途中まで描かれたカードや、少しずつ組み立てられる結果画面はありません。スキャンが完了してから、画面は結果の状態に入ります。短い待ちでは何も表示せず、長い待ちでは落ち着いた作業状態をひとつだけ見せます。完了レイアウトはデータが届く前に領域を確保するので、ウィンドウが跳ねません。

これらは装飾ではなく、エンジニアリング上の制約です。明示的な操作状態、遅延付きの読み込み表示、安定したコンテナサイズ、キャンセル経路が必要です。その仕組みがなければ、トランジションを足しても不確かさを動かすだけです。ユーザーが見る落ち着きは、非同期の仕事を下で予測可能にすることで生まれます。

このすべてが目指すのは、見守らなくてよいツールです。頼むとやり、画面を返してくれます。点滅したりレイアウトが揺れたりするソフトは、まだ得ていない注目を求めています。そしてメンテナンス用のツールが得ている注目はゼロです。アプリをチェックする対象というより、よくできた家電に近い感覚であるべきです。

## 触る前に、やること一覧を見せる

Mole でいちばん重要なデザイン判断は、削除計画をサイズ付きで見せ、確認を待つことです。通常のユーザーファイルの削除はゴミ箱へ行き、そこから復旧できます。ホームフォルダのようなナビゲーションの根には削除オプションがありません。インターフェースは意図を明確にしますが、サービス層は実行時にすべてのパスを検証します。警告画面だけでは、安全の境界にはなりません。

ここでの安全は、末尾にボルト止めした警告ダイアログではなく、アプリの形そのものです。発見は削除できません。確認が、境界のある計画をつくります。実行は身元と保護パスを再確認し、結果は削除済み・スキップ・失敗を分けて報告します。操作前の確認が目に見える半分で、独立した検証が目に見えない半分です。

## なぜクリーナーに太陽系があるのか

このようなユーティリティは、クリーンボタン付きのメニューバーアイコンでもよく、それだけでも売れたでしょう。私は代わりに五つの惑星を渡しました。世の中には生成された、使い捨てソフトがすでに多すぎます。労力を費やすなら、前に座っていても居心地のよいものにしたかったのです。

各機能は、仕事に合った性格の惑星です。Clean は地球、Software は火星、Optimize は水星、Analyze は木星、Status は太陽。規律は、五つの飾りではなく、ひとつの系として保つことです。テクスチャは天文画像から来ており、地球は NASA の
[Blue Marble](https://visibleearth.nasa.gov/images/57752/blue-marble-land-surface-shallow-water-and-shaded-topography)
を基にしています。回転の向きと相対的な速さは実体に従い、どの惑星も同じコードで、いくつか決まったサイズで描かれます。ツールのなかの美しさは、ツールのほかの部分と同じように作られている限り問題ありません。惑星が生まれた長い話は
[別の記事](https://mole.fit/ja/blog/the-story-of-mole)
にあります。

## 抑制がシステムです

Mole のデザイン作業の大半は引き算です。アプリは意図的にダークのみです。メニューバーパネルは壁紙の上に HUD のように浮き、暗いガラスがまぶしさを抑えます。そのため維持すべきライトモードも、考えるべきテーマ切り替えもありません。アプリ全体でひとつの書体スケール、サイトでひとつの書体スケールがあり、要素が単発のサイズや色を得ることはありません。値はすべて共有トークンから来るので、どれかひとつが叫ばなくてもページが均質に読めます。

そして、よい機能でも出さないものがたくさんあります。Mac には Mole ができてしまいそうな、しかしすべきでない技がたくさんあります。ファイル削除を任せるツールは、頭に収まるくらい小さく保たなければならないからです。よいアイデアにノーと言うのは、足すより難しく、アプリの落ち着きを保つ仕事の大半がそれです。何を作らないかの決め方は
[別途書きました](https://mole.fit/ja/blog/notes-on-building-a-quiet-product)。

抑制はアクセシビリティにも当てはまります。フォーカスが飛び、コントロールのラベルが曖昧で、アニメーションが VoiceOver から状態を隠すなら、見た目の静かさだけでは足りません。読み上げ順、キーボードでの到達、Reduce Motion、安定したフォーカスは、同じ約束の一部です。インターフェースは、タスクが許す限り、ユーザーの注意をできるだけ使わないべきです。

そのルールは惑星にも及びます。Reduce Motion がオンのとき、装飾的な回転は止まり、状態変化は空間的な動きを避けます。惑星は動きを求めなくても身元を担え、どの操作もアニメーションを見ることには依存しません。静かさは固定された見た目のスタイルではなく、ユーザーが求めた刺激の量を尊重することです。

## ひとつの思想、三つの表面

Mole はコマンドラインツールであり、Mac アプリであり、このウェブサイトでもあります。三者へのブリーフは同じです。CLI は深く掘りますが、境界があり安全です。アプリはその仕事を、うるさくなく見えるようにします。サイトはアプリが何をするかを伝え、あとは道を空けるよう努めます。だから作り直しは一か月ではなく一日で済みました。足すものはほとんどなく、削るものだけがあったからです。

それが全部です。静かな守り手であり、それ以上ではありません。自分の Mac のために、あるいは友人のために。時間は、あなたのものでありますように。

---

Canonical HTML page: https://mole.fit/ja/blog/the-design-of-mole
Blog index for agents: https://mole.fit/ja/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
