(57)【特許請求の範囲】
【請求項１】
ジェスチャ捕捉領域及びタッチセンサ式ディスプレイのうちの少なくとも１つによってジェスチャを検出すること、
前記ジェスチャを検出することに応答して、プロセッサが実行可能なミドルウェアによって、通信デバイスの第１のタッチセンサ式ディスプレイ上に表示された第１の画像を、前記通信デバイスの前記第１のタッチセンサ式ディスプレイに関連付けられた第１のスタックにおける第１の位置から、前記通信デバイスの第２のタッチセンサ式ディスプレイに関連付けられた第２のスタックにおける第１の位置に移動させること、
前記通信デバイスの前記第１のタッチセンサ式ディスプレイに関連付けられた前記第１のスタックにおける前記第１の位置に第２の画像を移動させること、
前記通信デバイスの前記第１のタッチセンサ式ディスプレイ上に前記第２の画像を表示すること、
前記通信デバイスの前記第２のタッチセンサ式ディスプレイ上に前記第１の画像を表示すること、
前記ジェスチャが継続していると判定すること、
前記ジェスチャが継続していると判定することに応答して、前記通信デバイスの前記第１のタッチセンサ式ディスプレイ上に表示された前記第２の画像を、前記通信デバイスの前記第１のタッチセンサ式ディスプレイに関連付けられた前記第１のスタックにおける前記第１の位置から前記通信デバイスの前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックにおける第２の位置に移動させること、
を備え、表示された前記第１及び第２の画像がデスクトップ及びウィンドウのうちの少なくとも１つである、方法。
【請求項２】
表示された前記第１及び第２の画像がウィンドウであり、前記ジェスチャがドラッグジェスチャであり、前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックにおける前記第２の位置の画像が前記第２のタッチセンサ式ディスプレイに表示されない、請求項１に記載の方法。
【請求項３】
前記ジェスチャを行う前における前記第１のタッチセンサ式ディスプレイに関連付けられた前記第１のスタックにおける前記第１及び第２の画像の位置が、前記第２のタッチセンサ式ディスプレイに移動した後の前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックにおける前記第１及び第２の画像の位置と同じである、請求項１に記載の方法。
【請求項４】
前記ジェスチャが共通のジェスチャ捕捉領域によって受信され、前記ジェスチャ捕捉領域は画像を表示不可である、請求項１に記載の方法。
【請求項５】
前記ウィンドウの相対的な順序が移動の前後で同じである、請求項１に記載の方法。
【請求項６】
前記通信デバイスの前記第２のタッチセンサ式ディスプレイ上に前記第１の画像が表示されている間に前記通信デバイスの前記第１のタッチセンサ式ディスプレイ上に第３の画像を表示することを更に備える請求項１に記載の方法。
【請求項７】
プロセッサにより実行可能な命令を備えた不揮発性のコンピュータ可読媒体であって、前記プロセッサは、前記命令の実行時に請求項１に記載の方法の処理を実行するように動作可能である、不揮発性のコンピュータ可読媒体。
【請求項８】
デュアルディスプレイの通信デバイスであって、
ジェスチャを受信するためのジェスチャ捕捉領域と、
ジェスチャを受信するため、及び画像を表示するための第１のタッチセンサ式ディスプレイであって、前記表示された画像がアプリケーションのデスクトップ及びウィンドウのうちの少なくとも１つである、第１のタッチセンサ式ディスプレイと、
前記第１のタッチセンサ式ディスプレイに関連付けられた第１のスタックと、
ジェスチャを受信するため、及び画像を表示するための第２のタッチセンサ式ディスプレイと、
前記第２のタッチセンサ式ディスプレイに関連付けられた第２のスタックと、
以下に記載する動作を実行するように動作可能なミドルウェアと、
を備え、当該動作が、
前記ジェスチャ捕捉領域及びタッチセンサ式ディスプレイのうちの少なくとも１つによってジェスチャを検出すること、
前記ジェスチャを検出することに応答して、前記第１のタッチセンサ式ディスプレイ上に表示された第１の画像を前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックの第１の位置に移動させること、
前記第２のタッチセンサ式ディスプレイ上に前記第１の画像を表示すること、
前記第１のタッチセンサ式ディスプレイに関連付けられた前記第１のスタックの第１の位置に第２の画像を移動させること、
前記第１のタッチセンサ式ディスプレイ上に前記第２の画像を表示すること、
前記第１の画像が前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックの前記第１の位置に正常に移動した後、前記ジェスチャが継続していると判定すること、
前記ジェスチャが継続していると判定することに応答して、前記第１のタッチセンサ式ディスプレイ上に表示された前記第２の画像を前記第２のタッチセンサ式ディスプレイに関連付けられた前記第２のスタックの第２の位置に移動させること、
を含み、前記第１及び第２の画像がデスクトップ及びウィンドウのうちの少なくとも１つであり、前記第１の画像が前記第２のタッチセンサ式ディスプレイ上に表示される、通信デバイス。
【請求項９】
表示された前記第１及び第２の画像がウィンドウであり、前記ジェスチャがドラッグジェスチャである、請求項８に記載の通信デバイス。
【請求項１０】
前記ジェスチャを行う前における前記第１のタッチセンサ式ディスプレイの前記第１及び第２の画像のスタック位置が、前記第２のタッチセンサ式ディスプレイに移動した後の前記第１及び第２の画像のスタック位置と同じである、請求項８に記載の通信デバイス。
【請求項１１】
前記ジェスチャが共通のジェスチャ捕捉領域によって受信され、前記ジェスチャ捕捉領域は画像を表示不可である、請求項８に記載の通信デバイス。
【請求項１２】
前記通信デバイスの前記第２のタッチセンサ式ディスプレイ上に前記第１の画像が表示されている間に前記通信デバイスの前記第１のタッチセンサ式ディスプレイ上に第３の画像が表示される、請求項８に記載の通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ユーザインタフェースにおける長時間ドラッグジェスチャに関する。
【背景技術】
【０００２】
携帯電話、タブレット及びＥリーダ（Ｅ−Ｒｅａｄｅｒ）などのかなりの数の携帯用コンピューティングデバイスは、タッチスクリーンディスプレイを利用して、単にユーザに表示情報を配信するばかりでなく、ユーザインタフェースコマンドからの入力の受信も行う。タッチスクリーンディスプレイは、携帯用デバイスのコンフィギュアビリティを増加し、多種多様なユーザインタフェースオプションを提供することができるが、通常、この柔軟性は高くつく。コンテンツを提供し、ユーザコマンドを受信するタッチスクリーンの二重用途は、ユーザにとっては柔軟性があるが、ディスプレイが難読化し、視覚的クラッタが発生し、それはユーザフラストレーション及び生産性損失の原因となる恐れがある。
【０００３】
携帯用コンピューティングデバイスの小さなフォームファクタは、表示されたグラフィックスと入力受信用に設けられたエリアとの間の慎重なバランス維持を必要とする。一方では、小型のディスプレイは表示スペースを制約し、それにより、動作または結果の解釈の困難が増す恐れがある。他方では、仮想キーパッドまたは他のユーザインタフェーススキームは、実行アプリケーション上で重ね合わせるか、または、実行アプリケーションに隣接して配置され、その結果、アプリケーションをディスプレイのさらに小さな部分に詰め込む必要がある。
【０００４】
このバランス維持行為は、単一ディスプレイのタッチスクリーンデバイスでは特に難しい。単一ディスプレイのタッチスクリーンデバイスは、それらの限られた画面スペースにより不具合が生じる。単一ディスプレイを通じてユーザがデバイスに情報を入力すると、特に、ディスプレイとインタフェースとの間の複雑な相互作用が必要とされる場合は、ディスプレイ内の情報を解釈する能力が大幅に妨げられる恐れがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の単一ディスプレイの携帯用コンピューティングデバイスと比較して、パワーの増強及び／または多様性の向上を実現するデュアルマルチディスプレイの携帯用コンピューティングデバイスが必要である。これらの及び他の必要性は、本開示のさまざまな態様、実施形態及び／または構成によって対応する。また、本開示は、例示的な実施形態について提示しているが、本開示の個々の態様を別々に請求できることを理解されたい。
【０００６】
従来の単一ディスプレイの携帯用コンピューティングデバイスと比較して、パワーの増強及び／または多様性の向上を実現するデュアルディスプレイの携帯用コンピューティングデバイスが必要である。これらの及び他の必要性は、本開示のさまざまな態様、実施形態及び／または構成によって対応する。また、本開示は、例示的な実施形態について提示しているが、本開示の個々の態様を別々に請求できることを理解されたい。
【課題を解決するための手段】
【０００７】
本開示は、特定の態様、実施形態、及び／または構成に応じていくつかの利点を提供することができる。一実施形態において、方法は、
（ａ）ジェスチャ捕捉領域及び／またはタッチセンサ式ディスプレイによってジェスチャを受信するステップと、
（ｂ）その受信に応答して、プロセッサが実行可能なミドルウェアによって、通信デバイスの第１のタッチセンサ式ディスプレイ上の第１の表示画像を、通信デバイスの第２のタッチセンサ式ディスプレイに移動させるステップと、
（ｃ）第１の表示画像が第２のタッチセンサ式ディスプレイに正常に移動した後、プロセッサが実行可能なミドルウェアによって、ジェスチャが継続していると判定するステップと、
（ｄ）その判定に応答して、プロセッサが実行可能なミドルウェアによって、通信デバイスの第１のタッチセンサ式ディスプレイの第２の表示画像を、通信デバイスの第２のタッチセンサ式ディスプレイに移動させるステップであって、第１及び第２の表示画像がデスクトップ又はウィンドウである当該ステップと、
を備える。
【０００８】
一実施形態において、方法は、
（ａ）ジェスチャ捕捉領域によってドラッグジェスチャを受信するステップと、
（ｂ）その受信に応答して、プロセッサが実行可能なミドルウェアによって、第１のタッチセンサ式ディスプレイから第２のタッチセンサ式ディスプレイに第１のウィンドウを移動させるステップと、
（ｃ）プロセッサが実行可能なミドルウェアによって、ドラッグジェスチャが継続していると判定するステップと、
（ｄ）その判定に応答して、プロセッサが実行可能なミドルウェアによって、第１のタッチセンサ式ディスプレイから第２のタッチセンサ式ディスプレイに第２のウィンドウを移動させるステップと、
を備える。
【０００９】
一実施形態において、デュアルディスプレイの通信デバイスは、
（ｉ）フリックジェスチャを受信するためのジェスチャ捕捉領域と、
（ｉｉ）フリックジェスチャを受信するため、及び表示画像を表示するための第１のタッチセンサ式ディスプレイであって、表示画像がアプリケーションのデスクトップ及びウィンドウのうちの１つ以上である、第１のタッチセンサ式ディスプレイと、
（ｉｉｉ）フリックジェスチャを受信するため、及び表示画像を表示するための第２のタッチセンサ式ディスプレイと、
（ｉｖ）以下に記載する動作の１つ以上を実行するように動作可能なミドルウェアと、
を備え、当該動作が、
（Ａ）ジェスチャ捕捉領域及び／またはタッチセンサ式ディスプレイによってジェスチャを受信すること、
（Ｂ）その受信に応答して、第１のタッチセンサ式ディスプレイ上の第１の表示画像を第２のタッチセンサ式ディスプレイに移動させること、
（Ｃ）第１の表示画像が第２のタッチセンサ式ディスプレイに正常に移動した後、ジェスチャが継続していると判定すること、
（Ｄ）その判定に応答して、第１のタッチセンサ式ディスプレイの第２の表示画像を第２のタッチセンサ式ディスプレイに移動させること、
を含み、第１及び第２の表示画像がデスクトップ及び／またはウィンドウである。
【００１０】
一構成において、第１及び第２の表示画像はウィンドウであり、第１のジェスチャはドラッグである。
一構成において、第１及び第２の表示画像は共通の複数画面アプリケーションによって制御され、ジェスチャに応答して、第１及び第２の表示画像の両方が第１のタッチセンサ式ディスプレイから第２のタッチセンサ式ディスプレイに移動する。
【００１１】
一構成において、ジェスチャを行う前における第１のタッチセンサ式ディスプレイ上の第１及び第２の表示画像のスタック位置は、第２のタッチセンサ式ディスプレイに移動した後の第１及び第２の表示画像のスタック位置と同じである。
【００１２】
一構成において、第１及び第２のジェスチャは共通のジェスチャ捕捉領域によって受信され、ジェスチャ捕捉領域を表示画像の表示に利用不可である。
一構成において、第１及び第２の表示画像は共通の複数画面アプリケーションによって制御されるウィンドウであり、それらウィンドウの相対的な順序が移動の前後で同じである。
【００１３】
本開示は、特定の態様、実施形態、及び／または構成に応じて多くの利点を提供することができる。通信ディスプレイは、デュアルディスプレイの通信デバイス、特に、携帯電話や無線電話を用いて、ユーザにとって、効果的な、利便性の高い、直感的な方法で、ウィンドウ及び／またはデスクトップのスタックや順序セット等の表示対象をナビゲートしたり並び替えたりすることを可能にする。
【００１４】
これら及び他の利点が本開示から明らかになる。
「少なくとも１つ」、「１つまたは複数」、及び「及び／または」との記載は、使用中、接続語かつ離接語である非限定的な表現である。例えば、「Ａ、Ｂ及びＣの少なくとも１つ」、「Ａ、ＢまたはＣの少なくとも１つ」、「Ａ、Ｂ及びＣのうちの１つまたは複数」、「Ａ、ＢまたはＣのうちの１つまたは複数」及び「Ａ、Ｂ及び／またはＣ」の表現の各々は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢともに、ＡとＣともに、ＢとＣともに、または、ＡとＢとＣともに、を意味する。
【００１５】
「１つの」、「１つまたは複数」及び「少なくとも１つ」との記載は、本明細書では交換可能に使用することができる。用語「備える」、「含む」及び「有する」もまた交換可能に使用できることに留意されたい。
【００１６】
用語「自動」及びその変形語は、本明細書で使用する場合、プロセスまたはオペレーションを実行する際に、実質的な人的入力なしで行われる任意のプロセスまたはオペレーションを指す。しかし、プロセスまたはオペレーションの実行前に入力を受信すれば、プロセスまたはオペレーションの実行において実質的または非実質的な人的入力を使用しても、プロセスまたはオペレーションは自動であり得る。人的入力は、そのような入力がプロセスまたはオペレーションの実行方法に影響を及ぼす場合は、実質的と見なされる。プロセスまたはオペレーションの実行を受け入れる人的入力は、「実質的」とは見なされない。
【００１７】
用語「コンピュータ可読媒体」は、本明細書で使用する場合、実行のためのプロセッサへの命令の提供に参加する任意の有形の記憶及び／または伝送媒体を指す。そのような媒体は、これらに限定されないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む多くの形式を取り得る。不揮発性媒体は、例えば、ＮＶＲＡＭまたは磁気もしくは光ディスクを含む。揮発性媒体は、メインメモリなどのダイナミックメモリを含む。コンピュータ可読媒体の一般的な形式は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは任意の他の磁気媒体、光磁気記録媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープ、任意の他の孔パターンの物理的な媒体、ＲＡＭ、ＰＲＯＭ及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、メモリカードのようなソリッドステート媒体、任意の他のメモリチップもしくはカートリッジ、以下で説明する搬送波、または、コンピュータが読み取ることができる任意の他の媒体を含む。Ｅメールに添付するデジタルファイルまたは他の自己内蔵情報アーカイブもしくはアーカイブセットは、有形の記憶媒体と同等の配信媒体と考えられる。コンピュータ可読媒体がデータベースとして構成される場合、データベースは、関係型、階層型、オブジェクト指向型及び／または同様のものなどの任意のタイプのデータベースであり得ることを理解されたい。それに応じて、本開示は、本開示のソフトウェア実装形態が格納される有形の記憶媒体または配信媒体及び先行技術分野において承認されている均等物及び後続媒体を含むと考えられる。
【００１８】
用語「デスクトップ」は、システムを表現するために使用される例え（ｍｅｔａｐｈｏｒ）を指す。デスクトップは、一般に、アイコン、ウィジェット、フォルダなどと呼ばれる絵柄を含む「面」と考えられ、通常、その上でアプリケーション、ウィンドウ、キャビネット、ファイル、フォルダ、ドキュメント、他のグラフィカルなアイテムを起動または表示することができる。アイコンは、一般に、ユーザインタフェース相互作用を通じてタスクに着手するように選択可能であり、ユーザは、アプリケーションを実行することも、他のオペレーションを行うこともできる。
【００１９】
用語「画面」、「タッチスクリーン（ｔｏｕｃｈ  ｓｃｒｅｅｎまたはｔｏｕｃｈｓｃｒｅｅｎ）」は、ユーザインタフェースをレンダリングする及び／またはユーザ入力を受信する能力をデバイスに提供する１つまたは複数のハードウェアコンポーネントを含む物理的構造を指す。画面は、ジェスチャ捕捉領域、タッチセンサ式ディスプレイ及び／または構成可能なエリアの任意の組合せを包含し得る。デバイスは、ハードウェアに組み込まれた１つまたは複数の物理的画面を有し得る。しかし、画面は、デバイスから着脱可能な外部の周辺デバイスも含み得る。実施形態では、複数の外部のデバイスをデバイスに取り付けることができる。したがって、実施形態では、画面は、ユーザが画面上のエリアに触れることでデバイスと情報のやり取りを行うことを可能にし、ディスプレイを通じてユーザに情報を提供する。タッチスクリーンは、電気的パラメータ（例えば、抵抗またはキャパシタンス）の変化、音波の変動、赤外線近接検出、変光検出及び同様のものなどの多くの異なる方法でユーザの接触を感知することができる。抵抗性タッチスクリーンでは、例えば、通常、画面内の別々の導電性及び抵抗性金属層が電流を通過させる。ユーザが画面に触れると、触れた位置で２つの層が接触し、それにより、電界の変化が見られ、触れた位置の座標が計算される。容量性タッチスクリーンでは、容量性層が電荷を蓄積し、電荷はユーザがタッチスクリーンに触れると同時に放電され、それにより、容量性層の電荷が低減する。その低減が測定され、触れた位置の座標が決定される。表面音波タッチスクリーンでは、画面を通じて音波が伝播され、音波はユーザ接触によって妨げられる。受信用トランスデューサは、ユーザ接触インスタンスを検出し、触れた位置の座標を決定する。
【００２０】
用語「ディスプレイ」は、コンピュータの出力をユーザに表示するために使用される１つまたは複数の画面の一部分を指す。ディスプレイは、単一画面ディスプレイまたは複合ディスプレイと呼ばれる複数画面ディスプレイであり得る。複合ディスプレイは、１つまたは複数の画面のタッチセンサ式ディスプレイを包含し得る。単一の物理的画面は、別々の論理的ディスプレイとして管理される複数のディスプレイを含み得る。したがって、同じ物理的画面の一部ではあるが別々のディスプレイ上に異なるコンテンツを表示することができる。
【００２１】
用語「表示画像」は、ディスプレイ上に生成された画像を指す。典型的な表示画像は、ウィンドウまたはデスクトップである。表示画像は、ディスプレイの全体または一部を占有することができる。
【００２２】
用語「ディスプレイ方向」は、閲覧のためにユーザが長方形のディスプレイを方向付ける方法を指す。ディスプレイ方向の２つの最も一般的なタイプは、縦向き（ｐｏｒｔｒａｉｔ）と横向き（ｌａｎｄｓｃａｐｅ）である。横向きモードでは、ディスプレイは、ディスプレイの幅がディスプレイの高さよりも大きくなるように方向付けられる（幅４単位及び高さ３単位の４：３の割合または幅１６単位及び高さ９単位の１６：９の割合など）。別の言い方をすれば、横向きモードでは、ディスプレイの長い方の寸法は、実質的に水平の方向に方向付けられ、ディスプレイの短い方の寸法は、実質的に垂直の方向に方向付けられる。対照的に、縦向きモードでは、ディスプレイの幅がディスプレイの高さよりも小さくなるように方向付けられる。別の言い方をすれば、縦向きモードでは、ディスプレイの短い方の寸法は、実質的に水平の方向に方向付けられ、ディスプレイの長い方の寸法は、実質的に垂直の方向に方向付けられる。
【００２３】
用語「複合ディスプレイ」は、１つまたは複数の画面を包含することができるディスプレイを定義する論理的構造を指す。複数画面ディスプレイは、すべての画面を包含する複合ディスプレイに関連付けられ得る。複合ディスプレイは、デバイスのさまざまな向きに基づいて異なる表示特性を有し得る。
【００２４】
用語「ジェスチャ」は、意図する考え、動作、意味、結果及び／または成果を表現するユーザ動作を指す。ユーザ動作は、デバイスの操作（例えば、デバイスの開閉、デバイスの向きの変更、トラックボールまたはホイールの移動など）、デバイスに対する身体部分の動き、デバイスに対する道具またはツールの動き、音声入力などを含み得る。ジェスチャは、デバイス上（画面上など）に、またはデバイスを用いて行われ、デバイスと相互作用することができる。
【００２５】
用語「モジュール」は、本明細書で使用する場合、任意の公知のまたは後に開発されたハードウェア、ソフトウェア、ファームウェア、人工知能、ファジィ理論、または、その要素に関連付けられた機能を実行することができるハードウェアとソフトウェアとの組合せを指す。
【００２６】
用語「ジェスチャ捕捉」は、ユーザジェスチャのインスタンス及び／またはタイプの感知または別の方法での検出を指す。ジェスチャ捕捉は、画面の１つまたは複数のエリアで起こり得る。ジェスチャ領域は、タッチセンサ式ディスプレイと呼ばれる場合があるディスプレイ上またはジェスチャ捕捉エリアと呼ばれる場合があるディスプレイ外であり得る。
【００２７】
「複数画面アプリケーション」は、複数のモードが可能なアプリケーションを指す。複数画面アプリケーションモードは、これらに限定されないが、単一画面モード（アプリケーションは単一画面に表示される）または複合ディスプレイモード（アプリケーションは２つ以上の画面に表示される）を含み得る。複数画面アプリケーションは、モードに対して最適化された異なるレイアウトを有し得る。したがって、複数画面アプリケーションは、単一画面に対してまたは２つ以上の画面を包含し得る複合ディスプレイに対して異なるレイアウトを有し得る。異なるレイアウトは、複数画面アプリケーションのユーザインタフェースをレンダリングすることができる異なる画面／ディスプレイ寸法及び／または構成を有し得る。異なるレイアウトにより、アプリケーションは、ディスプレイのタイプ、例えば、単一画面または複数画面に対して、アプリケーションのユーザインタフェースを最適化することができる。単一画面モードでは、複数画面アプリケーションは、情報の１つのウィンドウ枠を提示することができる。複合ディスプレイモードでは、複数画面アプリケーションは、表示コンテンツに対してより多くのスペースがあるため、情報の複数のウィンドウ枠を提示することも、より大きくより豊かなプレゼンテーションを提供することもできる。複数画面アプリケーションは、システムがどのディスプレイ（単一または複合）を複数画面アプリケーションに割り当てるかに応じて、デバイス及びモードの変化に動的に適合させるように設計することができる。代替の実施形態では、ユーザは、ジェスチャを使用して、異なるモードへのアプリケーションの移行を要求することができ、要求されたモードに対してディスプレイが利用可能な場合は、デバイスは、アプリケーションをそのディスプレイ及び移行モードに移動させることができる。
【００２８】
「単一画面アプリケーション」は、単一の画面モードが可能なアプリケーションを指す。したがって、単一画面アプリケーションは、１つのウィンドウしか生成することができず、異なるモードも、異なるディスプレイ寸法も可能ではない可能性がある。単一画面アプリケーションは、複数画面アプリケーションで論じられたいくつかのモードでの実行は不可能であり得る。
【００２９】
用語「ウィンドウ」は、ディスプレイの少なくとも一部に表示された典型的に長方形の画像を指し、画面の残りの部分とは異なるコンテンツを含むまたは提供する。ウィンドウは、デスクトップを覆い隠す場合がある。
【００３０】
用語「決定する、判定する」、「計算する」及び「演算する」ならびにその変形語は、本明細書で使用する場合、交換可能に使用され、任意のタイプの方法論、プロセス、数学演算または技法を含む。
【００３１】
用語「手段」は、本明細書で使用する場合、その可能な限り最も広い解釈が与えられるものとすることを理解されたい。それに応じて、用語「手段」を組み込む請求項は、本明細書に記載されるすべての構造、材料または行為及びその均等物のすべてを対象とするものとする。さらに、構造、材料または行為及びその均等物は、発明の概要、図面の簡単な説明、発明を実施するための形態、要約書及び特許請求の範囲自体で説明されたすべてのものを含むものとする。
【００３２】
前述の説明は、本開示の簡略化した概要であり、本開示のいくつかの態様の理解を与える。この概要は、本開示の概要ならびにそのさまざまな態様、実施形態及び／または構成の広範なものでも包括的なものでもない。この概要は、本開示の主要な、または重要な要素を特定することも、本開示の範囲を詳しく説明することも意図しないが、以下で提示するより詳細な説明の導入部として、本開示の選択された概念を簡素化した形式で提示することを意図する。理解されるように、本開示の他の態様、実施形態及び／または構成は、単独でまたは組み合わせて、上記で記載されるかまたは以下で詳細に説明される特徴の１つまたは複数を利用することができる。
【図面の簡単な説明】
【００３３】
【図１Ａ】複数画面ユーザデバイスの実施形態の第１の図を含む。
【図１Ｂ】複数画面ユーザデバイスの実施形態の第２の図を含む。
【図１Ｃ】複数画面ユーザデバイスの実施形態の第３の図を含む。
【図１Ｄ】複数画面ユーザデバイスの実施形態の第４の図を含む。
【図１Ｅ】複数画面ユーザデバイスの実施形態の第５の図を含む。
【図１Ｆ】複数画面ユーザデバイスの実施形態の第６の図を含む。
【図１Ｇ】複数画面ユーザデバイスの実施形態の第７の図を含む。
【図１Ｈ】複数画面ユーザデバイスの実施形態の第８の図を含む。
【図１Ｉ】複数画面ユーザデバイスの実施形態の第９の図を含む。
【図１Ｊ】複数画面ユーザデバイスの実施形態の第１０の図を含む。
【図２】デバイスのハードウェアの実施形態のブロック図である。
【図３Ａ】デバイスの向き及び／または構成に基づくデバイスの状態モデルの実施形態のブロック図である。
【図３Ｂ】デバイスの向き及び／または構成に基づくデバイスの状態モデルの実施形態の表である。
【図４Ａ】デバイスにおいて受信されたユーザジェスチャの実施形態の第１の表現である。
【図４Ｂ】デバイスにおいて受信されたユーザジェスチャの実施形態の第２の表現である。
【図４Ｃ】デバイスにおいて受信されたユーザジェスチャの実施形態の第３の表現である。
【図４Ｄ】デバイスにおいて受信されたユーザジェスチャの実施形態の第４の表現である。
【図４Ｅ】デバイスにおいて受信されたユーザジェスチャの実施形態の第５の表現である。
【図４Ｆ】デバイスにおいて受信されたユーザジェスチャの実施形態の第６の表現である。
【図４Ｇ】デバイスにおいて受信されたユーザジェスチャの実施形態の第７の表現である。
【図４Ｈ】デバイスにおいて受信されたユーザジェスチャの実施形態の第８の表現である。
【図５Ａ】デバイスソフトウェア及び／またはファームウェアの実施形態のブロック図である。
【図５Ｂ】デバイスソフトウェア及び／またはファームウェアの実施形態の第２のブロック図である。
【図６Ａ】デバイス状態に応じて生成されたデバイス構成の実施形態の第１の表現である。
【図６Ｂ】デバイス状態に応じて生成されたデバイス構成の実施形態の第２の表現である。
【図６Ｃ】デバイス状態に応じて生成されたデバイス構成の実施形態の第３の表現である。
【図６Ｄ】デバイス状態に応じて生成されたデバイス構成の実施形態の第４の表現である。
【図６Ｅ】デバイス状態に応じて生成されたデバイス構成の実施形態の第５の表現である。
【図６Ｆ】デバイス状態に応じて生成されたデバイス構成の実施形態の第６の表現である。
【図６Ｇ】デバイス状態に応じて生成されたデバイス構成の実施形態の第７の表現である。
【図６Ｈ】デバイス状態に応じて生成されたデバイス構成の実施形態の第８の表現である。
【図６Ｉ】デバイス状態に応じて生成されたデバイス構成の実施形態の第９の表現である。
【図６Ｊ】デバイス状態に応じて生成されたデバイス構成の実施形態の第１０の表現である。
【図７Ａ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図７Ｂ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図７Ｃ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図７Ｄ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図７Ｅ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図７Ｆ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図８】実施形態におけるフローチャートである。
【図９Ａ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図９Ｂ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図９Ｃ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図９Ｄ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図９Ｅ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図９Ｆ】実施形態における縦向きディスプレイ方向の一連のスクリーンショットである。
【図１０Ａ】実施形態における横向きディスプレイ方向の一連のスクリーンショットである。
【図１０Ｂ】実施形態における横向きディスプレイ方向の一連のスクリーンショットである。
【図１０Ｃ】実施形態における横向きディスプレイ方向の一連のスクリーンショットである。
【図１１】共通の複数画面アプリケーションによって制御される複数のウィンドウのルートビューである。
【図１２Ａ】論理的ウィンドウスタックの表現である。
【図１２Ｂ】論理的ウィンドウスタックの実施形態の別の表現である。
【図１２Ｃ】論理的ウィンドウスタックの実施形態の別の表現である。
【図１２Ｄ】論理的ウィンドウスタックの実施形態の別の表現である。
【図１２Ｅ】論理的ウィンドウスタックの実施形態の別の表現である。
【図１３】ウィンドウスタック用の論理データ構造の実施形態のブロック図である。
【図１４】ウィンドウスタックを作成するための方法の実施形態のフローチャートである。
【図１５】実施形態におけるウィンドウスタック構成を示す。
【発明を実施するための形態】
【００３４】
付属の図面では、同様のコンポーネント及び／または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプのさまざまなコンポーネントは、同様のコンポーネントの中で区別する文字で参照ラベルをたどることによって、区別することができる。第１の参照ラベルのみが本明細書で使用される場合、説明は、第２の参照ラベルに関係なく、同じ第１の参照ラベルを有する同様のコンポーネントのいずれか１つに適用可能である。
【００３５】
本明細書で提示するものは、デバイスの実施形態である。デバイスは、携帯電話または他のスマートデバイスなど通信デバイスであり得る。デバイスは、いくつかのユニークなディスプレイ構成を提供するように方向付けられた２つの画面を含み得る。さらに、デバイスは、ユニークな方法でユーザ入力を受信することができる。デバイスの総合的な設計及び機能性は、デバイスをより有用に及びより効果的にするユーザ経験を高めることを実現する。
【００３６】
機械的な特徴：
図１Ａ〜１Ｊは、本開示の実施形態によるデバイス１００を示す。以下でさらに詳細に説明されるように、デバイス１００は、多くの異なる方法で配置することができ、そのそれぞれが異なる機能性をユーザに提供する。デバイス１００は、その両方がタッチセンサ式の一次画面１０４と二次画面１０８とを含む複数画面デバイスである。実施形態では、画面１０４及び１０８の前面全体は、タッチセンサ式であり得、ユーザが画面１０４及び１０８の前面に触れることによって入力を受信することができる。一次画面１０４は、タッチセンサ式ディスプレイ１１０を含み、タッチセンサ式ディスプレイ１１０は、タッチセンサ式であることに加えて、ユーザに情報を表示することも行う。二次画面１０８は、タッチセンサ式ディスプレイ１１４を含み、タッチセンサ式ディスプレイ１１４もまたユーザに情報を表示する。他の実施形態では、画面１０４及び１０８は、２つ以上のディスプレイエリアを含み得る。
【００３７】
また、一次画面１０４は、ユーザが構成可能なエリア１１２の一部に触れる際の特定の入力用に構成済みの構成可能なエリア１１２も含む。二次画面１０８もまた、特定の入力用に構成済みの構成可能なエリア１１６を含む。エリア１１２ａ及び１１６ａは、ユーザが以前に表示された情報を閲覧することを望むことを示す「バック」入力を受信するよう構成済みである。エリア１１２ｂ及び１１６ｂは、ユーザがメニューからオプションを閲覧することを望むことを示す「メニュー」入力を受信するよう構成済みである。エリア１１２ｃ及び１１６ｃは、ユーザが「ホーム」ビューに関連付けられた情報を閲覧することを望むことを示す「ホーム」入力を受信するよう構成済みである。他の実施形態では、エリア１１２ａ〜ｃ及び１１６ａ〜ｃは、上記で説明される構成に加えて、デバイス１００の特徴の制御を含む他のタイプの特定の入力用に構成することができ、いくつかの非限定的な例としては、全体的なシステムパワーの調整、音量の調整、輝度の調整、振動の調整、表示アイテムの選択（画面１０４または１０８のいずれか）、カメラの操作、マイクロホンの操作及び通話の開始／終了が挙げられる。また、いくつかの実施形態では、エリア１１２ａ〜ｃ及び１１６ａ〜ｃは、デバイス１００上で実行するアプリケーション及び／またはタッチセンサ式ディスプレイ１１０及び／または１１４上に表示される情報に応じて特定の入力用に構成することができる。
【００３８】
タッチセンサ式に加えて、一次画面１０４及び二次画面１０８は、ユーザが画面のディスプレイエリアに触れる必要なく、ユーザから入力を受信するエリアも含む。例えば、一次画面１０４は、ジェスチャ捕捉エリア１２０を含み、二次画面１０８は、ジェスチャ捕捉エリア１２４を含む。これらのエリアは、例えば、ユーザが実際にディスプレイエリアの表面に触れる必要なく、ユーザによって行われたジェスチャを認識することにより、入力を受信することができる。タッチセンサ式ディスプレイ１１０及び１１４と比較すると、ジェスチャ捕捉エリア１２０及び１２４は、一般には、表示画像をレンダリングすることはできない。
【００３９】
２つの画面１０４及び１０８は、ヒンジ１２８で接続され、ヒンジ１２８は、図１Ｃ（デバイス１００の背面図を示す）で明確に示される。図１Ａ〜１Ｊに示される実施形態では、ヒンジ１２８は、画面１０４と１０８とを接続する中央のヒンジであり、その結果、ヒンジを閉じると、画面１０４と１０８は、図１Ｂ（デバイス１００の正面図を示す）に示されるように並置される（すなわち、隣り合わせになる）。ヒンジ１２８を開いて、２つの画面１０４及び１０８を相対的に互いに異なる配置にすることができる。以下でさらに詳細に説明するように、デバイス１００は、画面１０４及び１０８の相対位置に応じて異なる機能性を有し得る。
【００４０】
図１Ｄは、デバイス１００の右側を示す。図１Ｄに示されるように、二次画面１０８は、その側面にカードスロット１３２とポート１３６も含む。実施形態では、カードスロット１３２は、加入者識別モジュール（ＳＩＭ）を含む異なるタイプのカードを収容する。実施形態では、ポート１３６は、ディスプレイ、キーボードまたは印刷デバイスなどの他の周辺デバイスにデバイス１００を接続することを可能にする入力／出力ポート（Ｉ／Ｏポート）である。理解できるように、これらは単なる例示の一部であり、他の実施形態では、デバイス１００は、追加のメモリデバイスを収容するための及び／または他の周辺デバイスを接続するためのスロット及びポートなどの他のスロット及びポートを含み得る。また、図１Ｄには、例えば、ユーザのヘッドホンまたはヘッドセットの利用を可能にするチップ、リング、スリーブ（ＴＲＳ）コネクタを収容する音声ジャック１４０も示されている。
【００４１】
また、デバイス１００は、多数のボタン１５８も含む。例えば、図１Ｅは、デバイス１００の左側を示す。図１Ｅに示されるように、一次画面１０４の側面は、３つのボタン１４４、１４８及び１５２を含み、これらのボタンは、特定の入力用に構成することができる。例えば、ボタン１４４、１４８及び１５２は、組み合わせて、または単独で、デバイス１００の多くの態様を制御するよう構成することができる。いくつかの非限定的な例としては、全体的なシステムパワー、音量、輝度、振動、表示アイテムの選択（画面１０４または１０８のいずれか）、カメラ、マイクロホン及び通話の開始／終了が挙げられる。いくつかの実施形態では、別々のボタンの代わりに、２つのボタンを組み合わせてロッカーボタンにすることができる。この構成は、音量または輝度などの特徴を制御するようにボタンが構成された状況において有用である。ボタン１４４、１４８及び１５２に加えて、デバイス１００は、デバイス１００の上側を示す図１Ｆに示されるようなボタン１５６も含む。一実施形態では、ボタン１５６は、デバイス１００への全体的なシステムパワーの制御に使用されるオン／オフボタンとして構成される。他の実施形態では、ボタン１５６は、システムパワーの制御に加えてまたはシステムパワーの制御の代わりに、デバイス１００の他の態様を制御するよう構成される。いくつかの実施形態では、ボタン１４４、１４８、１５２及び１５６のうちの１つまたは複数は、異なるユーザコマンドをサポートすることができる。一例として、通常のプレスは、一般に、約１秒未満の持続時間を有し、クイックタップに似ている。中程度のプレスは、一般に、１秒以上だが約１２秒未満の持続時間を有する。長時間のプレス（長押し）は、一般に、約１２秒以上の持続時間を有する。ボタンの機能は、通常、現時点でそれぞれのディスプレイ１１０及び１１４に焦点が合わせられているアプリケーションに特有である。例えば、通話アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、通話終了、通話音量の増加、通話音量の減少、マイクロホンのミュートの切り替えを意味し得る。例えば、カメラまたは映像アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、ズーム拡大、ズーム縮小、写真撮影または映像記録を意味し得る。
【００４２】
また、デバイス１００には、多くのハードウェアコンポーネントが存在する。図１Ｃに示されるように、デバイス１００は、スピーカ１６０とマイクロホン１６４とを含む。また、デバイス１００は、カメラ１６８（図１Ｂ）も含む。それに加えて、デバイス１００は、２つの位置センサ１７２ａ及び１７２ｂを含み、位置センサ１７２ａ及び１７２ｂは、画面１０４及び１０８の相対位置の決定に使用される。一実施形態では、位置センサ１７２ａ及び１７２ｂは、ホール効果センサである。しかし、他の実施形態では、ホール効果センサに加えて、またはホール効果センサの代わりに、他のセンサを使用することができる。また、デバイス１００の一部として、加速度計１７６を含めて、デバイス１００の向き及び／または画面１０４及び１０８の向きを決定することもできる。デバイス１００に含めることができる追加の内部のハードウェアコンポーネントについては、図２に関連して、以下で説明する。
【００４３】
デバイス１００の総合的な設計は、他の通信デバイスで利用不可能な追加の機能性の提供を可能にする。機能性のいくつかは、デバイス１００が有し得るさまざまな位置及び向きに基づく。図１Ｂ〜１Ｇに示されるように、デバイス１００は、画面１０４と１０８が並置される「開」位置で操作することができる。この位置により、ユーザに情報を表示するための大きなディスプレイエリアが可能になる。デバイス１００が開位置にあると位置センサ１７２ａ及び１７２ｂが決定すると、位置センサ１７２ａ及び１７２ｂは、両方の画面１０４及び１０８上での情報の表示などの異なるイベントのトリガに使用することができる信号を生成することができる。追加のイベントは、デバイス１００が横向き位置（図示せず）と対向する縦向き位置（図１Ｂ）にあると加速度計１７６が決定した場合にトリガすることができる。
【００４４】
開位置に加えて、デバイス１００は、図１Ｈに示されるような「閉」位置も有し得る。この場合もやはり、位置センサ１７２ａ及び１７２ｂは、デバイス１００が「閉」位置にあることを示す信号を生成することができる。これにより、画面１０４及び／または１０８上に表示された情報の変化をもたらすイベントをトリガすることができる。例えば、デバイス１００が「閉」位置にある場合、ユーザは１つの画面しか閲覧できないため、デバイス１００は、画面のうちの１つ、例えば、画面１０８上での情報の表示を停止するようにプログラムすることができる。他の実施形態では、デバイス１００が「閉」位置にあることを示す、位置センサ１７２ａ及び１７２ｂによって生成された信号は、電話の発呼に応答するようにデバイス１００をトリガすることができる。「閉」位置は、携帯電話としてデバイス１００を利用する場合にも好ましい位置であり得る。
【００４５】
デバイス１００は、図１Ｉに示されるような「イーゼル」位置でも使用することができる。「イーゼル」位置では、画面１０４及び１０８は、互いに角度をなして外側を向いた状態であり、画面１０４及び１０８の縁は実質的に水平である。この位置では、デバイス１００は、両方の画面１０４及び１０８上で情報を表示するよう構成することができ、二人のユーザが同時にデバイス１００と情報のやり取りを行うことを可能にする。デバイス１００が「イーゼル」位置にある場合、センサ１７２ａ及び１７２ｂは、画面１０４及び１０８が互いに角度をなして配置されていることを示す信号を生成することができ、加速度計１７６は、画面１０４及び１０８の縁が実質的に水平となるようにデバイス１００が配置されたことを示す信号を生成することができる。次いで、信号を組み合わせて使用し、画面１０４及び１０８上での情報の表示の変化をトリガするイベントを生成することができる。
【００４６】
図１Ｊは、「変形イーゼル」位置のデバイス１００を示す。「変形イーゼル」位置では、画面１０４または１０８のうちの１つは、スタンドとして使用され、テーブルなどの物体の表面上に下を向いた状態に置かれる。この位置は、横向きでユーザに情報を表示する便利な方法を提供する。イーゼル位置と同様に、デバイス１００が「変形イーゼル」位置にある場合、位置センサ１７２ａ及び１７２ｂは、画面１０４及び１０８が互いに角度をなして配置されていることを示す信号を生成する。加速度計１７６は、画面１０４及び１０８のうちの１つが下を向いた状態で、実質的に水平となるようにデバイス１００が配置されたことを示す信号を生成することになる。次いで、信号を使用して、画面１０４及び１０８の情報の表示の変化をトリガするイベントを生成することができる。例えば、ユーザはその画面を見ることができないため、下向きの画面上には情報は表示されない可能性がある。
【００４７】
また、移行状態も可能である。画面が閉じているまたは折り畳まれている（開位置から）ことを位置センサ１７２ａ及びｂ及び／または加速度計が示す場合は、閉への移行状態が認識される。逆に、画面が開いているまたは折り畳まれている（閉位置から）ことを位置センサ１７２ａ及びｂが示す場合は、開への移行状態が認識される。閉及び開への移行状態は、通常、時間に基づくか、または感知された開始点からの最大持続時間を有する。通常、閉及び開状態のうちの１つが進行中のときは、ユーザ入力は不可能である。このように、閉または開動作中のユーザによる画面との偶発的な接触は、ユーザ入力として誤って解釈されることはない。実施形態では、デバイス１００が閉じている場合は、別の移行状態が可能である。この追加の移行状態により、デバイス１００が閉じている場合は、例えば、画面１１０、１１４上でのダブルタップなどの何らかのユーザ入力に基づいて、ある画面１０４から第２の画面１０８にディスプレイを切り替えることが可能になる。
【００４８】
理解できるように、デバイス１００に関する説明は、単なる例示を目的として行われ、実施形態は、図１Ａ〜１Ｊに示され、上記で説明される特定の機械的な特徴に制限されない。他の実施形態では、デバイス１００は、１つまたは複数の追加のボタン、スロット、ディスプレイエリア、ヒンジ及び／またはロック機構を含む追加の特徴を含み得る。それに加えて、実施形態では、上記で説明される特徴は、デバイス１００の異なる部分に位置し得、それでも同様の機能性を提供することができる。したがって、図１Ａ〜１Ｊ及び上記で提供される説明は、非限定的である。
【００４９】
ハードウェアの特徴：
図２は、本開示の実施形態によるデバイス１００のコンポーネントを示す。一般に、デバイス１００は、一次画面１０４と二次画面１０８とを含む。一次画面１０４及びそのコンポーネントは、通常、開位置または状態でも閉位置または状態でも有効化される一方で、二次画面１０８及びそのコンポーネントは、通常、開状態では有効化されるが、閉状態では無効化される。しかし、閉状態であっても、ユーザまたはアプリケーションがトリガするインタラプト（通話アプリケーションまたはカメラアプリケーションオペレーションに応じてなど）は、適切なコマンドによって、アクティブ画面を変更することも、一次画面１０４を無効化して二次画面１０８を有効化することもできる。各画面１０４、１０８は、タッチセンサ式であり得、異なる動作エリアを含み得る。例えば、それぞれのタッチセンサ式画面１０４及び１０８内の第１の動作エリアは、タッチセンサ式ディスプレイ１１０、１１４を含み得る。一般に、タッチセンサ式ディスプレイ１１０、１１４は、フルカラーのタッチセンサ式ディスプレイを含み得る。それぞれのタッチセンサ式画面１０４及び１０８内の第２のエリアは、ジェスチャ捕捉領域１２０、１２４を含み得る。ジェスチャ捕捉領域１２０、１２４は、タッチセンサ式ディスプレイ１１０、１１４のエリア外のエリアまたは領域を含み得、そのエリアまたは領域は、例えば、ユーザによって提供されるジェスチャの形での入力の受信が可能である。しかし、ジェスチャ捕捉領域１２０、１２４は、表示機能または能力を実行することができる画素を含まない。
【００５０】
タッチセンサ式画面１０４及び１０８の第３の領域は、構成可能なエリア１１２、１１６を含み得る。構成可能なエリア１１２、１１６は、入力を受信することができ、表示または制限された表示能力を有する。実施形態では、構成可能なエリア１１２、１１６は、異なる入力オプションをユーザに提示することができる。例えば、構成可能なエリア１１２、１１６は、ボタンまたは他の関連付けられるアイテムを表示することができる。その上、表示されたボタンのアイデンティティ、または、タッチセンサ式画面１０４もしくは１０８の構成可能なエリア１１２、１１６内に表示されているボタンがあるかどうかは、デバイス１００が使用される及び／または操作されるコンテキストから決定することができる。例示的な実施形態では、タッチセンサ式画面１０４及び１０８は、ユーザに視覚出力を提供することができるタッチセンサ式画面１０４及び１０８の少なくともそれらの領域に広がる液晶ディスプレイデバイスと、ユーザから入力を受信することができるタッチセンサ式画面１０４及び１０８のそれらの領域にわたる容量性入力マトリックスとを含む。
【００５１】
１つまたは複数のディスプレイコントローラ２１６ａ、２１６ｂは、入力（タッチセンサ式）及び出力（表示）機能を含むタッチセンサ式画面１０４及び１０８のオペレーションを制御するために設けることができる。図２に示される例示的な実施形態では、別々のタッチスクリーンコントローラ２１６ａまたは２１６ｂが各タッチスクリーン１０４及び１０８に設けられる。代替の実施形態によれば、共通のまたは共有されたタッチスクリーンコントローラ２１６を使用して、含まれるタッチセンサ式画面１０４及び１０８の各々を制御することができる。さらなる他の実施形態によれば、タッチスクリーンコントローラ２１６の機能は、プロセッサ２０４などの他のコンポーネントに組み込むことができる。
【００５２】
プロセッサ２０４は、アプリケーションプログラミングまたは命令を実行するための汎用のプログラム可能プロセッサまたはコントローラを含み得る。少なくともいくつかの実施形態によれば、プロセッサ２０４は、複数のプロセッサコアを含む、及び／または、複数の仮想プロセッサを実装することができる。さらなる他の実施形態によれば、プロセッサ２０４は、複数の物理的プロセッサを含み得る。具体的な例として、プロセッサ２０４は、特別に構成された特定用途向け集積回路（ＡＳＩＣ）もしくは他の集積回路、デジタル信号プロセッサ、コントローラ、配線電子もしくは論理回路、プログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、または、同様のものを含み得る。プロセッサ２０４は、一般に、デバイス１００のさまざまな機能を実装するプログラミングコードまたは命令を実行するように機能する。
【００５３】
また、通信デバイス１００は、プロセッサ２０４によるアプリケーションプログラミングまたは命令の実行に関連して使用するための、ならびに、プログラム命令及び／またはデータを一時的または長期に格納するための、メモリ２０８も含み得る。例として、メモリ２０８は、ＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭまたは他のソリッドステートメモリを含み得る。その代替としてまたはそれに加えて、データストレージ２１２を設けることができる。メモリ２０８と同様に、データストレージ２１２は、１つまたは複数のソリッドステートメモリデバイスを含み得る。その代替としてまたはそれに加えて、データストレージ２１２は、ハードディスクドライブまたは他のランダムアクセスメモリを含み得る。
【００５４】
通信機能または能力をサポートする際、デバイス１００は、携帯電話モジュール２２８を含み得る。例として、携帯電話モジュール２２８は、セルラネットワーク上で音声、マルチメディア及び／またはデータ転送をサポートすることができるＧＳＭ（登録商標）、ＣＤＭＡ、ＦＤＭＡ及び／またはアナログ携帯電話トランシーバを含み得る。その代替としてまたはそれに加えて、デバイス１００は、追加のまたは他の無線通信モジュール２３２を含み得る。例として、他の無線通信モジュール２３２は、ワイファイ（Ｗｉ−Ｆｉ）、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）、ワイマックス（ＷｉＭａｘ）、赤外線または他の無線通信リンクを含み得る。携帯電話モジュール２２８及び他の無線通信モジュール２３２は、それぞれが、共有または専用アンテナ２２４と関連付けられることができる。
【００５５】
ポートインタフェース２５２を含めることができる。ポートインタフェース２５２は、ドックなどの他のデバイスまたはコンポーネントとのデバイス１００の相互接続をサポートする独自のまたはユニバーサルポートを含み得、他のデバイスまたはコンポーネントは、デバイス１００に不可欠なものへの追加のまたはそれとは異なる能力を含んでも含まなくともよい。デバイス１００と別のデバイスまたはコンポーネントとの間での通信信号の交換のサポートに加えて、ドッキングポート１３６及び／またはポートインタフェース２５２は、デバイス１００へのまたはデバイス１００からの電力の供給をサポートすることができる。また、ポートインタフェース２５２は、デバイス１００と接続されたデバイスまたはコンポーネントとの間の通信または他の相互作用を制御するためのドッキングモジュールを含むインテリジェントな要素も含む。
【００５６】
入力／出力モジュール２４８及び関連ポートを含めて、例えば、他の通信デバイス、サーバデバイス及び／または周辺デバイスとの有線ネットワークまたはリンク上での通信をサポートすることができる。入力／出力モジュール２４８の例としては、イーサネット（登録商標）ポート、ユニバーサルシリアルバス（ＵＳＢ）ポート、電気電子技術者協会（ＩＥＥＥ）１３９４または他のインタフェースが挙げられる。
【００５７】
音声入力／出力インタフェース／デバイス２４４を含めて、相互接続されたスピーカまたは他のデバイスにアナログ音声を提供したり、接続されたマイクロホンまたは他のデバイスからアナログ音声入力を受信したりすることができる。一例として、音声入力／出力インタフェース／デバイス２４４は、関連アンプとアナログデジタル変換器とを含み得る。その代替としてまたはそれに加えて、デバイス１００は、外部のスピーカまたはマイクロホンを相互接続するための統合音声入力／出力デバイス２５６及び／または音声ジャックを含み得る。例えば、統合スピーカ及び統合マイクロホンを提供し、近接通話またはスピーカフォンオペレーションをサポートすることができる。
【００５８】
ハードウェアボタン１５８を含めて、例えば、ある制御動作に関連して使用することができる。例としては、図１Ａ〜１Ｊと併せて説明されるように、マスタ電源スイッチ、音量調節などが挙げられる。カメラなどの１つまたは複数の画像捕捉インタフェース／デバイス２４０を含めて、静止及び／またはビデオ画像を捕捉することができる。その代替としてまたはそれに加えて、画像捕捉インタフェース／デバイス２４０は、スキャナまたはコードリーダを含み得る。画像捕捉インタフェース／デバイス２４０は、フラッシュまたは他の光源などの追加の要素を含むか、または追加の要素と関連付けられることができる。
【００５９】
また、デバイス１００は、全地球側位システム（ＧＰＳ）受信機２３６も含み得る。本発明の実施形態によれば、ＧＰＳ受信機２３６は、デバイス１００の他のコンポーネントに絶対位置情報を提供できるＧＰＳモジュールをさらに含み得る。また、加速度計１７６も含めることができる。例えば、ユーザへの情報の表示及び／または他の機能に関連して、加速度計１７６からの信号を使用して、その情報をユーザに表示するための方向及び／または形式を決定することができる。
【００６０】
また、本発明の実施形態は、１つまたは複数の位置センサ１７２を含み得る。位置センサ１７２は、互いに対するタッチセンサ式画面１０４及び１０８の位置を示す信号を提供することができる。例えば、ユーザインタフェースアプリケーションへの入力としてこの情報を提供し、動作モード、すなわち、タッチセンサ式ディスプレイ１１０、１１４及び／または他のデバイス１００オペレーションの特性を決定することができる。例として、画面位置センサ１７２は、一連のホール効果センサ、複数の位置スイッチ、光スイッチ、ホイートストンブリッジ、電位差計、または、タッチスクリーンが置かれている複数の相対位置を示す信号を提供することができる他の構成を含み得る。
【００６１】
デバイス１００のさまざまなコンポーネント間の通信は、１つまたは複数のバス２２２によって行うことができる。それに加えて、電源及び／または電力制御モジュール２６０からデバイス１００のコンポーネントに電力を供給することができる。電力制御モジュール２６０は、例えば、バッテリ、ＡＣ／ＤＣ変換器、電力制御ロジック及び／または外部の電源にデバイス１００を相互接続するためのポートを含み得る。
【００６２】
デバイスの状態：
図３Ａ及び３Ｂは、デバイス１００の例示的な状態を表す。多くの例示的な状態が示され、第１の状態から第２の状態へ移行するが、例示的な状態を示す図は、すべての可能な状態及び／またはすべての可能な第１の状態から第２の状態への移行を包含するわけではないことを理解されたい。図３で示されるように、状態間のさまざまな矢印（円で表された状態によって示される）は、デバイス１００に起こる物理的変化を表す。物理的変化は、ハードウェア及びソフトウェアの１つまたは複数によって検出され、その検出により、ハードウェア及び／またはソフトウェアインタラプトの１つまたは複数がトリガされ、デバイス１００の１つまたは複数の機能の制御及び／または管理に使用される。
【００６３】
図３Ａで示されるように、１２の例示的な「物理的」状態があり、それらは、閉３０４、移行３０８（または開への移行状態）、イーゼル３１２、変形イーゼル３１６、開３２０、着信／発信通話または通信３２４、画像／映像捕捉３２８、移行３３２（または閉への移行状態）、横向き３４０、ドッキング３３６、ドッキング３４４及び横向き３４８である。各例示的な状態の隣にあるのは、デバイス１００の物理的状態の表現であるが、状態３２４及び３２８は例外であり、状態３２４及び３２８では、一般に、状態は、電話用の国際的なアイコン及びカメラ用のアイコンによってそれぞれ象徴化される。
【００６４】
状態３０４では、デバイスは閉状態であり、デバイス１００は、一般に、一次画面１０４と二次画面１０８が異なる面で背中合わせの状態で、縦向き方向に方向付けられる（図１Ｈを参照）。閉状態から、デバイス１００は、例えば、ドッキング状態３３６または横向き状態３４０に入ることができ、ドッキング状態３３６では、デバイス１００はドッキングステーションやドッキングケーブルと結合されるか、または、一般に１つもしくは複数の他のデバイスもしくは周辺機器とドッキングされるかもしくは関連付けられ、横向き状態３４０では、一次画面１０４はユーザに面し、一次画面１０４と二次画面１０８は背中合わせの状態でデバイス１００が一般に方向付けされる。
【００６５】
また、閉状態では、デバイスは、移行状態に移動することができ、移行状態では、デバイスは閉じたままであるが、ディスプレイは、例えば、画面１１０、１１４上でのダブルタップなどのユーザ入力に基づいて、ある画面１０４から別の画面１０８に移動する。さらに別の実施形態は、両面状態（ｂｉｌａｔｅｒａｌ  ｓｔａｔｅ）を含む。両面状態では、デバイスは閉じたままであるが、単一のアプリケーションが少なくとも１つのウィンドウを第１のディスプレイ１１０と第２のディスプレイ１１４の両方に表示する。第１及び第２のディスプレイ１１０、１１４に示されるウィンドウは、アプリケーション及びそのアプリケーションの状態に基づいて、同じであっても異なっていてもよい。例えば、カメラで画像を取得する間、デバイスは、第１のディスプレイ１１０上でファインダを表示することができ、第２のディスプレイ１１４上で被写体のプレビュー（全画面及び左から右へミラーリング）を表示する。
【００６６】
閉状態３０４から半開状態またはイーゼル状態３１２への移行状態である状態３０８では、デバイス１００は、一次画面１０４及び二次画面１０８をヒンジと一致する軸のポイントの周りで回転させて開いた状態で示される。イーゼル状態３１２に入ると、一次画面１０４及び二次画面１０８は、例えば、デバイス１００がイーゼル様構成で表面上に位置することができるように、互いに分離される。
【００６７】
変形イーゼル位置として知られる状態３１６では、デバイス１００は、互いにイーゼル状態３１２と同様の相対関係にある一次画面１０４及び二次画面１０８を有し、その違いは、示されるように、一次画面１０４または二次画面１０８のうちの１つが表面上に配置されることである。
【００６８】
状態３２０は開状態であり、開状態では、一次画面１０４及び二次画面１０８は、一般に、同じ平面上にある。開状態から、デバイス１００は、ドッキング状態３４４または開横向き状態３４８に移行することができる。開状態３２０では、一次画面１０４及び二次画面１０８は、一般に、縦向きのような状態にあるが、横向き状態３４８では、一次画面１０４及び二次画面１０８は、一般に、横向きのような状態にある。
【００６９】
状態３２４は、デバイス１００でそれぞれ着信通話を受けるまたは発信通話をかける場合などの通信状態の例示である。明確には示されていないが、デバイス１００は、図３に示されるいかなる状態からも着信／発信通話状態３２４へ移行できることを理解されたい。同様に、画像／映像捕捉状態３２８もまた、図３に示される他のいかなる状態からも入ることができ、画像／映像捕捉状態３２８では、デバイス１００は、映像捕捉デバイス２４０を備えたカメラ及び／またはビデオを介して、１つまたは複数の画像を撮影することができる。
【００７０】
移行状態３３２は、一次画面１０４及び二次画面１０８が、例えば、閉状態３０４に入るために、互いに向かって閉じている状態を例示的に示す。
図３Ｂは、キーを参照して、第１の状態から第２の状態への移行を検出するために受信された入力を示す。図３Ｂでは、状態のさまざまな組合せが示されており、一般に、列の一部は、縦向き状態３５２や横向き状態３５６を対象とし、行の一部は、縦向き状態３６０と横向き状態３６４を対象とする。
【００７１】
図３Ｂでは、キーは、「Ｈ」が１つまたは複数のホール効果センサからの入力を表し、「Ａ」が１つまたは複数の加速度計からの入力を表し、「Ｔ」がタイマからの入力を表し、「Ｐ」が通信トリガ入力を表し、「Ｉ」が画像及び／または映像捕捉要求入力を表すことを示す。したがって、表の中央部分３７６では、デバイス１００がどのように第１の物理的な状態から第２の物理的な状態への移行を検出するかを表す入力または入力の組合せが示される。
【００７２】
上記したように、表の中央部分３７６では、受信した入力により、例えば、縦向き開状態から横向きイーゼル状態への移行（太字の「ＨＡＴ」で示される）の検出が可能になる。この例示的な縦向き開状態から横向きイーゼル状態への移行の場合、ホール効果センサ（「Ｈ」）、加速度計（「Ａ」）及びタイマ（「Ｔ」）入力が必要とされ得る。タイマ入力は、例えば、プロセッサに関連付けられた時計から得ることができる。
【００７３】
縦向き及び横向き状態に加えて、ドッキング信号３７２の受信に基づいてトリガされるドッキング状態３６８も示される。上記で論じられるように、図３に関連して、ドッキング信号は、デバイス１００を、１つまたは複数の他のデバイス１００、アクセサリ、周辺機器、スマートドックまたは同様のものと接続することによってトリガすることができる。
【００７４】
ユーザ相互作用：
図４Ａ〜４Ｈは、画面１０４、１０８によって認識することができるジェスチャ入力のさまざまなグラフィカルな表現を描写する。ジェスチャは、指などのユーザの身体部分ばかりではなく、画面１０４、１０８の接触感知部分によって感知することができるスタイラスなどの他のデバイスによっても行うことができる。一般に、ジェスチャは、どこでジェスチャが行われるか（ディスプレイ１１０、１１４上に直接またはジェスチャ捕捉領域１２０、１２４のいずれか）に基づいて、異なって解釈される。例えば、ディスプレイ１１０、１１４内のジェスチャは、デスクトップまたはアプリケーションを対象とし、ジェスチャ捕捉領域１２０、１２４内のジェスチャは、システム用として解釈され得る。
【００７５】
図４Ａ〜４Ｈを参照すると、ジェスチャの第１のタイプ（タッチジェスチャ４２０）は、選択された時間長の間、画面１０４、１０８上に実質的に静止する。円４２８は、画面の接触感知部分の特定の位置で受信されたタッチまたは他の接触タイプを表す。円４２８は、境界４３２を含み得、その厚さは、接触位置において実質的に静止した状態で接触が保持された時間長を示す。例えば、タップ４２０（または短時間のプレス）は、長時間のプレス４２４に対する（または通常のプレスに対する）境界４３２ｂより薄い境界４３２ａを有する。長時間のプレス４２４は、タップ４２０より長い時間の間、画面上に実質的に静止した状態のままの接触を伴う可能性がある。理解されるように、異なって定義されたジェスチャは、接触停止前または画面上での移動前のタッチが静止した状態のままの時間長に応じて登録することができる。
【００７６】
図４Ｃを参照すると、画面１０４、１０８上でのドラッグジェスチャ４００は、最初の接触（円４２８によって表される）に、選択された方向への接触移動４３６が伴う。最初の接触４２８は、境界４３２によって表される特定の時間量の間、画面１０４、１０８上で静止した状態のままであり得る。ドラッグジェスチャは、通常、ユーザが第１の位置でアイコン、ウィンドウまたは他の表示画像に接触し、その後、選択された表示画像に対して所望の新しい第２の位置に向かうドラッグ方向に接触を移動させる必要がある。接触移動は、直線である必要はないが、接触が第１から第２の位置に実質的に連続したものである限り、いかなる経路の移動もあり得る。
【００７７】
図４Ｄを参照すると、画面１０４、１０８上でのフリックジェスチャ４０４は、最初の接触（円４２８によって表される）に、選択された方向への短縮された接触移動４３６（ドラッグジェスチャと比較して）が伴う。実施形態では、フリックは、ドラッグジェスチャと比較して、ジェスチャの最後の動きに対してより高い退出速度を有する。フリックジェスチャは、例えば、最初の接触に続く指スナップであり得る。ドラッグジェスチャと比較すると、フリックジェスチャは、一般に、表示画像の第１の位置から既定の第２の位置まで、画面１０４、１０８との連続的な接触を必要としない。接触した表示画像は、フリックジェスチャによって、既定の第２の位置に向かうフリックジェスチャ方向に移動される。両方のジェスチャは、一般に、第１の位置から第２の位置に表示画像を移動させることができるが、画面上での接触の持続時間及び移動距離は、一般に、ドラッグジェスチャよりもフリックジェスチャの方が短い。
【００７８】
図４Ｅを参照すると、画面１０４、１０８上でのピンチジェスチャ４０８が描写されている。ピンチジェスチャ４０８は、例えば、第１の指によって画面１０４、１０８に第１の接触４２８ａを行い、例えば、第２の指によって画面１０４、１０８に第２の接触４２８ｂを行うことによって着手することができる。第１及び第２の接触４２８ａ、ｂは、共通の画面１０４、１０８の共通の接触感知部分によって、共通の画面１０４もしくは１０８の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第１の接触４２８ａは、境界４３２ａによって表されるように、第１の時間量の間保持され、第２の接触４２８ｂは、境界４３２ｂによって表されるように、第２の時間量の間保持される。第１及び第２の時間量は、一般に、実質的に同じであり、第１及び第２の接触４２８ａ、ｂは、一般に、実質的に同時に起こる。また、第１及び第２の接触４２８ａ、ｂは、一般に、それぞれ、対応する第１及び第２の接触移動４３６ａ、ｂを含む。第１及び第２の接触移動４３６ａ、ｂは、一般に、対向方向である。別の言い方をすれば、第１の接触移動４３６ａは、第２の接触４２８ｂに向かう方向にあり、第２の接触移動４３６ｂは、第１の接触４２８ａに向かう方向にある。より簡単な言い方をすれば、ピンチジェスチャ４０８は、ユーザの指がピンチ動作で画面１０４、１０８に触れることによって実現することができる。
【００７９】
図４Ｆを参照すると、画面１０４、１０８上でのスプレッドジェスチャ４１０が描写されている。スプレッドジェスチャ４１０は、例えば、第１の指で画面１０４、１０８に第１の接触４２８ａを行い、例えば、第２の指で画面１０４、１０８に第２の接触４２８ｂを行うことによって着手することができる。第１及び第２の接触４２８ａ、ｂは、共通の画面１０４、１０８の共通の接触感知部分によって、共通の画面１０４もしくは１０８の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第１の接触４２８ａは、境界４３２ａによって表されるように、第１の時間量の間保持され、第２の接触４２８ｂは、境界４３２ｂによって表されるように、第２の時間量の間保持される。第１及び第２の時間量は、一般に、実質的に同じであり、第１及び第２の接触４２８ａ、ｂは、一般に、実質的に同時に起こる。また、第１及び第２の接触４２８ａ、ｂは、一般に、それぞれ、対応する第１及び第２の接触移動４３６ａ、ｂを含む。第１及び第２の接触移動４３６ａ、ｂは、一般に、共通の方向である。別の言い方をすれば、第１及び第２の接触移動４３６ａ、ｂは、第１及び第２の接触４２８ａ、ｂから遠ざかる方向にある。より簡単な言い方をすれば、スプレッドジェスチャ４１０は、ユーザの指がスプレッド動作で画面１０４、１０８に触れることによって実現することができる。
【００８０】
上記のジェスチャは、図４Ｇ及び４Ｈによって示されるものなど、任意の方法で組み合わせて、決定された機能的な結果を生成することができる。例えば、図４Ｇでは、タップジェスチャ４２０と、タップジェスチャ４２０から遠ざかる方向へのドラッグまたはフリックジェスチャ４１２とが組み合わされている。図４Ｈでは、タップジェスチャ４２０と、タップジェスチャ４２０に向かう方向へのドラッグまたはフリックジェスチャ４１２とが組み合わされている。
【００８１】
ジェスチャを受信するという機能的な結果は、デバイス１００、ディスプレイ１１０、１１４もしくは画面１０４、１０８の状態、ジェスチャに関連付けられたコンテキスト、または、ジェスチャの感知位置を含む多くの要因に応じて異なり得る。デバイスの状態は、一般に、デバイス１００の構成、ディスプレイ方向ならびにデバイス１００で受信されるユーザ及び他の入力のうちの１つまたは複数を指す。コンテキストは、一般に、アプリケーションが単一画面アプリケーションであろうが、複数画面アプリケーションであろうが、及び、アプリケーションが１つまたは複数の画面に１つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、１つまたは複数のスタックに１つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、ジェスチャによって選択された特定のアプリケーション及び現時点で実行しているアプリケーションの部分のうちの１つまたは複数を指す。ジェスチャの感知位置は、一般に、感知されたジェスチャ位置座標セットが、タッチセンサ式ディスプレイ１１０、１１４上にあるかまたはジェスチャ捕捉領域１２０、１２４にあるか、感知されたジェスチャ位置座標セットが、共通のディスプレイもしくは画面１０４、１０８に関連付けられているか、または異なるディスプレイもしくは画面１０４、１０８に関連付けられているか、及び／または、ジェスチャ捕捉領域のどの部分が感知されたジェスチャ位置座標セットを含むかを指す。
【００８２】
タップは、タッチセンサ式ディスプレイ１１０、１１４で受信する場合、例えば、対応するアプリケーションの実行の開始または終了、ウィンドウの最大化または最小化、スタック内でのウィンドウの並べ換え、及び、キーボード表示または他の表示画像などによるユーザ入力の提供のためにアイコンを選択する際に使用することができる。ドラッグは、タッチセンサ式ディスプレイ１１０、１１４で受信する場合、例えば、ディスプレイ内の所望の位置へアイコンもしくはウィンドウを移動する、ディスプレイ上でスタックを並べ換える、または、両ディスプレイをスパンする（その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する）際に使用することができる。フリックは、タッチセンサ式ディスプレイ１１０、１１４またはジェスチャ捕捉領域１２０、１２４で受信する場合、例えば、第１のディスプレイから第２のディスプレイへウィンドウを移動する、または、両ディスプレイをスパンする（その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する）際に使用することができる。しかし、ドラッグジェスチャとは異なり、フリックジェスチャは、一般に、特定のユーザ選択位置へ表示画像を移動する際には使用されないが、ユーザによる構成が不可能なデフォルト位置へ表示画像を移動する際には使用される。
【００８３】
ピンチジェスチャは、タッチセンサ式ディスプレイ１１０、１１４またはジェスチャ捕捉領域１２０、１２４で受信する場合、ウィンドウの表示エリアもしくはサイズを最小化もしくは増加する（通常、共通のディスプレイで全体を受信する場合）、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える（通常、異なるディスプレイまたは画面で受信する場合）、または、アプリケーションマネージャを表示する（スタックにウィンドウを表示する「ポップアップウィンドウ」）際に使用することができる。スプレッドジェスチャは、タッチセンサ式ディスプレイ１１０、１１４またはジェスチャ捕捉領域１２０、１２４で受信する場合、ウィンドウの表示エリアもしくはサイズを最大化もしくは減少する、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える（通常、異なるディスプレイまたは画面で受信する場合）、または、アプリケーションマネージャを表示する（同じまたは異なる画面上の画面外ジェスチャ捕捉領域で受信する場合）際に使用することができる。
【００８４】
図４Ｇの組み合わされたジェスチャは、共通のディスプレイまたは画面１０４、１０８内の共通のディスプレイ捕捉領域で受信する場合、ジェスチャを受信するディスプレイに一定の第１のスタックに第１のウィンドウスタック位置を保持する一方で、第２のウィンドウスタック位置を第２のウィンドウスタックに並べ替えて、ジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。図４Ｈの組み合わされたジェスチャは、共通のディスプレイもしくは画面１０４、１０８または異なるディスプレイもしくは画面内の異なるディスプレイ捕捉領域で受信する場合、ジェスチャのタップ部分を受信するディスプレイに一定の第１のウィンドウスタックに第１のウィンドウスタック位置を保持する一方で、第２のウィンドウスタック位置を第２のウィンドウスタックに並べ替えて、フリックまたはドラッグジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。先行例における特定のジェスチャ及びジェスチャ捕捉領域は、機能的な結果の対応するセットと関連付けられてきたが、これらの関連性は、いかなる方法でも再定義でき、ジェスチャ及び／またはジェスチャ捕捉領域及び／または機能的な結果間で異なる関連性を生成できることを理解されたい。
【００８５】
ファームウェア及びソフトウェア：
メモリ５０８は、１つまたは複数のソフトウェアコンポーネントを格納することができ、プロセッサ５０４は、それを実行することができる。これらのコンポーネントは、少なくとも１つのオペレーティングシステム（ＯＳ）５１６、アプリケーションマネージャ５６２、デスクトップ５６６及び／またはアプリケーションストア５６０からの１つもしくは複数のアプリケーション５６４ａ及び／または５６４ｂを含み得る。ＯＳ  ５１６は、以前に図２と併せて説明された、フレームワーク５２０、１つもしくは複数のフレームバッファ５４８、１つもしくは複数のドライバ５１２及び／またはカーネル５１８を含み得る。ＯＳ  ５１６は、プログラム及びデータからなる任意のソフトウェアであり得、プログラム及びデータは、コンピュータハードウェアリソースを管理し、さまざまなアプリケーション５６４の実行のための共通のサービスを提供する。ＯＳ  ５１６は、任意のオペレーティングシステムであり得、少なくともいくつかの実施形態では、これらに限定されないが、リナックス（Ｌｉｎｕｘ）（登録商標）、アンドロイド（Ａｎｄｒｏｉｄ）（登録商標）、アイフォンＯＳ（ｉＰｈｏｎｅ  ＯＳ）（ｉＯＳ（登録商標））、ウィンドウズフォン７（Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ  ７）（登録商標）などを含むモバイルデバイス専用である。ＯＳ  ５１６は、本明細書に記載されるように、１つまたは複数のオペレーションを実行することによって、電話に機能性を提供するよう動作可能である。
【００８６】
アプリケーション５６４は、ユーザのための特定の機能性を実行する任意の高レベルのソフトウェアであり得る。アプリケーション５６４は、Ｅメールクライアント、ウェブブラウザ、テキストメッセージアプリケーション、ゲーム、メディアプレーヤ、オフィススイートなどのプログラムを含み得る。アプリケーション５６４は、アプリケーションストア５６０に格納することができ、アプリケーションストア５６０は、アプリケーション５６４を格納するための任意のメモリまたはデータストレージ及びそれに関連付けられた管理ソフトウェアを表し得る。実行された時点で、アプリケーション５６４は、メモリ５０８の異なるエリアで実行することができる。
【００８７】
フレームワーク５２０は、デバイス上で実行されている複数のタスクの相互作用を可能にする任意のソフトウェアまたはデータであり得る。実施形態では、フレームワーク５２０の少なくとも部分及び以下で説明する個別のコンポーネントは、ＯＳ  ５１６またはアプリケーション５６４の一部と見なすことができる。しかし、それらのコンポーネントはそのように限定されないことを除けば、これらの部分は、フレームワーク５２０の一部として説明される。フレームワーク５２０は、これらに限定されないが、複数ディスプレイ管理（ＭＤＭ）モジュール５２４、サーフェスキャッシュモジュール５２８、ウィンドウ管理モジュール５３２、入力管理モジュール５３６、タスク管理モジュール５４０、アプリケーションモデルマネージャ５４２、ディスプレイコントローラ、１つもしくは複数のフレームバッファ５４８、タスクスタック５５２、１つもしくは複数のウィンドウスタック５５０（ディスプレイエリア内のウィンドウ及び／またはデスクトップの論理構成である）及び／またはイベントバッファ５５６を含み得る。
【００８８】
ＭＤＭモジュール５２４は、デバイスの画面上でアプリケーションまたは他のデータの表示を管理するよう動作可能な１つまたは複数のモジュールを含む。ＭＤＭモジュール５２４の実施形態は、図５Ｂと併せて説明する。実施形態では、ＭＤＭモジュール５２４は、ドライバ５１２などの他のＯＳ  ５１６コンポーネントから及びアプリケーション５６４から入力を受信し、常にデバイス１００の状態を決定する。入力は、アプリケーションの優先度及び要件ならびにユーザ動作に応じてディスプレイをどのように構成して割り当てるかを決定する際にＭＤＭモジュール５２４を支援する。ディスプレイ構成に対する決定がなされた時点で、ＭＤＭモジュール５２４は、アプリケーション５６４とディスプレイとを結合することができる。次いで、１つまたは複数の他のコンポーネントに構成を提供して、ディスプレイでウィンドウを生成することができる。
【００８９】
サーフェスキャッシュモジュール５２８は、ウィンドウの１つまたは複数の画像を格納またはキャッシュするための任意のメモリまたはストレージ及びそれに関連付けられたソフトウェアを含む。一連のアクティブ及び／または非アクティブウィンドウ（またはデスクトップ表示などの他の表示オブジェクト）は、各ディスプレイに関連付けられ得る。アクティブウィンドウ（または他の表示オブジェクト）が現時点で表示されている。非アクティブウィンドウ（または他の表示オブジェクト）は、ある時点で開かれ、表示されていたが、現時点では表示されていない。ユーザ経験を高めるため、ウィンドウをアクティブ状態から非アクティブ状態へ移行する前に、ウィンドウ（または他の表示オブジェクト）の最後に生成された画像の「スクリーンショット」を格納することができる。サーフェスキャッシュモジュール５２８は、現時点で表示されていないウィンドウ（または他の表示オブジェクト）の最後のアクティブ画像のビットマップを格納するよう動作可能であり得る。したがって、サーフェスキャッシュモジュール５２８は、データストアに非アクティブウィンドウ（または他の表示オブジェクト）の画像を格納する。
【００９０】
実施形態では、ウィンドウ管理モジュール５３２は、それぞれのディスプレイ上でアクティブであるまたは非アクティブであるウィンドウ（または他の表示オブジェクト）を管理するよう動作可能である。ウィンドウ管理モジュール５３２は、ＭＤＭモジュール５２４、ＯＳ  ５１６または他のコンポーネントからの情報に基づいて、ウィンドウ（または他の表示オブジェクト）がいつ可視であるかまたは非アクティブであるかを決定する。次いで、ウィンドウ管理モジュール５３２は、不可視ウィンドウ（または他の表示オブジェクト）を「非アクティブ状態」に置き、タスク管理モジュールタスク管理５４０と併せて、アプリケーションのオペレーションを一時停止する。さらに、ウィンドウ管理モジュール５３２は、ＭＤＭモジュール５２４との協働相互作用を通じて、ウィンドウ（または他の表示オブジェクト）にディスプレイ識別子を割り当てることも、ウィンドウ（または他の表示オブジェクト）に関連付けられたデータの１つまたは複数の他のアイテムを管理することもできる。また、ウィンドウ管理モジュール５３２は、アプリケーション５６４、タスク管理モジュール５４０、または、ウィンドウ（または他の表示オブジェクト）と相互作用するかもしくは関連付けられた他のコンポーネントに格納された情報を提供することもできる。また、ウィンドウ管理モジュール５３２は、動作空間内のウィンドウフォーカス及びディスプレイ座標に基づいて、入力タスクをウィンドウと関連付けることもできる。
【００９１】
入力管理モジュール５３６は、デバイスで起こるイベントを管理するよう動作可能である。イベントは、例えば、ユーザとのユーザインタフェース相互作用などのウィンドウ環境への任意の入力である。入力管理モジュール５３６は、イベントを受信し、イベントをイベントバッファ５５６に論理的に格納する。イベントは、そのようなユーザインタフェース相互作用を、画面１０４、１０８がユーザからタッチ信号を受信した場合に起こる「ダウンイベント」、ユーザの指が画面を横切って移動していることを画面１０４、１０８が決定した場合に起こる「移動イベント」、ユーザが画面１０４、１０８に触れるのを止めたことを画面１０４、１０８が決定した場合に起こる「アップイベント」などとして含み得る。これらのイベントは、入力管理モジュール５３６によって、受信され、格納され、他のモジュールに転送される。また、入力管理モジュール５３６は、デバイス上で利用可能なすべての物理的及び仮想ディスプレイの集大成である動作空間に画面入力をマッピングすることもできる。
【００９２】
動作空間は、一緒に「タイル化」してデバイス１００の物理的寸法を模倣した、すべてのタッチセンサ式ディスプレイ１１０、１１４を含む仮想化空間である。例えば、デバイス１００が展開されている場合は、動作空間サイズは９６０×８００であり得、これは、両方のタッチセンサ式ディスプレイ１１０、１１４の組み合わされたディスプレイエリア内の画素数であり得る。ユーザが位置（４０，４０）で第１のタッチセンサ式ディスプレイ１１０に触れる場合、全画面ウィンドウは、位置（４０，４０）でタッチイベントを受信することができる。ユーザが位置（４０，４０）で第２のタッチセンサ式ディスプレイ１１４に触れる場合、全画面ウィンドウは、位置（５２０，４０）でタッチイベントを受信することができるが、その理由は、第２のタッチセンサ式ディスプレイ１１４は第１のタッチセンサ式ディスプレイ１１０の右側にあり、したがって、デバイス１００は、第１のタッチセンサ式ディスプレイ１１０の幅の分、すなわち、４８０画素分だけ、そのタッチにオフセットを設けることができるためである。ドライバ５１２からの位置情報でハードウェアイベントが起こる場合、デバイスの向き及び状態に基づいてイベントの位置が異なり得るため、フレームワーク５２０は、物理的位置を動作空間にアップスケールすることができる。動作空間は、それが教示するすべて及びすべての目的のためにその全体が参照により本明細書に組み込まれる、２０１１年７月２０日に出願された「複数の入力デバイスに及ぶジェスチャ入力を受信するためのシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｒｅｃｅｉｖｉｎｇ  Ｇｅｓｔｕｒｅ  Ｉｎｐｕｔｓ  Ｓｐａｎｎｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ）」と称する米国特許出願第１３／１８７，０２６号明細書に記載されるようなものであり得る。
【００９３】
タスクは、アプリケーションであり得、サブタスクは、ユーザが、例えば、電話をする、写真を撮る、Ｅメールを送信するまたはマップを見るなど何かを行うために情報のやり取りを行うことができるウィンドウを提供するアプリケーションコンポーネントであり得る。各タスクには、ユーザインタフェースを描くためのウィンドウを与えることができる。ウィンドウは、通常、ディスプレイ（例えば、タッチセンサ式ディスプレイ１１０、１１４）全体を占めるが、ディスプレイ１１０、１１４より小さく、他のウィンドウ上で浮動してもよい。アプリケーションは、通常、互いに緩やかに結合された複数のサブタスクからなる。通常、アプリケーション内の１つのタスクが「メイン」タスクとして指定され、最初にアプリケーションに着手する際にユーザに提示される。次いで、各タスクは、別のタスクまたはサブタスクを開始して、異なる動作を実行することができる。
【００９４】
タスク管理モジュール５４０は、デバイスによって実行することができる１つまたは複数のアプリケーション５６４のオペレーションを管理するよう動作可能である。したがって、タスク管理モジュール５４０は、信号を受信して、アプリケーションストア５６０に格納されたアプリケーションまたはアプリケーションサブタスクの着手、一時停止、終了などを行うことができる。次いで、タスク管理モジュール５４０は、アプリケーション５６４の１つまたは複数のタスクまたはサブタスクのインスタンスを作成し、アプリケーション５６４のオペレーションを開始することができる。さらに、タスク管理モジュール５４０は、ユーザ入力の結果または協働フレームワーク５２０コンポーネントからの信号の結果、タスクまたはサブタスクの着手、一時停止または終了を行うことができる。タスク管理モジュール５４０は、アプリケーションの着手からアプリケーションの終了までのアプリケーション（タスク及びサブタスク）のライフサイクルの管理に対する責任を有する。
【００９５】
タスク管理モジュール５４０の処理は、タスクスタック５５２によって容易にし、タスクスタック５５２は、タスク管理モジュール５４０に関連付けられた論理構造である。タスクスタック５５２は、デバイス１００上のすべてのタスク及びサブタスクの状態を維持する。オペレーティングシステム５１６の一部のコンポーネントがタスクまたはサブタスクにそのライフサイクルにおける移行を行わせる必要がある場合、ＯＳ  ５１６コンポーネントは、タスク管理モジュール５４０に通知することができる。次いで、タスク管理モジュール５４０は、識別情報を使用してタスクスタック５５２においてタスクまたはサブタスクを位置付け、タスクがどのようなライフサイクル移行を実行する必要があるかを示す信号をタスクまたはサブタスクに送信する。移行についてタスクまたはサブタスクに通知することにより、タスクまたはサブタスクは、ライフサイクル状態移行の準備を行うことができる。次いで、タスク管理モジュール５４０は、タスクまたはサブタスクに対する状態移行を実行することができる。実施形態では、状態移行は、終了が必要な場合に、ＯＳカーネル５１８をトリガしてタスクを終了することを伴う場合がある。
【００９６】
さらに、タスク管理モジュール５４０は、ウィンドウ管理モジュール５３２からの情報に基づいて、アプリケーション５６４を一時停止することができる。アプリケーション５６４の一時停止により、メモリ内のアプリケーションデータを維持することができるが、ウィンドウまたはユーザインタフェースのレンダリングからアプリケーション５６４を制限することも停止することもある。再びアプリケーションがアクティブ状態になった時点で、タスク管理モジュール５４０は、再び、アプリケーションをトリガして、そのユーザインタフェースをレンダリングすることができる。実施形態では、タスクが一時停止されれば、タスクは、タスクの終了が行われる場合は、タスクの状態を保存することができる。一時停止状態では、アプリケーションウィンドウはユーザから見えないため、アプリケーションタスクは、入力を受信することはできない。
【００９７】
フレームバッファ５４８は、ユーザインタフェースのレンダリングに使用される論理構造である。フレームバッファ５４８は、ＯＳカーネル５１８によって作成及び破壊され得る。しかし、ディスプレイコントローラ５４４は、可視ウィンドウに対し、画像データをフレームバッファ５４８に書き込むことができる。フレームバッファ５４８は、１つの画面または複数の画面に関連付けられ得る。画面とのフレームバッファ５４８の関連性は、ＯＳカーネル５１８との相互作用によって動的に制御することができる。複合ディスプレイは、複数の画面を単一のフレームバッファ５４８と関連付けることによって作成することができる。次いで、アプリケーションのウィンドウのユーザインタフェースのレンダリングに使用されるグラフィカルなデータは、複合ディスプレイに対し、単一のフレームバッファ５４８に書き込むことができ、それは複数画面１０４、１０８に出力される。ディスプレイコントローラ５４４は、アプリケーションのユーザインタフェースを、特定のディスプレイ１１０、１１４にマッピングされたフレームバッファ５４８の一部に移動させることができ、したがって、１つの画面１０４または１０８上にのみユーザインタフェースを表示することができる。ディスプレイコントローラ５４４は、ユーザインタフェースの制御を複数のアプリケーションに拡大し、フレームバッファ５４８またはその一部と関連付けられるだけの数のディスプレイに対してユーザインタフェースを制御することができる。この手法は、ディスプレイコントローラ５４４上のソフトウェアコンポーネントで使用中の複数の物理的画面１０４、１０８を補整する。
【００９８】
アプリケーションマネージャ５６２は、ウィンドウ環境に対するプレゼンテーション層を提供するアプリケーションである。したがって、アプリケーションマネージャ５６２は、タスク管理モジュール５４０によるレンダリングのためのグラフィカルなモデルを提供する。同様に、デスクトップ５６６は、アプリケーションストア５６０に対するプレゼンテーション層を提供する。したがって、デスクトップは、レンダリング用にウィンドウ管理モジュール５５６に提供することができるアプリケーションストア５６０内のアプリケーション５６４用の選択可能なアプリケーションアイコンを有する表面のグラフィカルなモデルを提供する。
【００９９】
さらに、フレームワークは、アプリケーションモデルマネージャ（ＡＭＭ）５４２を含み得る。アプリケーションマネージャ５６２は、ＡＭＭ  ５４２とインタフェースをとることができる。実施形態では、ＡＭＭ  ５４２は、アプリケーションの状態（実行中または一時停止中）に関する状態変化情報をデバイス１００から受信する。ＡＭＭ  ５４２は、サーフェスキャッシュモジュール５２８からのビットマップ画像を活動中（実行中または一時停止中）のタスクと関連付けることができる。さらに、ＡＭＭ  ５４２は、タスク管理モジュール５４０内で維持されている論理的ウィンドウスタックを、ディスプレイ外のジェスチャ捕捉エリア１２０を使用してウィンドウをより分ける際にユーザが捉える線形（「フィルムストリップ」または「トランプ一組」）組織に変換することができる。さらに、ＡＭＭ  ５４２は、実行中のアプリケーションのリストを、アプリケーションマネージャ５６２に提供することができる。
【０１００】
ＭＤＭモジュール５２４の実施形態を図５Ｂに示す。ＭＤＭモジュール５２４は、これらに限定されないが、デバイスの向き、デバイス１００は開いているかまたは閉じているか、どのアプリケーション５６４を実行しているか、どのようにアプリケーション５６４を表示するか、ユーザはどの動作を行っているか、表示されているタスクなどを含むデバイスのための環境の状態を決定するよう動作可能である。ディスプレイを構成するため、ＭＤＭモジュール５２４は、図６Ａ〜６Ｊと併せて説明されるように、これらの環境要因を解釈し、ディスプレイ構成を決定する。次いで、ＭＤＭモジュール５２４は、アプリケーション５６４または他のデバイスコンポーネントをディスプレイと結合することができる。次いで、ディスプレイコントローラ５４４及び／またはＯＳ  ５１６内の他のコンポーネントに構成を送信し、ディスプレイを生成することができる。ＭＤＭモジュール５２４は、これらに限定されないが、ディスプレイ構成モジュール５６８、優先度モジュール５７２、デバイス状態モジュール５７４、ジェスチャモジュール５７６、要件モジュール５８０、イベントモジュール５８４及び／または結合モジュール５８８のうちの１つまたは複数を含み得る。
【０１０１】
ディスプレイ構成モジュール５６８は、ディスプレイ用のレイアウトを決定する。実施形態では、ディスプレイ構成モジュール５６８は、環境因子を決定することができる。環境因子は、１つまたは複数の他のＭＤＭモジュール５２４からまたは他のソースから受信することができる。次いで、ディスプレイ構成モジュール５６８は、因子のリストからディスプレイに最適な構成を決定することができる。可能な構成及びそれに関連付けられた因子のいくつかの実施形態については、図６Ａ〜６Ｆと併せて説明する。
【０１０２】
優先度モジュール５７２は、アプリケーション５６４または他のコンポーネントの表示優先度を決定するよう動作可能である。例えば、アプリケーションは、単一またはデュアルディスプレイに対する優先度を有し得る。優先度モジュール５７２は、アプリケーションの表示優先度を決定することができ（例えば、アプリケーションの優先度設定を検査することによって）、デバイス１００が好ましいモードに対応することができる状態にある場合は、アプリケーション５６４がモード（例えば、単一画面、二重画面、最大など）を変更することを可能にする場合がある。しかし、いくつかのユーザインタフェース方針は、そのモードが利用可能であっても、モードを認めない場合がある。デバイスの構成が変化すると、優先度を見直して、アプリケーション５６４に対してより良いディスプレイ構成を実現できるかどうかを決定することができる。
【０１０３】
デバイス状態モジュール５７４は、デバイスの状態を決定または受信するよう動作可能である。デバイスの状態は、図３Ａ及び３Ｂと併せて説明されるようなものであり得る。デバイスの状態は、ディスプレイ構成モジュール５６８で使用して、ディスプレイの構成を決定することができる。このように、デバイス状態モジュール５７４は、入力を受信し、デバイスの状態を解釈することができる。次いで、状態情報は、ディスプレイ構成モジュール５６８に提供される。
【０１０４】
ジェスチャモジュール５７６は、ＭＤＭモジュール５２４の一部として示されるが、実施形態では、ジェスチャモジュール５７６は、ＭＤＭモジュール５２４から分離された別々のフレームワーク５２０コンポーネントであり得る。実施形態では、ジェスチャモジュール５７６は、ユーザインタフェースの任意の部分でユーザが何らかの動作を行っているかどうかを決定するよう動作可能である。代替の実施形態では、ジェスチャモジュール５７６は、構成可能なエリア１１２、１１６のみからユーザインタフェース動作を受信する。ジェスチャモジュール５７６は、入力管理モジュール５３６を用いて、構成可能なエリア１１２、１１６（または、場合により、他のユーザインタフェースエリア）上で起こるタッチイベントを受信することができ、タッチイベントを解釈して（方向、速度、距離、持続時間及びさまざまな他のパラメータを使用して）ユーザがどのようなジェスチャを実行しているかを決定することができる。ジェスチャが解釈されると、ジェスチャモジュール５７６は、ジェスチャの処理に着手することができ、他のフレームワーク５２０コンポーネントと協働して、必要なウィンドウアニメーションを管理することができる。ジェスチャモジュール５７６は、アプリケーションモデルマネージャ５４２と協働して、どのアプリケーションが実行中（アクティブまたは一時停止）か、及び、ユーザジェスチャが実行される際にアプリケーションが現れなければならない順番に関する状態情報を収集する。また、ジェスチャモジュール５７６は、ビットマップ（サーフェスキャッシュモジュール５２８から）及びライブウィンドウへの参照を受信することができ、その結果、ジェスチャが起こると、ジェスチャモジュール５７６は、ディスプレイ１１０、１１４を横切ってウィンドウを移動させる方法をディスプレイコントローラ５４４に指示することができる。したがって、一時停止されたアプリケーションは、それらのウィンドウがディスプレイ１１０、１１４を横切って移動すると、実行しているように見える。
【０１０５】
さらに、ジェスチャモジュール５７６は、タスク管理モジュール５４０または入力管理モジュール５３６のいずれかからタスク情報を受信することができる。ジェスチャは、図４Ａ〜４Ｈと併せて定義されるようなものであり得る。例えば、ウィンドウの移動により、ディスプレイは、ウィンドウの移動を示す一連のディスプレイフレームをレンダリングする。そのようなユーザインタフェース相互作用に関連付けられたジェスチャは、ジェスチャモジュール５７６で受信し解釈することができる。次いで、ユーザジェスチャについての情報はタスク管理モジュール５４０に送信され、タスクのディスプレイ結合が修正される。
【０１０６】
優先度モジュール５７２と同様の要件モジュール５８０は、アプリケーション５６４または他のコンポーネントに対するディスプレイ要件を決定するよう動作可能である。アプリケーションは、観察しなければならないディスプレイ要件セットを有し得る。いくつかのアプリケーションは、特定のディスプレイ方向を必要とする。例えば、アプリケーション「アングリバード（Ａｎｇｒｙ  Ｂｉｒｄｓ）」は、横向きでのみ表示することができる。この種のディスプレイ要件は、要件モジュール５８０によって決定または受信することができる。デバイスの向きが変更されると、要件モジュール５８０は、アプリケーション５６４に対するディスプレイ要件を再び主張することができる。ディスプレイ構成モジュール５６８は、要件モジュール５８０によって提供されるアプリケーション表示要件に従ったディスプレイ構成を生成することができる。
【０１０７】
ジェスチャモジュール５７６と同様のイベントモジュール５８４は、ユーザインタフェースに影響を及ぼし得るアプリケーションまたは他のコンポーネントで起こる１つまたは複数のイベントを決定するよう動作可能である。したがって、イベントモジュール５８４は、イベントバッファ５５６またはタスク管理モジュール５４０のいずれかからイベント情報を受信することができる。これらのイベントは、タスクがどのようにディスプレイと結合されるか変更することができる。イベントモジュール５８４は、他のフレームワーク５２０コンポーネントから状態変化情報を収集し、その状態変化情報に応じて作用され得る。一例では、電話が開かれるか、または閉じられる場合、または方向変化が生じる場合、新しいメッセージが二次画面にレンダリングされる。このイベントに基づく状態変化は、イベントモジュール５８４により受信され、解釈されることができる。次いで、イベントについての情報は、ディスプレイ構成モジュール５６８に送信され、ディスプレイの構成を修正することができる。
【０１０８】
結合モジュール５８８は、アプリケーション５６４または他のコンポーネントをディスプレイ構成モジュール５６８によって決定された構成と結合するよう動作可能である。結合は、メモリ内で、各アプリケーションに対するディスプレイ構成をアプリケーションの表示及びモードと関連付ける。したがって、結合モジュール５８８は、アプリケーションをそのアプリケーションに対するディスプレイ構成（例えば、横向き、縦向き、複数画面など）と関連付けることができる。次いで、結合モジュール５８８は、ディスプレイ識別子をディスプレイに割り当てることができる。ディスプレイ識別子は、アプリケーションをデバイス１００の特定のディスプレイと関連付ける。次いで、この結合は、格納され、ディスプレイコントローラ５４４、ＯＳ  ５１６の他のコンポーネントまたは他のコンポーネントに提供され、ディスプレイが適正にレンダリングされる。結合は、動的であり、イベント、ジェスチャ、状態変化、アプリケーション優先度または要件などに関連付けられた構成変更に基づいて、変更することも更新することもできる。
【０１０９】
ユーザインタフェース構成：
ここで図６Ａ〜Ｊを参照し、デバイス１００によって可能となったさまざまなタイプの出力構成について以下で説明する。
【０１１０】
図６Ａ及び６Ｂは、第１の状態にあるデバイス１００の２つの異なる出力構成を描写する。具体的には、図６Ａは、閉縦向き状態３０４にあるデバイス１００を描写し、データは、一次画面１０４に表示される。この例では、デバイス１００は、第１の縦向き構成６０４でタッチセンサ式ディスプレイ１１０を介してデータを表示する。理解できるように、第１の縦向き構成６０４は、デスクトップまたはオペレーティングシステムホーム画面のみを表示することができる。あるいは、デバイス１００が第１の縦向き構成６０４でデータを表示している間、１つまたは複数のウィンドウを縦向きで提示することができる。
【０１１１】
図６Ｂは、依然として閉縦向き状態３０４にあるデバイス１００を描写するが、代わりに、データは、二次画面１０８に表示される。この例では、デバイス１００は、第２の縦向き構成６０８でタッチセンサ式ディスプレイ１１４を介してデータを表示する。
【０１１２】
第１または第２の縦向き構成６０４、６０８のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。また、ユーザジェスチャ（例えば、ダブルタップジェスチャ）、メニュー選択または他の手段をデバイス１００に提供することによって、第１の縦向き構成６０４と第２の縦向き構成６０８との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス１００がどの状態に移動されるかに応じて、第１または第２の縦向き構成６０４、６０８から本明細書に記載される他の任意の構成へデバイス１００を移行することが可能である場合もある。
【０１１３】
代替の出力構成は、第２の状態にあるデバイス１００によって対応することができる。具体的には、図６Ｃは、第３の縦向き構成を描写し、データは、一次画面１０４と二次画面１０８の両方に同時に表示される。第３の縦向き構成は、デュアル縦向き（ＰＤ）出力構成と呼ばれる場合がある。ＰＤ出力構成では、一次画面１０４のタッチセンサ式ディスプレイ１１０は、第１の縦向き構成６０４でデータを描写する一方で、二次画面１０８のタッチセンサ式ディスプレイ１１４は、第２の縦向き構成６０８でデータを描写する。第１の縦向き構成６０４と第２の縦向き構成６０８の同時プレゼンテーションは、デバイス１００が開縦向き状態３２０にある場合に起こり得る。この構成では、デバイス１００は、１つのアプリケーションウィンドウを１つのディスプレイ１１０または１１４に、２つのアプリケーションウィンドウを（それぞれのディスプレイ１１０及び１１４に１つずつ）、１つのアプリケーションウィンドウと１つのデスクトップを、または、１つのデスクトップを表示することができる。また、他の構成も可能である場合がある。デバイス１００がどの状態に移動されるかに応じて、構成６０４、６０８の同時表示から本明細書に記載される他の任意の構成へデバイス１００を移行することが可能である場合もあることを理解されたい。その上、この状態にある間、アプリケーションの表示優先度により、両ディスプレイがアクティブであり、同じアプリケーションで異なるウィンドウを表示する両面モードにデバイスが置かれる場合がある。例えば、カメラアプリケーションは、一面でファインダ及び制御を表示することができる一方で、他面は被写体で見ることができるミラーリングされたプレビューを表示する。また、２人のプレーヤによる同時プレーを伴うゲームも、両面モードを利用することができる。
【０１１４】
図６Ｄ及び６Ｅは、第３の状態にあるデバイス１００の２つのさらなる出力構成を描写する。具体的には、図６Ｄは、閉横向き状態３４０にあるデバイス１００を描写し、データは、一次画面１０４に表示される。この例では、デバイス１００は、第１の横向き構成６１２でタッチセンサ式ディスプレイ１１０を介してデータを表示する。本明細書に記載される他の構成に類似して、第１の横向き構成６１２は、デスクトップ、ホーム画面、アプリケーションデータを表示する１つもしくは複数のウィンドウまたは同様のものを表示することができる。
【０１１５】
図６Ｅは、依然として閉横向き状態３４０にあるデバイス１００を描写するが、代わりに、データは、二次画面１０８に表示される。この例では、デバイス１００は、第２の横向き構成６１６でタッチセンサ式ディスプレイ１１４を介してデータを表示する。第１または第２の横向き構成６１２、６１６のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。ツイスト及びタップジェスチャまたはフリップ及びスライドジェスチャの一方または両方をデバイス１００に提供することによって、第１の横向き構成６１２と第２の横向き構成６１６との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス１００がどの状態に移動されるかに応じて、第１または第２の横向き構成６１２、６１６から本明細書に記載される他の任意の構成へデバイス１００を移行することが可能である場合もある。
【０１１６】
図６Ｆは、第３の横向き構成を描写し、データは、一次画面１０４と二次画面１０８の両方に同時に表示される。第３の横向き構成は、デュアル横向き（ＬＤ）出力構成と呼ばれる場合がある。ＬＤ出力構成では、一次画面１０４のタッチセンサ式ディスプレイ１１０は、第１の横向き構成６１２でデータを描写する一方で、二次画面１０８のタッチセンサ式ディスプレイ１１４は、第２の横向き構成６１６でデータを描写する。第１の横向き構成６１２と第２の横向き構成６１６の同時プレゼンテーションは、デバイス１００が開横向き状態３４０にある場合に起こり得る。デバイス１００がどの状態に移動されるかに応じて、構成６１２、６１６の同時表示から本明細書に記載される他の任意の構成へデバイス１００を移行することが可能である場合もあることを理解されたい。
【０１１７】
図６Ｇ及び６Ｈは、さらに別の状態にあるデバイス１００の２つの図を描写する。具体的には、デバイス１００は、イーゼル状態３１２にあるものとして描写される。図６Ｇは、第１のイーゼル出力構成６１８をタッチセンサ式ディスプレイ１１０に表示できることを示す。図６Ｈは、第２のイーゼル出力構成６２０をタッチセンサ式ディスプレイ１１４に表示できることを示す。デバイス１００は、第１のイーゼル出力構成６１８または第２のイーゼル出力構成６２０のいずれかを個別に描写するよう構成することができる。あるいは、イーゼル出力構成６１８、６２０の両方を同時に提示することができる。いくつかの実施形態では、イーゼル出力構成６１８、６２０は、横向き出力構成６１２、６１６と同様でも同一でもよい。また、デバイス１００は、変形イーゼル状態３１６にある間、イーゼル出力構成６１８、６２０の一方または両方を表示するよう構成することができる。イーゼル出力構成６１８、６２０の同時利用は、２人用のゲーム（例えば、バトルシップ（Ｂａｔｔｌｅｓｈｉｐ）（登録商標）、チェス、チェッカなど）、２人以上のユーザが同じデバイス１００及び他のアプリケーションを共有する複数ユーザ会議を容易にできることを理解されたい。理解できるように、デバイス１００がどの状態に移動されるかに応じて、構成６１８、６２０の一方または両方のディスプレイから本明細書に記載される他の任意の構成へデバイス１００を移行することが可能である場合もある。
【０１１８】
図６Ｉは、デバイス１００が開縦向き状態３２０にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス１００は、本明細書で縦向きマックス（ＰＭａｘ）構成６２４と呼ばれる縦向き構成で、両方のタッチセンサ式ディスプレイ１１０、１１４にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ（例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど）は、分割して、タッチセンサ式ディスプレイの１つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Ｐｍａｘ構成６２４は、デバイス１００上に特定の画像を表示するためのより大きな表示及び／またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス１００がどの状態に移動されるかに応じて、Ｐｍａｘ構成６２４から本明細書に記載される他の任意の出力構成へデバイス１００を移行することが可能である場合がある。
【０１１９】
図６Ｊは、デバイス１００が開横向き状態３４８にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス１００は、本明細書で横向きマックス（ＬＭａｘ）構成６２８と呼ばれる横向き構成で、両方のタッチセンサ式ディスプレイ１１０、１１４にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ（例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど）は、分割して、タッチセンサ式ディスプレイの１つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Ｌｍａｘ構成６２８は、デバイス１００上に特定の画像を表示するためのより大きな表示及び／またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス１００がどの状態に移動されるかに応じて、Ｌｍａｘ構成６２８から本明細書に記載される他の任意の出力構成へデバイス１００を移行することが可能である場合がある。
【０１２０】
図１２Ａ及び１２Ｂに示されるように、デバイス１００は、少なくとも１つのウィンドウスタック１７００、１７２８でデスクトップ及び／またはウィンドウを管理する。ウィンドウスタック１７００、１７２８は、複数画面デバイスに対するアクティブ及び／または非アクティブウィンドウの論理構成である。例えば、ウィンドウスタック１７００及び１７２８は、トランプ一組と論理的に同様であり得、図１２Ａ及び１２Ｂに示されるように、１つまたは複数のウィンドウまたはデスクトップは、順番に配置される。アクティブウィンドウは、タッチセンサ式ディスプレイ１１０、１１４の少なくとも１つに現時点で表示されているウィンドウである。例えば、ウィンドウ１０４及び１０８は、アクティブウィンドウであり、タッチセンサ式ディスプレイ１１０及び１１４上に表示されている。非アクティブウィンドウは、開かれ、表示されていたが、現時点ではアクティブウィンドウの「背後」にあり、表示されていないウィンドウである。実施形態では、非アクティブウィンドウは、一時停止中であるアプリケーション用であり得、したがって、ウィンドウはアクティブコンテンツを表示していない。例えば、ウィンドウ１７１２、１７１６、１７２０及び１７２４は非アクティブウィンドウである。
【０１２１】
ウィンドウスタック１７００、１７２８は、さまざまな構成または組織構造を有し得る。図１２Ａに示される実施形態では、デバイス１００は、第１のタッチセンサ式ディスプレイ１１０に関連付けられた第１のスタック１７６０と、第２のタッチセンサ式ディスプレイ１１４に関連付けられた第２のスタック１７６４とを含む。したがって、各タッチセンサ式ディスプレイ１１０及び１１４は、それぞれに関連付けられたウィンドウスタック１７６０、１７６４を有し得る。これらの２つのウィンドウスタック１７６０、１７６４は、それぞれのスタック１７６０、１７６４に配置された異なる数のウィンドウを有し得る。さらに、２つのウィンドウスタック１７６０、１７６４は、異なる方法で識別し、別々に管理することもできる。したがって、第１のウィンドウスタック１７６０は、第１のウィンドウ１７０４から次のウィンドウ１７２０へ、そして最後のウィンドウ１７２４へ、そして最終的にデスクトップ１７２２（実施形態ではウィンドウスタック１７６０の「最下部」である）へと順番に配置することができる。実施形態では、デスクトップ１７２２下のウィンドウスタックにアプリケーションウィンドウを配置することができ、また、デスクトップを見えるようにしている（ｄｅｓｋｔｏｐ  ｒｅｖｅａｌ）間、デスクトップ１７２２を他のウィンドウ上のスタックの「最上部」へ持ってくることができるため、デスクトップ１７２２は常に「最下部」であるとは限らない。同様に、第２のスタック１７６４は、第１のウィンドウ１７０８から次のウィンドウ１７１２へ、そして最後のウィンドウ１７１６へ、そして最終的にデスクトップ１７１８（実施形態では、デスクトップ１７２２を有し、ウィンドウスタック１７６０とウィンドウスタック１７６４の両方のすべてのウィンドウ下の単一のデスクトップエリアである）へと配置することができる。２つのウィンドウスタック１７６０、１７６４を管理するための論理データ構造は、以下の図１３と併せて説明されるようなものであり得る。
【０１２２】
ウィンドウスタック１７２８の別の構成を図１２Ｂに示す。この実施形態では、両方のタッチセンサ式ディスプレイ１１０、１１４に対して、単一のウィンドウスタック１７２８が存在する。したがって、ウィンドウスタック１７２８は、デスクトップ１７５８から第１のウィンドウ１７４４へ、そして最後のウィンドウ１７５６へと配置される。ウィンドウは、特定のタッチセンサ式ディスプレイ１１０、１１４に関連付けられることなく、すべてのウィンドウの中のある位置に配置することができる。この実施形態では、各ウィンドウは、ウィンドウ順に並んでいる。さらに、少なくとも１つのウィンドウは、アクティブ状態にあると識別される。例えば、単一のウィンドウは、第１のタッチセンサ式画面１１０と第２のタッチセンサ式画面１１４のそれぞれで表示される２つの部分１７３２及び１７３６でレンダリングすることができる。この単一のウィンドウは、両方のディスプレイ１１０、１１４上に表示されているが、ウィンドウスタック１７２８において、単一の位置のみを占有することができる。
【０１２３】
ウィンドウスタック１７６０のさらなる別の構成を図１２Ｃ〜１２Ｅに示す。ウィンドウスタック１７６０は、３つの「立体」図で示される。図１２Ｃでは、ウィンドウスタック１７６０の上面を示す。ウィンドウスタック１７６０の２つの側面は、図１２Ｄ及び１２Ｅに示す。この実施形態では、ウィンドウスタック１７６０は、レンガの積み重ねに似ている。ウィンドウは、互いに積み重ねられる。図１２Ｃは、ウィンドウスタック１７６０を上方から見ているため、複合ディスプレイ１７６４の異なる部分においてウィンドウスタック１７６０の最上部のウィンドウしか見えない。複合ディスプレイ１７６４は、デバイス１００のディスプレイエリア全体のための論理モデルを表し、タッチセンサ式ディスプレイ１１０及びタッチセンサ式ディスプレイ１１４を含み得る。デスクトップ１７８６またはウィンドウは、複合ディスプレイ１７６４の一部または全体を占有することができる。
【０１２４】
示される実施形態では、デスクトップ１７８６がウィンドウスタック１７６０の最下部のディスプレイまたは「レンガ」である。そこから、ウィンドウ１（１７８２）、ウィンドウ２（１７８２）、ウィンドウ３（１７６８）及びウィンドウ４（１７７０）が積層される。ウィンドウ１（１７８２）、ウィンドウ３（１７６８）、ウィンドウ２（１７８２）及びウィンドウ４（１７７０）は、複合ディスプレイ１７６４のほんの一部を占領する。したがって、スタック１７６０の別の部分は、ウィンドウ８（１７７４）と、セクション１７９０で示されるウィンドウ５〜７とを含む。複合ディスプレイ１７６４の任意の部分の最上部のウィンドウのみが実際にレンダリングされ、表示される。したがって、図１２Ｃの上面図に示されるように、ウィンドウスタック１７６０の異なる部分においてディスプレイの最上部にあるものとして、ウィンドウ４（１７７０）、ウィンドウ８（１７７４）及びウィンドウ３（１７６８）が表示される。ウィンドウは、寸法変更して、複合ディスプレイ１７６０のほんの一部を占有し、ウィンドウスタック１７６０の下方のウィンドウを「明らかにする」ことができる。例えば、ウィンドウ３（１７６８）は、スタックにおいて、ウィンドウ４（１７７０）及びウィンドウ８（１７７４）の下方にあるが、依然として表示されている。ウィンドウスタックを管理する論理データ構造は、図１３と併せて説明されるようなものであり得る。
【０１２５】
デバイス１００上で新しいウィンドウを開くと、一般に、新たに起動されたウィンドウがスタックの最上部に配置される。しかし、ウィンドウがスタック内のどこにどのように配置されるかは、デバイス１００の向き、どのプログラム、機能、ソフトウェアなどがデバイス１００上で実行されているかについてのコンテキスト、新しいウィンドウが開かれた際にどのようにスタックが配置されるかなどに依存し得る。ウィンドウをスタックに挿入するため、スタック内のウィンドウの位置が決定され、また、ウィンドウが関連付けられるタッチセンサ式ディスプレイ１１０、１１４も決定することができる。この情報を用いて、ウィンドウ用の論理データ構造を作成し、格納することができる。ユーザインタフェースまたは他のイベントもしくはタスクがウィンドウの配置を変化させると、配置の変化を反映するため、ウィンドウスタックが変更され得る。上記で説明されるこれらの同じ概念を使用して、デバイス１００用の１つまたは複数のデスクトップを管理できることに留意されたい。
【０１２６】
ウィンドウスタック内のウィンドウまたはデスクトップの配置を管理するための論理データ構造１８００を図１３に示す。論理データ構造１８００は、オブジェクト、記録、ファイルなどにかかわらず、データの格納に使用される任意のデータ構造であり得る。論理データ構造１８００は、プロトコルまたは規格にかかわらず、いかなるタイプのデータベースまたはデータ格納システムにも格納することができる。実施形態では、論理データ構造１８００は、情報の容易な格納及び回収を可能にする論理構成でデータを格納する１つまたは複数の部分、フィールド、属性などを含む。以下では、これらの１つまたは複数の部分、フィールド、属性などを単なるフィールドとして説明するものとする。フィールドは、ウィンドウ識別子１８０４、寸法１８０８、スタック位置識別子１８１２、ディスプレイ識別子１８１６及び／またはアクティブインジケータ１８２０に対するデータを格納することができる。ウィンドウスタック内の各ウィンドウは、関連する論理データ構造１８００を有し得る。図１３では、単一の論理データ構造１８００が示されているが、楕円１８２４によって表されるように、ウィンドウスタックで使用されるより多くのまたはより少ない論理データ構造１８００が存在し得る（スタック内のウィンドウまたはデスクトップの数に基づいて）。さらに、楕円１８２８によって表されるように、図１３に示されるものより多くのまたはより少ないフィールドが存在し得る。
【０１２７】
ウィンドウ識別子１８０４は、ウィンドウスタック内の他のウィンドウとの関連で、関連ウィンドウを独自に識別する任意の識別子（ＩＤ）を含み得る。ウィンドウ識別子１８０４は、グローバル一意識別子（ＧＵＩＤ）、数値ＩＤ、英数字ＩＤまたは他のタイプの識別子であり得る。実施形態では、ウィンドウ識別子１８０４は、開くことができるウィンドウの数に基づく１桁、２桁または任意の桁数であり得る。代替の実施形態では、ウィンドウ識別子１８０４のサイズは、開いているウィンドウの数に基づいて変化し得る。ウィンドウが開いている間、ウィンドウ識別子１８０４は、静的で、不変のままであり得る。
【０１２８】
寸法１８０８は、複合ディスプレイ１７６０のウィンドウの寸法を含み得る。例えば、寸法１８０８は、ウィンドウの２つ以上の角部の座標を含むことも、１つの座標ならびにウィンドウの幅及び高さに対する寸法を含むこともある。これらの寸法１８０８は、ウィンドウが複合ディスプレイ１７６０のどの部分を占有することができるかを描写することができ、それは、複合ディスプレイ１７６０全体でも、複合ディスプレイ１７６０のほんの一部でもあり得る。例えば、ウィンドウ４（１７７０）は、図１２Ｃ〜１２Ｅに示されるように、ウィンドウ１７７０が複合ディスプレイ１７６０のディスプレイエリアのほんの一部を占有することを示す寸法１８０８を有し得る。ウィンドウがウィンドウスタック内で移動されるかまたは挿入されると、寸法１８０８は変化し得る。
【０１２９】
スタック位置識別子１８１２は、ウィンドウのスタック内での位置を識別することができるか、または、リストもしくはスタックなどのデータ構造内のウィンドウの制御記録から推定することができる任意の識別子であり得る。スタック位置識別子１８１２は、ＧＵＩＤ、数値ＩＤ、英数字ＩＤまたは他のタイプの識別子であり得る。各ウィンドウまたはデスクトップは、スタック位置識別子１８１２を含み得る。例えば、図１２Ａに示されるように、スタック１（１７６０）のウィンドウ１（１７０４）は、ウィンドウ１７０４がスタック１７６０の第１のウィンドウであり、アクティブウィンドウであることを特定する１のスタック位置識別子１８１２を有し得る。同様に、ウィンドウ６（１７２４）は、ウィンドウ１７２４がスタック１７６０の第３のウィンドウであることを表す３のスタック位置識別子１８１２を有し得る。また、ウィンドウ２（１７０８）は、ウィンドウ１７０８が第２のスタック１７６４の第１のウィンドウであることを表す１のスタック位置識別子１８１２を有し得る。図１２Ｂに示されるように、ウィンドウ１（１７４４）は、１のスタック位置識別子１８１２を有し得、部分１７３２及び１７３６にレンダリングされたウィンドウ３は、３のスタック位置識別子１８１２を有し得、ウィンドウ６（１７５６）は、６のスタック位置識別子１８１２を有し得る。したがって、スタックのタイプに応じて、スタック位置識別子１８１２は、スタック内でのウィンドウの位置を表すことができる。
【０１３０】
ディスプレイ識別子１８１６は、第１のディスプレイ１１０もしくは第２のディスプレイ１１４、または、両方のディスプレイで構成された複合ディスプレイ１７６０などの特定のディスプレイにウィンドウまたはデスクトップが関連付けられていることを特定することができる。図１２Ａに示されるように、このディスプレイ識別子１８１６は複数スタックシステムで必要とされない場合があるが、ディスプレイ識別子１８１６は、図１２Ｂの連続スタック内のウィンドウが特定のディスプレイに表示されているかどうかを示すことができる。したがって、ウィンドウ３は、図１２Ｂにおいて、２つの部分１７３２及び１７３６を有し得る。第１の部分１７３２は、第１のディスプレイに対するディスプレイ識別子１８１６を有し得る一方で、第２の部分１７３６は、第２のディスプレイ１１４に対するディスプレイ識別子１８１６を有し得る。しかし、代替の実施形態では、ウィンドウは、ウィンドウが両方のディスプレイ１１０、１１４に表示されていること、または、ディスプレイ識別子１８１６が複合ディスプレイを特定したことを表す２つのディスプレイ識別子１８１６を有し得る。別の代替の実施形態では、ウィンドウは、ウィンドウが両方のディスプレイ１１０、１１４に表示されていることを表すための単一のディスプレイ識別子１８１６を有し得る。
【０１３１】
ディスプレイ識別子１８１６と同様に、アクティブインジケータ１８２０は、スタック位置１のウィンドウがアクティブであり、表示されているため、図１２Ａのデュアルスタックシステムで必要とされない場合がある。図１２Ｂのシステムでは、アクティブインジケータ１８２０は、スタック内のどのウィンドウが表示されているかを示すことができる。したがって、ウィンドウ３は、図１２において、２つの部分１７３２及び１７３６を有し得る。第１の部分１７３２がアクティブインジケータ１８２０を有する一方で、第２の部分１７３６もまたアクティブインジケータ１８２０を有し得る。しかし、代替の実施形態では、ウィンドウ３は、単一のアクティブインジケータ１８２０を有し得る。アクティブインジケータ１８２０は、ウィンドウがアクティブであるかまたは表示されていることを表す簡単なフラグまたはビットであり得る。
【０１３２】
ウィンドウスタックを作成するための方法１９００の実施形態を図１４に示す。図１４では、方法１９００の工程の一般的な順番を示す。一般に、方法１９００は、開始動作１９０４で始まり、終了動作１９２８で終了する。方法１９００は、図１４に示されるものより多くのまたはより少ない工程を含むことも、異なる形で工程の順番を整えることもできる。方法１９００は、コンピュータシステムによって実行され、コンピュータ可読媒体で符号化されるかまたは格納される一連のコンピュータ実行可能命令として実行することができる。以下では、図１〜１３と併せて説明されるシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインタフェースなどを参照して、方法１９００を説明する。
【０１３３】
工程１９０８では、複数画面デバイス１００は、ウィンドウの起動を受信することができる。実施形態では、複数画面デバイス１００は、タッチセンサ式ディスプレイ１１０もしくは１１４、構成可能なエリア１１２もしくは１１６、ジェスチャ捕捉領域１２０もしくは１２４、または、ユーザインタフェース入力を受信するよう動作可能ないくつかの他のハードウェアセンサから入力を受信することによって、ウィンドウの起動を受信することができる。プロセッサは、タスク管理モジュール５４０を実行して入力を受信することができる。タスク管理モジュール５４０は、ウィンドウスタックにウィンドウを開く、実行すべきアプリケーションタスクを要求するものとして入力を解釈することができる。
【０１３４】
実施形態では、タスク管理モジュール５４０は、複数ディスプレイ管理モジュール５２４（図５Ａ、５Ｂ）のディスプレイ構成モジュール５６８（図５Ｂ）に作用されるタスクスタック５５２（図５Ａ）にユーザインタフェース相互作用を置く。さらに、タスク管理モジュール５４０は、複数ディスプレイ管理モジュール５２４からの情報を待ち、ウィンドウ管理モジュール５３２に命令を送信して、ウィンドウスタックにウィンドウを作成する。
【０１３５】
工程１９１２では、複数ディスプレイ管理モジュール５２４は、タスク管理モジュール５４０から命令を受信すると、新たに起動されたウィンドウを関連付けるべき複合ディスプレイ１７６０のタッチ部分を決定する。例えば、ウィンドウ４（１７７０）は、複合ディスプレイ１７６４と関連付けられる。実施形態では、複数ディスプレイ管理モジュール５２４のデバイス状態モジュール５７４は、デバイスがどのように方向付けられているか、または、デバイスがどの状態にあるか（例えば、開状態、閉状態、縦向き状態など）を決定することができる。さらに、優先度モジュール５７２（図５Ｂ）及び／または要件モジュール５８０（図５Ｂ）は、ウィンドウをどのように表示するかを決定することができる。ジェスチャモジュール５７６（図５Ｂ）は、ジェスチャのタイプ及びジェスチャが行われた位置に基づいて、ウィンドウをどのように開くかについてのユーザの意図を決定することができる。
【０１３６】
ディスプレイ構成モジュール５６８（図５Ｂ）は、これらのモジュールからの入力を使用して、可視性アルゴリズムに基づいて、現時点におけるウィンドウスタック１７６０を評価し、最善の場所及び最善の寸法を決定し、ウィンドウを開くことができる。したがって、工程１９１６では、ディスプレイ構成モジュール５６８は、ウィンドウスタック１７６０の最上部にウィンドウを置くための最善の場所を決定する。可視性アルゴリズムは、実施形態では、複合ディスプレイのすべての部分に対して、どのウィンドウがスタックの最上部にあるかを決定する。例えば、可視性アルゴリズムは、図１２Ｃ〜１２Ｅで見られるように、ウィンドウ３（１７６８）、ウィンドウ４（１７７０）及びウィンドウ８（１７７４）がスタック１７６０の最上部にあることを決定する。どこでウィンドウを開くかを決定すると、ディスプレイ構成モジュール５６８は、ディスプレイ識別子１８１６及び場合により寸法１８０８をウィンドウに割り当てることができる。次いで、ディスプレイ識別子１８１６及び寸法１８０８は、タスク管理モジュール５４０に送り返すことができる。次いで、タスク管理モジュール５４０は、ウィンドウスタックの最上部でのウィンドウ位置を示すスタック位置識別子１８１２をウィンドウに割り当てることができる。
【０１３７】
実施形態では、タスク管理モジュール５４０は、ウィンドウスタック情報及び命令を送信し、ウィンドウ管理モジュール５３２（図５Ａ）にウィンドウをレンダリングする。工程１９２４では、ウィンドウ管理モジュール５３２及びタスク管理モジュール５４０（図５Ａ）は、論理データ構造１８００を作成することができる。タスク管理モジュール５４０とウィンドウ管理モジュール５３２は両方とも、ウィンドウスタックのコピーを作成し、管理することができる。これらのウィンドウスタックのコピーは、ウィンドウ管理モジュール５３２とタスク管理モジュール５４０との間の通信を通じて、同期化することも、同様に保持することもできる。したがって、ウィンドウ管理モジュール５３２及びタスク管理モジュール５４０は、複数ディスプレイ管理モジュール５２４によって決定された情報に基づいて、寸法１８０８、スタック位置識別子１８１２（例えば、ウィンドウ１（１７８２）、ウィンドウ４（１７７０）など）、ディスプレイ識別子１８１６（例えば、タッチセンサ式ディスプレイ１（１１０）、タッチセンサ式ディスプレイ２（１１４）、複合ディスプレイ識別子など）及びアクティブインジケータ１８２０を割り当てることができ、これは、一般に、ウィンドウがスタックの「最上部」にある場合に常に設定される。次いで、論理データ構造１８００は、ウィンドウ管理モジュール５３２とタスク管理モジュール５４０の両方で格納することができる。さらに、ウィンドウ管理モジュール５３２及びタスク管理モジュール５４０は、その後、ウィンドウスタック及び論理データ構造１８００を管理することができる。
【０１３８】
図１５は、他のウィンドウスタック構成を示す。同一のまたは異なる複数画面もしくは単一画面アプリケーションにおける複数のウィンドウ１，２，３，４，５，６，７，８を示している。タッチセンサ式ディスプレイ１１０は、アクティブディスプレイ位置において現時点でウィンドウ４を有する一方、タッチセンサ式ディスプレイ１１４は、アクティブディスプレイ位置において現時点でウィンドウ５を有する。タッチセンサ式ディスプレイ１１０のスタックは、最上部から最下部まで、アクティブディスプレイ位置のウィンドウ４と、その背後に位置するウィンドウ３，２，１とを有する。タッチセンサ式ディスプレイ１１４のスタックは、最上部から最下部まで、アクティブディスプレイ位置のウィンドウ５と、その背後に位置するウィンドウ６，７，８とを有する。
【０１３９】
デスクトップＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６はウィンドウスタックの背後に位置している。これらのデスクトップは、ウィンドウスタックとは異なるデスクトップスタックと見なすことができる。このように見なしたとき、タッチセンサ式ディスプレイ１１０は、デスクトップＤ３，Ｄ２，Ｄ１からなる対応するデスクトップスタックを有するものとなり、このとき、デスクトップＤ１が最下部２３００のスタック位置となり、最上部のスタック位置におけるデスクトップＤ３がウィンドウ４とともに表示可能となる（ウィンドウの位置やサイズ（最大化されているのか最小化されているのか）に依存する）。また、タッチセンサ式ディスプレイ１１４は、デスクトップＤ４，Ｄ５，Ｄ６からなる対応するデスクトップスタックを有するものとなり、このとき、デスクトップＤ６が最下部２３０４のスタック位置となり、最上部のスタック位置におけるデスクトップＤ４がウィンドウ５とともに表示可能となる（ウィンドウの位置やサイズ（最大化されているのか最小化されているのか）に依存する）。概念的には、これらのデスクトップは、この例では、６つのセクションに分割されたキャンバスと見なすことができ、そのうち２つを、いかなる時点においてもタッチセンサ式ディスプレイ１１０，１１４に表示することができる。デバイス１００が閉状態であるとき、一構成においては、この概念モデルが持続する。この構成においては、１つのウィンドウ及びデスクトップのスタックのみが視認可能であり（この位置は一次画面に対応する）、他のウィンドウ及びデスクトップのスタックは仮想的なものとなる。即ち、他のウィンドウ及びデスクトップのスタックはメモリには維持されるが、二次画面が有効ではないため、これらは視認可能ではない。
【０１４０】
以下、図７〜１１を参照して、種々のウィンドウナビゲーション構成を説明する。独立した又は階層的に関連付けられた表示画像の中でナビゲートを行う例を説明する。この例を説明するにあたって、まず、ルートビュー（ｒｏｏｔ  ｖｉｅｗ）の概念を説明する。以下の例では、第１、第２、及び第３のウィンドウ１．１、１．１．１、１．１．１．１と第１及び第２のデスクトップＤ１、Ｄ２のスタックについて説明する。ウィンドウ群は階層的なツリー状シーケンスであり、共通の複数画面アプリケーションによって制御される。図１１に示すように、第１のウィンドウ１．１はルートウィンドウであり、第２のウィンドウ１．１．１はノード（ｎｏｄｅ）ウィンドウであり、第３のウィンドウ１．１．１はリーフ（ｌｅａｆ）ウィンドウである。ルートウィンドウ１．１は、階層アプリケーションウィンドウシーケンスの最上部レベルビューとなり得るもので、この場合、ルートウィンドウに対応する親ウィンドウは存在しない。ルートウィンドウはノードウィンドウに対して親となり得る。１つ以上のノードウィンドウを親または子供と関連付けて設けることができる。ノードウィンドウをリーフウィンドウとして設けることもできる。リーフウィンドウは、そのリーフウィンドウが親となる対応するノードスクリーンを有していないということを意味する。つまり、リーフウィンドウは、子供のノードウィンドウを有していない。ウィンドウ１．１．１．１及び１．１．２は、リーフウィンドウの例である。ルートビューとは、任意の時点で複数画面アプリケーションによって制御される全ウィンドウを指す。
【０１４１】
種々の例において、図８では、ミドルウェア５２０、特に、複数ディスプレイ管理（ＭＤＭ）クラス５２４、サーフェスキャッシュクラス５２８、ウィンドウ管理クラス５３２、アクティビティ管理クラス５３６、及びアプリケーション管理クラス５４０の１つ以上は、表示画像操作（ステップ１２００）を行いその操作を開始（ステップ１２００）するジェスチャ、典型的にはドラッグを、独立又は協働して検出する。表示画像操作とは、元のディスプレイ、即ち第１のタッチセンサ式ディスプレイ１１０においてアクティブディスプレイ位置にあるウィンドウを、目標とするディスプレイ、即ち第２のタッチセンサ式ディスプレイ１１４に移動させることをいう。ステップ１２０８において、ミドルウェアは、ドラッグジェスチャが継続中であるか否かを判定する。ドラッグジェスチャが継続中であれば、ステップ１２１２において、ミドルウェアは、ルートビューにおいて他のウィンドウが存在するか否かを判定する。ステップ１２０８及びステップ１２１２の判定結果がともに肯定的である場合には、ステップ１２１６において、ミドルウェアは、元のディスプレイ、即ち第１のタッチセンサ式ディスプレイ１１０における次のウィンドウを、目標とするディスプレイ、即ち第２のタッチセンサ式ディスプレイ１１４に移動させ、その後、ステップ１２０８に戻る。ドラッグジェスチャが停止していた場合（ステップ１２０８）や、ルートビューにおいて他のウィンドウが存在していない場合（ステップ１２０８）には、ミドルウェアロジックは、ステップ１２２０において動作を終了する。
【０１４２】
第１の例が、図７Ａ〜Ｆに適用されている。図７Ａ〜Ｆを参照すると、一次及び二次タッチセンサ式ディスプレイ１１０，１１４は縦向きディスプレイ方向にあり、アクティブディスプレイ位置において、最小化された第３のウィンドウ１．１．１．１と第２のデスクトップＤ２をそれぞれ表示している（図７Ａ）。ウィンドウは、一次画面及び二次画面のうちの一方のみによって表示されるときに最小化される。表示画像は、現時点の、または以前の表示画像における順序付けられたセットのうちの一部分であり、ここでは、第３のウィンドウ１．１．１．１及び第２のデスクトップＤ２がアクティブディスプレイ位置を占有し、第１及び第２のウィンドウ１．１，１．１．１と第１のデスクトップＤ１が非アクティブディスプレイ位置を占有している。換言すれば、一次画面１０４に対応するスタックは、最上部から最下部に向かって、第３のウィンドウ１．１．１．１、第２のウィンドウ１．１．１、第１のウィンドウ１．１、及び第１のデスクトップＤ１となっている。第１、第２、及び第３のウィンドウは、別々の単一画面アプリケーションではなく、複数画面アプリケーションによって制御される。図７Ｂにおいて、一次画面１０４、つまり共通のジェスチャ捕捉領域１２０は、そのジェスチャ捕捉領域１２０上におけるユーザドラッグジェスチャ７００を検出して、表示画像操作を行う。この表示画像操作は、第３のウィンドウ１．１．１．１を、元のディスプレイ、即ち第１のタッチセンサ式ディスプレイ１１０から、目標とするディスプレイ、即ち第２のタッチセンサ式ディスプレイ１１４に移動させるものである。図７Ｂに示すように、スタックの最上部にある第３のウィンドウ１．１．１．１が図示する方向に移動し始めてアクティブディスプレイ位置（それぞれのフレームバッファまたはスタック内など）を占有し、二次画面１０８では、第２のデスクトップが非アクティブディスプレイ位置に配置される。第１の表示画像操作では、選択された第３のウィンドウが二次画面１０８に移動し、第１及び第２のウィンドウ１．１，１．１．１は移動しない。この動作によって、タッチセンサ式ディスプレイ１１０は、アクティブディスプレイ位置に第２のウィンドウ１．１．１を含むものとなり、タッチセンサ式ディスプレイ１１４は、アクティブディスプレイ位置に第３のウィンドウ１．１．１．１を含むものとなる（図７Ｃ）。ミドルウェアは、こうしたジェスチャに応答して、第３のウィンドウ１．１．１．１を、目標とするタッチセンサ式ディスプレイに移動させる（図７Ｂ）。
【０１４３】
表示画像操作が完了し、第３のウィンドウ１．１．１．１が目標とするタッチセンサ式ディスプレイ１１４のアクティブ位置に達した後、ミドルウェアは、ドラッグジェスチャが継続中であって、ルートビューにおける次のウィンドウの後続の移動、つまり、元のタッチセンサ式ディスプレイ１１０から、目標とするタッチセンサ式ディスプレイ１１４における第３のウィンドウ１．１．１．１の背後のディスプレイ位置への第２のウィンドウ１．１．１の移動が開始されていると判定する（図７Ｄ）。第２のウィンドウ１．１．１が目標とするタッチセンサ式ディスプレイ１１４に移動した後、ミドルウェアは、ドラッグジェスチャが継続中であり、目標とするタッチセンサ式ウィンドウ１１４へのルートビュー内の第１のウィンドウ１．１の移動が開始されていると判定する（図７Ｅ）。第１のウィンドウ１．１が、目標とするタッチセンサ式ディスプレイ１１４に向かって第３のウィンドウ１．１．１．１の背後のディスプレイ位置に移動すると、元のタッチセンサ式ディスプレイ１１０が、アクティブディスプレイ位置において第１のデスクトップＤ１を有し、目標とするタッチセンサ式ディスプレイ１１４が、アクティブディスプレイ位置において第３のウィンドウ１．１．１．１を有する。第３のウィンドウ１．１．１．１の背後のスタックは、最上部から最下部まで、第２のウィンドウ１．１．１、第１のウィンドウ１．１、及び第２のデスクトップＤ２を含む（図７Ｆ）。
【０１４４】
次に図９Ａ〜Ｆを参照すると、一次及び二次タッチセンサ式ディスプレイ１１０，１１４は、縦向きディスプレイ方向にあり、最小化された第１のウィンドウ１．１と第２のデスクトップＤ２をそれぞれ表示している（図９Ａ）。表示画像は、現時点の、または以前の表示画像における順序付けられたセットのうちの一部分であり、ここでは、第１のウィンドウ１．１及び第２のデスクトップＤ２がアクティブディスプレイ位置を占有し、第２及び第３のウィンドウ１．１．１，１．１．１．１と第１のデスクトップＤ１が、第１のウィンドウ１．１の背後のスタックにおいて、非アクティブディスプレイ位置を占有している。換言すれば、一次画面１０４に対応するスタックは、最上部から最下部に向かって、第１のウィンドウ１．１、第２のウィンドウ１．１．１、第３のウィンドウ１．１．１．１、及び第１のデスクトップＤ１の順となっている。第１、第２、及び第３のウィンドウは、別々の単一画面アプリケーションではなく、複数画面アプリケーションによって制御される。図９Ｂにおいて、一次画面１０４、つまり共通のジェスチャ捕捉領域１２０は、そのジェスチャ捕捉領域１２０上におけるユーザジェスチャを検出して、表示画像操作を行う。一例では、ユーザジェスチャ７００はドラッグである。図９Ｂに示すように、第１のウィンドウ１．１が、第２のウィンドウ１．１．１上の位置から、図示する方向に移動し始めてアクティブディスプレイ位置（それぞれのフレームバッファまたはスタック内など）を占有し、二次画面１０８においては、第２のデスクトップが非アクティブディスプレイ位置に配置されて第１のウィンドウ１．１によって覆われる。この表示画像操作では、選択された第１のウィンドウ１．１が、ウィンドウ最大移行として二次画面１０８に移動し、第２及び第３のウィンドウ１．１．１，１．１．１．１は移動しない。この動作によって、タッチセンサ式ディスプレイ１１０は、アクティブディスプレイ位置に第２のウィンドウ１．１．１を有するものとなり、タッチセンサ式ディスプレイ１１４は、アクティブディスプレイ位置に第１のウィンドウ１．１を有するものとなる（図９Ｃ）。第３のウィンドウ１．１．１．１は、一次画面１０４のスタックにおいて、非アクティブディスプレイ位置のままである。
【０１４５】
上記表示画像操作が行われた後、ミドルウェアは、ドラッグジェスチャが継続中であることを検知する。それに応答して、ミドルウェアは、元のタッチセンサ式ディスプレイ１１０から、目標とするタッチセンサ式ディスプレイ１１４における第１のウィンドウ１．１の背後の位置に第２のウィンドウ１．１．１を移動させる（図９Ｄ）。この表示画像操作（目標とするタッチセンサ式ディスプレイ１１４における第１のウィンドウ１．１の背後の非アクティブディスプレイ位置に第２のウィンドウ１．１．１を移動させること）が行われた後、ミドルウェアは、ドラッグジェスチャが継続中であることを再度検知する。それに応答して、ミドルウェアは、元のタッチセンサ式ディスプレイ１１０から、目標とするタッチセンサ式ディスプレイ１１４における第２のウィンドウ１．１．１の背後の位置に第３のウィンドウ１．１．１．１を移動させる（図９Ｅ）。第３のウィンドウ１．１．１．１が、目標とするタッチセンサ式ディスプレイ１１４への移動を完了すると、目標とするタッチセンサ式ディスプレイ１１４が、スタックとして、最上部から最下部まで、第１のウィンドウ１．１、第２のウィンドウ１．１．１、第３のウィンドウ１．１．１．１、及び第２のデスクトップＤ２を有することとなる。第１のデスクトップＤ１は、タッチセンサ式ディスプレイ１１０におけるアクティブディスプレイ位置のままである（図９Ｆ）。
【０１４６】
他の横向きディスプレイ方向の例が、図１０Ａ〜Ｃに適用されている。第１、第２、第３のウィンドウ１．１，１．１．１，１．１．１．１と第１及び第２のデスクトップＤ２，Ｄ３のスタックを示している。ウィンドウ群は階層的なツリー状シーケンスであり、共通の複数画面アプリケーションによって制御される。
【０１４７】
図１０Ａ〜Ｃを参照すると、一次及び二次タッチセンサ式ディスプレイ１１０，１１４は、横向きディスプレイ方向にあり、アクティブディスプレイ位置において、最小化された第３のウィンドウ１．１．１．１と第２のデスクトップＤ２をそれぞれ表示している（図１０Ａ）。表示画像は、現時点の、または以前の表示画像における順序付けられたセットのうちの一部分であり、ここでは、第３のウィンドウ１．１．１．１及び第２のデスクトップＤ２がアクティブディスプレイ位置を占有し、第１及び第２のウィンドウ１．１，１．１．１と第１のデスクトップＤ１が非アクティブディスプレイ位置を占有している。換言すれば、一次画面１０４に対応するスタックは、最上部から最下部に向かって、第３のウィンドウ１．１．１．１、第２のウィンドウ１．１．１、第１のウィンドウ１．１、及び第１のデスクトップＤ１となっている。第１、第２、及び第３のウィンドウは、別々の単一画面アプリケーションではなく、複数画面アプリケーションによって制御される。図１０Ｂにおいて、一次画面１０４、つまり共通のジェスチャ捕捉領域１２０は、そのジェスチャ捕捉領域１２０上におけるユーザジェスチャを検出して、表示画像操作を行う。一例では、ユーザジェスチャ７００はドラッグである。図１０Ａに示すように、スタックの最上部にある第３のウィンドウ１．１．１．１が、図示する方向に移動し始めてアクティブディスプレイ位置（それぞれのフレームバッファまたはスタック内など）を占有し、二次画面１０８では、第２のデスクトップが非アクティブディスプレイ位置に配置される。この動作によって、タッチセンサ式ディスプレイ１１０は、アクティブディスプレイ位置に第２のウィンドウ１．１．１を含むものとなり、タッチセンサ式ディスプレイ１１４は、アクティブディスプレイ位置に第３のウィンドウ１．１．１．１を含むものとなる（図１０Ｂ）。ミドルウェアは、ジェスチャ７００が継続中であると判定して、元のタッチセンサ式ディスプレイ１１０から、目標とするタッチセンサ式ディスプレイ１１４における第３のウィンドウ１．１．１．１の背後の非アクティブディスプレイ位置に第２のウィンドウ１．１．１を移動させる。この動作によって、タッチセンサ式ディスプレイ１１０は、アクティブディスプレイ位置に第１のウィンドウ１．１を含むものとなり、タッチセンサ式ディスプレイ１１４は、アクティブディスプレイ位置に第３のウィンドウ１．１．１．１を含むものとなる（図示は省略する）。ミドルウェアは、ジェスチャ７００がまだ継続中であると判定し、元のタッチセンサ式ディスプレイ１１０から、目標とするタッチセンサ式ディスプレイ１１４における第３のウィンドウ１．１．１．１の背後の非アクティブディスプレイ位置に第１のウィンドウ１．１を移動させて、図１０Ｃの表示を行う。
【０１４８】
ウィンドウ最大移行及び第１の表示画像操作が行われている間、一次画面１０４は、第２のジェスチャ、典型的にはフリックジェスチャを、典型的にはジェスチャ捕捉領域１２０によって検出する。本開示では、理解し得るように、第１及び第２のジェスチャを関連付けるために、これらのジェスチャは、共通のジェスチャ捕捉領域、即ち共通のタッチセンサ式ディスプレイによって共通に受信される。これらのジェスチャが、それぞれ異なるジェスチャ捕捉領域１２０，１２４、即ち異なるタッチセンサ式ディスプレイ１１０，１１４によって受信される場合、両ジェスチャを関連付けることが難しくなる。別々の操作として、ドラッグジェスチャ７００は、デスクトップ又はウィンドウを、同じ又は異なるタッチセンサ式ディスプレイ１１０，１１４上の他の位置に移動させ、フリックジェスチャ７０４は、一方のタッチセンサ式ディスプレイから他方のタッチセンサ式ディスプレイに複数画面アプリケーションのウィンドウ群のルートビュー全体を移動させ、それによってデスクトップを覆わないようにする。
【０１４９】
ミドルウェア５２０は、ドラッグジェスチャ継続の検出とフリックジェスチャの受信との間の一時的かつ空間的な関連性により、ユーザが第２及び第３ウィンドウのウィンドウ最大移行の実行を取り消すことを希望して、ルートビューをフリックルールに従って二次画面１０８に移動させようとしていると判定する。図１０Ｃに示されるように、ルートビュー（共通の複数画面アプリケーションによる階層的に配置されたウィンドウ）、即ち、一次画面１０４の第１のデスクトップＤ１上に前もって位置付けられた第１、第２、及び第３のウィンドウ１．１，１．１．１，１．１．１．１が、第１のデスクトップＤ１を覆わないように二次画面１０８へと移動する。換言すれば、二次画面１０８に対応するスタックは、最上部から最下部まで順に、第３のウィンドウ１．１．１．１、第２のウィンドウ１．１．１、第１のウィンドウ１．１、及び第２のデスクトップＤ２となる。フリックジェスチャがない場合は、ドラッグジェスチャによって、第３のウィンドウ１．１．１．１が二次画面１０８に移動して一次画面１０４における第２のウィンドウ１．１．１を露出させる（図示は省略する）。
【０１５０】
図７〜８にはドラッグジェスチャとフリックジェスチャが示されているが、異なるジェスチャも使用可能であることが理解し得る。
デスクトップナビゲーションは通常、タッチセンサ式ディスプレイで受信されるドラッグジェスチャやフリックジェスチャなどの適当なジェスチャを用いて実現される。デスクトップナビゲーションとは異なり、ジェスチャ捕捉領域１２０又は１２４によって受信されるジェスチャは、一方の画面から他方の画面（例えば、一方のアクティブ又は非アクティブ位置から他方の位置）へウィンドウを移動させるのに用いられる。
【０１５１】
通信デバイスに関連して本開示の例示的なシステム及び方法について説明してきた。しかし、本開示を不必要に曖昧にすることを避けるため、上記説明では多くの公知の構造及びデバイスを省略する。この省略は、特許請求の範囲を限定するものと解釈してはならない。具体的な詳細は、本開示の理解を与えるために記載する。しかし、本開示は、本明細書に記載される具体的な詳細の域を超えるさまざまな方法で実施できることを理解されたい。
【０１５２】
また、本明細書に示される例示的な態様、実施形態及び／または構成は、並置されるシステムのさまざまなコンポーネントを示すが、システムのあるコンポーネントは、ＬＡＮ及び／またはインターネットなどの分散型ネットワークの遠方部に、または、専用システム内で遠隔設置することができる。したがって、システムのコンポーネントを、タブレット様デバイスのような１つまたは複数のデバイスに組み合わせることも、アナログ及び／もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または、回路交換ネットワークなどの分散型ネットワークの特定のノード上に並置することもできることを理解されたい。前の記述から、演算効率のため、システムのコンポーネントは、システムのオペレーションに影響を及ぼすことなく、コンポーネントの分散型ネットワーク内のいずれの位置にも配置できることが理解されよう。例えば、さまざまなコンポーネントは、ＰＢＸ及びメディアサーバ、ゲートウェイなどのスイッチに、１つもしくは複数の通信デバイスに、１つもしくは複数のユーザの構内で、または、それらのいくつかの組合せで配置することができる。同様に、システムの１つまたは複数の機能部分は、電気通信デバイスと関連コンピューティングデバイスとの間で分散させることが可能である。
【０１５３】
また、要素を接続するさまざまなリンクは、有線リンクでも無線リンクでも、その任意の組合せでも、接続された要素への及び接続された要素からのデータの供給及び／または通信が可能な他の任意の公知のまたは後に開発された要素でもあり得ることを理解されたい。これらの有線または無線リンクは、保護されたリンクでもあり得、暗号化された情報を通信できる場合もある。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線及び光ファイバを含む任意の適切な電気信号のキャリアであり得、電波及び赤外線データ通信中に生成されるものなどの音波または光波の形をとることができる。
【０１５４】
また、イベントの特定のシーケンスとの関連でフローチャートについて論じ示してきたが、開示される実施形態、構成及び態様のオペレーションに実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加及び省略が起こり得ることを理解されたい。
【０１５５】
本開示の種々の変更ないし変形を用いることができる。本開示のいくつかの特徴を他の特徴を提供することなく提供することも可能である。
例えば、一つの代替実施形態では、ジェスチャ捕捉領域１２０，１２４で受信されるジェスチャによってデスクトップが移動し、タッチセンサ式ディスプレイ１１０，１１４で受信されるジェスチャによってウィンドウが移動する。
【０１５６】
さらなる別の実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラ及び周辺集積回路素子、ＡＳＩＣもしくは他の集積回路、デジタル信号プロセッサ、個別素子回路などの配線電子もしくは論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬなどのプログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、任意の同等な手段、または、同様のものと併せて実施することができる。一般に、本明細書に示される方法論の実施が可能な任意のデバイスまたは手段を使用して、本開示のさまざまな態様を実施することができる。開示される実施形態、構成及び態様に使用できる例示的なハードウェアは、コンピュータ、携帯用デバイス、電話（例えば、携帯電話、インターネット可能な、デジタル、アナログ、ハイブリッド及び他のもの）、及び、当技術分野で知られている他のハードウェアを含む。これらのデバイスのいくつかは、プロセッサ（例えば、単一または複数のマイクロプロセッサ）、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。その上、これらに限定されないが、分散処理もしくはコンポーネント／オブジェクト分散処理、並列処理、または、仮想マシン処理を含む代替のソフトウェア実装形態は、本明細書に記載される方法を実施するよう構築することもできる。
【０１５７】
さらなる別の実施形態では、開示される方法は、さまざまなコンピュータまたはワークステーションプラットフォームで使用することができるポータブルソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用するソフトウェアと併せて容易に実施することができる。あるいは、開示されるシステムは、標準論理回路またはＶＬＳＩ設計を使用してハードウェアで部分的または完全に実装することができる。本開示に従ってシステムの実装にソフトウェアまたはハードウェアを使用するかどうかは、システムの速度及び／または効率要件、特定の機能、ならびに、利用する特定のソフトウェアまたはハードウェアシステムまたはマイクロプロセッサまたはマイクロコンピュータシステムに依存する。
【０１５８】
さらなる別の実施形態では、開示される方法は、記憶媒体に格納することができ、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ及び同様のもの上で実行されるソフトウェアで部分的に実施することができる。これらの例では、本開示のシステム及び方法は、アプレット、ジャバ（ＪＡＶＡ）（登録商標）またはＣＧＩスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバまたはコンピュータワークステーション上に常駐するリソースとして、専用測定システム、システムコンポーネントまたは同様のものに組み込まれたルーチンとして実施することができる。また、システムは、ソフトウェア及び／またはハードウェアシステムにシステム及び／または方法を物理的に組み込むことによっても実装することができる。
【０１５９】
本開示は、特定の規格及びプロトコルを参照して、態様、実施形態及び／または構成で実装されるコンポーネント及び機能について説明するが、態様、実施形態及び／または構成は、そのような規格及びプロトコルに制限されない。本明細書で言及されない他の同様の規格及びプロトコルも存在し、本開示に含まれるものと考えられる。その上、本明細書で言及される規格及びプロトコルならびに本明細書で言及されない他の同様の規格及びプロトコルは、本質的に同じ機能を有するより速いまたはより効果的な均等物に定期的に取って代わられる。同じ機能を有するそのような置換規格及びプロトコルは、本開示に含まれる均等物と考えられる。
【０１６０】
さまざまな態様、実施形態及び／または構成での本開示は、本明細書に描写及び記載されるように実質的にコンポーネント、方法、プロセス、システム及び／または装置を含み、さまざまな態様、実施形態、構成実施形態、サブコンビネーション及び／またはそのサブセットを含む。当業者であれば、本開示を理解した後で、開示される態様、実施形態及び／または構成をどのように作成し使用するか理解されよう。さまざまな態様、実施形態及び／または構成での本開示は、本明細書に描写及び／または記載されていないアイテムなしで、または、本明細書のさまざまな態様、実施形態及び／または構成で、デバイス及びプロセスを提供することを含み、例えば、性能を向上させ、容易に実装を実現し、及び／または、実装コストを削減するために、前のデバイスまたはプロセスで使用された可能性があるようなアイテムがない場合も含む。
【０１６１】
上記の説明は、例示と説明を目的として提示してきた。前述は、本明細書に開示される１つまたは複数の形態に本開示を制限することを意図しない。前述の発明を実施するための形態では、例えば、本開示を合理化する目的で、１つまたは複数の態様、実施形態及び／または構成で、本開示のさまざまな特徴が一緒に分類される。本開示の態様、実施形態及び／または構成の特徴は、上記で論じられたもの以外の代替の態様、実施形態及び／または構成で組み合わせることができる。本開示のこの方法は、請求項が各請求項に明確に列挙されているものより多くの特徴を要求するという意図を反映するものとして解釈してはならない。むしろ、以下の請求項が反映するように、発明の態様は、単一の前述の開示される態様、実施形態及び／または構成のすべての特徴よりも少ないことにある。したがって、以下の請求項は、本明細書によって、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別々の好ましい実施形態としてそれ自体を主張する。
【０１６２】
また、説明には１つまたは複数の態様、実施形態及び／または構成の説明、ならびに、ある変形形態及び変更形態が含まれるが、例えば、本開示を理解した後で、当業者の技能及び知識の範囲内となり得るように、他の変形形態、組合せ及び変更形態は本開示の範囲内である。許可される範囲の代替の態様、実施形態及び／または構成を含む権利を得ることを意図し、そのような代替の、交換可能な及び／または均等な構造、機能、範囲または工程が本明細書で開示されるか否かにかかわらず、いかなる特許可能な対象物も公的に献納することを意図することなく、特許請求されたものに対する代替の、交換可能な及び／または均等な構造、機能、範囲または工程を含む。
【図１Ａ】
0006010036.tif 000002
【図１Ｂ】
0006010036.tif 000003
【図１Ｃ】
0006010036.tif 000004
【図１Ｄ】
0006010036.tif 000005
【図１Ｅ】
0006010036.tif 000006
【図１Ｆ】
0006010036.tif 000007
【図１Ｇ】
0006010036.tif 000008
【図１Ｈ】
0006010036.tif 000009
【図１Ｉ】
0006010036.tif 000010
【図１Ｊ】
0006010036.tif 000011
【図４Ｇ】
0006010036.tif 000012
【図４Ｈ】
0006010036.tif 000013
【図６Ａ】
0006010036.tif 000014
【図６Ｂ】
0006010036.tif 000015
【図６Ｃ】
0006010036.tif 000016
【図６Ｄ】
0006010036.tif 000017
【図６Ｅ】
0006010036.tif 000018
【図６Ｆ】
0006010036.tif 000019
【図６Ｇ】
0006010036.tif 000020
【図６Ｈ】
0006010036.tif 000021
【図６Ｉ】
0006010036.tif 000022
【図６Ｊ】
0006010036.tif 000023
【図７Ａ−７Ｃ】
0006010036.tif 000024
【図７Ｄ−７Ｆ】
0006010036.tif 000025
【図９Ａ−９Ｃ】
0006010036.tif 000026
【図９Ｄ−９Ｆ】
0006010036.tif 000027
【図１０Ａ−１０Ｃ】
0006010036.tif 000028
【図１１】
0006010036.tif 000029
【図１５】
0006010036.tif 000030
【図２】
0006010036.tif 000031
【図３Ａ】
0006010036.tif 000032
【図３Ｂ】
0006010036.tif 000033
【図４Ａ】
0006010036.tif 000034
【図４Ｂ】
0006010036.tif 000035
【図４Ｃ】
0006010036.tif 000036
【図４Ｄ】
0006010036.tif 000037
【図４Ｅ】
0006010036.tif 000038
【図４Ｆ】
0006010036.tif 000039
【図５Ａ】
0006010036.tif 000040
【図５Ｂ】
0006010036.tif 000041
【図８】
0006010036.tif 000042
【図１２Ａ】
0006010036.tif 000043
【図１２Ｂ】
0006010036.tif 000044
【図１２Ｃ】
0006010036.tif 000045
【図１２Ｄ】
0006010036.tif 000046
【図１２Ｅ】
0006010036.tif 000047
【図１３】
0006010036.tif 000048
【図１４】
0006010036.tif 000049