My Feedback about Hello Base

Michael Lynch

Hello Baseについてのフィードバック

暗号資産の言葉の壁

今、テクノロジー業界には残念な言葉の壁があります。

暗号資産の愛好家たちは、このエコシステムや、現在の暗号資産界隈で起きていることに興奮しています。新しい人たちを呼び込もうとしていますが、暗号資産の世界にあまりにも深く入り込んでいるため、暗号資産に詳しくない人に暗号資産関連のことを説明するのに苦労しがちです。

私は、暗号資産の基本は理解していますが、暗号資産関連のことを熱心に追いかけるのをやめてからおよそ7年になります。そのため、この言葉の隔たりを埋める役割には向いていると思います。

橋渡し役であるはずのBase

1年前、Into the BytecodeのエピソードでJesse Pollakが語ったインタビューを聞きました。彼は、Coinbaseが開発中のBaseという新しいテクノロジーに興奮していました。

Baseは、暗号資産の世界に入ったばかりの開発者にも関心を持ってもらい、そのエコシステムの中で簡単に開発を始められるようにすることを目指しています。

私はBaseを調べ始めましたが、他の多くの暗号資産プロジェクトと同じ言葉の壁を抱えていることに気づきました。公式ドキュメントは追いにくく、読者がEthereumブロックチェーンを深く理解していることを前提にしているようでした。

Jesse Pollakは、暗号資産に詳しくない人の視点を理解するうえで役に立つと、私のフィードバックに何度か返信してくれました。しかし、その後も以前とまったく同じことを続けていたので、フィードバックを伝えることには興味を失いました。

またしても呼び出される

今週、Steve SimkinsがTwitterで私をタグ付けして、彼が作ったBaseの入門資料を紹介してくれました。

もう一度Baseに挑戦し、暗号資産界隈の内側にいない人間として、このメッセージの伝わり方について考えたことを共有します。

Hello Baseの良いところ

次に進む道筋が明確

Base公式ドキュメントの「getting started」では、新しい開発者にいきなり目がくらむような道の迷路を示します。

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の導入と比べてみましょう。

現代のWebアプリの複雑さを圧縮する。

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

Railsの売り込み方には説得力があります。すぐに動かし始められるよう簡単にしてくれること、そして、非常に大規模なサービスに成長しても同じツールを使えることを伝えています。

Baseの導入部分が、まず次の質問に答えてくれたらうれしいです。

  • ほかのどんな技術でもできないことで、今Base上でできることは何か。

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

Web2の開発者である私が、利用可能な他の技術スタックではなくBase上で開発するべき理由は何でしょうか。

Hello Baseが、誰にとっても最良の解決策だと主張する必要はありません。今はニッチな存在でも構いません(たとえば、従来の銀行サービスを利用できない人が決済を受け付ける方法など)。ただ、人を引き込むだけの説得力のあるユースケースは必要です。

楽しいところに絞り込む

チュートリアルには、すぐに何か楽しいことをさせてほしいと思います。Hello Baseが基本を説明したいのは理解できますが、それは読者に面白いものを見せた後でよいはずです。

Pythonのチュートリアルを読むとき、型付き言語と型なし言語の歴史を説明し、メモリ安全性の美点を称賛するところから始まったりはしません。「hello world」を表示する方法を教えるだけです。

「hello, world!」がプログラミングの定番例になっているのは、KerninghanとRichieの著書The C Programming Language(K&R)の第1章・1ページ目に載っているからです。当時の他のプログラミング書籍が変数や型の基本から始めていたのに対し、K&Rはすぐに例を示しました。

Hello Worldより良いものはないか

上の話とも少し関係しますが、BaseやEthereumの例では、Web2の技術ですでにできることを、もっと回りくどい方法で実現する方法ばかり目にします。

最初の例では、それしか方法がないのかもしれません。しかし、Baseならではの性質を活かした、もっと面白いものを見せられないでしょうか。

ブロックチェーンにデータを保存すること自体に興奮を覚えない読者に対して、Web2の技術では難しい、あるいは不可能なことで、Baseなら簡単にできる魅力的なことは何でしょうか。

Gumroadに13%を取られずに、コンテンツをペイウォールの内側に置けるでしょうか。Patreonの承認を受けずに、ファンが毎月寄付できる簡単な仕組みを作れるでしょうか。

専門用語を減らす

Hello Baseは用語の大半を説明していますが、実際には定義されていないものもまだたくさんあります(「gas」、「optimistic rollups」など)。

しかし、すべてを定義したとしても、チュートリアルの内容をざっと把握することはできません。途中から、基本的に別の言語で話しているような状態になるからです。

これはチュートリアルの30%ほど進んだところの抜粋です。暗号資産に詳しくない開発者にはなじみのない用語を太字にしました。

これらのロールアップのもう一つの大きな利点は、EVM互換であり続けることです。つまり、Ethereum向けに書いたコードを、追加の作業なしにL2へデプロイできます。

こうした説明は本当に必要でしょうか。チュートリアルに従っているなら、テクノロジーが実際に動くところを見たいだけです。歴史を知る必要はありません。理解すべき概念についても、簡略化した説明で構いません。

Baseの難しさには正直に向き合う

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

そして実際に開発を始めようとすると、こう言われます。「ああ、そういえばCoinbaseアカウントが必要です。本人確認のために、Coinbaseが全身スキャンを要求します。それから、こうした気まずい回避策を使わない限り、アプリは数キロバイトを超える永続データを保存できません。それに、こうした気まずい回避策を使わない限り、デプロイ後にアプリを変更することもできません」

*Baseを使うのに本当にCoinbaseアカウントが必要なわけではないことは知っています。ただ、チュートリアルは代替手段を示さず、すべてその経路を取っています。

今のBaseには、オンボーディングを難しくするいくつかの未成熟な部分があります。開発者が途中で驚いたり、問題点が存在しないかのように扱ったりするのではなく、チュートリアルではそれらに正直であるべきだと思います。

  • Baseを試すだけでもお金を使う必要があります。
  • オンチェーンにお金を載せるのは大変です(テストネットでも、テストネットのフォーセットを使うにはいくつもの手順を踏まなければなりません)。
  • Web2のように、普通にアプリを変更することができません。
  • Web2のように、簡単にデータを保存できません。
  • 基本的な開発をするだけなのに、たくさんの別々のプレイヤー(OnChainKit、Hardhat、Coinbase、Solidity)とやり取りしなければならないように見えます。
    • 本当はそうではないのかもしれませんが、これまでざっと調べた限りではそう感じました。

Coinbaseへの依存をなくす

Coinbaseでなければならない理由があるのは確かだと思います。しかし、読者がCoinbaseウォレットを作らなければならないとなると、チュートリアルの魅力が大きく損なわれます。

私は実際、チュートリアルを試すこと自体をしばらくためらっていました。本物のCoinbaseの本人確認が必要だと思ったからです(Coinbaseには何年も前、奇妙な理由でアカウントをロックされたことがあります)。

パスキーだけでウォレットを作れるとわかって安心しましたが、読者がアカウント設定を最初から最後まで行わなければならないと思わないように、その点はもっと明確にできるかもしれません。

ただ、私はこの摩擦が完全になくなることを望みます。Baseのテストネットに「hello world」のスマートコントラクトを公開するためだけに、いくつもの面倒な手順を踏まされるくらいなら、摩擦がなく、偽物でもよいチュートリアル(つまり、実際にはブロックチェーンに公開しないもの)のほうが好みです。

mess with dns(作者:Julia Evans)は、複雑なインフラ(DNSサーバー)を必要とするチュートリアルの優れた例です。しかし作者は複雑な部分を抽象化し、読者が一つのWebアプリ内ですべてを行えるようにしています。

Firefoxでもテストする

私は「Read Contract」まではチュートリアルを進められましたが、そこで動かなくなりました。Windows 10でFirefoxを使っています。

原文は Michael Lynch により に公開されました。

この記事は「gpt-5.6-terra」を使用して翻訳されました。