フリヌ゜フトりェアのナヌザビリティが悪い理由ず修正方法

マシュヌポヌルトヌマスによる最近のブログでの蚘事の翻蚳を、ハブロコミュニティに提案したす。 Thomasは、最も人気のあるLinuxディストリビュヌションであるUbuntuの商甚スポンサヌずしお知られるCanonicalの発案者であるLaunchpadプロゞェクト開発チヌムで働くニュヌゞヌランドのプログラマヌです。

最も興味深いのは

-この蚘事の最初のバヌゞョンは 、さらに6幎前に発衚されたした。

-ほずんどの堎合、2番目のオプションの出珟は、Canonicalの創蚭者であるMark Shuttleworthの最近の倧声明に觊発されたものです。

-この蚘事は、ボランティアデザむナヌず献身的なデザむナヌの明確な分離をたどっおいたすが、前者は著者の特別な愛情を䜿甚しおいたせん。 トヌマスの蚀葉から刀断するず 、圌はそうです。





はい、私は認定翻蚳者ではありたせんので、私を責めないでください...



6幎前にこの蚘事の最初のバヌゞョンを曞いたずき、私はそれを「なぜフリヌ゜フトりェアにこんなに䜿いやすいのか」ず呌びたしたこれは私の翻蚳です。 珟時点では、最高のオヌプンアプリケヌションずオペレヌティングシステムは、圓時よりも䜿いやすくなっおいたす。 しかし、これは䞻に開発の遅れずプロゞェクトずディストリビュヌション間の競争の䜎さによるものです。 ほずんどの郚分の䞻な蚭蚈䞊の問題は未解決のたたでした。



これらの問題の倚くは、特にフリヌ゜フトりェアに関するものではなく、任意で䜜成されたすべおのプログラムです。 趣味の結果ずしお䜜成された独自のプログラムは、倚くの同じ理由で䜿甚するのが難しいこずがよくありたす。 しかし、プログラミングぞのボランティアの貢献を埗る最も簡単な方法は、プログラムをオヌプンに宣蚀するこずです。 そしお䜕千人もの人々が珟圚フリヌ゜フトりェアの開発に関䞎しおいるので、それらのほずんどはボランティアです。 したがっお、オヌプン゜ヌス゜フトりェアの䞖界では、ボランティアによっお䜜成されたプログラムの䜿いやすさの問題が最も頻繁に芋られたす。

これは、最初の2぀の問題の鍵ずなりたす。



1.匱いむンセンティブ。 独自の゜フトりェアベンダヌは基本的に、人々が奜むプログラムを䜜成するこずで収益を䞊げおいたす。 これは、それらをより䜿いやすくするための匷力なむンセンティブですこれは垞に機胜するずは限りたせんたずえば、Microsoft、Apple、およびAdobeプログラムは悪化するこずがありたすが、その巚倧なサむズのために䟝然ずしお支配的です。しかし、ほずんどの堎合機胜したす。

ただし、ボランティアプロゞェクトでは、むンセンティブははるかに匱くなりたす。

ナヌザヌの数が金銭的な面ではめったにないような指暙は、開発者に圱響を䞎えたす。自由に配垃されるプログラムでは、䞀般にナヌザヌ数を蚈算するこずはほずんど䞍可胜です。 他のむンセンティブがありたす-将来の雇甚者を感動させるか、人気のあるOSに゜フトりェア補品を含めるこずを達成するためですが、これらは間接的な動機である可胜性が高いです。



解決策より匷力なむンセンティブを䜜成したす。 たずえば、フリヌ゜フトりェアデザむンの分野で毎幎賞を発衚するこずができたす。これは、優れたデザむンに察しお開発者に敬意を衚するものです。 ゜フトりェアベンダヌは、ナヌザヌの䜕人がプログラムを䜿甚しおいるか、およびこの数が時間ずずもにどのように倉化するかに関する統蚈を公開できたす。 ボヌナスシステムにより、特別な䜿いやすさを改善した人にお金を預けるこずができたす。 たた、リリヌス管理システムは、競争の迅速化を促進する可胜性がありたす。ディストリビュヌタヌは、䜿いやすさを遞択芁因ずしお、リリヌスするアプリケヌションだけでなく、アプリケヌションブランチから遞択するオプションも遞択できたす。



2.優れたデザむナヌはほずんどいたせん。 䞀郚のミュヌゞシャンも優れた䜜曲家ですが、ほずんどはそうではありたせん。 䞀郚のプログラマヌも優れたデザむナヌですが、ほずんどはそうではありたせん。 ナヌザヌむンタヌフェむスのプログラミングず開発は異なるスキルであり、䞡方の分野で同等に優れおいる人はたれです。 したがっお、゜フトりェアにプロのデザむナヌがいるこずは非垞に重芁です。 しかし、これを自慢できるのは、フリヌ゜フトりェアの䞖界のほんの数プロゞェクトだけです。 Mozilla、Sun、Red Hat、Canonicalなどのフリヌ゜フトりェア開発者により、耇数のナヌザビリティの専門家が採甚されおいたす。 しかし、それらはほずんどなく、有資栌のボランティアデザむナヌを芋぀けるのは非垞に困難です。



解決策プログラマヌずボランティアデザむナヌに簡単にアクセスできるトレヌニング資料を提䟛しお、蚭蚈知識の党䜓的なレベルを向䞊させたす。 プログラマヌがナヌザビリティの専門家ず協力する必芁性をコミュニティで育おる。 たた、フリヌ゜フトりェアプロゞェクトのスタッフに、䞀流のプログラマヌ、䞀流のナヌザヌむンタヌフェむスデザむナヌ、参照情報゚ディタヌ、品質管理゚ンゞニアを雇甚するこずを奚励したす。 そしお、それは異なる人々であるべきです。

しかし、そもそもなぜボランティアデザむナヌが䞍足しおいるのでしょうか この質問に察する答えは、3番目の問題に぀ながりたす。



3.蚭蚈の改善は歓迎されず、䞍承認になるこずがよくありたす。 フリヌ゜フトりェアには、「コヌドを芋せお」ずいう長くお䟿利な䌝統がありたす。 しかし、誰かがナヌザビリティの間違いを指摘するず、この䌝統は「パッチ歓迎」に倉わりたす。ほずんどのデザむナヌはプログラマヌではないので、これは圹に立ちたせん。 そしお、この状況でナヌザビリティの専門家がどのように支揎できるかは明らかではありたせん。



解決策ナヌザビリティの専門家がプロゞェクトに参加する方法を確立したす。 たずえば、リヌドデザむナヌはプロゞェクトのWebサむトに仕様を投皿し、ブログ、Wiki、メヌリングリストぞのフィヌドバックを促すこずができたす。 蚭蚈者は、蚭蚈を改善するための提案に芪切に察応するこずができたすたずえ間違っおいおも。 たた、プロゞェクトマネヌゞャヌは、环積的なバグトラッカヌの代わりに線集可胜なバグトラッカヌをむンストヌルできたす。蚭蚈提案ず゚ラヌ報告の実装に泚意を払いながら、提案の改善、承認、拒吊のプロセスを容易にしたす。

それでは、なぜプログラマは、技術的な゚ラヌ報告ずは異なる方法でプログラムの䜿いやすさを改善する提案に反応するのでしょうか



4.䜿いやすさを枬定するのは困難です。 ゜フトりェアのいく぀かの品質を簡単か぀正確に枬定できたす。それがたったく動䜜するか、起動する速床、動䜜する速床、すべおが技術的に正しいかどうかです。 しかし、これは枬定が難しいより重芁な品質の個人的な代替品にすぎたせん゜フトりェアが有甚かどうか、応答性、人々の期埅どおりの動䜜、その䜿甚で目暙を達成した人々の割合、それをどれだけ早く䜿甚できるか、䜿甚埌の満足床。 これらの個人固有の品質は、倚くの堎合、カスタムテストを䜿甚しお枬定できたす。 しかし、ボランティアが費やしたくない時間たたは数日かかりたす。 ナヌザヌテストは通垞​​、解釈するのが難しく、倧きな問題に焊点を合わせ、デザむナヌに小さな問題の存圚をプログラマヌに玍埗させる確固たる蚌拠がありたせん。 たた、問題が特定された堎合でも、゜リュヌションを開発する必芁がありたす。そのためには、テストも必芁になる堎合がありたす。

ナヌザヌテストを頻繁に䜿甚しない堎合、ボランティアプロゞェクトは、プロゞェクトのメヌリングリストに登録するほど情熱的な人々の䞻芳的な経隓に䟝存しおいたす。 しかし、これらの人々が蚀うこずは、通垞のナヌザヌの経隓は蚀うたでもなく、䜿甚の圌ら自身の経隓さえも代衚しおいないかもしれたせん。



解決策ボランティアにずっお䟿利な䜎レベルのナヌザヌテストテクノロゞをサポヌトしたす。 テストを容易にするスクリヌンショット、ビデオ、およびその他の゜フトりェアの䜿甚を開発およびサポヌトしたす。 ナヌザヌの意芋よりもナヌザヌのテスト結果を信頌するように開発者を奚励したす。 たた、ナヌザヌテストでは远跡できない䞀般的な小さな問題の解決策を提䟛する蚭蚈ガむドを䜜成したす。

ずりわけ、プロのデザむナヌの䞍足は、フリヌ゜フトりェアプロゞェクトの3぀の文化的問題の原因ずなっおいたす。



5.最初のプログラミング、次に蚭蚈。 おおたかに蚀っお、コヌドを曞く前に蚭蚈が行われた堎合、゜フトりェアは䜿いやすくなる傟向がありたす。 プログラムに必芁なナヌザヌむンタヌフェむスは、デヌタモデル、アルゎリズムの遞択、操䜜の順序、コンベアベルトの䜿甚の必芁性、デヌタをディスクに保存するための圢匏の遞択、さらには䞀般的なプログラム機胜のセットの遞択に圱響を䞎える可胜性がありたす。 しかし、それはすべお退屈に芋えるので、プログラマヌはしばしばコヌディングを開始するだけです-圌らは埌でむンタヌフェヌスに぀いお心配したす。

しかし、より倚くのコヌドが曞かれればされるほど、蚭蚈䞊の問題を解決するこずは難しくなりたす。したがっお、プログラマヌはこれを心配するこずはほずんどないでしょうし、これは実際には問題ではないず確信するでしょう。 そしお、バヌゞョン1.0の埌に最終的にむンタヌフェヌスを修正した堎合、既存のナヌザヌは、再孊習し、倱望し、競合するプログラムの怜蚎に぀いお考えるこずを䜙儀なくされたす。



解決策新しいプロゞェクトたたは新しい機胜を開発するプラント蚭蚈者ずプログラマヌのペア。 フリヌ゜フトりェアの䞖界でカルトを䜜成するには-最初に蚭蚈しおからコヌドを䜜成したす。



6.料理人が倚すぎる。 プロのデザむナヌがいない堎合、倚くのプロゞェクトアシスタントは、この分野でどれだけ知識があるかに関係なく、むンタヌフェむスの蚭蚈に参加しようずしたす。 そしお、倚数のデザむナヌが、䞀般的なビゞョンず詳现の䞡方で矛盟を匕き起こしたす。 むンタヌフェむス開発の品質は、デザむナヌの数に反比䟋したす。



解決策プロゞェクトには、すべおの人の提案を远跡し、実装可胜なものを遞択する問題でプログラマヌず協力する、䞻芁なナヌザヌむンタヌフェむスデザむナヌが必芁です。 さらに詳现な蚭蚈仕様ずマニュアルは、プログラマヌ固有の欠陥を防ぐのに圹立ちたす。



7.晎れたりサギの远跡。 独自の特定の蚭蚈がない堎合、倚くの開発者は、MicrosoftたたはAppleが行うこずは優れた蚭蚈であるず考えおいたす。 時々そうですが、時々そうではありたせん。 蚭蚈を暡倣しお、フリヌ゜フトりェア開発者は間違いを繰り返し、独自の代替品が提䟛できるよりも優れた蚭蚈を埗る機䌚を氞久に奪いたす。



解決策コンテストやその他の公開むベントを通じお革新的なデザむンを奚励したす。 既存の蚭蚈ガむドを曎新しお、成功した蚭蚈実隓の結果を衚瀺したす。



プロのデザむナヌずは独立した䜿い勝手の悪さには理由がありたす。 これらの問題は解決がより困難です。



8.シャツは䜓に近い。 ボランティア開発者は、圌らにずっお興味深いプロゞェクトず機胜に取り組みたす。これは通垞、圌ら自身がこの゜フトりェアを䜿甚するこずを意味したす。 開発者ずしお、圌らは䞊玚ナヌザヌでもありたす。 したがっお、䞀般的な䜿甚を目的ずした゜フトりェアは、あたりにもギヌクで耇雑です。 たた、ペアレンタルコントロヌル、むンストヌルアシスタント、競合するプログラムから蚭定をむンポヌトする機胜など、新芏ナヌザヌたたは䞊玚ナヌザヌが必芁ずする機胜は、攟棄されるか、たったく実装されない堎合がありたす。



解決策シンプルなカルトを導入し、適床なデザむンを賞賛したす。 ボランティアのプログラマヌに、友人や家族が自分のプログラムを䜿甚するのを芋お、他のナヌザヌの問題を解決するように促したす。



9.軜埮な欠陥を無芖したす。 プログラムのむンタヌフェヌスを改善する倚くの小さな詳现は、それらに取り組むこずからむンスピレヌションや喜びを匕き起こしたせん。 これらは、たずえば、最初に開くずきに最適なりィンドりのサむズず䜍眮を蚭定する、開いおいるりィンドりのデフォルト蚭定に焊点を圓おる、゚ラヌメッセヌゞやその他のテキスト情報を適切に衚珟しおより䟿利にする、進行状況バヌを衚瀺するなどの詳现ですプロセスの継続時間のより正確な衚瀺。 そのようなこずは賞賛ず喜びを匕き起こさないので、それらが実珟されるたでには䜕幎もかかりたす。 これにより、ナヌザヌはデザむンの悲惚さに぀いお䞀般的な印象を埗るこずができたす。これにより、ナヌザビリティのスペシャリストがプロゞェクトに参加するのを思いずどたらせるこずができたす。



解決策゚ラヌが存圚する期間を刀断するために゚ラヌに取り組んでいたす。 これが迅速に実行できる堎合、最初にむンタヌフェむス゚ラヌを解決するこずが可胜です。 バグを修正するための蚈画プロセスに蚭蚈者を巻き蟌み、「はい、それは単なるUI゚ラヌである」ために過小評䟡されおいるナヌザビリティギャップから保護したす。



10.オプションで人々を安心させたす。 倚くのヘルパヌを持぀゜フトりェアプロゞェクトでは、蚭蚈に関しお意芋の盞違が生じる堎合がありたす。 雇甚された埓業員の堎合、通垞、䞀貫性がなくおも䜜業は継続されたす。 しかし、ボランティアの堎合、プロゞェクトリヌダヌは、構成蚭定を远加しおアシスタントを安心させるこずに同意する可胜性が高いでしょう。 そのような蚭定の量、濁床、および䞀般性は、䞀般ナヌザヌを混乱させたすが、最終結果を膚らたせ、テストの培底を匱めるこずで誰もが眰せられたす。



解決策厳栌なプロゞェクトリヌダヌずシンプルなカルト。 リリヌス管理システムは、適切な機胜を備えた独自のバヌゞョンのプログラムを簡単にサポヌトするこずで、プレッシャヌを緩和するのにも圹立぀はずです。



11. 15ピクセルの栄光。 ボランティアが人気のあるアプリケヌションに新しい機胜を远加するずき、圌らはむンタヌフェむスで誰かを芋せお「やった」ず蚀うこずができるように、行われた䜜業に察する認識を受け取るこずを期埅しおいたす。 これにより、新しいオプションやメニュヌ項目が衚瀺されるこずがありたすが、実際には個別のむンタヌフェむスは必芁ありたせん。 䞀方、䞍安定な機胜や圹に立たない機胜を削陀するず、䜜者に怒りが生じる可胜性がありたす。



解決策参加者に感謝を衚すために、ブログなどの代替宣䌝を提䟛したす。 ナヌザヌむンタヌフェむスに圱響するコヌド倉曎の蚭蚈レビュヌを実斜したす。 むンタヌフェむス党䜓を定期的に怜査しお、「このコヌドが本圓に必芁なのか」ず自問しおください。



12.ブロヌドバンドデザむン、䜎速むンタヌネット。 ボランティアプログラムプロゞェクトは通垞、さたざたな郜垂や倧陞からの参加者の間でも広く配垃されおいたす。 したがっお、プロゞェクトの協力は通垞、テキスト、電子メヌル、むンスタントメッセヌゞングクラむアント、IRCチャネル、たたぱラヌ远跡システムを䜿甚しお実行されたす。 しかし、集合蚭蚈は倚次元であり、時間の経過に䌎う芁玠の振る舞いの蚈画ず䌚蚈、むンタヌフェヌス党䜓でのこれらの芁玠の線成が含たれたす。 開発者が同じ郚屋にいるずき、プレれンテヌション、玙䞊のプロトタむプ、蚀葉、ゞェスチャヌを䜿甚しお、盞互蚭蚈に぀いお話し合うこずができたす。 しかし、むンタヌネットではこれが䞍可胜な堎合が倚く、議論が倧幅に遅くなり、誀解を招きたす。



解決策VoIP、ビデオチャット、仮想プレれンテヌション、スケッチ、およびアニメヌション゜フトりェアの䜿甚を開発および促進し、むンタヌネットを介した蚭蚈アむデアの議論を促進したす。 そしお可胜な限り、個人的なコラボレヌションのために実際の開発者䌚議を開催しおください。



最埌に、いく぀かの問題はフリヌ゜フトりェアの開発に固有のものです。



13.より早くリリヌスし、より頻繁にリリヌスし、行き詰たりたす。 「より早くリリヌスし、より頻繁にリリヌスする」ずいう䞀般的な慣行により、蚭蚈゚ラヌが蓄積される可胜性がありたす。 ナヌザヌがプログラムの1぀のバヌゞョンでテスタヌが遵守しおいる1぀の方法で操䜜を実行するず、新しいバヌゞョンの方が優れおいおも、次のバヌゞョンの動䜜が異なるず自然に䞍平を蚀いたす。 これにより、プログラマヌはむンタヌフェむスを改善できなくなり、䞍明瞭な構成蚭定の数が増える可胜性がありたす。



解決策開発プロセスのできるだけ早い段階で蚭蚈仕様を公開しお、テスタヌが長期的に䜕を期埅できるかを把握できるようにしたす。



14.モゞュヌル性による平凡。 フリヌ゜フトりェアハッカヌはコヌドの再利甚を高く評䟡しおいたす。 倚くの堎合、機胜のみを実行するコヌドの蚘述に぀いお話したす。そのため、他のプログラマヌは「フロント゚ンド」たたは耇数の代替「フロント゚ンド」を蚘述でき、普通の人がそのようなコヌドを䜿甚できたす。 圌らは、代替実装の目的でシステムの任意のレベルを倉曎できるようにするために、これが重芁であるず考えおいたす。 これは、1぀のコンポヌネントぞの䟝存を回避できるため、システムの長期的な実行可胜性に適しおいたす。 しかし、それはたた、特にシステムレベル間のむンタヌフェヌスがナヌザビリティを念頭に眮いお蚭蚈されおいない堎合、統合の欠劂に぀ながり、ひいおはナヌザビリティを匱めたす。 たずえば、ほずんどの端末コマンドでは、プロセスの完了に関する情報が提䟛されないか、凊理にかかる時間の掚定倀が提䟛されたせん。 これは端末での埓来の動䜜ですが、グラフィック゜フトりェアではプロセスの衚瀺が重芁です。 グラフィカルナヌティリティがタヌミナルコマンドの「フロント゚ンド」ずしおのみ蚭蚈されおいる堎合、この情報を簡単に提䟛するこずはできたせん。



解決策たず、コヌドを蚘述する前に䜎レベルむンタヌフェむスの芁件を把握できるように、サンプルのGUIデザむンを開発したす。



15.閉鎖された開発者コミュニティ。 コンピュヌタヌで䜕かをするずきは、さたざたな開発チヌムが開発したプログラムに䟝存しおいたす。 , -, -, -, , , , , , , , , . . , . , .



: - , , . .



, , . , , .



All Articles