OPDS 1.1 仕様では幾つかのキーとなる機構が導入されているが、ユーザの視点から見ればファセット化閲覧(faceted browsing)が OPDS 1.0との大きな違いだ。
ファセットは大量のアイテムを持つウェブサイトに我々をナビゲートする上で重要な役割を果たす。例えば、
Google Search navigation は今ではほとんどがファセットを利用して設計されている
大きなEコマースのウェブサイトは全てファセットを利用している
Internet Archive や Gallica や Library of Congress といった主要な図書館でも
OPDS 1.0 の(ウェブサイトのメインメニューと同じような働きをする)ナビゲーションがナビゲーションフィードを制限しているのに対して、OPDS 1.1 のあらゆるカタログとクライアントはファセットを利用してリッチなナビゲーションを提供できるようになっている。
我々がどのようにファセットをサポートしているのか見てみよう。
ファセットは獲得フィードの冒頭にある atom:link 要素として表現される。
<link rel="http://opds-spec.org/facet" href="/recent" title="Most recent" /> <link rel="http://opds-spec.org/facet" href="/popular" title="Most popular" />
ファセットはデフォルトで非アクティブと見做される。アクティブなファセットには link 要素に opds:activeFacet 属性を追加し、値に "true" を指定する。
<link rel="http://opds-spec.org/facet"
opds:activeFacet="true"
href="/recent"
title="Most recent" />
<link rel="http://opds-spec.org/facet"
href="/popular"
title="Most popular" />
ファセットは opds:facetGroup 属性によってグループ化できる。グループの中で同時にアクティブになれるファセットは一つだけだ。
<link rel="http://opds-spec.org/facet" opds:facetGroup="Order" opds:activeFacet="true" href="/recent" title="Most recent" /> <link rel="http://opds-spec.org/facet" opds:facetGroup="Order" href="/popular" title="Most popular" />
ファセットは Atom Threading extension の thr:count の要素を利用して予測されるエントリの数を表示することもできる。
<link rel="http://opds-spec.org/facet"
opds:facetGroup="Order"
opds:activeFacet="true"
href="/recent"
title="Most recent" />
<link rel="http://opds-spec.org/facet"
thr:count="600"
opds:facetGroup="Order"
href="/popular"
title="Most popular" />
いわゆるアプリケーションストア(AppStore や Android Market)では、検索については極めて貧弱なことしかできないが、その問題の一つはファセット閲覧がないためだ。
ファセットはモバイルアプリケーションでは(スクリーン領域の制限や、モバイルアプリケーションの設計が未だに新しく専門知識を要するため)ウェブサイトほど浸透していないが、既に幾つかのデザインパターンがある。
次の UXmatters の記事は、それらのパターンの素晴しい紹介になっている。 http://www.uxmatters.com/mt/archives/2010/04/design-patterns-for-mobile-faceted-search-part-i.php
タブレットのような大きなデバイスには、iOS の split view (Official guidelines) や Android の fragments (Official documentation) のような専用の UI 要素がファセットに完全にフィットする。
デスクトップやウェブアプリケーションでは、ファセットの最も一般的なデザインは左側のパネルに表示することだが、上や右のパネルに表示することもある。
仕様や OPDS グループからの UI に関する公式の推奨項目はないが、ファセットを扱う最良の方法は、(ターゲットとするプラットフォームで)利用者が最も期待する箇所に表示することだ。
Feedbooks にはファセットを持つ動的なカタログがあり http://www.feedbooks.com/catalog で利用できる。
Bluefire Reader はファセットをサポートした最初の OPDS クライアントだ(以下のスクリーンショットを参照)。
The Internet Archive と Inkstone Software はどちらもファセット化検索と閲覧を最初にサポートしたサービスになるはずだ。