1990年代以来、ウェブは人間が読めるドキュメントを公開する場所でした。

ウェブ上に公開されるドキュメントはHTMLで記述されます。HTMLには「ここは段落です」や「この単語を強調します」といった、ある程度の構造があります。

そこにCSSを加えると、構造に装飾が施され、「この段落は小さな灰色のサンセリフ体にしよう!」といった指定が可能になります。そして人々はあなたをスタイリッシュだと思うでしょう。ただし、年配の人は小さな灰色の文字が読めずに諦めてしまうかもしれません。

ウェブにおける「構造」とは、今のところその程度のものです。

例えば、ウェブ上で本について言及する場合を想像してみてください。

Goodnight Moon
by Margaret Wise Brown
Illustrated by Clement Hurd
Harper & Brothers, 1947
ISBN 0-06-443017-0

ここにはほとんど構造がありません。素朴なコンピュータプログラムがこのウェブページを読んでも、私が本について言及していることに気づかないかもしれません。私がしたのは、タイトルを太字にしただけです。

そこで1990年代から、人々はもう少し構造を適用すれば、ウェブをはるかに有用な情報公開の場にできることに気づきました。早くも1999年に、Tim Berners-LeeはSemantic Webについて次のように書いています:

“I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which makes this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.”

Tim Berners-Lee, Weaving The Web, 1999 HarperSanFrancisco (Chapter 12)

Semantic Webを使えば、本のタイトルをはるかに詳細でコンピュータが読める形で公開できます。これを行うには、まずschema.orgにアクセスして本に関する定義を確認し、RDFやJSON-LDなどのフォーマットを使ってHTMLに追加のマークアップを施し、「これは本です!」と伝えることになるでしょう。

しかし、これはかなり難しく、正直に言って面倒な作業です。美しいブログ記事を公開し、人間が読める状態になった後、さらにコンピュータが読めるような高度なマークアップを追加する気力を起こすのは難しく、すでにコンピュータがあなたのページを読んでいない限り、通常はそこで諦めてしまいます。ですから、1999年の話ですが、このようなセマンティックマークアップはほとんど進展がなく、実際に使われているものは非常に少ないのです。

そこで。

私たちはこれを解決したいと考えています。なぜなら、人間の進歩は、通常の人間やそのAIの弟分、そして従来のコンピュータプログラムのいずれにとっても容易にアクセス可能な形式で、ますます多くの情報を得られることに依存しているからです。

私が信じていることがあります:人々は、セマンティックマークアップの追加が「しない」よりも簡単である場合にのみ、ウェブページにセマンティックマークアップを追加するということです。

言い換えれば、セマンティックマークアップを追加するコストがゼロまたはマイナスでなければ、このプロジェクトはどこにも行き着かないということです。

今、こんな世界を想像してみてください:

  • ブログ記事に本を挿入したい
  • /bookと入力する
  • 検索ボックスが表示され、本のタイトルを入力し始めると、オートコンプリート一覧から選択できる
  • 本を見つけると、ブログ記事内にブロックが挿入され、好みの形式で本の詳細が表示される(裏側では適切なセマンティックマークアップが施されている

この世界では、本を挿入する作業が少なくなる(UIが詳細を調べてくれるため)。

同じシナリオは、文字通りあらゆる種類の構造化データに適用できると想像できます。

  • ブログ記事に住所を挿入したい
  • /addressと入力する
  • 場所を入力し始めると、InstagramやGoogle Maps、その他数多くのアプリで見られるようなオートコンプリートが表示される
  • 住所を選択すると、裏側にセマンティックマークアップが施された状態で、住所の詳細を表示するブロックが挿入される

私の「住所ブロック」は、どのような視覚的表現も持つことができます。ウェブページの訪問者は住所を見たり、小さな地図を見たり、日本語の小さな地図を見たりできます。セマンティックコンテンツは裏側に存在します。例えば、ウェブブラウザが「これは住所だ!住所に関連する操作、例えばそこへ行く、ができるかもしれない」と判断し、自動運転車を呼んだり、自動運転車が雪の吹きだまりに突っ込んだときに救急車を呼んだりするオプションを提供するかもしれません。

「本」と「住所」という2つの単純な例が今興味深い理由は、(a) このようなデータ型を100万個思いつけるだろうし、(b) これらのどれも今は正しく機能していないからです。なぜなら、ほぼすべてのウェブ編集環境に「ブロック」の概念はあるものの、それらは拡張可能ではないからです。WordPressには(おそらく)数百のブロックタイプがありますが、数千や数百万ではなく、「本」や「住所」や「Burning Man Theme Camp」といったものはまだなく、開発者やユーザーが新しいブロックタイプを貢献できるエコシステムも存在しません。

ですから、WordPressの誰かが私が使いたいすべてのブロックを開発するのを待たなければならないのです。そしてNotionの誰か、Trelloの誰か、Mailchimpの誰か、そしてテキストエディタを提供するすべてのベンダーの誰かが同じことをするのを待たなければなりません。

より良い計画があります。

ウェブはオープンなプロトコルで構築されました。私たちがブロックのためのプロトコルに合意するとしましょう。

新しいブロックを作成したい開発者は、このプロトコルに準拠できます。

あらゆる種類のウェブテキスト編集アプリケーションも、このプロトコルに準拠できます。

そうすれば、誰かがクールな「本」や「住所」のブロックを作成すれば、私たち全員がどこでもそれを使えるようになります。

そしてこのプロトコルを、Block Protocolと呼ぶことにしましょう。

そしてそれは、100%無料でオープンかつ公開されたものであるべきだと思います。そうすれば、地球上の誰もがそれを使うことに障壁がなくなります。実際、ブロックをオープンソースや公開にするなら素晴らしいですが、何らかの理由でプライベートまたは商用ブロックを作りたい場合も、それで問題ありません。

現在の状況

Block Protocolについて話し始めてから約1年が経ち、Block Protocolがきれいでわかりやすい方法で必要なすべてのことを行うために、どのように動作する必要があるかを理解する上で大きな進展がありました。

しかし、9300万人の人間が私の狂った計画に協力しなければ実現しないのであれば、これはどこにも行きません。

そこで私たちは、WordPressサイトの投稿にBlock Protocolブロックを、他のブロックと同じくらい簡単に埋め込めるようにするWordPress Pluginを構築しました。

WordPressがウェブの43%を支えているため、Block Protocol用のブロックを構築すれば、すぐに広く使えるようになります。

こちらがデモ動画です:

WordPress Pluginは無料で、2022年2月に広く利用可能になり、その際にBlock Protocol仕様のバージョン0.3も公開されます。今すぐ早期アクセスを入手できます。

実際、独自のカスタムブロック用のWordPressプラグインを書こうと考えていたなら、私たちのプラグインを出発点にする方がはるかに簡単です。WordPressプラグインについて知る必要もなく、PHPコードを書く必要もないからです。ですから、私の狂った理論に興味がなく、WordPressにブロックを追加したいだけの場合でも、これが最適な方法です。

究極的には、私たちはウェブに有用なセマンティックで構造化された情報を追加しやすくしたいだけであり、これはその第一歩です。

PS Block ProtocolのDiscordサーバーを立ち上げました。参加したり、質問したり、チームと出会ったりできます。

PPS Mastodonでフォローできます:@[email protected]。あまり投稿しませんが、アルゴリズムが今日の偽りの怒りをかき立てることのない、人間同士の環境で楽しんでいます。