- 自由ソフトウェアの複雑なユーザーインターフェース(UI) が一般ユーザーにとって参入障壁になっている
- 動画変換のような単純な作業でさえ、Handbrake のようなツールの 専門家向けUI のせいで、一般の人は使うのをあきらめてしまう
- 著者はこれを解決するために、Magicbrake というワンボタン式インターフェースのシンプルなフロントエンドを制作し、「変な動画ファイルをまともなMP4に変換する」 機能だけを提供した
- 複雑な機能を隠し、大多数のユーザーが実際に必要とする20%の機能だけを見せる と、生産性と満足度が高まる
- 自由ソフトウェアのエコシステムが 一般ユーザーに優しい設計 を採用してこそ、ツールの活用範囲を広げられる
自由ソフトウェアと一般ユーザーの隔たり
- 一般ユーザーは、動画の変換、アップロード、再生 といった基本的な作業でも、フォーマットの問題で苦労する
- QuickTime や Facebook で再生できない形式は、すべて「変なもの」と認識される
- Handbrake は強力だが、専門ユーザー中心のUI のため、一般ユーザーは不快感や混乱を覚える
- こうした問題は FOSS(Free and Open Source Software) 全体に広く見られ、その結果、一般ユーザーは利用を断念するか、専門家に助けを求めることになる
Magicbrake の事例
- Magicbrake は Handbrake の複雑な機能を隠し、「変な動画をまともなMP4に変換する」 という単一の機能だけを実行する
- 変換結果は、ほとんどの環境で動作する 小さなMP4ファイル になる
- インターフェースには ボタンが1つしかない
- このアプローチは 高速でシンプルな解決策 であり、複雑な機能を必要としないユーザーに適している
単純化への反論と対応
- 一部からは、「なぜ Handbrake をもっと非力にしたのか」「別のフォーマットが必要なら?」「特殊機能は?」といった疑問が出る
- これに対する答えは明確で、高度な機能が必要な人は Handbrake をそのまま使えばよく、そうでない人はシンプルなツールを使えばいい
- これは テレビのリモコンの不要なボタンをテープで隠すこと に似た考え方で、必要なら機能は依然として存在するが、通常の利用の邪魔にはならない
シンプルなUIの価値
- 世の中には、一般の人には設定が難しいメディアサーバー、基本作業にも学習が必要なオーディオエディタ、初心者を排除するネットワーク監視ツール などが多い
- こうしたツールは機能自体は優れていても、「すべての機能を1つのUIに詰め込もうとする設計」 のせいで、一般ユーザーが近づけない
- 80%のユーザーは20%の機能しか必要としない ため、残りを隠せば、より生産的で満足度の高い体験を提供できる
開発者への提案
- 一般ユーザー向けのシンプルなインターフェース設計 は一晩あればできることで、実質的な価値が大きい
- 複雑な機能をすべて見せるのではなく、必要な機能だけを見せる設計思想 が自由ソフトウェアのアクセシビリティを高める
- 著者は開発者に対し、このように単純化されたツールをもっと多く作ること を勧めている
9件のコメント
UI/UXの複雑さと表現することもできますが、
自由ソフトウェアであれ商用ソフトウェアであれ、最近作られるソフトウェアは、ぴったり1つの想定ケースだけ通るように作られていて、それ以外の体験がどうなろうとあまり気にしていないことが問題だと思います。
たとえば
tomlやyamlの設定を編集するときも、当然できるはずなのにできないことがあります。これがエンコーディングの問題なのか、インデントの問題なのか、あるいは特定の flag があるときには使えない機能なのかどうか、といった内容はたいていきちんと文書化されていません。ユーザーはありとあらゆるケースを一つひとつ試しながら、苦労して正解を見つけることになります。UIではさらに深刻です。よくある password reset のときに経験することがミームのように広まっているように、画面に100個のフィールドがあると、それぞれの相互関係がどうなっているのか、どう変えるのが最適なのかは、「やってみないと分かりません」。
これはUI/UXの問題でもありますが、隠れた「専門性」の問題でもあります。ある種の段階的な学習曲線が用意されていない状態では、専門性のある人ならすぐに正解を入力できる問題が、初心者にとっては試験や関門のように、数え切れないほどの拒絶を経験させる役割を果たしてしまうのです。
似たような文脈で、CLIよりGUIのほうが使いやすい気はします。
yt-dlpもyt-dlgでGUIを使っています。ffmpegもよく使うコマンドをメモしておいて使っていますが、GUIを作ることもできそうですね。やはりUI/UXが!!
個人的にこういうことはよく考えていたので、かなり共感できますね。WinXP〜7時代のペイント、メモ帳、メディアプレーヤーのように「ただサッと開いて適当に使えばいい」アプリケーションをLinuxで探そうとしたとき、5〜6個ずつ入れてみて、ようやく気に入るものが見つかればまだマシ、という感じでした。
スクリーンショットを撮って切り抜くだけでいいのにGimpを使うわけにもいかず、何をいろいろ試したのかは覚えていませんが、gtkアプリでは見つけられなくて、結局Kolourpaintに落ち着きました。メモ帳はGeditやKate、Mousepad、Leafpad、Xedなどなど、これより軽いものを探そうとすると、もうユーザーに親しんでもらうことを最初から諦めたようなxedit、nano、vimみたいなものを探すことになりますよね。メディアプレーヤーはmpv、VLC、mplayerあたりを思い浮かべるだけでも気が重くなりそうです。
こういう文章は、統計のようなものもなく正しいと主張しているのが、少し微妙ですね
ユーザーはアプリケーションの20%だけを気にする
ある意味では、上の文章ともつながっている気がしますね。
「ほとんどのユーザーはアプリケーション機能のうち自分に必要な20%程度しか活用しておらず、その20%はユーザーごとに異なる」
これが核心ではないでしょうか?
何かあるたびに「まずは
man/readme/docsを読め」という返答が出てくるのですが、実際、UXで重要なのは、そのまま使ってもすぐに使い方が分かることなんですよね。
お金をもらってやっていることではないのだから仕方ない面はありますが、非開発者ユーザーの立場で考えると、使用体験が良くないのは事実です。
Hacker Newsの意見
良い記事だが、論理が間違っていると思う
単一の簡潔なインターフェースを作るのは決して簡単ではない
特定のユースケースに合わせたUIの実装は難しくないが、その「正確なユースケース」を定義し、そこに「これをもう少し追加してください」という要求を防ぐことこそが本当に難しい
このような単純さは望ましいが、不安定な状態でもある
コードの複雑さは目に見えるが、UIの複雑さは見えない
ボタンと入力欄は単純に見えるが、その言語で問題を解くのは非常に複雑だ
失敗は明確だが成功は曖昧で、ユーザーごとに異なる
良いインターフェースは多くの部分が『暗黙的』に伝わり、それが最も難しい部分だ
そのボタンが本来の機能Yとほとんど関係なくても、そのボタンが必ずその役目を果たすべきだと主張する
こうした「少しだけ変えてください」という要求が積み重なってUIが徐々に複雑になり、結局は崩壊する
一般ユーザー80%の使いやすさのために自分の利便性を犠牲にしようとはしない
機能セットをあらかじめ決め、その後はバグ修正と効率改善に集中する
新機能は厳格なレビューを経て初めて追加できる
変化の速いソフトウェアでは難しいが、たいていの安定した分野では有効だと思う
長期的には、アプリ自体がAIを統合し、ユーザーが望むUIを自動生成する方向へ発展するかもしれない
この問題は結局慣れの問題だと思う
私の妻は技術に詳しくないがLinuxユーザーだ
新しい事業を始めるにあたってWindowsを使わなければならなかったが、不便すぎてまたLinuxに戻りたがっていた
私自身もMac vs PCで似たような経験をした
Macを強制的に使わされたとき、生産性が10%程度まで落ちて本当に大変だった
結局、人は自分が慣れた環境で最もうまく働ける
結局は「ただのコンピューター」にすぎなかった
幸い、VPNと必要なアプリはすべてLinux + ウェブインターフェースでどうにかなっている
商用OSとほぼ同じUIを提供し、ターミナルを開く必要のない安定したディストリビューションが必要だ
「だいたい似ている」ではなく、細部の完成度が重要だ
オープンソースのUIは最初は見慣れず複雑に感じられる
開発者中心に作られていて、一般ユーザー向けの**「驚かせないでほしい」**原則が守られていない
しかし使い続ければ新しい哲学に慣れ、うまく使いこなせるようになる
私もFirefox、LibreOffice、Avidemux、Virt-managerをよく使っている
問題はデザイナー人材の不足だ
FOSSには時間に余裕のある開発者が主に参加するが、アーティストやデザイナーは相対的に少ない
そのため、最低限の水準のUIしか提供されないことが多い
無料の音声編集ソフトAudacityのUX問題は、デザイナーもすでに認識している
「モード」と「Audacity says no」の問題を解決しようとするUXリデザイン動画を公開している
今後改善される予定であり、オープンソースにおける良いUXは依然として不足しているが、変化は進んでいる
最初は自分で使うために作ったアプリなのに、後になって人々が「機能は良いがUXはいまひとつだ」と言う
逆にUXを改善すると「機能が足りない」と言われる
結局みんなを満足させようとして終わりのないリデザイン地獄に陥る
テーマエンジンのようなものを作るうちにプロジェクトが崩壊することも多い
もし名前だけ変えて新しく出していたなら、誰も文句は言わなかっただろう
この問題の解決策はOSレベルの標準化にあると思う
OSがUIとワークフローを一貫して提供すべきだ
たとえば「Handbrake」ではなく「Video Converter」という標準アプリがあり、
「Facebookで再生できるように変換して」といった命令を理解して自動で設定を適用するような形だ
アプリのブランドは最小限にし、ユーザーがテーマとフォントを完全に制御できるべきだ
GUI機能とつながる標準シェル言語も必要だ
人は結局機能を求める
複雑なUIでも、学べばやりたいことができるなら受け入れる
単純な選択肢しかないソフトウェアは市場が小さい
動画フォーマットを理解していないユーザーは、結局ウェブサイトで「convert x to y」を検索して解決する
専門ツールを使う段階なら、すでに専門ユーザーの領域だ
「ファイルをここにドロップしてFix Itを押す」といった単純なUIも可能だ
それこそが元記事の言いたい要点だと思う
オープンソースが複雑な理由はいくつもある
しかし大半のFOSSは技術リテラシーを必要とする構造だ
複雑なソフトウェアを学ぶ方が、むしろ長期的には効率的だ
オープンソースの開発者は限られた時間の中で、それを優先事項にしづらい
Handbrakeが難しいならffmpegは見せるな、という冗談がある
私も最初にHandbrakeを使ったとき、ffmpegよりはるかに楽だと感じた
一方GUIツールは動画を見ないと覚えられない
ffmpeg -i input.avi output.mp4の1行で終わるHandbrakeはすべてのオプションを見せるが、ffmpegは必要なものだけ入力する
慣れれば非常に正確な制御ができる
「入力と出力だけ入れれば終わり」という単純さが、むしろ魅力でもある
完璧ではないが、自分よりはましだと感じる
だから元記事の例としては少し変に感じる
私のような人間は複雑なインターフェースを好む
賢いと見なしてほしい
よく使うツールほど、複雑でも素早く作業できる方がいい
問題は、誰もがそれぞれ異なる20%の機能を求めることだ
良いUI/UXには、テスター・デザイナー・開発者・ユーザーの間の緊密なフィードバックループが必要だ
FOSSにはそのための資源が不足している
しかしFOSSの平均的なユーザーは上位1%のパワーユーザーなので、それを理解できない
そのため一般ユーザー中心に変えようとすると、コミュニティの反発を招く
開発者が自分の必要で作るので、ユーザー満足が目標ではないこともある
それは失敗ではなく、単に目的が違うだけだ
高度な機能を使うのは一部だけだ
だから基本UI + 高度モードに分けるのが現実的だ
すでにそのUIに慣れたユーザーしかテストしないため、「変えない方がいい」という意見が多くなる
一方、大企業は新規ユーザーを対象に有料のユーザーテストを実施できる
そのためUX改善がより速い
UI/UXの専門家に貢献を求めても、たいてい理解されない