RSS(RDF Site Summary) とは、サイトの更新状況などを XML を利用して公開する仕組み。おもしろそうなのでチャレンジしてみました。
RSS は XML(eXtensible Hypertext Markup Language)をベースに作られた仕組みで、サイトの更新状況や概要、検索フォームなどを他のサイトに対して公開することができます。これにより例えば「 A というサイトの更新状況を B というサイトに掲載」したり、「 B に掲載されている検索フォームから A のサイトコンテンツを検索」することができるようになります。
具体的な活用事例としては次のようなものが考えられます。
1. の事例は「My Yahoo! のようなオリジナルポータルページ作成機能を自作プログラムで作る」といった意味合いになるかと思います。余計な広告も装飾もない、自分の思い通りのポータルページがあれば便利でしょう。
2. は 1. のような使い方をしているユーザーに対し、効果的にサイトを告知できる方法なのではないかと思います。また、様々なサイトの RSS を収集して不特定多数にポータルページを公開するようなサービスを行なうサイトがあれば、そこにおいてもサイト告知のチャンスを得ることができることになります。大手ポータルサイトに、GIF や FLASH のバナー広告に代わり、RSS のデータを広告として掲載する……といったビジネスもやがて生まれてくるかもしれません。
RSS は XML をベースにして作られた仕組み、と書きました。より正確な定義としては、RSS は「サイトの概要をメタデータとして簡潔に記述するXMLフォーマット」(The Web KANZAKI より)ということになります。つまり RSS は XML 利用した数あるデータフォーマットの一種である、ということのようです。
実際 RSS のデータは XML そのものです。以下のリンクは自分のサイト用の RSS を試しに作ったものです。よろしければご覧ください。
RSS を使うとたいへんおもしろいことが起こります。RSS のもととなった XML は「メタデータ」とも呼ばれ、単にある形式にのっとって作られたデータの集合に過ぎないので、RSS のデータを異なるサイト間でやりとりすると、他人様のサイトに自分(自社)のサイトの更新状況が掲載される、などということが起こります。以下のリンクは「The Web KANZAKI」というサイトの仕組みを利用して、「Jahreszeit.com/LAB」の更新状況をわかりやすい形で表示させたものですが、おもしろいことにこのページ、「The Web KANZAKI」のフォーマットにのっとって情報が掲載されています。
RSS を活用することで、ウェブページの新たな使い道を発見できるかもしれません。
RSS を使ってどのようなことをできるのか、アイデアとして思いついたものをまとめておきます。(2002/09/19 追加)
ニュースサイト・個人サイト・その他情報サイトが提供する RSS ファイルを自作プログラムで取り込んで自分だけのポータルページを作る。ウェブアプリケーションという形が一般的に考えられるが、XML を解析するスピード、Unicode から Shift_JIS などへの文字コード変換のスピードがお世辞にも速いとはいえない(個人的実感)ので、C/C++ といった言語でデスクトップアプリケーションとして開発する選択肢も考えられるかもしれない。
自分・自社のサイトの RSS ファイルを作成して、他のサイトで利用してもらい、知名度を高める。配信対象としてはポータルサイト、各種リンク集、個人サイト、個人ユーザー(ローカルプログラムで取り込み、解析・表示を行なう)などが考えられる。
ポータルサイトなどで行なう。すでに広く行なわれている「テキスト1行広告」のような形ではなく、サイトコンテンツを具体的にリストアップする。こうした仕組みを整備することで、ユーザの利便性を向上させる「ディープリンク」を促進する。
各サイトの検索結果を RSS で出力し、それらを総合的に活用することで、個人サイト・ニュースサイト・情報サイト・検索サイトの横断的検索を行なう。イメージとしては ver.1-2 時代の Mac OS Sherlock のような機能をウェブアプリケーションとして実現する。技術的な流れとしては次のようなものが考えられる。各サイトの検索 CGI ファイルに検索クエリーを渡し、その結果を RSS ファイルとして socket を使って取り込み、解析を行ない、最終的にそれらの結果を総合した画面を出力する。
RSS フォーマットの天気予報情報を配信する。具体的には天気模様、最高・最低気温、降水確率といったデータを配信する。このアイデアは RSS というよりは専用 XML スキーマとして定義するべきかもしれない。