平均的な人間のためのWeb3体験の設計について。
Web3アプリケーションの人気が高まるにつれ、多くの新しいユーザーがこのスペースに集まってきています。そのほとんどは分散型アプリケーションを初めて試すもので、技術に詳しくないユーザーにとって参入障壁はまだかなり高いと言えます。
新規ユーザーは"ウォレット"、"キー"、"ガス代"などの専門用語を学ばなければならないだけでなく、dApps(訳者注:decentralized applications=分散型アプリケーション のこと。詳細は後述。)はそれを簡単にはしてくれません。
このスペースは、ほとんどが開発者で構成されたコミュニティを中心に急速に成長し、私たちはノーマンや良いユーザーエクスペリエンスの実践を忘れてしまいました。これは、開発者、ギーク、アーリーアダプターがシーンを支配し、基礎となる技術が少し粗いためにユーザビリティも置き去りにした、インターネットの最初の時代に非常によく似ています。
無数のアプリケーションの中には、本当によくできていて、大勢の中で際立っているものもありますが、大半は、できるだけ早く市場に投入して競争するためのトレードオフとして、基本的な使い勝手を欠いているままです。
ここでは、すべての分散型アプリケーションがユーザー体験を向上させるために従うべきベストプラクティスを、良い例と悪い例を挙げて説明します。
これらは(ユーザビリティの問題の)一部に過ぎず、すべてを網羅したガイドではないことに留意してください。ブロックチェーンデザインの原則についてもっと読みたい場合は、Sarah Millsの記事をお勧めします。
初心者のためのリソースは、このコレクションをご覧ください。
しかし、dAppとは何なのだろうか?
dAppsまたはDecentralised Applicationsは、Web3の分散化された性質を活用したソフトウェアアプリケーションです。 dAppsの背後にあるコアアイデアは、ユーザーが自分のデータを所有し、dAppクリエイターや第三者と共有されないということです。これは、ログインと認証のためのウォレット、分散型データベース、IPFSのようなファイルストレージシステムを組み合わせることで実現されます。
1 - ウェブサイトを訪問する前にウォレットを自動的に接続するように求めない
新しいdAppsにアクセスすると、最初にMetamaskが開いて接続するように求められることがあります。
これは実は迷惑なもので、また悪しき習慣でもあります。
ユーザーは、あなたのウェブサイトや提供するものを点検する機会がなく、ウォレットを接続することを約束するよう求められます。悪いことが起こるわけではありませんが、ユーザーをメイン体験から新しいウィンドウやポップアップにハイジャックすることは、避けたいことです。
ウォレットの接続は、Web2シナリオにおけるサインアップやアカウントへのログインと非常によく似ています。
ユーザーが選択する必要があり、それを強制することはできません。
ウォレットを接続する前に、ユーザーにあなたのdAppを探検してもらいましょう。
2 - 専門用語を減らして、意味のあるインターフェイスを作る。
Web3アプリケーションには多くの新しい用語があり、最初はユーザーを混乱させるかもしれません。このため、可能な限り簡単な言葉を使うことが重要です。
ただし、簡単な言葉で説明できない場合は例外で、その場合は、ツールチップやドキュメント、リソースへのリンクを追加するのが便利です。
3 - ユーザーのオンボーディングとハウツーガイドを作成する。
多くのDeFiプロトコルは独自のWikiやユーザーガイドを持っていますが、それらは製品のメインではないため、必ずしも簡単に見つけることができなかったり、うまくメンテナンスされていないことがあります。一方、あなたが開発者であれば、リソースはより豊富にあります。
かさばるドキュメントに対する良い妥協案は、UI上にヘルパーを追加して、ユーザーがメインのエクスペリエンスから離れないようにすることです。
4 - ユーザーをメインエクスペリエンスから引き離さない
上記のいくつかのポイントで述べたように、ユーザーをメインの体験から引き離すことは素晴らしいアイデアではなく、何か他のものに焦点を移すことはユーザーフローを壊すことになります。
もしあなたがコンバージョンを生み出し、ユーザーにあなたのdAppを試してもらったり、オンボードしてもらおうとするならば、最初から最後まで直線的なフローを持つことが簡単です。
5 - 重要な情報を隠さず、ユーザーに誤解を与えない
取引手数料やプロトコルの税金は常に宣伝されているわけではなく、ユーザーが知った時には裏切られた思いをしたままです。
可能であれば、ネットワーク上で予想される「ガス代」を含め、あなたのプロトコルが交流するために請求する手数料について非常に明確にしてください。チェーンによっては、ガス代は無視できるほど小さなものですが、イーサリアムのメインネットで運用する場合は、少なくともガス代が高くなる可能性があることをユーザーに知らせるのがよい方法です。
6 - どのネットワーク/ブロックチェーンが使用されているかを明確にする
これは必須項目です。特に、サイドチェーンやL2ソリューションが常に成長している状況では、あなたのプロトコルがどのチェーン(複数可)で動作しているかは必ずしも明確ではありません。
マルチチェーンであれば、ユーザがチェーンを切り替えられるようにし、1つのチェーンでしか動作していない場合は、チェーンの名前を表示することでユーザに知らせるようにします。
7 - プロセスのすべての段階で、常に何が起こっているかをユーザーに伝える
あなたのdAppでトランザクションを扱っている場合、常にどこかとそのステータスを表示するようにします。
新しいユーザーは、何が起こっているのか、物事を成し遂げるために正しい手順を実行したのか、パニックになりがちです。
やり取りする契約先を明確にし、複数ある場合は明確にラベル付けしてください。
トランザクションが送信されると、ユーザーはブロックエクスプローラー上でトランザクションの詳細へのリンクを見ることができるはずです。(中にはあまりユーザーフレンドリーではないものもありますが、チームの誰かに相談してサポートを受ける場合、デバッグの際に役立ちます)。
最後に、これから起こること、あるいは今起こったことを、取引額、ガス代、予定時間などのようにまとめて表示しましょう。
このシンプルなグッドプラクティスのリストが、よりユーザーフレンドリーなdAppsの作成に役立つことを願っています。 一般的な技術の向上から、よりシームレスで統合されたものになるまで、まだまだ長い道のりがありますが、より良いユーザビリティを提供することで、少なくともその欠点のいくつかを覆い隠すことは可能です。
深く掘り下げたいなら他の記事もどうぞ!
Web3ガバナンスのためのツールをデザインする - UXケーススタディ
しかし、最も重要なことは、自分で試してみて、成長し続けるWeb3デザイナーのコミュニティに参加することです。