endueendue

UI がないことこそ、究極の UI です

画面づくりにお金がかかった時代、誰もが同じ画面を受け取っていました。いまは画面をひとつ作るコストがほぼゼロです。残る問いは、決まった画面をどう取り除き、一人ひとりが意図どおりに整えられるようにするかです。私たちの考え方と endue Desk を紹介します。

点線で描かれた空のデスクトップウィンドウ。中にパネルが2つあり、空いた3つ目の枠を埋めようと新しいタイルが飛び込んできます。ウィンドウのまわりには、ほかのタイルがいくつも浮かんでいます。

何十年ものあいだ、ソフトウェアには誰かが設計した画面がついてきました。メニューもレイアウトもボタンの並び順も製品チームが決め、何百万もの人が同じ画面を覚えてきました。

画面が高価だったころは、それが理にかなっていました。画面ひとつにデザイナーとエンジニアと何か月もの作業が必要だったので、誰にでもそこそこ合うものでなければならなかったのです。

そのコストは、ほぼなくなりました。エージェントは、動くパネルを数分で書きます。すると問いが変わります。決まった画面ひとつを、もう1四半期かけて磨き続ける理由は説明しにくくなりました。問うべきなのは、決まった画面をどう取り除くかです。そうすれば一人ひとりが、したいことを言葉で伝えるだけで、望む形に整えられます。

要点を先に

  1. 決まった画面は、コストの都合で下された判断でした。 ひとつのデザインで全員をまかなう必要がありました。
  2. いまは、画面を作るコストがほぼゼロです。 エージェントが書いてくれます。
  3. だから、画面が人に合わせられます。 意図を伝えれば、構成がついてきます。
  4. それを長続きさせるには、土台が要ります。 小さなコア、動かしたまま差し替えられる部品、すべての呼び出しにかかる権限チェック、そして共有できる設定です。

1. なぜ、どのアプリも似た見た目なのか

決まった画面は平均値です。たいていの人がたいていの時間に使う機能を、誰にとってもぴったりとはいえない順番で並べています。

そのコストは、人々が画面をどうやり過ごしているかに表れます。タブのあいだで数字を書き写す。ひとつの問いに答えるために、ウィンドウを5つ開く。データはもうアプリの中にあるのに、必要な表示を隣のスプレッドシートで作り直す。

誰かが間違ったことをしたわけではありません。一人のための画面は、高くつきすぎたのです。

2. 画面のコストは、ほぼゼロになった

パネルひとつは数百行のコードで、エージェントはその手のコードを素早く書きます。画面ひとつが数分でできるなら、何百万人でひとつのデザインを共有する理由は弱くなります。一人ひとりが、自分の画面を持てるのです。

アニメーション。左側に「エージェントが私を待っている仕事を、今日の予定の横に置いて。」「失敗した仕事は、毎朝9時に読み上げて。」「それ以外は全部隠して。」の3つの文が順に現れ、その下で init.yaml ファイルが1行ずつ増えていきます。右側では、同じ大きさのパネルが6つ並ぶ標準の画面が、大きなパネル2つと、上部の9時のリマインダーに組み替わります。
例:意図を書いた3つの文が、その人だけの画面と数行の設定になります。

この例でその人が作ったものを見てください。3つの文です。その下に、数行の設定があります。読めて、バージョン管理ができて、ほかの人に渡せる、ただのテキストです。

3. コントロールは残り、形が変わる

決まった画面がなくなると、コントロールはその下にあるシステムの4つの性質に移ります。

  • すべてがコマンドです。 クリックも、ショートカットも、声での依頼も、エージェントも、同じコマンドを呼びます。人にできることはエージェントにもでき、その逆も同じです。
  • 動かしたまま変えられます。 ひとつの部分を直すと、その部分だけが再読み込みされます。進行中の作業はそのまま続きます。
  • 見る前に許可を求めます。 ファイル、プロセス、ネットワークへのアクセスはすべて、人でもエージェントでも、権限チェックを通ります。
  • 設定はテキストです。 何が変わったかを読み、元に戻し、共有できます。
入れ子になった3つの箱のアニメーション。外側の箱「再ビルド」はコアで、アプリ更新が必要です。真ん中の箱「再起動」は Web ランタイムで約2秒、内側の箱「即時」はプラグインひとつで1秒未満です。プラグインを保存すると内側の箱だけが緑色になって再読み込みされ、ほかのパネル、進行中の作業、音声待機は動き続けます。
プラグインを保存すると、そのプラグインだけが1秒未満で再読み込みされます。ほかはそのまま動き続けます。

4. 想像力が、そのまま機能になる

これがうまくいくことは、Emacs が示しています。コアは小さく、それ以外のほぼすべてが、動かしたまま書き換えられるコードです。長い年月のうちに、人々はこのテキストエディタをメールクライアントに、カレンダーに、プランナーに変え、MELPA のようなパッケージアーカイブで共有してきました。

デスクトップも同じ形をとれます。コアが基本だけを持っていれば、新しいアイデアはプラグインになります。マーケットプレイスは、自分のアイデアを試す場所であり、ほかの人のアイデアを手に入れる場所です。

OS、Emacs、endue Desk を役割ごとに比べた表。役割はカーネル、シェル、アプリ、起動設定、パッケージ管理、振る舞いの変更の順です。Desk の列には、Rust コア、Eris とコマンドパレット、画面・ロジック・ツールのプラグイン、init.yaml、マーケットプレイス、イベントフックとコマンドの上書きが並びます。
Emacs のように作り、OS のように名付ける。Desk の設計文書より。

では、何をすればいいのか

ツールを変える前から始められます。

  1. いちばんよく開く画面を3つ書き出し、それぞれで実際に何を探しているかを書き留めます。
  2. それぞれを、意図を表す1つの文に書き直します。 たとえば「私を待っている仕事を、今日の予定の横に見せて」。
  3. 使っているツールがその文どおりに動けるかを確かめます。 API でも、コマンドパレットでも、エージェントでもかまいません。
  4. 自分の構成はテキストで残します。 バージョン管理でき、共有できるファイルにしておきます。
  5. エージェントに画面を変えさせる前に、何を見てよいかを決めておきます。

endue Desk

私たちは、こうした考えをもとに endue Desk を作っています。Apache-2.0 ライセンスのオープンソースのデスクトップで、画面に決まったものは何もありません。

Tauri のシェルと小さな Rust コアが、基本だけを受け持ちます。ファイル、プロセス、ネットワーク、オーディオ、ウィンドウです。その上にあるものはすべてプラグインで、最初から入っている部分も同じです。どれも、アプリを動かしたまま差し替えられます。プラグインは次のいずれかです。

  • iframe の中の画面
  • Wasm で書かれたロジック
  • MCP でつながるツール

設定は init.yaml にあります。Eris もあなたのエージェントも、あなたと同じコマンドを呼び、どの呼び出しも同じ権限チェックを通ります。Desk はテレメトリーを一切送信しません。

Desk はいま pre-alpha です。コードは github.com/endue-ai/Desk で公開しています。開発ビルドを開くと Eris のいるデスクが表示されます。いまのところ Eris は、エコーで応答するだけです。アプリとマーケットプレイスは近日公開です。

なくてもいい画面があるなら、その画面に代わる文をひとつ書いてみてください。その文が、あなたの最初のプラグインです。

endue で試す

あなたのアカウントで試す

今週、私のために何ができますか? 今すぐ試せるアイデアを3つください。
Autoendue で実行

ずっと無料カード登録不要送信を押すまで何も実行されません