(57)【要約】  本明細書は、異種アプリケーションタブを可能にする技法および装置について説明する。いくつかの実施形態では、これらの技法および装置は、アプリケーションコンテンツの最適化されたレイアウトを提供するために、異種アプリケーションタブのグループ化、サイズ調整および／または位置決めを可能にする。
2017532681.tif 000002
【特許請求の範囲】
【請求項１】
マルチアプリケーション環境内の第１のタブまたは第２のタブにコンテンツを適応的に提示するコンピューター実施方法であって、
第１のアプリケーションウィンドウのフレームを介して、前記第１のアプリケーションウィンドウを前記マルチアプリケーション環境内の第２のアプリケーションウィンドウ上に動かす入力を受信することであって、前記第１のアプリケーションウィンドウおよび前記第２のアプリケーションウィンドウは、それぞれ第１のコンテンツおよび第２のコンテンツを提示する、ことと、
前記第１のアプリケーションウィンドウの少なくとも一部分が前記第２のアプリケーションウィンドウの少なくとも一部分の上にあることに応じて、第１のアプリケーションタブおよび第２のアプリケーションタブを含む第３のアプリケーションウィンドウの前記第１のタブに前記第１のコンテンツを、または前記第３のアプリケーションウィンドウの前記第２のタブに前記第２のコンテンツを提示することと、
を含む、コンピューター実施方法。
【請求項２】
前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウを閉じることを更に含む、請求項１に記載のコンピューター実施方法。
【請求項３】
前記第１のアプリケーションウィンドウは第１のアプリケーションのためのアプリケーションインターフェースであり、前記第２のアプリケーションウィンドウは第２のアプリケーションのためのアプリケーションであり、前記第１のアプリケーションおよび前記第２のアプリケーションは異なるタイプのアプリケーションである、請求項１に記載のコンピューター実施方法。
【請求項４】
前記第３のアプリケーションウィンドウの前記第１のタブに前記第１のコンテンツを、および前記第３のアプリケーションウィンドウの前記第２のタブに前記第２のコンテンツを提示することを更に含む、請求項１に記載のコンピューター実施方法。
【請求項５】
前記第３のアプリケーションウィンドウを前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウのサイズにサイズ調整することを更に含み、前記第３のアプリケーションウィンドウの前記第１のタブのサイズは、前記第３のアプリケーションウィンドウの前記第２のタブのサイズに概ね等しい、請求項１に記載のコンピューター実施方法。
【請求項６】
前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウのうちの少なくとも１つは、コンテンツが提示されるタブを含まない、請求項１に記載のコンピューター実施方法。
【請求項７】
前記第１のアプリケーションウィンドウの前記少なくとも一部分は、前記第１のウィンドウのタイトルバーを含み、前記第２のアプリケーションウィンドウの前記少なくとも一部分は、前記第２のアプリケーションウィンドウのタイトルバーを含む、請求項１に記載のコンピューター実施方法。
【請求項８】
アプリケーションウィンドウを提示するように構成されるディスプレイと、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによる実行に応答して、
アプリケーションタブを提示するための所定のエリアを有する前記アプリケーションウィンドウ内にアプリケーションタブを提示するための入力を受信することであって、前記アプリケーションウィンドウは別のアプリケーションを含み、前記アプリケーションタブおよび別のアプリケーションタブは、それぞれ異なるタイプのアプリケーションと関連付けられている、ことと、
前記受信した入力に基づいて、前記アプリケーションタブを提示するための前記所定のエリアのうちの１つを選択することと、
前記選択された所定のエリアに基づいて、前記アプリケーションタブが所定のエリアを満たすように前記アプリケーションタブのサイズまたは位置を変更することと、
前記アプリケーションウィンドウの前記選択された所定のエリア内に前記変更されたサイズでまたは前記変更された位置に前記アプリケーションタブを提示することと、
を含む動作を実行するプロセッサ実行可能命令を記憶する１つまたは複数のコンピューター可読媒体と、
を備える、システム。
【請求項９】
前記アプリケーションタブの前記提示は、前記アプリケーションタブを前記アプリケーションウィンドウに追加するか、前記アプリケーションタブを前記アプリケーションウィンドウのプライマリアプリケーションタブにするか、または前記アプリケーションタブを前記アプリケーションウィンドウの別の所定のエリアから動かすための要求に応答する、請求項８に記載のシステム。
【請求項１０】
前記動作は、前記選択された所定のエリア内に前記アプリケーションタブを提示する前に、前記アプリケーションウィンドウ内の前記アプリケーションタブの前記変更されたサイズまたは前記変更された位置を視覚的に示すための前記アプリケーションタブのプレビューを提示することを更に含む、請求項８に記載のシステム。
【請求項１１】
前記別のアプリケーションタブは、前記選択された所定のエリアの少なくとも一部分を占有し、前記動作は、
前記アプリケーションタブが前記アプリケーションウィンドウの別の所定のエリアを満たすように、前記別のアプリケーションタブについて、前記別のアプリケーションタブのための別のサイズまたは別の位置を決定することと、
前記アプリケーションタブを前記選択された所定のエリアに提示できるようにするのに効果的な他の所定のエリアにおいて、前記別の決定されたサイズまたは前記別の決定された位置で前記別のアプリケーションタブを提示することと、
を更に含む、請求項９に記載のシステム。
【請求項１２】
前記アプリケーションウィンドウの前記所定のエリアは、
前記アプリケーションウィンドウの約２分の１を占有する第１の所定のエリア、
前記アプリケーションウィンドウの約３分の１を占有する第２の所定のエリア、または、
前記アプリケーションウィンドウの約４分の１を占有する第３の所定のエリア、
のうちの１つを備える、請求項９に記載のシステム。
【請求項１３】
前記入力は、前記アプリケーションタブの制御部分を介して開始され、前記アプリケーションウィンドウの前記選択された所定のエリア内で終了する、請求項９に記載のシステム。
【請求項１４】
前記入力は、タッチ入力、マウス入力、タッチパッド入力、キーボード入力、音声入力またはスタイラス入力を含む、請求項９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  この背景は、本開示のためのコンテキストを概略的に提示する目的で提供される。本明細書において別段の指示がない限り、背景に記載される題材は、本開示または添付の特許請求の範囲に対する従来技術であると明示的に認めるものでもなければ、暗黙的に認めるものでもない。
【０００２】
[0002]  ブラウザー等の従来のアプリケーションは、多くの場合、ユーザーが様々なそれぞれのタブを通じてアプリケーションコンテンツを閲覧し、このアプリケーションコンテンツとインタラクトすることを可能にする。例えば、インターネットをブラウズしているユーザーは、ブラウザーの３つのそれぞれのタブを用いることによって３つの異なるウェブページを開くことができる。タブのうちの１つのコンテンツを閲覧するかまたはこのコンテンツとインタラクトするために、所望のタブは、通常、他のタブに対するプライマリとして選択される。一方、プライマリタブのコンテンツは、多くの場合に、他のタブを覆い隠し、ユーザーのインタラクションをプライマリタブのインタラクションのみに制限する。更に、各アプリケーションインターフェースは、その特定のアプリケーションのコンテンツを表すためのタブのみをサポートすることができる。異なるアプリケーション間でマルチタスクを行うユーザーにとって、これは互いを覆い隠すアプリケーションインターフェースの拡散につながり得る。したがって、複数のタブまたはアプリケーションのコンテンツとインタラクトすることは、多くの場合に、ユーザーが所望のコンテンツを見つけるために複数のタブまたはインターフェースを通じて検索または切り替えを行うことを必要とする。これは時間がかかり、反復的であり、苛立たしいものとなり得る。
【発明の概要】
【０００３】
[0003]  本明細書は、アプリケーションウィドウ内の異種アプリケーションタブを可能にする技法および装置について記載している。アプリケーションウィンドウを介して提示される異種アプリケーションタブは、異なるタイプのアプリケーションコンテンツの最適化されたレイアウトを提供するようにサイズ調整、位置決めまたはグループ化することができる。いくつかの実施形態では、これらの技法および装置は、２つのアプリケーションウィンドウのコンテンツが、別のアプリケーションウィンドウのそれぞれのタブに提示されることを可能にする。また、いくつかの実施形態では、技法および装置は、アプリケーションウィンドウの選択された所定のエリアに基づいてアプリケーションタブのサイズまたは位置が変更されることを可能にする。また更に、いくつかの実施形態は、複数のアプリケーションタブが同時にサイズ調整または位置決めされることを可能にするジョイントディバイダまたはジョイントコーナーコントロールを有効にする。更に、いくつかの実施形態は、異種アプリケーションタブを有するアプリケーションウィンドウ間のサイズ調整または切り換えを可能にする。更に他の実施形態では、技法および装置は、アプリケーションウィンドウにおける提示のためのアプリケーションタブの選択を可能にする。
【０００４】
[0004]  この概要は、詳細な説明において以下で更に説明される簡略化された概念を導入するように提供される。この概要は、特許請求される主題の本質的な特徴を特定することも、請求される主題の範囲を求める際に使用されることも意図されていない。異種アプリケーションタブを可能にする技法および／または装置はまた、本明細書において、文脈が許す「技法」として別個にまたは組み合わせて参照されるが、技法は、本明細書において記載される他の態様を含むかまたは代わりに提示することができる。
【０００５】
[0005]  異種アプリケーションタブを可能にする実施形態が、添付の図面を参照して説明される。図面全体にわたって用いられる同じ符号は、類似の特徴およびコンポーネントを参照するのに用いられる。
【図面の簡単な説明】
【０００６】
【図１】異種アプリケーションタブを可能にする技法を実施することができる例示的なシステムを示す。
【図２】マルチアプリケーション環境を表すタッチ検知式ディスプレイを有する例示的なタブレットコンピューティングデバイスを示す。
【図３】アプリケーションウィンドウのそれぞれのタブにおける異種のアプリケーションのコンテンツを表すための方法を示す。
【図４】異種アプリケーションタブを有する例示的なアプリケーションウィンドウを示す。
【図５】アプリケーションウィンドウの所定のエリアに基づいてアプリケーションタブのサイズまたは位置を変える方法を示す。
【図６】アプリケーションウィンドウの例示的な所定のエリアを示す。
【図７】アプリケーションウィンドウの所定のエリアに提示されている異種アプリケーションタブの例を示す。
【図８】アプリケーションウィンドウ内でアプリケーションタブをサイズ調整および位置決めする更なる例を示す。
【図９】ジョイントディバイダを用いて複数のアプリケーションタブを同時にサイズ調整するための方法を示す。
【図１０】ジョイントディバイダを介してアプリケーションタブをサイズ調整する例を示す。
【図１１】アプリケーションタブのサイズ調整を可能にするジョイントディバイダおよびコーナーディバイダの更なる例を示す。
【図１２】異種アプリケーションタブを有するアプリケーションウィンドウを管理するための例示的な方法を示す。
【図１３】異種アプリケーションタブを有するアプリケーションウィンドウへの切り替えの例を示す。
【図１４】アプリケーションウィンドウにおける提示のためのアプリケーションタブの選択を可能にするための例示的な方法を示す。
【図１５】アプリケーションウィンドウにおいて提示するアプリケーションタブを選択するための例示的なユーザーインターフェースを示す。
【図１６】アプリケーションウィンドウの所定のエリアにアプリケーションウィンドウを追加する例を示す。
【図１７】異種アプリケーションタブを可能にする技法を実施することができる例示的なデバイスを示す。
【発明を実施するための形態】
【０００７】
概観
[0006]  本明細書は、アプリケーションウィンドウにおいて異種アプリケーションタブを可能にする技法および装置について記載している。これらの装置および技法は、異種アプリケーションのアプリケーションタブが好都合にかつ効率的に位置決めまたはサイズ調整され、アプリケーションウィンドウの最適化されたレイアウトを提供することを可能にすることができる。いくつかの実施形態では、これらの技法および装置は、２つのアプリケーションウィンドウのコンテンツが、別のアプリケーションウィンドウのそれぞれのタブに提示されることを可能にする。また、技法および装置は、アプリケーションウィンドウの選択された所定のエリアに基づいてアプリケーションのサイズまたは位置が変更されることを可能にすることができる。また更に、技法および装置は、複数のアプリケーションタブが同時にサイズ調整または位置決めされることを可能にする、ジョイントディバイダまたはジョイントコーナーコントロールを有効にする。更に、いくつかの実施形態は、異種アプリケーションタブを有するアプリケーションウィンドウ間のサイズ調整または切り替えを可能にする。更に他の実施形態では、技法および装置は、アプリケーションウィンドウにおける提示のためのアプリケーションタブの選択を可能にする。アプリケーションタブ管理のこれらの形態および他の形態は、アプリケーションウィンドウの所定のエリアを通じて可能にすることができる。これらは、技法が異種アプリケーションタブを可能にする多くの方法のうちのいくつかの例にすぎず、他の例が以下に説明される。
【０００８】
例示的なシステム
[0007]  図１は、異種アプリケーションタブを可能にする技法を具現することができる例示的なシステム１００を示す。システム１００は、コンピューティングデバイス１０２を含む。これについては、４つの例、すなわち、スマートフォンコンピューター１０４、タブレットコンピューティングデバイス１０６、ラップトップコンピューター１０８およびゲーミングデバイス１１０を用いて示されるが、セットトップボックス、サーバーおよびネットブック等の他のコンピューティングデバイスおよびシステムも用いることができる。
【０００９】
[0008]  コンピューティングデバイス１０２は、コンピュータープロセッサ１１２と、コンピューター可読ストレージ媒体１１４（媒体１１４）とを備える。媒体１１４は、オペレーティングシステム１１６と、マルチアプリケーション環境モジュール１１８と、システムインターフェースモジュール１２０と、入力モジュール１２２と、アプリケーション１２４とを備え、アプリケーションは、各々が、１つまたは複数のアプリケーションユーザーインターフェース１２６（アプリケーションＵＩ１２６）と、アプリケーションキュー１３０およびアプリケーションタブマネージャー１３２（タブマネージャー１３２）を備えるかまたはそれらへのアクセスを有するアプリケーションマネージャー１２８とを有する。
【００１０】
[0009]  また、コンピューティングデバイス１０２は、１つまたは複数のディスプレイ１３４および入力メカニズム１３６を備えるか、またはそれらへのアクセスを有する。図１は、別個とすることもできるし、コンピューティングデバイス１０２と一体化することもできる４つの例示的なディスプレイを示す。入力メカニズム１３６は、いくつか例を挙げると、タッチベースのセンサーおよび運動追跡センサー（例えば、カメラベース）等のジェスチャー検知式センサーおよびデバイス、ならびにマウス（独立型またはキーボードと一体型）、スタイラス、タッチパッド、加速度計、および音声認識ソフトウェアが付属したマイクロフォンを含むことができる。入力メカニズム１３６は、別個とすることもできるし、ディスプレイ１３４と一体化することもでき、一体化の例は、一体化されたタッチ検知式または動き検知式のセンサーを用いたジェスチャー検知式ディスプレイを備える。
【００１１】
[0010]  オペレーティングシステム１１６は、コンピューティングデバイス１０２のリソースを管理し、６４ビット、３２ビット、縮小命令セットコンピューティング（ＲＩＳＣ）、複合命令セットコンピューティング（ＣＩＳＣ）等の任意の適切な命令フォーマットを用いて実施することができる。いくつかの例では、オペレーティングシステム１１６は、仮想化を通じて異なる命令フォーマットを有するモジュールまたはアプリケーションの実行を可能にすることができる。オペレーティングシステム１１６は、コンピューティングデバイス１０２の他のモジュールが、マルチアプリケーション環境１１８およびアプリケーション１２４等のコンピューティングデバイス１０２のリソースにアクセスすることを可能にする。
【００１２】
[0011]  マルチアプリケーション環境モジュール１１８は、マルチアプリケーション環境を提供し、このマルチアプリケーション環境によって、ユーザーは、アプリケーションＵＩ１２６を通じてアプリケーション１２４のうちの１つまたは複数を閲覧し、これとインタラクトすることができる。アプリケーションＵＩはそれぞれのアプリケーションウィンドウまたはアプリケーションタブを介して提示される。いくつかの例では、マルチアプリケーション環境は、重複ウィンドウ（例えば、ウィンドウのｚ順序）もしくは非重複ウィンドウの位置、サイズおよび／または前後の順序（まとめて、「配置」）の管理もしくは操作を可能にする、重複ウィンドウ環境または作業空間である。作業空間内の各アプリケーションウィンドウの順序または「深度」は、マルチアプリケーション環境モジュール１１８のｚスタックを介して維持することができる。通常、プライマリアプリケーションウィンドウまたは遮蔽されていないアプリケーションウィンドウは、ｚスタックの最上部に存在する。非プライマリアプリケーションウィンドウまたは遮蔽されたアプリケーションウィンドウ等の他のアプリケーションウィンドウは、ｚスタック内のより深い位置に存在する。これらの非プライマリアプリケーションウィンドウは、ｚスタック内のそれらの各々の位置に基づいて、互いに重複するかまたは互いを遮蔽することができる。
【００１３】
[0012]  同様の形式で、マルチアプリケーション環境は、アプリケーションウィンドウ内の重複するタブ環境を可能にすることができ、これによって、重複するタブまたは重複しないウィンドウの位置、サイズおよび／または優位性（まとめて、「配置」）の管理または操作が可能になる。通常、プライマリアプリケーションタブ、または遮蔽されていないアプリケーションタブが、何らかの非プライマリアプリケーションタブがアプリケーションウィンドウ内に存在する場合、その非アプリケーションタブの少なくとも一部分の上に提示される。非プライマリアプリケーションタブまたは遮蔽されたアプリケーションタブ等のこれらの他のアプリケーションウィンドウは、プライマリアプリケーションタブの後ろにあり、プライマリアプリケーションタブのうちの１つによって遮蔽されていない制御部を介して選択することができる。
【００１４】
[0013]  マルチアプリケーション環境モジュール１１８は、フレームを有するアプリケーションウィンドウを通じてアプリケーションＵＩ１２６（例えば、アプリケーションタブ）を提示することができる。これらのフレームは、アプリケーションとインタラクトするためのコントロールおよび／またはユーザーがウィンドウを位置決めおよびサイズ調整することを可能にするコントロールを提供することができる。代替的にまたは付加的に、マルチアプリケーション環境モジュール１１８は、ウィンドウフレームをほとんどもしくは全く有しないアプリケーションウィンドウを通じて、および／または視覚コントロール（例えば、ウィンドウフレーム上またはウィンドウを覆い隠すコンテンツ内の永続的コントロール）を提示することなく、アプリケーションＵＩ１２６を提示してもよい。
【００１５】
[0014]  マルチアプリケーション環境モジュール１１８によって可能にされるマルチアプリケーション環境を、必須ではないが、ウィンドウベースのデスクトップ環境を用いることなくホスティングおよび／または表面化する（surfaced）ことができる。このため、いくつかの例では、マルチアプリケーション環境モジュール１１８は、マルチアプリケーション環境を没入型の環境として提示し、デスクトップのようなディスプレイ（例えば、タスクバー）の使用を除外する。また更に、いくつかの実施形態では、このマルチアプリケーション環境は、クローズすることができず、アンインストールされることも可能でないという点でオペレーティングシステムに類似している。必須ではないが、いくつかの例では、このマルチアプリケーション環境は、マルチアプリケーション環境内でアプリケーションによってディスプレイのピクセルの全てまたはほぼ全てを使用することを可能にする。
【００１６】
[0015]  システムインターフェースモジュール１２０は、いくつか例を挙げると、アプリケーション起動インターフェース、アプリケーション管理ユーザーインターフェース（アプリケーション管理ＵＩ）、スタートメニュー、コントロールパネル、またはシステムツールもしくはオプションメニュー等の１つまたは複数のインターフェースを提供し、このインターフェースを通じてオペレーティングシステム１１６とのインタラクションが可能になる。入力モジュール１２２は、アプリケーションウィンドウ、入力メカニズム１３６、またはマルチアプリケーション環境の他のコントロールおよびアフォーダンスを通じて入力を受信する。
【００１７】
[0016]  アプリケーション１２４は、生産性アプリケーション、ウェブブラウザー、メディアビューア、ナビゲーションアプリケーション、マルチメディア編集アプリケーション等の任意の適切なタイプのアプリケーションを含むことができる。オペレーティングシステム１１６またはマルチアプリケーション環境モジュール１１８は、本来、または仮想化により、様々なタイプまたは命令セットのアプリケーションをサポートすることができる。例えば、マルチアプリケーション環境モジュール１１８は、３２ビット、６４ビット、ランタイム環境（例えば、Ｊａｖａ（登録商標）またはＳｉｌｖｅｒｌｉｇｈｔ（登録商標）、プラグイン（例えば、フラッシュ）、ＲＩＳＣ、ＣＩＳＣ、ランタイム言語等）等の様々なタイプまたは命令セットの複数のアプリケーション１２４を同時に提示することができる。
【００１８】
[0017]  各アプリケーション１２４は、アプリケーションのコンテンツの閲覧またはアプリケーションのコンテンツとのインタラクションを可能にするアプリケーションウィンドウまたはアプリケーションタブ等の１つまたは複数のアプリケーションＵＩ１２６を含む。アプリケーションＵＩ１２６は、アスペクト比、最大サイズ、最小サイズ、位置、優位性、表示の向き等の、タブまたはウィンドウを介してアプリケーション１２４を提示するための所定の特性またはプリファレンス（例えば、デフォルト値または設定）を含むことができる。少なくともいくつかの実施形態では、アプリケーション１２４に関連付けられたアプリケーションプログラムインターフェース（ＡＰＩ）は、アプリケーション１２４またはそれぞれのアプリケーションＵＩ１２６の特性またはプリファレンスへのアクセスを可能にする。
【００１９】
[0018]  アプリケーションマネージャー１２８は、起動、切り替え、および追跡アクティブアプリケーション等のアプリケーション１２４の管理を可能にする。いくつかの例では、アプリケーションマネージャー１２８は、１組のアプリケーションタブがアプリケーションウィンドウに追加されるとき（例えば、グルーピング）等に、アプリケーション間の関係が確立され、維持されることを可能にする。また、アプリケーションマネージャー１２８は、アクティブなアプリケーション、最小化されたアプリケーション、または以前にインタラクトされたアプリケーションを含むことができるアプリケーションキュー１３０にもアクセスを有するか、またはこのアプリケーションキュー１３０を維持することができる。アプリケーションキュー１３０のアプリケーションは、直近で使用されたもの、最も頻繁に使用されているもの、アルファベット順、アプリケーション関連付け、またはアプリケーショングルーピング等の任意の適切な形式で組織化することができる。
【００２０】
[0019]  タブマネージャー１３２は、マルチアプリケーション環境を介して提示されるアプリケーションタブの管理を可能にする。少なくともいくつかの実施形態では、タブマネージャー１３２は、アプリケーションタブを位置決めまたはサイズ調整し、アプリケーションウィンドウ内のアプリケーションコンテンツの最適化されたレイアウトを提供する技法を可能にする。アプリケーションタブのこれらの技法およびレイアウトの例が以下に提供され、それらのうちのいくつかはアプリケーションウィンドウの所定のエリアに基づいて提示されるが、これらは包括的であることも、技法を本明細書に説明されるものに限定することを意図するものでもない。
【００２１】
[0020]  オペレーティングシステム１１６、マルチアプリケーション環境モジュール１１８、システムインターフェースモジュール１２０、入力モジュール１２２、アプリケーション１２４、アプリケーションマネージャー１２８およびタブマネージャー１３２のうちの任意のものまたは全てを、互いに別個とすることもできるし、組み合わせることもできるし、または任意の適切な形態で一体化することもできる。
【００２２】
例示的な方法
[0021]  本明細書に記載される方法は、全体としてまたは部分的に、別個にまたは互いに組み合わせて用いることができる。これらの方法は、１つまたは複数のエンティティまたはモジュール等を通じて実行される動作（または行為）の組として示されているが、必ずしも、動作を実行するために示される順序に限定されない。例えば、これらの技法は、別のアプリケーションウィンドウのアプリケーションタブ内にアプリケーションウィンドウのコンテンツを提示し、隣接するアプリケーションタブ内にアプリケーションウィンドウの以前に提示されたコンテンツを自動的に提示することができる。また、これらの技法は、アプリケーションウィンドウの選択された所定のエリアに基づいてアプリケーションタブをサイズ調整および位置決めし、選択された所定のエリア内にサイズ調整されたアプリケーションタブを提示し、次に、アプリケーションタブおよびこのアプリケーションタブに接触する別のアプリケーションタブが同時にリサイズされることを可能にするジョイントディバイダを設けることができる。これらは本明細書において記載される技法を用いて実施することができるいくつかの例にすぎない。
【００２３】
[0022]  図２は、本明細書に説明される技法を実行することができる例示的なオペレーティング環境２００を示す。この特定の例において、タブレットコンピューティングデバイス１０６は、マルチアプリケーション環境モジュール１１８の使用によって、ディスプレイ１３４を介してマルチアプリケーション環境２０２を提示する。ここで、作業空間と呼ぶこともできるマルチアプリケーション環境２０２は、アプリケーションウィンドウ２０４およびアプリケーションウィンドウ２０６を含み、これらの各々が、それぞれ、関連付けられたアプリケーションのコンテンツを提示している。この特定の例では、アプリケーションウィンドウ２０４は、ブラウザーアプリケーションのコンテンツを提示しており、アプリケーションウィンドウ２０６はワードプロセッシングアプリケーションのコンテンツを提示している。
【００２４】
[0023]  上述したように、アプリケーションウィンドウは、アプリケーションウィンドウがサイズ調整され、位置決めされ、最小化され、閉じられること等を可能にするコントロールを含むことができる。現在の例との関連において、アプリケーションウィンドウ２０４および２０６は、それぞれのタイトルバー２０８および２１０を含み、これらのタイトルバーを通じて、これらのコントロールが実装される。いくつかの例では、アプリケーションウィンドウのタイトルバーは、タイトルバー２０８および２１０の最上部に概ね沿って示されるワードプロセッシングアプリケーションコントロール等のアプリケーションメニューまたはアプリケーション固有のコントロールを含むこともできる。代替的に、アプリケーションウィンドウは、アプリケーションのユーザーインターフェースまたはコンテンツが、マルチアプリケーション環境２０２の領域またはエリアを完全に占有することを可能にするコントロール（図示せず）を含まない場合がある。アプリケーションウィンドウのエッジまたはコンテンツをエンゲージすることによって、コントロールを有しないアプリケーションウィンドウであっても、サイズ調整、位置決めまたは他の形で操作することができることに留意するべきである。
【００２５】
[0024]  代替的にまたは付加的に、マルチアプリケーション環境２０２は、デスクトップ、仮想またはその他のものとして実装することができ、アプリケーション管理ＵＩ２１２またはスタートメニュー（図示せず）として示される制御エリアを含むことができる。例えば、デスクトップとして実装されるとき、マルチアプリケーション環境２０２は、ウィンドウベースの作業空間を提供することができ、ウィンドウベースの作業空間において、アプリケーションウィンドウは、個々に移動、サイズ調整、またはプライマリウィンドウとして選択（例えば、ｚスタックの最上部に移動）することができる。
【００２６】
[0025]  マルチアプリケーション環境２０２は、１つまたは複数の仮想デスクトップも提供することができ、この仮想デスクトップを通じて、アプリケーションウィンドウの異なる組を提示するかまたはこれらにアクセスすることができる。例として、ユーザーは、作業ベースのアプリケーションウィンドウまたは生産性アプリケーションを用いて１つの仮想デスクトップを構成することができ、メディア消費アプリケーションウィンドウを用いて別の仮想デスクトップを構成することができる。これを行うことによって、ユーザーは、２つの仮想デスクトップ間で切り替えまたはピボットを行うことにより、アプリケーションウィンドウまたはアプリケーションタブの２つの異なる組とインタラクトすることができる。いくつかの場合、ユーザーは、アプリケーションウィンドウを別の仮想デスクトップから現在選択されている仮想デスクトップに切り替え、それによって仮想デスクトップ間でピボットする必要をなくすことができる。
【００２７】
[0026]  アプリケーション管理ＵＩ２１２は、コンピューティングデバイス１０２のオペレーティングシステム１１６、システムインターフェースモジュール１２０、または他のアプリケーション１２４の特徴および機能へのアクセスを可能にする。例えば、アプリケーションタブは、アプリケーション管理ＵＩ２１２から起動するかまたは切り替えることができる。本明細書における技法を用いて、アプリケーションタブを、アプリケーションウィンドウにおいて効率的に追加、切り替え、位置決め、サイズ調整または他の形で操作し、最適化されたレイアウトアプリケーションタブおよびそのコンテンツを提供することができる。
【００２８】
[0027]  図３は、タブマネージャー１３２またはマルチアプリケーション環境モジュール１１８によって実行される動作を含む、アプリケーションウィンドウのそれぞれのタブにおける異種アプリケーションのコンテンツを提示するための方法３００を示す。以下の論考の一部において、図１のシステム１００、図２の動作環境２００、ならびに本明細書における他の場所において記載される他の方法および例示的な実施形態が参照される場合があるが、それらへの参照は例示のみを目的としている。
【００２９】
[0028]  ３０２において、第２のアプリケーションウィンドウ上で第１のアプリケーションウィンドウを動かす入力が受信される。この入力は、第１のアプリケーションウィンドウのフレームまたは制御部分を介して受信することができる。入力は、タッチ入力、マウス入力、タッチパッド入力、キーボード入力、スタイラス入力等の任意の適切なタイプの入力を含む。第１のアプリケーションウィンドウおよび第２のアプリケーションウィンドウは、それぞれのアプリケーションのコンテンツを提示し、これは、同じアプリケーションタイプまたは異なるアプリケーションタイプとすることができる。
【００３０】
[0029]  いくつかの場合、第１のアプリケーションウィンドウの一部分が、第２のアプリケーションウィンドウの一部分の上にまたはこれに近接するように動かされる。そのような場合、アプリケーションウィンドウのそれぞれの部分は、それぞれのウィンドウのタイトルバーを含むことができる。代替的にまたは付加的に、アプリケーションウィンドウのいずれかがアプリケーションタブを含むことができ、このアプリケーションタブを通じてアプリケーションのコンテンツが提示される。
【００３１】
[0030]  例として、図２のアプリケーションウィンドウ２０４および２０６を検討する。これらは、それぞれ、ワードプロセッシングアプリケーションおよびブラウザーアプリケーションのコンテンツを提示している。ここで、ユーザーが、より好都合なアクセスまたは閲覧のために同じアプリケーションウィンドウにおいてワードアプリケーションのコンテンツおよびブラウザーアプリケーションのコンテンツを配置することを望むと仮定する。これを行うために、ユーザーは、タッチ入力を介して、アプリケーションウィンドウ２０６のタイトルバー２１０上にアプリケーションウィンドウ２０４のタイトルバー２０８をドラッグする。
【００３２】
[0031]  ３０４において、第１のアプリケーションウィンドウのコンテンツまたは第２のアプリケーションウィンドウのコンテンツが第３のアプリケーションウィンドウのそれぞれのタブにおいて提示される。コンテンツは、第１のアプリケーションウィンドウが第２のアプリケーションウィンドウの上に動かされることに応答して、第３のウィンドウのそれぞれのタブを介して提示される。いくつかの場合、第３のアプリケーションウィンドウは、第３のアプリケーションウィンドウを提供するように第１のアプリケーションウィンドウまたは第２のアプリケーションウィンドウを変更することによって提供される。第３のアプリケーションウィンドウは、少なくとも２つのそれぞれのアプリケーションタブを含み、これらのアプリケーションタブを通じて第１のアプリケーションウィンドウまたは第２のアプリケーションウィンドウのコンテンツを提示することができる。代替的にまたは付加的に、第３のアプリケーションウィンドウは、第１のアプリケーションウィンドウまたは第２のアプリケーションウィンドウの最大サイズに基づいてサイズ調整することができる。例えば、第３のアプリケーションウィンドウは、アプリケーションタブが受信または作成される最大のアプリケーションウィンドウのサイズを想定するようにサイズ調整することができる。
【００３３】
[0032]  例えば、デフォルト設定、またはコンテンツが提示されていたアプリケーションウィンドウの優位性に基づいて、コンテンツの第１のアプリケーションタブをプライマリにすることができ、コンテンツの第２のアプリケーションタブを非プライマリにすることができる。代替的にまたは付加的に、アプリケーションタブの双方をプライマリにし、これによって各アプリケーションタブのコンテンツが提示されることを可能にすることができる。そのような場合、各アプリケーションタブは、第３のアプリケーションウィンドウの所定のエリアを占有するようにサイズ調整することができる。第３のアプリケーションウィンドウに提示されるかまたは組み込まれると、第３のアプリケーションウィンドウがアプリケーションタブのためのコンテナーとして機能する。例えば、第３のアプリケーションウィンドウに適用されるサイズ調整または動きが伝えられ、その全てのアプリケーションタブに適用される。
【００３４】
[0033]  動作３０４から、方法３００は動作３０６に進むか、または追加のアプリケーションタブ（例えば、３つ、４つ、５つ、．．．Ｎ個のアプリケーションタブ）を第３のアプリケーションウィンドウに追加するために、動作３０２を繰り返すことができる。例えば、第４のアプリケーションウィンドウが第３のアプリケーションウィンドウの上に動かされるのに応答して、コンテンツの第３のアプリケーションタブを、第３のアプリケーションウィンドウに追加することができる。動作３０６において、第１のアプリケーションウィンドウまたは第２のアプリケーションウィンドウが閉じられる。アプリケーションウィンドウのうちの１つが、第３のアプリケーションウィンドウを提供するように変更されるとき、アプリケーションウィンドウの他方が閉じられる。代替的に、第３のアプリケーションウィンドウが新たなウィンドウとして提示されるとき、第１のアプリケーションウィンドウおよび第２のアプリケーションウィンドウの双方を閉じることができる。
【００３５】
[0034]  上記の例の締めくくりとして、４００において方法３００との関連でディスプレイ１３４およびマルチアプリケーション環境２０２を示す図４を検討する。ここで、タブマネージャー１３２は、アプリケーションタブ等によって、アプリケーションタブ４０４、４０６および４０８を含むアプリケーションウィンドウ４０２を提供するようにアプリケーションウィンドウ２０６を変更する。以下で更に詳細に論考されるように、アプリケーションウィンドウ２０４のコンテンツは、アプリケーションタブ４０４を介して提示され、アプリケーションウィンドウ２０６のコンテンツは、アプリケーションタブ４０８を介してアクセス可能である。更に、動作３０２および３０４を繰り返すことによって、ユーザーは、アプリケーションウィンドウ４０２に、電子メールアプリケーションのコンテンツを含むアプリケーションタブ４０６も追加したと仮定する。アプリケーションタブの提示に応答して、タブマネージャー１３２はアプリケーションウィンドウ２０４、および電子メールアプリケーションのコンテンツを以前に提示していたアプリケーションウィンドウを閉じる。
【００３６】
[0035]  アプリケーションウィンドウ４０２は、タイトルバー４１０およびタブ制御部分４１２も含み、これらは、アプリケーションウィンドウ４０２およびそのアプリケーションタブが最小化されるか、最大化されるかまたは閉じられることを可能にする。代替的にまたは付加的に、アプリケーションウィンドウ４０２は、アプリケーションウィンドウ４０２のタイトルバー４１０またはフレームの他のセクションを通じて受信された入力によって移動またはサイズ調整（またはリサイズ）されてもよい。アプリケーションウィンドウ４０２がサイズ調整されるとき、アプリケーションウィンドウ４０２のプライマリアプリケーションタブも、プライマリアプリケーションタブの各々によって占有されるアプリケーションウィンドウ４０２のエリアに対しそれぞれの比を維持するようにリサイズすることができる。
【００３７】
[0036]  各アプリケーションタブは、アプリケーションタブ４０４のタブ制御部分４１２によって示されるように、制御部分を含む。タブ制御部分４１２は、アプリケーションタブ４０４がプライマリ（例えば、最前部の）アプリケーションタブとして選択されるか、またはタブ制御部４１４を介して閉じられることを可能にする。通常、アプリケーションタブ４０６および４０８のための制御部分等のアプリケーションタブごとのタブ制御部は可視である。ここで、アプリケーションタブ４０６および４０８は、（図４の疑似シェーディングによって示されるように）アプリケーションウィンドウ４０２内でプライマリでなく、そのコンテンツは、プライマリであるアプリケーションタブ４０４によって覆い隠される。一方、アプリケーションタブ４０６および４０８の制御部分は可視であり、それによって、アプリケーションタブがアプリケーションウィンドウ４０２内でプライマリにされるか、閉じられるか、またはいくつかの場合、別のアプリケーションウィンドウに移動されることが可能になる。
【００３８】
[0037]  図５は、タブマネージャー１３２またはマルチアプリケーション環境モジュール１１８によって実行される動作を含む、アプリケーションウィンドウの所定のエリアに基づいてアプリケーションタブのサイズまたは位置を変更する方法５００を示す。以下の論考の一部において、図１のシステム１００、図２の動作環境２００、ならびに本明細書における他の場所において記載される他の方法および例示的な実施形態が参照される場合があるが、それらへの参照は例示のみを目的としている。
【００３９】
[0038]  ５０２において、所定のエリアを有するアプリケーションウィンドウ内でアプリケーションタブを提示するための入力が受信される。アプリケーションタブを提示するための入力は、アプリケーションウィンドウにアプリケーションタブを追加するか、アプリケーションウィンドウにおいてアプリケーションタブをプライマリにするか、またはアプリケーションウィンドウ内でアプリケーションタブを移動するための入力を含むことができる。入力は、アプリケーションタブの制御部分を介して受信される方向入力またはジェスチャー入力等の任意の適切なタイプの入力を含むことができる。いくつかの例では、入力は、新たなアプリケーションインターフェース（例えば、ウィンドウ）を起動するためのファイルプロトコルを介して受信される。そのような場合、起動されるアプリケーションのためのアプリケーションタブを、アプリケーションが起動されるアプリケーションウィンドウ等の既存のアプリケーションウィンドウ内に自動的にタブ作成することができる。アプリケーションウィンドウの所定のエリアは、半分のエリア、３分の１のエリア、４分の１のエリア、クアドラント等のアプリケーションウィンドウの任意の適切な部分を含むことができる。
【００４０】
[0039]  例として、アプリケーションウィンドウ６０２を含む、図６の作業空間６００を検討する。アプリケーションウィンドウ６０２は、アプリケーションタブ６０４、６０６および６０８を含み、これらのうち、アプリケーションタブ６０４はアプリケーションウィンドウ６０２内でプライマリである。作業空間６００に示されているように、非プライマリアプリケーションタブ６０６および６０８の制御部分は、アプリケーションタブ６０４の制御部分６１０と共に可視である。ここで、アプリケーションタブ６０４のコンテンツ（ワードプロセッシングコンテンツ）とアプリケーションタブ６０８のコンテンツ（ブラウザーコンテンツ）とを比較することをユーザーが望むと仮定する。比較を行うために、ユーザーは、アプリケーションウィンドウ６０２の所定のエリアに向けてアプリケーションタブ６０８の制御部分を介してドラッグ入力６１２を開始する。
【００４１】
[0040]  ５０４において、アプリケーションウィンドウの所定のエリアが、受信された入力に基づいて選択される。所定のエリアは、受信される入力の方向または入力の終了ロケーションに基づいて選択することができる。例えば、アプリケーションタブの制御部分を介して受信されるドラッギング入力は、所定のエリア、またはタイトルバーの一部分等のそれに関連付けられたアプリケーションウィンドウの非コンテンツ部分において終了することができる。代替的にまたは付加的に、アプリケーションウィンドウは、アプリケーションウィンドウタブの底部に沿って非コンテンツ部分を含んでもよい。いくつかの場合、この非コンテンツ部分は、下側の所定のエリア（例えば、下半分または下クアドラント）の選択に応答して提示されてもよく、または下側の所定のエリアを占有するアプリケーションタブの制御部分を含んでもよい。
【００４２】
[0041]  いくつかの実施形態では、アプリケーションウィンドウ内に存在するアプリケーションタブの数、またはいずれの所定のエリアが他のアプリケーションタブによって現在占有されているかに基づいて、所定のエリアの構成を決定することができる。例えば、１つのアプリケーションタブがアプリケーションウィンドウを占有する場合、アプリケーションウィンドウの所定の半分のエリアを選択のために利用可能にすることができる。加えて、２つまたは３つのアプリケーションタブがそれぞれアプリケーションウィンドウの半分または３分の１を占有する場合、第３のエリアまたはクアドラントエリアを選択に利用可能にすることができる。これらは、アプリケーションウィンドウの所定のエリアのいくつかの例にすぎず、更なる例が以下に説明される。
【００４３】
[0042]  この例に関連して、単一のアプリケーションタブ、すなわちアプリケーションタブ６０４のコンテンツがアプリケーションウィンドウ６０２を占有する。ここで、タブマネージャー１３２は、アプリケーションタブ６０４およびアプリケーションタブ６０８のコンテンツを、アプリケーションウィンドウ６０２のそれぞれの半分のエリアを通じて提示することができると判断する。したがって、ドラッグ入力６１２に基づいて、タブマネージャー１３２は、アプリケーションタブ６０８のコンテンツを中に提示するためのアプリケーションウィンドウ６０２の垂直の半分のエリアを選択する。
【００４４】
[0043]  ５０６において、アプリケーションタブのサイズまたは位置が、選択された所定のエリアに基づいて変更される。アプリケーションタブのサイズまたは位置は、アプリケーションタブのコンテンツが、アプリケーションウィンドウの所定のエリアを実質的に占有するように変更される。代替的にまたは付加的に、アプリケーションタブの優位性は、以前に非プライマリであったアプリケーションタブが提示のために選択されるときに変更される。いくつかの場合、現在提示されているアプリケーションタブのサイズまたは位置も、選択された所定のエリアと相補的なエリア等の別の所定のエリアに基づいて変更される。そのような場合において、現在提示されているアプリケーションウィンドウの大きさまたは位置は、現在提示されているアプリケーションタブのコンテンツが、他の所定のエリアを実質的に占有するように変更される。
【００４５】
[0044]  継続中の例において、タブマネージャー１３２は、アプリケーションタブ６０８のサイズおよび位置を変更し、アプリケーションタブ６０８のコンテンツが、アプリケーションウィンドウ６０２の右半分のエリアを満たすようにする。更に、タブマネージャー１３２はアプリケーションタブ６０４のサイズを変更し、アプリケーションタブ６０４のコンテンツがアプリケーションウィンドウ６０２の左半分を満たすようにする。アプリケーションタブ６０８のコンテンツの提示を可能にするために、タブマネージャー１３２は、アプリケーションウィンドウ６０２内でアプリケーションタブをプライマリにする。
【００４６】
[0045]  ５０８において任意選択で、アプリケーションタブのプレビューがアプリケーションタブの変更されたサイズまたは位置を視覚的に示すように提示される。プレビューの提示は、アプリケーションウィンドウの他の所定のエリア内等、それらのそれぞれの変更されたサイズまたは位置において、他の現在提示されているアプリケーションタブを示すことを含むことができる。アプリケーションタブのプレビューは、アプリケーションタブまたはそのコンテンツが提示される所定のエリアの輪郭を示すことによって視覚的に示すことができる。代替的にまたは付加的に、アプリケーションタブのプレビューは、アプリケーションウィンドウの他のコンテンツとの視覚コントラストを増大させるようにシェーディングまたはテクスチャー化することができる。プレビューが提示されている間の追加の入力の受信または入力の停止は、それぞれ、別の所定のエリアの選択を示すか、または現在選択されている所定のエリアの選択を確認することができる。
【００４７】
[0046]  アプリケーションタブのプレビューを提示する間に更なる入力が受信されることに応答して、動作５０８から、方法５００は、動作５１０に進むか、または動作５０２に戻ることができる。動作５０２に戻ることによって、ユーザーは、アプリケーションタブを提示するための別の所定のエリアを選択するオプションを与えられる。代替的に、方法５００は、入力の停止、所定のエリアの選択を確認する更なる入力（例えば、タップ、マウスクリックまたはキーストローク）、入力タイムアウトの満了等に応答して、動作５１０に進むことができる。
【００４８】
[0047]  現在の例に関連して、ユーザーが作業空間６１４に示されるようにドラッグ入力６１２を終了し、指（またはカーソル）をロケーション６１６に保持すると仮定する。ここで、タブマネージャーは、アプリケーションタブ６０８のプレビュー６１８を提示し、これについては、アプリケーションウィンドウ６０２の右半分をシェーディングすることによって目に見えるように示される。更に、タブマネージャーは、それぞれの変更されたサイズにおいてアプリケーションタブ６０４を提示し、これはアプリケーションウィンドウ６０２の左半分を満たす。
【００４９】
[0048]  ５１０において、アプリケーションタブが、所定のエリアにおいて、変更されたサイズでまたは変更された位置に提示される。アプリケーションタブは、アプリケーションタブのコンテンツがアプリケーションウィンドウの所定のエリアを満たすように提示することができる。更に、アプリケーションウィンドウの他のアプリケーションタブを、それぞれの変更されたサイズでまたはそれぞれの変更された位置に提示することができる。これを行うことによって、アプリケーションタブの最適化されたレイアウトをアプリケーションウィンドウ内に提示することができる。動作５１０から、方法５００は、全体的にまたは部分的に、ユーザーがアプリケーションウィンドウのアプリケーションタブのレイアウトを更に最適化またはカスタマイズすることを可能にするように繰り返すことができる。
【００５０】
[0049]  上記の例の締めくくりとして、ユーザーが、アプリケーションタブ６０８のプレビュー６１８が提示されている間に入力の提供を停止すると仮定する。図７の作業空間７００に示されているように、タブマネージャー１３２は、アプリケーションウィンドウ６０２の右半分のエリアにアプリケーションタブ６０８およびそのコンテンツを提示する。更に、タブマネージャー１３２は、アプリケーションタブ６０８の上であるが他の制御部分と別個に制御部分７０２を提示して、アプリケーションウィンドウ６０２の半分のエリアとのアプリケーションタブ６０８の関連付けを示す。アプリケーションタブ６０８の提示を可能にするために、タブマネージャーは、アプリケーションウィンドウ６０２の左半分のエリアにアプリケーションタブ６０４を提示する。
【００５１】
[0050]  方法５００の動作を繰り返すことによって、ユーザーはアプリケーションタブ６０６のコンテンツと、アプリケーションタブ６０４および６０８または任意の適切な数の他のアプリケーションタブのコンテンツとを比較することもできる。この例は、アプリケーションウィンドウ６０２のそれぞれの３分の１のエリアにおいてアプリケーションタブ６０４、６０６および６０８の提示を示す、作業空間７０４に示されている。上記で示したように、制御部分７０６は、アプリケーションタブ６０６の上であるが他のアプリケーションタブの制御部分と別個に提示され、アプリケーションウィンドウ６０２の３分の１のエリアとの関連付けを示す。代替的にまたは付加的に、アプリケーションタブは、制御部分を介して、アプリケーションタブを別のアプリケーションウィンドウまたは作業空間の異なるエリアにドラッグすることによって、アプリケーションウィンドウから除去することができる。
【００５２】
[0051]  これらは、コンテンツの最適化されたレイアウトを提供するようにアプリケーションウィンドウ内に提示するためにアプリケーションタブをサイズ調整および位置決めするいくつかの例にすぎない。それらの他の例が図８によって示されている。図８は、アプリケーションタブの様々な初期レイアウトを有するアプリケーションウィンドウを含む。ここで、アプリケーションウィンドウ８００は、アプリケーションタブ８０２および８０４を含み、これらは、アプリケーションウィンドウ８００の垂直方向の半分のエリアを占有し、アプリケーションタブ８０６に対してプライマリである。アプリケーションタブ８０４の制御部分をアプリケーションウィンドウ８００の下側エッジまでドラッグする入力８０８に応答して、タブマネージャーは、アプリケーションウィンドウ８００の下側の水平方向の半分のエリアに提示するためにアプリケーションタブ８０４をサイズ調整および位置決めする。これを行うために、タブマネージャー１３２はまた、アプリケーションウィンドウ８００の上側の水平方向の半分のエリアに提示するためにアプリケーションタブ８０２をサイズ調整および位置決めする。
【００５３】
[0052]  代替的に、アプリケーションタブは、アプリケーションウィンドウの４分の１のエリアまたはクアドラントに提示することができる。これは、アプリケーションタブ８１２、８１４および８１６を含む例示的なアプリケーションウィンドウ８１０によって示される。ここで、入力８１８は、非プライマリタブ８１６の制御部分を介して受信される。非プライマリタブ８１６の制御部分は、アプリケーションウィンドウ８１０の右下の角にドラッグされる。入力８１８に応答して、タブマネージャーは、アプリケーションウィンドウ８１０の右下のクアドラントにおける提示のためにアプリケーションタブ８１６をサイズ調整および位置決めする。これを行うために、タブマネージャー１３２はまた、アプリケーションウィンドウ８１０の右上のクアドラントにおける提示のためにアプリケーションタブ８１４をサイズ調整および位置決めする。
【００５４】
[0053]  上記で示したように、タブマネージャー１３２は、入力が受信された他のアプリケーションタブおよびロケーションによっていずれの所定のエリアが占有されるかに基づいてアプリケーションウィンドウの所定のエリアを選択することができる。いくつかの例において、タブマネージャー１３２は、受信された入力に隣接または近接している他のアプリケーションタブをリサイズまたは再位置決めするように構成することができる。例えば、アプリケーションタブ８１６の制御部分を、アプリケーションウィンドウ８１０の下側エッジ（図示せず）の中央にドラッグすることによって、アプリケーションタブ８１２および８１４をアプリケーションウィンドウの上側のそれぞれのクアドラントにリサイズすることができる。次に、タブマネージャー１３２は、アプリケーションウィンドウ８１０の下側の水平方向の半分のエリアにアプリケーションタブ８１６を提示することができる。
【００５５】
[0054]  次に、アプリケーションタブ８２２、８２４、８２６および８２８を含むアプリケーションウィンドウ８２０を検討する。これらのうちの最後のものはプライマリでない。ここで、入力８３０は、アプリケーションタブ８２８の制御部分を、アプリケーションウィンドウ８２０の左下エッジに向かってドラッグする。これは、タブマネージャー１３２に、アプリケーションタブ８２２を左上クアドラントにリサイズさせ、アプリケーションタブ８２８をアプリケーションウィンドウ８２０の左下クアドラントに提示させるのに効果的である。
【００５６】
[0055]  アプリケーションタブの水平方向の半分のエリアは、アプリケーションタブを提示するためにクアドラントに分割することもできる。この例が、アプリケーションウィンドウのそれぞれの水平方向の半分のエリアを占有するアプリケーションタブ８３４および８３６を含むアプリケーションウィンドウ８３２によって示されている。ここで、８３８の制御部分が、入力８４０を介して、アプリケーションウィンドウ８３２の反対側の角にドラッグされる。これに応答して、タブマネージャーは、アプリケーションタブ８３６をリサイズして、アプリケーションウィンドウ８３２の右下クアドラントにアプリケーションタブ８３８の提示できるようにする。
【００５７】
[0056]  図９は、タブマネージャー１３２またはマルチアプリケーション環境モジュール１１８によって実行される動作を含む、アプリケーションウィンドウのアプリケーションタブ間のジョイントディバイダを設けるための方法９００を示す。以下の論考の一部において、図１のシステム１００、図２の動作環境２００、ならびに本明細書における他の場所において記載される他の方法および例示的な実施形態を参照される場合があるが、それらへの参照は例示のみを目的としている。
【００５８】
[0057]  ９０２において、第１のアプリケーションタブおよび第２のアプリケーションタブがアプリケーションウィンドウに提示される。アプリケーションタブは、アプリケーションウィンドウの半分、３分の１またはクアドラント等のアプリケーションウィンドウのそれぞれの所定のエリアに提示することができる。アプリケーションタブの各々が、様々なタイプのアプリケーションとすることができるそれぞれのアプリケーションのコンテンツを含む。いくつかの場合、３つ以上のアプリケーションタブがアプリケーションウィンドウに提示され、アプリケーションウィンドウのそれぞれの部分を占有する。
【００５９】
[0058]  例として、アプリケーションウィンドウ１００２を含む図１０の作業空間１０００を検討する。ここで、アプリケーションタブ１００４および１００６は、アプリケーションウィンドウ１００２のそれぞれの半分のエリアにより提示される。アプリケーションウィンドウ１００２はアプリケーションタブ１００８も含み、アプリケーションタブ１００８は、非プライマリであり、このため、多くの場合にアプリケーションタブ１００４および１００６によって覆い隠される。
【００６０】
[0059]  ９０４において、第１のアプリケーションタブと第２のアプリケーションタブとの間にジョイントディバイダが設けられる。ジョイントディバイダは、第１のアプリケーションタブのエッジが第２のアプリケーションタブのエッジと接する（例えば、重複なしで接触する）ときはいつでも設けることができる。いくつかの場合、ジョイントディバイダは、接している各アプリケーションタブのそれぞれのセクションに沿って設けられる。他の例では、ジョイントディバイダは、アプリケーションタブ間が接する量にかかわらず、各それぞれのアプリケーションタブの長さ全体に沿って設けられる。アプリケーションウィンドウ内のアプリケーションタブのうちの１つの移動、追加またはサイズ調整等の任意の適切な動作によってアプリケーションタブのエッジ間が接することができる。この例との関連において、タブマネージャー１３２は、アプリケーションタブ１００４および１００６の隣接するエッジ間で、またはそれらのエッジに沿って、ジョイントディバイダ１０１０を設ける。
【００６１】
[0060]  任意選択で９０６において、ジョイントディバイダの視覚インジケーションが提示される。ジョイントディバイダを提示することは、アプリケーションタブ間のジョイントディバイダの視覚または触覚インジケーションを提供することを含むことができる。視覚インジケーションは、カーソルがジョイントディバイダに接近するとき等の、ジョイントディバイダに近接する入力に応答して提示することができる。いくつかの場合、視覚インジケーションは、ジョイントディバイダを共有するアプリケーションタブの上にまたはそのアプリケーションタブのエッジに沿って提示される。他の場合、視覚インジケーションは、ジョイントディバイダ（例えば、ジョイントガーター）を共有する２つのアプリケーションウィンドウ間に提示される。そのような場合、一方または双方のアプリケーションウィンドウのサイズを縮小して、ジョイントディバイダを提示するための空間を提供するようにしてもよい。代替的にまたは付加的に、触覚フィードバック（例えば、凹凸または起伏）を用いてジョイントディバイダの存在を示すことができる。
【００６２】
[0061]  ９０８において、第１のアプリケーションタブおよび第２のアプリケーションタブのそれぞれのサイズを変更するための入力がジョイントディバイダを介して受信される。受信される入力は、カーソルの動き、タッチ入力または矢印キーを介して受信される方向入力等の任意の適切なタイプの入力を含むことができる。継続中の例を続けると、入力１０１２は、アプリケーションタブ１００４および１００６をリサイズするようにジョイントディバイダ１０１０を介して受信される。ここで、入力１０１２が、タッチスクリーンを介して受信されるタッチ入力であると仮定すると、これによってユーザーは、ジョイントディバイダ１０１０を水平方向にドラッグすることによってアプリケーションタブをリサイズすることが可能になる。
【００６３】
[0062]  ９１０において、第１のアプリケーションタブおよび第２のアプリケーションタブのそれぞれのサイズが、入力に応答して同時に変更される。アプリケーションタブのそれぞれのサイズは、方向カーソル移動またはタッチ入力等の入力が受信されるときに変更することができる。例えば、アプリケーションタブの変更されたサイズは、入力が受信される軸に沿ってジョイントディバイダをスライドさせることによって視覚的に示す（例えば、プレビューする）ことができる。このため、スライドするジョイントディバイダは、第１および第２のアプリケーションタブの同時のサイズ調整を視覚的に示すことができる。
【００６４】
[0063]  いくつかの実施形態では、アプリケーションタブのうちの１つまたは複数を、アプリケーションタブに関連付けられたユーザーインターフェースのプリファレンスに基づいてサイズ調整することができる。例えば、アプリケーションタブのサイズは、ジョイントディバイダによってアプリケーションタブの最小サイズに達するまで縮小することができる。アプリケーションタブの最小サイズに達すると、タブマネージャー１３２は、ユーザーインターフェースのプリファレンスに従ってアプリケーションタブのサイズの縮小を停止させることができる。
【００６５】
[0064]  代替的にまたは付加的に、最小のサイズのアプリケーションタブのサイズを更に縮小させる後続の入力が受信される場合、アプリケーションタブのアプリケーションウィンドウのサイズは、入力の方向において、アプリケーションタブの動きに適応するように増大させることができる。更に他の場合、最小の大きさのアプリケーションウィンドウは、非プライマリにすることができ、これによって、ジョイントディバイダを介した隣接するプライマリアプリケーションタブのサイズが更に増大することが可能になる。そのような場合、最小のサイズのウィンドウは、ジョイントディバイダがアプリケーションタブをその最小のサイズに適応させるのに十分遠くにドラッグされるのに応じて、再びプライマリにすることができる。
【００６６】
[0065]  ジョイントディバイダの移動は、アプリケーションウィンドウのエッジに沿って所定のポイントに対する誘引性（attraction）または親和性（affinity）（例えば、磁性（magnetism））を呈することもできる。例えば、ジョイントディバイダは、アプリケーションウィンドウの所定のエリアに関連付けられたポイントに「スナップ」することができる。これを行うことによって、ジョイントディバイダの使用は、アプリケーションウィンドウの所定のエリアにサイズ調整されるアプリケーションタブを提供することができる。これは、対称的なレイアウトにおいてアプリケーションタブをサイズ調整する際にユーザーを支援するのに効果的とすることができる。代替的に、アプリケーションウィンドウのエッジに沿ったポイントへの誘引性は、ユーザープリファレンスまたはキー入力（例えば、ＣＴＲＬキーのホールド）に応答して無効にすることができる。
【００６７】
[0066]  この例の締めくくりとして、入力１０１２は、作業空間１０１４に示すようにジョイントディバイダ１０１０を右にドラッグする。ここで、入力１０１２は、ジョイントディバイダ１０１０の位置によって示される点１０１６において停止する。入力１０１２に基づいて、タブマネージャーは、アプリケーションタブ１００４のサイズを増大させ、アプリケーションタブ１００６のサイズを縮小させ、アプリケーションタブがアプリケーションウィンドウ１００２のそれらのそれぞれの部分を満たすようにする。
【００６８】
[0067]  いくつかの実施形態では、１つまたは複数のエッジに沿って互いに接する複数のアプリケーションタブ間でジョイントディバイダが設けられる。例えば、２つのアプリケーションタブのそれぞれのエッジが第３のアプリケーションタブのエッジに接するとき、単一のジョイントディバイダを設けることができる。例として、アプリケーションタブ１１０２、１１０４および１１０６を含む図１１のアプリケーションウィンドウ１１００を検討する。ここで、ジョイントディバイダ１１０８が設けられ、ここで、アプリケーションタブ１１０４および１１０６のエッジがアプリケーションタブ１１０２のエッジに接する。
【００６９】
[0068]  アプリケーションウィンドウ１１００に示すように、ジョイントディバイダ１１０８を介して受信される入力は、水平軸に沿った３つ全てのアプリケーションタブのサイズ調整を可能にする。更に、アプリケーションタブ１１０４の別のエッジがアプリケーションタブ１１０６の別のエッジに接するところでジョイントディバイダ１１１０が設けられる。示されるように、ジョイントディバイダ１１１０を介して受信される入力は、垂直軸に沿ったアプリケーションタブ１１０４および１１０６のサイズ調整を可能にする。別個のものとして示されているが、ジョイントディバイダ１１０８およびジョイントディバイダ１１１０は、アプリケーションタブのエッジが交差するポイントにおいて、ジョイントコーナーコントロールとして合わせて実装することができる。ジョイントコーナーを介して受信される入力は、水平軸および／または垂直軸に沿って（例えば、直交して）アプリケーションタブを同時にサイズ調整することができる。
【００７０】
[0069]  ジョイントコーナーの例が、アプリケーションタブ１１１４、１１１６、１１１８および１１２０を含むアプリケーションウィンドウ１１１２に示されている。ここで、各アプリケーションタブの２つのエッジが他のアプリケーションタブのそれぞれのエッジに接するところでコーナーディバイダ１１２２が設けられる。代替的にまたは付加的に、コーナーコントロールは、２つの隣接しないアプリケーションタブ（例えば、アプリケーションタブ１１１４および１１２０）のコーナーが交差または接するところではどこでも設けることができる。示すように、ジョイントコーナー１１２２を介して受信される入力は、４つ全てのアプリケーションタブが、直交方向の入力等を通じて垂直方向および水平方向の双方において同時にサイズ調整されることを可能にする。
【００７１】
[0070]  いくつかの実施形態では、ジョイント分離コントロールまたはアフォーダンスも提示され、それによってジョイントディバイダを無効にすることができる。ジョイント分離コントロールは、ジョイントディバイダのセクション、ジョイントコントロールの１つのエッジ、またはジョイントコントロールの双方のエッジの上に提示することができる。いくつかの場合、ジョイント分離コントロールは、ユーザーがジョイントディバイダを「解除する」ことを可能にし、これにより、以前にジョイントディバイダを共有していたアプリケーションタブの個々のサイズ調整または移動が可能になる。
【００７２】
[0071]  ジョイントディバイダは、ジョイントディバイダのダブルクリック、キー（例えば、ＣＴＲＬ）をホールドしながらのジョイントディバイダのクリック、またはジョイントディバイダの一部でないエッジを介したアプリケーションウィンドウのサイズ調整もしくは移動等の他の動作によっても無効にされてもよい。いくつかの実施形態では、ジョイント分離コントロールは、アプリケーションウィンドウからジョイントコントロールを除去し、アプリケーションタブのうちの単一のタブをアプリケーションウィンドウにおいてプライマリにすること等によってアプリケーションタブのレイアウトをリセットすることができる。そのような場合、以前にジョイントコントロールに関連付けられていた他のアプリケーションタブを非プライマリにするかまたは閉じることができる。
【００７３】
[0072]  ジョイント分離コントロールは、ジョイントディバイダに近接して入力またはカーソル移動が受信されるのに応答して提示することができる。図１１は、カーソル移動に応答してジョイント分離コントロールを提示する例を示す。カーソルの移動は、アプリケーションウィンドウ１１２４、アプリケーションウィンドウ１１２６およびアプリケーションウィンドウ１１２８を含む示される作業空間の進行時に示される。アプリケーションウィンドウ１１２６に示されるように、カーソル１１３６の移動は、近接性閾値１１３８に基づいて検出することができる。近接性閾値１１３８は、ジョイントディバイダから１０ピクセル等の任意の適切な寸法を有して構成することができ、受信される入力のタイプに基づいて再構成することができる。カーソル１１３６が近接性閾値１１３８をまたぐとき、アプリケーションウィンドウ１１２８に示されるように、ジョイント分離コントロール１１４０が、アプリケーションタブ１１３０および１１３２の接するエッジにわたって提示される。
【００７４】
[0073]  図１２は、タブマネージャー１３２またはアプリケーションマネージャー１２８によって実行される動作を含む、アプリケーションウィンドウのアプリケーションタブをグループ化するための方法１２００を示す。以下の論考の一部において、図１のシステム１００、図２の動作環境２００、ならびに本明細書における他の場所において記載される他の方法および例示的な実施形態が参照される場合があるが、それらへの参照は例示のみを目的としている。
【００７５】
[0074]  １２０２において、アプリケーションウィンドウ内に複数のアプリケーションタブが提示される。アプリケーションタブは、アプリケーションウィンドウの半分、３分の１または４分の１（例えば、クアドラント）等のアプリケーションウィンドウのそれぞれの所定のエリアに提示することができる。いくつかの場合、アプリケーションインターフェースは、計算機用途の場合等、固定のサイズである。そのような場合、アプリケーションインターフェースは、そのネイティブサイズまたは固定のサイズでアプリケーションタブ内に提示することができる。アプリケーションタブの各々がそれぞれのアプリケーションのコンテンツを含み、これは異なるタイプのアプリケーションとすることができる。代替的にまたは付加的に、アプリケーションタブの１つの制御部分のみがアプリケーションウィンドウの最上部または最低部の非コンテンツエリアに提示されるように、アプリケーションウィンドウのうちのいくつかは非プライマリとすることができる。
【００７６】
[0075]  例として、アプリケーションウィンドウ１３０２および１３０４を含む、図１３の作業空間１３００を検討する。図示されていないが、ウィンドウ１３０２のアプリケーションタブが、図７のアプリケーションウィンドウ６０２のアプリケーションタブに類似して構成され、アプリケーションタブ６０４、６０６および６０８を含むと仮定する。更に、アプリケーションタブ１３０６、１３０８および１３１０はアプリケーションウィンドウ１３０４内に提示される。ここで、アプリケーションタブ１３０６および１３０８は、アプリケーションウィンドウ１３０４内のプライマリタブであり、それぞれ、スプレッドシートアプリケーションおよび計算機アプリケーションのコンテンツを提示する。計算機アプリケーションのコンテンツのためのサイズおよびアスペクト比が固定であり、このため、アプリケーションタブ１３０８内のネイティブアプリケーションインターフェース１３１２によって提示されることに留意されたい。
【００７７】
[0076]  １２０４において、アプリケーションウィンドウの複数のアプリケーションタブが共にグループ化される。アプリケーションタブのそれぞれの組を、マルチアプリケーション環境内のアプリケーションウィンドウごとにグループ化することができ、これにより、アプリケーションタブの複数のグループを提供することができる。いくつかの場合、アプリケーションタブのグループは、それぞれの仮想デスクトップにも関連付けられる。そのような場合、ユーザーは、異なる仮想デスクトップ間でピボットし、アプリケーションタブの異なるグループにアクセスする。
【００７８】
[0077]  アプリケーションタブをグループ化することは、グループ化されたアプリケーションウィンドウにおいて動作が実行されることを可能にするのに効果的である。例えば、グループ化されたアプリケーションタブを、開くか、閉じるか、最小化するか、リサイズするか、切り替えるか、または共に動かすことができる。例えば、１つのアプリケーションタブが親アプリケーションウィンドウに切り替えられるとき、そのアプリケーションタブとグループ化されたアプリケーションタブを、マルチアプリケーション環境においてプライマリにすることができる。いくつかの場合、グループ化されたアプリケーションタブは、スタートメニュー、アプリケーション管理ＵＩ、またはホットキースイッチャー（例えば、ＡＬＴ＋ＴａｂまたはＷｉｎｄｏｗｓ（商標）＋Ｔａｂ）等の切り替えアフォーダンスにおいて共に提示される。
【００７９】
[0078]  この例との関連において、アプリケーションマネージャー１２８は、アプリケーションウィンドウ１３０２のアプリケーションタブ６０４、６０６および６０８を共にグループ化する。図６との関連において、ユーザーによってこれらのアプリケーションタブがアクセスされ、研究論文を書くために組織化されたことを想起されたい。アプリケーションマネージャー１２８は、アプリケーションウィンドウ１３０４内に提示されるアプリケーションタブ１３０６、１３０８および１３１０もグループ化する。ここで、ユーザーが、アカウント割り当てを完了するために、これらのアプリケーションタブにアクセスし、これらのアプリケーションタブを配置したと仮定する。したがって、ユーザーは、研究論文を書くための１つのグループと、アカウント割り当てを完了するための別のグループとの２つのアプリケーションタブグループを作成した。
【００８０】
[0079]  １２０６において、アプリケーションタブまたはアプリケーションウィンドウのうちの１つの状態を変更するための入力が受信される。この入力は、アプリケーションウィンドウを最小化するか、最大化するか、切り替えるかまたは閉じるための入力を含むことができる。いくつかの場合、入力は、アプリケーションタブが提示されるアプリケーションウィンドウのタイトルバーを通じて、または非プライマリアプリケーションウィンドウのタイトルバーを通じて受信される。他の場合、入力は、アプリケーション管理メニューまたはキューを用いることによって受信することができる。例えば、アプリケーションタブのうちの１つまたはアプリケーションタブグループを、スタートメニュー、アプリケーション管理ＵＩ、ホットキースイッチャー等の切り替えアフォーダンスを通じて提示するために選択することができる。継続中の例では、ユーザーがプロジェクトを切り替え、研究論文に取り組むことを望むと仮定する。これを行うために、ユーザーは、ＡＬＴ＋ＴａｂまたはＷｉｎｄｏｗｓ（商標）＋Ｔａｂを用いてアプリケーションキューをサイクルすることによって、アプリケーションウィンドウ１３０２のアプリケーションタブのうちの１つを選択する。
【００８１】
[0080]  １２０８において、グループ化されたアプリケーションタブのそれぞれの状態が受信された入力に基づいて変更される。これは、アプリケーションタブのグループを最小化するか、最大化するか、切り替えるか、復元するかまたは閉じることを含むことができる。アプリケーションタブのグループを切り替えるかまたは復元するとき、アプリケーションタブは、最小化されるか、閉じられるか、または非プライマリにされる前のアプリケーションタブの構成またはレイアウト等の以前に状態に基づいて提示することができる。この例の締めくくりとして、アプリケーションマネージャーは、アプリケーションウィンドウ１３０４、そのアプリケーションタブを作業空間１３１４においてプライマリにする。このため、単一のアプリケーションタブの選択を通じて、ユーザーは、自身のプロジェクトに関係するアプリケーションタブの別のグループにアクセスすることができる。
【００８２】
[0081]  図１４は、タブマネージャー１３２またはマルチアプリケーション環境モジュール１１８によって実行される動作を含む、アプリケーションウィンドウにアプリケーションタブを追加するための方法１４００を示す。以下の論考の一部において、図１のシステム１００、図２の動作環境２００、ならびに本明細書における他の場所において記載される他の方法および例示的な実施形態が参照される場合があるが、それらへの参照は例示のみを目的としている。
【００８３】
[0082]  １４０２において、アプリケーションウィンドウにアプリケーションタブを追加するための入力が受信される。アプリケーションウィンドウは、アプリケーションウィンドウの所定のまたはその他のそれぞれのエリアを占有する任意の数の既存のアプリケーションタブを含むことができる。いくつかの場合、入力は、アプリケーションウィンドウに関連付けられたアプリケーションタブの制御部分またはアプリケーションタブ制御部によって受信されたジェスチャー入力、タップ入力または方向入力である。そのような場合、アプリケーションタブ制御部は、他のアプリケーションタブの制御部分に近接して、またはアプリケーションウィンドウのタイトルバー内に位置することができる。代替的にまたは付加的に、音声入力、キーボード入力（例えば、ファンクションキーまたはホットキー）等の他のタイプの入力を受信することができる。
【００８４】
[0083]  例として、アプリケーションウィンドウ１５０２を含む、図１５の作業空間１５００を検討する。アプリケーションウィンドウ１５０２はアプリケーションタブ１５０４および１５０６を含み、それらのうち、アプリケーションタブ１５０４がアプリケーションウィンドウ１５０２内でプライマリである。作業空間１５００内に示されるように、非プライマリアプリケーションタブ１５０６の制御部分が、アプリケーションウィンドウ１５０２のタイトルバーエリアにおいて可視である。更に、アプリケーションウィンドウ１５０２は、アプリケーションタブ１５０４および１５０６の制御部分に隣接して配置されたアプリケーションタブ制御部１５０８（例えば、タブ起動部）を含む。ここで、現在アプリケーションタブ６０４のコンテンツ（ワードプロセッシングコンテンツ）に取り組んでいるユーザーが、アプリケーションウィンドウ１５０２内に、ウェブブラウザーのコンテンツを提示するための別のアプリケーションタブを追加することを所望すると仮定する。これを行うために、ユーザーは、アプリケーションウィンドウ１５０２のアプリケーションタブ制御部１５０８を介してタップ入力を開始する。
【００８５】
[0084]  任意選択で１４０４において、アプリケーションタブを追加するアプリケーションウィンドウの所定のエリアが選択される。アプリケーションウィンドウの所定のエリアは、動作１４０２において受信される入力（例えば、ドラッグ入力）またはその後受信される追加の入力（例えば、後続のタップ入力）に基づいて選択される。アプリケーションウィンドウの所定のエリアは、受信される入力の方向または入力が終了するロケーションに基づいて選択することができる。例えば、アプリケーションタブ制御部を介して受信されるドラッグ入力は、所定のエリア、またはタイトルバーの一部分等の所定のエリアに関連付けられたアプリケーションウィンドウの非コンテンツ部分において終了する場合がある。代替的にまたは付加的に、アプリケーションウィンドウは、アプリケーションタブの下部に沿って非コンテンツ部分を含むことができる。いくつかの場合、この非コンテンツ部分は、下側の所定のエリア（例えば、下半分または下部のクアドラント）の選択に応答して提示することができるか、または下側の所定のエリアを占有するアプリケーションタブの制御部分を含むことができる。
【００８６】
[0085]  １４０６において、追加のアプリケーションタブを提示する所定のエリアが決定される。この決定は、アプリケーションタブを提示するための所望のエリアを示す入力をユーザーが提供するとき等の動作１４０４において受信される入力に基づくことができる。代替的に、所定のエリアは、現在提示されているアプリケーションタブによって占有されているアプリケーションウィンドウのエリアに基づいて選択することができる。いくつかの場合、アプリケーションウィンドウの既存のアプリケーションタブは、追加のアプリケーションタブによって占有されるエリアを計上するようにリサイズされる。例えば、２つの既存のアプリケーションタブがアプリケーションウィンドウのそれぞれの半分のエリアを占有する場合、これらのアプリケーションタブは、第３のエリアまでリサイズされ、それによって、別の第３のエリアが、追加のアプリケーションタブの提示のために選択されることを可能にする。
【００８７】
[0086]  この例との関連において、タブマネージャー１３２は、別のアプリケーションタブを追加するためのアプリケーションウィンドウ１５０２の所定のエリアを決定する。ユーザーは、アプリケーションタブを追加するための所望のエリアを示さなかったため、タブマネージャー１３２は、プライマリアプリケーションタブ１５０４に基づいて、他のアプリケーションタブを追加するための所定のエリアを決定する。これは図１５の作業空間１５１０に示されており、半分のエリア１５１２が追加のアプリケーションタブの提示のために選択される。ここで、アプリケーションタブ１５０４が、アプリケーションウィンドウに追加されるアプリケーションタブのサイズをプレビューするようにリサイズされることに留意されたい。
【００８８】
[0087]  １４０８において、所定のエリア内に提示するために選択可能な１組のアプリケーションタブが決定される。これらのアプリケーションタブは、任意の適切な文書、タスク、アプリケーション、コンテンツ、メッセージ、通知等に関連付けることができる。いくつかの場合、アプリケーションタブの組は、アプリケーションウィンドウの既存のアプリケーションタブとグループ化またはリンク付けされるアプリケーションタブを含む。例えば、アプリケーションウィンドウにおいて現在提示されているアプリケーションタブと共に以前に提示された任意のアプリケーションタブは、アプリケーションウィンドウに戻すように加えるように選択可能とすることができる。他の場合、選択可能なアプリケーションタブは、直近で使用されたもの、最も頻繁に使用されているもの、またはユーザーが定義したデフォルトアプリケーションタブとすることができる。
【００８９】
[0088]  継続中の例を続けると、タブマネージャー１３２は、ユーザーによって選択するためのアプリケーションタブの組を編纂する。アプリケーションタブのこの組は、直近で使用されたアプリケーションタブ、最も頻繁に用いられるアプリケーションタブ、およびアプリケーションタブ１５０４またはそのコンテンツとグループ化されたアプリケーションタブを含む。グループ化されたアプリケーションタブは、アプリケーションタブ１５０４のワードプロセッシングアプリケーションを用いてアプリケーションウィンドウ内に以前に提示されたアプリケーションタブを含むことができる。
【００９０】
[0089]  １４１０において、アプリケーションタブの視覚表現が、アプリケーションウィンドウの所定のエリアに提示される。これらのアプリケーションタブは、所定のエリアに提示するために選択可能なこれらのアプリケーションタブを含む。アプリケーションウィンドウの視覚表現は、アプリケーションタブのテキスト、アイコンもしくは縮小されたサイズの画像、またはサムネイル画像等の関連付けられたアプリケーションを含むことができる。これらの縮小されたサイズの画像は、アプリケーションウィンドウのコンテンツまたは以前に提示されたコンテンツのプレビューを視覚的に示すことができる。いくつかの場合、視覚表現は、所定のエリアに近接したメニューまたはリストを介して提示される。そのような場合、アプリケーションタブの視覚表現は、直近の使用、最も頻繁な使用、既存のアプリケーションタブとの関連性等の任意の適切な判断基準に基づいて順序付けまたは組織化することができる。
【００９１】
[0090]  この例との関連において、アプリケーションタブ起動メニュー１５１４（タブ起動部１５１４）がアプリケーションウィンドウ１５０２の半分のエリア１５１２に提示される。ここで、タブ起動部１５１４は、半分のエリア１５１２における提示のために選択可能なそれぞれのアプリケーションタブを表すアプリケーションアイコンセット１５１６を含む。これらのアプリケーションタブは、直近で使用されたアプリケーションタブ、最も頻繁に用いられるアプリケーションタブ、およびアプリケーションタブ１５０４とグループ化されるアプリケーションタブを含む。
【００９２】
[0091]  １４１２において、アプリケーションタブのうちの１つを選択する入力が、仮想表現のうちの対応する１つを介して受信される。入力は、カーソル入力、ジェスチャー入力またはタッチ入力等の任意の適切な入力を含むことができる。いくつかの場合、入力は、アプリケーションタブを提示するための別の所定のエリアを選択するのに効果的なジェスチャーまたは方向入力（例えば、別の所望のエリアへの仮想表現のドラッグ）を含む。進行中の例を継続すると、タップ入力１５１８は、タブ起動部１５１４のブラウザーアイコンの視覚表現を介して受信される。
【００９３】
[0092]  １４１４において、選択されたアプリケーションタブは、アプリケーションウィドウの所定のエリアに提示される。アプリケーションタブは、ウィンドウの所定のエリアを満たすかまたは完全に占有するようにサイズ調整される。一方、いくつかの場合、アプリケーションのユーザーインターフェースは、アプリケーションタブの全体を占有しない場合がある（例えば、計算機または固定サイズのアプリケーション）。アプリケーションタブを提示する前に、アプリケーションウィンドウ内のアプリケーションタブのサイズまたは位置を可視的に示すようにアプリケーションタブのプレビューを提示することができる。
【００９４】
[0093]  この例の締めくくりとして、図１６の作業空間１６００は、アプリケーションウィンドウ１５０２の半分のエリアにおけるアプリケーションタブ１６０２の提示を示す。これによって、ユーザーは、単一のアプリケーションウィンドウのそれぞれのアプリケーションタブ内のワードプロセッシングコンテンツおよびブラウザーコンテンツの双方を好都合に閲覧することが可能になる。
【００９５】
[0094]  任意選択で、方法１４００の動作は、アプリケーションウィンドウの他の所定のエリアを分割し満たすように繰り返し実行することができる。これを行うことによって、アプリケーションウィンドウの最適化されたレイアウトが、最小のユーザーインタラクションを用いて提供され得る。これは、例示的なアプリケーションウィンドウ１６０４によって示され、これはアプリケーションタブ１６０６および１６０８を含む。ここで、入力１６１０はアプリケーションタブ制御部１６１２を介して受信され、これは、アプリケーションウィンドウ１６０４の右下コーナーにドラッグされる。入力１６１０に応答して、タブマネージャー１３２はタブ起動部１６１４を提示し、これによって、ユーザーはアプリケーションウィンドウ１６０４に提示するための追加のアプリケーションタブを選択することが可能である。次に、タブマネージャー１３２は、アプリケーションタブの選択に応答して、アプリケーションウィンドウ１６０４の右下クアドラントにアプリケーションタブ１６１６を提示する。代替的にまたは付加的に、アプリケーションタブは、図８に示される入力および／またはエリアの組み合わせ等の方向入力を介してアプリケーションウィンドウの他の所定のエリアに追加することができる。これらは、アプリケーションタブをアプリケーションウィンドウにどのように追加することができるいくつかの例にすぎず、本明細書に記載される技法の任意の組み合わせを用いて、より多くの例を実施することができる。
【００９６】
[0095]  これらの方法の態様は、ハードウェア（例えば、固定の論理回路）、ファームウェア、システムオンチップ（ＳｏＣ）、ソフトウェア、マニュアル処理、またはそれらの任意の組み合わせにおいて実施することができる。ソフトウェア実施は、コンピュータープロセッサによって実行されるとき、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、機能等の指定されたタスクを実行するプログラムコードを表す。プログラムコードは、コンピュータープロセッサのローカルおよび／またはリモートの双方の１つまたは複数のコンピューター可読メモリデバイスに記憶することができる。本方法は、複数のコンピューティングデバイスによって、分散コンピューティング環境において実施されてもよい。
【００９７】
例示的なデバイス
[0096]  図１７は、異種アプリケーションタブを可能にする技法を実施するように前の図１〜図１６を参照して説明されるような、任意のタイプのクライアント、サーバー、および／またはコンピューティングデバイスとして実施することができる例示的なデバイス１７００の様々なコンポーネントを示す。実施形態において、デバイス１７００は、有線および／または無線デバイスのうちの１つまたは組み合わせとして、テレビジョンクライアントデバイス（例えば、テレビジョンセットトップボックス、デジタルビデオレコーダー（ＤＶＲ）等）、コンシューマーデバイス、コンピューターデバイス、サーバーデバイス、ポータブルコンピューターデバイス、ユーザーデバイス、通信デバイス、ビデオ処理および／またはレンダリングデバイス、アプライアンスデバイス、ゲーミングデバイス、電子デバイスの一形態として、および／または任意のタイプのデバイスとして実施することができる。デバイス１７００は、そのデバイスを動作させるユーザー（例えば、人物）および／またはエンティティに関連付けることができ、デバイスとは、ユーザー、ソフトウェア、ファームウェア、および／またはデバイスの組み合わせを含む論理デバイスを表す。
【００９８】
[0097]  デバイス１７００は、デバイスデータ１７０４（例えば、受信データ、受信されているデータ、ブロードキャストのためにスケジューリングされたデータ、データのデータパケット等）の有線および／または無線通信を可能にする通信モジュール１７０２を含む。デバイスデータ１７０４または他のデバイスコンテンツは、デバイスの構成設定、デバイス上に記憶されているメディアコンテンツ、および／またはデバイスのユーザーに関連付けられた情報を含むことができる。デバイス１７００上に記憶されるメディアコンテンツは、任意のタイプのオーディオ、ビデオ、および／または画像データを含むことができる。デバイス１７００は、１つまたは複数のデータ入力１７０６を含み、これを介して、ユーザー選択可能な入力、メッセージ、ミュージック、テレビジョンメディアコンテンツ、記録されたビデオコンテンツ、ならびに任意のコンテンツおよび／またはデータソースから受信した任意の他のタイプのオーディオ、ビデオおよび／または画像データ等の任意のタイプのデータ、メディアコンテンツ、および／または入力を受信することができる。
【００９９】
[0098]  デバイス１７００は、シリアルおよび／またはパラレルインターフェース、無線インターフェース、任意のタイプのネットワークインターフェース、モデムのうちの任意の１つまたは複数として、および任意の他のタイプの通信インターフェースとして実施することができる通信インターフェース１７０８も含む。通信インターフェース１７０８は、デバイス１７００と通信ネットワークとの間に接続および／または通信リンクを提供し、この通信ネットワークによって、他の電子デバイス、コンピューティングデバイスおよび通信デバイスがデバイス１７００と通信する。
【０１００】
[0099]  デバイス１７００は、デバイス１７００の動作を制御し、マルチアプリケーション環境を有効にする技法を可能にする様々なコンピューター実行可能命令を処理する１つまたは複数のプロセッサ１７１０（例えば、マイクロプロセッサ、コントローラー等のうちの任意のもの）を含む。代替的にまたは付加的に、デバイス１７００は、概ね１７１２において特定される処理および制御回路と接続して実施される、ハードウェア、ファームウェアまたは固定論理回路のうちの任意の１つまたは組み合わせを用いて実施することができる。示されていないが、デバイス１７００は、デバイス内の様々なコンポーネントを結合するシステムバスまたはデータ転送システムを含むことができる。システムバスは、メモリバスまたはメモリコントローラー、周辺バス、ユニバーサルシリアルバス、および／または様々なバスアーキテクチャのうちの任意のものを利用するプロセッサまたはローカルバスのうちの任意の１つまたはそれらの組み合わせを含むことができる。
【０１０１】
[0100]  デバイス１７００は、永続的および／または非一時的データストレージを可能にする（すなわち、単純な信号伝送と対照的な）１つまたは複数のメモリデバイス等のコンピューター可読ストレージ媒体１７１４も備える。これらの例は、ランダムアクセスメモリ（ＲＡＭ）と、不揮発性メモリ（例えば、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等のうちの任意の１つまたは複数）と、ディスクストレージデバイスとを含む。ディスクストレージデバイスは、ハードディスクドライブ、記録可能および／または書き換え可能コンパクトディスク（ＣＤ）、任意のタイプのデジタル多用途ディスク（ＤＶＤ）等の任意のタイプの磁気または光ストレージデバイスとして実施することができる。デバイス１７００はマスストレージ媒体デバイス１７１６も含むことができる。
【０１０２】
[0101]  コンピューター可読ストレージ媒体１７１４は、デバイスデータ１７０４を記憶するためのデータストレージメカニズム、ならびに、デバイス１７００の動作態様に関連する様々なデバイスアプリケーション１７１８および任意の他のタイプの情報および／またはデータを提供する。例えば、オペレーティングシステム１７２０は、コンピューター可読ストレージ媒体１７１４を用いてコンピューターアプリケーションとして維持し、プロセッサ１７１０上で実行することができる。デバイスアプリケーション１７１８は、任意の形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに対してネイティブなコード、特定のデバイスのためのハードウェア抽象化層等のデバイスマネージャーを含むことができる。
【０１０３】
[0102]  デバイスアプリケーション１７１８は、マルチアプリケーション環境モジュール１１８、システムインターフェースモジュール１２０、入力モジュール１２２、アプリケーション１２４、アプリケーションマネージャー１２８およびタブマネージャー１３２等の技法を実施するための任意のシステムコンポーネントまたはモジュールも含むことができる。
【０１０４】
結論
[0103]  異種アプリケーションタブを可能にする技法および装置の実施形態が、特徴および／または方法に固有の言語で説明されたが、添付の特許請求の範囲の主題は、必ずしも記載される特定の特徴または方法に限定されないことが理解されよう。むしろ、特定の特徴および方法は、異種アプリケーションタブを可能にする例示的な実施態様として開示される。
【図１】
2017532681.tif 000003
【図２】
2017532681.tif 000004
【図３】
2017532681.tif 000005
【図４】
2017532681.tif 000006
【図５】
2017532681.tif 000007
【図６】
2017532681.tif 000008
【図７】
2017532681.tif 000009
【図８】
2017532681.tif 000010
【図９】
2017532681.tif 000011
【図１０】
2017532681.tif 000012
【図１１】
2017532681.tif 000013
【図１２】
2017532681.tif 000014
【図１３】
2017532681.tif 000015
【図１４】
2017532681.tif 000016
【図１５】
2017532681.tif 000017
【図１６】
2017532681.tif 000018
【図１７】
2017532681.tif 000019
【手続補正書】
【提出日】平成28年6月28日(2016.6.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチアプリケーション環境内の第１のタブまたは第２のタブにコンテンツを適応的に提示するコンピューター実施方法であって、
第１のアプリケーションウィンドウのフレームを介して、前記第１のアプリケーションウィンドウを前記マルチアプリケーション環境内の第２のアプリケーションウィンドウ上に動かす入力を受信することであって、前記第１のアプリケーションウィンドウおよび前記第２のアプリケーションウィンドウは、それぞれ第１のコンテンツおよび第２のコンテンツを提示する、ことと、
前記第１のアプリケーションウィンドウの少なくとも一部分が前記第２のアプリケーションウィンドウの少なくとも一部分の上にあることに応じて、第１のアプリケーションタブおよび第２のアプリケーションタブを含む第３のアプリケーションウィンドウの第１のタブに前記第１のアプリケーションウィンドウの前記第１のコンテンツを、または前記第３のアプリケーションウィンドウの第２のタブに前記第２のアプリケーションウィンドウの前記第２のコンテンツを提示することと、
前記第３のアプリケーションウィンドウを前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウのサイズにサイズ調整することと、
を含み、前記第３のアプリケーションウィンドウの前記第１のタブのサイズは、前記第３のアプリケーションウィンドウの前記第２のタブのサイズに概ね等しい、コンピューター実施方法。
【請求項２】
前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウを閉じることを更に含む、請求項１に記載のコンピューター実施方法。
【請求項３】
前記第１のアプリケーションウィンドウは第１のアプリケーションのためのアプリケーションインターフェースであり、前記第２のアプリケーションウィンドウは第２のアプリケーションのためのアプリケーションであり、前記第１のアプリケーションおよび前記第２のアプリケーションは異なるタイプのアプリケーションである、請求項１に記載のコンピューター実施方法。
【請求項４】
前記第３のアプリケーションウィンドウの前記第１のタブに前記第１のコンテンツを、および前記第３のアプリケーションウィンドウの前記第２のタブに前記第２のコンテンツを提示することを更に含む、請求項１に記載のコンピューター実施方法。
【請求項５】
前記第１のアプリケーションウィンドウまたは前記第２のアプリケーションウィンドウのうちの少なくとも１つは、コンテンツが提示されるタブを含まない、請求項１に記載のコンピューター実施方法。
【請求項６】
前記第１のアプリケーションウィンドウの前記少なくとも一部分は、前記第１のウィンドウのタイトルバーを含み、前記第２のアプリケーションウィンドウの前記少なくとも一部分は、前記第２のアプリケーションウィンドウのタイトルバーを含む、請求項１に記載のコンピューター実施方法。
【請求項７】
アプリケーションウィンドウを提示するように構成されるディスプレイと、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによる実行に応答して、
アプリケーションタブを提示するための所定のエリアを有する前記アプリケーションウィンドウ内にアプリケーションタブを提示するための入力を受信することであって、前記アプリケーションウィンドウは別のアプリケーションを含み、前記アプリケーションタブおよび別のアプリケーションタブは、それぞれ異なるタイプのアプリケーションと関連付けられている、ことと、
前記受信した入力に基づいて、前記アプリケーションタブを提示するための前記所定のエリアのうちの１つを選択することと、
前記選択された所定のエリアに基づいて、前記アプリケーションタブが所定のエリアを満たすように前記アプリケーションタブのサイズまたは位置を変更することと、
前記アプリケーションウィンドウの前記選択された所定のエリア内に前記変更されたサイズでまたは前記変更された位置に前記アプリケーションタブを提示することと、
を含む動作を実行するプロセッサ実行可能命令を記憶する１つまたは複数のコンピューター可読媒体と、
を備える、システム。
【請求項８】
前記アプリケーションタブの前記提示は、前記アプリケーションタブを前記アプリケーションウィンドウに追加するか、前記アプリケーションタブを前記アプリケーションウィンドウのプライマリアプリケーションタブにするか、または前記アプリケーションタブを前記アプリケーションウィンドウの別の所定のエリアから動かすための要求に応答する、請求項７に記載のシステム。
【請求項９】
前記動作は、前記選択された所定のエリア内に前記アプリケーションタブを提示する前に、前記アプリケーションウィンドウ内の前記アプリケーションタブの前記変更されたサイズまたは前記変更された位置を視覚的に示すための前記アプリケーションタブのプレビューを提示することを更に含む、請求項７に記載のシステム。
【請求項１０】
前記別のアプリケーションタブは、前記選択された所定のエリアの少なくとも一部分を占有し、前記動作は、
前記アプリケーションタブが前記アプリケーションウィンドウの別の所定のエリアを満たすように、前記別のアプリケーションタブについて、前記別のアプリケーションタブのための別のサイズまたは別の位置を決定することと、
前記アプリケーションタブを前記選択された所定のエリアに提示できるようにするのに効果的な他の所定のエリアにおいて、前記別の決定されたサイズまたは前記別の決定された位置で前記別のアプリケーションタブを提示することと、
を更に含む、請求項７に記載のシステム。
【請求項１１】
前記アプリケーションウィンドウの前記所定のエリアは、
前記アプリケーションウィンドウの約２分の１を占有する第１の所定のエリア、
前記アプリケーションウィンドウの約３分の１を占有する第２の所定のエリア、または、
前記アプリケーションウィンドウの約４分の１を占有する第３の所定のエリア、
のうちの１つを備える、請求項７に記載のシステム。
【請求項１２】
前記入力は、前記アプリケーションタブの制御部分を介して開始され、前記アプリケーションウィンドウの前記選択された所定のエリア内で終了する、請求項７に記載のシステム。
【請求項１３】
前記入力は、タッチ入力、マウス入力、タッチパッド入力、キーボード入力、音声入力またはスタイラス入力を含む、請求項７に記載のシステム。
【国際調査報告】
2017532681.tif 000020
2017532681.tif 000021
2017532681.tif 000022
2017532681.tif 000023
2017532681.tif 000024