続:Web IntentsとSchema.orgの連携が模索され始めています

13日に「 Web IntentsとSchema.orgの連携が模索され始めています」というエントリを投稿したんですが、実は原文の表現がそもそもわかりにくく、僕の日本語訳レベルの低さにより、「で、結局なんなのよ」と感じた人が少なくないのかな、と反省しております(そういう声を実際に目にした訳じゃないけど、きっとそうかなと)。

なので、結局何がしたいか、を改めてここで紹介したいと思います。

Web Intentsは「○○したいから誰かその願い叶えて!」とクライアントが投げると、それを実現することができるサービスの一覧がユーザに提示され、あるサービスを選択するとそれが起動して○○を実際に行い、その結果をクライアントに返せる、というものです。そのため、Web Intentsで規定されていることは「やりたいアクション」を表現することであり、つまりShareとかEditとか動詞がメインです。

Schema.orgは、HTMLに対して「じゃあ実際何が書かれているのよ」という「情報そのもの」をちゃんと記述しましょうとする場合の情報の種別が規定されています。実際の書き方はHTML Microdataで規定されている書式が使われます。HTML内に人物の情報が書かれていれば「ここには人物の情報が書かれてて、氏名は○○で、年齢は△△で、・・・」ということを記述したいわけですが、その際に大切になることとして、ちゃんと標準化されている、ということが大事なわけです。人物であれば、http://schema.org/Personという型であり、それはname, url, image, givenName、・・・を属性に持つ、といった情報のスキーマが数多く規定されています。

では、この2つをどう絡めれば幸せなのか?先のエントリで言いたいことは単純で、結局のところ「 情報の種別が決まれば、それに対して行われることは自然と決まるんじゃね?」ってことです。例えば、

  • 「Webページ、と言えば、共有するよね」

  • 「でも、Webページに対して編集するっていうのは普通できないよね」

  • 「でも、もしブログエントリであれば、編集できるかもしれないよね」

というように、対象物に対してできることは自然といくつかに絞られるだろう、という仮説があるわけです。上記の例は、実際には以下の対応となります。ここでは1対1ですが、1対nである可能性も十分に考えられます。

  • 「http://schema.org/WebPage → http://webintents.org/share」

  • 「http://schema.org/BlogPost → http://webintents.org/edit」

世界中のWebページがSchema.orgの規定に従ってセマンティックが記述され、Schema.orgとWeb Intentsのマッピングがちゃんと規定できれば、WebページやWebアプリの開発者は、もしかしたら自分でWeb Intentsを投げることを全く書かなくてもWebブラウザが自動的にユーザに「あなたがやりたくなること」を推測して提示してくれるかもしれません。もっと言えば、先回りして「やりたくなることを実現してくれるサービス」をも検索し、オススメのサービスやアプリを提示してくれるかもしれません。

一見すると大したことないと思うかもしれませんが、インターネット上にある無数のコンテンツやリソースに対して、予めリストアップされたあなたがやりたいことを実現してくれるサービスやアプリを選んで自由に扱い、さらに友人に知らせたり改めて世界中に公開したりといったことが手軽に実現できる世界、と考えると、とてもワクワクしてきませんか?そうなれば、ネットサーフィンは「見て楽しむだけの行為」ではなく、「常に自分なりのクリエイティビティを発揮可能な状態でコンテンツを探す行為」になるのです。

もちろん、上記は僕の勝手な想像です。しかし、インターネットにコンテンツを供給する側の全ての人が「ユーザにこのコンテンツを共有してもらうためにshareアクションを投げられるようにしておこう」と明示的にインテントを投げるJavaScriptコードを埋め込むとは考えにくい。Web IntentsとSchema.orgの組み合わせがなせる技として幸せなユースケースとは何か?と考えた時、上記のような世界が実現されるのではないか、HausenblasとPaulはそういう夢を描いているのではないか、と僕は推測したわけです。

実は、先のエントリで翻訳した文書の他に、Web IntentsとSchema.orgの対応を示すためのデモが公開されていました。

Schema.org + Web Intents

例として2つあって、WebPageでマークアップされた場合はShareが、ImageObjectでマークアップされた場合はShareとViewが、それぞれピックアップされる、というデモです。これだけ見たら何のこっちゃなのですが、ソースコードを見ると、その意図がはっきりと伝わってきます。

mhausenblas / intent.iom / map.js - Github

そんなわけで、semanticweb.comのエントリに関する補足と、そこから見えてくる未来の世界をちょっと妄想してみました。あなたはどう思いましたか?

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて