xin9le.net

Microsoft の製品/技術が大好きな Microsoft MVP な管理人の技術ブログです。

Windows 8.1での検索の仕様変更

Windows 8におけるストアアプリには、OSとアプリケーションで一貫性のあるUX (User Experience : ユーザー体験) を提供するためのデザインガイドラインが存在します。Windows 8のプレビュー版が公開されて以降、多くのカンファレンスやセミナーでこの新しいデザインやデザインガイドラインに基づいたアプリケーション開発について語られてきました。僕自身もWCAF vol.9で "Windows 8 UX Guidelines" と題して、そのデザインガイドラインについてお話したことがあります。

その中でもよく扱われていたトピックとして "チャーム" があります。画面の右端をスワイプしたり、マウスカーソルを画面右上または右下に移動したときに出てくるアレです。

Charm

"検索 / 共有 / デバイス / 設定" の4つがありますが、これらは「多くのアプリケーションに実装される共通の概念でしょう」という考えの下で置かれており、アプリケーションもチャーム上のボタンと協調的に動作するようにすることで「OSとアプリケーションが一体となって全体として一貫性のあるUXを提供する」というのが狙いだと聞いた記憶があります。

検索の仕様変更

Windows 8のチャームは基本的に "文脈依存" です。チャーム上で検索をした場合には現在開いているアプリ/画面の検索を、設定を押下した場合も現在開いているアプリ/画面の設定を、といった感じです。チャーム上のボタンとアプリの協調的な連携はコントラクトと呼ばれる機構で実現されます。アプリに検索コントラクトが実装されていると、チャームの検索対象の一覧にアプリ名前が表示されるようになります。以下の図は、ストアアプリに対してチャームから検索をかけたものです。

SearchApps

Windows 8.1ではチャームの検索が既定で "すべての場所" に変更されました。実行するとローカルファイル、インストールされているアプリ、Webなどあらゆる場所からの検索結果を表示してくれます。検索場所を選ぶ必要がないので、ザックリと検索をしたい場合の手間が大幅に軽減されました。

NewSearch

検索コントラクトを実装した既存アプリ

Windows 8のUXガイドラインには、アプリ内検索について次のような記述があります。(参考 : 検索のガイドラインとチェックリスト)

検索の適切な使用

検索チャームを活用して、ユーザーがアプリのコンテンツを検索できるようにする。 アプリのコンテンツを検索するために検索固有のUIを作成する代わりに、検索チャームを活用してください。

アプリ内検索のベストプラクティスは検索コントラクトの実装なので、アプリ内に検索ボックスを置くようなことはしないでね」ということです。ストアアプリ開発については、当初から「ガイドラインに沿わないと審査通らないよ」に類する半ば脅しのようなことも言われていたので、ガイドラインに沿った作りをしている方が多いと思います。僕も開発体験で作ったMetroBookmarkでアプリ内検索をする際に検索コントラクトを実装しました。

しかし、この検索コントラクトを実装したアプリをWindows 8.1で利用しようとすると (検索チャームの挙動が変わったことにより) 既定ではアプリ内検索ができなくなります。Windows 8.1でアプリ内検索をするには、アプリ実行中に明示的に検索対象として選択します。(ちょっと...というか、だいぶめんどくさい...)

MetroBookmark

アプリ内検索のアレコレ

アプリ内検索までのステップが増えたわけですが、Windows 8.1 Previewで標準搭載のいくつかのストアアプリの検索機能がどうなったか確認してみます。以下はWindows 8世代では検索コントラクトが実装されているものです。

Music

Video

Store

Travel

アプリ内に検索ボックスが配置されている...!!?チャームからの検索機能もなくなってるし、デザインガイドラインどうなったの...。Windows 8.1の正式リリースに向けて (ガイドラインも含め) このあたりが最終的にどうなるのか、期待と不安とが交錯しますね!