Hebikuzure's Tech Memo

2009年5月17日

Windows 7 のアクセラレータ プラットフォーム

Filed under: Internet Explorer — hebikuzure @ 10:11 AM

Accelerator Platform on Windows 7
http://blogs.msdn.com/ie/archive/2009/05/07/accelerator-platform-on-windows-7.aspx

IE Blog からの試訳を続けます

以下の文章は IE Blog の 5/7 の記事 Accelerator Platform on Windows 7 を hebikuzure が私的に試訳したものです。翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Windows 7 のアクセラレータ プラットフォーム

IE8 に向けてアクセラレータの設計を行っていた際、数多くのシナリオについて心がけていました。第一に、私たちは「コピーしてページを移動して貼り付ける」というあまりによく利用されすぎているユーザーの行動パターンに注目し、コンテンツとサービスの間で一連の操作ができるようにしてユーザーのフラストレーションと作業時間を減らそうと決定しました。たとえば古くからの例である地図検索では、ユーザーはページに埋め込まれた住所を見つけ、地図サービスのページに移動する代わりにプレビュー ウィンドウを使いその場で地図を見る事ができます。

私たちは IE での解決策ができた事に満足しましたが、さらにそこから一歩退いて考えてみました。“ユーザーは住所が書かれているのを見つけたプログラムが何であるか気に掛けるだろうか? もし文書を Microsoft Word で見ていて住所を見つけた場合も地図検索のシナリオは同様であるべきではないか?”

私たちはその通りだと考えました。そこで Windows 7 向けにアクセラレータ プラットフォームを作成しました。アプリケーションから明示的にプラットフォームを呼び出せば、XML に関する実装に煩わされることなく IE と同様にすべてのアクセラレータにアクセスできます。これにより、シームレスで強力なエクスペリエンスをユーザーに提供する事へ注力できます。

すでにこのプラットフォームに関する開発者向けのホワイトペーパーを作成し、MSDN にはすべてのインターフェイスとメソッドについての重要なドキュメントが掲載されていますので、このブログ記事では技術的な詳細には触れません。その代わり、プラットフォームの持つ能力について簡単に説明し、動作例を示したいと思います。

機能

アクセラレータ プラットフォームの優れている点の一つは、IE がアクセラレータと対話するのと同じ能力が与えられるという事です。API は十分な柔軟性があり、プログラムがプラットフォームとどのように対話するのかさまざまな程度にカスタマイズできます。

このプラットフォームを使って作業する際に関心を持つであろう 3 つの大きな枠組みがあります。

  • Enumeration (列挙)
  • 実行 (Execution)
  • プレビュー (Preview)

列挙は非常に単純です。すべてのアクセラレータを一巡し、必要に応じて提示するだけです。例えば IE では、エンド ユーザーがアクセラレータを探す作業の補助として “区分” と “既定のアクセラレータ” のシステム (ここで説明しています) を利用します。

実行もまた簡単です。これにより新しいブラウザーのウィンドウ (IE である必要はありません) を起動して必要なデータを渡すだけです。

プレビューはこれらよりすこし複雑で、アプリケーションがプレビュー ウィンドウを表示するための何らかのユーザー インターフェイスを提供する必要があります。とはいえプレビューはすべてのアプリケーションにとって必要ではありませんから、特に追加のユーザー インターフェイスを統合する事が困難な場合、これを含めなければならない理由はありません。

ベスト プラクティス

プラットフォームは開発のための足場であるので、私たちはアクセラレータ プラットフォームが非常に柔軟であるよう、慎重に作成しました。アプリケーションとその実装の中でどのような種類のユーザー エクスペリエンスが最善であるのか、開発者が決定できます。例えばユーザーのアクセラレータを、まったく構造化することなく単一のメニューで列挙したいのであれば、そうする事は完全に可能です。もっともこれは最善のアイデアとは言えませんが。

ここでは具体的にどうするのかの説明はしませんが、お伝えしたい要点は、アクセラレータによく慣れた多くのユーザーは、アクセラレータを操作する際に特定のデザインの典型を予期するという事です。そのため開発上の特別のニーズにより IE での動作と異なる事が必要であったとしても (たとえば “検索” アクセラレータだけ列挙する) 、可能な限り IE のモデルを拠り所とする事をお勧めします。これは他には何も無くとも一貫性のためです。

実例

特徴的なブログの投稿はデモ無しでは完結しないでしょうから、このプラットフォームのためのテスト ケースとして作成したものを例として示しましょう:

これは列挙と実行のためにプラットフォームを呼び出す Word アドインです。私はプレビューを追加せずに終えていますが、あなた自身のプログラムではプレビューを含められるでしょう。もし上掲のようなプログラムの実装について知りたいなら、ぜひ前述のホワイトペーパーをチェックしてください。

Windows 7 のアクセラレータ プラットフォームはユーザーに有益なサービスを提供するための強力なツールです。皆さんが開発したクールなプログラムを待ちかねています。

Jon Seitel
プログラム マネージャー


コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。