My Feedback about Hello Base

Michael Lynch

Hello Baseへのフィードバック

原文は Michael Lynch により に公開されました。 このブログを購読する

仮想通貨の言葉の壁

今、テクノロジー業界には残念な言葉の壁が存在している。

仮想通貨の愛好家たちは、今のエコシステムやクリプト界隈で起きていることに胸を躍らせている。彼らは新しい人を呼び込もうとしているが、あまりにも自分たちのクリプトというバブルの中に浸かりきっているため、仮想通貨のことをまったく知らない人にうまく説明できないでいる。

自分はこの言葉のギャップを埋めるのに適任だと思っている。仮想通貨の基礎は理解しているが、ここ7年ほどはクリプト関連の動きをそれほど熱心に追ってこなかったからだ。

Baseは架け橋になるはずだった

1年前、Into the Bytecodeのエピソードで配信されたJesse Pollakへのインタビューを聴いた。彼はCoinbaseが取り組んでいたBaseという新しいテクノロジーについて熱く語っていた。

Baseは、仮想通貨の世界に不慣れな開発者にアピールし、そのエコシステム内で簡単に開発を始められるようにすることを目的としている。

実際にBaseを触ってみたところ、他の多くの仮想通貨プロジェクトと同じ言葉の壁を抱えていることに気づいた。公式ドキュメントは読みにくく、読者がイーサリアムのブロックチェーンについて深い知識を持っていることを前提にしているように感じた。

Jesse Pollakは私のフィードバックに対して何度か返信をくれ、クリプトの外からの視点を理解するのに役立つと言ってくれた。しかし、その後も彼は以前とまったく同じことを続けていたので、フィードバックを送る気が失せてしまった。

再び呼び出される

今週、Steve SimkinsTwitterで私をタグ付けし、彼が作ったBaseの入門コンテンツをシェアしてくれた。

もう一度Baseに挑戦し、クリプトの部外者としての視点から、そのメッセージングがどう見えるか感想を共有しようと思う。

Hello Baseの良いところ

次に何をすべきかが明確

公式のBaseドキュメントは、「はじめに」の段階で、新しい開発者を目がくらむような無数の分岐に放り込んでしまう。

Hello Baseは、最初から最後まで明確な流れを読者に提供している。始めるために何を学ぶべきか、いくつもの選択肢から選ぶ必要がない。どの学習パスを選ぶかという迷いをなくす、一本道のトラックが用意されているのだ。

ブラウザだけでチュートリアルを完結できる

Hello Baseはhello worldのサンプルをうまくシンプルにしている。読者はツールをインストールしたり、複雑な技術スタックを学んだりする必要がない。ブラウザの中ですべてを試せるのだ。

用語をきちんと説明している

公式のBase入門ドキュメントに対する私の批判の一つは、初心者を混乱させるような内輪の用語が何気なく多用されていることだった。

Hello Baseは、初心者が理解できないであろう概念をきちんと把握し、前もって説明している点が優れている。仮想通貨エコシステムの中でBaseが解決しようとしている問題について、簡潔な説明を提供している。

Hello Baseが改善できると思う点

価値をもっと早く提示する

Hello Baseも、他の多くのBase関連ドキュメントと同じ問題を抱えていると思う。読者がすでにBaseに興味を持っていることを前提にしているのだ。

現実には、読者の99%はBaseになど関心がなく、読み続ける説得力のある理由がなければ、数秒でタブを閉じてしまうだろう。

最初の段落で、なぜ読者がBaseを気にすべきなのか、なぜ読み続けるべきなのかを説明すべきだ。

現在の最初の段落はこうなっている。

あなたが開発者で、ブロックチェーンに触れたことがない、あるいはほとんど知らないのであれば、ここはまさにうってつけの場所です。わずか数分で基礎を学び、次世代の開発者をオンチェーンへと導くために設計されたブロックチェーン、Base上でどのように開発を始められるかが分かるようになります。

もし自分がブロックチェーンに詳しくない開発者としてこれを読んだら、Baseは一体何をもたらしてくれるのだろうか。なぜ他のブロックチェーン技術ではなくBaseを学ぶべきなのか。なぜWeb2の技術ではなくBaseを学ぶべきなのか。

Hello Baseの導入とRuby on Railsの導入を比べてみよう。

現代のウェブアプリの複雑さを圧縮する。

始めるのに必要なことだけを学び、あとは進みながらレベルアップしていこう。Ruby on RailsはHELLO WORLDからIPOまでスケールする。

Railsの売り文句は説得力がある。立ち上げをシンプルにしてくれること、そして同じツールで大規模なスケールまで到達できることを伝えている。

Baseの入門でも、冒頭で次の問いに答えてくれると嬉しい。

  • 他のどの技術でもできず、Baseなら今日できることは何か?

Jesse PollakはBaseで作れるアプリの例を挙げているが、私にはまったく魅力的に感じられない。認証や送金をするのに最も簡単な方法ではないのだから、そうであるかのように装うべきではない。

もし自分がWeb2の開発者なら、なぜ他の利用可能な技術スタックではなく、わざわざBaseで構築すべきなのか。

Hello Baseが、すべての人にとって最良のソリューションであると主張する必要はない。今はニッチでも構わない(例えば、従来の銀行サービスを利用できない人にとっての支払い受付手段であるとか)。ただ、人を引きつける何か説得力のあるユースケースが必要だ。

楽しい部分まで削ぎ落として早く見せる

チュートリアルでは、すぐに何か楽しいところに到達してほしい。Hello Baseが基礎を説明したいのは分かるが、それは読者に何かクールなものを見せた後で良いはずだ。

Pythonのチュートリアルを読むとき、それは型あり言語と型なし言語の歴史の解説から始まってメモリ安全性の美点を説いたりはしない。単に「hello world」をどう出力するかを示してくれるだけだ。

「hello, world!」がプログラミングの定番のサンプルになったのは、KerninghanとRitchie(K&R)によるThe C Programming Languageの第1章1ページ目に載っているからだ。当時の他のプログラミング本が変数や型の基礎から始めていたのに対し、K&Rはすぐにサンプルへと入ったのだ。

hello worldより良いものは見せられないか?

上の点とも少し関連するが、BaseやEthereumのサンプルを見ていると、Web2の技術でもすでにできることを、より複雑な方法で実現しているだけのように見えるものがよくある。

最初のサンプルはそれで仕方ないのかもしれないが、Baseのユニークな特性を活かした、もっとクールなものは見せられないだろうか。

読者が「ブロックチェーンにデータを保存すること」自体にワクワクしないのであれば、Baseを使えば簡単にできて、Web2の技術では困難か不可能な、ワクワクするようなことは何かないだろうか。

たとえば、Gumroadに13%も手数料を取られずにコンテンツをペイウォールの向こうに置くことはできるだろうか。Patreonの承認を得ずに、ファンが毎月寄付できるシンプルな仕組みを作ることはできるだろうか。

専門用語を最小限にする

Hello Baseはほとんどの用語を説明しているとはいえ、実際には定義されていないものがまだ多くある(例えば「gas」や「optimistic rollups」)。

しかし、仮にすべてを定義したとしても、読者はチュートリアルが何についてのものなのかをざっと目を通して把握することができない。途中で、ほぼ別の言語を話しているような状態になってしまうからだ。

チュートリアルの30%あたりからの抜粋がこちらだ。クリプトに詳しくない開発者には馴染みのないであろう用語を太字にしてみた。

これらのrollupsのもう一つの大きな利点は、EVM compatibleであり続けることだ。つまり、Ethereum用に書いたコードを、追加の作業なしに L2にデプロイできるということだ。

そもそもこうした説明は必要なのだろうか。チュートリアルを進めているときは、ただ技術が実際に動くところを見たいだけだ。歴史を知る必要はないし、理解に必要な概念については簡略化された説明で十分だ。

Baseの課題について正直に伝える

Baseのメッセージングについて私が最も不満に思っていることの一つは、「開発者が新しいウェブアプリを作る最も簡単な方法です!パーミッションレスなので、誰でもどこでもできます!」という文句を繰り返し唱えていることだ。

そしていざ作り始めようとすると、「あ、そうそう、Coinbaseのアカウントが必要です*。Coinbaseは本人確認のために全身スキャンが必要です。それから、数キロバイト以上の永続データを保存できません、面倒な回避策を使わない限りは。あと、一度デプロイしたら面倒な回避策を使わない限りアプリを変更することもできません」と言われるのだ。

* Baseを使うのに本当はCoinbaseのアカウントが必要なわけではないことは分かっているが、チュートリアルはどれも代替手段を示さずにその道を辿らせようとする。

Baseには今、オンボーディングを困難にするいくつかの荒削りな部分がある。チュートリアルは、途中で開発者を驚かせたり、痛みの種がないふりをしたりするのではなく、それらについて正直であるべきだと思う。

  • Baseを試すだけでもお金がかかる。
  • お金をオンチェーンに載せるのが面倒だ(テストネットでさえ、テストネットのフォーセットがあれこれ手続きを要求してくる)。
  • Web2のように普通にアプリを修正できない。
  • Web2のように簡単にデータを保存できない。
  • 基本的な開発をするだけでも、たくさんのバラバラな存在とやり取りしなければならないように見える(OnChainKit、Hardhat、Coinbase、Solidity)。
    • これは事実ではないかもしれないが、これまでの気軽な探索から得た私の印象だ。

Coinbaseへの依存を断つ

Coinbaseでなければならない正当な理由があるのだろうが、読者がCoinbaseウォレットを作成しなければならないとなると、チュートリアルの足を大きく引っ張ってしまう。

実際、私もしばらくチュートリアルを試すのをためらっていた。Coinbaseの本格的な本人確認が必要だと思っていたからだ(Coinbaseは数年前に不可解な理由で私のアカウントをロックした)。

パスキーだけでウォレットを作成できることが分かって安心したが、読者がアカウント設定の全プロセスを経なければならないと思い込まないように、もっと明確にしても良いかもしれない。

しかし、できればこの摩擦自体を完全になくしてほしい。Baseのテストネットに「hello world」のスマートコントラクトを公開するためだけにあれこれ手続きをさせられるくらいなら、摩擦がなくフェイクな(つまり、実際にはブロックチェーンに公開しない)チュートリアルの方が良い。

Julia Evansによるmess with dnsは、複雑なインフラ(DNSサーバー)を必要とするチュートリアルの素晴らしい例だ。作者は複雑な部分を抽象化し、読者が単一のウェブアプリ内ですべてを完結できるようにしている。

Firefoxでテストする

チュートリアルは「Read Contract」までは進められたが、そこで止まってしまい、それ以上動かなくなった。環境はWin10上のFirefoxだ。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント