(57)【特許請求の範囲】
【請求項１】
インスタントメッセージ（ＩＭ）アプリケーションにおいて情報を提示するための方法であって、
前記ＩＭアプリケーションのメインインターフェースにおける複数のタブに関する属性情報を含むタブ構成ファイルをロードし、前記タブ構成ファイルは前記ＩＭアプリケーションの開始に応じてロードされ、前記タブ構成ファイルのロードは、前記属性情報の少なくとも一部を前記メインインターフェース内に表示することを含み、前記表示された前記属性情報の少なくとも一部は、前記複数のタブの少なくともサブセットのぞれぞれに関連付けられている識別情報を含み、
前記メインインターフェースに表示されている複数のタブの内の１つの選択を受信し、
前記タブ構成ファイルの情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つに対応する属性情報を取得し、前記複数のタブの内の前記選択された１つに対応する前記取得された属性情報は、前記複数のタブの内の前記選択された１つに関連付けられている拡張ウィンドウを作成するために用いられるように構成されており、
前記取得された属性情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つのための前記拡張ウィンドウを動的に作成し、
前記取得された属性情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つのコンテンツ情報を前記拡張ウィンドウに表示すること、
を備える、方法。
【請求項２】
請求項１に記載の方法であって、前記複数のタブの内の前記選択された１つの前記コンテンツ情報の前記拡張ウィンドウへの表示は、前記メインインターフェースが表示されるスクリーン上での前記拡張ウィンドウの位置情報を決定することを備える、方法。
【請求項３】
請求項２に記載の方法であって、前記拡張ウィンドウの位置情報の決定は、
前記メインインターフェースが配置される前記スクリーン上での境界情報を取得し、
前記メインインターフェースの境界から前記スクリーンの境界までの境界距離を算出し、
前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できるか否かを決定するために、前記境界距離を表示幅と比較し、
前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できる場合、前記領域に前記拡張ウィンドウを表示すること、
を備える、方法。
【請求項４】
請求項３に記載の方法であって、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できない場合、前記方法は、さらに、前記拡張ウィンドウを前記メインインターフェースに重ねて表示することを備える、方法。
【請求項５】
請求項１に記載の方法であって、前記タブ構成ファイルは、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む、方法。
【請求項６】
請求項５に記載の方法であって、さらに、ユーザによって修正されたタブ属性を受信した際に、対応するユーザ設定を前記ユーザタブ構成ファイルに格納することを備える、方法。
【請求項７】
請求項１に記載の方法であって、さらに、前記メインインターフェースのハンドルを有する前記拡張ウィンドウを構成し、前記拡張ウィンドウのハンドルを有する前記メインインターフェースを構成すること、を備える、方法。
【請求項８】
請求項７に記載の方法であって、さらに、前記ハンドル間のメッセージ転送を通して、前記メインインターフェースの制御ユニットと前記拡張ウィンドウの制御ユニットとの間の通信を確立することを備える、方法。
【請求項９】
請求項８に記載の方法であって、さらに、前記拡張ウィンドウ上で起こった事象について前記メインインターフェースの前記ハンドルを通して前記メインインターフェースに通知することを備える、方法。
【請求項１０】
請求項１に記載の方法であって、前記コンテンツ情報は、前記複数のタブの内の前記選択された１つに対応する、コンテンツに関連付けられているＵＲＬを含む、方法。
【請求項１１】
インスタントメッセージ（ＩＭ）アプリケーションにおいて情報を提示するためのシステムであって、
１または複数のプロセッサであって、
前記ＩＭアプリケーションのメインインターフェースにおける複数のタブに関する属性情報を含むタブ構成ファイルをロードし、前記タブ構成ファイルは前記ＩＭアプリケーションの開始に応じてロードされ、前記タブ構成ファイルのロードは、前記属性情報の少なくとも一部を前記メインインターフェース内に表示することを含み、前記表示された前記属性情報の少なくとも一部は、前記複数のタブの少なくともサブセットのぞれぞれに関連付けられている識別情報を含み、
前記メインインターフェースに表示されている複数のタブの内の１つの選択を受信し、
前記タブ構成ファイルの情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つに対応する属性情報を取得し、前記複数のタブの内の前記選択された１つに対応する前記取得された属性情報は、前記複数のタブの内の前記選択された１つに関連付けられている拡張ウィンドウを作成するために用いられるように構成されており、
前記取得された属性情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つのための拡張ウィンドウを動的に作成し、
前記取得された属性情報に少なくとも一部基づいて、前記複数のタブの内の前記選択された１つのコンテンツ情報を前記拡張ウィンドウに表示するように適合された１または複数のプロセッサと、
前記１または複数のプロセッサに接続され、前記プロセッサに命令を提供するよう適合された１または複数のメモリと、
を備える、システム。
【請求項１２】
請求項１１に記載のシステムであって、前記複数のタブの内の前記選択された１つの前記コンテンツ情報の前記拡張ウィンドウへの表示は、前記メインインターフェースが表示されるスクリーン上での前記拡張ウィンドウの位置情報を決定すること備える、システム。
【請求項１３】
請求項１２に記載のシステムであって、前記拡張ウィンドウの位置情報の決定は、
前記メインインターフェースが配置される前記スクリーン上での境界情報を取得し、
前記メインインターフェースの境界から前記スクリーンの境界までの境界距離を算出し、
前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できるか否かを決定するために、前記境界距離を表示幅と比較し、
前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できる場合、前記領域に前記拡張ウィンドウを表示すること、
を備える、システム。
【請求項１４】
請求項１３に記載のシステムであって、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できない場合、前記１または複数のプロセッサは、さらに、前記拡張ウィンドウを前記メインインターフェースに重ねて表示するよう適合される、システム。
【請求項１５】
請求項１１に記載のシステムであって、前記タブ構成ファイルは、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む、システム。
【請求項１６】
請求項１５に記載のシステムであって、前記１または複数のプロセッサは、さらに、ユーザによって修正されたタブ属性を受信した際に、対応するユーザ設定を前記ユーザタブ構成ファイルに格納するよう適合される、システム。
【請求項１７】
請求項１１に記載のシステムであって、前記１または複数のプロセッサは、さらに、前記メインインターフェースのハンドルを有する前記拡張ウィンドウを構成し、前記拡張ウィンドウのハンドルを有する前記メインインターフェースを構成するよう適合される、システム。
【請求項１８】
請求項１７に記載の方法であって、前記１または複数のプロセッサは、さらに、前記ハンドル間のメッセージ転送を通して、前記メインインターフェースの制御ユニットと前記拡張ウィンドウの制御ユニットとの間の通信を確立するよう適合される、システム。
【請求項１９】
請求項１８に記載のシステムであって、前記１または複数のプロセッサは、さらに、前記拡張ウィンドウ上で起こった事象について前記メインインターフェースの前記ハンドルを通して前記メインインターフェースに通知するよう適合される、システム。
【請求項２０】
請求項１１に記載のシステムであって、前記コンテンツ情報は、前記複数のタブの内の前記選択された１つに対応する、コンテンツに関連付けられているＵＲＬを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、あらゆる目的のために参照により本明細書に組み込まれる、２００９年５月２１日に出願された、発明の名称を「ＭＥＴＨＯＤ ＡＮＤ ＤＥＶＩＣＥ ＦＯＲ ＰＲＥＳＥＮＴＩＮＧ  ＴＡＢ  ＣＯＮＴＥＮＴＳ  ＩＮ  ＩＭ  ＳＯＦＴＷＡＲＥ（インスタントメッセージソフトウェアにおいてタブコンテンツを提示するための方法および装置）」とする中国特許出願番号２００９１０２０２８８３．３の優先権を主張する。
【０００２】
本発明は、インスタントメッセージ（ＩＭ）アプリケーションに関し、特に、ＩＭアプリケーションにおいてコンテンツを提示するための方法およびデバイスに関する。
【背景技術】
【０００３】
インスタントメッセージ（ＩＭ）は、ウェブポータルおよび電子商取引ウェブサイトによって用いられる極めて一般的な通信ソフトウェアである。ＩＭアプリケーションの例としては、Ｗｉｎｄｏｗｓ  Ｌｉｖｅ  Ｍｅｓｓｅｎｇｅｒ、Ｙａｈｏｏ  Ｍｅｓｓｅｎｇｅｒ、Ａｌｉ  Ｗａｎｇ  Ｗａｎｇ、Ｎｅｔｅａｓｅ  Ｐａｏ  Ｐａｏなどが挙げられる。それらは主に、ユーザが、インターネットを介してユーザの友人またはビジネスパートナを速やかに位置特定し、彼らとリアルタイムの会話を行い、双方向に情報をやり取りすることを可能にすることを意図している。さらに、既存のＩＭソフトウェアの多くには、データ交換、音声チャット、ネットワーク会議、電子メールなどの機能が統合されている。
【０００４】
図１は、ある既存のＩＭアプリケーションで用いられているグラフィカルユーザインターフェース（ＧＵＩ）の一例である。メインインターフェース１０は、マルチタブ領域１１および主提示領域１２を含む。タブ領域１１は、いくつかのタブ１３を含む。ＩＭソフトウェアのメインインターフェース１０上の表示制御部は、通常、アプリケーションの実行時に生成される。ユーザがタブの１つを選択すると、選択されたタブに対応して提示されるべきコンテンツが、主提示領域１２に表示される。このプロセスは、一般に、タブ切り替えと呼ばれる。いくつかの実装では、特別な表示コードが各タブに対してプログラムされる。表示コードは、メインインターフェースの表示制御コードに埋め込まれる。ユーザがタブを切り替えると、新たに選択されたタブの表示コードが呼び出され、そのタブのコンテンツが表示される。
【０００５】
この既存の実装は、いくつかの欠点を有する。例えば、タブ表示コードがメインインターフェースの表示制御コードに埋め込まれるため、プログラマは、タブ提示領域とメインインターフェースのインターフェース要素上のコントロールとの間の相互作用（インタラクション）、協調、および、論理的結合の問題を考慮しなければならない。したがって、メインインターフェースのコンテンツの変更は、タブコンテンツの提示に直接影響し、タブコンテンツの提示領域の変更も、メインインターフェースのレイアウトに影響するため、タブコードの実装が煩雑になる。また、現行の実装は、通常、結果として拡張性に乏しい。タブ領域１１にタブを追加またはタブ領域１１から削除る際、タブコンテンツだけでなくメインインターフェースのレイアウトも考慮しつつ、メインインターフェース１０に対応するコードを修正する必要がある。これには、プログラマがより多くの時間と労力を費やす必要があるため、ソフトウェアのエラーが発生しやすくなる。さらに、タブコンテンツを追跡するために、かなりのシステムリソースを充てる必要がある。タブコンテンツは、メインインターフェースのサブコンポーネントと見なされるため、タブコンテンツの提示領域は、メインインターフェースが作成された後に「コンタクトリスト」と共に作成される傾向がある。提示領域は隠されるが、さらなるシステムリソース（メモリ、ハンドルなど）が、プログラム実行中にも占有される。最後に、既存の実装に関わる強い結合は、アプリケーション開発の際に開発者でプログラミングタスクを分担する妨げとなりうる。
【図面の簡単な説明】
【０００６】
【図１】或る既存のＩＭアプリケーションで用いられているグラフィカルユーザインターフェース（ＧＵＩ）の一例を示す図。
【図２】ＩＭアプリケーションにおいて情報を提示するための処理の一実施形態を示すフローチャート。
【図３】ＩＭアプリケーションのインターフェースを表示すための処理の一実施形態を示すフローチャート。
【図４】本発明に従って、ＩＭアプリケーションのユーザインターフェース表示の一実施形態を示す図。
【図５】ＩＭソフトウェアを実装するためのシステムの一実施形態を示すブロック図。
【発明を実施するための形態】
【０００７】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【０００８】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【０００９】
図２は、ＩＭアプリケーションにおいて情報を提示するための処理の一実施形態を示すフローチャートである。処理２００は、パーソナルコンピュータ、携帯型デバイス（スマートフォンなど）、携帯情報端末（ＰＤＡ）デバイスなど、１または複数のプロセッサを含むコンピュータシステムに実装されてよい。
【００１０】
工程１１０では、メインインターフェース内の複数のタブに関連する属性情報を含むタブ構成ファイルが形成され、格納先に格納される。属性情報は、タブに提示されるコンテンツの情報（提示コンテンツ情報とも呼ぶ）を含む。いくつかの実施形態において、タブの提示コンテンツ情報は、タブに対応するユニバーサルリソースロケータ（ＵＲＬ）を含む。様々な実施形態において、属性情報は、さらに、タブの識別子（ＩＤ）、名称、表示タイトル、アイコン、および／または、任意の他の適切なプロパティ、タブの並び、タブがデフォルトで表示されるか否か、タブのデフォルトサイズなど、を含みうる。
【００１１】
いくつかの実施形態では、１つのタブ構成ファイルが、メインインターフェースのために構成される。タブ構成ファイルは、各タブの属性情報を格納する。この例では、タブ構成ファイルは、一連のユーザ定義タグを用いて属性情報を記述する拡張マークアップ言語（ＸＭＬ）ファイルである。ＸＭＬフォーマットは、拡張可能性および普遍性の特性を有しており、換言すると、ファイル内のデータの定義を容易に拡張可能であり、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ、Ｌｉｎｕｘ（登録商標）など、複数のプラットフォームで容易にファイルを共有することができる。タブ構成ファイルは、任意の適切なＸＭＬファイルジェネレータを用いて書かれてよい。この例において、タブ構成ファイルは、タブの順序に従って、それぞれのタブの属性情報を順番に格納する。各タブは、タブ識別子と関連付けられる。
【００１２】
ＩＭアプリケーションのメインインターフェースに新たなタブを追加するために、タブに対応する属性がタブ構成ファイルに格納される。タブの内の１つの属性情報に変更が生じると、タブ構成ファイル内の対応する属性情報は、その属性に関連するプログラムセグメント以外のセグメントに影響を与えることなく修正されうる。例えば、タブＭのタブＩＤが”＊＊＊”に設定された場合、メインインターフェースの表示に関わるプログラムコードを実行するためには、タブ構成ファイル内のタブ属性にＴＡＢＭＩＤ＝”＊＊＊”を単に格納し、メインインターフェースの表示に関わるすべてのプログラムコードセグメントにおいてタブＭのタブＩＤのために変数ＴＡＢＭＩＤを利用し、タブ構成ファイルからＴＡＢＭＩＤ＝”＊＊＊”を直接フェッチすれば足りる。
【００１３】
工程１２０では、タブ構成ファイルがロードされる。ＩＭソフトウェアが開始されると、ＩＭアプリケーションは、ロードされたタブ構成ファイルを構文解析して、タブの様々な属性と、表示されるメインインターフェースとを設定する。タブ構成ファイルは、通常、ＩＭソフトウェアが開始される時にロードされるが、タブ構成ファイルは、その他の状況でロードされてもよい。例えば、タブ構成ファイルは、タブが選択される時にロードされることもできる。
【００１４】
工程１２５では、メインインターフェース上のタブの１つがユーザによって選択され、その選択はＩＭアプリケーションによって受信される。
【００１５】
工程１３０では、タブ選択情報の受信後に、選択されたタブに対応する属性情報が、タブの拡張ウィンドウを動的に作成するためにタブ構成ファイルから取得される。拡張ウィンドウのデフォルトサイズ情報、拡張ウィンドウのタイトルバー情報、表示されるコンテンツなど、拡張ウィンドウの作成に必要とされる情報は、タブ構成ファイルからフェッチされる。
【００１６】
工程１４０では、タブの提示コンテンツ情報が、拡張ウィンドウに表示される。いくつかの実施形態では、タブの提示コンテンツ情報はＵＲＬを含んでおり、ＵＲＬと関連付けられたコンテンツが、拡張ウィンドウにレンダリングされて表示される。
【００１７】
タブ領域が選択され、拡張ウィンドウが開かれると、スクリーンにおけるメインインターフェースの位置情報がフェッチされ、スクリーン上の拡張ウィンドウの位置情報が決定される。いくつかの実施形態では、スクリーンにおけるメインインターフェースの位置にかかわらず、スクリーン内に開かれるウィンドウの完全な表示が確保される。開かれたウィンドウは、メインインターフェースの左に表示されてもよいし、スクリーンの左に完全な表示ができない場合にはメインインターフェースの右に表示されてもよい。新たに開かれたウィンドウは、完全な表示がメインインターフェースのどちら側にも不可能である場合には、メインインターフェースに重ねて表示されてもよい。
【００１８】
図３は、ＩＭアプリケーションのインターフェースを表示するための処理の一実施形態を示すフローチャートである。処理３００は、図２の工程１３０を実装するために用いられてよい。工程３０２では、スクリーン上に配置されたメインインターフェースの境界情報が取得される。この例では、メインインターフェースの左の境界および右の境界が取得される。工程３０４では、メインインターフェースの境界と、同じ側のスクリーンの境界との間の境界距離が算出され、タブ属性に従って決定される表示幅と比較される。メインインターフェースの左の境界または右の境界のいずれかが最初に選択されてよく、メインインターフェースの左（または右）の境界とスクリーンの左（または右）の境界との間の境界距離が算出され比較される。工程３０６では、比較に基づいて、メインインターフェースの左（または右）の境界とスクリーンの左（または右）の境界との間の領域に拡張ウィンドウを表示できるか否かが決定される。表示できる場合には、工程３１４において、その領域に拡張ウィンドウが表示され、表示できない場合には、右（右の領域がすでに選択されている場合には左）の境界距離が工程３０８において算出される。工程３１０では、メインインターフェースの右（または左）の境界とスクリーンの右（または左）の境界との間の領域に拡張ウィンドウを表示できるか否かが決定される。表示できる場合、制御は工程３１４に進み、この領域に拡張ウィンドウが表示される。表示できない場合、拡張ウィンドウは、メインインターフェースに重ねて表示される。
【００１９】
図４は、本発明に従って、ＩＭアプリケーションのユーザインターフェース表示の一実施形態を示す図である。拡張ウィンドウ４０２は、メインインターフェース４０４の左に表示されている。この例において、拡張ウィンドウは、メインインターフェースから独立しているので自由にドラッグすることが可能であり、拡張ウィンドウ内のコンテンツは、メインインターフェースの主提示領域に表示されたコンテンツ（例えば、コンタクトリスト）と同時に閲覧できる。ユーザは、タブを頻繁に切り替えてもよい。
【００２０】
別個のファイルがタブの属性情報を格納するために用いられるため、属性を修正する必要がある場合には、それに対応する値が、ファイルから取得され修正される。かかる設計は、より良好な拡張性につながり、タブコードの相互依存から生じるプログラムエラーを引き起こす可能性が低い。より重要なことに、その実装は、メインインターフェースの主提示領域にタブを表示する代わりに、選択されたタブに関連するコンテンツを別個に表示する拡張ウィンドウを生成するため、占有されるシステムリソースが大幅に低減される。
【００２１】
本実施形態において、タブ構成ファイルは、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む。システムタブ構成ファイルは、アプリケーションで利用可能なすべてのタブの属性情報を含む。より個人化されたサービスを提供するために、１または複数のユーザタブ構成ファイルが用いられる。ユーザタブ構成ファイルは、特定のユーザが利用できるタブの属性情報を含む。ユーザは、デフォルト選択からタブを追加または削除するよう選択できるため、異なるユーザは、異なるユーザタブ構成ファイルを有しうる。ＩＭアプリケーションは、システムタブ構成ファイルにアクセスすることが可能であり、最初に利用できるユーザタブ構成ファイルがない場合には、システムタブ構成ファイルのコピーに基づいてユーザタブ構成ファイルを作成する。修正されたタブ属性がユーザから受信されると、対応するユーザ設定がユーザタブ構成ファイルに格納される。
【００２２】
この例において、システムタブ構成ファイルは、Ｓｔａｂｃｏｎｆｉｇ．ｘｍｌという名称であり、ユーザタブ構成ファイルは、Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌという名称である。Ｓｔａｂｃｏｎｆｉｇ．ｘｍｌは、例えば、タブのＩＤ、タブの名称、タブのヒント、タブのＵＲＬ、タブのアイコン、タブの並び、どのタブがデフォルトで表示されるかなど、いくつかのタブを記述する情報を含む。Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌは、例えば、タブのＩＤ、タブの並びなど、ユーザにとって興味のあるタブの記述を含む。いくつかの実施形態では、特定ユーザのＩＤを有するディレクトリが作成され、このユーザのためのＵｔａｂｃｏｎｆｉｇ．ｘｍｌファイルがディレクトリに格納される。いくつかの実施形態では、単一のＵｔａｂｃｏｎｆｉｇ．ｘｍｌファイルが複数のユーザに対して用いられ、そのファイル内では、異なるユーザに従って情報が組織化される。
【００２３】
ＩＭソフトウェアが開始されると、Ｓｔａｂｃｏｎｆｉｇ．ｘｍｌがロードされ、その後、Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌがロードされる。Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌがない場合、表示は、Ｓｔａｂｃｏｎｆｉｇ．ｘｍｌに記述されたように提示され、現行のユーザのためのＳｔａｂｃｏｎｆｉｇ．ｘｍｌのコピーがユーザのＵｔａｂｃｏｎｆｉｇ．ｘｍｌとしてユーザのディレクトリに保存される。Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌがある場合、ユーザのＵｔａｂｃｏｎｆｉｇ．ｘｍｌに記述されたタブのみが、Ｕｔａｂｃｏｎｆｉｇ．ｘｍｌに記述されたように、そこに設定された通りのタブの並びで表示される。
【００２４】
ユーザがタブの１つを選択すると、選択されたタブの属性（名称、アイコン、ＵＲＬなど）が取得される。その後、拡張ウィンドウが動的に作成され、メインインターフェースの位置が取得され、拡張ウィンドウが適切な位置に表示され、拡張ウィンドウのアイコンおよびタイトルが設定され、ＵＲＬによって特定されたコンテンツが拡張ウィンドウに表示される。
【００２５】
ユーザが、タブ列におけるタブの順序を隠す動作、表示する動作、または調整する動作を実行すると、プログラムは、ユーザのＵｔａｂｃｏｎｆｉｇ．ｘｍｌを修正して、ユーザの設定を格納する。
【００２６】
いくつかの実装では、拡張ウィンドウおよびメインインターフェースの間に、親子関係が存在しない。したがって、拡張ウィンドウが作成される時、拡張ウィンドウは、メインインターフェースのハンドルを保持するよう設定され、メインインターフェースは、拡張ウィンドウのハンドルを保持するよう設定される。メインインターフェースと拡張ウィンドウとの間の通信を可能にするために、メッセージがハンドル間でやり取りされる。いくつかの実施形態において、メインインターフェースにおけるメインインターフェース制御ユニットおよび拡張ウィンドウにおける拡張ウィンドウ制御ユニットは、メッセージを操作するために用いられるオブジェクトである。
【００２７】
以下は一実装例において用いられる擬似コードを示す。
ＳｅｔＮｅｗＷｉｎｄｏｗＰｏｓｉｔｉｏｎ（ｐｏｉｎｔＮｅｗ）；
ＳｈｏｗＮｅｗＷｉｎｄｏｗ（）；
／／拡張ウィンドウとメインインターフェースとの間の通信メカニズム
／／メインインターフェースのハンドルはパラメータとして拡張ウィンドウに受け渡される
／／拡張ウィンドウが作成されると、
／／２つの独立したウィンドウは関連付けられる
ＳｅｔＭａｉｎＷｉｎｄｏｗＨａｎｄｌｅ（ｈＭａｉｎＷｎｄ）；
／／拡張ウィンドウは、メッセージをメインインターフェースに送信することによって何かを実行するようメインインターフェースに命令する
：：ＳｅｎｄＭｅｓｓａｇｅ（ｈＭａｉｎＷｎｄ，ｍｅｓｓａｇｅ，ｗＰａｒａｍ，ＩＰａｒａｍ）；
【００２８】
いくつかの一般的な通信シナリオについて説明する。１つのシナリオでは、拡張ウィンドウがユーザによって閉じられた後、メインインターフェース制御ユニットは、メインインターフェースのハンドルを通して閉じたことを通知され、対応するタブ状態を変更するようメインインターフェースを制御する。別のシナリオでは、メインインターフェースが最小化または閉じられた後、拡張ウィンドウ制御ユニットは、拡張ウィンドウのハンドルを通して最小化して閉じたことを通知され、拡張ウィンドウが最小化または閉じられるよう指示する。別のシナリオでは、メインインターフェースのタブの内の現在選択された１つが隠される時、拡張ウィンドウ制御ユニットは、拡張ウィンドウのハンドルを通してタブを隠したことを通知され、拡張ウィンドウを制御する。
【００２９】
図５は、ＩＭソフトウェアを実装するためのシステムの一実施形態を示すブロック図である。この例において、タブ構成ファイル２１は、それぞれのタブの属性情報を格納するよう適合される。属性情報は、タブの提示コンテンツ情報を含む。タブ構成ファイル２１は、ＩＭソフトウェアの一部である。ＩＭソフトウェアがウェブクライアントによってダウンロードされると、タブ構成ファイル２１もクライアントにダウンロードされ、クライアントの記憶ユニットに格納される。いくつかの実施形態において、タブ構成ファイルは、さらに、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む。タブ属性がユーザによって修正されると、対応するユーザ設定がユーザタブ構成ファイルに格納される。
【００３０】
システムは、マスタ制御ユニット２２と、メインインターフェース制御ユニット２３と、拡張ウィンドウ制御ユニット２４と、を含む。これらのユニットは、１または複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウエアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、ユニットは、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。ユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。ユニットの機能は、互いに統合されてもよいし、複数のサブユニットにさらに分割されてもよい。
【００３１】
この例において、マスタ制御ユニット２２、メインインターフェース制御ユニット２３、および、拡張ウィンドウ制御ユニット２４は、１または複数のプロセッサ上で実行されるソフトウェアモジュールとして実装される。マスタ制御ユニット２２は、ＩＭソフトウェアが開始された時にメインインターフェースを表示するために、タブ構成ファイルをロードしてメインインターフェース制御ユニット２３を開始するよう、および、タブの１つが選択された時に拡張ウィンドウ制御ユニット２４を開始するよう適合される。メインインターフェース制御ユニット２３は、メインインターフェースの表示を制御するよう適合される。拡張ウィンドウ制御ユニット２４は、タブ構成ファイルから対応する属性情報を取得し、タブの拡張ウィンドウを動的に作成し、拡張ウィンドウの表示を制御するよう適合される。
【００３２】
上述の実施形態は、理解を容易にするために詳細に説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例１：インスタントメッセージ（ＩＭ）アプリケーションにおいて情報を提示するための方法であって、前記ＩＭアプリケーションのメインインターフェースにおける複数のタブに関する属性情報を含むタブ構成ファイルをロードし、前記属性情報は、前記複数のタブに関連付けられた提示コンテンツ情報を含み、前記メインインターフェースの複数のタブの内の１つの選択を受信し、少なくとも前記タブ構成ファイルの情報に基づいて、前記複数のタブの内の前記選択された１つに対応する属性情報を取得し、前記タブのための拡張ウィンドウを動的に作成し、前記選択されたタブの前記提示コンテンツ情報を前記拡張ウィンドウに表示すること、を備える、方法。
適用例２：適用例１に記載の方法であって、前記選択されたタブの前記提示コンテンツ情報の前記拡張ウィンドウへの表示は、前記メインインターフェースが表示されるスクリーン上での前記拡張ウィンドウの位置情報を決定することを備える、方法。
適用例３：適用例２に記載の方法であって、前記拡張ウィンドウの位置情報の決定は、前記メインインターフェースが配置される前記スクリーン上での境界情報を取得し、前記メインインターフェースの境界から前記スクリーンの境界までの境界距離を算出し、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できるか否かを決定するために、前記境界距離を表示幅と比較し、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できる場合、前記領域に前記拡張ウィンドウを表示すること、を備える、方法。
適用例４：適用例３に記載の方法であって、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できない場合、前記方法は、さらに、前記拡張ウィンドウを前記メインインターフェースに重ねて表示することを備える、方法。
適用例５：適用例１に記載の方法であって、前記タブ構成ファイルは、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む、方法。
適用例６：適用例５に記載の方法であって、さらに、ユーザによって修正されたタブ属性を受信した際に、対応するユーザ設定を前記ユーザタブ構成ファイルに格納することを備える、方法。
適用例７：適用例１に記載の方法であって、さらに、前記メインインターフェースのハンドルを有する前記拡張ウィンドウを構成し、前記拡張ウィンドウのハンドルを有する前記メインインターフェースを構成すること、を備える、方法。
適用例８：適用例７に記載の方法であって、さらに、前記ハンドル間のメッセージ転送を通して、前記メインインターフェースの制御ユニットと前記拡張ウィンドウの制御ユニットとの間の通信を確立することを備える、方法。
適用例９：適用例８に記載の方法であって、さらに、前記拡張ウィンドウ上で起こった事象について前記メインインターフェースの前記ハンドルを通して前記メインインターフェースに通知することを備える、方法。
適用例１０：適用例１に記載の方法であって、前記提示コンテンツ情報は、ＵＲＬを含む、方法。
適用例１１：インスタントメッセージ（ＩＭ）アプリケーションにおいて情報を提示するためのシステムであって、１または複数のプロセッサであって、前記ＩＭアプリケーションのメインインターフェースにおける複数のタブに関する属性情報を含むタブ構成ファイルをロードし、前記属性情報は、前記複数のタブに関連付けられた提示コンテンツ情報を含み、前記メインインターフェースの複数のタブの内の１つの選択を受信し、少なくとも前記タブ構成ファイルの情報に基づいて、前記複数のタブの内の前記選択された１つに対応する属性情報を取得し、前記タブのための拡張ウィンドウを動的に作成し、前記選択されたタブの前記提示コンテンツ情報を前記拡張ウィンドウに表示するように適合された１または複数のプロセッサと、前記１または複数のプロセッサに接続され、前記プロセッサに命令を提供するよう適合された１または複数のメモリと、を備える、システム。
適用例１２：適用例１１に記載のシステムであって、前記選択されたタブの前記提示コンテンツ情報の前記拡張ウィンドウへの表示は、前記メインインターフェースが表示されるスクリーン上での前記拡張ウィンドウの位置情報を決定すること備える、システム。
適用例１３：適用例１２に記載のシステムであって、前記拡張ウィンドウの位置情報の決定、前記メインインターフェースが配置される前記スクリーン上での境界情報を取得し、前記メインインターフェースの境界から前記スクリーンの境界までの境界距離を算出し、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できるか否かを決定するために、前記境界距離を表示幅と比較し、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できる場合、前記領域に前記拡張ウィンドウを表示すること、を備える、システム。
適用例１４：適用例１３に記載のシステムであって、前記メインインターフェースの前記境界と前記スクリーンの前記境界との間の領域に前記拡張ウィンドウを表示できない場合、前記１または複数のプロセッサは、さらに、前記拡張ウィンドウを前記メインインターフェースに重ねて表示するよう適合される、システム。
適用例１５：適用例１１に記載のシステムであって、前記タブ構成ファイルは、システムタブ構成ファイルおよびユーザタブ構成ファイルを含む、システム。
適用例１６：適用例１５に記載のシステムであって、前記１または複数のプロセッサは、さらに、ユーザによって修正されたタブ属性を受信した際に、対応するユーザ設定を前記ユーザタブ構成ファイルに格納するよう適合される、システム。
適用例１７：適用例１１に記載のシステムであって、前記１または複数のプロセッサは、さらに、前記メインインターフェースのハンドルを有する前記拡張ウィンドウを構成し、前記拡張ウィンドウのハンドルを有する前記メインインターフェースを構成するよう適合される、システム。
適用例１８：適用例１７に記載の方法であって、前記１または複数のプロセッサは、さらに、前記ハンドル間のメッセージ転送を通して、前記メインインターフェースの制御ユニットと前記拡張ウィンドウの制御ユニットとの間の通信を確立するよう適合される、システム。
適用例１９：適用例１８に記載のシステムであって、前記１または複数のプロセッサは、さらに、前記拡張ウィンドウ上で起こった事象について前記メインインターフェースの前記ハンドルを通して前記メインインターフェースに通知するよう適合される、システム。
適用例２０：適用例１１に記載のシステムであって、前記提示コンテンツ情報は、ＵＲＬを含む、システム。
【図１】
0005822238.tif 000002
【図２】
0005822238.tif 000003
【図３】
0005822238.tif 000004
【図４】
0005822238.tif 000005
【図５】
0005822238.tif 000006