(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0003】
携帯用コンピューティングデバイスの小さなフォームファクタは、表示されたグラフィックスと入力受信用に設けられたエリアとの間の慎重なバランス維持を必要とする。一方では、小型のディスプレイは表示スペースを制約し、それにより、動作または結果の解釈の困難が増す恐れがある。他方では、仮想キーパッドまたは他のユーザインタフェーススキームは、実行アプリケーション上で重ね合わせるか、または、実行アプリケーションに隣接して配置され、その結果、アプリケーションをディスプレイのさらに小さな部分に詰め込む必要がある。
【0004】
このバランス維持行為は、単一ディスプレイのタッチスクリーンデバイスでは特に難しい。単一ディスプレイのタッチスクリーンデバイスは、それらの限られた画面スペースにより不具合が生じる。単一ディスプレイを通じてユーザがデバイスに情報を入力すると、特に、ディスプレイとインタフェースとの間の複雑な相互作用が必要とされる場合は、ディスプレイ内の情報を解釈する能力が大幅に妨げられる恐れがある。
【0005】
従来の単一ディスプレイの携帯用コンピューティングデバイスと比較して、パワーの増強及び/または多様性の向上を実現するデュアルマルチディスプレイの携帯用コンピューティングデバイスが必要である。これらの及び他の必要性は、本開示のさまざまな態様、実施形態及び/または構成によって対応する。また、本開示は、例示的な実施形態について提示しているが、本開示の個々の態様を別々に請求できることを理解されたい。
【課題を解決するための手段】
【0006】
複数画面デバイスにデスクトップを表示する方法は、前記複数画面デバイスの第1画面にデスクトップを前面表示化させる指令を表す第1の所定入力を受信すること、前記第1画面に表示するための第1デスクトップを決定すること、前記複数画面デバイスの第2画面に表示するための第2デスクトップを決定すること、前記第1の所定入力に対して、前記第1デスクトップを前記第1画面に表示させるようにする出力であって、当該出力が、(i)前記第2デスクトップを前記第2画面に実際に表示させること及び(ii)前記第2デスクトップを前記第2画面に仮想的に表示させることの少なくとも1つをさらに行わせるものである、前記出力で応じることを備える。
【0007】
コンピューティングシステムに方法を実行させる命令を記憶した持続性コンピュータ可読媒体は、前記命令が、前記複数画面デバイスの第1画面にデスクトップを前面表示化させる指令を表す第1の所定入力を受信するように構成された命令と、前記第1画面に表示するための第1デスクトップを決定するように構成された命令と、前記複数画面デバイスの第2画面に表示するための第2デスクトップを決定するように構成された命令と、前記第1の所定入力に対して、前記第1デスクトップを前記第1画面に表示させるようにする出力で応じるように構成された命令であって、当該出力は、(i)前記第2デスクトップを前記第2画面に実際に表示させること及び(ii)前記第2デスクトップを前記第2画面に仮想的に表示させることの少なくとも1つをさらに行わせるものである、前記出力で応じるように構成された命令と、を備えるものである。
【0008】
複数画面ユーザデバイスは、第1表示領域を含む第1画面と、第2表示領域を含む第2画面と、前記第1画面を前記第2画面に接続するように構成されたヒンジと、前記ヒンジの位置を示す第1信号を生成するように構成された第1センサと、前記第1画面と前記第2画面の相対位置を示す第2信号を生成するように構成された第2センサと、コンピューティングシステムに方法を実行させる命令を記憶した持続性コンピュータ可読媒体であって、前記命令が、少なくとも部分的に前記第1信号に基づき、前記ヒンジが第1位置にあるのかまたは第2位置にあるのかを判断するように構成された第1命令セットと、前記第1信号に基づき、前記第2画面に第2のデスクトップを実際に表示するのかまたは仮想的に表示するのかを判断するように構成された第2命令セットとを含むものである前記持続性コンピュータ可読媒体とを備える。
【0009】
本開示は、特定の態様、実施形態、及び/または構成に応じていくつかの利点を提供することができる。現在の家電産業では単一画面デバイスが主流である。残念ながら、こうしたデバイスは、効率的な情報表示及びユーザ入力の受信を行う能力について限界がある。特に、単一画面では多数のアプリケーション及びデスクトップを十分に表示することはできず、ユーザが一以上のアプリケーションからのコンテンツにアクセスするためには、表示されたページを頻繁に切り替える必要がある。加えて、キーボード、タッチセンサ式または容量式ディスプレイ、及びハードウェアインターフェースボタンといった、ユーザ入力装置は、単一画面デバイスに適合するように小さいサイズにしなければならない。こうした装置に対する手動操作、及び1つの画面を使用した多数のアプリケーションを切り替えなければならないことは、ユーザに疲労、フラストレーション、時には反復動作による傷害を引き起こす。
【0010】
最近、電化製品の消費者向けの二画面デバイスが入手できるようになってきた。しかし、現在入手できる二画面デバイスは、消費者のニーズに十分に対応できるものではない。これらのデバイスは2つの画面を有したデザインになっているものの、単一画面の同等品の負の制約を持つ傾向がある。特に、典型的な二画面デバイスは、ユーザインタフェースを二画面のうちの特定の一画面に限定しており、二画面のうちの一つに設けられたキーボードすなわちタッチセンサ式または容量式ディスプレイのみの場合もある。更に、このデバイスの様々なアプリケーション及び様々なデスクトップの管理は、昔ながらの、単一画面でのコンテンツ切り替え形式に限られていた。本開示は、昔ながらの、単一画面あるいは二画面デバイスの制約に取り組み、表示、入力、及びコンテンツの管理に利点をもたらす。
【0011】
本開示の少なくとも1つの実施形態は、多数画面デバイス、及びユーザに当該デバイスの操作時に大きな創造的許容度をもたらし得るコンテンツの表示を管理する方法について記述する。特に、デバイスが1つのアプリケーションまたはアプリケーション群を実行している状態で、そのデバイスは、そのデバイスの多数画面に一デスクトップを前面表示化(reveal)させるユーザジェスチャ入力を検出することができる。このデスクトップは、そのユーザが選択可能な様々なアプリケーションを表現したものを表示してもよい。ユーザはこのデスクトップからアプリケーションを起動したり、表示中のデスクトップページ及び表示されていないデスクトップページを含む複数のデスクトップページ間を行き来(ナビゲート)したりできる。ユーザまたはデバイスそれ自体が、前面表示化されたデスクトップの展開をどのようにいつ開始するのかを選んでもよく、非限定的な例では、特定の入力の検出、他の処理、他のプログラム、他のハードウェアロジック、他のソフトウェア制御、またはそれらの組み合わせ等からの出力によって判断され得る。表示中の様々なデスクトップの管理はデバイス又はユーザの指示に従って行ってもよい。これらの及び他の利点は、本開示から明らかになるであろう。
【0012】
「少なくとも1つ」、「1つまたは複数」、及び「及び/または」との記載は、使用中、接続語かつ離接語である非限定的な(open−ended)表現である。例えば、「A、B及びCの少なくとも1つ」、「A、BまたはCの少なくとも1つ」、「A、B及びCのうちの1つまたは複数」、「A、BまたはCのうちの1つまたは複数」及び「A、B及び/またはC」の表現の各々は、Aのみ、Bのみ、Cのみ、AとBともに、AとCともに、BとCともに、または、AとBとCともに、を意味する。
【0013】
「1つの」、「1つまたは複数」及び「少なくとも1つ」との記載は、本明細書では交換可能に使用することができる。用語「備える」、「含む」及び「有する」もまた交換可能に使用できることに留意されたい。
【0014】
用語「自動」及びその変形語は、本明細書で使用する場合、プロセスまたはオペレーションを実行する際に、実質的な人的入力なしで行われる任意のプロセスまたはオペレーションを指す。しかし、プロセスまたはオペレーションの実行前に入力を受信すれば、プロセスまたはオペレーションの実行において実質的または非実質的な人的入力を使用しても、プロセスまたはオペレーションは自動であり得る。人的入力は、そのような入力がプロセスまたはオペレーションの実行方法に影響を及ぼす場合は、実質的と見なされる。プロセスまたはオペレーションの実行を受け入れる人的入力は、「実質的」とは見なされない。
【0015】
用語「コンピュータ可読媒体」は、本明細書で使用する場合、実行のためのプロセッサへの命令の提供に参加する任意の有形の記憶及び/または伝送媒体を指す。そのような媒体は、これらに限定されないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む多くの形式を取り得る。不揮発性媒体は、例えば、NVRAMまたは磁気もしくは光ディスクを含む。揮発性媒体は、メインメモリなどのダイナミックメモリを含む。コンピュータ可読媒体の一般的な形式は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは任意の他の磁気媒体、光磁気記録媒体、CD−ROM、任意の他の光媒体、パンチカード、紙テープ、任意の他の孔パターンの物理的な媒体、RAM、PROM及びEPROM、FLASH−EPROM、メモリカードのようなソリッドステート媒体、任意の他のメモリチップもしくはカートリッジ、以下で説明する搬送波、または、コンピュータが読み取ることができる任意の他の媒体を含む。Eメールに添付するデジタルファイルまたは他の自己内蔵情報アーカイブもしくはアーカイブセットは、有形の記憶媒体と同等の配信媒体と考えられる。コンピュータ可読媒体がデータベースとして構成される場合、データベースは、関係型、階層型、オブジェクト指向型及び/または同様のものなどの任意のタイプのデータベースであり得ることを理解されたい。それに応じて、本開示は、本開示のソフトウェア実装形態が格納される有形の記憶媒体または配信媒体及び先行技術分野において承認されている均等物及び後続媒体を含むと考えられる。
【0016】
用語「デスクトップ」は、システムを表現するために使用される例え(metaphor)を指す。デスクトップは、一般に、アイコン、ウィジェット、フォルダなどと呼ばれる絵柄を含む「面」と考えられ、通常、その上でアプリケーション、ウィンドウ、キャビネット、ファイル、フォルダ、ドキュメント、他のグラフィカルなアイテムを起動または表示することができる。アイコンは、一般に、ユーザインタフェース相互作用を通じてタスクに着手するように選択可能であり、ユーザは、アプリケーションを実行することも、他のオペレーションを行うこともできる。
【0017】
用語「画面」、「タッチスクリーン(touch screenまたはtouchscreen)」は、ユーザインタフェースをレンダリングする及び/またはユーザ入力を受信する能力をデバイスに提供する1つまたは複数のハードウェアコンポーネントを含む物理的構造を指す。画面は、ジェスチャ捕捉領域、タッチセンサ式ディスプレイ及び/または構成可能なエリアの任意の組合せを包含し得る。デバイスは、ハードウェアに組み込まれた1つまたは複数の物理的画面を有し得る。しかし、画面は、デバイスから着脱可能な外部の周辺デバイスも含み得る。実施形態では、複数の外部のデバイスをデバイスに取り付けることができる。したがって、実施形態では、画面は、ユーザが画面上のエリアに触れることでデバイスと情報のやり取りを行うことを可能にし、ディスプレイを通じてユーザに情報を提供する。タッチスクリーンは、電気的パラメータ(例えば、抵抗またはキャパシタンス)の変化、音波の変動、赤外線近接検出、変光検出及び同様のものなどの多くの異なる方法でユーザの接触を感知することができる。抵抗性タッチスクリーンでは、例えば、通常、画面内の別々の導電性及び抵抗性金属層が電流を通過させる。ユーザが画面に触れると、触れた位置で2つの層が接触し、それにより、電界の変化が見られ、触れた位置の座標が計算される。容量性タッチスクリーンでは、容量性層が電荷を蓄積し、電荷はユーザがタッチスクリーンに触れると同時に放電され、それにより、容量性層の電荷が低減する。その低減が測定され、触れた位置の座標が決定される。表面音波タッチスクリーンでは、画面を通じて音波が伝播され、音波はユーザ接触によって妨げられる。受信用トランスデューサは、ユーザ接触インスタンスを検出し、触れた位置の座標を決定する。
【0018】
用語「ディスプレイ」は、コンピュータの出力をユーザに表示するために使用される1つまたは複数の画面の一部分を指す。ディスプレイは、単一画面ディスプレイまたは複合ディスプレイと呼ばれる複数画面ディスプレイであり得る。複合ディスプレイは、1つまたは複数の画面のタッチセンサ式ディスプレイを包含し得る。単一の物理的画面は、別々の論理的ディスプレイとして管理される複数のディスプレイを含み得る。したがって、同じ物理的画面の一部ではあるが別々のディスプレイ上に異なるコンテンツを表示することができる。
【0019】
用語「表示画像」は、ディスプレイ上に生成された画像を指す。典型的な表示画像は、ウィンドウまたはデスクトップである。表示画像は、ディスプレイの全体または一部を占有することができる。
【0020】
用語「ディスプレイ方向」は、閲覧のためにユーザが長方形のディスプレイを方向付ける方法を指す。ディスプレイ方向の2つの最も一般的なタイプは、縦向き(portrait)と横向き(landscape)である。横向きモードでは、ディスプレイは、ディスプレイの幅がディスプレイの高さよりも大きくなるように方向付けられる(幅4単位及び高さ3単位の4:3の割合または幅16単位及び高さ9単位の16:9の割合など)。別の言い方をすれば、横向きモードでは、ディスプレイの長い方の寸法は、実質的に水平の方向に方向付けられ、ディスプレイの短い方の寸法は、実質的に垂直の方向に方向付けられる。対照的に、縦向きモードでは、ディスプレイの幅がディスプレイの高さよりも小さくなるように方向付けられる。別の言い方をすれば、縦向きモードでは、ディスプレイの短い方の寸法は、実質的に水平の方向に方向付けられ、ディスプレイの長い方の寸法は、実質的に垂直の方向に方向付けられる。
【0021】
用語「複合ディスプレイ」は、1つまたは複数の画面を包含することができるディスプレイを定義する論理的構造を指す。複数画面ディスプレイは、すべての画面を包含する複合ディスプレイに関連付けられ得る。複合ディスプレイは、デバイスのさまざまな向きに基づいて異なる表示特性を有し得る。
【0022】
用語「ジェスチャ」は、意図する考え、動作、意味、結果及び/または成果を表現するユーザ動作を指す。ユーザ動作は、デバイスの操作(例えば、デバイスの開閉、デバイスの向きの変更、トラックボールまたはホイールの移動など)、デバイスに対する身体部分の動き、デバイスに対する道具またはツールの動き、音声入力などを含み得る。ジェスチャは、デバイス上(画面上など)に、またはデバイスを用いて行われ、デバイスと相互作用することができる。
【0023】
用語「モジュール」は、本明細書で使用する場合、任意の公知のまたは後に開発されたハードウェア、ソフトウェア、ファームウェア、人工知能、ファジィ理論、または、その要素に関連付けられた機能を実行することができるハードウェアとソフトウェアとの組合せを指す。
【0024】
用語「ジェスチャ捕捉」は、ユーザジェスチャのインスタンス及び/またはタイプの感知または別の方法での検出を指す。ジェスチャ捕捉は、画面の1つまたは複数のエリアで起こり得る。ジェスチャ領域は、タッチセンサ式ディスプレイと呼ばれる場合があるディスプレイ上またはジェスチャ捕捉エリアと呼ばれる場合があるディスプレイ外であり得る。
【0025】
「複数画面アプリケーション」は、複数のモードが可能なアプリケーションを指す。複数画面アプリケーションモードは、これらに限定されないが、単一画面モード(アプリケーションは単一画面に表示される)または複合ディスプレイモード(アプリケーションは2つ以上の画面に表示される)を含み得る。複数画面アプリケーションは、モードに対して最適化された異なるレイアウトを有し得る。したがって、複数画面アプリケーションは、単一画面に対してまたは2つ以上の画面を包含し得る複合ディスプレイに対して異なるレイアウトを有し得る。異なるレイアウトは、複数画面アプリケーションのユーザインタフェースをレンダリングすることができる異なる画面/ディスプレイ寸法及び/または構成を有し得る。異なるレイアウトにより、アプリケーションは、ディスプレイのタイプ、例えば、単一画面または複数画面に対して、アプリケーションのユーザインタフェースを最適化することができる。単一画面モードでは、複数画面アプリケーションは、情報の1つのウィンドウ枠を提示することができる。複合ディスプレイモードでは、複数画面アプリケーションは、表示コンテンツに対してより多くのスペースがあるため、情報の複数のウィンドウ枠を提示することも、より大きくより豊かなプレゼンテーションを提供することもできる。複数画面アプリケーションは、システムがどのディスプレイ(単一または複合)を複数画面アプリケーションに割り当てるかに応じて、デバイス及びモードの変化に動的に適合させるように設計することができる。代替の実施形態では、ユーザは、ジェスチャを使用して、異なるモードへのアプリケーションの移行を要求することができ、要求されたモードに対してディスプレイが利用可能な場合は、デバイスは、アプリケーションをそのディスプレイ及び移行モードに移動させることができる。
【0026】
「単一画面アプリケーション」は、単一の画面モードが可能なアプリケーションを指す。したがって、単一画面アプリケーションは、1つのウィンドウしか生成することができず、異なるモードも、異なるディスプレイ寸法も可能ではない可能性がある。単一画面アプリケーションは、複数画面アプリケーションで論じられたいくつかのモードでの実行は不可能である。
【0027】
用語「ウィンドウ」は、ディスプレイの少なくとも一部に表示された典型的に長方形の画像を指し、画面の残りの部分とは異なるコンテンツを含むまたは提供する。ウィンドウは、デスクトップを覆い隠す場合がある。
【0028】
用語「決定する、判断する」、「計算する」及び「演算する」ならびにその変形語は、本明細書で使用する場合、交換可能に使用され、任意のタイプの方法論、プロセス、数学演算または技法を含む。
【0029】
用語「手段」は、本明細書で使用する場合、米国特許法第112条第6段落に従って、その可能な限り最も広い解釈が与えられるものとすることを理解されたい。それに応じて、用語「手段」を組み込む請求項は、本明細書に記載されるすべての構造、材料または行為及びその均等物のすべてを対象とするものとする。さらに、構造、材料または行為及びその均等物は、発明の概要、図面の簡単な説明、発明を実施するための形態、要約書及び特許請求の範囲自体で説明されたすべてのものを含むものとする。
【0030】
前述の説明は、本開示の簡略化した概要であり、本開示のいくつかの態様の理解を与える。この概要は、本開示の概要ならびにそのさまざまな態様、実施形態及び/または構成の広範なものでも包括的なものでもない。この概要は、本開示の主要な、または重要な要素を特定することも、本開示の範囲を詳しく説明することも意図しないが、以下で提示するより詳細な説明の導入部として、本開示の選択された概念を簡素化した形式で提示することを意図する。理解されるように、本開示の他の態様、実施形態及び/または構成は、単独でまたは組み合わせて、上記で記載されるかまたは以下で詳細に説明される特徴の1つまたは複数を利用することができる。
【発明を実施するための形態】
【0032】
付属の図面では、同様のコンポーネント及び/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプのさまざまなコンポーネントは、同様のコンポーネントの中で区別する文字で参照ラベルをたどることによって、区別することができる。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントのいずれか1つに適用可能である。
【0033】
本明細書で提示するものは、デバイスの実施形態である。デバイスは、携帯電話または他のスマートデバイスなど通信デバイスであり得る。デバイスは、いくつかのユニークなディスプレイ構成を提供するように方向付けられた2つの画面を含み得る。さらに、デバイスは、ユニークな方法でユーザ入力を受信することができる。デバイスの総合的な設計及び機能性は、デバイスをより有用に及びより効果的にするユーザ経験を高めることを実現する。
機械的な特徴:
図1A〜1Jは、本開示の実施形態によるデバイス100を示す。以下でさらに詳細に説明されるように、デバイス100は、多くの異なる方法で配置することができ、そのそれぞれが異なる機能性をユーザに提供する。デバイス100は、その両方がタッチセンサ式の一次画面104と二次画面108とを含む複数画面デバイスである。実施形態では、画面104及び108の前面全体は、タッチセンサ式であり得、ユーザが画面104及び108の前面に触れることによって入力を受信することができる。一次画面104は、タッチセンサ式ディスプレイ110を含み、タッチセンサ式ディスプレイ110は、タッチセンサ式であることに加えて、ユーザに情報を表示することも行う。二次画面108は、タッチセンサ式ディスプレイ114を含み、タッチセンサ式ディスプレイ114もまたユーザに情報を表示する。他の実施形態では、画面104及び108は、2つ以上のディスプレイエリアを含み得る。
【0034】
また、一次画面104は、ユーザが構成可能なエリア112の一部に触れる際の特定の入力用に構成済みの構成可能なエリア112も含む。二次画面108もまた、特定の入力用に構成済みの構成可能なエリア116を含む。エリア112a及び116aは、ユーザが以前に表示された情報を閲覧することを望むことを示す「バック」入力を受信するよう構成済みである。エリア112b及び116bは、ユーザがメニューからオプションを閲覧することを望むことを示す「メニュー」入力を受信するよう構成済みである。エリア112c及び116cは、ユーザが「ホーム」ビューに関連付けられた情報を閲覧することを望むことを示す「ホーム」入力を受信するよう構成済みである。他の実施形態では、エリア112a〜c及び116a〜cは、上記で説明される構成に加えて、デバイス100の特徴の制御を含む他のタイプの特定の入力用に構成することができ、いくつかの非限定的な例としては、全体的なシステムパワーの調整、音量の調整、輝度の調整、振動の調整、表示アイテムの選択(画面104または108のいずれか)、カメラの操作、マイクロホンの操作及び通話の開始/終了が挙げられる。また、いくつかの実施形態では、エリア112a〜c及び116a〜cは、デバイス100上で実行するアプリケーション及び/またはタッチセンサ式ディスプレイ110及び/または114上に表示される情報に応じて特定の入力用に構成することができる。
【0035】
タッチセンサ式に加えて、一次画面104及び二次画面108は、ユーザが画面のディスプレイエリアに触れる必要なく、ユーザから入力を受信するエリアも含む。例えば、一次画面104は、ジェスチャ捕捉エリア120を含み、二次画面108は、ジェスチャ捕捉エリア124を含む。これらのエリアは、例えば、ユーザが実際にディスプレイエリアの表面に触れる必要なく、ユーザによって行われたジェスチャを認識することにより、入力を受信することができる。タッチセンサ式ディスプレイ110及び114と比較すると、ジェスチャ捕捉エリア120及び124は、一般には、表示画像をレンダリングすることはできない。
【0036】
2つの画面104及び108は、ヒンジ128で接続され、ヒンジ128は、
図1C(デバイス100の背面図を示す)で明確に示される。
図1A〜1Jに示される実施形態では、ヒンジ128は、画面104と108とを接続する中央のヒンジであり、その結果、ヒンジを閉じると、画面104と108は、
図1B(デバイス100の正面図を示す)に示されるように並置される(すなわち、隣り合わせになる)。ヒンジ128を開いて、2つの画面104及び108を相対的に互いに異なる配置にすることができる。以下でさらに詳細に説明するように、デバイス100は、画面104及び108の相対位置に応じて異なる機能性を有し得る。
【0037】
図1Dは、デバイス100の右側を示す。
図1Dに示されるように、二次画面108は、その側面にカードスロット132とポート136も含む。実施形態では、カードスロット132は、加入者識別モジュール(SIM)を含む異なるタイプのカードを収容する。実施形態では、ポート136は、ディスプレイ、キーボードまたは印刷デバイスなどの他の周辺デバイスにデバイス100を接続することを可能にする入力/出力ポート(I/Oポート)である。理解できるように、これらは単なる例示の一部であり、他の実施形態では、デバイス100は、追加のメモリデバイスを収容するための及び/または他の周辺デバイスを接続するためのスロット及びポートなどの他のスロット及びポートを含み得る。また、
図1Dには、例えば、ユーザのヘッドホンまたはヘッドセットの利用を可能にするチップ、リング、スリーブ(TRS)コネクタを収容する音声ジャック140も示されている。
【0038】
また、デバイス100は、多数のボタン158も含む。例えば、
図1Eは、デバイス100の左側を示す。
図1Eに示されるように、一次画面104の側面は、3つのボタン144、148及び152を含み、これらのボタンは、特定の入力用に構成することができる。例えば、ボタン144、148及び152は、組み合わせて、または単独で、デバイス100の多くの態様を制御するよう構成することができる。いくつかの非限定的な例としては、全体的なシステムパワー、音量、輝度、振動、表示アイテムの選択(画面104または108のいずれか)、カメラ、マイクロホン及び通話の開始/終了が挙げられる。いくつかの実施形態では、別々のボタンの代わりに、2つのボタンを組み合わせてロッカーボタンにすることができる。この構成は、音量または輝度などの特徴を制御するようにボタンが構成された状況において有用である。ボタン144、148及び152に加えて、デバイス100は、デバイス100の上側を示す
図1Fに示されるようなボタン156も含む。一実施形態では、ボタン156は、デバイス100への全体的なシステムパワーの制御に使用されるオン/オフボタンとして構成される。他の実施形態では、ボタン156は、システムパワーの制御に加えてまたはシステムパワーの制御の代わりに、デバイス100の他の態様を制御するよう構成される。いくつかの実施形態では、ボタン144、148、152及び156のうちの1つまたは複数は、異なるユーザコマンドをサポートすることができる。一例として、通常のプレスは、一般に、約1秒未満の持続時間を有し、クイックタップに似ている。中程度のプレスは、一般に、1秒以上だが約12秒未満の持続時間を有する。長時間のプレス(長押し)は、一般に、約12秒以上の持続時間を有する。ボタンの機能は、通常、現時点でそれぞれのディスプレイ110及び114に焦点が合わせられているアプリケーションに特有である。例えば、通話アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、通話終了、通話音量の増加、通話音量の減少、マイクロホンのミュートの切り替えを意味し得る。例えば、カメラまたは映像アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、ズーム拡大、ズーム縮小、写真撮影または映像記録を意味し得る。
【0039】
また、デバイス100には、多くのハードウェアコンポーネントが存在する。
図1Cに示されるように、デバイス100は、スピーカ160とマイクロホン164とを含む。また、デバイス100は、カメラ168(
図1B)も含む。それに加えて、デバイス100は、2つの位置センサ172a及び172bを含み、位置センサ172a及び172bは、画面104及び108の相対位置の決定に使用される。一実施形態では、位置センサ172a及び172bは、ホール効果センサである。しかし、他の実施形態では、ホール効果センサに加えて、またはホール効果センサの代わりに、他のセンサを使用することができる。また、デバイス100の一部として、加速度計176を含めて、デバイス100の向き及び/または画面104及び108の向きを決定することもできる。デバイス100に含めることができる追加の内部のハードウェアコンポーネントについては、
図2に関連して、以下で説明する。
【0040】
デバイス100の総合的な設計は、他の通信デバイスで利用不可能な追加の機能性の提供を可能にする。機能性のいくつかは、デバイス100が有し得るさまざまな位置及び向きに基づく。
図1B〜1Gに示されるように、デバイス100は、画面104と108が並置される「開」位置で操作することができる。この位置により、ユーザに情報を表示するための大きなディスプレイエリアが可能になる。デバイス100が開位置にあると位置センサ172a及び172bが決定すると、位置センサ172a及び172bは、両方の画面104及び108上での情報の表示などの異なるイベントのトリガに使用することができる信号を生成することができる。追加のイベントは、デバイス100が横向き位置(図示せず)と対向する縦向き位置(
図1B)にあると加速度計176が決定した場合にトリガすることができる。
【0041】
開位置に加えて、デバイス100は、
図1Hに示されるような「閉」位置も有し得る。この場合もやはり、位置センサ172a及び172bは、デバイス100が「閉」位置にあることを示す信号を生成することができる。これにより、画面104及び/または108上に表示された情報の変化をもたらすイベントをトリガすることができる。例えば、デバイス100が「閉」位置にある場合、ユーザは1つの画面しか閲覧できないため、デバイス100は、画面のうちの1つ、例えば、画面108上での情報の表示を停止するようにプログラムすることができる。他の実施形態では、デバイス100が「閉」位置にあることを示す、位置センサ172a及び172bによって生成された信号は、電話の発呼に応答するようにデバイス100をトリガすることができる。「閉」位置は、携帯電話としてデバイス100を利用する場合にも好ましい位置であり得る。
【0042】
デバイス100は、
図1Iに示されるような「イーゼル」位置でも使用することができる。「イーゼル」位置では、画面104及び108は、互いに角度をなして外側を向いた状態であり、画面104及び108の縁は実質的に水平である。この位置では、デバイス100は、両方の画面104及び108上で情報を表示するよう構成することができ、二人のユーザが同時にデバイス100と情報のやり取りを行うことを可能にする。デバイス100が「イーゼル」位置にある場合、センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成することができ、加速度計176は、画面104及び108の縁が実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することができる。次いで、信号を組み合わせて使用し、画面104及び108上での情報の表示の変化をトリガするイベントを生成することができる。
【0043】
図1Jは、「変形イーゼル」位置のデバイス100を示す。「変形イーゼル」位置では、画面104または108のうちの1つは、スタンドとして使用され、テーブルなどの物体の表面上に下を向いた状態に置かれる。この位置は、横向きでユーザに情報を表示する便利な方法を提供する。イーゼル位置と同様に、デバイス100が「変形イーゼル」位置にある場合、位置センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成する。加速度計176は、画面104及び108のうちの1つが下を向いた状態で、実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することになる。次いで、信号を使用して、画面104及び108の情報の表示の変化をトリガするイベントを生成することができる。例えば、ユーザはその画面を見ることができないため、下向きの画面上には情報は表示されない可能性がある。
【0044】
また、移行状態も可能である。画面が閉じているまたは折り畳まれている(開位置から)ことを位置センサ172a及びb及び/または加速度計が示す場合は、閉への移行状態が認識される。逆に、画面が開いているまたは折り畳まれている(閉位置から)ことを位置センサ172a及びbが示す場合は、開への移行状態が認識される。閉及び開への移行状態は、通常、時間に基づくか、または感知された開始点からの最大持続時間を有する。通常、閉及び開状態のうちの1つが進行中のときは、ユーザ入力は不可能である。このように、閉または開動作中のユーザによる画面との偶発的な接触は、ユーザ入力として誤って解釈されることはない。実施形態では、デバイス100が閉じている場合は、別の移行状態が可能である。この追加の移行状態により、デバイス100が閉じている場合は、例えば、画面110、114上でのダブルタップなどの何らかのユーザ入力に基づいて、ある画面104から第2の画面108にディスプレイを切り替えることが可能になる。
【0045】
理解できるように、デバイス100に関する説明は、単なる例示を目的として行われ、実施形態は、
図1A〜1Jに示され、上記で説明される特定の機械的な特徴に制限されない。他の実施形態では、デバイス100は、1つまたは複数の追加のボタン、スロット、ディスプレイエリア、ヒンジ及び/またはロック機構を含む追加の特徴を含み得る。それに加えて、実施形態では、上記で説明される特徴は、デバイス100の異なる部分に位置し得、それでも同様の機能性を提供することができる。したがって、
図1A〜1J及び上記で提供される説明は、非限定的である。
ハードウェアの特徴:
図2は、本開示の実施形態によるデバイス100のコンポーネントを示す。一般に、デバイス100は、一次画面104と二次画面108とを含む。一次画面104及びそのコンポーネントは、通常、開位置または状態でも閉位置または状態でも有効化される一方で、二次画面108及びそのコンポーネントは、通常、開状態では有効化されるが、閉状態では無効化される。しかし、閉状態であっても、ユーザまたはアプリケーションがトリガするインタラプト(通話アプリケーションまたはカメラアプリケーションオペレーションに応じてなど)は、適切なコマンドによって、アクティブ画面を変更することも、一次画面104を無効化して二次画面108を有効化することもできる。各画面104、108は、タッチセンサ式であり得、異なる動作エリアを含み得る。例えば、それぞれのタッチセンサ式画面104及び108内の第1の動作エリアは、タッチセンサ式ディスプレイ110、114を含み得る。一般に、タッチセンサ式ディスプレイ110、114は、フルカラーのタッチセンサ式ディスプレイを含み得る。それぞれのタッチセンサ式画面104及び108内の第2のエリアは、ジェスチャ捕捉領域120、124を含み得る。ジェスチャ捕捉領域120、124は、タッチセンサ式ディスプレイ110、114のエリア外のエリアまたは領域を含み得、そのエリアまたは領域は、例えば、ユーザによって提供されるジェスチャの形での入力の受信が可能である。しかし、ジェスチャ捕捉領域120、124は、表示機能または能力を実行することができる画素を含まない。
【0046】
タッチセンサ式画面104及び108の第3の領域は、構成可能なエリア112、116を含み得る。構成可能なエリア112、116は、入力を受信することができ、表示または制限された表示能力を有する。実施形態では、構成可能なエリア112、116は、異なる入力オプションをユーザに提示することができる。例えば、構成可能なエリア112、116は、ボタンまたは他の関連付けられるアイテムを表示することができる。その上、表示されたボタンのアイデンティティ、または、タッチセンサ式画面104もしくは108の構成可能なエリア112、116内に表示されているボタンがあるかどうかは、デバイス100が使用される及び/または操作されるコンテキストから決定することができる。例示的な実施形態では、タッチセンサ式画面104及び108は、ユーザに視覚出力を提供することができるタッチセンサ式画面104及び108の少なくともそれらの領域に広がる液晶ディスプレイデバイスと、ユーザから入力を受信することができるタッチセンサ式画面104及び108のそれらの領域にわたる容量性入力マトリックスとを含む。
【0047】
1つまたは複数のディスプレイコントローラ216a、216bは、入力(タッチセンサ式)及び出力(表示)機能を含むタッチセンサ式画面104及び108のオペレーションを制御するために設けることができる。
図2に示される例示的な実施形態では、別々のタッチスクリーンコントローラ216aまたは216bが各タッチスクリーン104及び108に設けられる。代替の実施形態によれば、共通のまたは共有されたタッチスクリーンコントローラ216を使用して、含まれるタッチセンサ式画面104及び108の各々を制御することができる。さらなる他の実施形態によれば、タッチスクリーンコントローラ216の機能は、プロセッサ204などの他のコンポーネントに組み込むことができる。
【0048】
プロセッサ204は、アプリケーションプログラミングまたは命令を実行するための汎用のプログラム可能プロセッサまたはコントローラを含み得る。少なくともいくつかの実施形態によれば、プロセッサ204は、複数のプロセッサコアを含む、及び/または、複数の仮想プロセッサを実装することができる。さらなる他の実施形態によれば、プロセッサ204は、複数の物理的プロセッサを含み得る。具体的な例として、プロセッサ204は、特別に構成された特定用途向け集積回路(ASIC)もしくは他の集積回路、デジタル信号プロセッサ、コントローラ、配線電子もしくは論理回路、プログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、または、同様のものを含み得る。プロセッサ204は、一般に、デバイス100のさまざまな機能を実装するプログラミングコードまたは命令を実行するように機能する。
【0049】
また、通信デバイス100は、プロセッサ204によるアプリケーションプログラミングまたは命令の実行に関連して使用するための、ならびに、プログラム命令及び/またはデータを一時的または長期に格納するための、メモリ208も含み得る。例として、メモリ208は、RAM、DRAM、SDRAMまたは他のソリッドステートメモリを含み得る。その代替としてまたはそれに加えて、データストレージ212を設けることができる。メモリ208と同様に、データストレージ212は、1つまたは複数のソリッドステートメモリデバイスを含み得る。その代替としてまたはそれに加えて、データストレージ212は、ハードディスクドライブまたは他のランダムアクセスメモリを含み得る。
【0050】
通信機能または能力をサポートする際、デバイス100は、携帯電話モジュール228を含み得る。例として、携帯電話モジュール228は、セルラネットワーク上で音声、マルチメディア及び/またはデータ転送をサポートすることができるGSM(登録商標)、CDMA、FDMA及び/またはアナログ携帯電話トランシーバを含み得る。その代替としてまたはそれに加えて、デバイス100は、追加のまたは他の無線通信モジュール232を含み得る。例として、他の無線通信モジュール232は、ワイファイ(Wi−Fi)、ブルートゥース(Bluetooth)(登録商標)、ワイマックス(WiMax)、赤外線または他の無線通信リンクを含み得る。携帯電話モジュール228及び他の無線通信モジュール232は、それぞれが、共有または専用アンテナ224と関連付けられることができる。
【0051】
ポートインタフェース252を含めることができる。ポートインタフェース252は、ドックなどの他のデバイスまたはコンポーネントとのデバイス100の相互接続をサポートする独自のまたはユニバーサルポートを含み得、他のデバイスまたはコンポーネントは、デバイス100に不可欠なものへの追加のまたはそれとは異なる能力を含んでも含まなくともよい。デバイス100と別のデバイスまたはコンポーネントとの間での通信信号の交換のサポートに加えて、ドッキングポート136及び/またはポートインタフェース252は、デバイス100へのまたはデバイス100からの電力の供給をサポートすることができる。また、ポートインタフェース252は、デバイス100と接続されたデバイスまたはコンポーネントとの間の通信または他の相互作用を制御するためのドッキングモジュールを含むインテリジェントな要素も含む。
【0052】
入力/出力モジュール248及び関連ポートを含めて、例えば、他の通信デバイス、サーバデバイス及び/または周辺デバイスとの有線ネットワークまたはリンク上での通信をサポートすることができる。入力/出力モジュール248の例としては、イーサネット(登録商標)ポート、ユニバーサルシリアルバス(USB)ポート、電気電子技術者協会(IEEE)1394または他のインタフェースが挙げられる。
【0053】
音声入力/出力インタフェース/デバイス244を含めて、相互接続されたスピーカまたは他のデバイスにアナログ音声を提供したり、接続されたマイクロホンまたは他のデバイスからアナログ音声入力を受信したりすることができる。一例として、音声入力/出力インタフェース/デバイス244は、関連アンプとアナログデジタル変換器とを含み得る。その代替としてまたはそれに加えて、デバイス100は、外部のスピーカまたはマイクロホンを相互接続するための統合音声入力/出力デバイス256及び/または音声ジャックを含み得る。例えば、統合スピーカ及び統合マイクロホンを提供し、近接通話またはスピーカフォンオペレーションをサポートすることができる。
【0054】
ハードウェアボタン158を含めて、例えば、ある制御動作に関連して使用することができる。例としては、
図1A〜1Jと併せて説明されるように、マスタ電源スイッチ、音量調節などが挙げられる。カメラなどの1つまたは複数の画像捕捉インタフェース/デバイス240を含めて、静止及び/またはビデオ画像を捕捉することができる。その代替としてまたはそれに加えて、画像捕捉インタフェース/デバイス240は、スキャナまたはコードリーダを含み得る。画像捕捉インタフェース/デバイス240は、フラッシュまたは他の光源などの追加の要素を含むか、または追加の要素と関連付けられることができる。
【0055】
また、デバイス100は、全地球側位システム(GPS)受信機236も含み得る。本発明の実施形態によれば、GPS受信機236は、デバイス100の他のコンポーネントに絶対位置情報を提供できるGPSモジュールをさらに含み得る。また、加速度計176も含めることができる。例えば、ユーザへの情報の表示及び/または他の機能に関連して、加速度計176からの信号を使用して、その情報をユーザに表示するための方向及び/または形式を決定することができる。
【0056】
また、本発明の実施形態は、1つまたは複数の位置センサ172を含み得る。位置センサ172は、互いに対するタッチセンサ式画面104及び108の位置を示す信号を提供することができる。例えば、ユーザインタフェースアプリケーションへの入力としてこの情報を提供し、動作モード、すなわち、タッチセンサ式ディスプレイ110、114及び/または他のデバイス100オペレーションの特性を決定することができる。例として、画面位置センサ172は、一連のホール効果センサ、複数の位置スイッチ、光スイッチ、ホイートストンブリッジ、電位差計、または、タッチスクリーンが置かれている複数の相対位置を示す信号を提供することができる他の構成を含み得る。
【0057】
デバイス100のさまざまなコンポーネント間の通信は、1つまたは複数のバス222によって行うことができる。それに加えて、電源及び/または電力制御モジュール260からデバイス100のコンポーネントに電力を供給することができる。電力制御モジュール260は、例えば、バッテリ、AC/DC変換器、電力制御ロジック及び/または外部の電源にデバイス100を相互接続するためのポートを含み得る。
デバイスの状態:
図3A及び3Bは、デバイス100の例示的な状態を表す。多くの例示的な状態が示され、第1の状態から第2の状態へ移行するが、例示的な状態を示す図は、すべての可能な状態及び/またはすべての可能な第1の状態から第2の状態への移行を包含するわけではないことを理解されたい。
図3で示されるように、状態間のさまざまな矢印(円で表された状態によって示される)は、デバイス100に起こる物理的変化を表す。物理的変化は、ハードウェア及びソフトウェアの1つまたは複数によって検出され、その検出により、ハードウェア及び/またはソフトウェアインタラプトの1つまたは複数がトリガされ、デバイス100の1つまたは複数の機能の制御及び/または管理に使用される。
【0058】
図3Aで示されるように、12の例示的な「物理的」状態があり、それらは、閉304、移行308(または開への移行状態)、イーゼル312、変形イーゼル316、開320、着信/発信通話または通信324、画像/映像捕捉328、移行332(または閉への移行状態)、横向き340、ドッキング336、ドッキング344及び横向き348である。各例示的な状態の隣にあるのは、デバイス100の物理的状態の表現であるが、状態324及び328は例外であり、状態324及び328では、一般に、状態は、電話用の国際的なアイコン及びカメラ用のアイコンによってそれぞれ象徴化される。
【0059】
状態304では、デバイスは閉状態であり、デバイス100は、一般に、一次画面104と二次画面108が異なる面で背中合わせの状態で、縦向き方向に方向付けられる(
図1Hを参照)。閉状態から、デバイス100は、例えば、ドッキング状態336または横向き状態340に入ることができ、ドッキング状態336では、デバイス100はドッキングステーションやドッキングケーブルと結合されるか、または、一般に1つもしくは複数の他のデバイスもしくは周辺機器とドッキングされるかもしくは関連付けられ、横向き状態340では、一次画面104はユーザに面し、一次画面104と二次画面108は背中合わせの状態でデバイス100が一般に方向付けされる。
【0060】
また、閉状態では、デバイスは、移行状態に移動することができ、移行状態では、デバイスは閉じたままであるが、ディスプレイは、例えば、画面110、114上でのダブルタップなどのユーザ入力に基づいて、ある画面104から別の画面108に移動する。さらに別の実施形態は、両面状態(bilateral state)を含む。両面状態では、デバイスは閉じたままであるが、単一のアプリケーションが少なくとも1つのウィンドウを第1のディスプレイ110と第2のディスプレイ114の両方に表示する。第1及び第2のディスプレイ110、114に示されるウィンドウは、アプリケーション及びそのアプリケーションの状態に基づいて、同じであっても異なっていてもよい。例えば、カメラで画像を取得する間、デバイスは、第1のディスプレイ110上でファインダを表示することができ、第2のディスプレイ114上で被写体のプレビュー(全画面及び左から右へミラーリング)を表示する。
【0061】
閉状態304から半開状態またはイーゼル状態312への移行状態である状態308では、デバイス100は、一次画面104及び二次画面108をヒンジと一致する軸のポイントの周りで回転させて開いた状態で示される。イーゼル状態312に入ると、一次画面104及び二次画面108は、例えば、デバイス100がイーゼル様構成で表面上に位置することができるように、互いに分離される。
【0062】
変形イーゼル位置として知られる状態316では、デバイス100は、互いにイーゼル状態312と同様の相対関係にある一次画面104及び二次画面108を有し、その違いは、示されるように、一次画面104または二次画面108のうちの1つが表面上に配置されることである。
【0063】
状態320は開状態であり、開状態では、一次画面104及び二次画面108は、一般に、同じ平面上にある。開状態から、デバイス100は、ドッキング状態344または開横向き状態348に移行することができる。開状態320では、一次画面104及び二次画面108は、一般に、縦向きのような状態にあるが、横向き状態348では、一次画面104及び二次画面108は、一般に、横向きのような状態にある。
【0064】
状態324は、デバイス100でそれぞれ着信通話を受けるまたは発信通話をかける場合などの通信状態の例示である。明確には示されていないが、デバイス100は、
図3に示されるいかなる状態からも着信/発信通話状態324へ移行できることを理解されたい。同様に、画像/映像捕捉状態328もまた、
図3に示される他のいかなる状態からも入ることができ、画像/映像捕捉状態328では、デバイス100は、映像捕捉デバイス240を備えたカメラ及び/またはビデオを介して、1つまたは複数の画像を撮影することができる。
【0065】
移行状態332は、一次画面104及び二次画面108が、例えば、閉状態304に入るために、互いに向かって閉じている状態を例示的に示す。
図3Bは、キーを参照して、第1の状態から第2の状態への移行を検出するために受信された入力を示す。
図3Bでは、状態のさまざまな組合せが示されており、一般に、列の一部は、縦向き状態352や横向き状態356を対象とし、行の一部は、縦向き状態360と横向き状態364を対象とする。
【0066】
図3Bでは、キーは、「H」が1つまたは複数のホール効果センサからの入力を表し、「A」が1つまたは複数の加速度計からの入力を表し、「T」がタイマからの入力を表し、「P」が通信トリガ入力を表し、「I」が画像及び/または映像捕捉要求入力を表すことを示す。したがって、表の中央部分376では、デバイス100がどのように第1の物理的な状態から第2の物理的な状態への移行を検出するかを表す入力または入力の組合せが示される。
【0067】
論じられるように、表の中央部分376では、受信した入力により、例えば、縦向き開状態から横向きイーゼル状態への移行(太字の「HAT」で示される)の検出が可能になる。この例示的な縦向き開状態から横向きイーゼル状態への移行の場合、ホール効果センサ(「H」)、加速度計(「A」)及びタイマ(「T」)入力が必要とされ得る。タイマ入力は、例えば、プロセッサに関連付けられた時計から得ることができる。
【0068】
縦向き及び横向き状態に加えて、ドッキング信号372の受信に基づいてトリガされるドッキング状態368も示される。上記で論じられるように、
図3に関連して、ドッキング信号は、デバイス100を、1つまたは複数の他のデバイス100、アクセサリ、周辺機器、スマートドックまたは同様のものと接続することによってトリガすることができる。
ユーザ相互作用:
図4A〜4Hは、画面104、108によって認識することができるジェスチャ入力のさまざまなグラフィカルな表現を描写する。ジェスチャは、指などのユーザの身体部分ばかりではなく、画面104、108の接触感知部分によって感知することができるスタイラスなどの他のデバイスによっても行うことができる。一般に、ジェスチャは、どこでジェスチャが行われるか(ディスプレイ110、114上に直接またはジェスチャ捕捉領域120、124のいずれか)に基づいて、異なって解釈される。例えば、ディスプレイ110、114内のジェスチャは、デスクトップまたはアプリケーションを対象とし、ジェスチャ捕捉領域120、124内のジェスチャは、システム用として解釈され得る。
【0069】
図4A〜4Hを参照すると、ジェスチャの第1のタイプ(タッチジェスチャ420)は、選択された時間長の間、画面104、108上に実質的に静止する。円428は、画面の接触感知部分の特定の位置で受信されたタッチまたは他の接触タイプを表す。円428は、境界432を含み得、その厚さは、接触位置において実質的に静止した状態で接触が保持された時間長を示す。例えば、タップ420(または短時間のプレス)は、長時間のプレス424に対する(または通常のプレスに対する)境界432bより薄い境界432aを有する。長時間のプレス424は、タップ420より長い時間の間、画面上に実質的に静止した状態のままの接触を伴う可能性がある。理解されるように、異なって定義されたジェスチャは、接触停止前または画面上での移動前のタッチが静止した状態のままの時間長に応じて登録することができる。
【0070】
図4Cを参照すると、画面104、108上でのドラッグジェスチャ400は、最初の接触(円428によって表される)に、選択された方向への接触移動436が伴う。最初の接触428は、境界432によって表される特定の時間量の間、画面104、108上で静止した状態のままであり得る。ドラッグジェスチャは、通常、ユーザが第1の位置でアイコン、ウィンドウまたは他の表示画像に接触し、その後、選択された表示画像に対して所望の新しい第2の位置に向かうドラッグ方向に接触を移動させる必要がある。接触移動は、直線である必要はないが、接触が第1から第2の位置に実質的に連続したものである限り、いかなる経路の移動もあり得る。
【0071】
図4Dを参照すると、画面104、108上でのフリックジェスチャ404は、最初の接触(円428によって表される)に、選択された方向への短縮された接触移動436(ドラッグジェスチャと比較して)が伴う。実施形態では、フリックは、ドラッグジェスチャと比較して、ジェスチャの最後の動きに対してより高い退出速度を有する。フリックジェスチャは、例えば、最初の接触に続く指スナップであり得る。ドラッグジェスチャと比較すると、フリックジェスチャは、一般に、表示画像の第1の位置から既定の第2の位置まで、画面104、108との連続的な接触を必要としない。接触した表示画像は、フリックジェスチャによって、既定の第2の位置に向かうフリックジェスチャ方向に移動される。両方のジェスチャは、一般に、第1の位置から第2の位置に表示画像を移動させることができるが、画面上での接触の持続時間及び移動距離は、一般に、ドラッグジェスチャよりもフリックジェスチャの方が短い。
【0072】
図4Eを参照すると、画面104、108上でのピンチジェスチャ408が描写されている。ピンチジェスチャ408は、例えば、第1の指によって画面104、108に第1の接触428aを行い、例えば、第2の指によって画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、対向方向である。別の言い方をすれば、第1の接触移動436aは、第2の接触428bに向かう方向にあり、第2の接触移動436bは、第1の接触428aに向かう方向にある。より簡単な言い方をすれば、ピンチジェスチャ408は、ユーザの指がピンチ動作で画面104、108に触れることによって実現することができる。
【0073】
図4Fを参照すると、画面104、108上でのスプレッドジェスチャ410が描写されている。スプレッドジェスチャ410は、例えば、第1の指で画面104、108に第1の接触428aを行い、例えば、第2の指で画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、共通の方向である。別の言い方をすれば、第1及び第2の接触移動436a、bは、第1及び第2の接触428a、bから遠ざかる方向にある。より簡単な言い方をすれば、スプレッドジェスチャ410は、ユーザの指がスプレッド動作で画面104、108に触れることによって実現することができる。
【0074】
上記のジェスチャは、
図4G及び4Hによって示されるものなど、任意の方法で組み合わせて、決定された機能的な結果を生成することができる。例えば、
図4Gでは、タップジェスチャ420と、タップジェスチャ420から遠ざかる方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
図4Hでは、タップジェスチャ420と、タップジェスチャ420に向かう方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
【0075】
ジェスチャを受信するという機能的な結果は、デバイス100、ディスプレイ110、114もしくは画面104、108の状態、ジェスチャに関連付けられたコンテキスト、または、ジェスチャの感知位置を含む多くの要因に応じて異なり得る。デバイスの状態は、一般に、デバイス100の構成、ディスプレイ方向ならびにデバイス100で受信されるユーザ及び他の入力のうちの1つまたは複数を指す。コンテキストは、一般に、アプリケーションが単一画面アプリケーションであろうが、複数画面アプリケーションであろうが、及び、アプリケーションが1つまたは複数の画面に1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、1つまたは複数のスタックに1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、ジェスチャによって選択された特定のアプリケーション及び現時点で実行しているアプリケーションの部分のうちの1つまたは複数を指す。ジェスチャの感知位置は、一般に、感知されたジェスチャ位置座標セットが、タッチセンサ式ディスプレイ110、114上にあるかまたはジェスチャ捕捉領域120、124にあるか、感知されたジェスチャ位置座標セットが、共通のディスプレイもしくは画面104、108に関連付けられているか、または異なるディスプレイもしくは画面104、108に関連付けられているか、及び/または、ジェスチャ捕捉領域のどの部分が感知されたジェスチャ位置座標セットを含むかを指す。
【0076】
タップは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、対応するアプリケーションの実行の開始または終了、ウィンドウの最大化または最小化、スタック内でのウィンドウの並べ換え、及び、キーボード表示または他の表示画像などによるユーザ入力の提供のためにアイコンを選択する際に使用することができる。ドラッグは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、ディスプレイ内の所望の位置へアイコンもしくはウィンドウを移動する、ディスプレイ上でスタックを並べ換える、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。フリックは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、例えば、第1のディスプレイから第2のディスプレイへウィンドウを移動する、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。しかし、ドラッグジェスチャとは異なり、フリックジェスチャは、一般に、特定のユーザ選択位置へ表示画像を移動する際には使用されないが、ユーザによる構成が不可能なデフォルト位置へ表示画像を移動する際には使用される。
【0077】
ピンチジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最小化もしくは増加する(通常、共通のディスプレイで全体を受信する場合)、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(スタックにウィンドウを表示する「ポップアップウィンドウ」)際に使用することができる。スプレッドジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最大化もしくは減少する、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(同じまたは異なる画面上の画面外ジェスチャ捕捉領域で受信する場合)際に使用することができる。
【0078】
図4Gの組み合わされたジェスチャは、共通のディスプレイまたは画面104、108内の共通のディスプレイ捕捉領域で受信する場合、ジェスチャを受信するディスプレイに一定の第1のスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、ジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。
図4Hの組み合わされたジェスチャは、共通のディスプレイもしくは画面104、108または異なるディスプレイもしくは画面内の異なるディスプレイ捕捉領域で受信する場合、ジェスチャのタップ部分を受信するディスプレイに一定の第1のウィンドウスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、フリックまたはドラッグジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。先行例における特定のジェスチャ及びジェスチャ捕捉領域は、機能的な結果の対応するセットと関連付けられてきたが、これらの関連性は、いかなる方法でも再定義でき、ジェスチャ及び/またはジェスチャ捕捉領域及び/または機能的な結果間で異なる関連性を生成できることを理解されたい。
ファームウェア及びソフトウェア:
メモリ508は、1つまたは複数のソフトウェアコンポーネントを格納することができ、プロセッサ504は、それを実行することができる。これらのコンポーネントは、少なくとも1つのオペレーティングシステム(OS)516、アプリケーションマネージャ562、デスクトップ566及び/またはアプリケーションストア560からの1つもしくは複数のアプリケーション564a及び/または564bを含み得る。OS516は、以前に
図2と併せて説明された、フレームワーク520、1つもしくは複数のフレームバッファ548、1つもしくは複数のドライバ512及び/またはカーネル518を含み得る。OS516は、プログラム及びデータからなる任意のソフトウェアであり得、プログラム及びデータは、コンピュータハードウェアリソースを管理し、さまざまなアプリケーション564の実行のための共通のサービスを提供する。OS516は、任意のオペレーティングシステムであり得、少なくともいくつかの実施形態では、これらに限定されないが、リナックス(Linux)(登録商標)、アンドロイド(Android)(登録商標)、アイフォンOS(iPhone OS)(iOS(登録商標))、ウィンドウズフォン7(Windows Phone 7)(登録商標)などを含むモバイルデバイス専用である。OS516は、本明細書に記載されるように、1つまたは複数のオペレーションを実行することによって、電話に機能性を提供するよう動作可能である。
【0079】
アプリケーション564は、ユーザのための特定の機能性を実行する任意の高レベルのソフトウェアであり得る。アプリケーション564は、Eメールクライアント、ウェブブラウザ、テキストメッセージアプリケーション、ゲーム、メディアプレーヤ、オフィススイートなどのプログラムを含み得る。アプリケーション564は、アプリケーションストア560に格納することができ、アプリケーションストア560は、アプリケーション564を格納するための任意のメモリまたはデータストレージ及びそれに関連付けられた管理ソフトウェアを表し得る。実行された時点で、アプリケーション564は、メモリ508の異なるエリアで実行することができる。
【0080】
フレームワーク520は、デバイス上で実行されている複数のタスクの相互作用を可能にする任意のソフトウェアまたはデータであり得る。実施形態では、フレームワーク520の少なくとも部分及び以下で説明する個別のコンポーネントは、OS516またはアプリケーション564の一部と見なすことができる。しかし、それらのコンポーネントはそのように限定されないことを除けば、これらの部分は、フレームワーク520の一部として説明される。フレームワーク520は、これらに限定されないが、複数ディスプレイ管理(MDM)モジュール524、サーフェスキャッシュモジュール528、ウィンドウ管理モジュール532、入力管理モジュール536、タスク管理モジュール540、アプリケーションモデルマネージャ542、ディスプレイコントローラ、1つもしくは複数のフレームバッファ548、タスクスタック552、1つもしくは複数のウィンドウスタック550(ディスプレイエリア内のウィンドウ及び/またはデスクトップの論理構成である)及び/またはイベントバッファ556を含み得る。
【0081】
MDMモジュール524は、デバイスの画面上でアプリケーションまたは他のデータの表示を管理するよう動作可能な1つまたは複数のモジュールを含む。MDMモジュール524の実施形態は、
図5Bと併せて説明する。実施形態では、MDMモジュール524は、ドライバ512などの他のOS516コンポーネントから及びアプリケーション564から入力を受信し、常にデバイス100の状態を決定する。入力は、アプリケーションの優先度及び要件ならびにユーザ動作に応じてディスプレイをどのように構成して割り当てるかを決定する際にMDMモジュール524を支援する。ディスプレイ構成に対する決定がなされた時点で、MDMモジュール524は、アプリケーション564とディスプレイとを結合することができる。次いで、1つまたは複数の他のコンポーネントに構成を提供して、ディスプレイでウィンドウを生成することができる。
【0082】
サーフェスキャッシュモジュール528は、ウィンドウの1つまたは複数の画像を格納またはキャッシュするための任意のメモリまたはストレージ及びそれに関連付けられたソフトウェアを含む。一連のアクティブ及び/または非アクティブウィンドウ(またはデスクトップ表示などの他の表示オブジェクト)は、各ディスプレイに関連付けられ得る。アクティブウィンドウ(または他の表示オブジェクト)が現時点で表示されている。非アクティブウィンドウ(または他の表示オブジェクト)は、ある時点で開かれ、表示されていたが、現時点では表示されていない。ユーザ経験を高めるため、ウィンドウをアクティブ状態から非アクティブ状態へ移行する前に、ウィンドウ(または他の表示オブジェクト)の最後に生成された画像の「スクリーンショット」を格納することができる。サーフェスキャッシュモジュール528は、現時点で表示されていないウィンドウ(または他の表示オブジェクト)の最後のアクティブ画像のビットマップを格納するよう動作可能であり得る。したがって、サーフェスキャッシュモジュール528は、データストアに非アクティブウィンドウ(または他の表示オブジェクト)の画像を格納する。
【0083】
実施形態では、ウィンドウ管理モジュール532は、それぞれのディスプレイ上でアクティブであるまたは非アクティブであるウィンドウ(または他の表示オブジェクト)を管理するよう動作可能である。ウィンドウ管理モジュール532は、MDMモジュール524、OS516または他のコンポーネントからの情報に基づいて、ウィンドウ(または他の表示オブジェクト)がいつ可視であるかまたは非アクティブであるかを決定する。次いで、ウィンドウ管理モジュール532は、不可視ウィンドウ(または他の表示オブジェクト)を「非アクティブ状態」に置き、タスク管理モジュールタスク管理540と併せて、アプリケーションのオペレーションを一時停止する。さらに、ウィンドウ管理モジュール532は、MDMモジュール524との協働相互作用を通じて、ウィンドウ(または他の表示オブジェクト)にディスプレイ識別子を割り当てることも、ウィンドウ(または他の表示オブジェクト)に関連付けられたデータの1つまたは複数の他のアイテムを管理することもできる。また、ウィンドウ管理モジュール532は、アプリケーション564、タスク管理モジュール540、または、ウィンドウ(または他の表示オブジェクト)と相互作用するかもしくは関連付けられた他のコンポーネントに格納された情報を提供することもできる。また、ウィンドウ管理モジュール532は、動作空間内のウィンドウフォーカス及びディスプレイ座標に基づいて、入力タスクをウィンドウと関連付けることもできる。
【0084】
入力管理モジュール536は、デバイスで起こるイベントを管理するよう動作可能である。イベントは、例えば、ユーザとのユーザインタフェース相互作用などのウィンドウ環境への任意の入力である。入力管理モジュール536は、イベントを受信し、イベントをイベントバッファ556に論理的に格納する。イベントは、そのようなユーザインタフェース相互作用を、画面104、108がユーザからタッチ信号を受信した場合に起こる「ダウンイベント」、ユーザの指が画面を横切って移動していることを画面104、108が決定した場合に起こる「移動イベント」、ユーザが画面104、108に触れるのを止めたことを画面104、108が決定した場合に起こる「アップイベント」などとして含み得る。これらのイベントは、入力管理モジュール536によって、受信され、格納され、他のモジュールに転送される。また、入力管理モジュール536は、デバイス上で利用可能なすべての物理的及び仮想ディスプレイの集大成である動作空間に画面入力をマッピングすることもできる。
【0085】
動作空間は、一緒に「タイル化」してデバイス100の物理的寸法を模倣した、すべてのタッチセンサ式ディスプレイ110、114を含む仮想化空間である。例えば、デバイス100が展開されている場合は、動作空間サイズは960×800であり得、これは、両方のタッチセンサ式ディスプレイ110、114の組み合わされたディスプレイエリア内の画素数であり得る。ユーザが位置(40,40)で第1のタッチセンサ式ディスプレイ110に触れる場合、全画面ウィンドウは、位置(40,40)でタッチイベントを受信することができる。ユーザが位置(40,40)で第2のタッチセンサ式ディスプレイ114に触れる場合、全画面ウィンドウは、位置(520,40)でタッチイベントを受信することができるが、その理由は、第2のタッチセンサ式ディスプレイ114は第1のタッチセンサ式ディスプレイ110の右側にあり、したがって、デバイス100は、第1のタッチセンサ式ディスプレイ110の幅の分、すなわち、480画素分だけ、そのタッチにオフセットを設けることができるためである。ドライバ512からの位置情報でハードウェアイベントが起こる場合、デバイスの向き及び状態に基づいてイベントの位置が異なり得るため、フレームワーク520は、物理的位置を動作空間にアップスケールすることができる。動作空間は、それが教示するすべて及びすべての目的のためにその全体が参照により本明細書に組み込まれる、2011年7月20日に出願された「複数の入力デバイスに及ぶジェスチャ入力を受信するためのシステム及び方法(Systems and Methods for Receiving Gesture Inputs Spanning Multiple Input Devices)」と称する米国特許出願第13/187,026号明細書に記載されるようなものであり得る。
【0086】
タスクは、アプリケーションであり得、サブタスクは、ユーザが、例えば、電話をする、写真を撮る、Eメールを送信するまたはマップを見るなど何かを行うために情報のやり取りを行うことができるウィンドウを提供するアプリケーションコンポーネントであり得る。各タスクには、ユーザインタフェースを描くためのウィンドウを与えることができる。ウィンドウは、通常、ディスプレイ(例えば、タッチセンサ式ディスプレイ110、114)全体を占めるが、ディスプレイ110、114より小さく、他のウィンドウ上で浮動してもよい。アプリケーションは、通常、互いに緩やかに結合された複数のサブタスクからなる。通常、アプリケーション内の1つのタスクが「メイン」タスクとして指定され、最初にアプリケーションに着手する際にユーザに提示される。次いで、各タスクは、別のタスクまたはサブタスクを起動して、異なる動作を実行することができる。
【0087】
タスク管理モジュール540は、デバイスによって実行することができる1つまたは複数のアプリケーション564のオペレーションを管理するよう動作可能である。したがって、タスク管理モジュール540は、信号を受信して、アプリケーションストア560に格納されたアプリケーションまたはアプリケーションサブタスクの着手、一時停止、終了などを行うことができる。次いで、タスク管理モジュール540は、アプリケーション564の1つまたは複数のタスクまたはサブタスクのインスタンスを作成し、アプリケーション564のオペレーションを開始することができる。さらに、タスク管理モジュール540は、ユーザ入力の結果または協働フレームワーク520コンポーネントからの信号の結果、タスクまたはサブタスクの着手、一時停止または終了を行うことができる。タスク管理モジュール540は、アプリケーションの着手からアプリケーションの終了までのアプリケーション(タスク及びサブタスク)のライフサイクルの管理に対する責任を有する。
【0088】
タスク管理モジュール540の処理は、タスクスタック552によって容易にし、タスクスタック552は、タスク管理モジュール540に関連付けられた論理構造である。タスクスタック552は、デバイス100上のすべてのタスク及びサブタスクの状態を維持する。オペレーティングシステム516の一部のコンポーネントがタスクまたはサブタスクにそのライフサイクルにおける移行を行わせる必要がある場合、OS516コンポーネントは、タスク管理モジュール540に通知することができる。次いで、タスク管理モジュール540は、識別情報を使用してタスクスタック552においてタスクまたはサブタスクを位置付け、タスクがどのようなライフサイクル移行を実行する必要があるかを示す信号をタスクまたはサブタスクに送信する。移行についてタスクまたはサブタスクに通知することにより、タスクまたはサブタスクは、ライフサイクル状態移行の準備を行うことができる。次いで、タスク管理モジュール540は、タスクまたはサブタスクに対する状態移行を実行することができる。実施形態では、状態移行は、終了が必要な場合に、OSカーネル518をトリガしてタスクを終了することを伴う場合がある。
【0089】
さらに、タスク管理モジュール540は、ウィンドウ管理モジュール532からの情報に基づいて、アプリケーション564を一時停止することができる。アプリケーション564の一時停止により、メモリ内のアプリケーションデータを維持することができるが、ウィンドウまたはユーザインタフェースのレンダリングからアプリケーション564を制限することも停止することもある。再びアプリケーションがアクティブ状態になった時点で、タスク管理モジュール540は、再び、アプリケーションをトリガして、そのユーザインタフェースをレンダリングすることができる。実施形態では、タスクが一時停止されれば、タスクは、タスクの終了が行われる場合は、タスクの状態を保存することができる。一時停止状態では、アプリケーションウィンドウはユーザから見えないため、アプリケーションタスクは、入力を受信することはできない。
【0090】
フレームバッファ548は、ユーザインタフェースのレンダリングに使用される論理構造である。フレームバッファ548は、OSカーネル518によって作成及び破壊され得る。しかし、ディスプレイコントローラ544は、可視ウィンドウに対し、画像データをフレームバッファ548に書き込むことができる。フレームバッファ548は、1つの画面または複数の画面に関連付けられ得る。画面とのフレームバッファ548の関連性は、OSカーネル518との相互作用によって動的に制御することができる。複合ディスプレイは、複数の画面を単一のフレームバッファ548と関連付けることによって作成することができる。次いで、アプリケーションのウィンドウのユーザインタフェースのレンダリングに使用されるグラフィカルなデータは、複合ディスプレイに対し、単一のフレームバッファ548に書き込むことができ、それは複数画面104、108に出力される。ディスプレイコントローラ544は、アプリケーションのユーザインタフェースを、特定のディスプレイ110、114にマッピングされたフレームバッファ548の一部に移動させることができ、したがって、1つの画面104または108上にのみユーザインタフェースを表示することができる。ディスプレイコントローラ544は、ユーザインタフェースの制御を複数のアプリケーションに拡大し、フレームバッファ548またはその一部と関連付けられるだけの数のディスプレイに対してユーザインタフェースを制御することができる。この手法は、ディスプレイコントローラ544上のソフトウェアコンポーネントで使用中の複数の物理的画面104、108を補整する。
【0091】
アプリケーションマネージャ562は、ウィンドウ環境に対するプレゼンテーション層を提供するアプリケーションである。したがって、アプリケーションマネージャ562は、タスク管理モジュール540によるレンダリングのためのグラフィカルなモデルを提供する。同様に、デスクトップ566は、アプリケーションストア560に対するプレゼンテーション層を提供する。したがって、デスクトップは、レンダリング用にウィンドウ管理モジュール556に提供することができるアプリケーションストア560内のアプリケーション564用の選択可能なアプリケーションアイコンを有する表面のグラフィカルなモデルを提供する。
【0092】
さらに、フレームワークは、アプリケーションモデルマネージャ(AMM)542を含み得る。アプリケーションマネージャ562は、AMM542とインタフェースをとることができる。実施形態では、AMM542は、アプリケーションの状態(実行中または一時停止中)に関する状態変化情報をデバイス100から受信する。AMM542は、サーフェスキャッシュモジュール528からのビットマップ画像を活動中(実行中または一時停止中)のタスクと関連付けることができる。さらに、AMM542は、タスク管理モジュール540内で維持されている論理的ウィンドウスタックを、ディスプレイ外のジェスチャ捕捉エリア120を使用してウィンドウをより分ける際にユーザが捉える線形(「フィルムストリップ」または「トランプ一組」)組織に変換することができる。さらに、AMM542は、実行中のアプリケーションのリストを、アプリケーションマネージャ562に提供することができる。
【0093】
MDMモジュール524の実施形態を
図5Bに示す。MDMモジュール524は、これらに限定されないが、デバイスの向き、デバイス100は開いているかまたは閉じているか、どのアプリケーション564を実行しているか、どのようにアプリケーション564を表示するか、ユーザはどの動作を行っているか、表示されているタスクなどを含むデバイスのための環境の状態を決定するよう動作可能である。ディスプレイを構成するため、MDMモジュール524は、
図6A〜6Jと併せて説明されるように、これらの環境要因を解釈し、ディスプレイ構成を決定する。次いで、MDMモジュール524は、アプリケーション564または他のデバイスコンポーネントをディスプレイと結合することができる。次いで、ディスプレイコントローラ544及び/またはOS516内の他のコンポーネントに構成を送信し、ディスプレイを生成することができる。MDMモジュール524は、これらに限定されないが、ディスプレイ構成モジュール568、優先度モジュール572、デバイス状態モジュール574、ジェスチャモジュール576、要件モジュール580、イベントモジュール584及び/または結合モジュール588のうちの1つまたは複数を含み得る。
【0094】
ディスプレイ構成モジュール568は、ディスプレイ用のレイアウトを決定する。実施形態では、ディスプレイ構成モジュール568は、環境因子を決定することができる。環境因子は、1つまたは複数の他のMDMモジュール524からまたは他のソースから受信することができる。次いで、ディスプレイ構成モジュール568は、因子のリストからディスプレイに最適な構成を決定することができる。可能な構成及びそれに関連付けられた因子のいくつかの実施形態については、
図6A〜6Fと併せて説明する。
【0095】
優先度モジュール572は、アプリケーション564または他のコンポーネントの表示優先度を決定するよう動作可能である。例えば、アプリケーションは、単一またはデュアルディスプレイに対する優先度を有し得る。優先度モジュール572は、アプリケーションの表示優先度を決定することができ(例えば、アプリケーションの優先度設定を検査することによって)、デバイス100が好ましいモードに対応することができる状態にある場合は、アプリケーション564がモード(例えば、単一画面、二重画面、最大など)を変更することを可能にする場合がある。しかし、いくつかのユーザインタフェース方針は、そのモードが利用可能であっても、モードを認めない場合がある。デバイスの構成が変化すると、優先度を見直して、アプリケーション564に対してより良いディスプレイ構成を実現できるかどうかを決定することができる。
【0096】
デバイス状態モジュール574は、デバイスの状態を決定または受信するよう動作可能である。デバイスの状態は、
図3A及び3Bと併せて説明されるようなものであり得る。デバイスの状態は、ディスプレイ構成モジュール568で使用して、ディスプレイの構成を決定することができる。このように、デバイス状態モジュール574は、入力を受信し、デバイスの状態を解釈することができる。次いで、状態情報は、ディスプレイ構成モジュール568に提供される。
【0097】
ジェスチャモジュール576は、MDMモジュール524の一部として示されるが、実施形態では、ジェスチャモジュール576は、MDMモジュール524から分離された別々のフレームワーク520コンポーネントであり得る。実施形態では、ジェスチャモジュール576は、ユーザインタフェースの任意の部分でユーザが何らかの動作を行っているかどうかを決定するよう動作可能である。代替の実施形態では、ジェスチャモジュール576は、構成可能なエリア112、116のみからユーザインタフェース動作を受信する。ジェスチャモジュール576は、入力管理モジュール536を用いて、構成可能なエリア112、116(または、場合により、他のユーザインタフェースエリア)上で起こるタッチイベントを受信することができ、タッチイベントを解釈して(方向、速度、距離、持続時間及びさまざまな他のパラメータを使用して)ユーザがどのようなジェスチャを実行しているかを決定することができる。ジェスチャが解釈されると、ジェスチャモジュール576は、ジェスチャの処理に着手することができ、他のフレームワーク520コンポーネントと協働して、必要なウィンドウアニメーションを管理することができる。ジェスチャモジュール576は、アプリケーションモデルマネージャ542と協働して、どのアプリケーションが実行中(アクティブまたは一時停止)か、及び、ユーザジェスチャが実行される際にアプリケーションが現れなければならない順番に関する状態情報を収集する。また、ジェスチャモジュール576は、ビットマップ(サーフェスキャッシュモジュール528から)及びライブウィンドウへの参照を受信することができ、その結果、ジェスチャが起こると、ジェスチャモジュール576は、ディスプレイ110、114を横切ってウィンドウを移動させる方法をディスプレイコントローラ544に指示することができる。したがって、一時停止されたアプリケーションは、それらのウィンドウがディスプレイ110、114を横切って移動すると、実行しているように見える。
【0098】
さらに、ジェスチャモジュール576は、タスク管理モジュール540または入力管理モジュール536のいずれかからタスク情報を受信することができる。ジェスチャは、
図4A〜4Hと併せて定義されるようなものであり得る。例えば、ウィンドウの移動により、ディスプレイは、ウィンドウの移動を示す一連のディスプレイフレームをレンダリングする。そのようなユーザインタフェース相互作用に関連付けられたジェスチャは、ジェスチャモジュール576で受信し解釈することができる。次いで、ユーザジェスチャについての情報はタスク管理モジュール540に送信され、タスクのディスプレイ結合が修正される。
【0099】
優先度モジュール572と同様の要件モジュール580は、アプリケーション564または他のコンポーネントに対するディスプレイ要件を決定するよう動作可能である。アプリケーションは、観察しなければならないディスプレイ要件セットを有し得る。いくつかのアプリケーションは、特定のディスプレイ方向を必要とする。例えば、アプリケーション「アングリバード(Angry Birds)」は、横向きでのみ表示することができる。この種のディスプレイ要件は、要件モジュール580によって決定または受信することができる。デバイスの向きが変更されると、要件モジュール580は、アプリケーション564に対するディスプレイ要件を再び主張することができる。ディスプレイ構成モジュール568は、要件モジュール580によって提供されるアプリケーション表示要件に従ったディスプレイ構成を生成することができる。
【0100】
ジェスチャモジュール576と同様のイベントモジュール584は、ユーザインタフェースに影響を及ぼし得るアプリケーションまたは他のコンポーネントで起こる1つまたは複数のイベントを決定するよう動作可能である。したがって、イベントモジュール584は、イベントバッファ556またはタスク管理モジュール540のいずれかからイベント情報を受信することができる。これらのイベントは、タスクがどのようにディスプレイと結合されるか変更することができる。イベントモジュール584は、他のフレームワーク520コンポーネントから状態変化情報を収集し、その状態変化情報に応じて作用され得る。一例では、電話が開かれるか、または閉じられる場合、または方向変化が生じる場合、新しいメッセージが二次画面にレンダリングされる。このイベントに基づく状態変化は、イベントモジュール584により受信され、解釈されることができる。次いで、イベントについての情報は、ディスプレイ構成モジュール568に送信され、ディスプレイの構成を修正することができる。
【0101】
結合モジュール588は、アプリケーション564または他のコンポーネントをディスプレイ構成モジュール568によって決定された構成と結合するよう動作可能である。結合は、メモリ内で、各アプリケーションに対するディスプレイ構成をアプリケーションの表示及びモードと関連付ける。したがって、結合モジュール588は、アプリケーションをそのアプリケーションに対するディスプレイ構成(例えば、横向き、縦向き、複数画面など)と関連付けることができる。次いで、結合モジュール588は、ディスプレイ識別子をディスプレイに割り当てることができる。ディスプレイ識別子は、アプリケーションをデバイス100の特定のディスプレイと関連付ける。次いで、この結合は、格納され、ディスプレイコントローラ544、OS516の他のコンポーネントまたは他のコンポーネントに提供され、ディスプレイが適正にレンダリングされる。結合は、動的であり、イベント、ジェスチャ、状態変化、アプリケーション優先度または要件などに関連付けられた構成変更に基づいて、変更することも更新することもできる。
ユーザインタフェース構成:
ここで
図6A〜Jを参照し、デバイス100によって可能となったさまざまなタイプの出力構成について以下で説明する。
【0102】
図6A及び6Bは、第1の状態にあるデバイス100の2つの異なる出力構成を描写する。具体的には、
図6Aは、閉縦向き状態304にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の縦向き構成604でタッチセンサ式ディスプレイ110を介してデータを表示する。理解できるように、第1の縦向き構成604は、デスクトップまたはオペレーティングシステムホーム画面のみを表示することができる。あるいは、デバイス100が第1の縦向き構成604でデータを表示している間、1つまたは複数のウィンドウを縦向きで提示することができる。
【0103】
図6Bは、依然として閉縦向き状態304にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の縦向き構成608でタッチセンサ式ディスプレイ114を介してデータを表示する。
【0104】
第1または第2の縦向き構成604、608のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。また、ユーザジェスチャ(例えば、ダブルタップジェスチャ)、メニュー選択または他の手段をデバイス100に提供することによって、第1の縦向き構成604と第2の縦向き構成608との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の縦向き構成604、608から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0105】
代替の出力構成は、第2の状態にあるデバイス100によって対応することができる。具体的には、
図6Cは、第3の縦向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の縦向き構成は、デュアル縦向き(PD)出力構成と呼ばれる場合がある。PD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の縦向き構成604でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の縦向き構成608でデータを描写する。第1の縦向き構成604と第2の縦向き構成608の同時プレゼンテーションは、デバイス100が開縦向き状態320にある場合に起こり得る。この構成では、デバイス100は、1つのアプリケーションウィンドウを1つのディスプレイ110または114に、2つのアプリケーションウィンドウを(それぞれのディスプレイ110及び114に1つずつ)、1つのアプリケーションウィンドウと1つのデスクトップを、または、1つのデスクトップを表示することができる。また、他の構成も可能である場合がある。デバイス100がどの状態に移動されるかに応じて、構成604、608の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。その上、この状態にある間、アプリケーションの表示優先度により、両ディスプレイがアクティブであり、同じアプリケーションで異なるウィンドウを表示する両面モードにデバイスが置かれる場合がある。例えば、カメラアプリケーションは、一面でファインダ及び制御を表示することができる一方で、他面は被写体で見ることができるミラーリングされたプレビューを表示する。また、2人のプレーヤによる同時プレーを伴うゲームも、両面モードを利用することができる。
【0106】
図6D及び6Eは、第3の状態にあるデバイス100の2つのさらなる出力構成を描写する。具体的には、
図6Dは、閉横向き状態340にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の横向き構成612でタッチセンサ式ディスプレイ110を介してデータを表示する。本明細書に記載される他の構成に類似して、第1の横向き構成612は、デスクトップ、ホーム画面、アプリケーションデータを表示する1つもしくは複数のウィンドウまたは同様のものを表示することができる。
【0107】
図6Eは、依然として閉横向き状態340にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の横向き構成616でタッチセンサ式ディスプレイ114を介してデータを表示する。第1または第2の横向き構成612、616のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。ツイスト及びタップジェスチャまたはフリップ及びスライドジェスチャの一方または両方をデバイス100に提供することによって、第1の横向き構成612と第2の横向き構成616との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の横向き構成612、616から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0108】
図6Fは、第3の横向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の横向き構成は、デュアル横向き(LD)出力構成と呼ばれる場合がある。LD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の横向き構成612でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の横向き構成616でデータを描写する。第1の横向き構成612と第2の横向き構成616の同時プレゼンテーションは、デバイス100が開横向き状態340にある場合に起こり得る。デバイス100がどの状態に移動されるかに応じて、構成612、616の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。
【0109】
図6G及び6Hは、さらに別の状態にあるデバイス100の2つの図を描写する。具体的には、デバイス100は、イーゼル状態312にあるものとして描写される。
図6Gは、第1のイーゼル出力構成618をタッチセンサ式ディスプレイ110に表示できることを示す。
図6Hは、第2のイーゼル出力構成620をタッチセンサ式ディスプレイ114に表示できることを示す。デバイス100は、第1のイーゼル出力構成618または第2のイーゼル出力構成620のいずれかを個別に描写するよう構成することができる。あるいは、イーゼル出力構成618、620の両方を同時に提示することができる。いくつかの実施形態では、イーゼル出力構成618、620は、横向き出力構成612、616と同様でも同一でもよい。また、デバイス100は、変形イーゼル状態316にある間、イーゼル出力構成618、620の一方または両方を表示するよう構成することができる。イーゼル出力構成618、620の同時利用は、2人用のゲーム(例えば、バトルシップ(Battleship)(登録商標)、チェス、チェッカなど)、2人以上のユーザが同じデバイス100及び他のアプリケーションを共有する複数ユーザ会議を容易にできることを理解されたい。理解できるように、デバイス100がどの状態に移動されるかに応じて、構成618、620の一方または両方のディスプレイから本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0110】
図6Iは、デバイス100が開縦向き状態320にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で縦向きマックス(PMax)構成624と呼ばれる縦向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Pmax構成624は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Pmax構成624から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0111】
図6Jは、デバイス100が開横向き状態348にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で横向きマックス(LMax)構成628と呼ばれる横向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Lmax構成628は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Lmax構成628から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0112】
表示制御:
図7A乃至
図7Cには、実施形態に従う閉縦向き状態304のデバイスの模式的描写が描かれており、ここで、第1の縦向き構成604の一次画面104は実線で囲まれている一方で、二次画面108は第2の縦向き構成608であるが見えず(非可視ともいう)、よって、囲み破線で示されている。一次画面104または二次画面108では見えない他のページ704、708、712、716は囲み破線で図示されている。
【0113】
一実施形態のデバイス100の場合、MDMクラス524は、複数のアプリケーション、複数のデスクトップ、及び/または他の表示可能情報をウィンドウ管理クラス532を介して別々のページ704、708、712、716に配置し、これらのページ704、708、712、716を複数の仮想「スタック」へと編成する。これらのページスタックは、ユーザが仮想ゲームでトランプの山を操作するときのように、ユーザによってまたはMDMクラス524からの出力によって、生成、削除、シャッフル、及び/または移動され得る。
図7A乃至
図7Cでは、仮想スタックの編成をいっそう視覚的に見せるために、別々のページ704、708、712、716のスタックが一次画面104の左側と二次画面108の右側において外向きに直線的に広がるように示されている。一次画面104または二次画面108からの任意のページの位置は、デバイス100に記憶された対応するスタック内における該当ページの位置である。従って、ページが一次画面104のすぐ隣にまたは二次画面108のすぐ隣に示されている場合、そのページは、ユーザ入力ジェスチャで当該隣の画面に移動し得る、当該スタックの第1ページである。
図7A乃至
図7Cには一スタックの僅かなページのみが示されているが、そのスタックの編成に用いるページの数は変更可能であり、いくつかの実施形態では、アプリケーションの数、デスクトップの数、及び/またはデバイス100上に生成された他の表示可能情報の数と同じであり得る。さらに、一次画面104の隣のスタック及び二次画面108の隣のスタックは、統合スタック(そこでは一スタックからページを移動あるいは操作すると、両スタックのページが移動あるいは操作される)として動作するか、または、個別スタック(そこでは各スタックがそれ自体独立でナビゲート可能なベージスタックを有する)として動作し得る。
【0114】
本開示の一実施形態では、本開示のスタックのコンセプトは、デバイス100で利用され得るデスクトップに対しても適用可能である。すなわち、デスクトップ仮想スタックはデバイス100に表示され得る複数のデスクトップに利用されてもよく、また、アプリケーション仮想スタックはデバイス100に表示され得る複数のアプリケーションに利用されてもよい。例えば、一デスクトップが開かれたとき、そのデスクトップはデバイス100の複数画面に表示するための複数のページに分割されることがある。これらのページは、それ自身のデスクトップ仮想スタック内か、またはアプリケーション仮想スタック及び/または他の仮想スタックから分離した複数のスタック内で操作され得る。こうしたスタックの分離は、画面104、108に表示されるデータとは独立した直感的インタフェースを生成することによって、異なるアプリケーションまたはデスクトップをナビゲートする際により高いユーザフレキシビリティをもたらす。しかしながら、これらのスタックは単一仮想スタックを形成するように組合されてもよい。
【0115】
図7Aは、4つの別々のアプリケーションを実行しているデバイス100の模式的描写を示す。デバイス100は閉縦向き状態304で示されている。この実施形態では、一次画面104のみが実行中のアプリケーションを見えるように表示している。例えば、非可視二次画面108、第1スタック第1ページ704、及び第2スタック第1ページ712は、異なるアプリケーション(例えば、第2アプリケーション、第3アプリケーション、第4アプリケーション)を実行している。
【0116】
図7Bは、デスクトップ前面表示化拡張が起動した本デバイス100の一実施形態を示す。デバイス100は閉縦向き状態304で示されている。デスクトップ前面表示化拡張は、起動コマンドとしてMDMクラス524が登録及び解釈する、(1)ユーザ入力ジェスチャ、(2)ユーザ入力ジェスチャの組合せ、(3)メモリ出力、(4)所定の条件に対する応答(アプリケーション制御、電力レベル、通信中断、オペレーションシステムの状態、デバイス画面状態開/閉、タイマ、単一のまたは複数のセンサ出力等)、または(5)それらの任意の組合せによって起動され得る。
図7Bに示すように、デスクトップ前面表示化拡張が起動すると、MDMクラス524及びウィンドウ管理クラス532は、一次画面104上で実行中のアプリケーションを(一次画面104の左手側に示されている)第1スタック第1ページ704に移動させるとともに二次画面108上で実行中のアプリケーションを、(二次画面108の右手側に示されている)第2スタック第1ページ712に移動させる。このとき、第1スタック第1ページ704及び第2スタック第1ページ712で実行されていたアプリケーションは、第1スタック第2ページ708及び第2スタック第2ページ716へとそれぞれ移動する。デスクトップの第1ページは一次画面104上に見えるようになるとともに、非可視の二次画面108ではデスクトップの第2ページが実行中となる。デバイス100が閉じられると、MDMクラス524は二次画面108の表示状態を解釈し、もし二次画面108が「オフ」状態(そこでは画面が情報を積極的に表示していない)ならば、MDMクラス524はウィンドウ管理クラス532を介してその表示の仮想表現を生成することとなる。
【0117】
一スタック内の複数ページを開いた実施形態では、デスクトップ前面表示化拡張の起動は、各ページを一次及び二次画面104、108から遠ざかった位置に移動させる。本開示の少なくともひとつの実施形態では、第1スタック中の複数ページ及び第2スタック中の複数ページは、それらのページが仮想的に連結されているかのように、共に移動することができる。従って、一スタック内の一ページを単一位置だけ移動させると、それに対応して、そのスタック内の全ページが一位置だけ移動する。このコンセプトは、仮想デスクトップスタックのページについても適用することができる。
【0118】
図7Cは、閉縦向き状態304の本デバイス100の一実施形態を示す。デスクトップ前面表示化拡張は既に起動しており、一次画面104に第2デスクトップページを表示するようにデスクトップは指標付けされている。第2デスクトップが一次画面104に指標付けされたとき、MDMクラス524及びウィンドウ管理クラス532によって第3デスクトップは非可視の二次画面108に指標付けされる。デスクトップ前面表示化拡張の起動中に、ユーザがジェスチャ720を入力してデスクトップページを一次画面104に移動させることにより、ユーザはデスクトップページ間を行き来することができる。この入力は、本開示で説明するような装置100の一または複数のハードウェアコンポーネントによって検出され得る。
【0119】
図8Aは、4つの別々の単一画面アプリケーションを実行している開縦向き状態320のデバイス100の模式的描写を示す。この実施形態では、一次画面104及び二次画面108の両方が実行中のアプリケーションを見えるように表示している。2つのページはみえないが異なるアプリケーションを実行している。例えば、第1スタック第1ページ704及び第2スタック第1ページ712は、異なるアプリケーション(例えば、第2アプリケーション及び第3アプリケーション)を実行している。
【0120】
図8Bは、デスクトップ前面表示化拡張が起動した本デバイス100の一実施形態を示す。デバイス100は開縦向き状態320で示されている。デスクトップ前面表示化拡張は、起動コマンドとしてMDMクラス524が登録及び解釈する、(1)ユーザ入力ジェスチャ、(2)ユーザ入力ジェスチャの組合せ、(3)メモリ出力、(4)所定の条件に対する応答(アプリケーション制御、電力レベル、通信中断、オペレーションシステムの状態、デバイス画面状態開/閉、タイマ、単一のまたは複数のセンサ出力等)、または(5)それらの任意の組合せによって起動され得る。
図8Bに示すように、デスクトップ前面表示化拡張が起動すると、MDMクラス524及びウィンドウ管理クラス532は、一次画面104上で実行中のアプリケーションを(一次画面の左手側に示されている)第1スタック第1ページ704に移動させるとともに二次画面108上で実行中のアプリケーションを、(二次画面の右手側に示されている)第2スタック第1ページ712に移動させる。このとき、第1スタック第1ページ704及び第2スタック第1ページ712で実行されていたアプリケーションは、第1スタック第2ページ708及び第2スタック第2ページ716へとそれぞれ移動する。デスクトップの第1ページは一次画面104上に見えるようになるとともに、デスクトップの第2ページは二次画面108上に見えるようになる。本開示の少なくともひとつの実施形態では、左側のスタック中の複数ページ及び右側のスタック中の複数ページは、スタック内のページが仮想的に連結されているかのように、共に移動することができる。従って、一スタック内の一ページを単一位置だけ移動させると、それに対応して、そのスタック内の全ページが一位置だけ移動する。
【0121】
図8Cは、開縦向き状態320の本デバイス100の一実施形態を示す。デスクトップ前面表示化拡張は既に起動しており、一次画面104に第2デスクトップページを表示し、二次画面108に第3デスクトップを表示するようにデスクトップは指標付けされている。デスクトップ前面表示化拡張の起動中に、ユーザがジェスチャ720を入力してデスクトップページを一次画面104及び/または二次画面108に移動させることにより、ユーザはデスクトップページ間を行き来することができる。この入力は、本開示で説明するような装置100の一または複数のハードウェアコンポーネントによって検出され得る。本開示の一実施形態では、複数デスクトップは、ユーザにナビゲートされたときに共に移動することができる。こうしたデスクトップの連結式移動は、本開示で説明するようなスタック内の複数ページが共に移動する実施形態と同様である。
【0122】
図9を参照すると、本開示の少なくともいくつかの実施形態に従うデスクトップ前面表示化拡張方法900が示されている。この方法はステップ904で開始される。例えば、デバイス100は、開または閉の縦向き状態304、320の一または複数の画面104、108でアプリケーションを最初に実行していてもよい。この方法は、デバイス100がユーザからのデスクトップ前面表示化入力を検出すると(ステップ908)続行する。いくつかの実施形態では、この入力はMDMクラス524に登録される。
【0123】
次に、MDMクラス524は、一次画面104、二次画面108、第1スタック及び第2スタック上で開かれているか実行中のアプリケーションを検出することになる。検出されたら、MDMクラス524及びウィンドウ管理クラス532は、全てのアプリケーションページを一次及び二次画面104、108の隣のそれらの初期位置から遠くへ一位置移動させる(ステップ916)。例えば、第1スタックは一次画面104の左に移動され、第2スタックは二次画面108の右に移動される。
【0124】
ウィンドウ管理クラス532がアプリケーションページを移動した後あるいは移動中に、当該方法は、MDMクラス524及びウィンドウ管理クラス532が一次画面104に第1デスクトップを表示し、二次画面108に第2デスクトップを表示することを続行する(ステップ920)。デバイス100が閉じられ、かつ、少なくとも1つのディスプレイが消されると、デスクトップはオンしている画面にのみ表示される。
【0125】
デスクトップが前面表示化されると、MDMクラス524は、ユーザジェスチャ入力を検出する(ステップ924)。並び順で隣のデスクトップを表示するのか(ステップ928)、利用可能デスクトップ範囲の終端を指定するのか(ステップ932)、またはデスクトップ前面化を不活性化するとともに、本プロセスの早期段階(ステップ912)で検出された以前に開いていたアプリケーションをそれらの元のページに戻すのか(ステップ936)は、ユーザジェスチャ入力によって決まる。
【0126】
図10を参照すると、本開示の少なくともいくつかの実施形態に従うデスクトップ前面表示化拡張方法1000が示されている。この方法はステップ1004で開始される。例えば、この方法は、デスクトップが前面表示化された状態でデバイス100がすでに動作していると開始する。この方法は、デバイス100がユーザジェスチャ入力を検出すると(ステップ1008)続行する。ユーザから供給された入力をMDMクラス524が判定しそして登録する。こうすることでユーザが複数デスクトップページを行き来したりあるいはデスクトップ前面表示化拡張を中止することができるようになる。
【0127】
一次画面104に表示されるデスクトップ数をMDMクラス524が判断した後あるいは判断している間に、MDMクラス524は、その表示デスクトップが、最初のデスクトップか、最後のデスクトップか、または最初のデスクトップと最後のデスクトップとの間のデスクトップなのかを判断することになる(ステップ1016、1028、1040)。
【0128】
最初のデスクトップが表示されていれば1016、MDMクラス524は先に登録したジェスチャ入力を解釈し並び順で次のデスクトップを表示するか1020、あるいは、このデスクトップが範囲の終端であることをユーザに知らせる1024。最後のデスクトップが表示されていれば1028、MDMクラス524は先に登録したジェスチャ入力を解釈し、このデスクトップが範囲の終端であることをユーザに知らせるか1032、あるいは、並び順で前のデスクトップを表示する1036。最初のデスクトップでも最後のデスクトップでもないデスクトップが表示されていれば、MDMクラス524は先に登録したジェスチャ入力を解釈し、並び順で次のデスクトップを表示するか1044、あるいは、並び順で前のデスクトップを表示する1048。
【0129】
MDMクラス524が先に登録したジェスチャ入力を解釈して適切な応答を表示した後、MDMクラス524は、本方法が終了するまで(ステップ936)、ユーザジェスチャ入力の判断に戻る(ステップ1008)。
【0130】
複数画面装置の表示制御との関連で、本開示の例示的なシステム及び方法について説明してきた。しかし、本開示を不必要に曖昧にすることを避けるため、前の記述では多くの公知の構造及びデバイスを省略する。この省略は、特許請求の範囲を限定するものと解釈してはならない。具体的な詳細は、本開示の理解を与えるために記載する。しかし、本開示は、本明細書に記載される具体的な詳細の域を超えるさまざまな方法で実施できることを理解されたい。
【0131】
さらに、本明細書に示される例示的な態様、実施形態及び/または構成は、並置されるシステムのさまざまなコンポーネントを示すが、システムのあるコンポーネントは、LAN及び/またはインターネットなどの分散型ネットワークの遠方部に、または、専用システム内で遠隔設置することができる。したがって、システムのコンポーネントを、パーソナルコンピュータ(PC)、ラップトップ、ネットブック、パーソナルデジタルアシスタント(PDA)、タブレット等の、タ1つまたは複数のデバイスに組み合わせることも、アナログ及び/もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または、回路交換ネットワークなどの分散型ネットワークの特定のノード上に並置することもできることを理解されたい。前の記述から、演算効率のため、システムのコンポーネントは、システムのオペレーションに影響を及ぼすことなく、コンポーネントの分散型ネットワーク内のいずれの位置にも配置できることが理解されよう。例えば、さまざまなコンポーネントは、PBX及びメディアサーバ、ゲートウェイなどのスイッチに、1つもしくは複数の通信デバイスに、1つもしくは複数のユーザの構内で、または、それらのいくつかの組合せで配置することができる。同様に、システムの1つまたは複数の機能部分は、電気通信デバイスと関連コンピューティングデバイスとの間で分散させることが可能である。
【0132】
その上、要素を接続するさまざまなリンクは、有線リンクでも無線リンクでも、その任意の組合せでも、接続された要素への及び接続された要素からのデータの供給及び/または通信が可能な他の任意の公知のまたは後に開発された要素でもあり得ることを理解されたい。これらの有線または無線リンクは、保護されたリンクでもあり得、暗号化された情報を通信できる場合もある。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線及び光ファイバを含む任意の適切な電気信号のキャリアであり得、電波及び赤外線データ通信中に生成されるものなどの音波または光波の形をとることができる。
【0133】
また、イベントの特定のシーケンスとの関連でフローチャートについて論じ示してきたが、開示される実施形態、構成及び態様のオペレーションに実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加及び省略が起こり得ることを理解されたい。
【0134】
本開示の多くの変更及び変形を行い得る。本開示のいくつかの特徴を備えるが残りの特徴を備えなくてもよい。
いくつかの実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラ及び周辺集積回路素子、ASICもしくは他の集積回路、デジタル信号プロセッサ、個別素子回路などの配線電子もしくは論理回路、PLD、PLA、FPGA、PALなどのプログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、任意の同等な手段、または、同様のものと併せて実施することができる。一般に、本明細書に示される方法論の実施が可能な任意のデバイスまたは手段を使用して、本開示のさまざまな態様を実施することができる。開示される実施形態、構成及び態様に使用できる例示的なハードウェアは、コンピュータ、携帯用デバイス、電話(例えば、携帯電話、インターネット可能な、デジタル、アナログ、ハイブリッド及び他のもの)、及び、当技術分野で知られている他のハードウェアを含む。これらのデバイスのいくつかは、プロセッサ(例えば、単一または複数のマイクロプロセッサ)、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。その上、これらに限定されないが、分散処理もしくはコンポーネント/オブジェクト分散処理、並列処理、または、仮想マシン処理を含む代替のソフトウェア実装形態は、本明細書に記載される方法を実施するよう構築することもできる。
【0135】
さらなる別の実施形態では、開示される方法は、さまざまなコンピュータまたはワークステーションプラットフォームで使用することができるポータブルソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用するソフトウェアと併せて容易に実施することができる。あるいは、開示されるシステムは、標準論理回路またはVLSI設計を使用してハードウェアで部分的または完全に実装することができる。本開示に従ってシステムの実装にソフトウェアまたはハードウェアを使用するかどうかは、システムの速度及び/または効率要件、特定の機能、ならびに、利用する特定のソフトウェアまたはハードウェアシステムまたはマイクロプロセッサまたはマイクロコンピュータシステムに依存する。
【0136】
さらなる別の実施形態では、開示される方法は、記憶媒体に格納することができ、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ及び同様のもの上で実行されるソフトウェアで部分的に実施することができる。これらの例では、本開示のシステム及び方法は、アプレット、ジャバ(JAVA)(登録商標)またはCGIスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバまたはコンピュータワークステーション上に常駐するリソースとして、専用測定システム、システムコンポーネントまたは同様のものに組み込まれたルーチンとして実施することができる。また、システムは、ソフトウェア及び/またはハードウェアシステムにシステム及び/または方法を物理的に組み込むことによっても実装することができる。
【0137】
本開示は、特定の規格及びプロトコルを参照して、態様、実施形態及び/または構成で実装されるコンポーネント及び機能について説明するが、態様、実施形態及び/または構成は、そのような規格及びプロトコルに制限されない。本明細書で言及されない他の同様の規格及びプロトコルも存在し、本開示に含まれるものと考えられる。その上、本明細書で言及される規格及びプロトコルならびに本明細書で言及されない他の同様の規格及びプロトコルは、本質的に同じ機能を有するより速いまたはより効果的な均等物に定期的に取って代わられる。同じ機能を有するそのような置換規格及びプロトコルは、本開示に含まれる均等物と考えられる。
【0138】
さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び記載されるように実質的にコンポーネント、方法、プロセス、システム及び/または装置を含み、さまざまな態様、実施形態、構成実施形態、サブコンビネーション及び/またはそのサブセットを含む。当業者であれば、本開示を理解した後で、開示される態様、実施形態及び/または構成をどのように作成し使用するか理解されよう。さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び/または記載されていないアイテムなしで、または、本明細書のさまざまな態様、実施形態及び/または構成で、デバイス及びプロセスを提供することを含み、例えば、性能を向上させ、容易に実装を実現し、及び/または、実装コストを削減するために、前のデバイスまたはプロセスで使用された可能性があるようなアイテムがない場合も含む。
【0139】
前述の論考は、例示と説明を目的として提示してきた。前述は、本明細書に開示される1つまたは複数の形態に本開示を制限することを意図しない。前述の発明を実施するための形態では、例えば、本開示を合理化する目的で、1つまたは複数の態様、実施形態及び/または構成で、本開示のさまざまな特徴が一緒に分類される。本開示の態様、実施形態及び/または構成の特徴は、上記で論じられたもの以外の代替の態様、実施形態及び/または構成で組み合わせることができる。本開示のこの方法は、請求項が各請求項に明確に列挙されているものより多くの特徴を要求するという意図を反映するものとして解釈してはならない。むしろ、以下の請求項が反映するように、発明の態様は、単一の前述の開示される態様、実施形態及び/または構成のすべての特徴よりも少ないことにある。したがって、以下の請求項は、本明細書によって、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別々の好ましい実施形態としてそれ自体を主張する。
【0140】
その上、説明には1つまたは複数の態様、実施形態及び/または構成の説明、ならびに、ある変形形態及び変更形態が含まれるが、例えば、本開示を理解した後で、当業者の技能及び知識の範囲内となり得るように、他の変形形態、組合せ及び変更形態は本開示の範囲内である。許可される範囲の代替の態様、実施形態及び/または構成を含む権利を得ることを意図し、そのような代替の、交換可能な及び/または均等な構造、機能、範囲または工程が本明細書で開示されるか否かにかかわらず、いかなる特許可能な対象物も公的に献納することを意図することなく、特許請求されたものに対する代替の、交換可能な及び/または均等な構造、機能、範囲または工程を含む。