(58)【調査した分野】(Int.Cl.,DB名)
請求項1記載の方法において、前記仮想入力パネルが、仮想キーボード、タッチ・ジェスチャー入力パネル、手書きエリア、およびソフトウェア入力パネルの内の1つである、方法。
請求項1記載の方法であって、更に、前記仮想入力パネルが表示されるときに、前記コンテンツ・エリアの少なくとも一部分が見えるように、前記コンテンツ・エリアの位置を調整するステップを含む、方法。
請求項1記載の方法において、前記相互作用エリアが、プレゼンテーション・アプリケーション内の注記エリア、および前記プレゼンテーション・アプリケーション内のスライドのセクションの内の少なくとも1つ内にある、方法。
請求項1記載の方法であって、更に、前記仮想入力パネルの表示下部のコンテンツの少なくとも一部分が可視化されたままとなるように、前記仮想入力パネルをアルファ・ブレンドして表示するステップを含む、方法。
請求項5記載の方法であって、更に、前記仮想入力パネルが前記表示から取り除かれたのに応じて、前記コンテンツ・エリアを、以前に表示したサイズおよび位置に戻すよう調整するステップを含む、方法。
請求項9記載のシステムにおいて、前記仮想入力パネルが、仮想キーボード、タッチ・ジェスチャー入力パネル、手書きエリア、およびソフトウェア入力パネルの内の1つである、システム。
請求項9記載のシステムにおいて、前記方法が、更に、前記仮想入力パネルが表示されるときに、前記コンテンツ・エリアの少なくとも一部分が見えるように、前記コンテンツ・エリアを調整するステップを含む、システム。
請求項9記載のシステムにおいて、前記方法が、更に、前記仮想入力パネルの表示下部のコンテンツの少なくとも一部分が可視化されたままとなるように、前記仮想入力パネルをアルファ・ブレンドして表示するステップを含む、システム。
請求項9記載のシステムにおいて、前記方法が、更に、前記仮想入力パネルを前記コンテンツ・エリアの表示から取り除かれるのに応じて、前記コンテンツ・エリアを、以前に表示されていたサイズに戻すよう調整するステップを含む、システム。
請求項16記載のメモリ・デバイスにおいて、前記コンテンツ・エリアの表示を調整するステップが、前記スクロール可能コンテンツ・エリアの位置を調整するステップを含む、メモリ・デバイス。
請求項16記載のメモリ・デバイスにおいて、前記行動が更に、前記仮想入力パネルが表示されるときに、前記調整されたスクロール可能コンテンツ・エリアの少なくとも一部分が見えるように、前記スクロール可能コンテンツ・エリアを調整するステップを含む、メモリ・デバイス。
請求項16記載のメモリ・デバイスにおいて、前記仮想入力パネルを表示する前に、前記スクロール可能コンテンツ・エリアのサイズの調整を生じさせる、メモリ・デバイス。
請求項1記載の方法において、前記コンテンツ・エリアの前記サイズを調整することの結果、前記コンテンツ・エリアが、以前に表示されたメニュー・アイテムの位置に表示されている、方法。
【発明を実施するための形態】
【0006】
これより図面を参照する。ここでは、同様の符号は、同様の要素を表す。様々な実施形態について説明するが、特に
図1およびこれに対応する検討は、実施形態を実施することができる適切なコンピューティング環境について簡潔且つ包括的な説明を供することを目的としている。
【0007】
一般的に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行するかまたは特定の抽象データ型を実装する他のタイプの構造を含む。他のコンピューター・システム構成はまた、ハンドヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベース若しくはプログラム可能なコンシューマー機器、ミニコンピューター、メインフレームコンピューター等を含めて使用することができる。分散コンピューティング環境をまた使用することができ、タスクは通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラム・モジュールは、ローカルおよびリモートのメモリ・ストレージ・デバイスの双方に配置することができる。
【0008】
これより
図1を参照して、様々な実施形態で利用されるコンピューター100についての例示のコンピューター・アーキテクチャーを説明する。
図1に示すコンピューター・アーキテクチャーは、サーバ・コンピューティング・デバイス、デスクトップ・コンピューティング、モバイル・コンピューティング・デバイス(例えばスマートフォン、ノートブック、タブレット・・・)として構成することができる。当該コンピューター・アーキテクチャーは、中央演算処理装置5(「CPU」)、ランダム・アクセス・メモリ9(「RAM」)およびリード・オンリー・メモリ(「ROM」)10を含むシステム・メモリ7、並びに、メモリを中央演算処理装置(「CPU」)5に結合するシステム・バス12を含む。
【0009】
例えばスタートアップの間に、コンピューター内において要素間で情報を転送するのを支援する基本ルーチンを収容する基本入出力システムがROM10に格納される。コンピューター100は、更に、オペレーティング・システム16、アプリケーション(1または複数)24、プレゼンテーション(1または複数)/ドキュメント(1または複数)27、およびウェブ・ブラウザー25およびオクルージョン・マネージャー26のような、以下により詳細に説明する他のプログラム・モジュールを格納するための大容量ストレージ・デバイス14を含む。
【0010】
大容量ストレージ・デバイス14は、バス12に接続される大容量ストレージ・コントローラー(図示せず)を通じてCPU5に接続される。大容量ストレージ・デバイス14およびこれに付随するコンピューター可読媒体は、不揮発性ストレージをコンピューター100に提供する。本明細書において含まれるコンピューター可読媒体についての説明は、ハードディスクまたはCD−ROMドライブのような大容量ストレージ・デバイスのことを指すものの、コンピューター可読媒体はコンピューター100によってアクセス可能な如何なる利用可能媒体ともすることができる。
【0011】
例えば、これに限定されないが、コンピューター可読媒体は、コンピューター・ストレージ媒体および通信媒体を備えることができる。コンピューター可読媒体は、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含み、コンピューター可読命令、データ構造、または他のデータのプログラム・モジュールのような情報のストレージのための如何なる方法または技術において実装される。コンピューター・ストレージ媒体は、これに限定されないが、RAM、ROM、消去可能およびプログラム可能なリード・オンリー・メモリ(「EPROM」;Erasable Programmable Read Only Memory)、電気的に消去可能およびプログラム可能なリード・オンリー・メモリ(「EEPROM」;Electrically Erasable Programmable Read Only Memory)、フラッシュ・メモリ若しくは他のソリッド・ステート・メモリ技術、CDーROM、デジタル多用途ディスク(「DVD」)若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ若しくは他の磁気ストレージ・デバイス、または所望の情報を格納するために用いることができ、また、コンピューター100によってアクセスすることができる他の如何なる媒体をも含む。
【0012】
様々な実施形態によれば、コンピューター100は、ネットワーク18(例えばインターネット)を通じたリモート・コンピューターへの論理接続を用いて、ネットワーク化された環境で動作することができる。コンピューター100は、バス12に接続しているネットワーク・インターフェース・ユニット20を通じてネットワーク18に接続することができる。ネットワーク接続は、無線および/または有線とすることができる。ネットワーク・インターフェース・ユニット20はまた、他の種別のネットワークおよびリモート・コンピューター・システムに接続するのに利用することもできる。コンピューター100はまた、数多くの他のデバイス(例えばタッチ入力デバイス)からの入力を受けて処理するための入出力コントローラー22を含むこともできる。タッチ入力デバイスは、単一/複数のタッチ入力を識別するのを可能にする如何なる技術(接触/非接触)を利用することができる。例えば、この技術は次のものを含むが、これに限定さない。即ち、熱、指圧、高キャプチャー・レート・カメラ、赤外線、光学キャプチャー、調整された電磁誘導、超音波レシーバー、トランスデューサー・マイクロホン、レーザー・レンジファインダー、陰影キャプチャー等である。実施形態によれば、タッチ入力デバイスは、(即ち、タッチ入力デバイスへの物理的非接触以外のタッチ入力デバイスにおける或る距離の範囲内の)近距離接触を検出するように構成することができる。タッチ入力デバイスはまた、ディスプレイ28として動作することもできる。入出力コントローラー22はまた、1つ以上のディスプレイ・スクリーン、プリンター、または他の種別の出力デバイスに出力を供給することもできる。
【0013】
カメラおよび/または或る別の感知デバイスは、1つ以上のユーザーを記録し、コンピューティング・デバイスのユーザーによってなされる動きおよび/またはジェスチャーをキャプチャーするように動作させることができる。感知デバイスは、マイクロフォンによるような話し言葉をキャプチャーし、並びに/またはキーボードおよび/若しくはマウス(図示せず)によるようなユーザーからの他の入力をキャプチャーするように動作させることができる。感知デバイスは、ユーザーの動きを検出できる如何なるモーション検知器をも含むことができる。例えば、カメラは、複数のカメラおよび複数のマイクロフォンを備えるMICROSOFT KINECT(登録商標)モーション・キャプチャ・デバイスを含むことができる。
【0014】
本発明の複数の実施形態は、チップ上システム(SOC;System-on-a-chip)を介して実施するこができ、ここでは、図に示したコンポーネント/プロセスの各々またはその多くを単一の集積回路に集積することができる。このようなSOCデバイスは、1つ以上の処理装置、グラフィクス装置、通信装置、システム仮想化装置、および全てを単一の集積回路としてチップ基板上に集積(即ち、「焼き付け」(burned))した様々なアプリケーション機能性を含むことができる。SOCを介して動作させる際に、本明細書で説明する全ての/幾らかの機能性は、単一集積回路(チップ)上のコンピューター100の他のコンポーネントと共に集積することができる。
【0015】
上記に簡潔に言及したとおり、数多くのプログラム・モジュールおよびデータ・ファイルは、コンピューター100が有する大容量ストレージ・デバイス14およびRAM9に格納することができる。コンピューター100は、WINDOWS SERVER(登録商標)、即ちWashington州RedmondのMICROSOFT CORPORATIONによる、WINDOWS7(登録商標)オペレーティング・システムのようなネットワーク化されたコンピューターの動作を制御するのに適したオペレーティング・システム16を含む。
【0016】
大容量ストレージ・デバイス14およびRAM9はまた、1つ以上のプログラム・モジュールを格納することもできる。特に、大容量ストレージ・デバイス4およびRAM9は、1つ以上のアプリケーション、例えばオクルージョン・マネージャー26、生産性アプリケーション24(例えば、MICROSOFT POWERPOINTのようなプレゼンテーション・アプリケーション、MICROSOFT WORDのようなワード・プロセッシング・アプリケーション、MICROSOFT EXCELのようなスプレッドシート・アプリケーション、MICROSOFT OUTLOOKのようなメッセージング・アプリケーションなどを格納することができる。また、1つ以上のWebブラウザー25を格納することができる。Webブラウザー25は、要求、受信、レンダリング、およびWebページ、ビデオ、ドキュメント等のような電子コンテンツとの相互作用性を提供するように動作する。一実施形態によれば、Webブラウザーは、MICROSOFT CORPORATIONによるINTERNET EXPLORER Webブラウザー・アプリケーション・プログラムを含む。
【0017】
オクルージョン・マネージャー26は、クライアント・デバイスおよび/またはサーバー・デバイス上(例えばサービス19内で)のものであってもよい。オクルージョン・マネージャー26は、アプリケーション/プロセスとして、および/または異なるテナント(例えばMICROSOFT OFFICE 365、MICROSOFT WEB APPS、MICROSOFT SHAREPOINT ONLINE)に対しリソースを供給するクラウド・ベースのマルチ・テナント・サービス(例えばサービス、データ・・・)の一部として構成することができる。
【0018】
通常、オクルージョン・マネージャー26は、ユーザーが相互作用しているコンテンツを仮想入力パネル(例えば仮想キーボード、ジェスチャー・エリア、手書きエリア、および他のソフトウェア入力パネル)の表示が、オクルードしないように、コンテンツ・エリアの表示を自動的に調整するように構成される。コンテンツ・エリアの表示を調整した後に、相互作用しているコンテンツはコンテンツ・エリア内で可視化される。コンテンツ・エリアは、ユーザーが相互作用しているコンテンツの一部が、その相互作用の間に可視化されたままとなるように、自動的に調整される(例えば、新規のラインを出現させる新規コンテンツの追加、カーソルの他の位置への移動)。状況の中には、コンテンツ・エリアはまた、仮想入力パネルが表示される間に一時的にリサイズできるものもある。ズーム・スケールが、コンテンツ・エリアへの変更に応じて自動的に変更されるようにセットされる場合、コンテンツ・エリアの表示が調整されるときにコンテンツ・エリア内のコンテンツがサイズを変更しないように、先にこのズーム・スケールを固定パーセントにセットすることができる。仮想入力パネルが消え去ると、コンテンツ・エリアは、仮想入力パネルが表示されていたのより前の元の設定に戻すことができる。オクルージョン・マネージャー26の動作に関する付加的な詳細について、以下に説明する。
【0019】
図2は、仮想入力パネルの表示が相互作用エリアをオクルードしないように、コンテンツ・エリアの表示を調整する例示のシステムを示す。図示のように、システム200は、サービス210、オクルージョン・マネージャー240、ストア245、タッチ・スクリーン入力デバイス/ディスプレイ250(例えばスレート)、およびスマートフォン230を含む。
【0020】
図示のように、サービス210は、生産性サービス(例えば、MICROSOFT OFFICE 365、MICROSOFT WEB APPS、MICROSOFT POWERPOINT)を提供するように構成することができる、クラウド・ベースのおよび/または法人ベースのサービスである。サービス210によって提供される1つ以上のサービス/アプリケーションの機能性はまた、クライアント・ベースのアプリケーションとして構成することもできる。例えば、クライアント・デバイスは、スライドを表示するために用いるプレゼンテーション・アプリケーションを含むことができ、また、サービス210は、生産性アプリケーションの機能性を提供することができる。システム200は生産性サービスを示すものの、他のサービス/アプリケーションがコンテンツ・エリアの表示を調整するように構成することができ、その結果、仮想入力パネルの表示(例えば232、254)は、ユーザーがコンテンツと相互作用しているエリア(相互作用エリア)をオクルードすることはない。
【0021】
図示のように、サービス210は、リソース215およびサービスを如何なる数のテナント(例えばテナント1―N)にも提供するマルチ・テナント・サービスである。一実施形態によれば、マルチ・テナント・サービス210は、サービスに加入するテナントにリソース/サービス215を提供し、各テナントのデータを別個かつ他のテナント・データから保護されて保持するクラウド・ベースのサービスである。
【0022】
図示のようにシステム200は、タッチ・スクリーンの入力デバイス/ディスプレイ250(例えば、スレート/タブレット)、およびタッチ入力を受けるとき(例えば指がタッチ・スクリーンにタッチする、またはタッチしたも同然のとき)を検出するモバイル・フォン230を含む。如何なる種別のタッチ・スクリーンもがユーザーのタッチ入力を検出するのに利用可能である。例えば、タッチ・スクリーンは、入力されるタッチを検出する1つ以上の層の容量性材料を含むことができる。他のセンサーは、容量性材料に加えて、またはその代替として用いることができる。例えば、赤外線(IR)センサーを用いることができる。一実施形態によれば、タッチ・スクリーンは、タッチ可能表面に接触したまたはタッチ可能表面の上方にあるオブジェクトを検知するように構成される。「上方」という用語を当該説明において使いているが、タッチ・パネル・システムの方位には関係がないことを理解すべきである。「上方」という用語は、このような方位全てに対して適用可能であることを意図するものである。タッチ入力は、当該タッチ入力を受ける場所(例えば開始点、中間点および終了点)の位置を決定するように構成することができる。タッチ可能表面およびオブジェクトの間の実際の接触は、例えば、タッチ・パネルに結合される振動センサーまたはマイクロフォンによることを含む、如何なる適切な手段によっても検出することができる。センサーが接触を検出する例示の非網羅的なリストには、圧力ベース機構、マイクロ・マシンの加速度計、圧電デバイス、容量性センサー、抵抗性センサー、誘導性センサー、レーザー振動メーターおよびLED振動メーターを含が含まれる。
【0023】
図示のように、タッチ・スクリーン入力デバイス/ディスプレイ250は、例示なドキュメント252(例えばスライド、ワード・プロセッシング・ドキュメント、スプレッドシート・ドキュメント)を示す。オクルージョン・マネージャー240は、(例えば、タッチ・センシティブな入力デバイス250および/またはキーボード入力(例えば物理キーボードおよび/またはSIP)を用いて)ユーザーからの入力を受けるように構成される。例えば、オクルージョン・マネージャー240は、ドキュメント252に関連付けられたタッチ入力を受けることができる。タッチ入力は、ユーザーが相互作用を望むドキュメント内のエリア/オブジェクトを指し示すことができる。例えば、ユーザーは、オブジェクト(例えばチャート)、ライン中のワード、スプレッドシート内のセル、ドキュメント内のセクション(例えば注記、コメント)の上をタップすることができ、選択した位置で編集/相互作用を開始する。この選択の周囲/近傍のエリアを相互作用エリアと称する。相互作用エリアは、選択の周囲で所定のサイズにセットすることができ、および/またはユーザーによって行われた選択の種別に基づいて決定することができる。例えば、ユーザーがチャートを選択する場合、相互作用エリアは全チャートを含むことができる。ユーザーが編集するためにテキストのラインを選択する場合、相互作用エリアは1つ以上のラインを選択の上/下で含むことができる。通常、相互作用エリアは、コンテンツが仮想入力パネルの表示によってオクルードされることなくユーザーにコンテンツを編集させるのに十分な大きさとなるように決定される。
【0024】
ドキュメント260は、仮想入力パネル(VIP)がコンピューティング・デバイス(例えばスマートフォン230およびスレート250)上に表示される前に、ドキュメント252の最初の表示を示すことを意図される。ドキュメントとの相互作用に応じて、VIPの表示が、ユーザーが選択したコンテンツを含む相互作用エリアをオクルード(例えば、重複する)どうかについての判断がなされる。図示のように、ユーザーは、自身の指264を使用して、ドキュメント252の左下の近傍に配置されるグラフを選択することができる。仮にVIPがコンテンツ・エリアについて如何なる調整もなく表示されることになる場合、相互作用エリア262はVIPによってオクルードされることになろう。VIPの表示が相互作用エリアをオクルードするときに、その相互作用エリアをオクルードしないようにコンテンツ・エリアの表示は調整される。図示のように、スレート・デバイス250およびモバイル・デバイス230は、相互作用エリア内のチャートがVIP(例えばVIP254およびVIP232)によってオクルードされないようにコンテンツ・エリアの表示を上部に移動させていることを示す。検討したように、コンテンツ・エリアの表示量は、設定可能な相互作用エリアに基づいて決定される。例えば、コンテンツ・エリアの表示は、コンテンツと相互作用するための所定量のスペースを有するように移動させることができる(例えば、ユーザーは、コンテンツ・エリアの表示が再調整される前に、コンテンツの2本のラインを付加することができる。)。一実施形態によれば、コンテンツのスケールは、コンテンツ・エリアの表示が調整される前のもののままである(例えば同一のズーム・スケールを維持する)。コンテンツ・エリアの表示は、異なる方法を用いて調整してもよい。例えば、ドキュメントに関連付けられるスクロール領域は調整することができ、VIPが表示されるときにコンテンツがオクルードされないように、相互作用エリア内のコンテンツを移動させる。コンテンツ・エリアはまた上げることができ、その結果、上げたコンテンツ・エリアの内少なくとも相互作用エリアが可視化されて入力を可能にできる。コンテンツ・エリアはまた、表示される他のコンテンツ(例えば、メニュー・バー、ウィンドウの境界、ステータス表示等のような1つ以上のユーザー・インターフェース要素)の一部と重複するように調整することもできる。ユーザーによって示される相互作用エリアはVIPの表示によってはオクルードされないようなコンテンツ・エリアの表示の調整について、以下により詳細に説明する。
【0025】
図3−4は、コンテンツとの相互作用が生じている相互作用エリアを仮想入力パネルの表示がオクルードしないように、コンテンツ・エリアの表示を調整する例示のプロセスについて示す。本明細書において提示されるルーチンに関する検討を読むときは、様々な実施形態の論理動作が(1)コンピューターにより実装されたアクション若しくはコンピューター・システム上で起動するプログラム・モジュールとして、および/または(2)コンピューティング・システム内において集積化されたマシン論理回路若しくは回路モジュールとして、実施されることが認められて然るべきである。実施は、本発明を実装しているコンピューティング・システムのパフォーマンス要件に従う選択上の問題となる。したがって、本明細書において例示される論理動作および説明される実施形態の製造は、動作、構造デバイス、行動またはモジュールとして様々に関連する。これらの動作、構造デバイス、行為およびモジュールは、ソフトウェア、ファームウェア、特定用途のデジタル論理、およびこれらの如何なる組み合わせでも実装することができる。
【0026】
図3は、コンテンツとの相互作用が生じている間に仮想入力パネルの表示が相互作用エリアをオクルードしないように、コンテンツ・エリアの表示を調整するためのプロセスについて示す。
【0027】
開始動作の後、本プロセスは動作310に移り、コンテンツ・エリア内にコンテンツが表示される。コンテンツは、アプリケーションによって表示される如何なるコンテンツともすることができる。例えば、コンテンツは、プレゼンテーション・スライド、ワード・プロセシング・ドキュメント、スプレッドシート、注記リスト、ウェブ・ページ、グラフィックス・ページ、電子メッセージ等とすることができる。表示には、1つ以上のコンテンツ・エリアを含むことができる。例えば、ドキュメントは、独立して編集可能なドキュメントの異なるセクション(例えばセル)、スライドの部分(例えば、タイトル、サブタイトル、コンテンツ・・・)、オブジェクト(例えば、テーブル、チャート、オブジェクト、ピボットテーブル・・・)、スクロール不可能な領域(例えば注記セクション、コメント・セクション)を有することができる。
【0028】
動作320へ移り、プロセスは、コンテンツ・エリア内のコンテントとの相互作用を受ける。相互作用は、これに限定されないが、タッチ入力、マウス入力、スタイラス入力等のような様々な異なる相互作用とすることができる。相互作用は、ユーザーがコンテンツと相互作用するのを望む相互作用エリアを示す。例えば、ユーザーは、ライン中のワード、スプレッドシート内のセル、ドキュメント内のセクション(例えば、注記、コメント)の上をタップして、その位置で編集/相互作用を開始することができる。
【0029】
判断動作330へと移り、コンテンツと相互作用するために入力を受ける仮想入力パネル(VIP)が、表示されると相互作用エリアをオクルードするかについての判断がなされる。一実施形態によれば、VIPは、ディスプレイ内のどこかに表示することができる(現在表示されている重複コンテンツを含む)要素である。1つ以上のVIPは、様々な異なる入力を受けるように構成することができる。例えば、VIPは、仮想キーボード、手書きエリア、ジェスチャー・エリア等とすることができる。VIPの表示が相互作用エリアをオクルードしない場合、本プロセスは動作350に移る。VIPの表示が相互作用エリアをオクルードする場合、本プロセスは動作340に移る。
【0030】
動作340に移行して、コンテンツ・エリアの表示が、相互作用エリアをオクルードしないように調整される。コンテンツ・エリアの表示は、異なる方法を用いて調整することができる。例えば、スクロール領域は、VIPが表示されたときにオクルードしないように、相互作用エリア内のコンテンツを移動させるよう調整することができる。コンテンツ・エリアはまたリサイズすることもでき、その結果、リサイズされたコンテンツ・エリアの内少なくとも1つの相互作用エリアが可視化されて入力を可能にする。例えば、コンテンツをスクロールする代わりとして、入力パネルを一時的にリサイズすることができる。両者の組合せをまた使用することもできる。一実施形態によれば、コンテンツ・エリア内のコンテンツのスケールを一時的にスケーリングすることができ、その結果、オクルードすることなく相互作用エリアを表示させることができる。コンテンツ・エリアはまた、他の表示されたコンテンツの一部(例えば、メニュー・バー、ウィンドウの境界、ステータス表示等のような1つ以上のユーザー・インターフェース・エレメント)と重複させるように、調整することもできる。
【0031】
動作350へ移り、VIPが表示される。VIPは、コンテンツ・エリアを指し示す、表示内で判断された如何なる位置において表示することができる。例えば、VIPは、ディスプレイの頂部、ディスプレイの底部、ディスプレイの側部、ディスプレイの中央部などにおいて表示することができる。異なるVIPは、相互作用(例えば、キーボード入力を受ける仮想キーボード、タッチ・ジェスチャを受ける仮想ジェスチャ・パネル、署名を受けつける手書き入力パネル等)に従って表示することができる。VIPは、様々な異なるサイズとすることができる。例えば、より大きなVIPは、コンテンツ・エリアの表示を調整することができる一方で、より小さいVIPは、コンテンツ・エリアの表示を調整できない場合がある。
【0032】
動作360へと移り、VIPおよびコンテンツが相互作用エリア内に表示される場合に入力を受ける。VIPが表示されている限り、ユーザー相互作用に応じてオクルードされないように、コンテンツ・エリアの表示を調整する必要があるかについて決定が行われる。例えば、編集により、コンテンツ・エリア内に1つ以上の新規のラインを挿入(例えば、コンテンツのタイピング、貼り付け)させることができ、コンテンツ・エリアの表示を調整しない場合にはオクルードされることにはならない。ユーザーはまた、VIPが示されるときに、コンテンツ内の他の位置を選択することもできる。コンテンツ・エリアの表示は、相互作用エリアのコンテンツがユーザーに可視化されたままとなるように、調整される。
【0033】
動作370に移行し、VIPの表示は取り除かれ、コンテンツ・エリアの表示を調整する前の表示にコンテンツ・エリアの表示を戻すことができる。
次いで、プロセスは、最後の動作に移り、他のアクションの処理に戻る。
【0034】
図4は、仮想入力パネルによるオクルージョンを回避するために、コンテンツを移動させ、コンテンツ・エリアをリサイズするためのプロセスを例示する。
開始動作の後、本プロセス400は動作410へと移り、コンテンツ・エリアの表示についてのスケール情報が決定され格納される。例えば、スケールが「コンテンツ・エリアと一致(Fit to Content Area)」するものである場合、スケーリング係数は明示的な値(例えば65%、90%、100%)として保存される。一実施形態によれば、VIPが表示されると、コンテンツ・エリア内のコンテンツのサイズは、VIPが以前に表示されていたものと同一のズーム・スケールを保つ(例えば、コンテンツが、表示されるVIPに応じてより小さくはならない)。VIPが表示から除去されると、格納されたスケール値にこのスケールをリセットすることができる。
【0035】
動作420に移り、コンテンツ内のコンテンツは、判断に応じて移される。例えば、ウィンドウのスクロール位置が調整され、VIPが表示されるときにコンテンツがオクルードされないように、コンテンツ・エリア内のコンテンツを移させることができる。スクロールは、垂直方向としてもおよび/または水平方向としてもよい(ペイニング)。コンテンツはまた、VIPの表示によるオクルードを回避するために、別のある位置へ移動させることもできる。
【0036】
動作430に移り、VIPの表示が相互作用エリアをオクルードしないように、コンテンツ・エリアにおいて相互作用エリアがリサイズされる。相互作用エリアは、スクロール可能ではないドキュメントのセクションの範囲内とすることができ、また、表示されるとVIPによって十分にオクルードされることになる。例えば、コンテンツ・エリア内のペインは、VIPよりもより高くなるように表示することができる。VIPが除去されると、ペインはその元の高さを回復する。
【0037】
本プロセスは、次いで、最後の動作に移り、他の行動の処理に戻る。
図5は、本明細書において説明するように、仮想入力パネルの表示が相互作用エリアをオクルードしないように、コンテンツ・エリアの表示を調整するためのシステム・アーキテクチャを示す。アプリケーション(例えば、アプリケーション1020)およびオクルージョン・マネージャー26によって使用および表示されるコンテンツは、異なる位置に格納することができる。例えば、アプリケーション1020は、ディレクトリ・サービス1022、Webポータル1024、メールボックス・サービス1026、インスタント・メッセージング・ストア1028、およびソーシャル・ネットワーキング・サイト1030を用いるデータを使用/保存することができる。アプリケーション1020は、これら如何なる種別のシステム等をも用いることができる。サーバー1032は、VIPの表示が相互作用エリアをオクルードしないように、コンテンツ・エリアの表示を調整するために用いることができる。例えば、サーバー1032は、アプリケーション1020について表示を生成し、クライアント(例えばブラウザーまたはある別のウィンドウ)において表示することができる。一例として、サーバー1032は、生産性サービス(例えば、プレゼンテーション、ワード・プロセッシング、メッセージング、スプレッドシート、ドキュメント・コラボレ−ション等)を1人以上のユーザーに提供するように構成されるウェブ・サーバーとすることができる。サーバー1032は、ネットワーク1008を通じてクライアントと相互作用するために、ウェブを使用することができる。サーバー1032はまた、アプリケーション・プログラム(例えば生産性アプリケーション)を含むこともできる。サーバー1032およびプレゼンテーション・アプリケーションと相互作用することができるクライアントの例には、コンピューティング・デバイス1002が含まれる。コンピューティング・デバイス1002には、如何なる汎用目的パーソナル・コンピューター、タブレット・コンピューティング・デバイス1004、および/またはスマートフォンを含むモバイル・コンピューティング・デバイス1006が含まれ得る。デバイスもが、ストア1016からコンテンツを取得することができる。
【0038】
図6は、VIPを表示する前におけるプレゼンテーション・スライドと関連付けられたコンテンツの調整を示す例示の景観スレート・ディスプレイを示す。
ディスプレイ610は、プレゼンテーション・スライド625のセクション620を選択しているユーザー622を示す。ライン615は、VIPが表示されると(ライン615は図示の目的のためであり、表示されない)、VIPの表示がスライドと重複することになる場所について示す。図示のように、VIP660がスライドのコンテンツ・エリアの表示を調整することなく表示される場合、ユーザーが選択した相互作用エリアがVIPによってオクルードされることになる。
【0039】
ディスプレイ650は、スライド625が上部に移されて、VIP660を表示する前にユーザーによって指し示された相互作用エリアを見えるようにできる(expose)ことを示す。
【0040】
図7は、VIPを表示する前においてプレゼンテーション・スライドのコンテンツ・エリアのサイズを調整することを示す例示の景観スレート・ディスプレイを示す。
ディスプレイ710は、スタイラス724を使用してプレゼンテーション・スライド725のセクション720を選択しているユーザー722を示す。本例示では、セクション720は、通常は、スライドについての幾らかの注記を入力するのに用いる一定サイズのエリアである注記セクションである。ライン715は、VIP760の表示が、コンテンツの表示を調整することなく表示されるとスライドと重複することになる場所を示す。図示のように、VIPがスライドのコンテンツの表示を調整することなく表示されると、ユーザーが選択した注記セクション720を含む相互作用エリアがVIP660によってオクルードされることになる。
【0041】
ディスプレイ750は、注記エリア720が、VIP760を表示する前においてより大きいサイズにリサイズされていることを示す。図示のように、ユーザーは、これより、VIP760の表示によって注記がオクルードされることなく、VIP760を用いて注記エリア720内に注記を入力することができる。本例示では、スライド725の表示は、同一の位置のままである。一実施形態によれば、コンテンツ・エリアのサイズを変更することに加えて、コンテンツ・エリアの表示も変更することもできる(例えば
図10参照)。
【0042】
図8は、VIPを表示する前においてワード・プロセッシング・ドキュメントのコンテンツ・エリアの調整を示す縦画面モードの例示的なスレート・ディスプレイを示す。
ディスプレイ810は、ワード・プロセッシング・ドキュメント825のセクションを選択しているユーザー822を示す。ライン815は、VIPが表示されるとVIP860の表示が重複することになる場所を示す。図示のように、VIPがワード・プロセッシング・ドキュメントの表示を調整することなく表示されると、ユーザーが選択した相互作用エリアがVIPによってオクルードされることになる。ユーザーがライン815より上部の位置で選択する場合、コンテンツ・エリアの表示は調整されない。
【0043】
ディスプレイ850は、ワード・プロセッシング・ドキュメント825が上部に移されて、VIP860を表示する前にユーザーによって示された相互作用エリアを見えるようにしていることを示す。VIP860がディスプレイの異なるエリアに表示されることになる場合には、コンテンツ・エリアの表示は適切に調整されることになる(例えば、上部の代わりに下部にコンテンツをスクロールさせる)。
【0044】
図9は、VIPを表示する前におけるワード・プロセッシング・ドキュメントのコンテンツ・エリアの調整について示す景観モードでの例示のスレート・ディスプレイを示す。
ディスプレイ910は、ディバイダー930によって分離されたワード・プロセッシング・ドキュメント925のセクション920を選択しているユーザー922を示す。ディバイダー930は、ドキュメントの2つの異なるセクションを同一のディスプレイ内で閲覧することができるように、ワード・プロセッシング・ドキュメントを分割する。ライン915は、VIPが表示されると、VIP960の表示がワード・プロセッシング・ドキュメントと重複することになる場所を示す。図示のように、VIPがワード・プロセッシング・ドキュメントの表示を調整せずに表示される場合、相互作用エリアは、分離したドキュメント925における底部セクションのほぼ全体をオクルードすることになる。
【0045】
ディスプレイ950は、ワード・プロセッシング・ドキュメント925が上部に移されて、VIP960を表示する前においてユーザーによって示される相互作用エリアを見えるようにすることを示す。他の実施形態によれば、ディバイダー930はまた上部に移されて、ディバイダーの下に表示されるドキュメントの一部を変更することができる。
【0046】
図10は、VIPを表示する以前に、ワード・プロセッシング・ドキュメントのコンテンツ・エリアの調整、およびコメント・エリアのリサイズを示す景観モードでの例示のスレート・ディスプレイを示す。
【0047】
ディスプレイ1050は、ワード・プロセッシング・ドキュメント1052と関連付けられたコメント・エリア1060を選択しているユーザー1066を示す。本実施形態では、ユーザーは、コメント・エリア1060の表示と共に/表示無しで、表示することができる1つのコメント1054を入力している。ライン1055は、VIPが表示されると、VIPの表示1085がワード・プロセッシング・ドキュメントおよびコメントと重複することになる場所を示す。図示するように、VIPがワード・プロセッシング・ドキュメントの表示を調整することなく表示される場合には、VIP1085はコメント・エリアの全体をオクルードすることになる。
【0048】
ディスプレイ1080には、ワード・プロセッシング・ドキュメント1052が配置されて、ユーザー選択と関連付けられた関係のコメントを見えるようにすることができる。コメント・エリア1060はまた、ユーザーがコメントと相互作用できるようにリサイズされている。図示のように、コメント・エリア内でコメントについてのコンテンツを閲覧できるのみならず、ユーザーはドキュメント自体においてコメントを見ることができる。ユーザーが異なるコメントを選択すると、コメント・エリアおよびワード・プロセッシング・ドキュメントのコンテンツ・エリアは、ユーザーがドキュメント内のコメントおよびコメント・エリア内のコメントの両方を見ることができるように調整される。一実施形態によれば、ユーザーは、表示したいものを決定することができる(例えば、コメント・エリアを示し、およびドキュメント内の対応するコメントを示さない)。
【0049】
図11は、VIPを表示する以前にスプレッドシート内におけるコンテンツ・エリアの調整を示す景観モードでの例示のスレート・ディスプレイを示す。
ディスプレイ1110は、スプレッドシート1125のセクション1120を選択しているユーザー1122を示す。ボックス1115は、VIPが表示されるとVIPの表示1155がスプレッドシートと重複することになる場所を示す。図示のように、VIPがスプレッドシートの表示を調整することなく表示される場合、VIPは選択されたコンテンツ1120をオクルードすることになる。VIPは、様々な異なるサイズとすることができる。例えば、より大きなVIPは、コンテンツ・エリアの表示を調整することができる一方で、より小さいVIPは、コンテンツ・エリアの表示を調整できない場合がある。
【0050】
ディスプレイ1150はスプレッドシート1125を示し、上部に移動させて、VIP1155を表示する前にユーザーによって示される相互作用エリアを見えるようにする。一実施形態によれば、VIPの下となるコンテンツの一部も見ることができるように、VIPを(アルファ・ブレンドにより)透過して表示させる。透過性は所定のレベルにセットすることができ、および/または透過性のレベルはVIPの使用の間に変更することができる。例えば、透過性は、ユーザーがVIP1155と相互作用を始めるときに自動的に除去することができる。
【0051】
図12は、VIPを示す前にプレゼンテーション・スライドに関連付けられたユーザー・インターフェースの表示を調整することを示している例示の景観スレート・ディスプレイを示す。
【0052】
ディスプレイ1210は、プレゼンテーション・スライド1225のセクション1220を選択しているユーザー622を示す。ライン1215は、VIPが表示されるとVIPの表示がスライドと重複することになる場所を示す。図示のように、選択は、VIPがスライドにおいてコンテンツ・エリアの表示を調整することなく表示される場合、VIP1260がオクルードされることになる地点の非常に近くである。
【0053】
ディスプレイ1250は、VIP1260を表示すると共に、ユーザー・インターフェース1212の表示の上に/表示に替えてスライド1225を表示する前に、相互作用エリアをより多く見えるようにすることを示す。ライン1255(説明の便宜上示すのみである)は、ユーザー・インターフェース1212の上を/ユーザー・インターフェース1212に替えて、スライドを表示することによって見ることができるスライド1225の追加部分を示す。図示のように、ユーザー・インターフェース1212の表示を変更することによって、ユーザーはタイトル・セクションを完全に見ることができる。
【0054】
例示の中には、コンテンツ・エリを、最初に表示されたもののままとし、また、表示された要素(1または複数)が取り除かれ/引き抜かれて(draw over)、より多くのコンテンツを見えるようにすることができるものもある。例えば、ユーザーは、ユーザー・インターフェース1212の近くにあるアイテムを選択することができる。ユーザー・インターフェース1212は、結果として、スライド1225が引き抜かれ/ユーザー・インターフェース1212に替わることになる。
【0055】
図13は、VIPを表示する前にプレゼンテーション・スライドと関連付けられたユーザー・インターフェースの表示の調整を示している例示の景観スレート・ディスプレイを示す。
【0056】
ディスプレイ1310は、プレゼンテーション・スライド1325のセクション1320を選択しているユーザー622を示す。ライン1315は、VIPが表示されるとVIPの表示がスライドと重複する場所を示す。本例示では、他の例示と比較してより大きなエリアとなるよう(例えばスライド全体)相互作用エリアが決定されている。スライドの一部がVIP1360の表示によってオクルードされない場合であっても、相互作用エリアは調整される。何故ならば、相互作用エリア(例えばスライド全般)は、相互作用エリアとして決定されるからである。
【0057】
ディスプレイ1350は、VIP1360を表示する以前に、スライド全体を見えるようにするために、スライド1325が上部に移動されスケーリングされていることを示す。UI1312はまた、取り除かれ/引き抜かれて、利用可能な表示スペースを増やすことができる。
【0058】
本発明の実施形態について、例えば、ブロック図を参照して先に説明し、および本発明の実施形態による方法、システム、およびコンピューター・プログラム製品についての動作上の例示を行った。ブロックに注記された機能/行為は、如何なるフローチャートにも示されるような順序外で行うことができる。例えば、連続して示される2つのブロックは、実際のところ、実質的に同時に実行してもよく、または複数のブロックを、関連する機能性/行為にしたがって逆の順序で時折実行してもよい。
【0059】
本発明の特定の実施形態について記載してきた一方で、他の実施形態が存在してもよい。更にまた、本発明の実施形態を、メモリおよび他のストレージ媒体内に格納されるデータと関連付けて説明してきたものの、データはまた、ハードディスク、フロッピー(登録商標)・ディスク若しくはCD−ROMのようなセカンダリ・ストレージ・デバイス、インターネットからの搬送波、または他の形態のRAMまたはROMのような他の種別のコンピューター可読媒体に格納され、ここから読み出すとすることもできる。更に、開示した方法についての段階は、本発明から逸脱することなく、再順序付け段階および/または挿入若しくは削除段階を含む如何なる手法において修正することができる。
【0060】
上記の仕様、例示およびデータは、本発明の構成における製造および使用についての十分な説明を供するものである。本発明の多くの実施形態は本発明の趣旨および範囲から逸脱することなく生成することができるために、本発明は以後に添付される特許請求の範囲に帰するものとなる。