JP6133411B2 - ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム - Google Patents

ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム Download PDF

Info

Publication number
JP6133411B2
JP6133411B2 JP2015515032A JP2015515032A JP6133411B2 JP 6133411 B2 JP6133411 B2 JP 6133411B2 JP 2015515032 A JP2015515032 A JP 2015515032A JP 2015515032 A JP2015515032 A JP 2015515032A JP 6133411 B2 JP6133411 B2 JP 6133411B2
Authority
JP
Japan
Prior art keywords
selection
input
event
computing device
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015515032A
Other languages
English (en)
Other versions
JP2015523643A5 (ja
JP2015523643A (ja
Inventor
デヴィ,レヌ
ウィットフィールド,バーナバス
ライアン,カイル
ハリス,トレヴァー
フィールズ,マーク
ハーズフェルド,マイケル
リー,ルイーザ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015523643A publication Critical patent/JP2015523643A/ja
Publication of JP2015523643A5 publication Critical patent/JP2015523643A5/ja
Application granted granted Critical
Publication of JP6133411B2 publication Critical patent/JP6133411B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

[0001]ジェスチャまたはタッチデバイスに表示された編集可能なテキストは、オペレーティングシステムユーティリティを介して管理される。ドラッグハンドルなどのシステムユーティリティは、挿入ポイントを置くことまたはコンテンツの上で選択することを助ける。ユーティリティは、ユーザがブラウザ挙動に従って制限されたコンテンツを管理することに依拠する。ウェブページが、より豊かなウェブアプリケーション体験を提供するために、コンテンツとのユーザ対話を制御する場合、ユーティリティは、誤作動することもユーザを妨害することもある。
[0002]ドラッグおよびクリックを含むシナリオにおいて、ブラウザは、従来のシステムでは一貫性なしにイベントを処理することがある。加えて、従来のシステムは、複雑な形でウェブアプリケーションに対する新たな入力に対処することがある。従来のシステムは、孤立したハンドラにわたって分散されたクリックおよびドラッグを処理するための論理を介してそのような課題に対処する。従来のシステムによる他の解決法は、同様のイベントのイベントハンドラ内でコードを複製することを含む。
[0003]ユーザは、様々なデバイス、すなわちジェスチャまたはタッチモニターを有する、デスクトップ、スレート、およびラップトップからウェブアプリケーションにアクセスすることができる。ほとんどのデバイスは、マウス、ジェスチャ、タッチ、または同等の入力機構をサポートする。マウスに基づく入力でうまく機能するユーザインターフェース(UI)は、カーソルがなく不正確な指があるジェスチャまたはタッチ入力では必ずしもうまく機能しない。
[0004]本概要は、発明を実施するための形態で以下にさらに説明される概念の選択を簡潔な形で紹介するために提供される。本概要は、特許請求されている主題の重要な特徴または本質的特徴を排他的に識別するものではなく、特許請求されている主題の範囲を判定する助けになることを意図されてもいない。
[0005]実施形態は、挿入ポイントの下でおよび範囲選択の最後に選択ハンドルを作成することによって、選択を操作するためのユーザインターフェースを提供することを目的とする。選択ハンドルは、ブラウザハンドルに置き換わることができる。選択ハンドルは、ジェスチャまたはタッチに基づく環境でアプリケーションまたはオペレーティングシステム選択挙動を複製することができる。選択ハンドルは、ジェスチャまたはタッチ対応プラットフォームおよびブラウザにわたる選択一貫性を提供することができる。選択ハンドルは、コンテンツを消費する代わりにコンテンツを編集するのにより適するように選択挙動を実施することができる。
[0006]他の実施形態は、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキームを提供することを目的とする。アプリケーションの抽象化層は、他のアプリケーションとブラウザの間のインターフェースの役割を果たすことができる。タッチまたはジェスチャ対応デバイス内の検出されるブラウザイベントは、非決定的であり、デバイスおよびブラウザにわたって変わり得る。実施形態によるアプリケーションを実行するシステムは、ブラウザイベントを受信し、そのブラウザイベントをセマンティックイベント(クリック、コンテキストメニュー、ドラッグなど)の一貫した流れに標準化することができる。
[0007]さらに他の実施形態は、ブラウザのためのジェスチャまたはタッチに最適化されたユーザインターフェースを提供することを目的とする。実施形態によるアプリケーションを実行するシステムでは、ユーザインターフェースは、ユーザアクションに応答して提示され得る。ユーザインターフェースは、タッチおよびマウスなどの入力の検出されたタイプに適合するように最適化され得る。別法として、ユーザインターフェースの特定の部分の挙動は、入力のタイプに基づいて変更され得る。加えて、初期化中に提示されるデフォルトユーザインターフェースは、提示された選択基準に従ってユーザ変更可能でもよい。
[0008]これらのおよび他の特徴および利点は、以下の詳細な説明を読み関連の図面を検討すれば明らかになろう。前述の概要および以下の詳細な説明の両方が説明を目的とし、特許請求されるものとしての態様を限定しないことを理解されたい。
実施形態が実装され得る例示的ネットワーク図である。 実施形態による例示的デフォルトおよびカスタム選択挙動の流れを示す図である。 実施形態によるブラウザとアプリケーションの間のイベントを管理する例示的抽象化層を示す図である。 実施形態によるユーザインターフェースの最適化を示す流れ図である。 実施形態による入力のタイプに基づくテーブルコントロールのための最適化されたユーザインターフェースの例を示す図である。 実施形態による入力の検出されたタイプに基づく色およびフォントコントロールのための最適化されたユーザインターフェースの例を示す図である。 入力の検出されたタイプに基づくスタイルおよび検索コントロールのための最適化されたユーザインターフェースと実施形態による最適化されたユーザインターフェースを可能にするために提示される選択コントロールの例を示す図である。 実施形態によるシステムが実装され得るネットワーク環境の図である。 実施形態が実装され得る例示的コンピューティング動作環境のブロック図である。 挿入ポイントの下でおよび範囲選択の最後に選択ハンドルを提供するプロセスの論理流れ図である。 ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキームを提供するプロセスのための論理流れ図である。 ブラウザのためのジェスチャまたはタッチに最適化されたユーザインターフェースを提供するプロセスのための論理流れ図である。
[0021]前述で簡潔に説明されたように、挿入ポイントの下でおよび範囲選択の最後に選択ハンドルを作成することによって、選択を操作するためにユーザインターフェースが提供され得る。ブラウザジェスチャまたはタッチイベントの意味解釈のためにスキームも提供され得る。加えて、ジェスチャまたはタッチに最適化されたユーザインターフェースが、ブラウザのために提供され得る。
[0022]以下の詳細な説明では、その一部を形成し、実例として特定の実施形態または例が示される、添付の図面が参照される。これらの態様は結合させることができ、他の態様が使用可能であり、そして、本開示の趣旨および範囲を逸脱することなしに構造的変更が行われ得る。したがって、以下の詳細な説明は限定的意味で解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲およびそれらと同等のものによって定義される。
[0023]実施形態が、コンピューティングデバイスでオペレーティングシステムを実行するアプリケーションプログラムと連動して実行するプログラムモジュールとの一般的関連で説明されることになるが、態様は他のプログラムモジュールとの組合せでも実装され得ることが、当業者には理解されよう。
[0024]一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造体、および、特定のタスクを実行するまたは特定の抽象化データタイプを実装する他のタイプの構造体を含む。さらに、実施形態は、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーに基づくまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、および同等のコンピューティングデバイスを含む他のコンピュータシステム構成で実施され得ることが、当業者には理解されよう。実施形態はまた、タスクが、通信ネットワークを介してリンクされた遠隔処理デバイスによって実行される、分散コンピューティング環境でも実施され得る。分散コンピューティング環境で、プログラムモジュールは、ローカルメモリ記憶装置および遠隔メモリ記憶装置の両方に置かれ得る。
[0025]実施形態は、コンピュータ実装されたプロセス(方法)、コンピューティングシステムとして、あるいは、コンピュータプログラム製品またはコンピュータ可読媒体などの製造品として、実装され得る。コンピュータプログラム製品は、コンピュータシステムによって可読であり、コンピュータまたはコンピューティングシステムに例示的プロセスを実行させるための命令を備えるコンピュータプログラムをコード化する、コンピュータ記憶媒体でもよい。コンピュータ可読記憶媒体は、コンピュータ可読メモリデバイスである。コンピュータ可読記憶媒体は、たとえば、揮発性コンピュータメモリ、不揮発性メモリ、ハードドライブ、フラッシュドライブ、フロッピー(登録商標)ディスク、またはコンパクトディスク、および同等の媒体のうちの1つまたは複数を介して、実装され得る。
[0026]本明細書を通して、「プラットフォーム」という用語は、ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、およびブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースを提供するためのソフトウェアおよびハードウェアコンポーネントの組合せでもよい。プラットフォームの例は、複数のサーバを介して実行されるホスト型サービス、単一コンピューティングデバイスで実行されるアプリケーション、および同等のシステムを含むが、これらに限定されない。「サーバ」という用語は、一般に、通常はネットワーク環境で、1つまたは複数のソフトウェアプログラムを実行するコンピューティングデバイスを示す。しかし、サーバはまた、ネットワーク上のサーバとして見られる1つまたは複数のコンピューティングデバイスで実行される仮想サーバ(ソフトウェアプログラム)として実装することもできる。これらの技術および例示的動作のさらなる詳細が、以下に提供される。
[0027]図1を参照すると、ダイアグラム100は、実施形態が実装され得る例示的ネットワーク図を示す。ダイアグラム100に示されたコンポーネントおよび環境は、説明を目的とする。実施形態は、様々なコンピューティングデバイスおよびシステム、ハードウェアおよびソフトウェアを使用する様々なローカルの、ネットワーク化された、クラウドに基づくおよび同様のコンピューティング環境で実装され得る。
[0028]ダイアグラム100に示された例示的環境で、タッチスクリーンでコンテンツを編集するためのカスタム選択が、ローカルにインストールされたまたはウェブのアプリケーションによって、固定コンピューティングデバイス(デスクトップもしくはラップトップコンピュータ)、またはハンドヘルドコンピュータ、タブレット106、スマートフォン108、車載コンピュータなどのモバイルデバイスなどのタッチおよびジェスチャのうちの一方または双方に基づく入力機構を有するクライアントデバイスで提供され得る。コンテンツは、テキスト、テーブル、画像などでもよく、実施形態による技法を使用して作成または編集されてもよい。
[0029]ウェブアプリケーションの場合、サーバ102は、サービス(たとえば、スプレッドシートサービス、文書処理サービス、電子メールサービス、または同様のもの)を提供することができ、そのサービスは、1つまたは複数のネットワーク104を介してウェブアプリケーションを介してアクセスされ得る。一般に、特定のサービスが、スプレッドシート、ワードプロセッシング文書、プレゼンテーション、電子メール、グラフィックス文書、および同等のものなどの様々な種類の文書を見るおよび編集するためのユーザインターフェースを表示することができるクライアントデバイス106および108上のブラウザによって、アクセスされ得る。
[0030]実施形態によるアプリケーションは、クライアントデバイス106および108で検出されたジェスチャ、タッチ、およびマウスのイベントをインターセプトすることができる。アプリケーションは、ジェスチャおよびタッチイベントがブラウザまたはデバイス依存の選択ハンドルを起動するのを止めることができる。代わりに、アプリケーションは、入力に最適化された選択ハンドルを起動して、複数のプラットフォームにわたってコンテンツ選択のための一貫した体験を提供することができる。
[0031]図2は、実施形態による例示的デフォルトおよびカスタム選択挙動の流れを示す。ダイアグラム200で、ウェブアプリケーションなどのアプリケーションは、ブラウザの選択挙動およびオペレーティングシステム(OS)選択ハンドルをトリガするイベントをインターセプトすることができる。アプリケーションは、それらのブラウザイベントをキャンセルすることができ、OSがそれらのイベントを見ることおよびそれらのイベントに基づいてアクションすることを阻止することができる。アプリケーションは、ブラウザおよびOSのうちの一方または双方のイベントに対応する選択を決定することができる。アプリケーションは、その選択に対応する選択ハンドルを表示することができる。アプリケーションは、範囲選択の終わりを見つけ、終わりの位置に従って対応する選択ハンドルをレンダリングすることができる。
[0032]デフォルト選択挙動202で、検出されたジェスチャまたはタッチイベントなどのブラウザイベント204は、アプリケーション、たとえばブラウザ内のテキストなどのコンテンツの選択を開始することができる。検出されたブラウザイベントは、ブラウザ動作を開始して、オペレーティングシステム206での選択を処理することができる。オペレーティングシステムは、選択ユーティリティを初期化することができる。
[0033]カスタム選択挙動208では、ウェブアプリケーションは、ブラウザイベントをインターセプトするおよびそのイベントを選択ユーティリティで置き換えるユーザインターフェースを提供することができる。加えて、アプリケーションは、ジェスチャまたはタッチイベント210などのブラウザイベントを検出することができる。アプリケーションはまた、ブラウザイベントをインターセプトすることができ、イベントをキャンセルすることができる212。さらに、アプリケーションは、ブラウザによって提供される選択ユーティリティを使用し、選択を行うことができる214。
[0034]実施形態によるアプリケーションは、テキストの範囲の選択を検出することができる。選択は、ジェスチャまたはタッチ入力、マウス入力、キーボード入力などを介してもよい。加えて、アプリケーションは、検出された選択の挿入ポイントの下で選択ハンドルを作成することができる。次に、アプリケーションは、ネイティブブラウザハンドルを入力に最適化された選択ハンドルで置き換えることができる。
[0035]加えて、アプリケーションは、選択の終わりに2つの追加の選択ハンドルを作成して、選択を管理するためのユーザインターフェースを提供することができる。ユーザインターフェースは、ユーザが選択を拡張または縮小するための選択を行うことができるようにすることが可能である。アプリケーションはまた、ネイティブブラウザハンドルの選択の挙動をエミュレートすることができる。アプリケーションは、検出された入力のタイプに従ってデフォルトブラウザ選択挙動をエミュレートし、デフォルトの挙動を再作成するための適切なハンドルを提供することができる。さらに、アプリケーションは、選択の代替挙動を提供することができる。アプリケーションは、代替選択挙動に関連するルールを実行することができる。一例は、選択に関連する通知を示すことを含み得る。
[0036]図3は、ブラウザと実施形態によるウェブアプリケーションの間のイベントを管理する例示的抽象化層を示す。ダイアグラム300で、イベントハンドラマネージャ(EHM)306は、ブラウザ302から入力マネージャにブラウザイベント304を送信することができる。1つまたは複数の入力マネージャ308、310、および312が存在し得る。
[0037]入力マネージャは、イベントを処理することができる。入力マネージャは、イベントをウェブアプリケーション316によって理解可能なセマンティックイベント314に変えることができる。セマンティックイベント314は、次いで、イベントハンドラマネージャ306によってアプリケーションに送信され得る。例示的シナリオでは、入力マネージャがジェスチャまたはタッチイベントをブラウザから受信し得る場合、入力マネージャは、ブラウザイベントをウェブアプリケーション316に送信するためのジェスチャまたはタッチクリックイベントにコンバートすることができる。
[0038]実施形態によるスキームは、ブラウザに由来するイベント(タッチ開始、タッチ終了、タッチ移動など)のためのレジスターイベントハンドラを含み得る。レジスターイベントハンドラは、ブラウザイベントを受信したとき、イベントを入力マネージャに経路指定することができる。入力マネージャは、アプリケーションによって理解可能なセマンティックイベント(たとえば「クリック」)の知識を有し得る。入力マネージャはまた、セマンティックイベントを構成する一連のブラウザイベントに関する情報(たとえば、タッチ開始に続くタッチ終了が、クリックイベントを構成する)を保持することができる。入力マネージャは、ブラウザイベントを受信し、セマンティックイベントに関するそれらの内部知識を使用して、アプリケーションにセマンティックイベントの発生を知らせるかどうかを決定することができる。
[0039]入力マネージャはまた、複数の入力マネージャがブラウザイベントを処理する場合に他の入力マネージャと通信する能力を有し得る。一例は、クリックイベントまたはコンテキストメニューイベントのいずれかを起動するブラウザからのタッチ開始イベントを含み得る。結果として、2つの異なる入力マネージャが、ブラウザイベントを処理することができる。
[0040]入力マネージャは、イベントのドキュメントオブジェクトモデル(DOM)要素に情報のキャッシュを置くことによって、通信することができる。各入力マネージャは、イベントを受信したときにDOM要素を処理することができ、他の入力マネージャに照会し、同イベントのさらなる処理を決定することができる。
[0041]イベントハンドラマネージャはまた、イベントを入力マネージャに経路指定する順番を決定することができる。イベントハンドラマネージャは、優先度付きキューで入力マネージャを記憶することによって、イベントの経路指定を順序付けることができる。例示的シナリオでは、1の優先度を有する入力マネージャは、2の優先度を有する入力マネージャより前にイベントを受信することができる。等しい優先度を有する入力マネージャは、ランダムな順序でイベントを受信することができる。加えて、入力マネージャは、クリックなどのセマンティックイベントの発生を判定したときに、アプリケーションに通知することができる。入力マネージャはまた、他の入力マネージャに通知して、関連するセマンティックイベントのリッスンを停止することができる。
[0042]実施形態によるアプリケーションで、イベントハンドラマネージャコードは、入力マネージャからブラウザイベントを受信するコードの部分と、ブラウザイベントで動作するもう1つの部分と、ブラウザイベントをコンバートするさらにもう1つの部分とを分ける代わりに、1つの大きなコンポーネントを包含することが可能である。さらに、入力マネージャは、各入力マネージャによって処理されるイベントに関連するDOM要素に情報のキャッシュを付加する代わりに互いへの参照を保持することによって、互いの間で通信することができる。
[0043]例示的一実施形態によれば、ドラッグイベントを処理する入力マネージャは、マウスおよびジェスチャまたはタッチイベントを受け取り、それらをアプリケーションによって理解可能なドラッグイベントに標準化することができる。たとえば、ドラッグ入力マネージャ(DIM)は、キーボードイベントを処理する入力マネージャとコンテキストメニューイベントを処理する入力マネージャとによって既に使用されるイベントハンドラマネージャを使用することによって、ドラッグイベントを管理することができる。EHMは、DOMにおけるブラウザのイベントハンドラプロキシの登録を追跡することができ、アプリケーションの残りのイベントハンドラはDOMに対して登録する。加えて、EHMを使用する入力マネージャは、ブラウザイベントを受信し、次いで、それらをアプリケーションによって理解可能なセマンティックイベントに標準化することができる。入力マネージャは、次いで、アプリケーション内の適切なリスナーに通知するEHMに標準化されたセマンティックイベントを渡して返すことができる。
[0044]DIMは、マウスダウン、マウスアップ、マウス移動、クリック、タッチダウン、タッチアップ、タッチ移動、およびタッチキャンセルを含むいくつかのブラウザイベントをEHMを介して登録することができる。DIMは、ドラッグイベントを判定するために、マウスダウンまたはタッチダウンイベントをリッスンすることができる。DIMは、マウス移動またはタッチ移動イベントを受信しながら、ドラッグ閾値と運動デルタを比較することができる。マウス移動またはタッチ移動イベントが起点値から十分遠くに移動した場合、DIMは、ドラッグアダプターにドラッグイベントを送信することによって、ドラッグイベントをトリガすることができる。ドラッグアダプターは、特定のDOM要素に接続されたウェブアプリケーションコンパニオン(WAC)内に存在するコードでもよい。DIMはまた、マウスイベント引数またはジェスチャまたはタッチイベント引数のいずれかをドラッグアダプターに送信して、アダプターがマウスドラッグとタッチドラッグを区別することを可能にすることができる。
[0045]特定のイベントについてEHMで登録された入力マネージャは、優先度付きキュー内に置かれ得る。ブラウザイベントは、EHMがブラウザイベントをとらえたときに優先度の順番で入力マネージャに通知することができる。結果として、DIMは、マウス、ジェスチャ、タッチ、または同様のイベントを受信して、ドラッグイベントとしてDIMによって解釈されたイベントを追加の処理のためにマウス入力マネージャ(MIM)またはタッチ入力マネージャ(TIM)に同時に送信しながら、ドラッグが起こっているかを判定することができる。
[0046]DIMは、MIMおよびTIMより高い優先度でEHMで登録され得る。DIMがドラッグイベントとしてDIMによって解釈されたイベントの処理を開始してMIMまたはTIMがそれらのイベントを処理するのを阻止するとき、DIMはそれらのイベントをキャンセルすることができる。例示的シナリオでは、DIMの阻止は、コンテキストメニューがタッチドラッグ中に起動するのを止めることができる。
[0047]いくつかの例で、ドラッギングに特有のソースコードが、MIMから取り除かれ、DIM内に置かれ得る。MIMは、EHMを介して送信することができる。EHMは、EHM機能を複製するMIMソースコードを取り除くことができる。MIMは、ドラッギングに関連しないマウスイベントを受信および標準化するように最適化されたソースコードでもよい。
[0048]TIMは、ドラッギングと無関係のジェスチャまたはタッチイベントを受信し、アプリケーションによる使用のためにイベントを標準化することができる。TIMはまた、ブラウザプロキシーハンドラおよびアプリケーションハンドラ管理のためにEHMを使用することができる。TIMは、以下のブラウザイベント、すなわちタッチダウン、タッチアップ、タッチ移動、およびクリックのためにEHMに登録することができる。TIMは、タップイベント、タッチおよびホールドイベントを受信し、それらのイベントをWACが理解できるイベントに標準化することができる。TIMは、タップイベントをクリックイベントに標準化することができる。TIMは、以下のイベント、すなわちユーザがモバイルブラウザでタップするときの、タッチダウン、タッチアップ、およびクリックを受信することができる。
[0049]クリックイベントを検出したとき、TIMは、そのイベントにジェスチャまたはタッチイベント引数オブジェクトをアタッチした後に、クリックイベントをアプリケーションに送信することができる。TIMは、クリックイベントがマウスイベントではなくてジェスチャまたはタッチイベントに由来することをアプリケーションに知らせるために、ジェスチャまたはタッチイベントをアタッチすることができる。モバイルブラウザは、一般に、タッチダウンまたはタッチアップイベントがブラウザによって検出され、クリックイベントとして解釈された後に、クリックイベントを生成することができる。例示的シナリオでは、ブラウザがユーザはタップではなくてフリックまたはドラッグしようとしたと判定した場合、クリックイベントは検出され得ない。DIMは、ドラッグイベントの直後に生じたクリックイベントをフィルタで取り除くことができる。TIMは、素早く続けた2つのタップをダブルクリックイベントに標準化することができる。ブラウザで素早く続けた2つのタップを行うユーザはまた、以下のイベント、すなわちタッチダウン、タッチアップ、およびクリックを生成することができる。
[0050]TIMはまた、クリックイベントをアプリケーションに送信し、第2のタップのリッスンを開始することができる。TIMが所定の時間内(ユーザまたはシステムは時間値を定義することができる)に第2のクリックイベントを受信し得る場合、TIMは、第2のクリックイベントをアプリケーションに送信することができ、続いてアプリケーションにダブルクリックイベントが送信される。クリックおよびダブルクリックの両方が、アプリケーションによって処理され得る。ダブルタップによって起動されたダブルクリックとともにクリックの処理は、アプリケーションにダブルタップおよびダブルクリックに一貫して動作させることができる。
[0051]TIMは、タッチおよびホールドイベントをコンテキストメニューイベントに標準化することができる。ユーザがブラウザのスクリーンでタッチおよびホールドし得るとき、TIMは、タッチダウンイベントを受信することができる。タッチダウンイベントを受信したとき、TIMは、所定の時間の後にコンテキストメニューを表示することができるタイマーを起動することができる。所定の時間が過ぎた後、TIMは、コンテキストメニューイベントをアプリケーションに送信することができる。タッチアップイベントが所定の時間が経過する前に検出された場合、タイマーはキャンセルすることができ、コンテキストメニューは表示され得ない。TIMがコンテキストメニューイベントを送信した後は、ユーザがタッチおよびホールドを終了しない場合には、TIMは、コンテキストメニューを表示した後にドラッグイベントを処理することを阻止するために、ブラウザを介してタッチアップイベントをシミュレートすることができる。
[0052]アプリケーション開発者は、カスタムコンポーネントをレジスターに提供し、ジェスチャまたはタッチイベントに応答することを可能にされ得る。TIMはジェスチャまたはタッチイベントをマウスイベントまたはコンテキストメニューイベントに標準化することによって動作することができるので、カスタムコンポーネントは、レジスターハンドラを介してMIMまたはコンテキストメニューのための入力マネージャに登録することができる。
[0053]EHMは、TIMがクリックイベントを標準化し、EHMにクリックイベントを処理するように要求するとき、アプリケーションハンドラに送信することができる。アプリケーションにおける本ハンドラ方法は、イベントを処理するために情報に沿って送信するために使用することができるイベントハンドラ引数オブジェクトを受信することができる。
[0054]スクロール可能なコンテンツは、通常は、インラインフレーム内に存在し得る。アプリケーションにおける任意のスクローリングは、2本の指によって生成されたイベントを含み得る。実施形態によれば、イベントハンドラマネージャは、タブレットおよび同様のデバイスの基本的な一本指のスクローリングを提供することができる。そのような実施形態は、以下のアクション、すなわち(1)DOM要素にアタッチされた新たなスクロールドラッグアダプターを作成し、(2)優先度「最後」を有するDOM要素のDIMにアダプターを登録する、を実行することができる。DIMは、要素にアタッチされたドラッグアダプターのキューをサポートすることができる。DIMは、順番にスクローリングイベントを処理し、現在のドラッグアダプターがドラッグイベントを処理することができない場合には、次のドラッグアダプターにイベントを送信することができる。優先度「最後」は、そのドラッグアダプターがドラッグイベントを処理する前に、他のドラッグアダプターが処理する機会を有することを意味し得る。
[0055]スクロールドラッグアダプターは、ドラッグアダプターインターフェースを実装することができる内部クラスでもよい。インターフェースは、関連DOM要素でスクローリングイベントを処理することができる。オンドラッグ開始方法は、現在の位置を記憶することができる。オンドラッグ移動方法は、新たな位置と前の位置の差を計算することができる。オンドラッグ移動方法は、その差に合わせるために、DOM要素のスクロールの上位置およびスクロールの左位置を設定することができる。ポイントおよびタイムスタンプのリストが、処理された各ドラッグ移動イベントについて記録され得る。オンドラッグエンド方法では、放物線回帰が計算されて指の加速を判定し、それに応じてページ動画を実行することができる。
[0056]図4は、実施形態によるユーザインターフェースの最適化を示す流れ図を示す。ダイアグラム400で、実施形態によれば、アプリケーションは、ユーザインターフェース(UI)によって表示されたアンカー402でクリックイベントを検出することができる。アプリケーションは、クリックイベント404のジェスチャまたはタッチ入力に関する判定を行うことができる。アプリケーションがタッチ入力を判定し得る場合、アプリケーションは、ジェスチャまたはタッチに最適化されたUIを表示することができる406。アプリケーションがジェスチャまたはタッチとして入力のタイプを判定することができない場合、アプリケーションは、マウス入力に関する判定を行うことができる408。アプリケーションがマウスに基づくものとして入力のタイプを判定した場合、アプリケーションは、マウス入力に最適化されたUIを表示することができる410。そうでない場合、アプリケーションは前の状態または静的状態でUIを示すことができる412。
[0057]アプリケーションは、動的UIをインスタンス化するアンカー要素を起動することができる。例示的シナリオでは、ボタンコントロールは、新たなウィンドウ枠を起動することができる。もう1つの例示的シナリオでは、編集可能なサーフェスコントロールは、キャレットを起動することができる。
[0058]UIは、アプリケーションがジェスチャまたはタッチ入力を検出する場合に、ジェスチャまたはタッチに基づく制御に最適化され得る。例示的シナリオでは、大きなUIコントロールが、検出されたジェスチャまたはタッチ入力のためにUIによって使用され得る。UIは、アプリケーションがマウス入力を検出する場合に、マウスに基づく制御に最適化され得る。例示的シナリオでは、UIは、UI内のホバーなどのマウス制御中心機能を可能にすることができる。
[0059]コンテキストメニュー制御はまた、UIの入力のタイプに従って同様に最適化され得る。アプリケーションがマウスイベントによって起動されたコンテキストメニューを検出した場合、マウス制御に最適化されたコンテキストメニューが、UI内で起動され得る。別法として、ジェスチャまたはタッチ制御に最適化されたコンテキストメニューが、コンテキストメニューを起動するために検出されたジェスチャまたはタッチイベントに応答してUI内で起動され得る。
[0060]アプリケーションは、クリック(またはコンテキストメニュー)イベントのために登録すること、クリックイベントを検出すること、および、入力のタイプのクリックイベントを評価することによって、アンカーで使用される入力のタイプを判定することができる。ブラウザが、入力のタイプを提供することができない場合、入力のタイプは、入力マネージャアプリケーションプログラミングインターフェース(API)を使用し、取得され得る。入力マネージャAPIのクリック入力マネージャ(CIM)コンポーネントは、クリックイベントについて通知し、クリックイベントの入力のタイプを送信することができる。CIMは、複数のイベントをリッスンして入力のタイプを判定することができる。CIMは、オンクリックイベント、および他のブラウザ特有のジェスチャまたはタッチイベントをリッスンすることができる。タッチ開始イベントがクリックの直前に生じた場合(たとえば300ミリ秒未満)、アプリケーションは、クリックイベントがジェスチャまたはタッチ入力の結果であったと結論を下すことができる。別法として、入力マネージャは、クリックイベントを起動することを直ちに決定し、入力マネージャがタッチ移動イベントなしにタッチ開始イベントに続けてタッチ終了イベントを受信するときにはいつでも、ジェスチャまたはタッチ入力を判定することができる。ジェスチャまたはタッチ入力でのポインターイベントが、クリックイベントの直前に生じる場合、アプリケーションは、ジェスチャまたはタッチ入力に由来するクリックイベントを判定することができる。ポインターイベントは、ジェスチャまたはタッチイベントではあり得ない。ブラウザによって実装されるカスタムポインターイベントは、ジェスチャまたはタッチ、ペン、およびマウス入力を含むがこれらに限定されないブラウザによってサポートされるあらゆる入力のタイプについて起動し得る。ブラウザは、カスタムポインターを介して検出されたイベントの入力のタイプを送信することができる。別法として、アプリケーションは、ジェスチャイベントをリッスンし、そのジェスチャイベントに関するブラウザによって提供される情報を使用して、入力のタイプを判定することができる。
[0061]UIは、最初に、マウス入力のために最適化され得る。その後、アプリケーションは、ジェスチャまたはタッチ入力のためのサイズおよびスペーシングパラメータを実装するカスケーディングスタイルシート(CSS)を適用することによって、ジェスチャまたはタッチ入力カスタマイズを実装することができる。CSSクラスは、ブラウザのDOMまたはUI要素のその部分でジェスチャまたはタッチ特有のスタイリングを起動するトップCSSレベルに追加され得る。別法として、アンカーがジェスチャまたはタッチ入力を介して起動され得るときに、完全に異なるDOM要素が、動的UIで生成され得る。アプリケーションはまた、キーボードに基づく入力に最適化されたUIを起動することができる。加えて、アプリケーションは、ペンに基づく入力に最適化された動的UIを起動することができる。
[0062]UIの挙動は、検出された入力のタイプに基づいて変化し得る。アプリケーションは、UIのコンポーネントでの検出されたクリックイベントに従って、UIの挙動を変更することができる。別法として、アプリケーションは、指タップによって起動された検出されたジェスチャまたはタッチイベントに従って、UIの挙動を変更することができる。例示的シナリオでは、UIは、分割ボタンコントロールを表示することができる。UIは、ユーザが分割ボタンコントロールのタイプを変更することを可能にするドロップダウンメニューを表示することができる。ユーザがマウスでボタンコントロールをクリックする場合、アプリケーションは、ボタンコントロールに関連する動作を実行することができる。別法として、ユーザがボタンコントロールをタップする場合、UIは、メニューを表示することができる。入力マネージャは、分割ボタンコントロールでのユーザアクションに従って、入力のタイプを判定することができる。
[0063]アプリケーションは、ユーザエージェントストリングおよびブラウザ特有のAPIを使用して静的またはブート時間UIを最適化することができる。アプリケーションは、ブラウザに関する情報を使用して、ブラウザのマウス、ジェスチャもしくはタッチ、または組合せ入力機能を判定することができる。静的UIは、マウス入力のみの機能を有するブラウザを検出すると、マウス入力に最適化され得る。静的UIの最適化はまた、同様に、ジェスチャもしくはタッチ入力または組合せ入力のシナリオに従って、カスタマイズされ得る。加えて、ボタンコントロールは、その両方がブラウザによる機能として検出され得るときに、ジェスチャまたはタッチおよびマウス入力の間で静的UIを切り替えるために提供され得る。ボタンコントロールは、ブラウザクッキーでユーザセッション間にその状態を持続することができる。
[0064]図5は、実施形態による入力のタイプに基づいてテーブルコントロールのための最適化されたユーザインターフェースの例を示す。ダイアグラム500は、マウス入力502およびジェスチャまたはタッチ入力512に従って最適化された例示的テーブルコントロールを表示する。
[0065]UIを管理するアプリケーションは、UIでのユーザアクションの入力のタイプを検出することができる。検出されるユーザアクションは、ジェスチャもしくはタッチ入力またはマウスに基づく入力でもよい。UIは、マウス入力のためのテーブルコントロール502を表示するように最適化され得る。UIは、標準サイズテーブルコントロール504および標準サイズのテーブルサイズ選択コントロール506を表示することができる。標準サイズは、アプリケーションの開発中に決定されたUIの各コンポーネントのシステム設定でもよい。ユーザは他のタイプの入力と比較してより正確にマウスポインターを移動させることができ得るので、UIは標準サイズのコントロールを表示し得る。
[0066]別法として、UIは、検出されるジェスチャまたはタッチ入力のための最適化されたテーブルコントロール512を表示することができる。UIは、大きなサイズのテーブルコントロール514および大きなサイズのテーブルサイズ選択コントロール516を表示することができる。大きなサイズは、ディスプレイ特性に従って判定される各UIコンポーネントのシステム設定でもよい。ユーザは、ジェスチャまたはタッチ入力を介してUIの細かな制御を実現することができなくなり得るので、UIは、大きなサイズのコントロールを表示することができる。
[0067]図6は、実施形態による検出された入力のタイプに基づく色およびフォントコントロールのための最適化されたユーザインターフェースの例を示す。ダイアグラム600は、検出された入力のタイプに従って最適化された例示的色およびフォントコントロールを表示する。
[0068]UIを管理するアプリケーションは、入力のマウスまたはジェスチャもしくはタッチに基づくタイプのいずれかとしてUIでのユーザアクションの入力のタイプを検出することができる。アプリケーションがマウスタイプの入力を検出した場合、UIは、対応するユーザアクションに関連するマウスタイプの入力に最適化された色コントロール602またはフォントコントロール610を表示することができる。UIは、標準サイズ色選択コントロール606を有する色コントロール602または標準サイズフォント選択コントロール614を有するフォントコントロールを表示することができる。ユーザは他のタイプの入力と比較してより正確にマウスポインターを移動させることができ得るので、UIは標準サイズのコントロールを表示することができる。
[0069]別法として、アプリケーションがジェスチャまたはタッチタイプの入力を検出した場合、UIは、対応するユーザアクションに関連するジェスチャまたはタッチ入力に最適化された色コントロール604またはフォントコントロール612を表示することができる。UIは、大きなサイズの色選択コントロール608を有する色コントロール604または大きなサイズのフォント選択コントロール616を有するフォントコントロール612を表示することができる。ユーザは、ジェスチャまたはタッチ入力を介してUIの細かな制御を実現することができなくなり得るので、UIは大きなサイズのコントロールを表示することができる。
[0070]図7は、検出された入力のタイプに基づくスタイルおよび検索コントロール向けに最適化されたユーザインターフェースと、実施形態による最適化されたユーザインターフェースを可能にするために提示される選択コントロールとの例を示す。ダイアグラム700は、検出された入力のタイプに従って最適化された例示的テキストスタイルおよび検索コントロール、ならびに、入力のタイプを選択するためのドロップダウンコントロールを表示する。
[0071]アプリケーションは、UIでのユーザアクションの入力のタイプをマウスまたはジェスチャもしくはタッチ入力のいずれかとして検出することができる。アプリケーションがマウス入力を検出した場合、UIは、マウス入力に最適化されたテキストスタイルコントロール702または対応するユーザアクションに関連する検索コントロール710を表示することができる。UIは、標準テキストスタイル選択コントロール706を有するテキストスタイルコントロール702または標準サイズの検索ボックスコントロール714を有する検索コントロール710を表示することができる。ユーザは、他のタイプの入力と比較してより正確にマウスポインターを移動させることができ得るので、UIは、標準サイズのコントロールを表示することができる。
[0072]別法として、アプリケーションがジェスチャまたはタッチ入力を検出した場合、UIは、ジェスチャまたはタッチ入力に最適化されたフォントスタイルコントロール704または対応するユーザアクションに関連する検索コントロール712を表示することができる。UIは、大きなサイズのフォントスタイル選択コントロール708を有するフォントスタイルコントロール704または大きなサイズの検索ボックスコントロール716を有する検索コントロール712を表示することができる。ユーザは、ジェスチャまたはタッチ入力を介してUIのより細かな制御を提供することができなくなり得るので、UIは、大きなサイズのコントロールを表示することができる。
[0073]アプリケーションはまた、ユーザがドロップダウンメニューコントロール720を介して入力のタイプを選択することを可能にし得る。アプリケーションは、ユーザにUIのどこでも指でタップしてドロップダウンメニュー726を起動するように通知することができる。UIはまた、バレットアクション722のためのドロップダウンメニューの制御サーフェスをクリックするようにユーザに知らせる通知を表示することができる。バレットアクションは、入力のタイプ、たとえば、入力のタイプの挙動の管理に関連する追加のコントロールを提供することができる。加えて、UIは、ドロップダウンメニューの矢印コントロール724をクリックして選択コントロールを起動して入力のタイプを選択するようにユーザに知らせるための通知を表示することができる。
[0074]いくつかの実施形態によれば、タッチまたはジェスチャ対応の入力デバイスおよび表示画面は、文書を見る/編集するために、およびユーザインターフェースを介してユーザから入力を受信するために、使用され得る。ジェスチャ対応の入力デバイスおよび表示画面は、ユーザによるタッチ入力または光学的に取得されたジェスチャが認識されることを可能にする任意の技術を使用することができる。たとえば、いくつかの技術は、熱、指の圧力、高キャプチャー率カメラ、赤外線、光キャプチャー、同調電磁誘導、超音波受信機、トランスジューサーマイクロフォン、レーザー測距器、影キャプチャーなどを含むが、これらに限定されない。タッチ対応のまたはジェスチャ対応のデバイスのユーザインターフェースは、ワードプロセッシングアプリケーション、プレゼンテーションアプリケーション、スプレッドシートアプリケーションおよびウェブページコンテンツに関連するコンテンツおよび文書と、表示されたコンテンツと対話するための動作のメニューとを表示することができる。ユーザは、ジェスチャを使用してユーザインターフェースと対話して、文書、テーブル、スプレッドシート、チャート、リスト、および任意のコンテンツ(たとえば、音声、ビデオなど)などのコンテンツにアクセスする、作成する、見る、および編集することができる。ジェスチャ対応の入力デバイスは、タッチまたはジェスチャ対応のコンピューティングデバイスに特有の機能を使用することができるが、従来のマウスおよびキーボードと連動することもできる。本明細書で使用されるようなタップまたはスワイプアクションなどのジェスチャまたはタッチ入力アクションは、指、ペン、マウス、または同様のデバイスを介して、ならびに、所定のキーボード入力の組合せ、視標追跡および音声命令のうちの1以上を介して、ユーザによって提供され得る。
[0075]図2から7の例示的シナリオおよびスキーマは、特定のコンポーネント、データータイプ、および構成で示される。実施形態は、これらの例示的構成によるシステムに限定されない。ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、および、ブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースの提供は、アプリケーションおよびユーザインターフェースでより少ないまたは追加のコンポーネントを使用する構成で実装され得る。さらに、図2から7に示された例示的スキーマおよびコンポーネントとそれらのサブコンポーネントとは、本明細書に記載の原理を使用する他の値を有する同様の形で実装され得る。
[0076]図8は、実施形態によるシステムが実装され得るネットワーク化された環境である。ローカルおよび遠隔リソースは、ホスト型サービスなどの1つまたは複数のサーバ814または単一サーバ(たとえばウェブサーバ)816によって、提供され得る。アプリケーションは、ネットワーク810を介してラップトップ811、タブレットデバイス812またはスマートフォン813(「クライアントデバイス」)などの個々のコンピューティングデバイス上のクライアントインターフェースと通信することができる。
[0077]前述のように、ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、および、ブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースは、ブラウザと対話するウェブアプリケーションを介して提供され得る。クライアントデバイス811〜813は、前述のように遠隔サーバ(たとえばサーバ814のうちの1つ)で実行されるアプリケーションへのアクセスを可能にすることができる。サーバは、直接にまたはデーターベースサーバ818を介してデーターストア819から/に関連データーを取り出す、または格納することができる。
[0078]ネットワーク810は、サーバ、クライアント、インターネットサービスプロバイダー、および通信媒体の任意のトポロジーを備え得る。実施形態によるシステムは、静的または動的トポロジーを有し得る。ネットワーク810は、企業ネットワークなどの安全なネットワーク、ワイヤレスオープンネットワークなどの安全対策の施されていないネットワーク、またはインターネットを含み得る。ネットワーク810はまた、公衆交換電話網(PSTN)またはセルラーネットワークなどの他のネットワークを介して通信を統合することができる。さらに、ネットワーク810は、Bluetooth(登録商標)または同様のものなどの短距離ワイヤレスネットワークを含み得る。ネットワーク810は、本明細書に記載のノード間で通信を提供することができる。一例として、そして限定ではなく、ネットワーク810は、音波、RF、赤外線および他のワイヤレス媒体などのワイヤレス媒体を含み得る。
[0079]多数の他のコンピューティングデバイス、アプリケーション、データーソース、およびデーター分散システムが、ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、およびブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースを提供するために使用され得る。さらに、図8で論じられるネットワーク化された環境は、単に説明を目的とする。実施形態は、例示的アプリケーション、モジュール、またはプロセスに限定されない。
[0080]図9および関連する論考は、実施形態が実装され得る適切なコンピューティング環境の簡潔な概要を提供することを意図されている。図9を参照すると、コンピューティングデバイス900など、実施形態によるアプリケーションのための例示的コンピューティング動作環境のブロック図が示される。基本的構成で、コンピューティングデバイス900は、少なくとも1つのプロセッシングユニット1602およびシステムメモリ904を含み得る。コンピューティングデバイス900はまた、プログラムの実行で協力する複数のプロセッシングユニットを含み得る。コンピューティングデバイスの正確な構成およびタイプに応じて、システムメモリ904は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、または、それらの2つの何らかの組合せでもよい。システムメモリ904は、通常は、ワシントン州レドモンドのMICROSOFT CORPORATIONのWINDOWS(登録商標)オペレーティングシステムなど、プラットフォームの動作の制御に適したオペレーティングシステム905を含む。システムメモリ904はまた、プログラムモジュール906、アプリケーション922、およびユーザインターフェースモジュール924などの1つまたは複数のソフトウェアアプリケーションを含み得る。
[0081]アプリケーション922は、ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、および、実施形態によるブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースのうちの1以上を提供することができる。ユーザインターフェースモジュール924は、タッチおよびジェスチャのうちの一方または双方対応のデバイスと連動した前述のサービスの提供においてアプリケーション922を助けることができる。この基本的構成は、破線908内のそれらのコンポーネントによって図9に示される。
[0082]コンピューティングデバイス900は、追加の特徴または機能を有し得る。たとえば、コンピューティングデバイス900はまた、たとえば磁気ディスク、光ディスク、またはテープなど、複数の追加のデーター記憶装置(取外し可能および取外し不可能のうちの一方または双方である)を含み得る。そのような追加のストレージは、取外し可能なストレージ909および取外し不可能なストレージ910によって図9に示される。コンピュータ可読記憶媒体は、コンピュータ可読命令、データー構造体、プログラムモジュール、または他のデーターなどの情報の記憶のための任意の方法または技術で実装された、揮発性のおよび不揮発性の、取外し可能なおよび取外し不可能な媒体を含み得る。コンピュータ可読記憶媒体は、コンピュータ可読メモリデバイスである。システムメモリ904、取外し可能なストレージ909および取外し不可能なストレージ910は、すべて、コンピュータ可読記憶媒体の例である。コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは、所望の情報を記憶するために使用することができるおよびコンピューティングデバイス900によってアクセス可能な任意の他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ可読記憶媒体は、コンピューティングデバイス900の部分でもよい。コンピューティングデバイス900はまた、キーボード、マウス、ペン、音声入力デバイス、ジェスチャまたはタッチ入力デバイス、および同等の入力デバイスなどの入力デバイス912を有し得る。ディスプレイ、スピーカ、プリンタおよび他のタイプの出力デバイスなどの出力デバイス914もまた含まれ得る。これらのデバイスは、当技術分野ではよく知られており、ここで長く論じられる必要はない。
[0083]コンピューティングデバイス900はまた、デバイスが分散コンピューティング環境、衛星リンク、セルラーリンク、および同等の機構でワイヤレスネットワークを介するなどして他のデバイス918と通信することを可能にする、通信接続916を含み得る。他のデバイス918は、通信アプリケーション、ストレージサーバ、および同等のデバイスを実行するコンピュータデバイスを含み得る。通信接続916は、通信媒体の一例である。通信媒体は、コンピュータ可読命令、データー構造体、プログラムモジュール、あるいは、搬送波または他の伝送機構などの変調されたデーター信号内の他のデーターをその中に含むことが可能であり、任意の情報配信媒体を含む。「変調されたデーター信号」という用語は、信号内に情報をコード化するようにその特性の1つまたは複数が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体と、音波、RF、赤外線および他のワイヤレス媒体などのワイヤレス媒体とを含む。
[0084]例示的実施形態はまた、方法を含む。これらの方法は、本明細書に記載の構造体を含む、任意の数の手段で実装され得る。1つのそのような手段は、本明細書に記載のタイプのデバイスの機械操作による。
[0085]別の任意選択の手段は、いくらかを実行する1人または複数の人間のオペレータと連動して実行されることになる方法の個々の動作のうちの1つまたは複数を目的とする。これらの人間のオペレータは、互いに同一場所に配置される必要はないが、各々が、プログラムの一部を実行する機械のみとともにあってもよい。
[0086]図10A〜Cは、挿入ポイントの下、範囲選択の終わりでの選択ハンドル、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、およびブラウザのための入力最適化ユーザインターフェースを提供するプロセスの論理流れ図である。プロセス1000、1002、および1004は、いくつかの例でウェブアプリケーションなどのアプリケーションによって実装され得る。
[0087]プロセス1000は、アプリケーションがテキストの範囲の選択を検出し得る動作1010で開始し得る。動作1020で、アプリケーションは、選択の挿入ポイントの下で選択ハンドルを作成することができる。アプリケーションは、ブラウザによって生成された選択に関連するイベントをインターセプトおよびキャンセルすることができる。次に、アプリケーションは、動作1030で、ネイティブブラウザハンドルを選択ハンドルで置き換えることができる。
[0088]プロセス1002は、アプリケーションがそのアプリケーションとブラウザの間の抽象化層でタッチおよびジェスチャ対応のデバイスから一連のブラウザイベントを受信し得る動作1040で開始し得る。動作1050で、アプリケーションは、受信されたブラウザイベントを複数のデバイスおよびブラウザと互換性のあるセマンティックイベントの一貫した流れに標準化することができる。
[0089]プロセス1004は、アプリケーションが入力を検出することができる動作1060で開始し得る。動作1070で、アプリケーションは、検出された入力のタイプに基づいて最適化されたユーザインターフェースを起動することができる。次に、アプリケーションは、動作1080で、検出された入力のタイプに基づいてユーザインターフェースの一部の挙動を修正することができる。
[0090]いくつかの実施形態は、通信モジュール、メモリ、およびプロセッサーを含むコンピューティングデバイスで実装することができ、プロセッサーは、メモリに記憶された命令とともに前述のような方法または同等のものを実行する。他の実施形態は、前述のような方法または同等のものを実行するためのそこに記憶された命令を有するコンピュータ可読記憶媒体として実装され得る。
[0091]プロセス1000、1002、および1004に含まれる動作は、説明を目的とする。ジェスチャまたはタッチスクリーンでコンテンツを編集するためのカスタム選択、ブラウザジェスチャまたはタッチイベントの意味解釈のためのスキーム、および、実施形態によるブラウザ内のジェスチャまたはタッチに最適化されたユーザインターフェースの提供は、より少ないまたは追加のステップを有する同様のプロセスによって、ならびに、本明細書に記載の原理を使用する異なる順番の動作で、実装され得る。
[0092]前述の仕様、例、およびデーターは、実施形態の構成の製造および使用の完全な説明を提供する。主題は、構造的特徴および方法論的動作のうちの一方または双方に特有の言語で説明されたが、添付の特許請求の範囲に定義された主題は必ずしも前述の特定の特徴または動作に限定されないことを理解されたい。そうではなくて、前述の特定の特徴および動作は、本特許請求の範囲および実施形態を実装する例示的な形として開示される。

Claims (19)

  1. タッチスクリーンでコンテンツを編集するためのカスタム選択を提供するための、コンピューティングデバイスが実行する方法であって、
    ウェブアプリケーションを通じてアクセスされるブラウザを介した入力イベントにより始まる、コンテンツの範囲の選択を検出するステップであって、前記入力イベントは、前記コンピューティングデバイスにおいて実行されるウェブブラウザとウェブアプリケーションとの間のイベントを管理するよう構成された抽象化層における、ジェスチャ入力と、タッチ入力と、マウス入力と、キーボード入力とのうちの1以上を含む、ステップと、
    前記入力イベントを1以上のセマンティックイベントに標準化するステップであって、前記1以上のセマンティックイベントは、前記入力イベントを処理するように構成された入力マネージャにおける複数のデバイスおよびブラウザと互換性がある、ステップと、
    前記選択に関連した前記入力イベントをインターセプトし、前記入力イベントをキャンセルして前記選択がネイティブブラウザハンドルを起動するのを止めるステップと、
    前記選択の終了位置を求めるステップと、
    ネイティブブラウザハンドルを置き換え、表示されるコンテンツに対する一貫した体験を複数のウェブアプリケーションプラットフォームにわたり提供するための入力最適化選択ハンドルを、検出された前記選択の挿入ポイントの下に作成するステップと、
    前記コンピューティングデバイスに関連したディスプレイデバイスにおける選択された前記コンテンツの前記終了位置で前記選択ハンドルをレンダリングするステップと
    を含む、方法。
  2. 請求項1に記載の方法であって、
    前記選択の前記終了位置で2つの追加の選択ハンドルを作成して、前記選択を管理するためのユーザインターフェースを提供するステップ
    をさらに含む方法。
  3. 請求項1に記載の方法であって、
    前記ネイティブブラウザハンドルの選択挙動をエミュレートするステップ
    をさらに含む方法。
  4. 請求項3に記載の方法であって、
    入力のタイプを検出するステップと、
    前記選択ハンドルを提供して、前記入力のタイプに従って前記選択挙動を再作成するステップ
    をさらに含む方法。
  5. 請求項1に記載の方法であって、
    代替選択挙動を提供するステップ
    をさらに含む方法。
  6. 請求項5に記載の方法であって、
    前記代替選択挙動に関連したルールを実行するステップと、
    前記選択に関連した通知を表示するステップと
    をさらに含む方法。
  7. タッチスクリーンでコンテンツを編集するためのカスタム選択を提供するためのコンピューティングデバイスであって、
    メモリと、
    前記メモリに結合されたプロセッサであって、前記プロセッサは、
    コンピューティングデバイスにおいて実行されるブラウザとウェブアプリケーションとの間の抽象化層を介した入力イベントにより始まる、コンテンツの範囲の選択を検出し、前記入力イベントは、ジェスチャ入力と、タッチ入力と、マウス入力と、キーボード入力とのうちの1以上を含み、
    入力イベントの検出されたタイプに基づくユーザインターフェースを起動し、
    ユーザインターフェースの一部を入力イベントの前記検出されたタイプに基づき修正し、
    前記選択に関連した前記入力イベントをインターセプトし、前記入力イベントをキャンセルして前記選択がネイティブブラウザハンドルを起動するのを止め、
    前記選択の終了位置を求め、
    ネイティブブラウザハンドルを置き換え、表示されるコンテンツに対する一貫した体験を複数のウェブアプリケーションプラットフォームにわたり提供するための入力最適化選択ハンドルを、検出された前記選択の挿入ポイントの下に作成し、
    前記コンピューティングデバイスに関連したディスプレイデバイスにおける選択された前記コンテンツの前記終了位置で前記選択ハンドルをレンダリングする
    ように構成された、プロセッサと
    を含むコンピューティングデバイス。
  8. 請求項7に記載のコンピューティングデバイスであって、前記プロセッサは、
    前記選択の前記終了位置で2つの追加の選択ハンドルを作成して、前記選択を管理するためのユーザインターフェースを提供する
    ようにさらに構成された、コンピューティングデバイス。
  9. 請求項7に記載のコンピューティングデバイスであって、前記プロセッサは、
    前記ネイティブブラウザハンドルの選択挙動をエミュレートする
    ようにさらに構成された、コンピューティングデバイス。
  10. 請求項9に記載のコンピューティングデバイスであって、前記プロセッサは、
    入力の前記検出されたタイプに従い前記選択挙動を再作成するように前記選択ハンドルを提供する
    ようにさらに構成された、コンピューティングデバイス。
  11. 請求項7に記載のコンピューティングデバイスであって、前記プロセッサは、
    代替選択挙動を提供する
    ようにさらに構成された、コンピューティングデバイス。
  12. 請求項11に記載のコンピューティングデバイスであって、前記プロセッサは、
    前記代替選択挙動に関連したルールを実行し、
    前記選択に関連した通知を表示する
    ようにさらに構成された、コンピューティングデバイス。
  13. 請求項8に記載のコンピューティングデバイスであって、
    タブレットと、スマートフォンと、ラップトップと、パーソナル・データ・アシスタントとのうちの1つである
    コンピューティングデバイス。
  14. コンピューティングデバイスが実行する方法であって、
    コンピューティングデバイス上で実行されるウェブアプリケーションを通じてアクセスされるブラウザを介した入力イベントにより始まる、コンテンツの範囲の選択をイベントハンドラマネージャにおいて検出するステップであって、前記入力イベントは、ジェスチャ入力と、タッチ入力と、マウス入力と、キーボード入力とのうちの1以上を含む、ステップと、
    前記入力イベントを前記ブラウザから、前記入力イベントを処理するよう構成された入力マネージャに送信するステップであって、前記入力マネージャは、イベント情報のキャッシュをイベントに関連したドキュメントオブジェクトモデル要素に置くことにより前記ウェブアプリケーションが理解できる、セマンティックイベントおよびブラウザイベントの内部知識を維持するように構成された、ステップと、
    前記入力マネージャにおいて、前記入力マネージャの内部知識に基づいて、前記入力イベントを前記ウェブアプリケーションにより理解できるセマンティックイベントに変換するステップと、
    前記イベントハンドラマネージャにおいて、前記セマンティックイベントを前記ウェブアプリケーションに送信するステップと、
    前記選択に関連した前記入力イベントをインターセプトし、前記入力イベントをキャンセルして前記選択がネイティブブラウザハンドルを起動するのを止めるステップと、
    前記選択の終了位置を求めるステップと、
    ネイティブブラウザハンドルを置き換え、表示されるコンテンツに対する一貫した体験を複数のウェブアプリケーションプラットフォームにわたり提供するための入力最適化選択ハンドルを、検出された前記選択の挿入ポイントの下に作成するステップと、
    前記コンピューティングデバイスに関連したディスプレイデバイスにおける選択された前記コンテンツの前記終了位置で前記選択ハンドルをレンダリングするステップと、
    前記選択の前記終了位置で2つの追加の選択ハンドルを作成して、前記選択を管理するためのユーザインターフェースを提供するステップと
    を含む方法。
  15. 請求項14に記載の方法であって、
    前記ネイティブブラウザハンドルの選択挙動をエミュレートするステップ
    をさらに含む方法。
  16. 請求項15に記載の方法であって、
    入力のタイプを検出するステップと、
    前記選択ハンドルを提供して、前記入力のタイプに従って前記選択挙動を再作成するステップ
    をさらに含む方法。
  17. 請求項14に記載の方法であって、
    代替選択挙動を提供するステップ
    をさらに含む方法。
  18. 請求項17に記載の方法であって、
    前記代替選択挙動に関連したルールを実行するステップと、
    前記選択に関連した通知を表示するステップと
    をさらに含む方法。
  19. 請求項14に記載の方法であって、前記コンピューティングデバイスは、
    タブレットと、スマートフォンと、ラップトップと、パーソナル・データ・アシスタントとのうちの1つである
    方法。
JP2015515032A 2012-05-31 2013-05-17 ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム Active JP6133411B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261653530P 2012-05-31 2012-05-31
US61/653,530 2012-05-31
US13/671,832 US8843858B2 (en) 2012-05-31 2012-11-08 Optimization schemes for controlling user interfaces through gesture or touch
US13/671,832 2012-11-08
PCT/US2013/041483 WO2013180975A2 (en) 2012-05-31 2013-05-17 Optimization schemes for controlling user interfaces through gesture or touch

Publications (3)

Publication Number Publication Date
JP2015523643A JP2015523643A (ja) 2015-08-13
JP2015523643A5 JP2015523643A5 (ja) 2016-06-30
JP6133411B2 true JP6133411B2 (ja) 2017-05-24

Family

ID=49671896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015515032A Active JP6133411B2 (ja) 2012-05-31 2013-05-17 ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム

Country Status (5)

Country Link
US (2) US8843858B2 (ja)
EP (2) EP2856300B1 (ja)
JP (1) JP6133411B2 (ja)
KR (1) KR102033198B1 (ja)
WO (1) WO2013180975A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040070A1 (en) * 2012-02-23 2014-02-06 Arsen Pereymer Publishing on mobile devices with app building
KR20130097331A (ko) * 2012-02-24 2013-09-03 삼성전자주식회사 터치 스크린을 구비하는 전자기기에서 객체를 선택하기 위한 장치 및 방법
KR101395480B1 (ko) * 2012-06-01 2014-05-14 주식회사 팬택 필기 입력에 기초하여 어플리케이션을 실행하는 방법 및 그 단말
US8875060B2 (en) * 2012-06-04 2014-10-28 Sap Ag Contextual gestures manager
US20140085311A1 (en) * 2012-09-24 2014-03-27 Co-Operwrite Limited Method and system for providing animated font for character and command input to a computer
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US9501171B1 (en) 2012-10-15 2016-11-22 Famous Industries, Inc. Gesture fingerprinting
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents
US9772889B2 (en) * 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
WO2014066689A2 (en) * 2012-10-26 2014-05-01 Livescribe Inc. Digital cursor display linked to a smart pen
US20140164916A1 (en) * 2012-12-07 2014-06-12 John Vasconcellos Means for Transitioning Between Hierarchical Representations of Organized Thought
US8814683B2 (en) 2013-01-22 2014-08-26 Wms Gaming Inc. Gaming system and methods adapted to utilize recorded player gestures
US10152135B2 (en) * 2013-03-15 2018-12-11 Intel Corporation User interface responsive to operator position and gestures
JP6303314B2 (ja) * 2013-07-31 2018-04-04 ブラザー工業株式会社 プログラムおよび情報処理装置
US10331777B2 (en) * 2013-12-31 2019-06-25 Barnes & Noble College Booksellers, Llc Merging annotations of paginated digital content
JP6287435B2 (ja) * 2014-03-26 2018-03-07 日本電気株式会社 情報処理装置、情報処理方法およびプログラム
JP6274003B2 (ja) * 2014-05-09 2018-02-07 株式会社デンソー 表示操作システム
US9846496B2 (en) * 2014-09-04 2017-12-19 Home Box Office, Inc. Virtual input device system
US20160188171A1 (en) * 2014-12-31 2016-06-30 Microsoft Technology Licensing, Llc. Split button with access to previously used options
US10185464B2 (en) 2015-05-28 2019-01-22 Microsoft Technology Licensing, Llc Pausing transient user interface elements based on hover information
US10732782B1 (en) 2015-07-29 2020-08-04 Intuit Inc. Context-aware component styling in user interfaces of electronic devices
US10802660B1 (en) 2015-07-29 2020-10-13 Intuit Inc. Metadata-driven binding of platform-agnostic content to platform-specific user-interface elements
GB2552274A (en) * 2015-11-09 2018-01-17 Sky Cp Ltd Television user interface
US10255703B2 (en) 2015-12-18 2019-04-09 Ebay Inc. Original image generation system
US10474356B2 (en) 2016-08-04 2019-11-12 International Business Machines Corporation Virtual keyboard improvement
US10824293B2 (en) * 2017-05-08 2020-11-03 International Business Machines Corporation Finger direction based holographic object interaction from a distance
KR102474245B1 (ko) * 2017-06-02 2022-12-05 삼성전자주식회사 스와이프 입력에 기초하여 입력 문자를 판단하는 시스템 및 방법
CN109885171B (zh) * 2019-02-26 2023-05-16 维沃移动通信有限公司 文件操作方法及终端设备
USD992574S1 (en) * 2021-11-05 2023-07-18 Salesforce. Inc. Display screen or portion thereof with graphical user interface

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6891551B2 (en) 2000-11-10 2005-05-10 Microsoft Corporation Selection handles in editing electronic documents
US7216290B2 (en) 2001-04-25 2007-05-08 Amplify, Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7111234B2 (en) 2001-05-02 2006-09-19 Microsoft Corporation System and method for in-line editing of web-based documents
WO2004019219A2 (en) * 2002-08-21 2004-03-04 California Institute Of Technology Element placement method and apparatus
US7000184B2 (en) 2003-01-24 2006-02-14 The Cobalt Group, Inc. Remote web site editing in a standard web browser without external software
FI20031758A (fi) 2003-12-02 2005-06-03 Nokia Corp Merkkijonojen muokkaaminen kosketusnäytöllä
US8180861B2 (en) * 2004-07-30 2012-05-15 Research In Motion Limited System and method for providing a communications client on a host device
US7620705B2 (en) * 2004-07-30 2009-11-17 Research In Motion Limited Method and apparatus for provisioning a communications client on a host device
CA2533614C (en) * 2004-07-30 2011-05-03 Research In Motion Limited Method and system for coordinating device setting between a communications client and its host device
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US9594731B2 (en) 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
JP2009087224A (ja) * 2007-10-02 2009-04-23 Canon Inc 表示装置、および表示方法
US8717305B2 (en) * 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8201109B2 (en) * 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8694904B2 (en) 2008-04-15 2014-04-08 Microsoft Corporation Cross-browser rich text editing via a hybrid client-side model
WO2009152451A1 (en) 2008-06-13 2009-12-17 Brendan Kane Official website builder/editor community
US9846533B2 (en) 2009-03-16 2017-12-19 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US8549432B2 (en) * 2009-05-29 2013-10-01 Apple Inc. Radial menus
US8677268B2 (en) * 2010-01-26 2014-03-18 Apple Inc. Device, method, and graphical user interface for resizing objects
US9146751B2 (en) * 2010-04-07 2015-09-29 Apple Inc. Device, method, and graphical user interface for navigation of multiple applications
US20120030566A1 (en) 2010-07-28 2012-02-02 Victor B Michael System with touch-based selection of data items
US8307277B2 (en) * 2010-09-10 2012-11-06 Facebook, Inc. Efficient event delegation in browser scripts
US8151279B1 (en) * 2011-03-28 2012-04-03 Google Inc. Uniform event handling across multiple computing devices
JP2012043452A (ja) * 2011-10-05 2012-03-01 Toshiba Corp 情報処理装置およびタッチ操作支援プログラム

Also Published As

Publication number Publication date
US20130326430A1 (en) 2013-12-05
US8843858B2 (en) 2014-09-23
KR102033198B1 (ko) 2019-10-16
WO2013180975A3 (en) 2014-01-30
EP2856300A2 (en) 2015-04-08
KR20150021925A (ko) 2015-03-03
US10762277B2 (en) 2020-09-01
EP4130968A1 (en) 2023-02-08
EP2856300B1 (en) 2022-10-26
US20150012815A1 (en) 2015-01-08
WO2013180975A2 (en) 2013-12-05
JP2015523643A (ja) 2015-08-13

Similar Documents

Publication Publication Date Title
JP6133411B2 (ja) ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム
US10691299B2 (en) Display of hierarchical datasets using high-water mark scrolling
US11726736B2 (en) System to facilitate interaction during a collaborative screen sharing session
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
EP2810150B1 (en) Dynamic extension view with multiple levels of expansion
US20120173963A1 (en) Web page application controls
US20140304648A1 (en) Displaying and interacting with touch contextual user interface
US20150207850A1 (en) Clipboard
US20130191779A1 (en) Display of user interface elements based on touch or hardware input
US10831331B2 (en) Window control for simultaneously running applications
JP2014507026A (ja) 挿入点に基づくユーザーインターフェイス対話挙動
US10712913B2 (en) Event-based architecture for expand-collapse operations
WO2013138052A1 (en) Web page application controls
EP3612938A1 (en) Surfacing task-related applications in a heterogeneous tab environment
US20160231876A1 (en) Graphical interaction in a touch screen user interface
CN103412704B (zh) 用于通过姿势或触摸控制用户界面的优化方案
US10296190B2 (en) Spatially organizing communications
US11704014B1 (en) Supporting micro swipes for generating custom user interface responses
US10409453B2 (en) Group selection initiated from a single item
US11017412B2 (en) Contextual information monitoring

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170419

R150 Certificate of patent or registration of utility model

Ref document number: 6133411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250