(58)【調査した分野】(Int.Cl.,DB名)
前記第1のUIジェスチャがスワイプジェスチャをさらに含み、前記スワイプジェスチャが、前記表示画面のアクティブ表示領域内で開始し、前記表示画面の第1のエッジを横切る、請求項1に記載の方法。
【発明を実施するための形態】
【0010】
本明細書で使用される場合、「コンポーネント」、「システム」、「インターフェース」、「コントローラ」などの用語は、ハードウェア、(たとえば実行中の)ソフトウェア、および/またはファームウェアのいずれであれ、コンピュータ関連のエンティティを指すものとする。たとえば、これらの用語のいずれかは、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、および/またはコンピュータとすることができる。例として、サーバ上で動作するアプリケーションおよびこのサーバの双方は、コンポーネントおよび/またはコントローラとすることができる。1つまたは複数のコンポーネント/コントローラは、プロセス内に存在することができ、コンポーネント/コントローラは、1つのコンピュータ上に局在させることができ、および/または2つ以上のコンピュータに分散させることができる。
【0011】
加えて、コンポーネント、コントローラ、およびコンピューティングデバイスは通常、様々なコンピュータ可読記憶デバイスおよび/または媒体を含むことができる。例として、限定はしないが、コンピュータ可読ストレージおよび/または媒体は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、電子的消去可能プログラム可能読取専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)または他の光学もしくはホログラフィック媒体、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは、所望の情報を符号化するのに使用可能であり、コンポーネント、コントローラ、またはコンピューティングデバイスによりアクセス可能な任意の他の媒体を含むことができる。
【0012】
そのようなメモリは、揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含むことができる。そのようなメモリは、リムーバブル、非リムーバブル、またはこれらの組合せとすることができる。例示的なハードウェアデバイスには、固体メモリ、ハードドライブ、光学ディスクドライブなどがある。コンピューティングデバイスは、メモリまたはI/Oモジュールなどの様々なエンティティからデータを読み取る1つまたは複数のプロセッサを含むことができる。
【0013】
特許請求する主題を、図面を参照して説明するが、同様の参照番号を、全体を通して、同様の要素を参照するために用いる。以下の記載においては、説明の目的で、多数の具体的な詳細を記載し、本革新の完全な理解が得られるようにする。しかしながら、特許請求する主題が、これらの具体的な詳細なくとも実践可能であることは明らかであろう。他の例では、周知の構造およびデバイスを、本革新の説明を容易にするために、ブロック図の形式で示す。
【0014】
はじめに
一実施形態では、タッチ感応画面を有するコンピューティングデバイスが、特定の状況および/または条件下において、エッジ関連ジェスチャおよび/または入力を自動的に無効化できると望ましいことがある。そのような条件は、ユーザがシステムUIを取得しようとしていなかったが、ともかくエッジからスワイプインした状況と望ましくは関係があるべきである。いくつかの実施形態では、コンピュータシステムは、いくつかの状況においてエッジ入力をオフにすることができ、たとえば、以下の場合である:
(1)ユーザがちょうど今、エッジの外へスワイプした。
(2)ユーザがパンしている。および/または、
(3)特定の条件下のアプリがシステムに問合せする。
【0015】
他の実施形態では、タッチ感応でない表示画面を有するコンピューティングデバイスが、以下をコンピュータデバイスに識別させると望ましいことがある:(1)表示画面の「アクティブ」領域。たとえばコンピューティングデバイス上で実行中のアプリケーションがI/Oジェスチャおよび/またはコマンドに応答する領域。ならびに(2)表示画面の「エッジ」領域。たとえばオペレーティングシステムまたは他のアプリケーション(必ずしもユーザが実行し現在インタラクト(interact)しているものではない)が、I/Oジェスチャおよび/またはコマンドに応答する領域。
【0016】
図1に、本出願のシステムおよび/または方法に関して採用可能な例示的デバイス102の一実施形態100を示す。デバイス102は、オペレーティングシステム106を実行可能なコントローラ104をさらに備えることができる。一実施形態では、デバイス102は、タッチ画面をさらに備えることができ、タッチ画面において、様々なタッチおよび/またはスワイプジェスチャが、(たとえば図示したいくつかの方向、すなわち垂直および/または水平方向108a〜dにおいて)そのエッジを越えて使用可能である。これらのエッジジェスチャは、これに応答して、オペレーティングシステムによる様々な動作を呼び出すことができる。
【0017】
たとえば、Windows(登録商標)バージョン8オペレーティングシステムでは、右側108bからタッチ画面内へのスワイプジェスチャは、「チャーム(charm)」リストを呼び出して出現させることができる。他の例では、左側108dからタッチ画面内へのスワイプジェスチャは、コンピューティングデバイスのバックスタック(backstack)内のアプリケーションのユーザインターフェース表現を提供することができる。他のエッジジェスチャが、コンピューティングデバイスのオペレーティングシステムに対する他の機能セットを生成できることを理解されたい。不注意なエッジジェスチャにより提供される機能が、ユーザが意図したものではなく、したがってユーザにとって所望の結果でない場合があることで十分な場合がある。
【0018】
タッチ感応ディスプレイを有することができない(または、タッチ感応ディスプレイを有するが、ユーザのタッチ以外の他のI/Oデバイスを用いる)コンピューティングデバイスに関して、任意選択のI/Oデバイス110が、そのコンピューティングデバイスに対して可能である。そのような任意選択のI/Oデバイス110は:全てのジェスチャベースのシステム、たとえば、限定はしないが:ホバーを用いたタッチセンサ、ペンセンサ、マウス、トラックパッド、タッチパッド、トラックボール、Kinect(登録商標)デバイス、超音波モーションセンサ、ビデオモーションセンサ、カメラ、コンピュータビジョンセンサ/システム、顔検出、顔ジェスチャ、モーションキャプチャ、音声認識、および一般に自然な入力に関する全てのセンサ、ならびにこれらの任意の組合せを含むことができる。ユーザが現在インタラクトしている以外のアプリケーション、たとえばオペレーティングシステムまたは他のアプリケーションによりI/Oジェスチャおよび/またはコマンドを処理させる表示画面のアクティブエッジ領域をそのようなコンピューティングデバイスが認識することで十分な場合がある。したがって本出願では、タッチジェスチャおよび/またはスワイプを行うユーザとのタッチ感応ディスプレイインタラクションを含む状況が実施形態において論じられる場合、(添付のタッチ感応ディスプレイの有無に関わらず)非タッチディスプレイを有するコンピューティングデバイスを用いるが、エッジ入力を上記のように扱うことができる他の実施形態が可能である。
【0019】
様々な実施形態
上述のように、エッジ入力が、コンピューティングデバイスにより「不注意」であると解釈された場合に、無視、保留、無効化、ブロックあるいは改変される、いくつかの実施形態が存在する。以下は、そのようなエッジ入力を無視/無効化/ブロック/改変するのが望ましいことがあるいくつかの状況である。コンピュータデバイスは、そのような機能を提供するために、以下の状況のうちの1つ、いくつか、または全てを組み込むことができる:
【0020】
(i)ユーザがエッジ外へスワイプした後
ユーザが画面のエッジ外へスワイプした場合、同じエッジに沿って所望の期間の間、エッジ入力を無効化することが望ましいことがある。加えて、元のスワイプが画面から外れた所から特定の距離内であるエッジ入力を無効化することもまた望ましいことがある。時間および距離メトリックの両方を併せて用いて、不注意なエッジスワイプからの保護を与えることができる。
【0021】
単に一例として、これにより、開発者からの任意の投資またはユーザへの妨害なしで画面の全てのエッジが追加機能に用いられる環境で没入して作業するために、(たとえばペイントアプリなどの)シナリオにおいて保護を与えることができる。一例として、ユーザは自身のデバイス上で絵を描いており、絵の縁に色を塗っていることがある。ユーザは気をつけているかもしれないが、ユーザは、ブラシする際に、デジタイザの実際のアクティブ領域に繰り返し出入りすることがある。改良されたエッジUI保護を用いて、システムは、ユーザの体験を妨害することなく、ユーザにこれを行わせることができる。
【0022】
図2Aに、不注意なエッジスワイプ/ジェスチャからの保護の1つのそのような実施形態(200a)を示す。スワイプ202aは、タッチ画面のアクティブ領域内で開始し、コンピューティングデバイスの上端の外へ運ばれることがある。そして、ユーザは、たとえば、おそらく最初のスワイプ202a時に実行している現在のアプリケーションとインタラクトしようとして(および、任意の他のエッジ起動UIインタラクションを呼び出すことを意図せずに)、タッチ画面のアクティブ領域内に戻るスワイプジェスチャ204aを行うことがある。
【0023】
リターンスワイプおよび/またはジェスチャ204aが、(たとえば、「ブロックされる」(すなわち無効化/無視/ブロック/改変される)エッジ領域206aにより示されるような)最初の外向きスワイプから特定の距離内にある(たとえば指数本分離れている)場合、リターンスワイプは、異なるエッジ関連UIイベント、たとえば、おそらく現在実行中のアプリケーション内に設計されたエッジ関連UIイベントと異なるものを呼び出すことはない。
【0024】
「ブロックされる」という用語および他のそのような用語は、エッジスワイプ/ジェスチャが、他のアプリケーションまたはオペレーティングシステムのUIに対するジェスチャ(たとえばそのようなジェスチャは、スタックされたプロセス、すなわち「チャーム」の表示を呼び出すか、またはたとえば他のオペレーティングシステムコマンドもしくは他のアプリケーションからのコマンドを発行することがある)として扱われるのと異なって(たとえば現在実行中のアプリケーションにより)扱われることになる状況を含むようにも用いられるべきであることを理解されたい。
【0025】
加えて、このブロックされる領域206aは、所望の期間が終了するまで、ブロックおよび/または保留されたままとすることができる。一実施形態では、そのような所望の期間は、ユーザが現在実行中のアプリケーションとインタラクトし続け、他のエッジ関連UIイベントを呼び出そうなどしていないと合理的に予想されるであろう時間に関連してもよい。そのような所望の期間は、数百ミリ秒から数秒にまで及ぶことがある(現在実行中のアプリケーションの性質、たとえばペースの速いゲーム対ペースのより遅いアプリケーションなど、におそらく依存する)。
【0026】
図2Bは、不注意なエッジスワイプ/ジェスチャからのそのような保護の他の実施形態(200b)である。この場合、最初のタッチ202bがコーナーに十分近ければ、リターンスワイプ/ジェスチャ204bは、上述のようにブロックされるコーナー206bエッジ境界につながる場合がある。
【0027】
図3は、そのような画面外スワイプ/ジェスチャによる不注意なエッジUIインタラクションから保護する単なる一実施形態(300)である。処理300は、302から開始することができる。304において、本処理は、第1の位置におけるタッチディスプレイアクティブ領域外へのスワイプを検出することができる。次いで本処理は、306において、所望のタイマが時間切れしたかを問い合わせることができる。時間切れした(および、アクティブタッチ画面領域内へ戻る第2のスワイプが検出されなかった)場合、本処理は302に戻り、以前のように他の第1のスワイプの検出を待つことができる。
【0028】
しかしながら、時間切れしていない間は、308において第2のスワイプを検出することができる。エッジからアクティブタッチ画面内へ戻る第2のスワイプが先に論じた所与の距離許容範囲内でない場合、本処理はタイマに戻り、タイマが時間切れするのを待つことができる。加えて、コンピューティングデバイスは、距離許容範囲内および/または期間内でないそのようなエッジジェスチャを有効化させてもよい。
【0029】
しかしながら、エッジからの第2のスワイプ/ジェスチャが、第1のスワイプ/ジェスチャの距離許容範囲内である(および期間内でもある)場合、コンピューティングデバイスは、そのようなスワイプ/ジェスチャに本来なら許可されるはずのエッジ入力をブロックあるいは改変することができる。一実施形態では、本処理は、タイマおよび距離情報フィード(info feeds)をエッジジェスチャ検出アルゴリズムに設定し、スワイプ/ジェスチャがエッジジェスチャでないかを(たとえば実行中のアプリケーションよりも上位のシステムレベルで)判定させる。システムは、スワイプ/ジェスチャを現在のアプリへ通過させることができる(たとえば、そのようなスワイプ/ジェスチャが現在のアプリのコンテキストにおいて意味を持つ場合など)。アプリへのそのような通過は、コンピューティングデバイスの任意選択の機能とすることができる。
【0030】
この処理の多数の変形が可能であり、ことによると望ましい(および、本出願の範囲に含まれる)ことは理解されるであろう。エッジを横切るアクティブタッチ画面領域からの最初のスワイプ/ジェスチャから所与の距離許容範囲および/または時間許容範囲内の、エッジからの第2のスワイプ/ジェスチャに対する何らかの保護があることで十分な場合がある。
【0031】
(ii)ユーザがパンしている間:
他の実施形態では、画面上に発生している「慣性」が存在している間、アクティブタッチ画面領域内へのスワイプのエッジUI効果をブロック/禁止するのが望ましいことがある。これが発生する傾向があり得るのは、ユーザが画面をパンしている間、たとえば、画像のスライドショーを見ているか、または画面に完全に描画されていない部分がある文書内をスクロールしているなどの場合である。ユーザは、画面が「慣性」モードである間、エッジ入力を経験することができない。
【0032】
単なる一例として、ユーザは非常に長いウェブサイト内を素早くパンしていることがある。ユーザが所望の方向にフリックし続けると、ユーザのインタラクションは雑になり始めることがあり、ユーザの指は時折、エッジ関連UIイベントを通常は呼び出すことになる領域にヒットし、スクロールを停止させることがある。しかしながら、本システムにより、パンを発生させ続けることができ、ユーザの本当のインタラクションを中断なく継続させることができる。
【0033】
図4に、コンピュータデバイスの、ユーザがその上の画像をパンしている場合の一実施形態(400)を示す。スワイプ/ジェスチャ402は、特定のアプリケーション(たとえばフォトビューア、ワードプロセッサなど)におけるユーザの指からのプッシュなどとして、実施され得る。そのようなスワイプ/ジェスチャの結果、「慣性」404、すなわちスワイプ/ジェスチャの時間を過ぎて継続する動きが画像に与えられることがある。一実施形態では、慣性がタッチ画面上に存在する場合、第2のスワイプ/ジェスチャ406は、おそらくタッチ画面領域の外側から来てエッジ領域を横切るものであるが、エッジ関連UIイベント、たとえばユーザに期待または望まれないであろうものを起動/開始する傾向があることがある。これが最も起こりそうなのは、スワイプ/ジェスチャが、画面上の何らかの画像オブジェクトの動きおよび/または慣性を増加させようとした場合である。そのような場合、エッジ関連UIイベントのあらゆるそのような開始をブロックし408、ことによるとスワイプ/ジェスチャにこの場合の動きを継続させると望ましいことがある。
【0034】
図5は、そのような手順を実施するフローチャートの一実施形態(500)である。処理は502から開始することができる。504において、デバイスは、アクティブタッチ領域で行われたスワイプ/ジェスチャを検出することができる。デバイスは、506において、画面UI上のどこかに慣性が存在するか否かについて問合せを行うことができる。存在しない場合、システムは502の処理に戻ることができる。そうではなく、第2のスワイプ/ジェスチャの検出の際に慣性がまだ存在する場合、デバイスは、508において、第2のスワイプ/ジェスチャについてのエッジ入力をブロックすることができる。この処理の他の変形は可能であり、本出願に含まれている。
【0035】
他の様々な実施形態において、このヒューリスティックな規則は、本明細書で論じられるように、特定の時間、距離または他の許容範囲/メトリクスによって修正することができる:
【0036】
(a)時間
たとえば既知の実際のタッチ入力からの最後の慣性の開始後「x」秒以内の、ことによると約100〜500msの開始値の、期間が望ましいことがある。
【0037】
加えて、その時間が完了する前に慣性が停止する場合(たとえばユーザまたはアプリケーションが慣性を早期に停止させエッジ関連UIイベントを行いたい場合)、さらなるインタラクションを通常の規則に振り向けることが望ましい場合がある。
【0038】
(b)方向性 − 単一エッジ
この場合、動きの方向に対向するエッジを無効化することが望ましいことがある。他の場合では、複数のオブジェクト/画像が画面上で一度に動いている場合、最後のインタラクションに対向するエッジのみを無効化することが望ましい場合がある。
【0039】
いくつかの場合では、どれが最後のインタラクションであったかを判定することが困難である場合、アプリケーション切替を引き起こすことになるエッジを無効化すべきものとして優先するのが望ましい場合がある(たとえばデフォルトで左エッジ、RTL言語用の右エッジ)。
【0040】
(c)方向性 − 複数エッジ
いくつかの場合では、動きが所与の角度、たとえば少なくとも30度でエッジから離れる場合にのみ、両方のエッジを無効化するのが望ましいことがある。
【0041】
いくつかの場合では、エッジから離れる任意の慣性成分に基づいて両方のエッジを無効化するのが望ましいことがある。
【0042】
(d)ズーム/回転
いくつかの場合では、画像が画面の範囲外となるように、コンテンツがズーム、回転、あるいは改変された画面を考慮するのが望ましいことがある。一例では、これらの画像に対する任意の行為は、期限内に収まる限り、受け入れられるべきである。
【0043】
(e)隣接
エッジの無効化を正当とするのに用いられる「矩形」(すなわち画面上のアプリのウィンドウ)は、そのエッジに隣接しなければならない。単なる一例として、2つのアプリを画面上に一度に、たとえば左右構成(left-right configuration)で有することが可能な場合がある。そのような例では、左側のアプリは、画面の右エッジを無効化できないことがある。
【0044】
(f)オン−オフ−オンとの互換性
いくつかの場合では、2組のロジック(たとえば慣性ロジックおよびオフ−オンロジック)が単一のインタラクションで機能すると望ましいことがある。
【0045】
(g)フォアグラウンド変更
いくつかの場合では、画像をフォアグラウンドビューに変更してもロジックが変更されないことが望ましい場合がある。
【0046】
(h)エッジを選択的に無効化する(またはエッジ全てを無効化する)能力:
アプリが1つ、2つ、3つ、または4つ全てのエッジを無効化できるモデル。
【0047】
特別なアプリケーションを有する実施形態
いくつかの実施形態では、特定のアプリケーションがフォアグラウンドで現在実行しているか否かで選択的に作動する何らかのロジック/処理を有すると望ましいことがある。
図6Aおよび
図6Bに、そのような特別なアプリケーションがフォアグラウンドにある場合の2つの可能な実施形態(600a、600b)を示す。単なる一例として、問題のそのような特別なアプリケーションは、ゲームアプリケーション、または、たとえば高速なジェスチャもしくはそのようなスワイプ/ジェスチャに関連付けられた他の特別な意味を用いることがある任意の他のアプリケーションであることがある。おそらく事実なのは、(特に速いペースのゲームにおいて)エッジを横切るユーザによるスワイプが不注意となり得ること、ならびに、(604aおよび604bに示したように)エッジ入力および/またはイベントをブロックするのが望ましい場合があることである。
【0048】
しかしながら、ユーザがエッジ関連UIイベントにアクセスできるようにするために、特定のエッジジェスチャが、プレースホルダUIイベントアイコン/値(たとえば3点ドットパターン602a、または可能性のある起こり得るエッジUIイベントを表す小アイコン602b)を有する小ウィンドウを立ち上げることができると望ましいことがある。ユーザがエッジUIイベントへのさらなるアクセスを望む場合、その後、ユーザに、そのようなプレースホルダ値とさらにインタラクトさせてもよい(たとえば、さらなるタッチ/スワイプ/ジェスチャなど)。
【0049】
非タッチディスプレイを有する様々な実施形態
前述のように、不注意なエッジジェスチャおよび/または他のI/O入力から保護するシステム、方法および技法は、非タッチディスプレイを有するコンピューティングデバイスでも適用可能である。たとえば、
図1のコンピューティングデバイスは、アクティブ領域を認識する表示画面を有することができ、アクティブ領域では、ユーザが、(たとえばマウス、キーボード、タッチパッドなどの任意選択のI/Oデバイスを用いて)アクティブ領域内の現在実行中のアプリケーションとインタラクトすることができる。加えてコンピューティングデバイスは、たとえば、ユーザがインタラクトしている現在のアプリケーション以外の場合があるアプリケーションにより処理されるかあるいは扱われ得る、エッジ関連I/O処理を許可するものとして表示画面の1つまたは複数のエッジを認識することができる。1つのそのような他のアプリケーションは、そのようなコマンドおよび/またはジェスチャに反応するオペレーティングシステムでもよく、たとえば、そのようなジェスチャは、スタックされた処理、すなわち「チャーム」の表示を呼び出すか、またはたとえば、他のオペレーティングシステムコマンドもしくは他のアプリケーションからのコマンドを発行することがある。
【0050】
単なる一例示的実施形態として(タッチ感応ディスプレイについての
図2Aおよび
図2Bの類似例に倣って)、ユーザは、202aまたは202bにおいて、たとえばマウス入力を行っている場合がある。ユーザが表示画面外へマウスをスワイプし、マウスを表示画面のアクティブ領域に戻そうとする際、リターン204aまたは204bが時間および/または近接メトリクスの所望の条件内である場合、コンピューティングデバイスは、任意のエッジ関連I/O応答をブロックすることができる。
図3から
図6Aおよび
図6Bと類似した、非タッチディスプレイを有するコンピューティングデバイスの他の実施形態が可能であることは理解されたい。
【0051】
上記の記載には、本革新の例が含まれている。特許請求する主題を説明するために、コンポーネントまたは方法の全ての考え得る組合せを説明することはもちろん不可能であるが、当業者は、本革新の多数のさらなる組合せおよび順列が可能であることを理解するだろう。したがって、特許請求する主題は、添付の特許請求の範囲の趣旨および範囲内に含まれる全てのそのような変更、修正、および変形を含むものとする。
【0052】
具体的には、上述のコンポーネント、デバイス、回路、システムなどにより実行される様々な機能に関して、そのようなコンポーネントを記述するのに用いられる(「手段」への言及を含む)用語は、別段の指示がない限り、開示された構造と構造的に同等でなくても、記述したコンポーネントの指定機能を実行し、特許請求する主題の本明細書で示された例示の諸態様の機能を実行する、任意のコンポーネント(たとえば機能的な同等物)に対応するものとする。これに関して、本革新が、特許請求する主題の様々な方法の行為および/またはイベントを実行するためのコンピュータ実行可能命令を有するシステムならびにコンピュータ可読媒体を含むこともまた理解されよう。
【0053】
加えて、本革新の特定の特徴は、いくつかの実装のうちの1つのみに関して開示されている場合があるが、そのような特徴は、任意の所与のまたは特定の用途のために望むようにおよび有利なように、他の実装の1つまたは複数の他の特徴と組み合わせることができる。さらに、「含む(includes)」および「含む(including)」という用語およびこれらの変形が、発明を実施するための形態または特許請求の範囲において用いられる範囲においては、これらの用語は、「備える(comprising)」という用語と同様に、包含的であるものとする。