(57)【特許請求の範囲】
【請求項１】
ユーザがカスタマイズできるコンテンツのためのユーザーインターフェースを提供するコンピュータプログラムであって、
第１のアプリケーションの第１のユーザーインターフェースと第２のアプリケーションの第２のユーザーインターフェースとを含む複数のユーザーインターフェース上で提示するために１つのコンテンツソースからコンテンツを提供するよう構成され、また該コンテンツを表す複数情報項目のリストを提供するよう成された１つのプラグインモジュールと、ここで、該プラグインモジュールは、前記第１のユーザーインターフェースによる複数情報項目及び前記第２のユーザーインターフェースによる複数情報項目に対する許容されるユーザー相互作用をそれぞれ特定し、且つ、各ユーザーインターフェースは、前記コンテンツを表す複数情報項目のリストを提示し且つ該複数情報項目に対するユーザーの相互作用を許容するものであり、
前記第１のユーザーインターフェース上で前記プラグインモジュールからの前記複数情報項目を提示し、該第１のユーザーインターフェースにおける前記複数情報項目に対して前記プラグインモジュールによって特定された前記ユーザ相互作用を管理するよう構成された第１のソフトウエア開発キットであって、前記複数情報項目の提示と前記ユーザ相互作用は該第１のソフトウエア開発キット内の命令群によって実行される前記第１のソフトウエア開発キットと、
第２のユーザーインターフェース上で前記プラグインモジュールからの前記複数情報項目を提示し、該第２のユーザーインターフェースにおいて前記複数情報項目に対して前記プラグインモジュールによって特定された前記ユーザ相互作用を管理するよう構成された第２のソフトウエア開発キットであって、前記複数情報項目の提示と前記ユーザ相互作用は該第２のソフトウエア開発キット内の命令群によって実行される前記第２のソフトウエア開発キットと
を備えるコンピュータプログラムコードをコンピュータに実行させるためのコンピュータプログラム。
【請求項２】
前記ソフトウエア開発キットは、前記プラグインモジュールに対応するパネル内に前記各プラグインモジュールに対する前記情報項目を提示するよう構成される、
請求項１のコンピュータプログラム。
【請求項３】
前記ソフトウエア開発キットは、コンピュータデスクトップ上のサイドバー内に前記情報項目を提示するよう構成される、
請求項１のコンピュータプログラム。
【請求項４】
前記ソフトウエア開発キットは、ユーザがカスタマイズするホームページ内で前記情報項目を提示するよう構成される、
請求項１のコンピュータプログラム。
【請求項５】
前記プラグインモジュールの内の少なくとも一つは、ユーザの行動を観察し、前記ユーザの行動に基づいて関連情報項目を識別することにより、情報項目のリストを少なくとも一部取得するよう構成される、
請求項１のコンピュータプログラム。
【請求項６】
ユーザがカスタマイズできるコンテンツのためのユーザーインターフェースを提供するコンピュータプログラムであって、
それぞれのプラグインモジュールが、複数のユーザーインターフェース上で提示するために１つのコンテンツソースからコンテンツを提供するよう構成され、またコンテンツを表す複数情報項目のリストを提供するよう構成され、且つ、各ユーザーインターフェースによる複数情報項目に対する許容されるユーザー相互作用をそれぞれ特定するよう構成されている、一セットのプラグインモジュールと、ここで、各ユーザーインターフェースは、前記コンテンツを表す複数情報項目のリストを提示し且つ該複数情報項目に対するユーザーの相互作用を許容するものであり、
それぞれのソフトウエア開発キットが、対応するプラグインモジュールから前記複数情報項目と１以上の前記ユーザー相互作用を受け取り、前記複数のユーザーインターフェース中の対応する１ユーザーインターフェース上で、対応する前記プラグインモジュールからの前記複数情報項目を提示し、且つ、該対応する１ユーザーインターフェースにおける前記複数情報項目に対して該対応する前記プラグインモジュールによって特定された前記ユーザ相互作用を管理するよう構成された、複数のソフトウエア開発キットであって、前記複数情報項目の提示と前記ユーザ相互作用は各ソフトウエア開発キット内の命令群によってそれぞれ実行される前記複数のソフトウエア開発キットと、
を備えるコンピュータプログラムコードをコンピュータに実行させるためのコンピュータプログラム。
【請求項７】
前記ユーザーインターフェースがサイドバーアプリケーションである、
請求項６のコンピュータプログラム。
【請求項８】
前記ユーザーインターフェースがウェブページである、
請求項６のコンピュータプログラム。
【請求項９】
各ユーザーインターフェースが、異なるターゲット装置上で実行されるよう成されている、
請求項６のコンピュータプログラム。
【請求項１０】
一つ以上のプラグインモジュールからのコンテンツを表示するためのユーザーインターフェースを提供するためのコンピュータプログラムであって、
複数のプラグインモジュールのそれぞれから一セットの情報項目を受け取ることと、ここで、各プラグインモジュールは、複数のユーザーインターフェース上で提示するために１つのコンテンツソースからコンテンツを表す複数情報項目のリストを提供するよう構成され、且つ、各ユーザーインターフェースによる複数情報項目に対する許容される１以上のユーザー相互作用をそれぞれ特定するよう構成され、各ユーザーインターフェースにおける前記複数情報項目の提示と該複数情報項目に対して該プラグインモジュールによって特定された前記ユーザ相互作用とが対応するソフトウエア開発キットによって管理されるようになっており、
前記情報項目に関連したユーザ相互作用を受け取ることと、
各ユーザーインターフェースにおいて前記複数情報項目を提示することと該複数情報項目に対する前記プラグインモジュールによって特定された前記ユーザ相互作用とを、対応するソフトウエア開発キットによって管理することであって、前記複数情報項目の提示と前記ユーザ相互作用は該対応するソフトウエア開発キット内の命令群によって実行されるようになっていることと
を含む手順を実行するためのコンピュータプログラムコードをコンピュータに実行させるためのコンピュータプログラム。
【請求項１１】
前記ユーザーインターフェースがサイドバーアプリケーションである、
請求項１０のコンピュータプログラム。
【請求項１２】
前記ユーザーインターフェースがウェブページである、
請求項１０のコンピュータプログラム。
【請求項１３】
前記方法は更に、
各プラグインモジュールに対する前記ユーザーインターフェース上のパネルを作成し、各パネルは、前記対応するプラグインモジュールに対する前記情報項目を含むこと、を含む
請求項１０のコンピュータプログラム。
【請求項１４】
前記プラグインモジュールの内の少なくとも一つは、ユーザの行動を観察し、前記ユーザの行動に基づいて関連情報項目を識別することにより、情報項目のリストを少なくとも一部取得するよう構成される、
請求項１０のコンピュータプログラム。
【請求項１５】
ユーザがカスタマイズできるコンテンツに対してユーザーインターフェースを提供するためのコンピュータプログラムであって、
それぞれのプラグインモジュールが、複数のユーザーインターフェース上で複数情報項目のリストを提供し且つ各ユーザーインターフェース上の該複数情報項目に対する許容されるユーザ相互作用をそれぞれ定義するよう構成された、一セットのプラグインモジュールと、ここで、各ユーザーインターフェースにおける前記複数情報項目の提示と該複数情報項目に対するユーザ相互作用とが対応するソフトウエア開発キットによって管理されるようになっており、
前記プラグインモジュールから前記複数情報項目のリストおよび該複数情報項目に対して前記プラグインモジュールによって定義された前記許容されるユーザ相互作用を受け取るよう構成されるサイドバーキットであって、前記複数情報項目の提示と該複数情報項目に対する前記ユーザ相互作用は該サイドバーキット内の命令群によって実行され、サイドバーのパネル内に各プラグインモジュールからの前記複数情報項目を表示するための第１セットのヘルパーオブジェクトと、前記定義された許容されるユーザ相互作用に基づいて前記情報項目とのユーザ相互作用を管理するための第２セットのヘルパーオブジェクトとを備える前記サイドバーキットと、
を備えるコンピュータプログラムコードをコンピュータに実行させるためのコンピュータプログラム。
【請求項１６】
更に、
前記プラグインモジュールからの前記複数情報項目のリストおよび前記許容されるユーザ相互作用を受け取るよう構成されるウェブページキットであって、ウェブページのパネル内に各プラグインモジュールからの前記複数情報項目を表示するための第１セットのヘルパーオブジェクトと、前記定義された許容されるユーザ相互作用に基づいて前記複数情報項目とのユーザ相互作用を管理するための第２セットのヘルパーオブジェクトとを備えるウェブページキットを備える、
請求項１５のコンピュータプログラム。
【請求項１７】
更に、
前記プラグインモジュールからの前記複数情報項目のリストおよび前記許容されるユーザ相互作用を受け取るよう構成されるソフトウエア開発キットであって、コンピュータシステム以外のターゲット装置上に、前記複数情報項目を表示し、コンピュータシステムとのユーザ相互作用を管理するよう構成されたソフトウェア開発キット、を備える、
請求項１５のコンピュータプログラム。
【請求項１８】
前記プラグインモジュールの内の少なくとも一つは、ユーザの行動を観察し、前記ユーザの行動に基づいて関連情報項目を識別することにより、複数情報項目のリストを少なくとも一部取得するよう構成される、
請求項１５のコンピュータプログラム。
【請求項１９】
ユーザーインターフェースのためにプラグインモジュールによって複数情報項目を取得するためのコンピュータによって実行される方法であって、
ローカルマシンによって、該ローカルマシン上のユーザの行動を観察することと、前記行動は、前記ローカルマシン上のコンテンツを見ることを含み、
前記ローカルマシンによって、見ているコンテンツを解析することと、
前記ローカルマシンによって、前記解析に基づいて関連情報を識別することと、
前記ローカルマシンによって、１つのプラグインモジュールのための一つ以上の新規情報項目として、前記識別した関連情報を追加することと、ここで、前記１つのプラグインモジュールは、複数のユーザーインターフェース上で複数情報項目のリストを提供し且つ各ユーザーインターフェース上の該複数情報項目に対する許容されるユーザ相互作用をそれぞれ定義するよう構成され、各ユーザーインターフェースにおける前記複数情報項目の提示と該複数情報項目に対して定義された前記ユーザ相互作用とが対応するソフトウエア開発キットによって管理されるようになっており、
前記ユーザーインターフェース内の表示のために前記プラグインモジュールと関連する前記複数情報項目を提供することであって、前記ユーザーインターフェースにおける前記複数情報項目の提示及び該複数情報項目に対して前記プラグインモジュールによって定義された前記ユーザ相互作用が該ユーザーインターフェースのソフトウエア開発キット内の命令群によって実行されるようになっていることと
で構成される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年８月１９日出願の、出願番号第６０／７０９，６５３号の米国特許仮出願の特典を請求し、その全文を引用して本明細書に組み込む。
【０００２】
本発明は、一般に、コンピュータソフトウエアに関し、より詳細にはサイドバーアプリケーション等の一つ以上のアプリケーションのユーザーインターフェース内で情報コンテンツを表示するためのプラグインモジュールを利用するコンピュータソフトウエアアーキテクチャに関する。
【背景技術】
【０００３】
各種ソフトウエアアプリケーションは、幾つかの異なるソースからのコンテンツを、ユーザが蓄積し、編成し、閲覧できるようにするユーザーインターフェースを備えている。そのようなアプリケーションは、デスクトップ環境で実行され、ユーザーインターフェース内にコンテンツを提示するサイドバーアプリケーションを含む。ユーザは、サイドバー内でコンテンツ、そのフォーマットおよび他の提示属性をカスタマイズできるのが普通である。ユーザがコンテンツをカスタマイズできるもう一つの形式のユーザーインターフェースは、個人のホームページ等のウェブページであり、ユーザはその中で、インターネットからのコンテンツを選択し、ウェブブラウザを介して表示できる。この方法で、サイドバーアプリケーション、個人のウェブページ、および他の形式のユーザーインターフェースは、ユーザ個々人に関連する一層有用でかつ状況に応じた情報を提示できる。
【０００４】
コンテンツのカスタマイズを可能にするこれらユーザーインターフェースの開発者は、ユーザーインターフェース上に表示されるコンテンツの全てまたは何かを必ずしも提供しなくてもよい。大抵の場合、サードパーティのソフトウエア開発者に、これらのアプリケーションで使用するためのコンテンツを提供するソフトウエアモジュールを作成させるようにすることが望ましい。例えば、サイドバーアプリケーションのメーカーは、ユーザの電子メール受信箱の内容、コンピュータシステムの現在の性能計測値、およびコンピュータシステム上に格納された写真のスライドショー等の、標準形式のコンテンツをサイドバーアプリケーションに提供できる。しかし、サイドバーアプリケーションの利用度を上げるために、サイドバーアプリケーションは、サイドバーアプリケーションの開発者またはサードパーティ開発者により作成される「プラグイン」モジュールからのコンテンツを受け入れることもできる。例えば、インターネット上の天気情報のプロバイダは、選択した天気情報をオンラインで取得し、その情報をサイドバーのユーザーインターフェースを通じて提示するプラグインモジュールを作成することができる。言うまでもなく、他の形式の多くのサードパーティコンテンツモジュールを、他の多くの有用な目的のために開発することができる。
【０００５】
プラグインアーキテクチャは、サイドバーおよび他の形式のユーザーインターフェースのために存在しており、サードパーティコンテンツ開発者は、主アプリケーションと相互作用するプラグインモジュールを用いてコンテンツを提供する。この文脈では、プラグインモジュールは、コンテンツを取得し、主アプリケーションのユーザーインターフェースを介して、コンテンツをユーザに提示するソフトウエアモジュールである。既存のプラグインアーキテクチャは、基本的な描画コマンドおよびユーザ入力メッセージを提供し、プラグインモジュールのソフトウエアコードによってそれらが使用されて、ユーザーインターフェース上のプラグインのコンテンツの提示およびそれとの相互作用を管理することができる。これらのプラグインモジュールは、コンテンツ表示およびユーザ相互作用を管理するので、プラグインは、特定形式のユーザーインターフェースのために、場合によっては、特定のターゲット装置のために開発される。従って、サイドバーアプリケーションのために開発されたプラグインは、ウェブページのような他のユーザーインターフェース、またはＷＡＰブラウザを実行している携帯電話等の他の装置にコンテンツを提供するのには適さないことがある。
【発明の開示】
【０００６】
ユーザがカスタマイズするコンテンツのためのユーザーインターフェースは、一つ以上のプラグインモジュールが、そのユーザーインターフェースにコンテンツを提供できるようにするプラグインアーキテクチャを用いる。ユーザーインターフェースは、サイドバー、ウェブページ、または各種リソースからのコンテンツをユーザに編成させる他の適切な任意のユーザーインターフェースとすることができる。ユーザーインターフェースは、コンテンツの表示を処理し、そのコンテンツとのユーザ相互作用を管理し、従って、プラグインモジュールからこれら機能を抜き出す。この方法において、プラグインモジュールは、コンテンツを提供でき、場合によっては、表示およびユーザーインターフェース内で行われるコンテンツとのユーザ相互作用を管理せずに、コンテンツと許容されるユーザ相互作用を定義できる。従って、プラグインモジュールは、装置と無関係とすることができ、場合によっては他のインターフェースおよび／または他の装置内で、同一コンテンツまたは対応するコンテンツを表示するために使用できる。次いで、複数の同一プラグインがコンテンツを、コンテンツを受け取るよう開発され、各インターフェースおよびそのインターフェースが実行される装置に対して適切に表示およびコンテンツとの相互作用を管理するよう開発される他の形式のインターフェースに、提供することができる。
【０００７】
一実施の形態では、コンピュータプログラム製品が、ユーザによるカスタマイズのためのユーザーインターフェースを提供する。本製品は、一セットのプラグインモジュールを含み、それぞれが情報項目リストを提供し、場合によっては、情報項目との許容されるユーザ相互作用の定義を提供する。更に、本製品は、対応するプラグインモジュールからの情報項目を各パネルが含むように、プラグインモジュールのためのパネルを表示するユーザーインターフェースモジュールを含む。ユーザーインターフェースモジュールは、プラグインモジュールが管理しなくてもすむように、パネル内の情報項目とのユーザ相互作用を管理する。ユーザーインターフェースモジュールは、サイドバー、ウェブページ、またはユーザがカスタマイズするコンテンツの提示を可能にする任意の他のユーザーモジュールに対して設計することができる。
【０００８】
一つ以上のプラグインモジュールは、ローカルシステム上でのウェブ閲覧または文書との相互作用を含むユーザ活動に基づいて、自動的にそれらコンテンツを取得し、実装させるように設計されてもよい。この特長は、ユーザによる最小限の手動カスタマイズにより、プラグインモジュールが関連コンテンツをユーザに提供できる各種の応用が可能である。
【０００９】
本概要で説明した特長および利点、および以下の詳細な説明は全てを包含してはいない。多くの追加の特長および利点は、当該分野ぶ精通する者にとって、明細書、およびそのクレームから明らかとなろう。
【００１０】
【００１１】
【００１２】
【００１３】
【００１４】
添付図面は、説明だけを目的として本発明の各種実施の形態を示す。当該分野に精通する者には、以下の説明から、本明細書で説明する構造および方法の代替の実施の形態は、本明細書で説明する本発明の原理から逸脱することなく利用されてもよいことが容易に理解されよう。
【発明を実施するための最良の形態】
【００１５】
プラグインソフトウエアアーキテクチャ
図１は、一つ以上の異なるユーザーインターフェースにコンテンツを提供するための、サードパーティが開発するようなプラグインモジュール１１０の開発を支援するよう設計されるソフトウエアアーキテクチャを示す。図１に示すアーキテクチャにおいて、ユーザーインターフェースは、サイドバーアプリケーション１４０およびウェブページ１５０を含んでいるが、他の各種の形式のユーザーインターフェースを本発明の他の実施の形態で用いてもよい。サイドバーアプリケーション１４０、および個人のホームページのような幾つかの形式のウェブページ１５０を用いて、各種ソースからのコンテンツを収集し、編成し、そして提示してもよい。これらのソースは、ローカルコンピュータまたは付属格納装置上に格納されるコンテンツ、およびインターネット等のネットワークを介して取得できるコンテンツを含む。ユーザーインターフェースは、コンテンツを取得する能力を組み込んでいてもよいが、ユーザーインターフェースにコンテンツを提供するよう設計された一つ以上のプラグインモジュール１１０により、ユーザーインターフェースを強化してもよい。
【００１６】
この文脈においては、プラグインモジュール１１０は、一つ以上のユーザーインターフェースにコンテンツを提供するソフトウエアモジュールである。プラグインモジュール１１０は、クライアントコンピュータ上にインストールされ、クライアントコンピュータのユーザーインターフェースにコンテンツを提供するよう構成されるプログラムコードを備えていてもよい。図１に示すように、プラグインモジュール１１０は、一つ、または二つ以上のユーザーインターフェースにコンテンツを提供してもよい。これは、描画およびユーザ相互作用管理の機能をプラグインモジュール１１０から抜き出すように、プラグインモジュール１１０の設計を単純化することにより達成してもよい。従って、一実施の形態では、各プラグインモジュール１１０は、単に、一つ以上の情報項目のリストまたは他のセットとして表されてもよいコンテンツを定義するに過ぎない。情報項目は、静的テキスト、ハイパーリンク、ニュース記事、ウェブクリップ、電子メール、ファイル、アプリケーション、写真、ビデオ、オーディオ、および／またはユーザーインターフェースを介して提示することができる任意のものを備えていてもよい。このように、プラグインモジュール１１０を用いて、特定のユーザーインターフェースを介し、ユーザに多様性に富むコンテンツを提供してもよい。
【００１７】
各プラグインモジュール１１０は更に、情報項目により許容されるユーザ相互作用を定義してもよい。容易に理解できるように、許容されるユーザ相互作用は、提示されるコンテンツの形式に依存すると考えられる。例えば、情報項目がリンクを含む場合、許容されるユーザ相互作用は、リンク上をクリックしてそのリンクと関連するコンテンツを開くことであってもよい。その情報項目が電子メール、またはアプリケーションの場合、ユーザ相互作用は、対応する電子メール、ファイル、またはアプリケーションを開くことであってもよい。ビデオまたはオーディオでは、ユーザ相互作用は、ビデオまたはオーディオの再生を開始し、操作することであってもよい。多様な他のユーザ相互作用は、各プラグイン１１０の開発者によって定義されて他の所望する機能を達成してもよい。
【００１８】
プラグイン１１０がユーザーインターフェース内の描画およびユーザ入力機能管理を受け持たないので、これらのタスクには、他のコードが提供される。一実施の形態では、ソフトウエアアーキテクチャは、ソフトウエア開発キット（ＳＤＫ）１２０を含んでいる。ソフトウエア開発キット１２０は、クライアントコンピュータ上にインストールされるプログラムコードであって、プラグインモジュール１１０からコンテンツを受け取り、クライアントコンピュータのユーザーインターフェース上のそのコンテンツの表示を管理し、そのコンテンツとのユーザ相互作用を管理するよう構成されるプログラムコードを備えていてもよい。
【００１９】
一実施の形態では、ソフトウエア開発キット１２０は、サイドバーアプリケーションにコンテンツを提供するために各種のプラグインモジュール１１０が使用できるヘルパーオブジェクト１３０を含むソフトウエアアーキテクチャを定義する。一実施の形態では、ソフトウエア開発キット１２０は、描画および、ユーザーインターフェース上へのコンテンツの提示を管理するための一セットのヘルパーオブジェクト１３０と、入力処理およびコンテンツとのユーザ相互作用を管理するための別のセットのヘルパーオブジェクトとを含む。従って、ヘルパーオブジェクト１３０は、プラグインモジュール１１０を用いるユーザーインターフェース毎に、プラグインモジュール１１０の開発者が、これらの機能を提供しなくてもすむように、標準化されたグラフィック描画および入力処理機能を提供する。これによりサードパーティは、ユーザーインターフェース毎に設計する必要がなく、コンテンツおよび機能に焦点を絞ってプラグインモジュール１１０を設計できる。
【００２０】
一般的な意味では、ヘルパーオブジェクト１３０は、ユーザーインターフェース内に示されるコンテンツを追加、削除、および／または管理する簡易法を提供するという利点を有してもよい。コンテンツが項目のリストの形式をとる場合、各項目は既存のテンプレートに基づいてもよく、または全く新規の提示形式に基づいてもよい。従って、ヘルパーオブジェクト１３０は、電子メール、ニュース、ファイル、および他の形式のコンテンツ等の、共通に使用されるコンテンツにはテンプレートを提供し、その一方で、所望の場合他の方法でコンテンツを提示するフレキシビリティを開発者に許容させることができる。各種の実施の形態では、広範囲にわたる機能を実行するよう、様々なヘルパーオブジェクト１３０を定義してもよい。
【００２１】
図１の実施の形態では、プラグインモジュール１１０は、多数のユーザーインターフェース、サイドバーアプリケーション１４０およびウェブページ１５０にコンテンツを提供する。ユーザーインターフェースは、様々な方法でコンテンツを提示でき、そのコンテンツと様々な種類の相互作用させるので、様々なセットのヘルパーオブジェクト１３０を有する異なるソフトウエア開発キット１２０を有する。例えば、ソフトウエア開発キット１２０−Ａは、サイドバーアプリケーション１４０内でプラグインモジュール１１０からのコンテンツを提示する一セットのヘルパーオブジェクト１３０−Ａを含む。他方、ソフトウエア開発キット１２０−Ｂは、ウェブページ１５０内でプラグインモジュール１１０からのコンテンツを提示する一セットのヘルパーオブジェクト１３０−Ｂを含む。
【００２２】
ソフトウエア開発キット１２０−Ａおよび１２０−Ｂが、コンテンツおよびユーザ相互作用を定義するための対応するフォーマットを含むのが好ましい。これにより、プラグインモジュール１１０の設計が容易になる。次いでプラグインモジュール１１０を一回開発するだけで、多数のユーザーインターフェースと協働させることができる。利点としては、これにより、プラグインモジュール１１０が、後に開発されるユーザーインターフェースに対するコンテンツを提供することができるようにもなる。例えば、新規のユーザーインターフェースが開発されても、対応するソフトウエア開発キットは、既存のプラグインモジュール１１０からコンテンツを受け取り、新規ユーザーインターフェースに対してそのコンテンツを提示し、そのコンテンツとのユーザ相互作用を管理するよう設計することができる。
【００２３】
図２は、本発明の一実施の形態による、サイドバーアプリケーション１４０のためのユーザーインターフェースである。ソフトウエア開発キット１２０−Ａは、コンピュータ上のディスプレイ内のサイドバー２１０におけるプラグインモジュール１１０からコンテンツを提示する。サイドバー２１０は、プラグインモジュール１１０のコンテンツを提示できる一セットのパネル２２０を含む。一実施の形態では、各パネル２２０は、特定のプラグインモジュール１１０と対応する。パネル２２０は、多数の項目を含むか、単一の項目を含むか、または空であってもよいタイトル２４０および情報項目２３０のリストを含んでいてもよい。パネル２２０は、その都度、その情報項目２３０の一部を示すだけでもよい。図３は、例示のサイドバーのユーザーインターフェースのスクリーンショットである。
【００２４】
ユーザは、特定のユーザーインターフェースが許容する様々な方法でサイドバー２１０内のパネル２２０と相互作用してもよい。サイドバーアプリケーションのためのユーザーインターフェースの多くの特長については更に詳細に後述する。図２に示す実施の形態では、ユーザは、パネル２２０内の情報項目２３０を選択してその項目２３０の詳細なビュー２５０を引き出してもよい。詳細なビュー２５０（詳しくは後述）は、項目２３０についての追加情報を示してもよい。例えば、その項目が記事または電子メールの場合、詳細なビュー２５０は、スクロール可能なウィンドウ内で記事全体または電子メール全体を示してもよい。別の形式のコンテンツに対しては、他の相互作用が可能である。ユーザにコンテンツと相互作用させる別の方法は、イベントをトリガーすると示される通知ウィンドウ２６０を介する。例えば、プラグインモジュール１１０は、パネル２２０において電子メール受信箱のコンテンツを提示し、更に、新規の受信電子メールを通知ウィンドウ２６０内に提供してもよい。一実施の形態では、通知ウィンドウは、一定時間が経過しても手動で閉じられなければ、自動的に閉じるよう構成してもよい。
【００２５】
ウェブページ１５０も、同じように動作させてもよい。図４は、本発明の実施の形態によるウェブページ１５０のためのユーザーインターフェースを示す。ソフトウエア開発キット１２０−Ｂは、例えば、ウェブブラウザによって開かれるウェブページ４１０の場合、プラグインモジュール１１０からコンテンツを提示する。ソフトウエア開発キット１２０−Ｂは、パネル４２０内か、または各プラグインモジュール１１０のために作成される他のインターフェース内に、情報項目４３０を表示する。サイドバー２１０と同様に、ウェブページ４１０のインターフェース内のパネル４２０は、パネル４２０毎に、複数のプラグインモジュール１１０と対応するタイトルを含んでいてもよい。
【００２６】
これらの特長は様々なので、サイドバー２１０およびウェブページ４１０のユーザーインターフェースは、様々な方法でプラグインモジュールからのコンテンツを提示してもよい。更に、これらの能力も様々に異なるので、コンテンツとの様々なユーザ相互作用が、できたりできなかったりする。従って、別々のソフトウエア開発キット１２０−Ａおよび１２０−Ｂは、プラグインモジュール１１０がこれらの機能と関わらなくてもすむように、これらの提示およびユーザ相互作用をキット毎に管理するよう設計される。特定の所望のプラグインモジュール１１０を選択し、これらが提示するコンテンツを構成することにより、ユーザは関連するユーザーインターフェースに対してカスタマイズしたコンテンツを作成することができる。従って、ユーザは、一つのユーザーインターフェースに対して、一セットのプラグインモジュール１１０を選択し、構成し、次いで他のユーザーインターフェースにそのカスタマイズしたコンテンツを提示させてもよい。他のソフトウエア開発キットは、このカスタマイズされたコンテンツを他の対応するユーザーインターフェース内で実現できるようにする。
【００２７】
一実施の形態では、多数のソフトウエア開発キット１２０は、異なるターゲット装置におけるユーザーインターフェース上のコンテンツとのユーザ相互作用を表示し、管理するよう設計され、その場合、各ソフトウエア開発キット１２０は、特定装置上で実行され、特定ユーザーインターフェースのためのコンテンツを管理するよう設計される。例えば、一つのソフトウエア開発キットが、あるコンピュータシステム上で実行されるサイドバーに対して設計されてもよく、別のソフトウエア開発キットが、携帯電話または他の携帯装置等の別のターゲット装置上で実行されるユーザーインターフェースに対して設計されてもよい。後者のユーザーインターフェースは、例えば、その装置上で実行される専用アプリケーション、またはＷＡＰブラウザによって開かれるページとしてもよい。この方法で、ユーザがカスタマイズしたコンテンツに、様々なターゲット装置からアクセスすることができる。
【００２８】
動作において、一実施の形態では、プラグインモジュール１１０は、ヘルパーオブジェクト１３０を呼び出して項目２３０をパネル２２０に加え、サイドバー２１０内でその項目がユーザに表示されるようにする。項目２３０をクリックし、つまり開くか、またはその詳細を見る場合、対応するプラグインモジュール１１０は、入力処理ヘルパーオブジェクト１３０の内の一つからこのイベントの通知を受け取ることができる。このようなイベントに応答して、プラグインモジュール１１０は、特定情報を提供してその時点で表示するか、またはウェブページを開く等の別の適切な対応をとるようプログラミングされてもよい。しかし、サイドバーパネル内にその項目を描画するコードを含めずに、プラグインモジュール１１０は、ヘルパーオブジェクト１３０に情報および適切なコマンドを単に渡すだけとすることもできる。次いで、ヘルパーオブジェクト１３０は、パネル２２０にその項目を追加し、スクリーン上にそれを描画する。一実施の形態では、プラグインモジュール１１０は、ヘルパーオブジェクト１３０が提供する既定の振る舞いに優先し、所望の方法でパネル内にコンテンツを描画するための特定コードをプラグインモジュール１１０内に含めることにより、ソフトウエア開発キット１２０が処理を事前にプログラミングされていない様々な方法でコンテンツを表示できる。
【００２９】
一実施の形態では、ホストおよび登録メカニズムは、プラグインモジュール１１０から登録情報を受け取り、ユーザからの再起動または何らかの特別な対応がなくても、オンザフライでロードする。この方法において、ユーザーインターフェースのオプションから手動でプラグインモジュール１１０を有効にする必要はない。プラグインモジュール１１０が、ユーザーインターフェース（サイドバーアプリケーション１４０等）を登録すると、ユーザーインターフェース上にそれが自動的にロードされ、ユーザの手間が省ける。これにより、再起動するか、またはユーザがプラグインモジュール１１０のリストから一つのプラグインモジュール１１０を選択し、有効にするよう尋ねられるのが回避され、プラグイン開発者もユーザーインターフェース内のプラグインモジュール１１０を登録するための手間が省ける。ユーザーインターフェースアプリケーションに登録を済ませた後、次いで、コンポーネントのプラグインモジュール１１０は、対応するソフトウエア開発キット１２０を用いて、そのコンテンツを表示し、ユーザーインターフェースのフレームワークと相互作用することができる。
【００３０】
ユーザーインターフェースのこの項目に基づく手法により、プラグインモジュール１１０が、それらのコンテンツを容易に表示でき、ヘルパーオブジェクト１３０にユーザーインターフェース相互作用を任せることができるようになる。また、これにより、プラグインモジュール１１０は、そのコンテンツを送信して表示する場所、およびユーザーインターフェースレベルでユーザがそのコンテンツと相互作用する方法を気にしないで済むようになる。項目に基づくユーザーインターフェースにテンプレートを追加すると、機能性の再利用およびプラグイン開発者の仕事量低減が可能になる。また、これは、全てのプラグインモジュール１１０にわたって、かつそのコンテンツを表示している全ての出力装置内で、ユーザに一貫した体験を提供することにもなる。従って、ユーザーインターフェースは、さらに一貫性のある方法で多数のソースからのコンテンツを提供することができる。
サイドバーアプリケーション
【００３１】
デスクトップ環境のサイドバーアプリケーションは、使い易いグラフィカルユーザーインターフェースにおいて、有用な視覚的情報をユーザに提供するプラグインのためのホストとして作用する。図３は、本発明の実施の形態によるデスクトップの右側にドッキングされたサイドバーアプリケーションによる例示のスクリーンショットを示す。サイドバーは、デスクトップのどこにでも移動可能であり、スクリーンのどちらかの側に（または上部および底縁部にでも）ドッキングしてもよい。
【００３２】
サイドバーアプリケーションの一実施の形態では、パネルのタイトルバーをクリックしてそれをサイドバー内の所望の場所にドラッグすることにより、ユーザはサイドバー内にパネルを配置し直すことができる。パネルをドラッグしている間、パネルの透明なイメージが、移動中のパネルを表わすマウスカーソルに追従する。ユーザがマウスをあちこちに移動させると、サイドバー内の他のパネルが上下にスライドして、パネルが挿入されるスペースが空く。マウスボタンから手を離すと、この透明パネルは、その空きスペース内にスライドして、再配置が完了する。
【００３３】
別の実施の形態では、ユーザは、サイドバーアプリケーション内に表示される特定パネルのスクロール可能なポップアウトビューを見ることができる。スクロール可能なポップアウトビューにより、ユーザはより大きなパネルを見ることができる。この大きなポップアウトビューは、スクロール可能であり、元のパネル内の全ての項目を見ることができることが好ましい。一実施の形態では、ポップアウトビューは、対応するパネルと同一の情報（すなわち、同一の項目のリスト）を含むが、大きなサイズでスクロール機能があるので、ユーザはポップアウトビューにより、さらに詳細を見ることができる。パネルが一度に一つの項目しか表示しない場合、拡大画面によりパネル内の全ての項目のリストを示すようにしてもよい。別の方法では、ポップアウトビューは、より詳細な情報が表示されることを除いて、パネル内で利用可能な同一のビューである。一実施の形態において、パネルボタンをクリックすることにより、またはパネルタイトルバー自体をクリックすることにより、この拡大ポップアウトビューにアクセスしてもよい。このビューはサイズ変更可能であることが好ましく、情報量が、拡大した表示スペースの大きさを超える場合、スクロールバーが現れる。一実施の形態では、ポップアウトビューと対応するパネルが灰色となって、どのパネルがポップアウトしたかを示す。
【００３４】
別の実施の形態では、サイドバーアプリケーションが、特定パネルのための詳細ビューを提供する。詳細ビューは、ポップアウトビューと類似しているが、パネル内の特定項目に対する追加情報をもたらす。従って、サイドバーパネル内の項目の詳細ビューにより、ユーザはパネル内の任意の所与の項目についての詳細情報を見ることができてもよい。詳細ビュー内に示される追加情報は、項目の種類に応じて多様な形式を取ってもよい。例えば、詳細ビューは、電子メールのテキスト、写真の拡大ビュー、または週間天気予報を示してもよい。詳細ビューから、ユーザはタイトル上をクリックして、その項目自体を開くことにより、さらに詳細な情報にアクセスできてもよい。詳細ビューはパネル内の項目上をクリックすることによりアクセス可能であってもよい。再度クリックすると、ビュー内の閉じるボタンをクリックするのと同様、ビューを閉じる。詳細ビューは、横にスライドさせて開いてもよく、サイドバーの下にスライドさせて閉てもよい。詳細ビューは、詳細ビュー内の対応する項目に対して、選択され、定義された作用を実行する能力を提供してもよい。詳細ビューが対応する項目を覆う小さな灰色のバーは、詳細ビューを、特定のハイライトされた項目と結びつける視覚的なマークとして機能してもよい。
【００３５】
別の実施の形態では、パネルは、タイトルバー、およびパネル内の項目を含む本体部を備える。タイトルバーは、パネルを説明するアイコンおよびタイトル、ならびにパネル特有の機能にアクセス可能な各種ボタンを含んでもよい。このパネルは、多少にかかわらず情報を示せるようにサイズ変更可能であってもよく、パネル表示部がタイトルバーだけになるように最小化されてもよい。
【００３６】
一実施の形態では、パネルのタイトルバー上をクリックすると、パネルの最小化モードと通常モードとが切り替わる。通常モードでは、パネルのタイトルバーは、パネルのタイトルを、オプションでは関連アイコンを示し、本体部はパネル内の項目を示す。最小化モードでは、パネルの通常の本体部は隠されていて、パネル内の項目が、タイトルの代わりにタイトルバー上に表示される。一実施の形態では、パネル内に含まれる情報項目は、最小化されたタイトルバー上で回転して順に表示される。
【００３７】
サイドバーアプリケーションは、プラグインモジュールに、ユーザに対する警告を、サイドバーとは別の、サイドバーが隠れていても表示できる通知ウィンドウ内で表示させることができる。例えば、通知ウィンドウは、電子メールの受信、ニュース記事の報道、期限のリマインダ、または予定されていた会議、もしくはサイドバー上のパネルに関連して起きる何らかの他のイベント等の、特定イベントに応じて、ポップアップしてもよい。イベント毎に、通知ウィンドウは、視覚的またはテキスト形式で、タイトル、要約、および情報源を表示できる。各種のプラグインモジュールが同一の通知ウィンドウを用いて警告を表示することができるので、単一インターフェースを用いてサイドバー内のコンテンツに対する警告を提供することができるという利点がある。警告は各種の項目（電子メール、ニュース等）と関連させることができるので、警告が、例えば、アイコンまたは他の識別図形を用いて、警告の種類の視覚的指示を持たせることができる。通知警告ウィンドウと関連する多数の項目を、同一の通知ウィンドウ内で、例えば、矢印ボタンを用いてそれを移動させることによって、見ることができる。通知ウィンドウの一実施の形態を、図３のスクリーンショットの左上に示す。
【００３８】
通知ウィンドウは、ハンドルまたはタイトルバーをクリックしてドラッグすることにより、スクリーンのどこにでも移動可能であってもよい。一実施の形態では、多数の警告が存在する場合、警告は、スライドショー形式で一度に一つづつ示される。ユーザは、通知ウィンドウ上にマウスカーソルを置くことによりこのスライドショーを一時停止することができ、ページ移動ボタンをクリックして警告のスライドショー内を前後に移動できる。通知表示自体をクリックすることによりそのイベントに関連する項目を開いてもよい。例えば、新着電子メール警告では、クリックすることにより、その電子メール自体が開く。ユーザが通知表示を見たくない場合、閉じるボタンをクリックすると通知ユーザーインターフェースを直ちに閉じることができる。一実施の形態では、警告は、対応するサイドバーパネル内に通知を示すことができない場合、例えば、サイドバーが最小化されている場合にのみ示される。この機能はユーザが設定可能なオプションとしてもよい。
プラグインコンテンツの自動常駐
【００３９】
一実施の形態では、プラグインモジュールは、ユーザの行動を観察し、ユーザがアクセスするコンテンツを分析する。このコンテンツは、ブラウザにおいて表示されたウェブページ、アプリケーション内で開かれる文書のコンテンツ、またはユーザがそのコンピュータ上で用いている何らかの他のコンテンツ内の情報でもよい。プラグインの目的に応じて、プラグインは、パネル内で使用するために（例えば、画像またはアドレスを）、そのコンテンツ内の情報の特有の関連種類を、その情報がその中に存在する場合に、識別する。代替として、プラグインは、コンテンツを間接的に示す、ユーザが用いるかまたはユーザが取るアクションを分析してもよい。例えば、プラグインモジュールは、ユーザが、ＲＳＳフィードを含むＵＲＬにアクセスすることを認識してもよく、それに応じてプラグインモジュールがそのＲＳＳフィードからテキストおよび／または画像を引き出すことができる。
【００４０】
言うまでもなく、非常に多くのアプリケーションが、本明細書で説明する形式のプラグインモジュールの実施の形態により、可能である。一例において、プラグインモジュールは、ウェブページ、電子メール、および／またはユーザがブラウザ内で見る他の文書のコンテンツをレビューし、その内部にある全てのアドレスを自動的に検出する。プラグインモジュールは、クローラによる新規ウェブページまたは電子メール閲覧の通知を受けてもよい。アドレスが検出された場合、プラグインモジュールは、アドレスのマップを検索し、そのマップ情報をサイドバーまたは他のユーザーインターフェース内の対応するパネルに予めロードする。得られたパネル内のマップ画像をクリックして、完全に機能的なマップのウィンドウを提示してもよい。新規アドレスであると識別されると、プラグインモジュールはそのマップ情報を予めロードし、パネルに示す次のマップとして待ち行列に入れる。
【００４１】
一実施の形態では、元の項目を閲覧する機能はそのまま残されている。例えば、ユーザは、スライドショーから元の画像を（例えば、現在見ているウェブサイトのＲＳＳフィードからの画像をパネルが示す場合）、または写真がもたらされたウェブサイトを閲覧してもよい。
【００４２】
まとめ
本発明の実施の形態のこれまでの説明は、説明だけを目的として提示したが、網羅する意図はないし、開示した形そのままに本発明を限定する意図もない。当該分野に精通する者には言うまでもなく、多くの修正および改変が上記教示の範囲内で可能である。従って、本発明の適用範囲はこの詳細な説明によっては制限されず、本明細書に付随するクレームにより制限されることを意図している。
【００４３】
上記説明説明の幾つかの部分は、情報に関する操作のアルゴリズムおよびシンボル表現を用いて本発明を説明している。これらアルゴリズム的説明および表現は、データ処理分野に精通する者が、彼らの業務内容を他のその分野に精通する者に最も効果的に伝えるために用いる手段である。これらの操作は、機能的に説明、計算法として説明、または論理的に説明したが、コンピュータプログラムまたは等価の電気回路、マイクロコード等により実装されるものと理解される。さらに、一般性を失わずに、これらの操作の編成をモジュールと称すると便利なことが多い、ということは実証されている。説明した操作およびそれと関連するモジュールは、ソフトウエア、ファームウエア、ハードウエア、またはそれらの任意の組み合わせで具体化することができる。
【００４４】
さらに、様々な量、データ値、および演算を説明するために用いる用語は、言うまでもなく、適切な物理量と関連していて、これらの量に適用される単に便利な記号に過ぎない。以下の説明から明らかなように、特に断らない限り、本説明を通して、「処理」または「演算」または「計算」または「判定」等の用語を用いる説明は、コンピュータシステムのメモリもしくはレジスタ、または情報格納装置、伝送装置もしくはディスプレイ装置内部で物理量（電子量）として表されるデータを操作し、変換するコンピュータシステム、または類似の電子計算装置の作用および処理を指す。
【００４５】
本発明は、本明細書の操作を実行するための装置にも関連している。この装置は、要求される目的に合わせて特別に構築してもよく、またはコンピュータ内に格納されるコンピュータプログラムにより選択的に活性化され、再構成される汎用コンピュータを備えていてもよい。そのようなコンピュータプログラムは、限定はしないが、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクを含む任意の種類のディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気もしくは光カード、特定用途向け集積回路（ＡＳＩＣ）、または電子命令を格納するのに適した任意の種類の媒体等の、コンピュータ読取り可能な格納媒体に格納し、それぞれをコンピュータシステムバスに接続してもよい。さらに、本明細書で参照されるコンピュータには、単一プロセッサを含めてもよく、またはコンピュータの能力を増大させるためにマルチプロセッサ設計を利用するアーキテクチャとしてもよい。
【００４６】
本明細書で提示したアルゴリズムおよび表示は、何らかの特定コンピュータまたは他の装置と本質的な関連性をもたない。本明細書の教示によるプログラムを有する各種の汎用システムを用いてもよく、またはより特殊化した装置を構築して必要な方法ステップを実行すると便利になるであろう。多様なこれらのシステムに要求される構造は上記説明から明らかであろう。さらに、本発明の説明は、特定のプログラミング言語に言及していない。言うまでもなく、各種のプログラミング言語を用いて本明細書で説明したような本発明の教示を実装してもよく、どの特定言語へ言及しても、本発明の可能性および最良態様が開示される。
【００４７】
本発明は、無数のトポロジー上の広範囲なコンピュータネットワークシステムによく適合している。この分野では、大規模ネットワークの構成および管理は、インターネット等のネットワーク上の異なるコンピュータおよび格納装置に通信で結合される格納装置およびコンピュータを備える。
【００４８】
最後に、本明細書で用いる言語は原理的に、可読性および説明を目的として選択されていて、本発明の主題を画成または制限するために選択されてはいないということに留意されたい。従って、本発明の開示は、以下のクレームに述べる本発明の範囲を説明するよう意図されていて、制限するようには意図されていない。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態による、一セットのプラグインモジュールからユーザーインターフェース内にコンテンツを表示するための、ソフトウエアアーキテクチャの略図である。
【図２】本発明の実施の形態による、サイドバーアプリケーションのためのサイドバーのユーザーインターフェースである。
【図３】本発明の実施の形態によるサイドバーのスクリーンショットである。
【図４】本発明の実施の形態による、ウェブページのためのユーザーインターフェースである。
【図１】
0005618480.tif 000002
【図２】
0005618480.tif 000003
【図３】
0005618480.tif 000004
【図４】
0005618480.tif 000005