(58)【調査した分野】(Int.Cl.,DB名)
ドッキングインタフェースをさらに備え、前記ドッキングインタフェースは、前記デバイスを受け、前記スマートパッドと前記デバイスとの間に電気通信を提供するように構成されている、請求項1に記載のスマートパッド。
前記デバイスが、前記スマートパッドにドッキングされると、前記デバイスに表示された1つまたは複数のアプリケーションは、前記スマートパッドで表示されるように方向付けられる、請求項1に記載のスマートパッド。
カメラ、ビデオカメラ、マイクロホン、電力ボタン、ホームボタン、スピーカ、ACアダプタジャック、及びヘッドホンジャックのうちの1つまたは複数をさらに備える、請求項1に記載のスマートパッド。
前記スマートパッドのドッキングインタフェースにおいて、前記デバイスを受けることをさらに含み、前記ドッキングインタフェースは、前記デバイスを受け、前記スマートパッドと前記デバイスとの間に電気通信を提供するように構成されている、請求項12に記載の方法。
【発明を実施するための形態】
【0034】
付属の図面では、同様のコンポーネント及び/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプのさまざまなコンポーネントは、同様のコンポーネントの中で区別する文字で参照ラベルをたどることによって、区別することができる。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントのいずれか1つに適用可能である。
【0035】
本明細書で提示するものは、デバイスの実施形態である。デバイスは、携帯電話または他のスマートデバイスなど通信デバイスであり得る。デバイスは、いくつかのユニークなディスプレイ構成を提供するように方向付けられた2つの画面を含み得る。さらに、デバイスは、ユニークな方法でユーザ入力を受信することができる。デバイスの総合的な設計及び機能性は、デバイスをより有用に及びより効果的にするユーザ経験を高めることを実現する。
機械的な特徴:
図1A〜1Jは、本開示の実施形態によるデバイス100を示す。以下でさらに詳細に説明されるように、デバイス100は、多くの異なる方法で配置することができ、そのそれぞれが異なる機能性をユーザに提供する。デバイス100は、その両方がタッチセンサ式の一次画面104と二次画面108とを含む複数画面デバイスである。実施形態では、画面104及び108の前面全体は、タッチセンサ式であり得、ユーザが画面104及び108の前面に触れることによって入力を受信することができる。一次画面104は、タッチセンサ式ディスプレイ110を含み、タッチセンサ式ディスプレイ110は、タッチセンサ式であることに加えて、ユーザに情報を表示することも行う。二次画面108は、タッチセンサ式ディスプレイ114を含み、タッチセンサ式ディスプレイ114もまたユーザに情報を表示する。他の実施形態では、画面104及び108は、2つ以上のディスプレイエリアを含み得る。
【0036】
また、一次画面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上に表示される情報に応じて特定の入力用に構成することができる。
【0037】
タッチセンサ式に加えて、一次画面104及び二次画面108は、ユーザが画面のディスプレイエリアに触れる必要なく、ユーザから入力を受信するエリアも含む。例えば、一次画面104は、ジェスチャ捕捉エリア120を含み、二次画面108は、ジェスチャ捕捉エリア124を含む。これらのエリアは、例えば、ユーザが実際にディスプレイエリアの表面に触れる必要なく、ユーザによって行われたジェスチャを認識することにより、入力を受信することができる。タッチセンサ式ディスプレイ110及び114と比較すると、ジェスチャ捕捉エリア120及び124は、一般には、表示画像をレンダリングすることはできない。
【0038】
2つの画面104及び108は、ヒンジ128で接続され、ヒンジ128は、
図1C(デバイス100の背面図を示す)で明確に示される。
図1A〜1Jに示される実施形態では、ヒンジ128は、画面104と108とを接続する中央のヒンジであり、その結果、ヒンジを閉じると、画面104と108は、
図1B(デバイス100の正面図を示す)に示されるように並置される(すなわち、隣り合わせになる)。ヒンジ128を開いて、2つの画面104及び108を相対的に互いに異なる配置にすることができる。以下でさらに詳細に説明するように、デバイス100は、画面104及び108の相対位置に応じて異なる機能性を有し得る。
【0039】
図1Dは、デバイス100の右側を示す。
図1Dに示されるように、二次画面108は、その側面にカードスロット132とポート136も含む。実施形態では、カードスロット132は、加入者識別モジュール(SIM)を含む異なるタイプのカードを収容する。実施形態では、ポート136は、ディスプレイ、キーボードまたは印刷デバイスなどの他の周辺デバイスにデバイス100を接続することを可能にする入力/出力ポート(I/Oポート)である。理解できるように、これらは単なる例示の一部であり、他の実施形態では、デバイス100は、追加のメモリデバイスを収容するための及び/または他の周辺デバイスを接続するためのスロット及びポートなどの他のスロット及びポートを含み得る。また、
図1Dには、例えば、ユーザのヘッドホンまたはヘッドセットの利用を可能にするチップ、リング、スリーブ(TRS)コネクタを収容する音声ジャック140も示されている。
【0040】
また、デバイス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に焦点が合わせられているアプリケーションに特有である。例えば、通話アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、通話終了、通話音量の増加、通話音量の減少、マイクロホンのミュートの切り替えを意味し得る。例えば、カメラまたは映像アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、ズーム拡大、ズーム縮小、写真撮影または映像記録を意味し得る。
【0041】
また、デバイス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に関連して、以下で説明する。
【0042】
デバイス100の総合的な設計は、他の通信デバイスで利用不可能な追加の機能性の提供を可能にする。機能性のいくつかは、デバイス100が有し得るさまざまな位置及び向きに基づく。
図1B〜1Gに示されるように、デバイス100は、画面104と108が並置される「開」位置で操作することができる。この位置により、ユーザに情報を表示するための大きなディスプレイエリアが可能になる。デバイス100が開位置にあると位置センサ172a及び172bが決定すると、位置センサ172a及び172bは、両方の画面104及び108上での情報の表示などの異なるイベントのトリガに使用することができる信号を生成することができる。追加のイベントは、デバイス100が横向き位置(図示せず)と対向する縦向き位置(
図1B)にあると加速度計176が決定した場合にトリガすることができる。
【0043】
開位置に加えて、デバイス100は、
図1Hに示されるような「閉」位置も有し得る。この場合もやはり、位置センサ172a及び172bは、デバイス100が「閉」位置にあることを示す信号を生成することができる。これにより、画面104及び/または108上に表示された情報の変化をもたらすイベントをトリガすることができる。例えば、デバイス100が「閉」位置にある場合、ユーザは1つの画面しか閲覧できないため、デバイス100は、画面のうちの1つ、例えば、画面108上での情報の表示を停止するようにプログラムすることができる。他の実施形態では、デバイス100が「閉」位置にあることを示す、位置センサ172a及び172bによって生成された信号は、電話の発呼に応答するようにデバイス100をトリガすることができる。「閉」位置は、携帯電話としてデバイス100を利用する場合にも好ましい位置であり得る。
【0044】
デバイス100は、
図1Iに示されるような「イーゼル」位置でも使用することができる。「イーゼル」位置では、画面104及び108は、互いに角度をなして外側を向いた状態であり、画面104及び108の縁は実質的に水平である。この位置では、デバイス100は、両方の画面104及び108上で情報を表示するよう構成することができ、二人のユーザが同時にデバイス100と情報のやり取りを行うことを可能にする。デバイス100が「イーゼル」位置にある場合、センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成することができ、加速度計176は、画面104及び108の縁が実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することができる。次いで、信号を組み合わせて使用し、画面104及び108上での情報の表示の変化をトリガするイベントを生成することができる。
【0045】
図1Jは、「変形イーゼル」位置のデバイス100を示す。「変形イーゼル」位置では、画面104または108のうちの1つは、スタンドとして使用され、テーブルなどの物体の表面上に下を向いた状態に置かれる。この位置は、横向きでユーザに情報を表示する便利な方法を提供する。イーゼル位置と同様に、デバイス100が「変形イーゼル」位置にある場合、位置センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成する。加速度計176は、画面104及び108のうちの1つが下を向いた状態で、実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することになる。次いで、信号を使用して、画面104及び108の情報の表示の変化をトリガするイベントを生成することができる。例えば、ユーザはその画面を見ることができないため、下向きの画面上には情報は表示されない可能性がある。
【0046】
また、移行状態も可能である。画面が閉じているまたは折り畳まれている(開位置から)ことを位置センサ172a及びb及び/または加速度計が示す場合は、閉への移行状態が認識される。逆に、画面が開いているまたは折り畳まれている(閉位置から)ことを位置センサ172a及びbが示す場合は、開への移行状態が認識される。閉及び開への移行状態は、通常、時間に基づくか、または感知された開始点からの最大持続時間を有する。通常、閉及び開状態のうちの1つが進行中のときは、ユーザ入力は不可能である。このように、閉または開動作中のユーザによる画面との偶発的な接触は、ユーザ入力として誤って解釈されることはない。実施形態では、デバイス100が閉じている場合は、別の移行状態が可能である。この追加の移行状態により、デバイス100が閉じている場合は、例えば、画面110、114上でのダブルタップなどの何らかのユーザ入力に基づいて、ある画面104から第2の画面108にディスプレイを切り替えることが可能になる。
【0047】
理解できるように、デバイス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は、表示機能または能力を実行することができる画素を含まない。
【0048】
タッチセンサ式画面104及び108の第3の領域は、構成可能なエリア112、116を含み得る。構成可能なエリア112、116は、入力を受信することができ、表示または制限された表示能力を有する。実施形態では、構成可能なエリア112、116は、異なる入力オプションをユーザに提示することができる。例えば、構成可能なエリア112、116は、ボタンまたは他の関連付けられるアイテムを表示することができる。その上、表示されたボタンのアイデンティティ、または、タッチセンサ式画面104もしくは108の構成可能なエリア112、116内に表示されているボタンがあるかどうかは、デバイス100が使用される及び/または操作されるコンテキストから決定することができる。例示的な実施形態では、タッチセンサ式画面104及び108は、ユーザに視覚出力を提供することができるタッチセンサ式画面104及び108の少なくともそれらの領域に広がる液晶ディスプレイデバイスと、ユーザから入力を受信することができるタッチセンサ式画面104及び108のそれらの領域にわたる容量性入力マトリックスとを含む。
【0049】
1つまたは複数のディスプレイコントローラ216a、216bは、入力(タッチセンサ式)及び出力(表示)機能を含むタッチセンサ式画面104及び108のオペレーションを制御するために設けることができる。
図2に示される例示的な実施形態では、別々のタッチスクリーンコントローラ216aまたは216bが各タッチスクリーン104及び108に設けられる。代替の実施形態によれば、共通のまたは共有されたタッチスクリーンコントローラ216を使用して、含まれるタッチセンサ式画面104及び108の各々を制御することができる。さらなる他の実施形態によれば、タッチスクリーンコントローラ216の機能は、プロセッサ204などの他のコンポーネントに組み込むことができる。
【0050】
プロセッサ204は、アプリケーションプログラミングまたは命令を実行するための汎用のプログラム可能プロセッサまたはコントローラを含み得る。少なくともいくつかの実施形態によれば、プロセッサ204は、複数のプロセッサコアを含む、及び/または、複数の仮想プロセッサを実装することができる。さらなる他の実施形態によれば、プロセッサ204は、複数の物理的プロセッサを含み得る。具体的な例として、プロセッサ204は、特別に構成された特定用途向け集積回路(ASIC)もしくは他の集積回路、デジタル信号プロセッサ、コントローラ、配線電子もしくは論理回路、プログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、または、同様のものを含み得る。プロセッサ204は、一般に、デバイス100のさまざまな機能を実装するプログラミングコードまたは命令を実行するように機能する。
【0051】
また、通信デバイス100は、プロセッサ204によるアプリケーションプログラミングまたは命令の実行に関連して使用するための、ならびに、プログラム命令及び/またはデータを一時的または長期に格納するための、メモリ208も含み得る。例として、メモリ208は、RAM、DRAM、SDRAMまたは他のソリッドステートメモリを含み得る。その代替としてまたはそれに加えて、データストレージ212を設けることができる。メモリ208と同様に、データストレージ212は、1つまたは複数のソリッドステートメモリデバイスを含み得る。その代替としてまたはそれに加えて、データストレージ212は、ハードディスクドライブまたは他のランダムアクセスメモリを含み得る。
【0052】
通信機能または能力をサポートする際、デバイス100は、携帯電話モジュール228を含み得る。例として、携帯電話モジュール228は、セルラネットワーク上で音声、マルチメディア及び/またはデータ転送をサポートすることができるGSM(登録商標)、CDMA、FDMA及び/またはアナログ携帯電話トランシーバを含み得る。その代替としてまたはそれに加えて、デバイス100は、追加のまたは他の無線通信モジュール232を含み得る。例として、他の無線通信モジュール232は、ワイファイ(Wi−Fi)、ブルートゥース(Bluetooth)(登録商標)、ワイマックス(WiMax)、赤外線または他の無線通信リンクを含み得る。携帯電話モジュール228及び他の無線通信モジュール232は、それぞれが、共有または専用アンテナ224と関連付けられることができる。
【0053】
ポートインタフェース252を含めることができる。ポートインタフェース252は、ドックなどの他のデバイスまたはコンポーネントとのデバイス100の相互接続をサポートする独自のまたはユニバーサルポートを含み得、他のデバイスまたはコンポーネントは、デバイス100に不可欠なものへの追加のまたはそれとは異なる能力を含んでも含まなくともよい。デバイス100と別のデバイスまたはコンポーネントとの間での通信信号の交換のサポートに加えて、ドッキングポート136及び/またはポートインタフェース252は、デバイス100へのまたはデバイス100からの電力の供給をサポートすることができる。また、ポートインタフェース252は、デバイス100と接続されたデバイスまたはコンポーネントとの間の通信または他の相互作用を制御するためのドッキングモジュールを含むインテリジェントな要素も含む。
【0054】
入力/出力モジュール248及び関連ポートを含めて、例えば、他の通信デバイス、サーバデバイス及び/または周辺デバイスとの有線ネットワークまたはリンク上での通信をサポートすることができる。入力/出力モジュール248の例としては、イーサネット(登録商標)ポート、ユニバーサルシリアルバス(USB)ポート、電気電子技術者協会(IEEE)1394または他のインタフェースが挙げられる。
【0055】
音声入力/出力インタフェース/デバイス244を含めて、相互接続されたスピーカまたは他のデバイスにアナログ音声を提供したり、接続されたマイクロホンまたは他のデバイスからアナログ音声入力を受信したりすることができる。一例として、音声入力/出力インタフェース/デバイス244は、関連アンプとアナログデジタル変換器とを含み得る。その代替としてまたはそれに加えて、デバイス100は、外部のスピーカまたはマイクロホンを相互接続するための統合音声入力/出力デバイス256及び/または音声ジャックを含み得る。例えば、統合スピーカ及び統合マイクロホンを提供し、近接通話またはスピーカフォンオペレーションをサポートすることができる。
【0056】
ハードウェアボタン158を含めて、例えば、ある制御動作に関連して使用することができる。例としては、
図1A〜1Jと併せて説明されるように、マスタ電源スイッチ、音量調節などが挙げられる。カメラなどの1つまたは複数の画像捕捉インタフェース/デバイス240を含めて、静止及び/またはビデオ画像を捕捉することができる。その代替としてまたはそれに加えて、画像捕捉インタフェース/デバイス240は、スキャナまたはコードリーダを含み得る。画像捕捉インタフェース/デバイス240は、フラッシュまたは他の光源などの追加の要素を含むか、または追加の要素と関連付けられることができる。
【0057】
また、デバイス100は、全地球側位システム(GPS)受信機236も含み得る。本発明の実施形態によれば、GPS受信機236は、デバイス100の他のコンポーネントに絶対位置情報を提供できるGPSモジュールをさらに含み得る。また、加速度計176も含めることができる。例えば、ユーザへの情報の表示及び/または他の機能に関連して、加速度計176からの信号を使用して、その情報をユーザに表示するための方向及び/または形式を決定することができる。
【0058】
また、本発明の実施形態は、1つまたは複数の位置センサ172を含み得る。位置センサ172は、互いに対するタッチセンサ式画面104及び108の位置を示す信号を提供することができる。例えば、ユーザインタフェースアプリケーションへの入力としてこの情報を提供し、動作モード、すなわち、タッチセンサ式ディスプレイ110、114及び/または他のデバイス100オペレーションの特性を決定することができる。例として、画面位置センサ172は、一連のホール効果センサ、複数の位置スイッチ、光スイッチ、ホイートストンブリッジ、電位差計、または、タッチスクリーンが置かれている複数の相対位置を示す信号を提供することができる他の構成を含み得る。
【0059】
デバイス100のさまざまなコンポーネント間の通信は、1つまたは複数のバス222によって行うことができる。それに加えて、電源及び/または電力制御モジュール260からデバイス100のコンポーネントに電力を供給することができる。電力制御モジュール260は、例えば、バッテリ、AC/DC変換器、電力制御ロジック及び/または外部の電源にデバイス100を相互接続するためのポートを含み得る。
デバイスの状態:
図3A及び3Bは、デバイス100の例示的な状態を表す。多くの例示的な状態が示され、第1の状態から第2の状態へ移行するが、例示的な状態を示す図は、すべての可能な状態及び/またはすべての可能な第1の状態から第2の状態への移行を包含するわけではないことを理解されたい。
図3で示されるように、状態間のさまざまな矢印(円で表された状態によって示される)は、デバイス100に起こる物理的変化を表す。物理的変化は、ハードウェア及びソフトウェアの1つまたは複数によって検出され、その検出により、ハードウェア及び/またはソフトウェアインタラプトの1つまたは複数がトリガされ、デバイス100の1つまたは複数の機能の制御及び/または管理に使用される。
【0060】
図3Aで示されるように、12の例示的な「物理的」状態があり、それらは、閉304、移行308(または開への移行状態)、イーゼル312、変形イーゼル316、開320、着信/発信通話または通信324、画像/映像捕捉328、移行332(または閉への移行状態)、横向き340、ドッキング336、ドッキング344及び横向き348である。各例示的な状態の隣にあるのは、デバイス100の物理的状態の表現であるが、状態324及び328は例外であり、状態324及び328では、一般に、状態は、電話用の国際的なアイコン及びカメラ用のアイコンによってそれぞれ象徴化される。
【0061】
状態304では、デバイスは閉状態であり、デバイス100は、一般に、一次画面104と二次画面108が異なる面で背中合わせの状態で、縦向き方向に方向付けられる(
図1Hを参照)。閉状態から、デバイス100は、例えば、ドッキング状態336または横向き状態340に入ることができ、ドッキング状態336では、デバイス100はドッキングステーションやドッキングケーブルと結合されるか、または、一般に1つもしくは複数の他のデバイスもしくは周辺機器とドッキングされるかもしくは関連付けられ、横向き状態340では、一次画面104はユーザに面し、一次画面104と二次画面108は背中合わせの状態でデバイス100が一般に方向付けされる。
【0062】
また、閉状態では、デバイスは、移行状態に移動することができ、移行状態では、デバイスは閉じたままであるが、ディスプレイは、例えば、画面110、114上でのダブルタップなどのユーザ入力に基づいて、ある画面104から別の画面108に移動する。さらに別の実施形態は、両面状態(bilateral state)を含む。両面状態では、デバイスは閉じたままであるが、単一のアプリケーションが少なくとも1つのウィンドウを第1のディスプレイ110と第2のディスプレイ114の両方に表示する。第1及び第2のディスプレイ110、114に示されるウィンドウは、アプリケーション及びそのアプリケーションの状態に基づいて、同じであっても異なっていてもよい。例えば、カメラで画像を取得する間、デバイスは、第1のディスプレイ110上でファインダを表示することができ、第2のディスプレイ114上で被写体のプレビュー(全画面及び左から右へミラーリング)を表示する。
【0063】
閉状態304から半開状態またはイーゼル状態312への移行状態である状態308では、デバイス100は、一次画面104及び二次画面108をヒンジと一致する軸のポイントの周りで回転させて開いた状態で示される。イーゼル状態312に入ると、一次画面104及び二次画面108は、例えば、デバイス100がイーゼル様構成で表面上に位置することができるように、互いに分離される。
【0064】
変形イーゼル位置として知られる状態316では、デバイス100は、互いにイーゼル状態312と同様の相対関係にある一次画面104及び二次画面108を有し、その違いは、示されるように、一次画面104または二次画面108のうちの1つが表面上に配置されることである。
【0065】
状態320は開状態であり、開状態では、一次画面104及び二次画面108は、一般に、同じ平面上にある。開状態から、デバイス100は、ドッキング状態344または開横向き状態348に移行することができる。開状態320では、一次画面104及び二次画面108は、一般に、縦向きのような状態にあるが、横向き状態348では、一次画面104及び二次画面108は、一般に、横向きのような状態にある。
【0066】
状態324は、デバイス100でそれぞれ着信通話を受けるまたは発信通話をかける場合などの通信状態の例示である。明確には示されていないが、デバイス100は、
図3に示されるいかなる状態からも着信/発信通話状態324へ移行できることを理解されたい。同様に、画像/映像捕捉状態328もまた、
図3に示される他のいかなる状態からも入ることができ、画像/映像捕捉状態328では、デバイス100は、映像捕捉デバイス240を備えたカメラ及び/またはビデオを介して、1つまたは複数の画像を撮影することができる。
【0067】
移行状態332は、一次画面104及び二次画面108が、例えば、閉状態304に入るために、互いに向かって閉じている状態を例示的に示す。
図3Bは、キーを参照して、第1の状態から第2の状態への移行を検出するために受信された入力を示す。
図3Bでは、状態のさまざまな組合せが示されており、一般に、列の一部は、縦向き状態352や横向き状態356を対象とし、行の一部は、縦向き状態360と横向き状態364を対象とする。
【0068】
図3Bでは、キーは、「H」が1つまたは複数のホール効果センサからの入力を表し、「A」が1つまたは複数の加速度計からの入力を表し、「T」がタイマからの入力を表し、「P」が通信トリガ入力を表し、「I」が画像及び/または映像捕捉要求入力を表すことを示す。したがって、表の中央部分376では、デバイス100がどのように第1の物理的な状態から第2の物理的な状態への移行を検出するかを表す入力または入力の組合せが示される。
【0069】
論じられるように、表の中央部分376では、受信した入力により、例えば、縦向き開状態から横向きイーゼル状態への移行(太字の「HAT」で示される)の検出が可能になる。この例示的な縦向き開状態から横向きイーゼル状態への移行の場合、ホール効果センサ(「H」)、加速度計(「A」)及びタイマ(「T」)入力が必要とされ得る。タイマ入力は、例えば、プロセッサに関連付けられた時計から得ることができる。
【0070】
縦向き及び横向き状態に加えて、ドッキング信号372の受信に基づいてトリガされるドッキング状態368も示される。上記で論じられるように、
図3に関連して、ドッキング信号は、デバイス100を、1つまたは複数の他のデバイス100、アクセサリ、周辺機器、スマートドックまたは同様のものと接続することによってトリガすることができる。
ユーザ相互作用:
図4A〜4Hは、画面104、108によって認識することができるジェスチャ入力のさまざまなグラフィカルな表現を描写する。ジェスチャは、指などのユーザの身体部分ばかりではなく、画面104、108の接触感知部分によって感知することができるスタイラスなどの他のデバイスによっても行うことができる。一般に、ジェスチャは、どこでジェスチャが行われるか(ディスプレイ110、114上に直接またはジェスチャ捕捉領域120、124のいずれか)に基づいて、異なって解釈される。例えば、ディスプレイ110、114内のジェスチャは、デスクトップまたはアプリケーションを対象とし、ジェスチャ捕捉領域120、124内のジェスチャは、システム用として解釈され得る。
【0071】
図4A〜4Hを参照すると、ジェスチャの第1のタイプ(タッチジェスチャ420)は、選択された時間長の間、画面104、108上に実質的に静止する。円428は、画面の接触感知部分の特定の位置で受信されたタッチまたは他の接触タイプを表す。円428は、境界432を含み得、その厚さは、接触位置において実質的に静止した状態で接触が保持された時間長を示す。例えば、タップ420(または短時間のプレス)は、長時間のプレス424に対する(または通常のプレスに対する)境界432bより薄い境界432aを有する。長時間のプレス424は、タップ420より長い時間の間、画面上に実質的に静止した状態のままの接触を伴う可能性がある。理解されるように、異なって定義されたジェスチャは、接触停止前または画面上での移動前のタッチが静止した状態のままの時間長に応じて登録することができる。
【0072】
図4Cを参照すると、画面104、108上でのドラッグジェスチャ400は、最初の接触(円428によって表される)に、選択された方向への接触移動436が伴う。最初の接触428は、境界432によって表される特定の時間量の間、画面104、108上で静止した状態のままであり得る。ドラッグジェスチャは、通常、ユーザが第1の位置でアイコン、ウィンドウまたは他の表示画像に接触し、その後、選択された表示画像に対して所望の新しい第2の位置に向かうドラッグ方向に接触を移動させる必要がある。接触移動は、直線である必要はないが、接触が第1から第2の位置に実質的に連続したものである限り、いかなる経路の移動もあり得る。
【0073】
図4Dを参照すると、画面104、108上でのフリックジェスチャ404は、最初の接触(円428によって表される)に、選択された方向への短縮された接触移動436(ドラッグジェスチャと比較して)が伴う。実施形態では、フリックは、ドラッグジェスチャと比較して、ジェスチャの最後の動きに対してより高い退出速度を有する。フリックジェスチャは、例えば、最初の接触に続く指スナップであり得る。ドラッグジェスチャと比較すると、フリックジェスチャは、一般に、表示画像の第1の位置から既定の第2の位置まで、画面104、108との連続的な接触を必要としない。接触した表示画像は、フリックジェスチャによって、既定の第2の位置に向かうフリックジェスチャ方向に移動される。両方のジェスチャは、一般に、第1の位置から第2の位置に表示画像を移動させることができるが、画面上での接触の持続時間及び移動距離は、一般に、ドラッグジェスチャよりもフリックジェスチャの方が短い。
【0074】
図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に触れることによって実現することができる。
【0075】
図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に触れることによって実現することができる。
【0076】
上記のジェスチャは、
図4G及び4Hによって示されるものなど、任意の方法で組み合わせて、決定された機能的な結果を生成することができる。例えば、
図4Gでは、タップジェスチャ420と、タップジェスチャ420から遠ざかる方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
図4Hでは、タップジェスチャ420と、タップジェスチャ420に向かう方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
【0077】
ジェスチャを受信するという機能的な結果は、デバイス100、ディスプレイ110、114もしくは画面104、108の状態、ジェスチャに関連付けられたコンテキスト、または、ジェスチャの感知位置を含む多くの要因に応じて異なり得る。デバイスの状態は、一般に、デバイス100の構成、ディスプレイ方向ならびにデバイス100で受信されるユーザ及び他の入力のうちの1つまたは複数を指す。コンテキストは、一般に、アプリケーションが単一画面アプリケーションであろうが、複数画面アプリケーションであろうが、及び、アプリケーションが1つまたは複数の画面に1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、1つまたは複数のスタックに1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、ジェスチャによって選択された特定のアプリケーション及び現時点で実行しているアプリケーションの部分のうちの1つまたは複数を指す。ジェスチャの感知位置は、一般に、感知されたジェスチャ位置座標セットが、タッチセンサ式ディスプレイ110、114上にあるかまたはジェスチャ捕捉領域120、124にあるか、感知されたジェスチャ位置座標セットが、共通のディスプレイもしくは画面104、108に関連付けられているか、または異なるディスプレイもしくは画面104、108に関連付けられているか、及び/または、ジェスチャ捕捉領域のどの部分が感知されたジェスチャ位置座標セットを含むかを指す。
【0078】
タップは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、対応するアプリケーションの実行の開始または終了、ウィンドウの最大化または最小化、スタック内でのウィンドウの並べ換え、及び、キーボード表示または他の表示画像などによるユーザ入力の提供のためにアイコンを選択する際に使用することができる。ドラッグは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、ディスプレイ内の所望の位置へアイコンもしくはウィンドウを移動する、ディスプレイ上でスタックを並べ換える、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。フリックは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、例えば、第1のディスプレイから第2のディスプレイへウィンドウを移動する、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。しかし、ドラッグジェスチャとは異なり、フリックジェスチャは、一般に、特定のユーザ選択位置へ表示画像を移動する際には使用されないが、ユーザによる構成が不可能なデフォルト位置へ表示画像を移動する際には使用される。
【0079】
ピンチジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最小化もしくは増加する(通常、共通のディスプレイで全体を受信する場合)、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(スタックにウィンドウを表示する「ポップアップウィンドウ」)際に使用することができる。スプレッドジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最大化もしくは減少する、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(同じまたは異なる画面上の画面外ジェスチャ捕捉領域で受信する場合)際に使用することができる。
【0080】
図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を含み得る。OS 516は、以前に
図2と併せて説明された、フレームワーク520、1つもしくは複数のフレームバッファ548、1つもしくは複数のドライバ512及び/またはカーネル518を含み得る。OS 516は、プログラム及びデータからなる任意のソフトウェアであり得、プログラム及びデータは、コンピュータハードウェアリソースを管理し、さまざまなアプリケーション564の実行のための共通のサービスを提供する。OS 516は、任意のオペレーティングシステムであり得、少なくともいくつかの実施形態では、これらに限定されないが、リナックス(Linux)(登録商標)、アンドロイド(Android)(登録商標)、アイフォンOS(iPhone OS)(iOS(登録商標))、ウィンドウズフォン7(Windows Phone 7)(登録商標)などを含むモバイルデバイス専用である。OS 516は、本明細書に記載されるように、1つまたは複数のオペレーションを実行することによって、電話に機能性を提供するよう動作可能である。
【0081】
アプリケーション564は、ユーザのための特定の機能性を実行する任意の高レベルのソフトウェアであり得る。アプリケーション564は、Eメールクライアント、ウェブブラウザ、テキストメッセージアプリケーション、ゲーム、メディアプレーヤ、オフィススイートなどのプログラムを含み得る。アプリケーション564は、アプリケーションストア560に格納することができ、アプリケーションストア560は、アプリケーション564を格納するための任意のメモリまたはデータストレージ及びそれに関連付けられた管理ソフトウェアを表し得る。実行された時点で、アプリケーション564は、メモリ508の異なるエリアで実行することができる。
【0082】
フレームワーク520は、デバイス上で実行されている複数のタスクの相互作用を可能にする任意のソフトウェアまたはデータであり得る。実施形態では、フレームワーク520の少なくとも部分及び以下で説明する個別のコンポーネントは、OS 516またはアプリケーション564の一部と見なすことができる。しかし、それらのコンポーネントはそのように限定されないことを除けば、これらの部分は、フレームワーク520の一部として説明される。フレームワーク520は、これらに限定されないが、複数ディスプレイ管理(MDM)モジュール524、サーフェスキャッシュモジュール528、ウィンドウ管理モジュール532、入力管理モジュール536、タスク管理モジュール540、アプリケーションモデルマネージャ542、ディスプレイコントローラ、1つもしくは複数のフレームバッファ548、タスクスタック552、1つもしくは複数のウィンドウスタック550(ディスプレイエリア内のウィンドウ及び/またはデスクトップの論理構成である)及び/またはイベントバッファ556を含み得る。
【0083】
MDMモジュール524は、デバイスの画面上でアプリケーションまたは他のデータの表示を管理するよう動作可能な1つまたは複数のモジュールを含む。MDMモジュール524の実施形態は、
図5Bと併せて説明する。実施形態では、MDMモジュール524は、ドライバ512などの他のOS 516コンポーネントから及びアプリケーション564から入力を受信し、常にデバイス100の状態を決定する。入力は、アプリケーションの優先度及び要件ならびにユーザ動作に応じてディスプレイをどのように構成して割り当てるかを決定する際にMDMモジュール524を支援する。ディスプレイ構成に対する決定がなされた時点で、MDMモジュール524は、アプリケーション564とディスプレイとを結合することができる。次いで、1つまたは複数の他のコンポーネントに構成を提供して、ディスプレイでウィンドウを生成することができる。
【0084】
サーフェスキャッシュモジュール528は、ウィンドウの1つまたは複数の画像を格納またはキャッシュするための任意のメモリまたはストレージ及びそれに関連付けられたソフトウェアを含む。一連のアクティブ及び/または非アクティブウィンドウ(またはデスクトップ表示などの他の表示オブジェクト)は、各ディスプレイに関連付けられ得る。アクティブウィンドウ(または他の表示オブジェクト)が現時点で表示されている。非アクティブウィンドウ(または他の表示オブジェクト)は、ある時点で開かれ、表示されていたが、現時点では表示されていない。ユーザ経験を高めるため、ウィンドウをアクティブ状態から非アクティブ状態へ移行する前に、ウィンドウ(または他の表示オブジェクト)の最後に生成された画像の「スクリーンショット」を格納することができる。サーフェスキャッシュモジュール528は、現時点で表示されていないウィンドウ(または他の表示オブジェクト)の最後のアクティブ画像のビットマップを格納するよう動作可能であり得る。したがって、サーフェスキャッシュモジュール528は、データストアに非アクティブウィンドウ(または他の表示オブジェクト)の画像を格納する。
【0085】
実施形態では、ウィンドウ管理モジュール532は、それぞれのディスプレイ上でアクティブであるまたは非アクティブであるウィンドウ(または他の表示オブジェクト)を管理するよう動作可能である。ウィンドウ管理モジュール532は、MDMモジュール524、OS 516または他のコンポーネントからの情報に基づいて、ウィンドウ(または他の表示オブジェクト)がいつ可視であるかまたは非アクティブであるかを決定する。次いで、ウィンドウ管理モジュール532は、不可視ウィンドウ(または他の表示オブジェクト)を「非アクティブ状態」に置き、タスク管理モジュールタスク管理540と併せて、アプリケーションのオペレーションを一時停止する。さらに、ウィンドウ管理モジュール532は、MDMモジュール524との協働相互作用を通じて、ウィンドウ(または他の表示オブジェクト)にディスプレイ識別子を割り当てることも、ウィンドウ(または他の表示オブジェクト)に関連付けられたデータの1つまたは複数の他のアイテムを管理することもできる。また、ウィンドウ管理モジュール532は、アプリケーション564、タスク管理モジュール540、または、ウィンドウ(または他の表示オブジェクト)と相互作用するかもしくは関連付けられた他のコンポーネントに格納された情報を提供することもできる。また、ウィンドウ管理モジュール532は、動作空間内のウィンドウフォーカス及びディスプレイ座標に基づいて、入力タスクをウィンドウと関連付けることもできる。
【0086】
入力管理モジュール536は、デバイスで起こるイベントを管理するよう動作可能である。イベントは、例えば、ユーザとのユーザインタフェース相互作用などのウィンドウ環境への任意の入力である。入力管理モジュール536は、イベントを受信し、イベントをイベントバッファ556に論理的に格納する。イベントは、そのようなユーザインタフェース相互作用を、画面104、108がユーザからタッチ信号を受信した場合に起こる「ダウンイベント」、ユーザの指が画面を横切って移動していることを画面104、108が決定した場合に起こる「移動イベント」、ユーザが画面104、108に触れるのを止めたことを画面104、108が決定した場合に起こる「アップイベント」などとして含み得る。これらのイベントは、入力管理モジュール536によって、受信され、格納され、他のモジュールに転送される。また、入力管理モジュール536は、デバイス上で利用可能なすべての物理的及び仮想ディスプレイの集大成である動作空間に画面入力をマッピングすることもできる。
【0087】
動作空間は、一緒に「タイル化」してデバイス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号明細書に記載されるようなものであり得る。
【0088】
タスクは、アプリケーションであり得、サブタスクは、ユーザが、例えば、電話をする、写真を撮る、Eメールを送信するまたはマップを見るなど何かを行うために情報のやり取りを行うことができるウィンドウを提供するアプリケーションコンポーネントであり得る。各タスクには、ユーザインタフェースを描くためのウィンドウを与えることができる。ウィンドウは、通常、ディスプレイ(例えば、タッチセンサ式ディスプレイ110、114)全体を占めるが、ディスプレイ110、114より小さく、他のウィンドウ上で浮動してもよい。アプリケーションは、通常、互いに緩やかに結合された複数のサブタスクからなる。通常、アプリケーション内の1つのタスクが「メイン」タスクとして指定され、最初にアプリケーションに着手する際にユーザに提示される。次いで、各タスクは、別のタスクまたはサブタスクを開始して、異なる動作を実行することができる。
【0089】
タスク管理モジュール540は、デバイスによって実行することができる1つまたは複数のアプリケーション564のオペレーションを管理するよう動作可能である。したがって、タスク管理モジュール540は、信号を受信して、アプリケーションストア560に格納されたアプリケーションまたはアプリケーションサブタスクの着手、一時停止、終了などを行うことができる。次いで、タスク管理モジュール540は、アプリケーション564の1つまたは複数のタスクまたはサブタスクのインスタンスを作成し、アプリケーション564のオペレーションを開始することができる。さらに、タスク管理モジュール540は、ユーザ入力の結果または協働フレームワーク520コンポーネントからの信号の結果、タスクまたはサブタスクの着手、一時停止または終了を行うことができる。タスク管理モジュール540は、アプリケーションの着手からアプリケーションの終了までのアプリケーション(タスク及びサブタスク)のライフサイクルの管理に対する責任を有する。
【0090】
タスク管理モジュール540の処理は、タスクスタック552によって容易にし、タスクスタック552は、タスク管理モジュール540に関連付けられた論理構造である。タスクスタック552は、デバイス100上のすべてのタスク及びサブタスクの状態を維持する。オペレーティングシステム516の一部のコンポーネントがタスクまたはサブタスクにそのライフサイクルにおける移行を行わせる必要がある場合、OS 516コンポーネントは、タスク管理モジュール540に通知することができる。次いで、タスク管理モジュール540は、識別情報を使用してタスクスタック552においてタスクまたはサブタスクを位置付け、タスクがどのようなライフサイクル移行を実行する必要があるかを示す信号をタスクまたはサブタスクに送信する。移行についてタスクまたはサブタスクに通知することにより、タスクまたはサブタスクは、ライフサイクル状態移行の準備を行うことができる。次いで、タスク管理モジュール540は、タスクまたはサブタスクに対する状態移行を実行することができる。実施形態では、状態移行は、終了が必要な場合に、OSカーネル518をトリガしてタスクを終了することを伴う場合がある。
【0091】
さらに、タスク管理モジュール540は、ウィンドウ管理モジュール532からの情報に基づいて、アプリケーション564を一時停止することができる。アプリケーション564の一時停止により、メモリ内のアプリケーションデータを維持することができるが、ウィンドウまたはユーザインタフェースのレンダリングからアプリケーション564を制限することも停止することもある。再びアプリケーションがアクティブ状態になった時点で、タスク管理モジュール540は、再び、アプリケーションをトリガして、そのユーザインタフェースをレンダリングすることができる。実施形態では、タスクが一時停止されれば、タスクは、タスクの終了が行われる場合は、タスクの状態を保存することができる。一時停止状態では、アプリケーションウィンドウはユーザから見えないため、アプリケーションタスクは、入力を受信することはできない。
【0092】
フレームバッファ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を補整する。
【0093】
アプリケーションマネージャ562は、ウィンドウ環境に対するプレゼンテーション層を提供するアプリケーションである。したがって、アプリケーションマネージャ562は、タスク管理モジュール540によるレンダリングのためのグラフィカルなモデルを提供する。同様に、デスクトップ566は、アプリケーションストア560に対するプレゼンテーション層を提供する。したがって、デスクトップは、レンダリング用にウィンドウ管理モジュール556に提供することができるアプリケーションストア560内のアプリケーション564用の選択可能なアプリケーションアイコンを有する表面のグラフィカルなモデルを提供する。
【0094】
さらに、フレームワークは、アプリケーションモデルマネージャ(AMM)542を含み得る。アプリケーションマネージャ562は、AMM 542とインタフェースをとることができる。実施形態では、AMM 542は、アプリケーションの状態(実行中または一時停止中)に関する状態変化情報をデバイス100から受信する。AMM 542は、サーフェスキャッシュモジュール528からのビットマップ画像を活動中(実行中または一時停止中)のタスクと関連付けることができる。さらに、AMM 542は、タスク管理モジュール540内で維持されている論理的ウィンドウスタックを、ディスプレイ外のジェスチャ捕捉エリア120を使用してウィンドウをより分ける際にユーザが捉える線形(「フィルムストリップ」または「トランプ一組」)組織に変換することができる。さらに、AMM 542は、実行中のアプリケーションのリストを、アプリケーションマネージャ562に提供することができる。
【0095】
MDMモジュール524の実施形態を
図5Bに示す。MDMモジュール524は、これらに限定されないが、デバイスの向き、デバイス100は開いているかまたは閉じているか、どのアプリケーション564を実行しているか、どのようにアプリケーション564を表示するか、ユーザはどの動作を行っているか、表示されているタスクなどを含むデバイスのための環境の状態を決定するよう動作可能である。ディスプレイを構成するため、MDMモジュール524は、
図6A〜6Jと併せて説明されるように、これらの環境要因を解釈し、ディスプレイ構成を決定する。次いで、MDMモジュール524は、アプリケーション564または他のデバイスコンポーネントをディスプレイと結合することができる。次いで、ディスプレイコントローラ544及び/またはOS 516内の他のコンポーネントに構成を送信し、ディスプレイを生成することができる。MDMモジュール524は、これらに限定されないが、ディスプレイ構成モジュール568、優先度モジュール572、デバイス状態モジュール574、ジェスチャモジュール576、要件モジュール580、イベントモジュール584及び/または結合モジュール588のうちの1つまたは複数を含み得る。
【0096】
ディスプレイ構成モジュール568は、ディスプレイ用のレイアウトを決定する。実施形態では、ディスプレイ構成モジュール568は、環境因子を決定することができる。環境因子は、1つまたは複数の他のMDMモジュール524からまたは他のソースから受信することができる。次いで、ディスプレイ構成モジュール568は、因子のリストからディスプレイに最適な構成を決定することができる。可能な構成及びそれに関連付けられた因子のいくつかの実施形態については、
図6A〜6Fと併せて説明する。
【0097】
優先度モジュール572は、アプリケーション564または他のコンポーネントの表示優先度を決定するよう動作可能である。例えば、アプリケーションは、単一またはデュアルディスプレイに対する優先度を有し得る。優先度モジュール572は、アプリケーションの表示優先度を決定することができ(例えば、アプリケーションの優先度設定を検査することによって)、デバイス100が好ましいモードに対応することができる状態にある場合は、アプリケーション564がモード(例えば、単一画面、二重画面、最大など)を変更することを可能にする場合がある。しかし、いくつかのユーザインタフェース方針は、そのモードが利用可能であっても、モードを認めない場合がある。デバイスの構成が変化すると、優先度を見直して、アプリケーション564に対してより良いディスプレイ構成を実現できるかどうかを決定することができる。
【0098】
デバイス状態モジュール574は、デバイスの状態を決定または受信するよう動作可能である。デバイスの状態は、
図3A及び3Bと併せて説明されるようなものであり得る。デバイスの状態は、ディスプレイ構成モジュール568で使用して、ディスプレイの構成を決定することができる。このように、デバイス状態モジュール574は、入力を受信し、デバイスの状態を解釈することができる。次いで、状態情報は、ディスプレイ構成モジュール568に提供される。
【0099】
ジェスチャモジュール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を横切って移動すると、実行しているように見える。
【0100】
さらに、ジェスチャモジュール576は、タスク管理モジュール540または入力管理モジュール536のいずれかからタスク情報を受信することができる。ジェスチャは、
図4A〜4Hと併せて定義されるようなものであり得る。例えば、ウィンドウの移動により、ディスプレイは、ウィンドウの移動を示す一連のディスプレイフレームをレンダリングする。そのようなユーザインタフェース相互作用に関連付けられたジェスチャは、ジェスチャモジュール576で受信し解釈することができる。次いで、ユーザジェスチャについての情報はタスク管理モジュール540に送信され、タスクのディスプレイ結合が修正される。
【0101】
優先度モジュール572と同様の要件モジュール580は、アプリケーション564または他のコンポーネントに対するディスプレイ要件を決定するよう動作可能である。アプリケーションは、観察しなければならないディスプレイ要件セットを有し得る。いくつかのアプリケーションは、特定のディスプレイ方向を必要とする。例えば、アプリケーション「アングリバード(Angry Birds)」は、横向きでのみ表示することができる。この種のディスプレイ要件は、要件モジュール580によって決定または受信することができる。デバイスの向きが変更されると、要件モジュール580は、アプリケーション564に対するディスプレイ要件を再び主張することができる。ディスプレイ構成モジュール568は、要件モジュール580によって提供されるアプリケーション表示要件に従ったディスプレイ構成を生成することができる。
【0102】
ジェスチャモジュール576と同様のイベントモジュール584は、ユーザインタフェースに影響を及ぼし得るアプリケーションまたは他のコンポーネントで起こる1つまたは複数のイベントを決定するよう動作可能である。したがって、イベントモジュール584は、イベントバッファ556またはタスク管理モジュール540のいずれかからイベント情報を受信することができる。これらのイベントは、タスクがどのようにディスプレイと結合されるか変更することができる。イベントモジュール584は、他のフレームワーク520コンポーネントから状態変化情報を収集し、その状態変化情報に応じて作用され得る。一例では、電話が開かれるか、または閉じられる場合、または方向変化が生じる場合、新しいメッセージが二次画面にレンダリングされる。このイベントに基づく状態変化は、イベントモジュール584により受信され、解釈されることができる。次いで、イベントについての情報は、ディスプレイ構成モジュール568に送信され、ディスプレイの構成を修正することができる。
【0103】
結合モジュール588は、アプリケーション564または他のコンポーネントをディスプレイ構成モジュール568によって決定された構成と結合するよう動作可能である。結合は、メモリ内で、各アプリケーションに対するディスプレイ構成をアプリケーションの表示及びモードと関連付ける。したがって、結合モジュール588は、アプリケーションをそのアプリケーションに対するディスプレイ構成(例えば、横向き、縦向き、複数画面など)と関連付けることができる。次いで、結合モジュール588は、ディスプレイ識別子をディスプレイに割り当てることができる。ディスプレイ識別子は、アプリケーションをデバイス100の特定のディスプレイと関連付ける。次いで、この結合は、格納され、ディスプレイコントローラ544、OS 516の他のコンポーネントまたは他のコンポーネントに提供され、ディスプレイが適正にレンダリングされる。結合は、動的であり、イベント、ジェスチャ、状態変化、アプリケーション優先度または要件などに関連付けられた構成変更に基づいて、変更することも更新することもできる。
ユーザインタフェース構成:
ここで
図6A〜Jを参照し、デバイス100によって可能となったさまざまなタイプの出力構成について以下で説明する。
【0104】
図6A及び6Bは、第1の状態にあるデバイス100の2つの異なる出力構成を描写する。具体的には、
図6Aは、閉縦向き状態304にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の縦向き構成604でタッチセンサ式ディスプレイ110を介してデータを表示する。理解できるように、第1の縦向き構成604は、デスクトップまたはオペレーティングシステムホーム画面のみを表示することができる。あるいは、デバイス100が第1の縦向き構成604でデータを表示している間、1つまたは複数のウィンドウを縦向きで提示することができる。
【0105】
図6Bは、依然として閉縦向き状態304にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の縦向き構成608でタッチセンサ式ディスプレイ114を介してデータを表示する。
【0106】
第1または第2の縦向き構成604、608のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。また、ユーザジェスチャ(例えば、ダブルタップジェスチャ)、メニュー選択または他の手段をデバイス100に提供することによって、第1の縦向き構成604と第2の縦向き構成608との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の縦向き構成604、608から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0107】
代替の出力構成は、第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人のプレーヤによる同時プレーを伴うゲームも、両面モードを利用することができる。
【0108】
図6D及び6Eは、第3の状態にあるデバイス100の2つのさらなる出力構成を描写する。具体的には、
図6Dは、閉横向き状態340にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の横向き構成612でタッチセンサ式ディスプレイ110を介してデータを表示する。本明細書に記載される他の構成に類似して、第1の横向き構成612は、デスクトップ、ホーム画面、アプリケーションデータを表示する1つもしくは複数のウィンドウまたは同様のものを表示することができる。
【0109】
図6Eは、依然として閉横向き状態340にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の横向き構成616でタッチセンサ式ディスプレイ114を介してデータを表示する。第1または第2の横向き構成612、616のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。ツイスト及びタップジェスチャまたはフリップ及びスライドジェスチャの一方または両方をデバイス100に提供することによって、第1の横向き構成612と第2の横向き構成616との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の横向き構成612、616から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0110】
図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を移行することが可能である場合もあることを理解されたい。
【0111】
図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を移行することが可能である場合もある。
【0112】
図6Iは、デバイス100が開縦向き状態320にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で縦向きマックス(PMax)構成624と呼ばれる縦向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Pmax構成624は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Pmax構成624から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0113】
図6Jは、デバイス100が開横向き状態348にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で横向きマックス(LMax)構成628と呼ばれる横向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Lmax構成628は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Lmax構成628から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0114】
図7A及び7Bに示されるように、デバイス100は、少なくとも1つのウィンドウスタック700、728でデスクトップ及び/またはウィンドウを管理する。ウィンドウスタック700、728は、複数画面デバイスに対するアクティブ及び/または非アクティブウィンドウの論理構成である。例えば、ウィンドウスタック700または728は、トランプ一組と論理的に同様であり得、
図7A及び7Bに示されるように、1つまたは複数のウィンドウまたはデスクトップは、順番に配置される。アクティブウィンドウは、タッチセンサ式ディスプレイ110、114の少なくとも1つに現時点で表示されているウィンドウである。例えば、ウィンドウ104及び108は、アクティブウィンドウであり、タッチセンサ式ディスプレイ110及び114上に表示されている。非アクティブウィンドウは、開かれ、表示されていたが、現時点ではアクティブウィンドウの「背後」にあり、表示されていないウィンドウである。実施形態では、非アクティブウィンドウは、一時停止中であるアプリケーション用であり得、したがって、ウィンドウはアクティブコンテンツを表示していない。例えば、ウィンドウ712、716、720及び724は非アクティブウィンドウである。
【0115】
ウィンドウスタック700、728は、さまざまな構成または組織構造を有し得る。
図7Aに示される実施形態では、デバイス100は、第1のタッチセンサ式ディスプレイ110に関連付けられた第1のスタック760と、第2のタッチセンサ式ディスプレイ114に関連付けられた第2のスタック764とを含む。したがって、各タッチセンサ式ディスプレイ110及び114は、それぞれに関連付けられたウィンドウスタック760、764を有し得る。これらの2つのウィンドウスタック760、764は、それぞれのスタック760、764に配置された異なる数のウィンドウを有し得る。さらに、2つのウィンドウスタック760、764は、異なる方法で識別し、別々に管理することもできる。したがって、第1のウィンドウスタック760は、第1のウィンドウ704から次のウィンドウ720へ、そして最後のウィンドウ724へ、そして最終的にデスクトップ722(実施形態ではウィンドウスタック760の「最下部」である)へと順番に配置することができる。実施形態では、デスクトップ722下のウィンドウスタックにアプリケーションウィンドウを配置することができ、また、デスクトップを見えるようにしている(desktop reveal)間、デスクトップ722を他のウィンドウ上のスタックの「最上部」へ持ってくることができるため、デスクトップ722は常に「最下部」であるとは限らない。同様に、第2のスタック764は、第1のウィンドウ708から次のウィンドウ712へ、そして最後のウィンドウ716へ、そして最終的にデスクトップ718(実施形態では、デスクトップ722を有し、ウィンドウスタック760とウィンドウスタック764の両方のすべてのウィンドウ下の単一のデスクトップエリアである)へと配置することができる。2つのウィンドウスタック760、764を管理するための論理データ構造は、以下の
図8と併せて説明されるようなものであり得る。
【0116】
ウィンドウスタック728の別の構成を
図7Bに示す。この実施形態では、両方のタッチセンサ式ディスプレイ110、114に対して、単一のウィンドウスタック728が存在する。したがって、ウィンドウスタック728は、デスクトップ758から第1のウィンドウ744へ、そして最後のウィンドウ756へと配置される。ウィンドウは、特定のタッチセンサ式ディスプレイ110、114に関連付けられることなく、すべてのウィンドウの中のある位置に配置することができる。この実施形態では、各ウィンドウは、ウィンドウ順に並んでいる。さらに、少なくとも1つのウィンドウは、アクティブ状態にあると識別される。例えば、単一のウィンドウは、第1のタッチセンサ式画面110と第2のタッチセンサ式画面114のそれぞれで表示される2つの部分732及び736でレンダリングすることができる。この単一のウィンドウは、両方のディスプレイ110、114上に表示されているが、ウィンドウスタック728において、単一の位置のみを占有することができる。
【0117】
ウィンドウスタック760のさらなる別の構成を
図7C〜7Eに示す。ウィンドウスタック760は、3つの「立体」図で示される。
図7Cでは、ウィンドウスタック760の上面を示す。ウィンドウスタック760の2つの側面は、
図7D及び7Eに示す。この実施形態では、ウィンドウスタック760は、レンガの積み重ねに似ている。ウィンドウは、互いに積み重ねられる。
図7Cは、ウィンドウスタック760を上方から見ているため、複合ディスプレイ764の異なる部分においてウィンドウスタック760の最上部のウィンドウしか見えない。複合ディスプレイ764は、デバイス100のディスプレイエリア全体のための論理モデルを表し、タッチセンサ式ディスプレイ110及びタッチセンサ式ディスプレイ114を含み得る。デスクトップ786(
図7D及び7E)またはウィンドウは、複合ディスプレイ764の一部または全体を占有することができる。
【0118】
示される実施形態では、デスクトップ786がウィンドウスタック760の最下部のディスプレイまたは「レンガ」である。そこから、ウィンドウ1 782、ウィンドウ2 782、ウィンドウ3 768及びウィンドウ4 770が積層される。ウィンドウ1 782、ウィンドウ3 768、ウィンドウ2 782及びウィンドウ4 770は、複合ディスプレイ764のほんの一部を占領する。したがって、スタック760の別の部分は、ウィンドウ8 774と、セクション790で示されるウィンドウ5〜7とを含む。複合ディスプレイ764の任意の部分の最上部のウィンドウのみが実際にレンダリングされ、表示される。したがって、
図7Cの上面図に示されるように、ウィンドウスタック760の異なる部分においてディスプレイの最上部にあるものとして、ウィンドウ4 770、ウィンドウ8 774及びウィンドウ3 768が表示される。ウィンドウは、寸法変更して、複合ディスプレイ760のほんの一部を占有し、ウィンドウスタック760の下方のウィンドウを「明らかにする」ことができる。例えば、ウィンドウ3 768は、スタックにおいて、ウィンドウ4 770及びウィンドウ8 774の下方にあるが、依然として表示されている。ウィンドウスタックを管理する論理データ構造は、
図8と併せて説明されるようなものであり得る。
【0119】
デバイス100上で新しいウィンドウを開くと、一般に、新たに起動されたウィンドウがスタックの最上部に配置される。しかし、ウィンドウがスタック内のどこにどのように配置されるかは、デバイス100の向き、どのプログラム、機能、ソフトウェアなどがデバイス100上で実行されているかについてのコンテキスト、新しいウィンドウが開かれた際にどのようにスタックが配置されるかなどに依存し得る。ウィンドウをスタックに挿入するため、スタック内のウィンドウの位置が決定され、また、ウィンドウが関連付けられるタッチセンサ式ディスプレイ110、114も決定することができる。この情報を用いて、ウィンドウ用の論理データ構造を作成し、格納することができる。ユーザインタフェースまたは他のイベントもしくはタスクがウィンドウの配置を変化させると、配置の変化を反映するため、ウィンドウスタックが変更され得る。上記で説明されるこれらの同じ概念を使用して、デバイス100用の1つまたは複数のデスクトップを管理できることに留意されたい。
【0120】
ウィンドウスタック内のウィンドウまたはデスクトップの配置を管理するための論理データ構造800を
図8に示す。論理データ構造800は、オブジェクト、記録、ファイルなどにかかわらず、データの格納に使用される任意のデータ構造であり得る。論理データ構造800は、プロトコルまたは規格にかかわらず、いかなるタイプのデータベースまたはデータ格納システムにも格納することができる。実施形態では、論理データ構造800は、情報の容易な格納及び回収を可能にする論理構成でデータを格納する1つまたは複数の部分、フィールド、属性などを含む。以下では、これらの1つまたは複数の部分、フィールド、属性などを単なるフィールドとして説明するものとする。フィールドは、ウィンドウ識別子804、寸法808、スタック位置識別子812、ディスプレイ識別子816及び/またはアクティブインジケータ820に対するデータを格納することができる。ウィンドウスタック内の各ウィンドウは、関連する論理データ構造800を有し得る。
図8では、単一の論理データ構造800が示されているが、楕円824によって表されるように、ウィンドウスタックで使用されるより多くのまたはより少ない論理データ構造800が存在し得る(スタック内のウィンドウまたはデスクトップの数に基づいて)。さらに、楕円828によって表されるように、
図8に示されるものより多くのまたはより少ないフィールドが存在し得る。
【0121】
ウィンドウ識別子804は、ウィンドウスタック内の他のウィンドウとの関連で、関連ウィンドウを独自に識別する任意の識別子(ID)を含み得る。ウィンドウ識別子804は、グローバル一意識別子(GUID)、数値ID、英数字IDまたは他のタイプの識別子であり得る。実施形態では、ウィンドウ識別子804は、開くことができるウィンドウの数に基づく1桁、2桁または任意の桁数であり得る。代替の実施形態では、ウィンドウ識別子804のサイズは、開いているウィンドウの数に基づいて変化し得る。ウィンドウが開いている間、ウィンドウ識別子804は、静的で、不変のままであり得る。
【0122】
寸法808は、複合ディスプレイ760のウィンドウの寸法を含み得る。例えば、寸法808は、ウィンドウの2つ以上の角部の座標を含むことも、1つの座標ならびにウィンドウの幅及び高さに対する寸法を含むこともある。これらの寸法808は、ウィンドウが複合ディスプレイ760のどの部分を占有することができるかを描写することができ、それは、複合ディスプレイ760全体でも、複合ディスプレイ760のほんの一部でもあり得る。例えば、ウィンドウ4 770は、
図7C〜7Eに示されるように、ウィンドウ770が複合ディスプレイ760のディスプレイエリアのほんの一部を占有することを示す寸法808を有し得る。ウィンドウがウィンドウスタック内で移動されるかまたは挿入されると、寸法808は変化し得る。
【0123】
スタック位置識別子812は、ウィンドウのスタック内での位置を識別することができるか、または、リストもしくはスタックなどのデータ構造内のウィンドウの制御記録から推定することができる任意の識別子であり得る。スタック位置識別子812は、GUID、数値ID、英数字IDまたは他のタイプの識別子であり得る。各ウィンドウまたはデスクトップは、スタック位置識別子812を含み得る。例えば、
図7Aに示されるように、スタック1 760のウィンドウ1 704は、ウィンドウ704がスタック 760の第1のウィンドウであり、アクティブウィンドウであることを特定する1のスタック位置識別子812を有し得る。同様に、ウィンドウ6 724は、ウィンドウ724がスタック 760の第3のウィンドウであることを表す3のスタック位置識別子812を有し得る。また、ウィンドウ2 708は、ウィンドウ708が第2のスタック 764の第1のウィンドウであることを表す1のスタック位置識別子812を有し得る。
図7Bに示されるように、ウィンドウ1 744は、1のスタック位置識別子812を有し得、部分732及び736にレンダリングされたウィンドウ3は、3のスタック位置識別子812を有し得、ウィンドウ6 756は、6のスタック位置識別子812を有し得る。したがって、スタックのタイプに応じて、スタック位置識別子812は、スタック内でのウィンドウの位置を表すことができる。
【0124】
ディスプレイ識別子816は、第1のディスプレイ110もしくは第2のディスプレイ114、または、両方のディスプレイで構成された複合ディスプレイ760などの特定のディスプレイにウィンドウまたはデスクトップが関連付けられていることを特定することができる。
図7Aに示されるように、このディスプレイ識別子816は複数スタックシステムで必要とされない場合があるが、ディスプレイ識別子816は、
図7Bの連続スタック内のウィンドウが特定のディスプレイに表示されているかどうかを示すことができる。したがって、ウィンドウ3は、
図7Bにおいて、2つの部分732及び736を有し得る。第1の部分732は、第1のディスプレイに対するディスプレイ識別子816を有し得る一方で、第2の部分736は、第2のディスプレイ114に対するディスプレイ識別子816を有し得る。しかし、代替の実施形態では、ウィンドウは、ウィンドウが両方のディスプレイ110、114に表示されていること、または、ディスプレイ識別子816が複合ディスプレイを特定したことを表す2つのディスプレイ識別子816を有し得る。別の代替の実施形態では、ウィンドウは、ウィンドウが両方のディスプレイ110、114に表示されていることを表すための単一のディスプレイ識別子816を有し得る。
【0125】
ディスプレイ識別子816と同様に、アクティブインジケータ820は、スタック位置1のウィンドウがアクティブであり、表示されているため、
図7Aのデュアルスタックシステムで必要とされない場合がある。
図7Bのシステムでは、アクティブインジケータ820は、スタック内のどのウィンドウが表示されているかを示すことができる。したがって、ウィンドウ3は、
図7において、2つの部分732及び736を有し得る。第1の部分732がアクティブインジケータ820を有する一方で、第2の部分736もまたアクティブインジケータ820を有し得る。しかし、代替の実施形態では、ウィンドウ3は、単一のアクティブインジケータ820を有し得る。アクティブインジケータ820は、ウィンドウがアクティブであるかまたは表示されていることを表す簡単なフラグまたはビットであり得る。
【0126】
ウィンドウスタックを作成するための方法900の実施形態を
図9に示す。
図9では、方法900の工程の一般的な順番を示す。一般に、方法900は、開始動作904で始まり、終了動作928で終了する。方法900は、
図9に示されるものより多くのまたはより少ない工程を含むことも、異なる形で工程の順番を整えることもできる。方法900は、コンピュータシステムによって実行され、コンピュータ可読媒体で符号化されるかまたは格納される一連のコンピュータ実行可能命令として実行することができる。以下では、
図1〜8と併せて説明されるシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインタフェースなどを参照して、方法900を説明する。
【0127】
工程908では、複数画面デバイス100は、ウィンドウの起動を受信することができる。実施形態では、複数画面デバイス100は、タッチセンサ式ディスプレイ110もしくは114、構成可能なエリア112もしくは116、ジェスチャ捕捉領域120もしくは124、または、ユーザインタフェース入力を受信するよう動作可能ないくつかの他のハードウェアセンサから入力を受信することによって、ウィンドウの起動を受信することができる。プロセッサは、タスク管理モジュール540を実行して入力を受信することができる。タスク管理モジュール540は、ウィンドウスタックにウィンドウを開く、実行すべきアプリケーションタスクを要求するものとして入力を解釈することができる。
【0128】
実施形態では、タスク管理モジュール540は、複数ディスプレイ管理モジュール524(
図5A、5B)のディスプレイ構成モジュール568(
図5B)に作用されるタスクスタック552(
図5A)にユーザインタフェース相互作用を置く。さらに、タスク管理モジュール540は、複数ディスプレイ管理モジュール524からの情報を待ち、ウィンドウ管理モジュール532に命令を送信して、ウィンドウスタックにウィンドウを作成する。
【0129】
工程912では、複数ディスプレイ管理モジュール524は、タスク管理モジュール540から命令を受信すると、新たに起動されたウィンドウを関連付けるべき複合ディスプレイ760のタッチ部分を決定する。例えば、ウィンドウ4 770は、複合ディスプレイ764と関連付けられる。実施形態では、複数ディスプレイ管理モジュール524のデバイス状態モジュール574は、デバイスがどのように方向付けられているか、または、デバイスがどの状態にあるか(例えば、開状態、閉状態、縦向き状態など)を決定することができる。さらに、優先度モジュール572(
図5B)及び/または要件モジュール580(
図5B)は、ウィンドウをどのように表示するかを決定することができる。ジェスチャモジュール576(
図5B)は、ジェスチャのタイプ及びジェスチャが行われた位置に基づいて、ウィンドウをどのように開くかについてのユーザの意図を決定することができる。
【0130】
ディスプレイ構成モジュール568(
図5B)は、これらのモジュールからの入力を使用して、可視性アルゴリズムに基づいて、現時点におけるウィンドウスタック760を評価し、最善の場所及び最善の寸法を決定し、ウィンドウを開くことができる。したがって、工程916では、ディスプレイ構成モジュール568は、ウィンドウスタック760の最上部にウィンドウを置くための最善の場所を決定する。可視性アルゴリズムは、実施形態では、複合ディスプレイのすべての部分に対して、どのウィンドウがスタックの最上部にあるかを決定する。例えば、可視性アルゴリズムは、
図7C〜7Eで見られるように、ウィンドウ3 768、ウィンドウ4 770及びウィンドウ8 774がスタック760の最上部にあることを決定する。どこでウィンドウを開くかを決定すると、ディスプレイ構成モジュール568は、ディスプレイ識別子816及び場合により寸法808をウィンドウに割り当てることができる。次いで、ディスプレイ識別子816及び寸法808は、タスク管理モジュール540に送り返すことができる。次いで、タスク管理モジュール540は、ウィンドウスタックの最上部でのウィンドウ位置を示すスタック位置識別子812をウィンドウに割り当てることができる。
【0131】
実施形態では、タスク管理モジュール540は、ウィンドウスタック情報及び命令を送信し、ウィンドウ管理モジュール532(
図5A)にウィンドウをレンダリングする。工程924では、ウィンドウ管理モジュール532及びタスク管理モジュール540(
図5A)は、論理データ構造800を作成することができる。タスク管理モジュール540とウィンドウ管理モジュール532は両方とも、ウィンドウスタックのコピーを作成し、管理することができる。これらのウィンドウスタックのコピーは、ウィンドウ管理モジュール532とタスク管理モジュール540との間の通信を通じて、同期化することも、同様に保持することもできる。したがって、ウィンドウ管理モジュール532及びタスク管理モジュール540は、複数ディスプレイ管理モジュール524によって決定された情報に基づいて、寸法808、スタック位置識別子812(例えば、ウィンドウ1 782、ウィンドウ4 770など)、ディスプレイ識別子816(例えば、タッチセンサ式ディスプレイ1 110、タッチセンサ式ディスプレイ2 114、複合ディスプレイ識別子など)及びアクティブインジケータ820を割り当てることができ、これは、一般に、ウィンドウがスタックの「最上部」にある場合に常に設定される。次いで、論理データ構造800は、ウィンドウ管理モジュール532とタスク管理モジュール540の両方で格納することができる。さらに、ウィンドウ管理モジュール532及びタスク管理モジュール540は、その後、ウィンドウスタック及び論理データ構造800を管理することができる。
【0132】
高レベルの機能を有するポータブル電子デバイスに対する需要は上昇し続け、個人電子デバイスの可搬性はますます高まっている。携帯電話及びスマートフォンの計算力、電池の寿命、画面のサイズ、及び全体機能が増大し続ける間、これらのデバイスへのユーザの依存も増大する。そのようなデバイスの多くのユーザは、一般的な通信、インターネットへのアクセス、クラウドコンピューティング、及び交信情報、ファイル、音楽、写真等の様々なローカルに記憶された情報へのアクセスに関して、そのようなデバイスに非常に依存している。したがって、そのような非常に依存しているデバイスに接続して、スマートパッド(SP)1000(
図10参照)等の、モニタまたはタブレットデバイス等の追加の計算デバイスまたはディスプレイに接続することが望ましいことが多い。
【0133】
したがって、デバイス100がスマートパッド1000等の追加のデバイスとインタフェース可能であり、それにより、例えば、タブレットコンピュータシステム及びスマートフォンの両方と同様の機能が可能になることが望ましい。さらに、上述したデバイスで、電話の送受信等の両デバイスの様々な既存の特徴が可能であり、且つデバイス100で実行中のアプリケーションにアクセス可能なことも必要とされる。上のデバイス100が、デバイスのフォームファクタを損なわずに、共通の動作及び機能を可能にすることにより、タブレットコンピュータシステム及びセルラ電話の両方の利点を1つの統合デバイスに提供することも必要とされる。
【0134】
例示的な一実施形態は、選択的に着脱可能なデバイス及びスマートパッドシステムに関する。スマートパッドシステムは、以下にさらに詳細に考察するが、スマートフォンまたはデバイス100等の通信デバイスを補う様々な特徴を有することができる。例えば、スマートパッドは、画面サイズの増大、プロセッササイズの増大、電池または電源等の増大を提供することにより、デバイス100を補い得る。同様に、デバイス100は、1つまたは複数の無線ネットワークを通しての接続性、記憶された様々な情報へのアクセス等を提供することにより、SP1000を補い得る。したがって、本発明の2つ以上のデバイスを、接続またはドッキングし、一般に共生関係で提供し得ることがはっきりと認識されよう。デバイスが、様々な特徴、利点、及び機能を独立した状態で提供することがさらに認識されよう。
【0135】
例示的な一実施形態によれば、デバイス100は、デバイス100に対応する寸法を有するSP1000の窪み特徴を通して、SP1000で受けることができる。例示的な一実施形態では、SP1000が提供され、好ましくは、所定のデバイス100を受けるようなサイズである。しかし、代替の実施形態では、SP1000が提供され、スマートパッドが異なるサイズの複数の通信デバイスを受けることが可能なことが意図される。そのような実施形態では、SP1000は、例えば、スペーサ及び様々な調整可能特徴等の追加の要素を含むことにより、様々なサイズの通信デバイスを受け得る。
【0136】
例示的な一実施形態によれば、デバイス100及びSP1000は、様々な動作モード中、デバイス100がSP1000に接続された場合に確立されるドッキング関係を有する。例えば、一実施形態では、SP1000及びデバイス100を備えるシステムが提供され、SP1000はデバイス100を物理的に受けることが可能であり、デバイス100は、主計算デバイスとして動作可能である。そのような実施形態では、SP1000は、例えば、単純に、それ自体のCPU、メモリ等を備えるデバイス100にオーディオ特徴及びビジュアル特徴の強化を提供し得る。システムを、SP1000にドッキングされたデバイス100が、例えば、デバイス100がデバイス100の電池充電等のためにSP1000から電力を消費するより受動的なモードで提供する動作モードにし得ることがさらに意図される。
【0137】
別の例示的な実施形態によれば、デバイス100及びSP1000が提供され、デバイス100はSP1000に受けられるか、またはドッキングされ、デバイス100の大半のエリアはSP1000の1つまたは複数の区画内に位置決めされる。例えば、様々な既知のデバイスが、ドッキングされる物品を概して露出する必要があるか、または結果として露出することになり、それにより、ホストデバイスの外形寸法を実質的に変更し、及び/または一方若しくは両方のデバイスが衝突で破損する潜在性を生み出すドッキング特徴を備えるのに対して、例示的な実施形態は、デバイスが接続される際、SP1000の外形寸法が実質的に変更されないようにデバイス100を受けるSP1000が意図される。そのような構成では、デバイス100及び関連付けられた接続手段は一般に保護され、SP1000は元の形状を実質的に維持することができる。例示的な一実施形態によれば、SP1000はデバイス100を受け、及び/またはドッキングすることが可能であり、デバイス100はSP1000とロック可能な関連付けで受けられる。本明細書で使用される場合、「ロック可能」という用語はいかなる特定の構成を示すことも意図せず、またいかなる特定の構成への限定も意図しない。むしろ、ロック可能とは、本明細書に記載され、当業者に認識されるような様々な実施形態を指すことが意図される。一実施形態では、デバイス100はSP1000に接続可能であり、SP1000は、まずデバイス100をドッキングして電気的に固定する引っ張りばねと、SP1000からデバイス100を解放する取り出し特徴とを備える。さらに、より詳細に後述するように、デバイス100及びSP1000が有線及び/または無線技術を使用して等しい成功率で通信可能なことを理解されたい。さらに、別の例示的な実施形態によれば、ヒンジ付きデバイス100をSP1000に選択的に接続可能であり、デバイス100は開位置においてSP1000で受けられ、SP1000の1つまたは複数の既存のポートは、SP1000の内部収容特徴に対応し、それにより、デバイス100及びSP1000は様々な使用モードで同時に動作し得る。
【0138】
いくつかの例示的な実施形態によれば、SP1000には、取り出しボタンまたはリリースボタンが提供されて、格納またはドッキングされたデバイス100の取り出しを容易にする。
【0139】
図10は、例示的な実施形態による例示的なスマートパッド(SP)1000を示す。例示的なスマートパッドは少なくとも、デバイス100に動作可能に結合可能なより大きなタッチセンサ式ディスプレイを提供する。
【0140】
以下の説明では、表示デバイス1000と併せて「スマート」という用語が使用されるが、この用語が必ずしも、スマートパッドにインテリジェンスがあることを含意するわけではないことを理解されたい。むしろ、スマートパッド内のプロセッサ、メモリ、記憶デバイス、ディスプレイドライバ等の1つ若しくは複数及び/または例えば、ポート、バス、接続等のうちの1つ若しくは複数を介してデバイス100と共有されるこれらの要素のうちの1つ若しくは複数を含め、「インテリジェンス」が存在し得ることを理解されたい。一般に、デバイス100の機能のうちの1つまたは複数は、スマートパッド700に拡張可能であり、逆の場合も同じである。
【0141】
例示的なスマートパッド700は、画面1004と、SPタッチセンサ式ディスプレイ1010と、SP構成可能エリア1008と、SPジェスチャ捕捉領域1012と、SPカメラ1016とを含む。SP1000は、少なくとも
図11に示されるようなデバイス100を受けるように構成されたポート(この向きでは見えない)も含む。
【0142】
デバイス100は、SP1000のポート及びデバイス100の対応するポート136を介してスマートパッド1000にドッキングする。考察したように、いくつかの実施形態では、ポート136は入/出力ポート(I/Oポート)であり、I/Oポートにより、デバイス100をディスプレイ、キーボード、印刷デバイス、及び/またはSP1000等の他の周辺デバイスに接続することができる。例示的な一実施形態によれば、ドッキングは、開状態のデバイス100がSP1000の左側にスライドし、デバイス100がポート136に対応するSP1000のポートに係合することにより達成される。例示的な一実施形態によれば、デバイス100は、デバイス100がスライドするSP1000のドア付きカセットのようなスロットに係合する。(例えば、
図13参照)。しかし、2つのデバイスを物理的且つ電気的に係合させる他の構成があり得、一般に、デバイス100及びSP1000が互いに電気的通信状態にある限り、係合の様式は重要ではないことを理解されたい。
【0143】
SP1000は画面1004を含む。いくつかの実施形態では、SP1000の前面全体は、タッチセンサ式であり得、ユーザが画面104の前面に触れることにより入力を受信することが可能である。画面1004はタッチセンサ式ディスプレイ1010を含み、このディスプレイ1010は、タッチセンサ式であることに加えて、ユーザに対して情報を表示することも可能である。
【0144】
画面1004は構成可能エリア1008も含み、構成可能エリア1008は、ユーザが構成可能エリア1008の部分に触れた場合、特定の入力に向けて構成されている。エリア1012aは、ユーザが前に表示されていた情報を閲覧したいことを示す「戻る」入力を受信するように構成される。エリア1012bは、ユーザがメニューからの選択肢を閲覧したいことを示す「メニュー」入力を受信するように構成される。エリア1012cは、ユーザが「ホーム」ビューに関連付けられた情報を閲覧したいことを示す「ホーム」入力を受信するように構成される。
【0145】
他の実施形態では、エリア1012a〜cは、上述した構成に加えて、デバイス100及び/またはデバイス1000の制御特徴を含む他のタイプの特定の入力に向けて構成し得、いくつかの非限定的な例としては、全体システム電力の調整、音量の調整、輝度の調整、バイブレーションの調整、画面1004に表示されるアイテムの選択、SPカメラ1016の操作、マイクロホンの操作、及び電話呼の開始/終了が挙げられる。いくつかの実施形態では、エリア1012a〜cは、デバイス100/SP1000で実行中のアプリケーション及び/またはタッチセンサ式ディスプレイ1010に表示されている情報に応じて、特定の入力に向けて構成することもできる。
【0146】
タッチセンスに加えて、画面1004は、ユーザが画面の表示エリアに触れる必要なく、ユーザから入力を受信するエリアも含み得る。例えば、画面1004はジェスチャ捕捉エリア1012を含むことができる。これらのエリアは、ユーザが実際に表示エリアの表面に触れる必要なく、ユーザがとったジェスチャを認識することにより入力を受信することが可能である。タッチセンサ式ディスプレイ1010及び1014と比較して、ジェスチャ捕捉エリア1012は、表示された画像をレンダリングできないことがある。
【0147】
示されていないが、いくつかのハードウェア構成要素がSP1000内に存在してもよい。
図10に示されるように、SP1000はスピーカ、マイクロホン、及び1つまたは複数のカメラ1016を含むことができる。デバイス100をSP1000にドッキングすると、デバイス100の対応するデバイス(例えば、スピーカ)は、SP1000のスピーカを優先してディセーブルすることができる。同様に、画面1004、マイクロホン、スピーカ等の他の構成要素も、SP1000を優先してデバイス100でディセーブルすることができる。
【0148】
一般に、タッチセンサ式ディスプレイ1010は、フルカラータッチセンサ式ディスプレイを含み得る。各タッチセンサ式画面1004内の第2のエリアは、SPジェスチャ捕捉領域1012を含み得る。SPジェスチャ捕捉領域1012は、SPタッチセンサ式ディスプレイ1010の外部にあり、例えば、ユーザが提供するジェスチャの形態で入力を受信可能なエリアまたは領域を含み得る。しかし、SPジェスチャ捕捉領域1012は、必ずしも、表示機能または表示能力を実行可能なピクセルを含む必要があるわけではない。
【0149】
SPタッチセンサ式画面1004の第3の領域は、構成可能エリア1012を含み得る。構成可能エリア1012は、入力を受信することが可能であり、ディスプレイまたは限られた表示能力を有する。実施形態では、構成可能エリア1012は、異なる入力選択肢をユーザに提示し得る。例えば、構成可能エリア1012は、ボタンまたは他の関連可能なアイテムを表示し得る。さらに、表示されたボタンの識別情報または任意のボタンがSPタッチセンサ式画面1004の構成可能エリア1012内ですべて表示されるか否かは、デバイス1000が使用され、及び/または動作する状況から決まり得る。例示的な実施形態では、タッチセンサ式画面1004は、少なくとも、ユーザに視覚的出力を提供可能なタッチセンサ式画面1004の領域にわたって延びる液晶ディスプレイデバイスと、ユーザから入力を受信可能なタッチセンサ式画面1004の領域上の容量性入力マトリックスとを含む。
【0150】
図4A〜
図4Hを参照して上述したように、画面104、108が認識し得るジェスチャ入力の様々なグラフィカル表現は、画面1004によっても認識可能である。考察したように、ジェスチャは、指等のユーザの人体部分のみならず、画面1004の接触感知部分で感知し得る、スタイラス等の他のデバイスによっても実行し得る。一般に、ジェスチャは、ジェスチャがどこで実行されたか(ディスプレイ1004において直接か、またはジェスチャ捕捉領域1020においてか)に基づいて別様に解釈される。例えば、ディスプレイ1010でのジェスチャはデスクトップまたはアプリケーションを対象とし得、ジェスチャ捕捉領域1020でのジェスチャはシステム用として解釈し得る。
【0151】
上に加えて、SPタッチセンサ式画面1004は、画面のどの部分がフォーカスされているかを識別する際にユーザを支援するエリアも有し得る。これは、ライトバーまたは一般には、SPタッチセンサ式画面1004のどの1つまたは複数の部分がフォーカスされているかを識別するインジケータであることができる(例えば、
図29参照)。
【0152】
1つまたは複数のディスプレイコントローラ(ディスプレイコントローラ216a、216b、及び/またはSP1000の専用ディスプレイコントローラ等)を提供して、入力機能(タッチセンス)及び出力機能(表示)を含むタッチセンサ式画面1004の動作を制御し得る。
【0153】
例示的な一実施形態によれば、タッチスクリーン104及び108の各コントローラに加えて、別個のタッチスクリーンコントローラがSP1000に提供される。代替の実施形態によれば、共通または共有のタッチスクリーンコントローラを使用して、タッチセンサ式画面104及び108及び/または1004のうちの任意の1つまたは複数を制御し得る。さらなる他の実施形態によれば、タッチスクリーンコントローラの機能は、プロセッサ及びメモリまたは専用グラフィックスチップ等の他の構成要素に組み込み得る。
【0154】
同様にして、SP1000は、プロセッサ204を補うプロセッサを含み得、これらのいずれも、アプリケーションプログラミングまたは命令を実行する汎用プログラマブルプロセッサまたはコントローラを備え得る。少なくともいくつかの実施形態によれば、プロセッサは、複数のプロセッサコアを含み、且つ/または複数の仮想プロセッサを実施し得る。さらなる他の実施形態によれば、プロセッサは複数の物理的なプロセッサを含み得る。特定の例として、プロセッサは、特に構成された特定用途向け集積回路(ASIC)または他の集積回路、デジタル信号プロセッサ、コントローラ、ハードワイヤード電子または論理回路、プログラマブル論理素子またはゲートアレイ、専用コンピュータ等を含み得る。プロセッサは一般に、デバイス100及び/またはSP1000の様々な機能を実施するプログラミングコードまたは命令を実行するように機能する。
【0155】
SP1000は、任意選択的に、音声入/出力インタフェース/デバイス(図示せず)を備えて、アナログ音声を相互接続されたスピーカまたは他のデバイスに提供するとともに、アナログ音声入力を接続されたマイクロホンまたは他のデバイスから受信することもできる。例として、音声入/出力インタフェース/デバイス256は、SP1000と共に使用可能な関連付けられた増幅器及びアナログ/デジタル変換器を備え得る。代替または追加として、デバイス100は、SP1000を介して外部スピーカまたはマイクロホンを相互接続する統合音声入/出力デバイス256及び/または音声ジャックを含むことができる。例えば、統合スピーカ及び統合マイクロホンを提供して、近接通話(near talk)動作またはスピーカフォン動作をサポートすることができる。
【0156】
ハードウェアボタン(図示していないが、ハードウェアボタン158と同様である)が、例えば、特定の制御動作に関連して使用するために含むことができる。例として、
図1A〜
図1Jに関連して説明したように、マスタ電力スイッチ、音量制御等が挙げられる。カメラ等の1つまたは複数の画像捕捉インタフェース/デバイス1016を含めて、静止画像及び/またはビデオ画像を捕捉することができる。代替または追加として、画像捕捉インタフェース/デバイス1016はスキャナまたはコードリーダを含むことができる。画像捕捉インタフェース/デバイス1016は、フラッシュまたは他の光源等の追加の要素を含むか、または追加の要素に関連付けることができる。
【0157】
デバイス100及びSP1000の様々な構成要素間の通信は、1つまたは複数のバス及び/または通信チャネルにより実行することができる。加えて、電力を電源及び/または電力制御モジュール260からデバイス100及びSP1000の構成要素のうちの1つまたは複数に供給することができる。電力制御モジュール260、及び/またはデバイス100、及び/またはSP1000は、例えば、電池、AC/DC変換器、電力制御論理、及び/またはデバイス100/1000を外部電源に相互接続するポートを含むことができる。
【0158】
ミドルウェア520は、デバイスで実行中の複数のプロセスが対話できるようにする任意のソフトウェアまたはデータであってもよい。実施形態では、ミドルウェア520の少なくとも部分及び本明細書に記載される離散した構成要素は、OS516またはアプリケーション564の部分であると見なし得る。しかし、これらの部分についてはミドルウェア520の部分として説明するが、これらの構成要素はそのように限定されない。ミドルウェア520は、複数ディスプレイ管理(MDM)クラス524、サーフェスキャッシュクラス528、ウィンドウ管理クラス532、アクティビティ管理クラス536、アプリケーション管理クラス540、表示制御ブロック、1つまたは複数のフレームバッファ548、アクティビティスタック552、及び/またはイベントバッファ556を含むことができるが、これらに限定されない−これらのすべての機能はSP1000に拡張可能である。クラスは、関連する機能を有するか、またはソフトウェア階層内で関連付けられた2つ以上のモジュールの任意のグループであることができる。
【0159】
MDMクラス524は、SP1000の画面へのアプリケーションまたは他のデータの表示を管理するように動作可能な1つまたは複数のモジュールも含む。MDMクラス524の実施形態について、
図5Bに関連して説明する。実施形態では、MDMクラス524は、OS516、ドライバ512、及びアプリケーション564から入力を受信する。入力は、ユーザが要求する情報をどのように表示するかを判断するに当たってMDMクラス524を支援する。表示構成に関する判断が下されると、MDMクラス524はアプリケーション564を表示構成にバインドすることができる。次に、構成を1つまたは複数の他の構成要素に提供して、SP1000上に表示を生成し得る。
【0160】
図11は、SP1000とドッキングするデバイス100を示す例示的な実施形態を示す。より具体的には、デバイス100は、SP1000のスロット(図示せず)に挿入されている。SP1000へのデバイス100の挿入が完了すると(
図12参照)、デバイス100は、バスまたは他の有線若しくは無線電気手段1204を介してSP1000と通信する。デバイス100は、例えば、カメラ/ビデオカメラ1016、マイクロホン(Mic)、及び電力ポート1208にも接続される。
【0161】
SP1000へのデバイス100のドッキングと併せて、デバイスのうちの一方または両方は電力管理を開始することができる。例えば、デバイス100及びSP1000のうちの一方または両方は、電池、太陽電源、または任意の電源全般等の電源を含むことができ、これらのうちの任意の1つまたは複数は、デバイス100及びSP1000のうちの一方または両方への供給に使用可能である。さらに、例えば、ポート1208に接続されたAC電力アダプタの使用を通して、SP1000は、デバイス100の充電等のためにデバイス100に給電することができる。本明細書において説明する電力管理機能をデバイス100及びSP1000のうちの一方または両方に分散させて、電力が2つのデバイスで共有可能なことが理解されよう。
【0162】
電力管理機能に加えて、デバイス100がSP1000にドッキングされると、デバイス100のディスプレイをオフにして、例えば、節電することができる。さらに、SP1000が受けたスピーカ、マイクロホン、ディスプレイ、入力捕捉領域、入力等をデバイス100に転送可能なように、電気接続がデバイス100とSP1000との間で確立される。さらに、デバイス1000のディスプレイは、タッチセンサ式ディスプレイ110及び114のうちの1つまたは複数に表示されていた情報がタッチセンサ式ディスプレイ1010に表示されるようにイネーブルされる。本明細書においてさらに詳細に考察するように、SP1000は、デバイス100のデュアルディスプレイ構成を単一ディスプレイ1010でエミュレートすることができる。
【0163】
SP1000は任意選択的に、ヘッドホンジャック1212及び電力ボタン1216を備えることができる。さらに、デバイス100の任意のハードウェアボタンまたはユーザ入力ボタンをSP1000に拡張し、複製することができる。
【0164】
デバイス100とSP1000とのこのドッキングイベントは、
図3Aの状態336または344として見ることができる。明らかなように、本明細書における例示的な実施形態の1つによれば、デバイス100は、開状態210でSP1000とドッキングする。しかし、デバイス100が、閉状態304でSP1000にドッキングしてもよく、または例えば、デバイス100を必ずしもSP1000に挿入する必要なくケーブルを介してドッキングしてもよいことを理解されたい。
【0165】
図13A及び
図13Bは、本発明の例示的な実施形態によるアプリケーション向き変更を示す。特に、
図13Aは、SP1000に挿入中のデバイス100を示す。SP1000に関連付けられる前、デバイス100は、第1の画面で横向きのアプリケーション「B」及び第2の画面(部分的にSP1000により遮られる)で横向きのアプリケーション「C」で表される、両方とも横向きモードの2つのアプリケーションを有する。
【0166】
図13Bは、横向きのSP1000に関連付けられているデバイス100に基づく2つのアプリケーションのウィンドウの向き変更を示す。この例示的な実施形態によれば、デバイス100のアプリケーション「B」は、SP1000で縦向きに向き変更され、同様に、デバイス100のアプリケーション「C」も、タッチセンサ式ディスプレイ1010の右側で縦向きに向き変更される。理解されるように、デバイス100からSP1000へのアプリケーションの向き変更は、デバイス100で実行中の単一のアプリケーションに対しても同様に行うことができる。例えば、デバイス100で実行中のアプリケーションが1つのみであり、アプリケーションが横向きモードで実行中である場合、デバイス100がSP1000にドッキングされるとき、アプリケーションの向きは、SP1000の現在の向きに適切なように変更される。例えば、デバイス100のアプリケーションが縦向きモードであり、SP1000が横向きモードである場合、アプリケーションは、デバイス100での縦向きモードからSP1000での横向きモードに向き変更される。同様にして、デバイスのアプリケーションが横向きモードである場合、縦向きモードのSP1000にドッキングされると、アプリケーションは、SP1000で適切に表示されるように縦向きモードに向き変更される。
【0167】
例示的な一実施形態によれば、デバイス100の加速度計176を使用して、デバイス100及びSP1000の両方の向き、ひいてはタッチセンサ式ディスプレイ1010の向きを特定する。したがって、加速度計176は信号を出力し、その信号を、情報の表示に関連して使用して、情報がディスプレイ1010上でユーザに表示されるべき向き及び/または形式を制御する。理解されるように、向き変更は、アプリケーションに関連付けられたウィンドウの縦向きから横向きへの変換、横向きから縦向きへの変換、サイズ変更、比率変更、及び/または再描画のうちの1つまたは複数を含むことができる。
【0168】
実行中のアプリケーションを向き変更する際、アプリケーションはSP1000のディスプレイ1010に表示される。
任意選択的で例示的な実施形態によれば、フォーカスされているアプリケーションを優先することができる。例えば、ここでも
図13Bに示されるアプリケーション「B」及び「C」を使用すると、仮にアプリケーションCがドッキング前にフォーカスされていた場合、アプリケーションCを向き変更し、ディスプレイ1010の左側部分に表示することができ、ドッキング前にフォーカスされていなかったアプリケーションBは、ドッキングされるとディスプレイ1010の右側部分に表示することができる。
【0169】
別の任意選択的な実施形態によれば、フォーカスされているアプリケーションは、ディスプレイ1010に全画面モードで表示することができ、フォーカスされていないアプリケーションは、例えば、後述するカルーセル式構成であるウィンドウスタックに配置される。
【0170】
図14は、SP1000の単一アプリケーションモードの例示的な実施形態を示す。単一アプリケーションモードでは、すべてのアプリケーションが全画面で起動し、表示される。単一アプリケーションモードは、宣言バー(enunciator bar)または画面1004上の他のある位置における複数タスクアイコンにより示すことができる。
【0171】
アプリケーションの表示は、ディスプレイコントローラ544、フレームワーク520、ウィンドウ管理モジュール532、表示構成モジュール568、並びにミドルウェア520及び関連付けられたクラスのうちの1つまたは複数により管理される。単一アプリケーションモードでは、すべてのデュアル画面対応アプリケーションを、デュアル画面または最大モードで起動することができ、最大モードでは、アプリケーションがディスプレイ1010を実質的に埋めて表示される。これは、SP1000が
図14に示されるように縦向きモードであるか、または
図15に示されるように横向きモードである場合に適用可能である。これらの図では、「A」は単一のアプリケーションを表し、X1、X2は、アプリケーション「A」を変位すべきウィンドウの座標及び/または位置を表す変数である。以下において、同様の表記が複数アプリケーションモードに関しても使用され、例えば、X1が第1のアプリケーションのウィンドウの表示の座標情報を含み得、X2が第2のアプリケーションに対応するウィンドウの表示の座標情報を含み得る等々であることが理解される。
【0172】
したがって、例示的な一実施形態では、単一のアプリケーションが実行される場合、単一のアプリケーションを全画面モードで起動し、
図6Iに関連して考察される最大モードに相関付けることができ、最大モードでは、単一のアプリケーションがデバイス100の両画面に広がる。この最大モードは、
図14及び
図15に示される縦向き及び横向きの両方に適用可能であり、表示構成モジュール568は、ディスプレイ1010の略すべてまたはすべてに収まるようにアプリケーションのウィンドウを適宜サイズ変更する。
【0173】
このサイズ変更は、デバイス100のネイティブアプリケーションが実際にSP1000の向きをサポートするか否かに関係なく行うことができる。したがって、アプリケーションがデバイス100での特定の向きをサポートしない場合であっても、表示構成モジュール568は、SP1000で適切に表示されるようにアプリケーションのウィンドウを適宜再レンダリングし、及び/またはサイズ変更することができる。
【0174】
図16及び
図17は、それぞれが縦向き最大モード及び横向き最大モードでのデュアル画面アプリケーションである単一のアプリケーションをレンダリングする例示的な方法を示す。より具体的には、
図16では、縦向きモードでのデュアル画面アプリケーションのレンダリングは、ディスプレイ1010を略または完全に埋める2つの画面のうちの1つをディスプレイ1010に表示する。次に、ユーザは、例えば、ジェスチャを使用して、単一のアプリケーションの2つの画面間をスクロールすることができる。
図17に示されるように、横向きモードでは、画面1010は第1の部分1704及び第2の部分1708に分割される。この例示的な実施形態では、デュアル画面アプリケーションの第1の画面は第1の部分1704にレンダリングされ、デュアル画面アプリケーションの第2の画面は第2の部分1708にレンダリングされる。画面1010の特定の部分が説明のために、第1の部分1704及び第2の部分1708に論理的に分割されるが、各部分に割り当てられる画面の面積が、例えば、ウィンドウの最適表示、各部分に表示されている情報の種類、ユーザの好み、及び/またはアプリケーションに関連付けられたルール等のうちの1つまたは複数に基づいて変更可能なことを理解されたい。
【0175】
第1の例によれば、第1の部分には画面1010の解像度の1/3が割り当てられ、その一方で、第2の部分1708には画面面積の2/3が割り当てられる。別の例によれば、画面1010は50/50に分割される。さらに別の例によれば、第1の部分には画面1010の面積の70%を割り当てることができ、その一方で、第2の部分1708には30%を割り当てることができる。これらのウィンドウの管理及びサイズ変更はここでも、表示構成モジュール568並びにSP1000でのウィンドウの位置のレンダリングを成功させるウィンドウ管理モジュール532及びディスプレイコントローラと協働して行うことができる。
【0176】
理解されるように、デバイス1000の動作と同様にして、SP1000が向きを変更した場合(例えば、横向きから縦向き、またはこの逆に)、アプリケーションのウィンドウは、特定のアプリケーション及び現在のフォーカスがデュアル画面アプリケーションであるか、それとも単一画面アプリケーションであるかに基づいて、ウィンドウ優先度を考慮に入れて適切な向きで再描画することができる。
【0177】
SP1000が縦向き位置である場合にアプリケーションのどのウィンドウを表示すべきかを決定する際に、フォーカスを考慮に入れることもできる。例えば、アプリケーションが電子メールクライアントであり、アプリケーションが元々はデバイス1000においてデュアル画面で表示されていた場合(第1の画面が受信ボックスコンテンツを示すことを対象とし、第2の画面が、受信ボックス内の特定のアイテムのプレビューウィンドウである)、システムは、どのウィンドウが現在フォーカスされているかを評価し、SP1000が縦向きである場合、ウィンドウが縦向き最大モードで表示されることを保証することができる。
【0178】
図17では、SP1000は、デュアル画面アプリケーションからのウィンドウを単一のディスプレイ1010に統合するように構成される。この横向きでは、第1のウィンドウからのデータ(例えば、単一の画像、アプリケーション、ウィンドウ、アイコン、ビデオ等)はディスプレイ1010の第1の部分に表示され、その一方で、データ(例えば、単一の画像、アプリケーション、ウィンドウ、アイコン、ビデオ等)はディスプレイ1010の第2の部分に示される。他の出力構成と同様に、例えば、SP1000をどの状態に移すかに応じて、SP1000を示される出力構成から本明細書に記載される他の任意の出力構成に推移することが可能であり得る。
【0179】
デバイス100がSP1000にドッキングした後のSP1000内のウィンドウ管理のいくつかの他の例示的な実施形態は以下である:例えば、デバイス100が縦向きのSP1000にドッキングし、SP1000が縦向きの状態で、デバイス1000で2つの単一画面アプリケーションが実行中であり、フォーカスされているアプリケーションはディスプレイ1010の下部に配置され、フォーカスされていないアプリケーションはディスプレイ1010の上部に配置される。デバイス100が縦向きSP1000にドッキングされ、1つのデュアル画面アプリケーションがデバイス100で実行中であり、SP1000がデュアルアプリケーションモードである別の例示的なシナリオは、本明細書において考察される重力降下(gravity drop)を適用する。
【0180】
デバイス100が2つの単一画面アプリケーションを実行中であり、SP1000が横向きデュアルアプリケーションモードである別の例示的なシナリオでは、第1のアプリケーションはディスプレイ1010の第1の部分に割り当てられ、第2のアプリケーションはディスプレイ1010の第2の部分に割り当てられる。
【0181】
デバイス100が1つのデュアル画面アプリケーションを実行中であり、SP1000がデュアルアプリケーション横向きモードであるさらに別の例示的なシナリオでは、デュアル画面アプリケーションの両画面をSP1000に示すことができる。
【0182】
例えば、第1のアプリケーションがフォーカスされている場合、単一アプリケーションモードSP1000にドッキングされると、アプリケーションはドッキング後も可視のままであるように、スティッキネスをSP1000に適用することもできる。スティッキネスの別の例として、第2のアプリケーションがフォーカスされている場合、単一アプリケーションモードSP1000にドッキングされると、アプリケーション2はドッキング後も可視のままである。
【0183】
別の例によれば、デバイス100は1つのデュアル画面アプリケーションを実行中であり、最大モードで横向きSP1000にドッキングしており、ウィンドウは、上下にではなく、左右に並ぶように向き変更される。
【0184】
図18〜
図21は一般に、ディスプレイ1010での仮想キーボード1804の管理及び表示を示す。より具体的には、
図18では、縦向きモードにおいて、仮想キーボード1804はアプリケーションエリア1808の下に位置決めされ、アプリケーションは、例えば、最大モードで表示される。一般に、SPが横向きモードであるか、それとも縦向きモードであるかに関係なく、キーボードをディスプレイ1010の下部に付けられることが好ましい。しかし、例えば、ユーザの好みに基づいて、画面を画面の別の部分に付けられることもでき、または例えば、ジェスチャを介して別の位置に移動可能なことを理解されたい。
図18では、アプリケーションエリア1808は、例えば、標準アプリケーションを表示し、仮想キーボード1804はディスプレイ1010の下部に表示される。
図19では、例えば、アプリケーションエリア1908はデュアル画面対応アプリケーションを最大モードで示している。キーボード1804はここでも同様に、ディスプレイ1010の下部に表示される。
【0185】
図20では、SP横向きモードにおいて、キーボード1804はディスプレイ1010の下部に表示され、アプリケーションエリア2004はキーボード1804の上の表示可能エリアを略または完全に埋めている。
図21では、SPはここでも横向きモードであり、デュアル画面対応アプリケーションを最大モードで表示し、アプリケーションエリア1 2104及びアプリケーションエリア2 2108を表示し、キーボード1804は2つのアプリケーションエリアの下に表示される。
【0186】
一般に、
図18〜
図21に示される実施形態では、キーボードを表示すべきか否かの最初の判断が下される。キーボードを表示すべき場合、SPの向きについて次の判断がなされる。SPが縦向きモードである場合、仮想キーボードも、好ましくは画面の下部に縦向きモードで提示される。SPが横向きモードの場合、キーボードは任意選択的に、例えば、1つまたは複数のアプリケーションウィンドウが仮想キーボードの上に配置された状態で、実質的にディスプレイの下部に表示されるようにサイズ変更される。SPの向き変更に伴い、キーボードもSPの向きに一致するように向き変更される。同様に、キーボードがもはや必要ない場合、キーボードは、再びディスプレイ1010を略埋めるように拡大されたアプリケーションエリアで隠される。
【0187】
図22及び
図23は、SP1000でのウィンドウ位置を管理する例示的な方法を示す。特に、
図22では、アプリケーションX2204はディスプレイ1010上で視野内にある。ジェスチャ捕捉領域1020において2208で表されるスワイプ運動等のユーザ入力を受信すると、アプリケーションXは左に「スクロール」し、
図23に示されるように、デュアル画面アプリケーションA1|A2を置換する。同じジェスチャ2208を繰り返す場合、アプリケーションZが表示される。同じように、
図22のジェスチャ2208が逆方向の右であった場合、アプリケーションYがディスプレイ1010に表示される。利用可能なウィンドウを通してのスクロールは、当然、SPの横向きモード及び縦向きモードの両方で同様に適用可能である。例えば、縦向きモードでは、左から右または右から左に移動するジェスチャの代わりに、ジェスチャは下方移動または上方移動であることができ、ウィンドウの仮想スタックは、ローロデックス(rolodex)と同様にデバイスの「上」または「下」に配置される。したがって、ユーザが下方型ジェスチャを開始した場合、次に「上」のアプリケーションがディスプレイ1010に表示される。
【0188】
図24は、SP1000の複数アプリケーションモードを示し、複数アプリケーションモードでは、SP1000はデバイス100をミニタブレット形式でエミュレートする−このモードは任意選択的に、複数アプリケーションボタン(以下に示され、説明される)の選択により呼び出される。このモードを理解する簡単な方法は、モードが開かれているデバイス100をエミュレートすることを理解することである。この複数アプリケーションモードでは、SP1000は、デバイス100での情報の表示に関するルールを継承することができる−例えば、すべてのアプリケーションが単一画面モードで起動されるというルール。1つの例外は、機会が提供される場合、最大モードをサポートするアプリケーションをデフォルトで自動的にこのモードに拡大することができることであり得る。
【0189】
このモードでは、各アプリケーションは、アプリケーションが各向き(例えば、縦向き及び横向き)でどのように現れるかを決定する能力を有する。
図26は、SP1000の複数アプリケーションモードを管理する例示的な方法を示す。複数アプリケーションモードでは、複数のアプリケーションをディスプレイ1010内で管理し表示することができる。複数アプリケーションモードでは、単一の画面を有するSP1000は、デバイス100のデュアル画面をエミュレートする。複数アプリケーションモードを開始するために、ボタン/トグル2618が選択され、それにより、ユーザは、ディスプレイ1010に表示する複数のアプリケーションを選択することができる。この例示的な実施形態では、第1のアプリケーション2604Cは、縦向きモードSP1000の上部に示され、第2のアプリケーション2608Dは画面1010の下部に示される。複数アプリケーションモードで複数のアプリケーションを表示することと併せて、フォーカスインジケータ2616を提供して、どのアプリケーションがフォーカスされているかを識別するに当たってユーザを補助することができる。考察したように、このフォーカスインジケータはライトバーまたはどのアプリケーションがフォーカスされているかに向けてユーザの注意を引く他のインジケータ(画面1010内または傍のインジケータ2608等)であることができる。
図26の例示的な実施形態では、アプリケーションD2608が、フォーカスバー2616で表されるようにフォーカスされている。この例示的な実施形態によれば、フォーカスバー2616はジェスチャ捕捉領域1020に示されるが、フォーカスインジケータはSP1000の他のある部分に配置することも可能なことを理解されたい。例えば、フォーカスされているアプリケーションのウィンドウは、ウィンドウに隣接してピクセルバーを表示できるようにわずかにサイズ変更することができ、ピクセルバーは同様に、そのアプリケーションがフォーカスされていることをユーザに対して注意喚起する。同様に、フォーカスされているアプリケーションは、通常の輝度で表示することができ、その一方で、フォーカスされていないアプリケーションはわずかに暗くすることができる。一般に、どのアプリケーションがフォーカスされているかを容易に判断するに当たってユーザを補助するために、任意の教示を使用することができる。
【0190】
フォーカスを変更するために、ユーザは本明細書において考察された任意のジェスチャを使用することができ、または例えば、アプリケーションCが表示されているエリアに単に触れ、それにより、フォーカスをアプリケーションCに変更することができ、その時点で、アプリケーションCの隣へのフォーカスインジケータ2616の対応する配置替えが行われる。
【0191】
図27は、横向きモードSP1000での同様のシナリオを示す。特に、複数アプリケーションモードが選択されると、ディスプレイ1010は、この例では、第1のアプリケーションD2712及び第2のアプリケーションF2708に分割される。ここでは、アプリケーションDはディスプレイ1010の右側部分に表示され、アプリケーションFはディスプレイ1010の左側部分に表示される。この例示的な実施形態では、ディスプレイの面積は2つのアプリケーションに50/50で分割されるが、一方のアプリケーションを他方のアプリケーションよりも大きなディスプレイ1010の部分に表示してもよいことを理解されたい。この特定の例示的な実施形態では、フォーカスインジケータ2416で表されるように、アプリケーションDがフォーカスされている。
【0192】
複数アプリケーションモードでは、縦向き及び横向きの両方において、各アプリケーションは、
図22及び
図23に示されるように、各自の関連付けられたウィンドウスタックを有してもよく、または表示されているすべてのアプリケーションで1つのスタックを共有してもよい。より具体的には、各アプリケーションが各自のスタックを有し、スタック構造が
図22に示される構造と同様である場合、1つのスタックが、アプリケーションC等の第1のアプリケーションに提供され、同様のスタックがアプリケーションDに提供される。これらの各スタックは、例えば、上述したようなジェスチャを使用して独立してスクロールすることができる。
【0193】
図28は、本発明の別の実施形態による画面ディスプレイ特徴を管理する例示的な方法を示す。この実施形態によれば、アプリケーションが最大化可能であるか否かが判断され、最大化可能な場合、デュアル画面モードまたは最大モードに適宜拡張されて、この図に示されるようにディスプレイ1010を略埋める。ここでは、最大化可能なアプリケーションであるアプリケーションE1が、最大モードを使用して拡大されて、ディスプレイ1010を略または完全に埋めている。
【0194】
図28では、ボタン2618により、ユーザは単一画面モード(
図28に示されるような)と、例えば、
図26及び
図27に示されるようなエミュレートされたデュアル画面モードとを切り替えることができる。ここで、ボタン2618は「|」を含まず、したがって、SP1000が単一画面モードであることをユーザに示す。
【0195】
図29は、ウィンドウを管理する例示的な方法を示す。この例示的な実施形態では、デバイス100の動作と同様に、スタック内の最後のアプリケーションが脇に移動すると、デスクトップが表示される。さらに具体的には、
図29に示されるように、アプリケーションF2908はディスプレイ1010の上部に表示され、デスクトップ2912はディスプレイ1010の下部に表示される。ここでは、フォーカスインジケータ2916に示されるように、デスクトップがフォーカスされている。この構成は、ユーザがデュアル画面エミュレーションモードボタン2618を選択したために利用することができる。
【0196】
図30は、一実施形態によるキーボードを表示する例示的な方法を示す。特に、SPが縦向きモードの場合、SPはキーボードエリア3004及びアプリケーションエリア3008を有する。キーボード3004が表示されると、アプリケーションエリア3008内のアプリケーションは、キーボード3004で占められていない画面のエリアを略または完全に埋めるようにサイズ変更される。
【0197】
図31A及び
図31Bは、SP横向きモード及びSP縦向きモードの両方において、単一アプリケーションモード及びデュアルアプリケーションモードの両方でデスクトップが利用可能なことを示す。特に、例示的な実施形態によれば、デスクトップ3104は画面1010の全体を占める。さらに、デスクトップが全画面モードで示されるこの例示的な実施形態によれば、宣言バー1312は、画面1010の全体にわたって拡大することができる。これは、
図31Aに示される縦置きモード並びに
図31Bに示される横向きモードの両方で行うことができる。ここから、アプリケーションランチャ3116が選択されると、アプリケーションランチャは任意選択的に、縦向きモードまたは横向きモードで画面1010の全体にわたって拡大することができる。同様に、ファイルエクスプローラボタン3120を押下することにより起動されるファイルエクスプローラも同様に、画面1010のスペースの略すべてまたはすべてに拡大することができる。
【0198】
図32A及び
図32Bは、デバイス100からSP1000へのデスクトップの遷移に必要とされ得る画面再描画を示す。特に、
図32Aでは、6つの例示的なデスクトップパネルが示される3204〜3224。これらのデスクトップパネルは、ユーザからのジェスチャ入力に基づいて回転木馬のように移動可能である。しかし、これらのパネルを直接翻訳して、パネルを歪ませずに、または画面1010の全体を占有せずに、SP1000に正確に表示することが可能ではないことがある。したがって、例示的な一実施形態によれば、SP1000に表示される場合、画面1010のすべてまたは略すべてを収容するために、パネル3204〜3224のうちの1つまたは複数をサイズ変更することができる。別の例示的な実施形態によれば、パネルD2 3208の部分、パネルD3 3212の部分、及びパネルD4 3216の部分等のパネルのうちの3つ以上を画面1010に示すことができる。このようにして、SP1000に示されるデスクトップは、デバイス100に示されるデスクトップパネルと同様のルックアンドフィールを有する。同じ回転木馬のような移動が、ユーザがデスクトップの1つまたは複数のパネルにスクロールできるように、SP1000へのジェスチャ入力を介して利用可能である。
【0199】
図33は、デバイス100とかなり類似してSP1000で挙動する例示的な通知表示を示す。特に、縦向きモードであるか、それとも横向きモードであるかに関係なく、通知及び状態/トグルボタンが提供され、それにより、ユーザは、例えば、Bluetooth(登録商標)、WiFi、画面ロック、デュアルまたは単一画面モード、電力オプション等をオンまたはオフに切り替えることができる。これらは、他の選択肢と同様に、一般にエリア3304に示される。上述した搬送波情報、通知情報、通信情報等のうちの1つまたは複数を含む追加の通知をエリア3308に示すこともできる。
【0200】
より詳細には、エリア3304は、WiFiトグルオン・オフ、Bluetooth(登録商標)トグルオン・オフ等の標準ウィジェットのいくつかのボタンを提供する。画面ロックトグルにより、例えば、ユーザは、画面をロックし、それにより、SP1000の向きにも拘わらず回転しないようにすることができる。トグルは、色または表示特徴を変更して、画面ロックがイネーブルされているか否かを示すことができる。単一/デュアルアプリケーションモードボタンは、例えば、デュアルアプリケーションモード状態、単一アプリケーションモード状態、及び単一アプリケーションロック状態を含む3つの異なる状態を切り替える。電力モードトグルは、ハンドセット最適化、SP最適化、またはハイブリッド消費電力等を切り替える。これらの電力モードには、デバイス100及びSP1000の電力レベルにそれぞれ対応する2つの電池状態インジケータ3312及び3316により示されるように、電力レベルに関連付けることができる。
【0201】
図34A及び
図34Bは、アプリケーションランチャボタン3116が選択された場合、アプリケーションランチャを起動し表示する例示的な方法を示す。
図34Aに示される縦向きモード及び
図34Bに示される横向きモードの両方において、SPが単一アプリケーションモードである場合、必ずしも画面1010の全体を占有する必要がないように、アプリケーションランチャはバブル内に表示することができる。しかし、例えば、ユーザによる適切なジェスチャまたは入力を受信すると、アプリケーションランチャを拡大して、画面1010の全体を占めることができる。これは、画面1010の全体を占めないように、デフォルトが常にアプリケーションランチャをバブル内で開くか、または画面1010の略すべてまたはすべてを占めて、常に全画面モードで開くことであるように、優先度でさらに分類することができる。
【0202】
図35A及び
図35Bは、システムが完全にはビュー内にはないデスクトップパネルの内容についての「ヒント」を提供することができる任意選択的な実施形態を示す。より具体的には、
図35Aは、デスクトップパネルD1〜D6、3504〜3524のそれぞれの第1の実施形態を示す。考察したように、ユーザは、カルーセル様式でこれらのパネルを通してスクロールして、D1〜D6内の任意の内容を明らかにすることができる。同じパネルD1〜D6がユーザによる閲覧に提供される、
図35Bに示される任意選択的な実施形態によれば、ユーザに、1つまたは複数の隣接するパネル、ここではD2 3508及びD5 3520のプレビューが与えられる。この構成では、このユーザは、必ずしもカルーセルのような様式でスクロールして、パネルの全体を見る必要なく、隣接するパネルの内容を「のぞき見」することが可能である。より具体的には、パネルD3 3512及びD4 3516の全体がディスプレイ1010に示される。さらに、パネルD2 3508の約1/3及びパネルD5 3520のおよそ1/3もディスプレイ1010に示される。理解されるように、パネルD2及びD5の約1/3よりも大きいか、または小さい部分を示してもよく、示されるパネルが大きいほど、デスクトップのその部分のユーザに対する可視性が高くなる。
【0203】
図36は、ウィンドウのスタックを複数アプリケーションモードで管理する任意選択的な実施形態を示す。この洗練された方法は、概念モデルを補強し、複数アプリケーションモードでのスタックの「カルーセル」式構成を空間的に視覚化するに当たってユーザを支援する。理解されるように、
図36に示される例示的な実施形態はSP1000の縦向きモードに関するが、横向きモードでも等しく上手く機能することができ、違いは、上から下または下から上式構成で回転するカルーセルの代わりに、「カルーセル」を左から右または右から左というタイプの動きで操作することができる。しかし、カルーセルは、横向きモードでも同様に上から下または下から上モードで機能することもできる。
【0204】
この例示的な実施形態では、複数アプリケーションモードがボタン2618を介してイネーブルされている場合、アプリケーションC3604及びアプリケーションD3608は、セパレータ3612により隔てて表示することができる。この任意選択的で例示的な実施形態によれば、アプリケーションC3604の背後に1つまたは複数のオーバーフローアプリケーションもあり、ここでは、オーバーフローアプリケーションは3424及び3428である。同様にして、アプリケーションD3608の背後にも1つまたは複数のオーバーフローアプリケーション、ここではアプリケーション3416及びアプリケーション3420があり得る。この特定の例示的な実施形態では、戻る及びメニューボタン3432は、アプリケーションスタックの背後に見られるデスクトップ3436の部分を用いてイネーブルすることができる。ジェスチャ3440等の1つまたは複数の入力ジェスチャを受信すると、ユーザはアプリケーションの「カルーセル」を通してスクロールし、この場合、アプリケーションD3608をアプリケーションC3604の位置に配置替えし、それにより、アプリケーション3416を明らかにすることができる。さらに、フォーカスインジケータを、フォーカスされているアプリケーションの近傍に表示することができる。この特定の例では、フォーカスインジケータ3444はアプリケーションDの脇に表示される。任意選択的で例示的な実施形態によれば、ユーザがアプリケーション3420またはアプリケーション3428等の最後のアプリケーションに達した場合、スタックを「停止」させる代わりに、アプリケーションをカルーセル式に重ね、ユーザによる1つまたは複数の入力ジェスチャに応答して連続して回転することができる。
【0205】
これらの概念は、キーボードも複数アプリケーションモードで表示される状況に拡張することができる。例えば、
図37に示されるように、キーボード3704はアプリケーションスタック3708の下に表示される。アプリケーションスタック3708の「背後」には、ユーザが、例えば、ジェスチャ3720の開始を介してアクセスすることができる追加のアプリケーション3712及び3716がある。この例示的な実施形態は、ビュー内外への回転木馬のような様式でのアプリケーションスクロールを有し、キーボード3704は、例えば、ディスプレイ1010の底部で可視のままである。
図35の実施形態と同様に、戻る及びメニューボタンをイネーブルし、例えば、グラフィカルボタン3724で示されるように、ディスプレイ1010に視覚的に表示することができる。
【0206】
図38は、デバイス100をスマートパッド1000にドッキングする例示的な方法を概説する。特に制御はステップS3802において開始され、ステップS3804に続く。ステップS3804において、SPへのデバイスへの挿入が検出される。次に、ステップS3806において、電力管理を任意選択的に開始することができる。例えば、考察したように、SPをデバイスの電源として使用してもよく、デバイスをSPの電源として使用してもよく、電力を2つのデバイスで共有してもよく、且つ/または例えば、SP及びデバイス100のうちの一方または両方を充電可能なACアダプタを介してSPを差し込んでもよい。次に、ステップS3808において、デバイス100のディスプレイは任意選択的にオフになり、例えば、節電する。次に、制御はステップS3810に続く。ステップS3810において、通信及び/または接続がデバイス100とSPとの間で確立される。次に、ステップS3812において、SPのディスプレイ及び他の入/出力機能がイネーブルされる。次に、ステップS3814において、デバイスソフトウェア設定はスマートパッドハードウェア設定にマッピングされる。次に、制御はステップS3816に続く。
【0207】
ステップS3816において、デバイスの画面の向きは、SPの向きに自動的に合わせられる。次に、ステップS3818において、デバイスでフォーカスされている最後のアプリケーションはフォーカスされたままであり、SPに表示される。次に、通常動作及びSPとの対話は引き続き、例えば、デバイス100で使用可能なジェスチャと同じジェスチャを利用する。次に、制御はステップS3820に続き、制御シーケンスは終了する。
【0208】
図39は、アプリケーション/ディスプレイ向き/向き変更の例示的な方法を示す。特に、制御はステップS3900において開始され、ステップS3902に続く。ステップS3902において、SPの向きが検出される。次に、ステップS3904において、デバイスでのアプリケーションの向きが検出される。次に、ステップS3906において、表示された1つまたは複数のアプリケーションが、SPと同じ向きになるように向き変更される。加えて、向き変更の必要性に基づいて、アプリケーションの再描画またはサイズ変更を、SPに表示されているアプリケーションに対して行うこともできる。次に、制御はステップS3908に続き、制御シーケンスは終了する。
【0209】
図40は、キーボードを管理する例示的な方法を概説する。特に、制御はステップS4000において開始され、ステップS4002に続く。ステップS4002において、キーボード要求が検出されたか否かが判断される。キーボード要求が検出されていない場合、制御は元のステップS4000に飛び、その他の場合、制御はステップS4004に続く。ステップS4004において、SPの向きが判断される。SPが横向きの場合、制御はステップS4010に飛び、その他の場合、制御はステップS4006に続き、SPは縦向きである。ステップS4006において、キーボードは縦向きモードで表示される。
【0210】
次に、ステップS4008において、向き変更があったか否かが判断される。向き変更があった場合、制御はステップS4010に飛び、その他の場合、制御はステップS4014に続く。
【0211】
ステップS4010において、キーボードは横向きモードで表示される。次に、ステップS4012において、SPの向きが変更されたか否かが判断される。向きが変更された場合、制御はステップS4006に飛び、その他の場合、制御はS4014に続く。
【0212】
ステップS4014において、キーボードを隠すべきか否かが判断される。キーボードを隠すべき場合、制御はステップS4016に続き、その他の場合、制御は元のステップS4004に続く。
【0213】
ステップS4016において、キーボードが隠され、制御はステップS4018に続き、制御シーケンスは終了する。
図41は、ウィンドウ管理の例示的な方法を示す。特に、制御はステップS4100において開始され、ステップS4102に続く。ステップS4102において、ジェスチャが検出される。理解されるように、デバイス100と同様に、このジェスチャはタッチセンサ式ディスプレイの構成可能エリア及び/またはジェスチャ捕捉領域にあることができる。ステップS4104において、ジェスチャ方向を任意選択的に検出することができる。次に、ステップS4106において、次のアプリケーションウィンドウを視界に持ってきて、例えば、ユーザがアプリケーションウィンドウスタックを通してスクロールできるようにする。次に、別のジェスチャが検出されたか否かが判断される。別のジェスチャが検出された場合、制御は元のステップS4104に飛び、その他の場合、制御はステップS4110に続く。
【0214】
図42は、画面管理の例示的な方法を概説する。特に、制御はステップS4200において開始され、ステップS4202に続く。ステップS4202において、複数アプリケーションモードが、例えば、ボタンまたはトグルの選択を介してイネーブルされる。次に、ステップS4204において、ユーザは任意選択的に、どのアプリケーションが表示されるかを選択するように促される。代替の実施形態では、スタック内の2つの隣接するアプリケーションが表示され、アプリケーションの一方は現在フォーカスされているアプリケーションである。次に、ステップS4206において、画面は分割され、画面の第1の部分は第1のアプリケーションを表示し、画面の第2の部分は第2のアプリケーションを表示する。次に、ステップS4208において、フォーカスされていると検出されたアプリケーションが、次に、ステップS4210において、SPにおいて強調表示される。次に、制御はステップS4212に続く。
【0215】
ステップS4212において、新しいアプリケーションがフォーカスされたか否かが判断される。新しいアプリケーションがフォーカスされた場合、制御は元のステップS4210に飛び、そのアプリケーションが「フォーカス中」インジケータを用いて強調表示される。その他の場合、制御はステップS4214に続き、制御シーケンスは終了する。
【0216】
図43は、ウィンドウ管理の例示的な方法を概説する。特に、制御はステップS4300において開始され、ステップS4302に続く。ステップS4302において、アプリケーションを最大化できるか否かが判断される。次に、ステップS4304において、アプリケーションが最大化可能な場合、制御はステップS4306に飛び、アプリケーションがデュアル画面モードまたは最大モードに拡大される。次に、制御はステップS4308に続き、制御シーケンスは終了する。
【0217】
図44は、アプリケーションウィンドウからデスクトップに遷移する例示的な方法を概説する。特に、制御はステップS4400において開始され、ステップS4402に続く。ステップS4402において、アプリケーションウィンドウスタック内の最後のアプリケーションが検出される。次に、ステップS4404において、「次の」ウィンドウを要求するジェスチャが検出されるが、現在のウィンドウはウィンドウスタック内の最後のアプリケーションである。このシナリオでは、ステップS4406において、アプリケーションウィンドウスタック内に表示するウィンドウがもうないという点で、デスクトップが表示される。次に、制御はステップS4408に続き、制御シーケンスは終了する。
【0218】
図45は、SP1000でデバイス100の複数画面ディスプレイをエミュレートする例示的な方法を示す。特に、制御はステップS4500において開始され、ステップS4502に続く。ステップS4502において、デスクトップはSPに表示される。次に、ステップS4504において、デスクトップは、SP上で、例えば2つのセクションに論理的に分割される。次に、ステップS4506において、デスクトップの第1の画面が、SPディスプレイの第1の論理的な部分に表示される。次に、ステップS4508において、デスクトップの第2の画面が、SPディスプレイの第2の論理的な部分に表示される。次に、制御はステップS4510に続く。
【0219】
ステップS4510において、ディスプレイに示される「パネル」のカルーセル移動を、ジェスチャ等のユーザ入力を通して開始することができる。次に、制御はステップS4512に続き、制御シーケンスは終了する。
【0220】
図46は、SPのデスクトップの複数の「パネル」を表示する例示的な方法を概説する。特に、制御はステップS4600において開始され、ステップS4602に続く。ステップS4602において、デスクトップの部分がSPに表示される。次に、ステップS4604において、デスクトップは、複数のデスクトップ「パネル」を収容するようにスマートパッド上で論理的に分割される。次に、ステップS4608において、デスクトップの第1の画面またはパネルは、SPディスプレイの1つの論理的な部分に表示される。次に、ステップS4610において、デスクトップの第2の画面またはパネルが表示され、SPディスプレイの第1及び第2の論理的な部分を橋渡しする。次に、デスクトップの第3の画面またはパネルが、SPディスプレイの第2の論理的な部分に表示される。次に、制御はステップS4614に続く。
【0221】
ステップS4614において、パネルのカルーセル移動は、例えば、ユーザによるジェスチャの入力により影響を受けることができる。次に、制御はステップS4616に続き、制御シーケンスは終了する。
【0222】
図47は、デスクトップの1つまたは複数の部分を表示する例示的な方法を概説する。特に、制御はステップS4700において開始され、ステップS4702に続く。ステップS4702において、デスクトップへのアクセス要求が検出される。次に、ステップS4704において、少なくとも1つのデスクトップパネルが表示される。次に、ステップS4706において、少なくとも1つの追加のデスクトップパネルが、デスクトップに部分的に表示される。次に、制御はステップS4708に続く。
【0223】
ステップS4708において、ジェスチャが検出されると、部分的に表示されたパネルをSPのディスプレイに完全に表示することができる。次に、制御はステップS4710に続き、制御シーケンスは終了する。
【0224】
図48は、複数アプリケーションモードでウィンドウを管理する例示的な方法を概説する。特に、制御はステップS4800において開始され、ステップS4802に続く。ステップS4802において、複数アプリケーションモードになる。次に、ステップS4804において、ウィンドウスタックは、1つまたは複数のアプリケーションが第1のアプリケーションの背後で部分的に可視になるように構成される。次に、ステップS4806において、スタックは、1つまたは複数のアプリケーションが第2のアプリケーションの背後で部分的に可視であるように構成される。次に、ステップS4808において、ユーザから入力ジェスチャを受信すると、スタックの終わりに達するまで、スタックを通して回転木馬のような(Carousel−Like)スクロールをイネーブルすることができ、または第2の実施形態では、スタックは、スタックを通しての連続スクロールが可能な「円形」構成を有することができる。次に、制御はステップS4810に続き、制御シーケンスは終了する。
【0225】
スマートパッド及びデバイスとの相互作用との関連で、本開示の例示的なシステム及び方法について説明してきた。しかし、本開示を不必要に曖昧にすることを避けるため、前の記述では多くの公知の構造及びデバイスを省略する。この省略は、特許請求の範囲を限定するものと解釈してはならない。具体的な詳細は、本開示の理解を与えるために記載する。しかし、本開示は、本明細書に記載される具体的な詳細の域を超えるさまざまな方法で実施できることを理解されたい。
【0226】
例えば、スマートパッドは、複数の物理的及び/または論理的な画面/ディスプレイを有しうる。加えて、スマートパッドは、スタイラス、マウスのような、一つ又は複数の入力デバイスと共に用いることができる。さらに、スマートパッドは、スタンドアローン動作を可能とするプロセッサ、メモリ、通信手段等を装着されることができる。さらに、スマートパッドは、スマートフォンのような他のタイプの通信デバイスと関連付けられ、又はドッキングされ得、これによりスマートパッドはディスプレイ及び/またはI/Oインタフェースとして使用され得る。
【0227】
その上、本明細書に示される例示的な態様、実施形態及び/または構成は、並置されるシステムのさまざまなコンポーネントを示すが、システムのあるコンポーネントは、LAN及び/またはインターネットなどの分散型ネットワークの遠方部に、または、専用システム内で遠隔設置することができる。したがって、システムのコンポーネントを、タブレット様デバイスのような1つまたは複数のデバイスに組み合わせることも、アナログ及び/もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または、回路交換ネットワークなどの分散型ネットワークの特定のノード上に並置することもできることを理解されたい。前の記述から、演算効率のため、システムのコンポーネントは、システムのオペレーションに影響を及ぼすことなく、コンポーネントの分散型ネットワーク内のいずれの位置にも配置できることが理解されよう。例えば、さまざまなコンポーネントは、PBX及びメディアサーバ、ゲートウェイなどのスイッチに、1つもしくは複数の通信デバイスに、1つもしくは複数のユーザの構内で、または、それらのいくつかの組合せで配置することができる。同様に、システムの1つまたは複数の機能部分は、電気通信デバイスと関連コンピューティングデバイスとの間で分散させることが可能である。
【0228】
その上、要素を接続するさまざまなリンクは、有線リンクでも無線リンクでも、その任意の組合せでも、接続された要素への及び接続された要素からのデータの供給及び/または通信が可能な他の任意の公知のまたは後に開発された要素でもあり得ることを理解されたい。これらの有線または無線リンクは、保護されたリンクでもあり得、暗号化された情報を通信できる場合もある。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線及び光ファイバを含む任意の適切な電気信号のキャリアであり得、電波及び赤外線データ通信中に生成されるものなどの音波または光波の形をとることができる。
【0229】
また、イベントの特定のシーケンスとの関連でフローチャートについて論じ示してきたが、開示される実施形態、構成及び態様のオペレーションに実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加及び省略が起こり得ることを理解されたい。
【0230】
さらなる別の実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラ及び周辺集積回路素子、ASICもしくは他の集積回路、デジタル信号プロセッサ、個別素子回路などの配線電子もしくは論理回路、PLD、PLA、FPGA、PALなどのプログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、任意の同等な手段、または、同様のものと併せて実施することができる。一般に、本明細書に示される方法論の実施が可能な任意のデバイスまたは手段を使用して、本開示のさまざまな態様を実施することができる。開示される実施形態、構成及び態様に使用できる例示的なハードウェアは、コンピュータ、携帯用デバイス、電話(例えば、携帯電話、インターネット可能な、デジタル、アナログ、ハイブリッド及び他のもの)、及び、当技術分野で知られている他のハードウェアを含む。これらのデバイスのいくつかは、プロセッサ(例えば、単一または複数のマイクロプロセッサ)、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。その上、これらに限定されないが、分散処理もしくはコンポーネント/オブジェクト分散処理、並列処理、または、仮想マシン処理を含む代替のソフトウェア実装形態は、本明細書に記載される方法を実施するよう構築することもできる。
【0231】
さらなる別の実施形態では、開示される方法は、さまざまなコンピュータまたはワークステーションプラットフォームで使用することができるポータブルソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用するソフトウェアと併せて容易に実施することができる。あるいは、開示されるシステムは、標準論理回路またはVLSI設計を使用してハードウェアで部分的または完全に実装することができる。本開示に従ってシステムの実装にソフトウェアまたはハードウェアを使用するかどうかは、システムの速度及び/または効率要件、特定の機能、ならびに、利用する特定のソフトウェアまたはハードウェアシステムまたはマイクロプロセッサまたはマイクロコンピュータシステムに依存する。
【0232】
さらなる別の実施形態では、開示される方法は、記憶媒体に格納することができ、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ及び同様のもの上で実行されるソフトウェアで部分的に実施することができる。これらの例では、本開示のシステム及び方法は、アプレット、ジャバ(JAVA)(登録商標)またはCGIスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバまたはコンピュータワークステーション上に常駐するリソースとして、専用測定システム、システムコンポーネントまたは同様のものに組み込まれたルーチンとして実施することができる。また、システムは、ソフトウェア及び/またはハードウェアシステムにシステム及び/または方法を物理的に組み込むことによっても実装することができる。
【0233】
本開示は、特定の規格及びプロトコルを参照して、態様、実施形態及び/または構成で実装されるコンポーネント及び機能について説明するが、態様、実施形態及び/または構成は、そのような規格及びプロトコルに制限されない。本明細書で言及されない他の同様の規格及びプロトコルも存在し、本開示に含まれるものと考えられる。その上、本明細書で言及される規格及びプロトコルならびに本明細書で言及されない他の同様の規格及びプロトコルは、本質的に同じ機能を有するより速いまたはより効果的な均等物に定期的に取って代わられる。同じ機能を有するそのような置換規格及びプロトコルは、本開示に含まれる均等物と考えられる。
【0234】
さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び記載されるように実質的にコンポーネント、方法、プロセス、システム及び/または装置を含み、さまざまな態様、実施形態、構成実施形態、サブコンビネーション及び/またはそのサブセットを含む。当業者であれば、本開示を理解した後で、開示される態様、実施形態及び/または構成をどのように作成し使用するか理解されよう。さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び/または記載されていないアイテムなしで、または、本明細書のさまざまな態様、実施形態及び/または構成で、デバイス及びプロセスを提供することを含み、例えば、性能を向上させ、容易に実装を実現し、及び/または、実装コストを削減するために、前のデバイスまたはプロセスで使用された可能性があるようなアイテムがない場合も含む。
【0235】
前述の論考は、例示と説明を目的として提示してきた。前述は、本明細書に開示される1つまたは複数の形態に本開示を制限することを意図しない。前述の発明を実施するための形態では、例えば、本開示を合理化する目的で、1つまたは複数の態様、実施形態及び/または構成で、本開示のさまざまな特徴が一緒に分類される。本開示の態様、実施形態及び/または構成の特徴は、上記で論じられたもの以外の代替の態様、実施形態及び/または構成で組み合わせることができる。本開示のこの方法は、請求項が各請求項に明確に列挙されているものより多くの特徴を要求するという意図を反映するものとして解釈してはならない。むしろ、以下の請求項が反映するように、発明の態様は、単一の前述の開示される態様、実施形態及び/または構成のすべての特徴よりも少ないことにある。したがって、以下の請求項は、本明細書によって、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別々の好ましい実施形態としてそれ自体を主張する。
【0236】
その上、説明には1つまたは複数の態様、実施形態及び/または構成の説明、ならびに、ある変形形態及び変更形態が含まれるが、例えば、本開示を理解した後で、当業者の技能及び知識の範囲内となり得るように、他の変形形態、組合せ及び変更形態は本開示の範囲内である。許可される範囲の代替の態様、実施形態及び/または構成を含む権利を得ることを意図し、そのような代替の、交換可能な及び/または均等な構造、機能、範囲または工程が本明細書で開示されるか否かにかかわらず、いかなる特許可能な対象物も公的に献納することを意図することなく、特許請求されたものに対する代替の、交換可能な及び/または均等な構造、機能、範囲または工程を含む。