(57)【特許請求の範囲】
【請求項１】
コンピュータ実装される方法であって：
一つまたは複数の没入型ユーザー・インターフェースを呈示するジェスチャー感応性ディスプレイを通じてなされたジェスチャーを受領する段階と；
前記ジェスチャーの開始点が前記ジェスチャー感応性ディスプレイのエッジにおいて受領されているかどうかを判定する段階と；
前記開始点が前記ジェスチャー感応性ディスプレイのエッジにないと判定することに応答して、前記ジェスチャーを前記一つまたは複数の没入型ユーザー・インターフェースのうちの一つの没入型ユーザー・インターフェースに渡す段階であって、前記一つの没入型ユーザー・インターフェースを通じて前記ジェスチャーの前記開始点が受領される、段階と；
前記開始点が前記ジェスチャー感応性ディスプレイのエッジにあると判定することに応答して、前記開始点から前記ジェスチャーののちの点までの直線がそのエッジからの垂直から所定の分散角以内であるかどうかを判定する段階と；
前記直線がそのエッジからの垂直から前記所定の分散角以内でないと判定するのに応答して、前記ジェスチャーを前記一つまたは複数の没入型ユーザー・インターフェースのうちの前記一つの没入型ユーザー・インターフェースに渡し、前記直線が前記所定の分散角以内であると判定するのに応答して、前記一つまたは複数の没入型ユーザー・インターフェースと同時に表示されるオペレーティング・システム・ユーザー・インターフェースの呈示を引き起こすよう動作可能なシステム・インターフェース・モジュールに前記ジェスチャーを渡し、前記オペレーティング・システム・ユーザー・インターフェースは、前記一つまたは複数の没入型ユーザー・インターフェースにおいてコンテンツを表示し続けている間にオペレーティング・システムとの対話を可能にする、段階とを含む、
コンピュータ実装される方法。
【請求項２】
前記オペレーティング・システム・ユーザー・インターフェースが半透明である、請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はエッジ・ジェスチャーに関する。
【背景技術】
【０００２】
現在ディスプレイ上に見えていないユーザー・インターフェースを選択するための従来の技法はしばしば、混乱を招く、貴重な表示スペースを食う、異なる装置を横断して普遍的に適用できない、または貧弱なユーザー経験を提供する。
【０００３】
たとえば、いくつかの従来の技法は、タスクバー内、フローティング・ウインドー内またはウインドー・フレーム上の画面上コントロールを通じてユーザー・インターフェースの選択を可能にする。しかしながら、これらの画面上コントロールは、貴重なディスプレイ不動産を食い、ユーザーが正しいコントロールをみつけて選択することを要求することでユーザーを困惑させることがある。
【０００４】
他のいくつかの従来の技法は、ホットキーおよびボタンのようなハードウェアを通じたユーザー・インターフェースの選択を可能にする。これらの技法は、よくて、ユーザーがどのキー、キー組み合わせまたはハードウェア・ボタンを選択すべきかを記憶することを要求する。この最良事例でさえ、ユーザーはしばしば不慮にキーまたはボタンを選択してしまう。さらに、多くの場合、コンピューティング装置上のハードウェアが装置モデル、世代、ベンダーまたは製造業者によって変わりうるので、ハードウェア選択技法は普遍的に適用できない。そのような場合、技法は、異なるコンピューティング装置を横断して機能しないか、異なる仕方で機能する。これは、正しいハードウェアを覚える必要があるというユーザーの問題を悪化させる。多くのユーザーは複数の装置を有しており、よって異なる装置について異なるハードウェア選択を覚える必要があることがあるからである。さらに、多くのコンピューティング装置にとって、ハードウェア選択は、タッチスクリーン装置がユーザーが心的および身体的な方向を表示ベースの対話からハードウェア・ベースの対話に変えることを要求するなど、ユーザーに、ユーザーの通常の対話のフロー外でコンピューティング装置に関わることを強制する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本稿は、エッジ・ジェスチャーを可能にする技法および装置を記述する。いくつかの実施形態では、これらの技法および装置は、現在ディスプレイ上に見えていないユーザー・インターフェースを、使いやすく覚えやすいエッジ・ジェスチャーを通じて選択することを可能にする。
【課題を解決するための手段】
【０００６】
この概要は、詳細な説明においてさらに後述するエッジ・ジェスチャーを可能にするための簡略化された概念を導入するために与えられている。この概要は、特許請求される主題の本質的な特徴を特定することを意図したものではないし、特許請求される主題の範囲を決定する際に使うことも意図されていない。エッジ・ジェスチャーを可能にする技法および／または装置は、本稿では、別個に、または連携して、コンテキストによって許される範囲で「本技法」とも称される。
【図面の簡単な説明】
【０００７】
エッジ・ジェスチャーを可能にする実施形態は、以下の図面を参照して記述される。同様の特徴および構成要素を参照するために各図を通じて同じ番号が使われている。
【図１】エッジ・ジェスチャーを可能にする技法が実装できる例示的なシステムを示す図である。
【図２】エッジ・ジェスチャーが該ジェスチャーが始まるエッジにほぼ垂直であることに基づいてエッジ・ジェスチャーを可能にする例示的な方法を示す図である。
【図３】没入型インターフェースを呈示するタッチ感応性ディスプレイを有する例示的なタブレット・コンピューティング装置を示す図である。
【図４】図３の例示的な没入型インターフェースを例示的なエッジとともに示す図である。
【図５】図３および図４の例示的な没入型インターフェースを、垂直線からの角度分散線（angular  variance  lines）およびジェスチャーの出発点からのちの点までの線とともに示す図である。
【図６】図４に示される没入型インターフェースのエッジを、右エッジにおける二つの領域とともに示す図である。
【図７】エッジ・ジェスチャーに応答してシステム・インターフェース・モジュールによって、図３の没入型インターフェースおよびウェブページ上に呈示される、アプリケーション選択インターフェースを示す図である。
【図８】ジェスチャーの何らかの因子に基づいて呈示すべきインターフェースを決定することを含む、エッジ・ジェスチャーを可能にする例示的な方法を示す図である。
【図９】エッジ・ジェスチャーに応答して呈示されるユーザー・インターフェースの拡張または呈示終了または別のユーザー・インターフェースの呈示を可能にする例示的な方法を示す図である。
【図１０】ウインドー・ベースの電子メール・インターフェースおよび二つの没入型インターフェースを有するタッチ感応性ディスプレイを有するラップトップ・コンピュータを示す図である。
【図１１】図１０のインターフェースを、開始点、のちの点および一つまたは複数の逐次的な点を有する二つのジェスチャーとともに示す図である。
【図１２】エッジ・ジェスチャーに応答して呈示される電子メール・ハンドリング・インターフェースとともに図１０および図１１のウインドー・ベースの電子メール・インターフェースを示す図である。
【図１３】図１２のインターフェースを、エッジから事前設定された距離の後続点を有すると判別されたジェスチャーに応答して呈示される追加的電子メール・オプション・インターフェースとともに示す図である。
【図１４】エッジ・ジェスチャーを可能にする技法が実装できる例示的な装置を示す図である。
【発明を実施するための形態】
【０００８】
〈概観〉
本稿は、エッジ・ジェスチャーを可能にする技法および装置を記述する。これらの技法は、ユーザーが、現在、ユーザーの装置上に露わにされていないインターフェースを迅速かつ簡単に選択できるようにするとともに他の操作をも可能にする。
【０００９】
ユーザーがタブレット・コンピューティング装置上で映画を見ている事例を考えてみる。映画がディスプレイ全部を占める没入型インターフェース上で再生されており、ユーザーが映画を止めることなくソーシャル・ネットワーキングのウェブページをチェックしたいとする。記載される技法および装置は、ユーザーが、ディスプレイのエッジに始まる簡単なスワイプ・ジェスチャーを通じて他のインターフェースを選択できるようにする。ユーザーはディスプレイの一つのエッジからスワイプして、ユーザー・インターフェースを引き出し（drag  out）てもよく、それによりソーシャル・ネットワーキング・ウェブサイトを選択できる。代わりに、ユーザーが、字幕または監督の論評を有効にするメニューを表示するなど、没入型インターフェースでは許されない仕方で、映画を再生しているメディア・アプリケーションと対話したいとする。ユーザーはタブレットのディスプレイの別のエッジからスワイプし、没入型インターフェースのための制御メニューを引き出し、このメニューから迅速かつ簡単に項目および／またはコマンドを選択してもよい。
【００１０】
これら両方の事例において、映画を再生するために使われる貴重な不動産が画面上コントロールで食われることはなく、ユーザーがハードウェア・ボタンを覚え、みつけることも要求されなかった。さらに、エッジから始まるもの以外のいかなるジェスチャーもこの例の技法によって使われず、よって、没入型インターフェースが普通に利用可能なジェスチャーをほとんど全部使うことを許容する。さらに、エッジ・ジェスチャーまたはその一部を考えることによって、本技法は、ジェスチャーまたはタッチ入力システムのパフォーマンスに影響しない。エッジ・ジェスチャーはジェスチャー全体が完了する前に処理されることができ、よそでの開始されたジェスチャー全体を処理することに関連する遅延を回避するからである。
【００１１】
これらは、本技法がエッジ・ジェスチャーを可能にし、使用する多くの仕方のうちほんの二つの例である。他の例については後述する。
【００１２】
〈例示的なシステム〉
図１は、エッジ・ジェスチャーを可能にする技法が具現できる例示的なシステム１００を示している。システム１００は、六個の例：ラップトップ・コンピュータ１０４、タブレット・コンピュータ１０６、スマートフォン１０８、セットトップボックス１１０、デスクトップ・コンピュータ１１２およびゲーム装置１１４をもって示されているコンピューティング装置１０２を含む。ただし、サーバーおよびネットブックのような他のコンピューティング装置およびシステムが使用されてもよい。
【００１３】
コンピューティング装置１０２は、コンピュータ・プロセッサ（単数または複数）１１６およびコンピュータ可読記憶媒体１１８（媒体１１８）を含む。媒体１１８はオペレーティング・システム１２０、ウインドー・ベース・モード・モジュール１２２、没入モード・モジュール１２４、システム・インターフェース・モジュール１２６、ジェスチャー・ハンドラ１２８および一つまたは複数のアプリケーション１３０を含み、各アプリケーションはそれぞれ一つまたは複数のアプリケーション・ユーザー・インターフェース１３２をもつ。
【００１４】
コンピューティング装置１０２はまた、一つまたは複数のディスプレイ１３４および入力機構１３６を含むまたはこれへのアクセスをもつ。たとえば、図１にはディスプレイが示されている。入力機構１３６は、若干の例を挙げれば、タッチベースのセンサーおよび動き追跡センサー（たとえばカメラに基づくもの）のようなジェスチャー感応性のセンサーおよびデバイスならびにマウス（独立型またはキーボードと一体）、トラックパッドおよび付属の音声認識ソフトウェア付きのマイクロホンを含む。入力機構１３６はディスプレイ１３４と別個であっても一体であってもよい。一体型の例は統合されたタッチ感応性または動き感応性センサーをもつジェスチャー感応性ディスプレイを含む。
【００１５】
ウインドー・ベース・モード・モジュール１２２は、フレームをもつウインドーを通じてアプリケーション・ユーザー・インターフェース１３２を呈示する。これらのフレームは、アプリケーションと対話するためのコントロールおよび／またはユーザーがウインドーを動かしサイズ変更できるようにするコントロールを提供してもよい。
【００１６】
没入モード・モジュール１２４は、ユーザーがアプリケーション・ユーザー・インターフェース１３２を通じてアプリケーション１３０の一つまたは複数を閲覧し、これと対話しうる環境を提供する。いくつかの実施形態では、この環境は、ウインドー・フレームほとんどなしまたは全くなしで、および／またはユーザーがウインドー・フレームのレイアウトまたは他のウインドーとの関連での首位性（たとえばどのウインドーがアクティブであるかまたは手前にあるか）を管理したり手動でアプリケーション・ユーザー・インターフェース１３２のサイズもしくは位置を決めたりする必要なしに、アプリケーションの内容を呈示し、該アプリケーションとの対話を可能にする。
【００１７】
この環境は、ウインドー・ベースのデスクトップ環境を使うことなくホストおよび／または表面化することができるが、それは必須ではない。このように、いくつかの事例では、没入モード・モジュール１２４は、ウインドーではない（実質的なフレームのないウインドーでさえない）没入型の環境を呈示し、デスクトップのような表示（たとえばタスクバー）の使用を排除する。さらに、いくつかの実施形態では、この没入型の環境は、閉じることも、アンインストールすることもできない点でオペレーティング・システムと同様である。必須ではないが、いくつかの場合には、この没入型の環境は、ディスプレイのピクセルの全部またはほとんど全部をアプリケーションが使うことを可能にする。没入型環境の例は、本技法を記述する一環として下記で与えられる。ただし、それは網羅的でも、本稿に記載される技法を限定することを意図されたものでもない。
【００１８】
システム・インターフェース・モジュール１２６は、オペレーティング・システム１２０との対話を可能にする一つまたは複数のインターフェースを提供する。ほんの数例を挙げれば、たとえば、アプリケーション立ち上げインターフェース、スタート・メニューまたはシステム・ツールもしくはオプション・メニューなどである。
【００１９】
オペレーティング・システム１２０、モジュール１２２、１２４および１２６ならびにジェスチャー・ハンドラ１２８は、互いから別個であることもできるし、あるいは任意の好適な形で組み合わされまたは統合されることができる。
【００２０】
〈例示的な方法〉
図２は、エッジ・ジェスチャーがジェスチャーが始まるエッジにほぼ垂直であることに基づいてエッジ・ジェスチャーを可能にする方法２００を描いている。以下の議論の諸部分において、図１のシステム１００を参照することがあるが、その参照は単に例としてである。
【００２１】
ブロック２０２はジェスチャーを受け取る。このジェスチャーは、ウインドー・ベースのインターフェースを通じて、没入型インターフェースを通じてまたは全くインターフェースを通じずになど、ディスプレイのさまざまな部分において受領されてもよい。さらに、このジェスチャーは、タッチパッド、マウスもしくはローラー・ボールを通じて受領される動きのポインター追跡または腕（単数または複数）、指（単数または複数）もしくはスタイラスでなされる、動き感応性もしくはタッチ感応性機構を通じて受領される物理的な動きなど、さまざまな仕方でなされ、受領されてもよい。いくつかの場合には、ジェスチャーはディスプレイの物理的なエッジからまたは物理的なエッジ近くで（たとえば、指またはスタイラスがディスプレイのエッジに出会う際に）、ほんの数例挙げればタッチ・デジタイザー、容量性タッチスクリーンまたは容量性センサーによって、受領される。
【００２２】
たとえば、タブレット・コンピューティング装置１０６を示している図３を考える。タブレット１０６はウェブページ３０６を含む没入型インターフェース３０４を表示しているところを示されているタッチ感応性ディスプレイ３０２を含む。継続的な例の一環として、ブロック２０２において、ジェスチャー・ハンドラ１２８が図３に示されるようなジェスチャー３０８を受領する。
【００２３】
ブロック２０４は、ジェスチャーの開始点がエッジにあるかどうかを判定する。上記のように、問題のエッジは、没入型であれウインドー・ベースであれユーザー・インターフェースのおよび／またはディスプレイのエッジであることができる。いくつかの場合には、もちろん、ユーザー・インターフェースのエッジはディスプレイのエッジでもある。エッジのサイズは、ディスプレイまたはインターフェースについてのさまざまな因子に基づいて変わりうる。小さなディスプレイまたはインターフェースは、大きなディスプレイまたはインターフェースよりも、絶対的なまたはピクセルの面でより小さなサイズをもつことがある。感度が高い入力機構はより小さなエッジも許可する。いくつかの事例では、入力機構がディスプレイまたは画面を越えたジェスチャー部分を受領することができる場合には、エッジはディスプレイまたは画面のエッジを越えて延びていてもよい。エッジの例は長方形であり、一方の次元方向において1ピクセルから20ピクセルまでの間であり、他方の次元方向においてはインターフェースまたはディスプレイのインターフェース限界である。ただし、凸型および凹型のエッジを含め他のサイズおよび形が代わりに使われてもよい。
【００２４】
上記の継続的な例を続け、図４を考える。図４は、図３の没入型インターフェース３０４およびジェスチャー３０８のほかに、左エッジ４０２、上エッジ４０４、右エッジ４０６および下エッジ４０８を示している。視覚的な明瞭さのため、ウェブページ３０６は示されていない。この例では、インターフェースおよびディスプレイの寸法は、スマートフォンと多くのラップトップおよびデスクトップ・ディスプレイの間の中くらいのサイズである。エッジ４０２、４０４、４０６および４０８は、20ピクセルまたは絶対的に約10〜15mmの小さな寸法をもつ。それぞれの領域は、図では、ディスプレイ限界から20ピクセルの、それぞれエッジ限界４１０、４１２、４１４および４１６のところにある破線によって境を区切られている。
【００２５】
ジェスチャー・ハンドラ１２８が、ジェスチャー３０８が開始点４１８をもち、この開始点４１８が左エッジ４０２内であることを判別する。ジェスチャー・ハンドラ１２８は、この場合、開始点を、ジェスチャー３０８が始まる[X,Y]座標をピクセル単位で示すデータを受領し、これらの座標の第一のものを各エッジ４０２〜４０８内に含まれるピクセルと比較することによって判別する。ジェスチャー・ハンドラ１２８はしばしば、開始点および該開始点がエッジ内かどうかを、サンプル・レートより速く決定でき、よってジェスチャーを単に、ジェスチャーがなされる見えているインターフェースに直接渡す技法からほとんどまたは全くパフォーマンス劣化を引き起こすことがない。
【００２６】
方法２００に戻ると、一般に、ブロック２０４がジェスチャーの開始点がエッジではないと判別する場合、方法２００は「Ｎｏ」経路に沿ってブロック２０６に進む。ブロック２０６はジェスチャーを、ジェスチャーが受領された根底にあるインターフェースなど、露わにされているユーザー・インターフェースに渡す。上記の継続的な例を変えて、ジェスチャー３０８がエッジ内に開始点をもたないと判別されたとする。そのような場合、ジェスチャー・ハンドラ１２８は、ジェスチャー３０８についてのバッファリングされたデータを没入型ユーザー・インターフェース３０４に渡す。ジェスチャーを渡したのち、方法２００は終了する。
【００２７】
ブロック２０４が、ジェスチャーの開始点がエッジにあると判別する場合、方法２００は「Ｙｅｓ」経路に沿ってブロック２０８に進む。任意的に、ブロック２０４は方法がブロック２０８に進む前にジェスチャーの一部の長さを判別してもよい。いくつかの場合には、ジェスチャーの前記一部の長さを判別することは、ジェスチャーの完了に先立って開始点が決定されることを許容する。ブロック２０８は、開始点からジェスチャーののちの点までの線がエッジからほぼ垂直であるかどうかを判別することによって、ブロック２０４の肯定的な判定に応答する。
【００２８】
ブロック２０８は、いくつかの実施形態では、使用される前記のちの点を決定する。ジェスチャー・ハンドラ１２８はたとえば、前記のちの点が、みな図４のエッジ４０２についてのエッジ限界４１０を過ぎたところまたは開始点４１８から20ピクセルなど、エッジもしくは開始点から事前設定された距離で受領されることに基づいて、ジェスチャーの前記のちの点を決定することができる。他のいくつかの実施形態では、ジェスチャー・ハンドラ１２８は、前記のちの点が開始点の受領後、ジェスチャーがタップ・アンド・ホールドまたはホバー・ジェスチャーであると判定するのにコンピューティング装置１０２が一般に使うよりもわずかに長い時間など、事前設定された時間に受領されることに基づいて前記のちの点を決定する。
【００２９】
上記の継続的な実施形態について、ジェスチャー・ハンドラ１２８は、エッジ４０２の外側で受領されるジェスチャー３０８ののちに受領された点を、該のちに受領された点が事前設定された時間以内に受領される限り、使用する。その事前設定された時間内にエッジの外側で点が受領されなければ、ジェスチャー・ハンドラ１２８はブロック２０６に進み、ジェスチャー３０８を没入型インターフェース３０４に渡す。
【００３０】
開始点を使って、ブロック２０８は、ジェスチャーの開始点からのちの点までの線がエッジにほぼ垂直であるかどうかを判定する。ブロック２０８によるこの判定では、5度、10度、20度または30度など、さまざまな分散角（angle  of  variance）が使用できる。
【００３１】
たとえば、垂直からの分散角30度を考える。図５は、この例示的な分散を示しており、図３および図４の没入型インターフェース３０４、ジェスチャー３０８、左エッジ４０２、左エッジ限界４１０および開始点４１８を、垂直線５０４から30度の分散の線５０２とともに示している。このように、ジェスチャー・ハンドラ１２８は、開始点４１８からのちの点５０８までの線５０６（これは垂直から約20度である）が、この例示的な30度の分散線（variance  line）５０２内であることに基づいて、ほぼ垂直であると判定する。
【００３２】
一般に、ブロック２０８が上記線がエッジにほぼ垂直でないと判定する場合、方法２００は「Ｎｏ」の経路に沿ってブロック２０６に進む（たとえば指の経路が曲がっている）。部分的に上述したように、ブロック２０８は、のちの点またはジェスチャーの他の側面が該ジェスチャーの資格を失わせることを判定してもよい。例としては、ホバー、タップ、プレス・アンド・ホールドまたは上下ジェスチャー（たとえばユーザー・インターフェース内で内容をスクロールさせるため）などのためにのちの点がエッジ内にある場合、上記ジェスチャーが単一入力ジェスチャーであると設定されていて第二の入力が受領される場合（たとえば、第一の指がエッジで始まるが、その後、第二の指がどこかに着地する）、または上記ジェスチャー中または上記ジェスチャーの前にタップ・イベントが発生する場合（たとえば、指がすでに他所で接触をしている、またはジェスチャー中に他所で接触が受領される）が含まれる。
【００３３】
ブロック２０８が、エッジ外ののちの点に基づいて上記線がほぼ垂直であると判定する場合、方法２００は「Ｙｅｓ」の経路に沿ってブロック２１０に進む。
【００３４】
ブロック２１０は、ブロック２０８の肯定的な判定に対して、ジェスチャーを、露わにされているユーザー・インターフェース以外のエンティティに渡すことによって応答する。このエンティティは、そもそもジェスチャーがユーザー・インターフェースを通じて受領されたとしても、該ジェスチャーが受領されたユーザー・インターフェースではない。ブロック２１０は、ジェスチャーの開始点が受領されたエッジまたはエッジの領域などに基づいて、ジェスチャーをどのエンティティに渡すかも決定してもよい。たとえば図６を考える。図６は、図４の没入型インターフェース３０４およびエッジ４０２、４０４、４０６および４０８を示すが、右エッジ４０６に上領域６０２および下領域６０４を加えている。上領域６０２内の開始点の結果、下領域６０４の受領された開始点とは異なるエンティティを与えることができる（または同じエンティティでも異なるユーザー・インターフェースが応答して提供される）。同様に、上エッジ４０４内の開始点の結果、左エッジ４０２または下エッジ４０８とは異なるエンティティまたはインターフェースを与えることができる。
【００３５】
いくつかの場合には、このエンティティは上記ユーザー・インターフェースに関連付けられたアプリケーションである。そのような場合、ジェスチャーをそのエンティティに渡すことは、該アプリケーションに、該アプリケーションとの対話を可能にする第二のユーザー・インターフェースを呈示させる効果をもつことができる。上記の映画の例では、エンティティは、映画を再生しているメディア・プレーヤーであるが映画を表示する没入型インターフェースではないことができる。その場合、メディア・プレーヤーは、映画を表示するインターフェースによって可能にされる、「一時停止」、「再生」、「停止」などの選択ではなく、字幕または監督の論評の選択を可能にする第二のユーザー・インターフェースを呈示することができる。この機能は、図１では、アプリケーション１３０の一つが、二つ以上のアプリケーション・ユーザー・インターフェース１３２を含むまたは呈示することができる場合に、許容される。このように、ブロック２１０は、ジェスチャーを、システム・インターフェース・モジュール１２６、ユーザー・インターフェースを現在呈示しているアプリケーション１３０のうちの前記一つまたはアプリケーション１３０のうちの別のものに渡すことができる。ここでは三つの可能性だけを挙げた。
【００３６】
上記の継続的な実施形態の完結として、ブロック２１０において、ジェスチャー・ハンドラ１２８はジェスチャー３０８をシステム・インターフェース・モジュール１２６に渡す。システム・インターフェース・モジュール１２６はジェスチャー３０８のバッファリングされている部分を受領し、ジェスチャー３０８の残りを、ユーザーによってなされるにつれて受領し続ける。図７は、ジェスチャー３０８を受領したときの可能な応答を示しており、システム・インターフェース・モジュール１２６によって、図３からの没入型インターフェース３０４およびウェブページ３０６の上に呈示されるアプリケーション選択インターフェース７０２を示している。アプリケーション選択インターフェース７０２は、さまざまな他のアプリケーションおよびそのそれぞれのインターフェースの選択を、選択可能なアプリケーション・タイル７０４、７０６、７０８および７１０において可能にする。
【００３７】
例示的なアプリケーション選択インターフェース７０２は、没入モード・モジュール１２４を使って呈示される没入型ユーザー・インターフェースである。ただし、これは必須ではない。呈示される諸インターフェースまたはそのリストは、代わりに、ウインドー・ベースであり、ウインドー・ベース・モジュール１２２を使って呈示されてもよい。これらのモジュールはいずれも図１に示されている。
【００３８】
ブロック２１０は、追加的にまたは代替的に、受領されたジェスチャーについての他の因子に基づいて、ジェスチャーを種々のエンティティおよび／またはインターフェースに渡すことを決定してもよい。例示的な因子は下記の方法８００においてより詳細に記述する。
【００３９】
方法２００および以下に記述する他の方法は、ジェスチャーがなされ受領されつつあるときなど、リアルタイムで実行できることを注意しておく。これは、中でも、ジェスチャーに応答して呈示されるユーザー・インターフェースが、ジェスチャーの完了前に呈示されることを許容する。さらに、ユーザー・インターフェースはジェスチャーが受領されるにつれて漸進的に呈示されることができる。これは、ジェスチャーが実行される際にエッジからユーザー・インターフェースを引き出す際にユーザー・インターフェースがジェスチャーに（たとえばジェスチャーを行うマウス・ポイントまたは人の指に）「くっついている」ように見えるユーザー経験を許容する。
【００４０】
図８は、ジェスチャーの何らかの因子に基づいて呈示すべきインターフェースを決定することを含むエッジ・ジェスチャーを可能にするための方法８００を描いている。以下の議論の諸部分において、図１のシステム１００を参照することがあるが、その参照は単に例としてである。方法８００は、本稿に記載される他の方法と完全にまたは部分的に別個に、あるいは他の方法と連携して機能してもよい。
【００４１】
ブロック８０２はユーザー・インターフェースを通じてなされたジェスチャーが、ユーザー・インターフェースのエッジにおける開始点およびエッジ内でないのちの点をもつことを判別する。ブロック８０２は、ブロック８０２の判定の基礎となるのちの点の判別など、方法２００の諸側面と同様に動作し、あるいは該諸側面を使ってもよい。ブロック８０２は異なる仕方で機能してもよい。
【００４２】
一つの場合には、たとえば、ブロック８０２は、ジェスチャーが、表されている没入型ユーザー・インターフェースのエッジにおいて始まり、エッジにないがジェスチャーの角度に基づいていないのちの点をもつ一本指のスワイプ・ジェスチャーであることを判別する。この判別に基づいて、ブロック８０２は、ジェスチャーを表されている没入型ユーザー・インターフェースに渡すのではなく、ブロック８０４に進む。
【００４３】
ブロック８０４は、ジェスチャーの一つまたは複数の因子に基づいてどのインターフェースを呈示するかを決定する。ブロック８０４は、ジェスチャーの最終的な長さまたは中間的な長さ、ジェスチャーが単一点か複数点か（たとえば一本指か複数指か）またはジェスチャーのスピードに基づいてそれを行ってもよい。いくつかの場合には、ジェスチャーの二つ以上の因子がどのインターフェースを呈示すべきかを決定する。あるドラッグ長さおよびホールド時間をもつドラッグ・アンド・ホールドまたはあるドラッグ長さおよびドロップ位置をもつドラッグ・アンド・ドロップ・ジェスチャーなどである。このように、ブロック８０４は、たとえば、複数指ジェスチャーに応答してスタート・メニューを、比較的短い一本指ジェスチャーに応答してアプリケーション選択インターフェースを、あるいは比較的長い一本指ジェスチャーに応答してコンピューティング装置１０２をシャットダウンする選択を許容するシステム制御インターフェースを呈示することを決定してもよい。そうするために、ジェスチャー・ハンドラ１２８はジェスチャーの長さ、スピードまたは入力（たとえば指）の数を判別してもよい。
【００４４】
応答して、ブロック８０６は決定されたユーザー・インターフェースを呈示する。決定されたユーザー・インターフェースは、本稿で言及されているもののいずれであっても、また電子書籍の新規ページ、追加的な視覚要素（たとえばツールバーまたはナビゲーション・バー）または現在のユーザー・インターフェースの修正された見え方（現在のユーザー・インターフェースのテキストを異なるフォント、色またはハイライトで呈示する）といった全体的な新しい視覚要素であってもよい。いくつかの場合には、ビデオ・ゲームに関係するアクションまたは現在のもしくは呈示されるユーザー・インターフェースに関連するサウンド効果といった視覚的または非視覚的な効果が呈示されてもよい。
【００４５】
例として、ジェスチャー・ハンドラ１２８が、ジェスチャーのある因子に基づいて、オペレーティング・システム１２０との対話を可能にするユーザー・インターフェースを呈示することを決定するとする。応答して、システム・インターフェース・モジュール１２６がこのユーザー・インターフェースを呈示する。ユーザー・インターフェースの呈示は、図７のアプリケーション選択ユーザー・インターフェース７０２の漸進的な表示など、他の方法において記述されているのと同様の仕方であってもよい。
【００４６】
方法２００および／または方法８００の全体または一部に続いて、本技法は、図９の方法９００を実行することに進んでもよい。方法９００は、ユーザー・インターフェースの拡張、別のインターフェースの呈示またはエッジ・ジェスチャーに応答して呈示されているユーザー・インターフェースの呈示終了を可能にする。
【００４７】
ブロック９０２は、ジェスチャーの後続点を受領する。第二のユーザー・インターフェースの少なくとも何らかの部分の呈示後である。部分的に上記したように、方法２００および／または８００は、現在のユーザー・インターフェースに関連付けられている同じアプリケーションのための第二のユーザー・インターフェース、異なるアプリケーションまたはシステム・ユーザー・インターフェースのような第二のユーザー・インターフェースを呈示するまたは呈示させることができる。
【００４８】
例として、タッチ感応性ディスプレイ１００２を有するラップトップ・コンピュータ１０４を示している図１０を考える。該ディスプレイは、ウインドー・ベースの電子メール・インターフェース１００４および二つの没入型インターフェース１００６および１００８を表示している。ウインドー・ベースの電子メール・インターフェース１００４は、ラップトップ・コンピュータ１０４にとってリモートまたはローカルであることができる、電子メールを管理するアプリケーションに関連付けられている。図１０はまた、二つのジェスチャー１０１０および１０１２をも示している。ジェスチャー１０１０は直線で進み、一方、ジェスチャー１０１２は逆戻りする（二つの方向を示す二つの矢印で図示されている）。
【００４９】
図１１は、開始点（starting  point）１１０２、のちの点（later  point）１１０４および後続点（successive  point）１１０６をもつジェスチャー１０１０と、開始点１１０２、のちの点１１０８および第一の後続点１１１０および第二の後続点１１１２をもつジェスチャー１０１２とを示している。図１１はまた、下エッジ１１１４、のちの点の領域１１１６およびインターフェース追加領域１１１８をも示している。
【００５０】
ブロック９０４は、後続点に基づいて、ジェスチャーが逆行、延長を含むかいずれも含まないかを判定する。ブロック９０４は、後続点が前記エッジにあるまたは当該ジェスチャーの以前の点よりエッジに近いことを判別することによってジェスチャーの方向における反転を判別してもよい。ブロック９０４は、後続点が前記エッジまたは前記のちの点から事前設定された距離にあることに基づいてジェスチャーが延びていることを判別してもよい。これらのいずれも真であると判定されない場合、方法９００はブロック９０２および９０４を繰り返して、ジェスチャーが終了するまで、さらなる後続点を受領および解析してもよい。ブロック９０４が反転があると判定する場合、方法９００は「反転」経路に沿ってブロック９０６に進む。ブロック９０４がジェスチャーが延長されていると判定する場合、方法９００は「延長」経路に沿ってブロック９０８に進む。
【００５１】
今の例のコンテキストにおいて、ジェスチャー・ハンドラ１２８がジェスチャー１０１２の第一の後続点１１１０を受領するとする。ジェスチャー・ハンドラ１２８はその際、第一の後続点１１１０がエッジ１１１４になく、当該ジェスチャーの以前の点よりエッジ１１１４に近くなく（たとえば、のちの点１１０８より近くない）、インターフェース追加領域１１１８内でないことによって前記エッジまたはのちの点から事前設定された距離でもないことを判別する。そのような場合、方法９００はブロック９０２に戻る。
【００５２】
ブロック９０２の第二の反復では、ジェスチャー・ハンドラ１２８が第二の後続点１１１２を受領するとする。そのような場合、ジェスチャー・ハンドラ１２８は第二の後続点１１１２が第一の後続点１１１０よりエッジ１１１４に近く、よってジェスチャー１０１２が反転を含んでいることを判別する。ジェスチャー・ハンドラ１２８は次いでブロック９０６に進んで、当該ジェスチャーに応答して前に呈示された第二のユーザー・インターフェースの呈示を終える。例として、電子メール・ハンドリング・インターフェース１２０２を示す図１２を考える。ブロック９０６のこの例示的な場合では、ジェスチャー・ハンドラ１２８は電子メール・アプリケーションに、ジェスチャー１０１２の反転に応答してインターフェース１２０２を呈示することをやめさせる（除去されることは図示していない）。
【００５３】
しかしながら、ブロック９０８は、第三のユーザー・インターフェースまたは第二のユーザー・インターフェースの拡張を呈示するまたは呈示させる。いくつかの場合には、第三のユーザー・インターフェースの呈示は、呈示を取り消すことまたは第二のユーザー・インターフェースを隠す（たとえば第三のユーザー・インターフェースを第二のユーザー・インターフェースの上に呈示する）ことを通じて、第二のユーザー・インターフェースが呈示されるのを終わらせる。継続的な例を続け、図１３を考える。この図は、エッジ１１０４から事前設定された距離の、この場合、図１１のインターフェース追加領域１１１８内である後続点１１０６をもつと判定されたジェスチャー１０１０に応答して追加的な電子メール・オプション・インターフェース１３０２を示している。この領域および事前設定距離は、当該ジェスチャーに応答して前に呈示されたユーザー・インターフェースのサイズに基づいて設定されることができる。こうして、追加的なコントロールを追加したいユーザーは、単に、ジェスチャーを、該ジェスチャーのより早期の部分に応答して呈示されたユーザー・インターフェースを過ぎて延長するだけでよい。
【００５４】
方法９００は、追加的なユーザー・インターフェースを追加するまたは呈示されているユーザー・インターフェースを拡張するために繰り返されることができる。図７の例示的なインターフェース７０２に戻ると、たとえば、ジェスチャー・ハンドラ１２８は、ジェスチャー３０８がインターフェース７０２を過ぎて延びるにつれて、選択可能なアプリケーション・タイルの追加的なセットを呈示するなどして、インターフェースまたはコントロールをインターフェース７０２に追加することを続けることができる。ジェスチャー３０８が追加的なタイルを過ぎて延びる場合には、ジェスチャー・ハンドラ１２８はシステム・インターフェース・モジュール１２４に、該タイルに隣接する、ユーザーがコントロールを選択できるようにする別のインターフェースを呈示させてもよい。コントロールは、コンピューティング装置１０２をサスペンド、ハイバーネート、モード切り換え（没入型からウインドー・ベースにおよびその逆）またはシャットダウンするなどである。
【００５５】
エッジ・ジェスチャーに応答して呈示される上記の例のユーザー・インターフェースは不透明であるが、部分透明（partially  transparent）であってもよい。これは、内容を隠蔽しないことによって有用となりうる。上記の映画の例では、呈示されるユーザー・インターフェースは、部分透明であり、それによりユーザー・インターフェースの使用中、映画が部分的に隠蔽されるだけとすることができる。同様に、図１２および図１３の例において、インターフェース１２０２および１３０２は部分透明であってもよく、それにより、ユーザーが、インターフェースの一つにおけるコントロールの選択もしながら、電子メールのテキストを見ることができるようにする。
【００５６】
以上の議論は、本技法がエッジ・ジェスチャーを可能にし、使用しうる方法を記述している。これらの方法は、実行される動作を指定するブロックのセットとして示されているが、必ずしもそれぞれのブロックによる動作を実行するための図示した順序に限定されるわけではない。
【００５７】
これらの方法の諸側面は、ハードウェア（たとえば、固定論理回路）、ファームウェア、シリコン・オン・チップ（SoC）、ソフトウェア、手動処理またはそれらの任意の組み合わせにおいて実装されてもよい。ソフトウェア実装は、コンピュータ・プロセッサによって実行されたときに指定されたタスクを実行する、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手続、モジュール、関数などといったプログラム・コードを表す。プログラム・コードは、コンピュータ・プロセッサにローカルおよび／またはリモートな一つまたは複数のコンピュータ可読メモリ・デバイスに記憶されることができる。上記の方法はまた、複数のコンピューティング装置によって分散コンピューティング環境において実施されてもよい。
【００５８】
〈例示的な装置〉
図１４は、エッジ・ジェスチャーを可能にし、使用するために、クライアント、サーバーおよび／または図１ないし図１３を参照して述べたコンピューティング装置の任意の型として実装されることができる例示的な装置１４００のさまざまなコンポーネントを示している。諸実施形態において、装置１４００は、有線および／または無線装置の一つまたは組み合わせとして、テレビジョン・クライアント装置（たとえばテレビジョン・セットトップ・ボックス、デジタル・ビデオ・レコーダー（DVR）など）、消費者装置、コンピュータ装置、サーバー装置、ポータブル・コンピュータ装置、ユーザー装置、通信装置、ビデオ処理および／またはレンダリング装置、アプライアンス装置、ゲーム装置、電子装置および／または別の型の装置の形として、実装されることができる。装置１４００はまた、ユーザー（たとえば人）および／または当該装置を運用するエンティティに関連付けられていてもよい。よって、装置は、ユーザー、ソフトウェア、ファームウェアおよび／または装置の組み合わせを含む論理的な装置を記述する。
【００５９】
装置１４００は、装置データ１４０４（たとえば受領されるデータ、受領されつつあるデータ、放送のためにスケジュールされているデータ、該データのデータ・パケットなど）の有線および／または無線通信を可能にする通信装置１４０２を含む。装置データ１４０４または他の装置コンテンツは、当該装置の構成設定、当該装置上に記憶されているメディア・コンテンツおよび／または当該装置のユーザーに関連付けられた情報を含むことができる。装置１４００上に記憶されたメディア・コンテンツは、任意の型のオーディオ、ビデオおよび／または画像データを含むことができる。装置１４００は、一つまたは複数のデータ入力１４０６を含み、それを介して、ユーザー選択可能な入力、メッセージ、音楽、テレビジョン・メディア・コンテンツ、記録されたビデオ・コンテンツおよび任意のコンテンツおよび／またはデータ源から受領された他の任意の型のオーディオ、ビデオおよび／または画像データといった、任意の型のデータ、メディア・コンテンツおよび／または入力が受領されることができる。
【００６０】
装置１４００は通信インターフェース１４０８をも含む。これはシリアルおよび／またはパラレル・インターフェース、無線インターフェース、任意の型のネットワーク・インターフェース、モデムおよび他の任意の型の通信インターフェースのうちの任意の一つまたは複数として実装されることができる。通信インターフェース１４０８は装置１４００と通信ネットワークとの間の接続および／または通信リンクを提供し、該リンクによって他の電子装置、コンピューティング装置および通信装置が装置１４００とデータを通信する。
【００６１】
装置１４００は一つまたは複数のプロセッサ１４１０（たとえば、マイクロプロセッサ、コントローラなどの任意のもの）を含む。該プロセッサはさまざまなコンピュータ実行可能命令を処理して、装置１４００の動作を制御するとともに、エッジ・ジェスチャーを可能にするおよび／または使用する技法を可能にする。代替的にまたは追加的に、装置１４００は、概括的に１４１２において特定される処理および制御回路との関連で実装される、ハードウェア、ファームウェアまたは固定論理回路のうちの任意のものまたは組み合わせを用いて実装されることができる。図示していないが、装置１４００は、当該装置内のさまざまなコンポーネントを結合するシステム・バスまたはデータ転送システムを含むことができる。システム・バスは、多様なバス・アーキテクチャの任意のものを利用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、ユニバーサル・シリアル・バスおよび／またはプロセッサもしくはローカル・バスといった種々のバス構造の任意のものまたは組み合わせを含むことができる。
【００６２】
装置１４００は、持続的および／または非一時的なデータ記憶（すなわち、単なる信号伝送ではなく）を可能にする一つまたは複数のメモリ・デバイスのようなコンピュータ可読記憶媒体１４１４をも含む。その例としては、ランダム・アクセス・メモリ（RAM）、不揮発性メモリ（たとえば、読み出し専用メモリ（ROM）、フラッシュメモリ、EPROM、EEPROMなどの任意の一つまたは複数）およびディスク記憶装置が含まれる。ディスク記憶装置は、ハードディスクドライブ、記録可能型および／または書き換え可能型コンパクトディスク（CD）、任意の型のデジタル多用途ディスク（DVD）などといった任意の型の磁気もしくは光学式記憶装置として実装されてもよい。装置１４００は、大容量記憶媒体装置１４１６をも含むことができる。
【００６３】
コンピュータ可読記憶媒体１４１４は、装置データ１４０４ならびにさまざまな装置アプリケーション１４１８および装置１４００の動作の諸側面に関係した他の任意の型の情報および／またはデータを記憶するデータ記憶機構を提供する。たとえば、オペレーティング・システム１４２０は、コンピュータ可読記憶媒体１４１４とともにコンピュータ・アプリケーションとして維持され、プロセッサ１４１０上で実行されることができる。装置アプリケーション１４１８は、任意の形の制御アプリケーションのような装置マネージャ、ソフトウェア・アプリケーション、信号処理および制御モジュール、特定の装置にネイティブなコード、特定の装置のためのハードウェア抽象化層などを含んでいてもよい。
【００６４】
装置アプリケーション１４１８は、エッジ・ジェスチャーを使用するまたは可能にする技法を実装するための任意のシステム・コンポーネントまたはモジュールをも含む。この例では、装置アプリケーション１４１８はシステム・インターフェース・モジュール１２２、ジェスチャー・ハンドラ１２８およびアプリケーション（単数または複数）１３０を含むことができる。
【００６５】
〈結語〉
エッジ・ジェスチャーを可能にする技法および装置の諸実施形態を特徴および／または方法に固有の言葉で記述してきたが、付属の請求項の主題が必ずしも記述されている特定の特徴または方法に限定されないことは理解しておくべきである。むしろ、特定の特徴および方法は、エッジ・ジェスチャーを可能にするおよび／または使用する例示的な実装として開示されているのである。
いくつかの付記を記載しておく。
〔付記１〕
コンピュータ実装される方法であって：
一つまたは複数のユーザー・インターフェースを呈示するジェスチャー感応性ディスプレイを通じてなされたジェスチャーを受領する段階と；
前記ジェスチャーが前記ジェスチャー感応性ディスプレイのエッジにある開始点および該エッジにないのちの点をもつことを判別する段階と；
前記判別に応答して、前記ジェスチャーを、前記ジェスチャー感応性ディスプレイに呈示されている前記一つまたは複数のユーザー・インターフェース以外のエンティティもしくは他のユーザー・インターフェースに渡す段階とを含む、
コンピュータ実装される方法。
〔付記２〕
前記他のユーザー・インターフェースがスタート・メニュー、アプリケーション選択インターフェースまたは前記コンピューティング装置のためのオプション・インターフェースである、付記１記載のコンピュータ実装される方法。
〔付記３〕
前記エッジの複数の領域のうちのある領域を決定する段階をさらに含み、前記ジェスチャーを前記エンティティに渡すことが、前記領域に基づいて前記他のユーザー・インターフェースを指示する、付記１記載のコンピュータ実装される方法。
〔付記４〕
前記ジェスチャーが第一の長さまたは第二の長さであることを判別する段階をさらに含み、前記ジェスチャーを渡すことが、前記ジェスチャーを、前記ジェスチャーが前記第一の長さであると判定される場合には前記エンティティに渡し、前記ジェスチャーが前記第二の長さであると判定される場合には前記他のユーザー・インターフェースに渡す、付記１記載のコンピュータ実装される方法。
〔付記５〕
前記ジェスチャーが一本指のジェスチャーであるか複数指のジェスチャーであるかを判定することをさらに含み、前記ジェスチャーを渡すことが、前記ジェスチャーが一本指のジェスチャーであるか複数指のジェスチャーであるかを判定することに応じて前記ジェスチャーを前記エンティティまたは前記他のユーザー・インターフェースに渡す、付記１記載のコンピュータ実装される方法。
〔付記６〕
前記ジェスチャーを前記エンティティに渡すことが、前記エンティティに前記他のユーザー・インターフェースを呈示させ、前記他のユーザー・インターフェースが前記ジェスチャー感応性ディスプレイに関連するコンピューティング装置のシステムとの対話を可能にする、付記１記載のコンピュータ実装される方法。
〔付記７〕
前記第二のユーザー・インターフェースが少なくとも半透明である、付記６記載のコンピュータ実装される方法。
〔付記８〕
前記ジェスチャーを渡すことが、前記他のユーザー・インターフェースの表示を引き起こし、当該方法がさらに：
前記ジェスチャー感応性ディスプレイを通じてなされた第二のジェスチャーを受領する段階と；
前記第二のジェスチャーが前記他のユーザー・インターフェース内にある開始点および前記エッジにあるのちの点をもつことを判別する段階と；
前記第二のジェスチャーが前記他のユーザー・インターフェース内にある開始点および前記エッジにあるのちの点をもつことを判別するのに応答して、前記他のユーザー・インターフェースの表示を終了させる段階とを含む、
付記１記載のコンピュータ実装される方法。
〔付記９〕
コンピュータ実装される方法であって：
一つまたは複数のユーザー・インターフェースを呈示するジェスチャー感応性ディスプレイを通じてなされたジェスチャーを受領する段階と；
前記ジェスチャーの開始点が前記ジェスチャー感応性ディスプレイのエッジにおいて受領されているかどうかを判定する段階と；
前記開始点が前記ジェスチャー感応性ディスプレイのエッジにないと判定することに応答して、前記ジェスチャーを前記一つまたは複数のユーザー・インターフェースのうちの一つのユーザー・インターフェースに渡す段階であって、前記一つのユーザー・インターフェースを通じて前記ジェスチャーの別の点の前記開始点が受領される、段階と；
前記開始点が前記ジェスチャー感応性ディスプレイのエッジにあると判定することに応答して、前記開始点から前記ジェスチャーののちの点までの直線がそのエッジからの垂直から約30度以内であるかどうかを判定する段階と；
前記直線がそのエッジからの垂直から約30度以内でないと判定するのに応答して、前記ジェスチャーを前記一つまたは複数のユーザー・インターフェースのうちの前記一つのユーザー・インターフェースに渡す段階と；
前記直線が約30度以内であると判定するのに応答して、システム・エンティティとの対話を可能にするシステム・インターフェースを呈示する段階とを含む、
コンピュータ実装される方法。
〔付記１０〕
前記一つまたは複数のユーザー・インターフェースのうちの一つが没入型インターフェースであり、前記一つまたは複数のユーザー・インターフェースのうちの別の一つがウインドー・ベースのインターフェースである、付記９記載の方法。
【図１】
0006038898.tif 000002
【図２】
0006038898.tif 000003
【図３】
0006038898.tif 000004
【図４】
0006038898.tif 000005
【図５】
0006038898.tif 000006
【図６】
0006038898.tif 000007
【図７】
0006038898.tif 000008
【図８】
0006038898.tif 000009
【図９】
0006038898.tif 000010
【図１０】
0006038898.tif 000011
【図１１】
0006038898.tif 000012
【図１２】
0006038898.tif 000013
【図１３】
0006038898.tif 000014
【図１４】
0006038898.tif 000015