まるでOS?このウェブサイトのデザインが物議を醸す理由
引用元:https://news.ycombinator.com/item?id=45217269
UIはいい感じだけど、このアイデアは最悪だね。ウェブアプリでWindowsやブックマークを再現しようとすると、せいぜい既存の機能を重複させるだけで、ネイティブのブラウザ機能の邪魔になるし、最悪の場合、通常のウェブ利用を完全に壊すことになるよ。例えば、右クリックメニューでアプリ内タブとブラウザタブを選ばせるってのは、ネイティブの右クリックメニューを潰してるだけだし、一部のコンテンツしかディープリンクできないから、ナビゲーションが呪われたアプリ内機能になっちゃってる。これは面白いテックデモだけど、現実世界では使うべきじゃないね。
全くその通りだね。面白いアイデアだし、UIも綺麗なんだけどさ。君が言うように、ネイティブのブラウザサポートなしにブラウザの中にブラウザを作ってるようなものだよ。ナビゲーションはバラバラで分かりにくいし、基本的にリンクをクリックすると新しいウィンドウが開く。一つは現在の”ページ”から移動しちゃったのに、たぶん戻るボタン(アンドゥみたいに見える)は何も反応しなかったんだ。何がページで、どうやって戻るのかを俺が推測しなきゃいけないってどういうこと?みんなブラウザでのこういう操作の仕方は何十年も前から知ってるのにさ。
>ナビゲーションがバラバラで分かりにくい。多くの”モダン”なウェブサイトよりは、ずっとバラバラじゃなくて分かりやすいと思うけどな。
デスクトップUIでのコンテンツ整理って問題は、まだ全然解決してないよな。俺なんか、仮想デスクトップが6個あって、Firefoxのウィンドウが5個くらい、ChromeとEdgeも開いてたりする(テストとかFirefoxで動かないアプリ用)。それにタブもいっぱい。SlackやOutlookみたいな緊急で大事なコンテンツがあるIDEや気が散るものも、消せないしな。
新しい種類のウィンドウやタブが増えることで、このごちゃごちゃした宇宙の一部を整理できる可能性はあるけど、その代わり全体的に見るものが増えるんだよ。開いてるウィンドウだけじゃなくて、すべてのタブ、ブラウザタブはもちろん、IDEのタブ、理想的にはブラウザUI内のサブウィンドウまで、ボタン一つで全部見渡せるようになりたい。かつて俺が働いてたスタートアップを思い出すよ。ミーティングのたびに誰かが「N個の場所(Slack、Box、Dropbox、Google Drive、Google Docsなど)に情報が散らばってて何も見つからないから、N+1個目の場所を追加しなきゃ」って言ってたんだ。しばらくはこの明らかな誤謬に反論してたんだけど、誰も他に言わないし、経営陣は毎月新しいサブスクリプションを承認するばかりでね…ある時点で投資家がこの整理のなさに反発して、OKRsという別の気を散らすものを追加したんだ。「使わないサブスクリプションをキャンセルするのを思い出させるためのサブスクリプションが必要かも」って思ったもんだよ。すべてを統べる一つのリングなんて、誰も真剣に考えなかったんだろうな。みんな「エンタープライズサーチ」が実際に機能するなんて期待してなかったみたいだ。
>デスクトップUIでのコンテンツ整理って問題は、まだ全然解決してないよな。
これには強く反対するね。何十年も前から成熟した慣習が確立されてるし、多少の特殊なケースや新しい機能はあっても、コアなデスクトップUIのパラダイムは少なくとも90年代半ばから安定してるんだよ。最近のそれからの逸脱は、ほとんどの場合、使いやすさや発見しやすさを低下させてるだけ。WebやモバイルのUIデザインの流行をデスクトップアプリに無理やり押し込もうとする最近のトレンドは、退化しかもたらしてない。
君の言うことはほとんど正しいと思うよ。特にWindowsの設定ダイアログなんかは、Windows 8以来ずっと混乱してるし、流行の”モバイル”フェーズに合わせて何度も作り直されてるのに、中にはWindows 95時代から変わってないように見えるものもあるよね。macOSとWindowsのいろんな警告ウィンドウを比べると、煩わしいのは同じだけど、macOSのは1984年のMacのモーダルを1999年に作り直したみたいに見えるのに、WindowsのWebベースのやつは目には優しい感じがする。クロスプラットフォームのUIフレームワークを色々見てきたけど、どれもだいたいかなりひどいし、Webプラットフォームが持つ豊富な機能からすると、ElectronはUXとDXの両方で比較的に良く見える。俺の不満は、ウィンドウの中のタブ、ウィンドウの中のウィンドウ、そして大量の”アイテム”を開いてる時に、現代のPCが持つすべての仮想デスクトップの、すべてのアプリケーションで開いているすべてのアイテムの全体像を把握したいのに、それが難しいってことなんだよ。頑張って整理しようとはしてるんだけど、YouTubeで音楽を聴いてる時に、そのブラウザタブをサッと見つけて閉じるのが簡単であるべきなのに、そうじゃないんだ。Multiple-document interface(https://en.wikipedia.org/wiki/Multiple-document_interface)を思い出すよ。Windows 95時代、特にOfficeで大流行したけど、今ではすっかり忘れ去られたみたいだね。Netscape 4が出た時、Netscapeはホームページを<layers>(absolute positioned <div>みたいなやつ)を使って、今回の議論のきっかけになったページみたいなMDI効果を出そうとしたんだけど、うまくいかなくてすぐに元に戻さなきゃいけなかった。俺は教授に「あと半年したら、Webページがどう動くのか理解できなくなる気がします」って言ったもんだよ、変化が速すぎて。でもJavaScriptの優位性が確立されるまでには、Microsoftが1999年頃にAJAXをリリースしたとしても、インターネットの時間感覚で言えば、みんながその重要性に気づくまでには、さらに12年以上かかったね。
>YouTubeで音楽を聴いている時に、そのブラウザタブをサッと見つけて閉じるのが簡単であるべきなのに、そうじゃないんだ。
Chromeを使ってるなら、右上に、アバターの左側に音符アイコンがあるはずだよ。メディアが再生されてると表示されるんだ。そこからメディアをコントロールできるし、クリックすればタブを見つけられるよ。
俺が使ってるVivaldiには、その機能はそのままではないけど、ファビコンがアニメーションするスピーカーに変わるから、見つけやすいんだ。でも俺は、YouTube Musicみたいなよく使うアプリはショートカットアプリにして、OSレベルで独立したウィンドウにしてるよ。他にもメリットがあるしね。
…YouTubeで音楽を聴いてる時に、そのブラウザタブをサッと見つけて閉じるのが簡単であるべきなのに…
それが、俺がメディアをメディアプレーヤー(たいていはターミナルのmpv、たまに他のもの)でアクセスする傾向がある主な理由だよ。そして、テキストコンテンツ、メディア、小売/コマース、アプリをそれぞれ独立したアプリに分けるWebモデルを支持するね。つまり、小売サイトごとにアプリがあるんじゃなくて、支払い、評判、ID、関連タスクを管理する小売アプリ、ってこと。すべてを「ウェブブラウザ」に押し込むのは、カテゴリー間違いだと思うんだ。
確かに成熟した常識はたくさんあるよね。何十もあるだろうさ。で、また一つ未熟なものが増えたってわけだ。
Posthogはファンだけど、今回のサイトリデザインはクールだけど、無名ブランドじゃ無理だよ。Posthogは長年頑張ってブランドを築いたからこそ、こんな自由なデザインができるんだ。無名のスタートアップが真似したらヤバいって!
デザインはいいけど、ExtJS 3.xみたいにデスクトップを再発明するのはダメだって!URL履歴は溜まるし、同じページに何度も行くし、スクロールできないし、情報の階層も変。料金も分かりにくいし、ウィンドウは狭いし、認知負荷が高すぎ。製品はすごいけど、ウェブサイトがこれじゃ、一旦他を回ってから戻ってくるわ。最悪だよ。
スクロール哲学を読んでたら手が疲れて、キーボードスクロールしようとしたら、まさかの機能なし。基本的なキーボード操作を無視するアプリなんて、絶対褒められないね。派手で cleverなアプリは作れても、良いアプリは作れないってことだ。
毎日150万PVのホームページを担当してた経験から言うと、このデザインがどうコンバージョンするかマジ気になるわ。Posthogは metricsいっぱい持ってるだろうしね。個人的には、これって funだけど、ローンチ hypeが落ち着いたら、コンバージョンは悲惨なことになるって賭けるよ。
この会社が、30年も経って、Windows 3.1のあのひどい「ネストされたウィンドウ」UIを再発明したって、マジで面白いね。
「ひどい…30年以上経って」って、記事はわざわざOSっぽく見えることをわかってて、それが改善だって理由を挙げてんじゃん。単に古いとかひどいって言うだけじゃ、記事のポイントに全然触れてないよ。
両方のいいとこ取りは、old.reddit.comみたいに、同じコンテンツを conventionalなサイトとして別 subdomainで提供することだね。そうすれば、クールな gimmickも残しつつ、嫌なユーザーのための fallbackも用意できるじゃん。
こういうのは何年も前からいろんな人がやってるけど、いつも実験か、単に「できるよ」って見せるためのものなんだよな。結局、遅いし、 bloatedだし、みんなが本当に欲しい「サクッと情報」とは真逆だもん。
アクセシビリティリーダーが全く機能しないだろうなって思うよ。
ソフトウェア開発者が標準に従わないなんてありえないでしょ?エンジニアって呼ばれるのは伊達じゃないんだから!笑
記事の理由を読まずに反論してるけど、ちゃんと読んだ?正直、こういうサイトのトップページはスペース効率やマルチタスクより、PostHogが何かってのをすぐに理解させることが大事。OSみたいなサイトはごちゃごちゃしてて生産性には良いけど、PostHogが何なのか全然分かんないよ。
Aboutページ、ブログ記事、料金ページとかでマルチタスク?
一部の機能はシングルページアプリとして実装できるのは間違いないね。
反対。ブログ記事なんてほとんどSEO目的で、みんな興味ない。サイトは購入という単一の目的に向かう明確な流れであるべきだよ。PostHogのサイトは、何ができるのかすぐに分からなくて、おもちゃみたいで混乱する。良いサイトは見ただけで製品が分かり、スクロールで証言や具体例を見て、最後に料金ページに行き着くべき。PostHogは面白いけど、商品販売には非効率だよ。
「一部の機能はシングルページアプリとして実装できる」って、冗談?PostHogはアプリを売ってるけど、その製品サイト自体は「アプリ」であるべきじゃないよ。あれはSEOの導線なんだから。PostHogが何でいくらなのかを知る以外に、そこで時間を費やす人はいないはず。
投稿する前に全部読んだよ。何かについて書いたからって、それが良いアイデアになるわけじゃないんだ。
じゃあ、なんで彼の意見に反論したり応答したりせずに、自分の話に逸れたの?
このデザインが既存のサイトより魅力的な理由は、心理学者とかが研究すべきだね。大手SaaS製品のウェブサイト戦略を手掛ける会社で働いた経験と、自分がVP Engとしてターゲットユーザーである立場から言うと、この上部ナビゲーションメニューを使った情報検索の速さと簡単さは最高だよ。34製品を7カテゴリで、5つが人気、4つが新着ってすぐ分かる。DocsからPostHogのインストールも、Companyからエンジニアリングのハンドブックも、料金計算も数秒でできるし、ページ全体のリロードを待たずにページ間を切り替えられる。これは単なる美学じゃない。今のUI/UX哲学が、皮肉にもユーザーにとって使いづらくなっているのかもしれないね。
HNでこんな意見を見つけるのは正直驚きだね。普段はJavaScriptを多用したデザインは使いにくくてポータブルじゃないってのが主流なのに、これはまさにJavaScriptの最大限活用だもんね。
Coryと話して、うちのビジネスには長いスクロールページが合わないって結論になったんだ。たくさんの製品やコンテンツがあるから、もっと多次元的なデザインが必要だったんだよ。3秒で伝わるような会社じゃないから、あえてユーザーが探検して理解を深めるデザインにしたんだ。離脱があってもいい、残ってくれる人はきっと気に入ってくれるはずさ。目立つし、アウトバウンド営業よりクールなものを作る方が費用対効果も高いんだ!
このサイトの特徴は、ほぼ全てが同じCMSで統合されてることだと思うよ。特にフォーラムまでメインサイトに組み込まれてるのがすごいね。コンテンツの一元管理ができてて、部署ごとにページを奪い合うような状況がないんだ。こういうウェブサイトは、全てを統一するCMSと、それを組織全体で徹底する強い意志がないと、まず作れないね。普通は部門ごとのバラバラな状態になっちゃうからさ。
そうそう!あとね、各メニューの階層ごとにランディングページがないのが良いんだ。例えばDocs>Surveysから直接Features>Conditional questionsに進めるし、わざわざ巨大バナーと「問い合わせてね」ボタンがあるページを全部読み込む必要がないから、すごくスムーズだよ。
もっとコメントを表示(1)
ウェブサイトの使いやすさがJavaScriptの量で決まるわけじゃないってことかな /s。正直、バックエンドをコード量やホスティングで判断しないのと同じで、みんながJavaScriptの使用量にこだわるのが理解できないよ。ひどいUXのサイトはJavaScriptを乱用するけど、相関関係と因果関係は違うからね。
これって、製品のマーケティング問題に対する高価な解決策に聞こえるなぁ。もしかしたら製品ライン自体に問題があるのかもしれないね。競合と比べて、メリットがシンプルに示せないほど差別化できてないってことなのかな?
もし各機能チームが、担当機能がどれだけ収益や顧客をもたらしたかで評価され、PMの報酬もそれに基づくとしよう。当然、各チームはフロントページの露出を最大化したがるよね。そうすると、こんなに統一感のあるサイトを作るのは、関係者のインセンティブが競合しちゃうから、すごく難しいんだよ。
この感覚を一般化するのは気をつけた方がいいと思うな。個人的には、あのインターフェースはCLIやコマンドパレットに比べて、威圧的だし、頭を使うから疲れると感じるよ。
「だから、ユーザーがもっと深く探索して、私たちのことを学べるようにしようと思ったんだ」
うん、まさに今、PostHogが何なのか、どんな製品なのか理解しようとサイトを探検してる最中だよ。数秒で判断するタイプの僕だけど、今のところサイトはすごく楽しんでる。それがOSっぽいからなのか、単に情報の見せ方やレイアウトが良いからなのかはまだ分からないけどね。
「潜在顧客として、あのトップナビゲーションメニューを使えば、欲しいものをすごく早く簡単に見つけられる。今まで見た中で最高だね。」
ウェブがまた昔の良さに追いついた感じだね :-) 。現代のシンプルで”楽しい”インターフェースも良いけど、やっぱりしっかりしたメニューバーが一番だ!
マーケティングの話に合わせるために製品ラインを変えるってのは、本末転倒な気がするなぁ。
UXの”X”はExperienceのXだから、ユーザーに敵対的になるなんてありえないって!お前はコンピューターオタクだから、何日も端末使って文句言わないタイプだろ?一般人が何を求めてるかなんて、お前にはわかんねーよ!HCIの昔ながらの概念で説明できることばっかじゃん。
彼らはJavaScriptの量を気にするけど、バックエンドは見ないんだよな。JavaScriptの量はモバイルネットワークでは重要だけど、自宅やオフィスでの回線ではもう関係ない。この執着って、昔の習慣が残ってるだけなんじゃないか?
UIデザインの話から、技術や実装の話にいきなり飛躍してるじゃん。
俺もJavaScriptの使いすぎには反対だけど、経営者としての視点で見ると、このサイトは顧客を惹きつけ、時間を無駄にさせずに目的を達成させる点ではよくやってると思うね。
”プロジェクトとして楽しかった”って理由ならわかるけど、他の理由は後付けに感じるな。俺はWindows 3.xも嫌いだったし、今のウェブデザインのトレンドも嫌いだから、ターゲットじゃないかもね。でも、もっとアクセシブルで互換性があって、ブラウザ内でブラウザを再発明しないなら、現状より好きになるかも。実験精神は評価するよ!
”あなた”ってHNのいつものコメント投稿者のこと?だったら同意だね。JavaScriptを使ってるからって、悪いUIだと思い込む人が多すぎるんだよ。どんな技術だってクソなものは作れるんだから。
顧客として、トップナビゲーションメニューで欲しいものを探すスピードと使いやすさは最高だね。メニューバーは最も効果的で実績のあるUIパターンだよ。残念ながら、Linuxにはハンバーガーメニューっていう一番非効率なUIパターンを選んだデスクトップ環境があるけどね。
ウェブは”ウェブドキュメント”と”ウェブアプリ”の2つに分けられると思うんだ。ドラッグ&ドロップみたいなインタラクティブ性が必要なウェブアプリでJavaScriptをたくさん使うのはわかる。でも、ウェブドキュメントを作る人がウェブアプリを作ってると思っちゃうと問題だよ。ただのテキストと画像なのに重いJavaScriptを使うと、むしろ使いづらくなっちゃうんだ。
このサイト、消費者向けWebとパワーユーザー向けデザインの極端な違いを示してるよね。OSは考える必要あるけど、デカいボタンは楽。情報密度が低いデザインは増えてるけど、ターゲット次第。「考えさせない」のは消費者向けにはアリ。でも、Bloomberg terminalみたいな専門的なやつだと話は別。技術系製品の会社なら新しいデザインを試すのは良いかもね。でも正直、このPostHogのサイト、数分触っただけじゃ何してるか分からなくてLLMに聞いちゃったよ。
多くのウェブサイトのデザインって本当にひどいよね。まるでコンピューターがない時代みたいに、紙っぽい見た目に、何の意味もないエフェクトがちょっと付いてるだけ。もっとうまく作れるはずなのに、って思っちゃうよ。
「見えるのに見えない」って感じだよね。ほとんどのサイトは11MBもJS読み込んで、まともに動かないひどいPDFみたいになってる。HTMLとCSSだけで作った方がマシなのに。そんなサイトはマジでクソだと思う。でも、このサイトはマジで最高だよ!ちょっと遅いけど、今HNのトップだから仕方ない。ちゃんと動くし、デザインもめっちゃ良い。今まで見た中で一番クールなサイトの一つだよ。JSの量なんてどうでもいい、これだけの価値があるんだから!
同意。コンウェイの法則ってあるじゃん。あの法則に逆らおうとするたびに、必ず法則が勝つんだよな。
俺がマジで嫌いなのは、意味もなく画面に張り付いてるデカいヘッダーだよな(ACM Digital Libraryとか)。
その意見も、俺にはちょっとおかしいと思うんだよな。彼が言ってるのって、結局どのナビゲーションメニューにも当てはまることじゃん。
一部のサイトがJSをガンガン使ってるけど、それがほとんど何も貢献してないんだよな……。ただJSのためにJSを使ってるだけで、ユーザーにとっては静的なサイトの方がずっと良い場合もあるんじゃない?
昔から「マルチドキュメントインターフェース」って呼ばれるものは、アンチパターンだと思ってたよ。俺にはちゃんと使えるウィンドウマネージャーがあるのに、なんでどのアプリも独自ので、しかも質が悪いウィンドウマネージャーを組み込む必要があるんだ?
(まあ、モバイルだとちゃんとしたウィンドウマネージャーなんてないし、ほとんどのアプリは複数開くことすらできないけどね…)
煽るつもりじゃないけどさ、tmuxにはいつもそう感じてたんだよね。OSの優秀なウィンドウシステムで複数のターミナルウィンドウを開けるのに、不完全なターミナル内ウィンドウシステムを使う必要ある?(でも、tmuxが唯一の選択肢になる場合もあるのは分かってるし、そういう時は理解できるよ)
だってOSのウィンドウマネージャーは優れてないからだよ。俺はローカルに何十ものtmuxウィンドウをいくつかのセッションに分けて使ってるし、ショートカットキーでセッションやウィンドウを切り替えられる。ターミナルと他のGUIアプリを混ぜて使えるんだ。これほど多くのターミナルを同じワークスペース内でセッションにグループ化できるウィンドウマネージャーは他に見たことないね。
「優秀なウィンドウマネージャーがあるのに、なぜどのアプリも独自の、互換性のない、たいてい劣ったウィンドウマネージャーを内蔵する必要があるんだ?」ってことだけど、一部のアプリは同じアプリコンテキスト内で複数のウィンドウが必要だからだよ。画像エディターがよくある例だね。
Win32やQtのような汎用MDIの実装がどれもこれも信じられないくらい barebones(必要最低限)なのは残念だよね。例えばKritaを使うときには複数のウィンドウを見たいんだけど、Kritaが使ってるQtのMDIサポートはWindows 95よりもひどいよ。
「ローカルに何十ものtmuxウィンドウをいくつかのセッションに分けて使ってる」
「これほど多くのターミナルを同じワークスペース内でセッションにグループ化できるウィンドウマネージャーは他に見たことないね」
ローカルで言えば、tmuxセッションとtmuxウィンドウを混ぜる意味がよく分からないな。君が「セッション」をtmuxのウィンドウ、「ウィンドウ」をtmuxのペインと言ってるのかな?
i3やswayはどう?タブ付きコンテナ(tmuxのウィンドウのように機能する)の中に分割されたコンテナ(tmuxのペインのように機能する)を持てるよ。タブ付きコンテナをフローティングさせて、その中にすべてのウィンドウをまとめておくこともできる。
tmux(とscreen)は、リモートセッションで信じられないくらい役に立つツールだよ。シェルが切断されても作業を継続できたり、接続プロセスが面倒な場合(複数のジャンプホスト、プロキシなど)に複数のシェルを同時に操作するのに役立つんだ。
Gimpみたいな体験と比べたら、俺は一つのウィンドウに収まってるものが好きだな。そうじゃないと、そういうアプリを2つか3つ同時に動かしたときに「俺のウィンドウどこ?」って探し回るゲームになっちゃうんだ。ツールバーが独立したウィンドウになって管理しなきゃいけないって考えは本当に嫌いだよ。
tmuxのセッションとウィンドウを混ぜる意味が分からないって?
セッションはウィンドウをグループ化するのに使うんだよ。俺はプロジェクトや目的ごとにグループ/セッションを持ってる。一つのセッションはすべてのリモート接続用。一つは個人的なもの、日記など。一つは趣味用。一つは個人的な開発プロジェクト用、一つはクライアントの仕事用だね。
セッションは、複数のターミナルウィンドウからtmuxに接続できるってことも意味するんだ。俺は普段、開発作業用とそれ以外で2つのウィンドウを使ってる。
一般的に、一つのセッションに6つ以上のウィンドウがあると、セッションが扱いにくくなって、目的のウィンドウを見つけるのが難しくなる気がするな。それはGUIウィンドウでも同じ問題だよ。20個のGUIウィンドウの中から目的のものを見つけようとしてみてよ。
もっとコメントを表示(2)
「アプリケーションコンテキスト」って概念は、少なくとも俺が見てきたアプリでは価値を付加しないな。アプリのウィンドウを特別に扱う必要があるもの(例えば、互いに接続できるパッチベイとか、より大きなウィジェットに結合できるウィジェット[1])には、アプリが独自のウィンドウ管理をしたいって気持ちに共感できるよ。でも、ブラウザみたいにただウェブページをグループ化するようなものなら、それはブラウザの機能とは全く関係なくて、ウィンドウマネージャーで利用できるべき機能だろ。
[1]: https://wiki.haskell.org/Eros
そうだね、すべてのアプリケーションに合うわけじゃないし、ウェブブラウザはMDIがうまく機能しないケースだ。リンク先のサイトは、少なくともドキュメントに関する限り、ちょっとしたギミックみたいなものだしね。
でも、俺の返答はMDIを一般的にアンチパターンだと呼ぶことについてだったんだ。すべてのケースに当てはまらないからといって、アンチパターンだということにはならないだろ。
その議論をタブインターフェースにも広げるのかい?なぜブラウザはタブ(そして各ベンダーで一貫性のないインターフェース)をサポートする必要があるんだい?新しいウィンドウを開けばいいだけなのに、って。
サイト内MDIは面白いデザインだけど、この記事が批判してるのはブラウザ内MDIのことだよね。僕はMDIがアンチパターンだって意見を変えないよ。MDIが適してるケースはほとんどなくて、管理してるのは「ドキュメント」じゃないことが多いしね。MDIで作られた機能はアプリ本体から独立してるから、ウィンドウマネージャーで実装した方が絶対いいし、だいたいの場合、特別な機能もないんだ。
そうだね、僕はすでに画像エディタを例に挙げたけど、画像編集はMDIに最適なケースの一つだと思うよ。複数の画像を同時に表示できるし、同じ画像の複数ビュー(ピクセルアートに便利だね)も可能だからね。MDIアプリの多くは、ウィンドウの端にドッキングしたりフロートさせたりできるから、ウィンドウごとに同じクロームを繰り返すのを避けられるんだ。GIMPみたいにコントロール部分を別窓にすると、そのアプリ専用の仮想デスクトップが必要になるけど、僕はタスクごとに仮想デスクトップを使うのが好きだから、KritaのMDIモードの方がずっと使いやすいと思うよ、QtのMDIサポートはイマイチだけどね。
「一般的に、セッションに6つ以上のウィンドウがあると扱いにくい」って言うけど、GUIウィンドウだってtmuxみたいにワークスペースやコンテナを使って、いくらでも深い階層で整理できるんだよ。20個のGUIウィンドウだって、やり方次第でちゃんと整理できるはずさ。
長年Macを使ってる僕としては、MDIってOSがアプリごとにウィンドウを管理できないのを補うための「間に合わせ」って感じがずっとしてるんだ。macOSではすごく異質に感じるよ。PhotoshopもCS4くらいで突然MDIみたいなUIになったけど、Macではずっとウィンドウやパレットが自由に動いてたから、なんだか窮屈でいつもオフにしてたな。
systemdでenable-linger
が使えるようになって、ちゃんとしたデーモンが作れるようになった今、MDIの「継続性」のメリットは昔ほど大きくないんじゃないかな。
昔のPhotoshop(CS3くらいかな?)も複数ウィンドウを使っていたから、GIMPもそこから影響を受けたのかもしれないね。
「GUIウィンドウをワークスペースやコンテナで任意の深さまで整理できる」って言うけど、それってどのGUIが提供してるの?僕が知ってるのは、ワークスペースとウィンドウとタブの1階層だけだよ。それじゃ足りないんだ。tmuxを使えば、その3つのGUIレベルに加えて、tmuxの3つのレベルも使えるからね。
ウィンドウマネージャーだって、ウィンドウ同士をドッキングさせたり、タイリングウィンドウマネージャーでネストされたタイリンググループを使えば、エディタのウィンドウを好きなように配置してまとめて操作できるんだ。Metisse [1] なんてもっとすごくて、あるウィンドウから「パレット」を切り取って別のウィンドウに入れられるんだよ。実際、僕も他の多くの人も、タスクグループの代わりにワークスペースを使ってるけど、シンプルな用途や小さいモニターなら十分だね。本当にMDIが必要なアプリって、ウィンドウ管理以外の何かをウィンドウでしてるものだけだと思うよ。
URL: https://en.m.wikipedia.org/wiki/Metisse
最近は使ってないけど、一時的にdtach
を使って仮想ターミナルの多重化なしで似たようなことをしてたよ。こっちの方がずっと直接的だったね。Vimセッションを立ち上げるだけで、ターミナルが必要ならVimの中にあったんだ!プロジェクト固有のVimセッションを作成したり再アタッチするシェルスクリプトも書いたよ。
URL: https://github.com/jauntywunderkind/dtachmentまだ見てないけど、nvim
とatuin
(シェル履歴)の連携を深めたいな。
それじゃあ、まだ少し制限が多すぎると思うな。ときには、同じアプリ(複数タブのある複数のブラウザウィンドウとか)や、異なるアプリ(タスクごとにグループ化されたものとか)に属する複数のウィンドウグループが本当に欲しいときがあるんだ。アプリ市場のせいで、どのアプリも自分のこと全部管理しようとするけど、それはユーザーにとって良いことじゃないよね。
ウィンドウ/タブ管理機能はかなり似てるかもしれないけど、俺がtmux
をscreen
より選んだのは、デフォルトで良いステータスバーが付いてくるのと、ホットキーが覚えやすいからなんだよね。
“パレット”ウィンドウって、昔は多くのクリエイティブ系アプリでよく使われてたんだ。最近は画面が大きくなったり解像度が高くなったりして、デフォルトではあまり見なくなった気がするな。
ブラウザのタブってリソースをめっちゃうまく再利用するし、ブラウザがOSのGUI APIより複雑なのは議論の余地もないくらいだよ。ほら、Windows 11のスタートメニューでさえreact.js
を使ってるしね。もしブラウザを超越するようなウェブページを作るなら意味があるけど、OPリンクはそうじゃないと思うな。
カスタムグループ化って良い機能だよね。アプリグループと一緒でも問題なく使えるし、むしろお互いを補い合ってくれると思うんだ。
「なんでアプリごとに互換性のない、いつも劣ってるウィンドウマネージャーが必要なの?」って質問への答えだけど、多くのアプリは複数のプラットフォームで動くからだよ。OSのウィンドウマネージャーの能力がわからないと、ユーザー体験をコントロールできないから、抽象化する必要があるんだ。
ウィンドウマネージャーって、理論上はいろんな機能(例えば、ウィンドウをタブバーみたいに“結合”したり)ができるはずなのに、実際にはほとんど実装されないんだよね。それに、みんなが同じウィンドウマネージャーを使ってるわけじゃないから、あるWMにはある機能が、他のWMにはないってことも普通にあるし。画像エディタの例で言うと、埋め込み/MDIウィンドウってマジで便利だよ。
俺はタブを論理的に同じターミナルウィンドウにまとめてるよ。それに、どのOSにもタブやウィンドウを切り替えるホットキーがあるしね。
「どのGUIがそれを提供してるの?」って話だけど、俺が言ったi3
/sway
だよ。他にも、i3
/sway
みたいにウィンドウを任意の深さのコンテナツリーに整理できるタイリングWMはたくさんあるはず。コンテナは水平分割、垂直分割、タブ、スタックの4つの表示モードに設定できるんだ。
tmux
が提供する連続性って、対話型セッションのためのものなんだよ。俺のサーバーには20以上のtmux
ウィンドウがあって、それぞれが特定の目的のために数年間ずっと稼働してるんだ。
リモート接続、個人のこと、趣味、開発プロジェクトとか、なんでそんなに全部同時に開いてるの?それってすごく気が散らない?(ちなみに俺、tmux
はほとんど使ったことないからよく分かんないけどさ。)