説明

ウェブページのためのタッチイベント処理

【課題】ウェブページのためのタッチイベント処理方法を提供する。
【解決手段】タッチ感知装置から1つ以上のタッチ入力信号を得ることができる。このタ
ッチ入力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に関連して
いる場合には、ウェブページの領域に関連したタッチイベントがウェブページによって処
理される。さもなければ、タッチイベントは、アプリケーション(例えば、ブラウザ)に
よって処理することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、ウェブブラウジングサービスに係る。
【背景技術】
【0002】
ドキュメント内のテキストベース情報の構造を記述すると共に、そのテキストを双方向
フォーム、埋め込まれた映像及び他のオブジェクトで補足するための手段をなすマークア
ップ言語を使用して、ウェブページが生成される。1つの普及したマークアップ言語は、
カギ括弧で囲まれたタグの形態で書かれたハイパーテキストマークアップ言語(HTML
)である。HTMLは、ウェブページの見掛け及び意味を記述することができると共に、
ウェブブラウザ及び他のHTMLプロセッサの振舞いに影響する埋め込み型スクリプト言
語コード(例えば、JavaScript(登録商標))を含むことができる。Java
Script(登録商標)は、マウスイベントハンドラー又はイベントリスナーをウェブ
ページに追加する能力を開発者に与える。これらのマウスイベントハンドラーは、ウェブ
ページの特定の領域に指定され、そしてマウスアップ又はマウスダウンイベントのような
マウスイベントをこれらの領域において受け取るように構成することができる。
【0003】
対照的に、タッチ感知装置でナビゲートされるウェブページは、ユーザが1つ以上の指
でウェブページにタッチしそしてジェスチャーをなすことで発生されたタッチイベントに
応答することがしばしば必要である。従来のマウスイベントハンドラーは、これらタッチ
イベントを正しく解釈することができない。従って、タッチイベントは、タッチイベント
を正しく解釈すると共に、タッチ感知ディスプレイ又は装置の能力を開発者が完全に利用
できるようにするための異なるタッチイベントモデルを必要としている。
【発明の概要】
【0004】
タッチ感知装置から1つ以上のタッチ入力信号を得ることができる。それらタッチ入力
信号が、タッチ感知装置上に表示されるウェブページの1つ以上の領域に関連する場合に
は、ウェブページの領域に関連したタッチイベントがウェブページによって処理される。
タッチ入力信号がウェブページの領域に関連付しない場合には、タッチ感知装置に関連し
たアプリケーションがタッチ入力信号を処理する。
【0005】
ある実施形態において、方法は、タッチ入力信号を受け取るステップと、そのタッチ入
力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に関連しているか
どうか決定するステップと、そのタッチ入力信号がウェブページの1つ以上の領域に関連
している場合にはウェブページへタッチイベントを処理するために転送するステップとを
備えている。
【0006】
システム、方法及びコンピュータ読み取り可能な媒体に向けられた他の実施形態も開示
される。
【図面の簡単な説明】
【0007】
【図1A】例示的なウェブページドキュメントを示す。
【図1B】例示的なウェブページドキュメントを示す。
【図2】例示的なマルチタッチケーパブル装置の処理スタックを示す。
【図3】タッチイベントを処理するための例示的プロセスのフローチャートである。
【図4】例示的なマルチタッチケーパブル装置を示す。
【図5】図4のマルチタッチケーパブル装置に対する例示的なネットワークオペレーティング環境のブロック図である。
【図6】図4のマルチタッチケーパブル装置の実施例のブロック図である。
【発明を実施するための形態】
【0008】
例示的ウェブページ構造及びDOM
図1Aは、ブラウザに表示できる例示的ウェブページ100を示す。ブラウザは、図4
のマルチタッチケーパブル(multi-touch capable)装置400のようなポータブル装置に
ホストされてもよい。ウェブページ100には、1つ以上のエレメント、即ちエレメント
102(“エレメント1”)、エレメント104(“エレメント2”)及びエレメント1
06(“エレメント3”)を表示することができる。これらエレメント102、104、
106は、ユーザが選択できるウェブページ100の領域に対応することができ、選択の
結果として付加的な機能を与えることができる。例えば、これらエレメントは、ウェブペ
ージ100のボタンに対応する。又、1つのエレメントが別のエレメントを含むようにエ
レメントをネスト構成にすることもできる。例えば、エレメント104は、エレメント1
08を含む。図示された例では、エレメント108は、例えば、メディアプレーヤユーザ
インターフェイスであるエレメント104内にネストされたスクラバーコントロールであ
る。
【0009】
ある実施形態において、ユーザは、マウスではなく指を使用してウェブページ100の
エレメントで種々のファンクションを遂行することができる。ユーザは、例えば、図4に
示すタッチ感知ディスプレイ402を使用してウェブページ100のエレメントにタッチ
することができる。一実施例では、ユーザは、1つ以上の指でエレメントにタッチし及び
/又はスワイプ、ピンチ又は回転運動のようなジェスチャーを行うことで、エレメントを
選択することができる。タッチ入力信号を確認するために、ウェブページ100のあるエ
リアをタッチイベントハンドラーに関連付けることができる。これは、図1Bを参照して
述べるように、DOM及び埋め込まれたスクリプト言語で行うことができる。
【0010】
図1Bは、ウェブページ100に関連付けられた例示的DOM150である。このDO
M150は、ウェブページ100の構造的表示を与えるもので、スクリプト言語(例えば
、JavaScript(登録商標))で解釈できるオブジェクトのセットとしてウェブ
ページコンテンツを記述する。ある実施形態において、DOM150は、ウェブページ1
00のエレメント102、104、106、108をツリーの個々のノードにマップする
ことによりウェブページの構造へのアクセスを与える。例えば、エレメント102は、ノ
ード154に対応する。エレメント104は、ノード156に対応する。エレメント10
6は、ノード158に対応する。エレメント108は、ノード160に対応する。根ノー
ド152は、全ウェブページ100に対応する。
【0011】
ある実施形態において、ウェブページ100の1つ以上のエレメント102、104、
106、108は、DOM150の対応ノードをタッチイベントハンドラーに関連付ける
ことにより、1つ以上の対応するタッチイベントハンドラーに関連付けることができる。
タッチイベントハンドラーは、ウェブページ100のHTMLタグに挿入できると共に、
例えば、ユーザがウェブページ100の1つのエレメントにタッチするか又はその中でジ
ェスチャーするときに、スクリプト言語を実行してアクションを遂行することができる。
例えば、JavaScript(登録商標)は、DOM150と共に機能して、異なるタ
ッチイベントにアクションをアタッチすることができる。
【0012】
ある実施形態では、1つ以上のエレメント102、104、106、108が、イベン
トハンドラー又はリスナーにより検出されたタッチ入力を受け取ることができる。タッチ
入力は、図2を参照して説明するように、ソフトウェアスタックの1つ以上のレイヤにお
いて実施できるタッチイベントモデルによって検出されてタッチイベントへと処理するこ
とができる。タッチイベントは、ウェブページ100により更に処理することができる。
タッチイベントは、タッチ感知装置により発生される生のタッチ入力信号よりもアプリケ
ーションにおいて使用し易いフォーマット(例えば、属性)である。例えば、各タッチイ
ベントは、タッチが現在発生しているところの座標のセットを含むことができる。
【0013】
ウェブページ100における各エレメント、及びその関連イベントハンドラーは、タッ
チイベントを受け取り、処理し、取り扱うことができる。例えば、ドライバ202(図2
)が、エレメント102に関連したタッチポイント110を感知するか、又はエレメント
104に関連したタッチポイント112を感知する場合に、エレメント102又は104
に関連したイベントハンドラーは、エレメントにタッチしたことを指示する個別のタッチ
イベントを各々受け取ることができ、そして任意であるが、そのタッチイベントを更なる
処理のためにウェブページ100へ送ることができる。ある実施形態において、イベント
ハンドラーに対応しないウェブページ100の領域にタッチした場合には、アプリケーシ
ョンレイヤ214のブラウザが、ウェブページ100ではなく、入力を処理することがで
きる。
【0014】
ある実施形態では、アプリケーションレイヤ214のブラウザは、全てのタッチ入力を
受け取ることができる。ブラウザは、タッチ入力が、タッチハンドラーを含むウェブペー
ジ100の領域に関連しているかどうか決定することができる。タッチ入力が、タッチハ
ンドラーを含むウェブページ100の領域に関連している場合には、タッチイベントモデ
ルは、タッチイベントを発生し、そしてそのタッチイベントを処理のためにウェブページ
100へ送ることができる。タッチ入力がウェブページ100の領域でない場合には、ブ
ラウザは、タッチ入力を処理することができる。
【0015】
図1の実施例を参照すれば、ユーザは、第1タッチを放さないまま(例えば、第1タッ
チポイントに指を押し付けたまま)第2位置においてウェブページ100にタッチするこ
とができる。例えば、ユーザは、第1の指でタッチポイント110をタッチし、そしてそ
のタッチポイント110から第1の指を放さずに第2の指でタッチポイント112にタッ
チすることができる。それ故、タッチポイント112における第2のタッチは、タッチポ
イント110におけるタッチと同時である。この例では、ブラウザは、タッチポイント1
10及び112が、タッチハンドラーを含むウェブページ100の領域であることを決定
する。従って、タッチイベントモデルは、タッチポイント110及び112におけるタッ
チ入力に対して第1タッチイベント及び第2タッチイベントを各々発生し、そしてそれら
第1及び第2のタッチ事象を処理のためにウェブページ100へ送る。
【0016】
しかしながら、ユーザが第3の位置(例えば、タッチポイント114)においてウェブ
ページ100にタッチする場合には、ブラウザは、そのタッチが、タッチハンドラーに関
連したウェブページ100の領域に関連しないことを決定する。この場合には、ブラウザ
は、タッチイベントを処理のためにウェブページ100に送らない。むしろ、ブラウザは
、イベントそれ自体を処理する。
【0017】
ある実施形態では、ブラウザがタッチハンドラーに関連している場合に、ブラウザは、
ブラウザに関連したタッチハンドラーに基づいて入力を処理することができる。例えば、
ブラウザは、ユーザがブラウザの表示をズームイン及びズームアウトするのを許すタッチ
ハンドラーに関連させることができる。
【0018】
ある実施形態では、DOM150においてノードごとに指ごとにタッチイベントを検出
することができる。例えば、ユーザは、実質的に同時にタッチポイント110及びタッチ
ポイント112においてタッチ感知ディスプレイ402にタッチすることができ、そして
タッチイベントモデルにより2つの個別のタッチイベントを検出することができる。DO
M150における各ノード102及びノード104は個別のタッチイベントハンドラーに
関連しているので、タッチポイント110及びタッチポイント112に対して個別のタッ
チイベントを検出することができる。
【0019】
ある実施形態において、タッチイベントは、EventTargetとしてウェブペー
ジ100へ配送することができる。タッチイベントの幾つかの例は、touchstar
t(タッチ開始)、touchmove(タッチ移動)、touchend(タッチ終了
)、及びtouchcancel(タッチキャンセル)を含むことができる。他のタッチ
イベントも考えられる。touchstartは、イベントハンドラーに関連したウェブ
ページ100の領域においてタッチ感知ディスプレイ402にユーザが最初に指を置いた
ときに検出されるタッチイベントである。ユーザがウェブページ100上で自分の指を動
き回らせると、1つ以上のtouchmoveイベントを検出することができる。ユーザ
がウェブページ100から自分の指を持ち上げると、touchendイベントが検出さ
れる。システムが普通のイベントハンドリングを中断するときには、touchcanc
elを検出することができる。例えば、偶発的なタッチを防止するためにタッチ感知ディ
スプレイ402がロックされたときにtouchcancelイベントが生じる。
【0020】
又、ある実施形態において、2つ以上のタッチイベントを合成することによりジェスチ
ャーイベントを検出することもできる。タッチイベントと同様に、ジェスチャーイベント
(GestureEvent)を、EventTargetとしてウェブページ100へ
配送することもできる。ジェスチャーイベントの幾つかの例は、gesturestar
t(ジェスチャー開始)、gesturechange(ジェスチャー変更)、及びge
stureend(ジェスチャー終了)である。ジェスチャーイベントは、スケール及び
/又は回転情報を含むことができる。回転情報は、度での相対的デルタである回転値を含
むことができる。ウェブページ100のエレメントは、この回転値に基づいて動的に回転
することができる。スケール情報は、ドキュメントピクセルでの相対的デルタであるスケ
ール値を含むことができる。ジェスチャーイベントに関連したウェブページ100のエレ
メントは、このスケール値に基づいて動的にサイズ変更することができる。他のジェスチ
ャーイベントも考えられる。
【0021】
ある実施形態では、ウェブページ100上の1つ以上のタッチを識別するためのタッチ
イベントデータを含むタッチリストを受け取ることができる。タッチイベントデータは、
タッチ識別子と、少なくとも1セットのタッチ位置座標とを含むことができる。又、タッ
チリストは、各タッチに関連したタッチイベントターゲットに対するタッチイベントデー
タも含むことができる。ある実施形態では、1セットのタッチ位置座標は、クライアント
座標、ページ座標、及びスクリーン座標を含むことができる。ある実施形態では、タッチ
イベントデータは、1つ以上の変更されたタッチを識別することができる。
【0022】
ある実施形態では、GestureEventを、TouchEventの前にウェブ
ページ100へ送り出すことができる。例えば、ユーザがタッチポイント110及びタッ
チポイント112に指を置いて、タッチ感知ディスプレイ上で指を時計方向又は反時計方
向に動かして回転ジェスチャーを行う場合には、タッチイベントモデルがこれらの複数タ
ッチイベントを検出し、そのタッチイベントをジェスチャーイベントへと合成する。次い
で、このジェスチャーイベントをウェブページ100へ送り、その後、そのジェスチャー
イベントを形成するために合成されたタッチイベントを送ることができる。このように、
開発者は、ジェスチャーイベント、及びジェスチャーイベントの個々のタッチイベントに
アクセスすることができ、これは、ウェブアプリケーションを開発するときに、より大き
な融通性を開発者に与えるものである。
【0023】
ある実施形態では、タッチイベントが次の順序で受け取られる。即ち、touchst
artイベント、1つ以上のtouchmoveイベント、そしてtouchend又は
touchcancelイベント。図1Aの実施例を使用すると、ユーザがタッチポイン
ト110にタッチしたときに、エレメント102に関連した第1のタッチイベントハンド
ラーにより第1のtouchstartイベントが検出される。ユーザがタッチポイント
112にタッチすると、エレメント104に関連した第2のタッチイベントハンドラーに
より第2のtouchstartイベントが検出される。ユーザが自分の指を持ち上げず
に自分の指を回転するにつれて、第1及び第2のタッチイベントハンドラーがtouch
moveイベントを検出し、これは、タッチイベントモデルにより回転ジェスチャーイベ
ントとして解釈することができる。ユーザが回転を終了して自分の指をウェブページ10
0から持ち上げると、第1及び第2のタッチイベントハンドラーがtouchendイベ
ントを検出する。これらのタッチイベントの全部又は幾つかを、タッチイベント「アプリ
ケーションプログラミングインターフェイス(API)」により、開発者に利用できるよ
うにすることができる。タッチAPIは、「ソフトウェアデベロープメントキット(SD
K)」として、又はアプリケーションの一部分として(例えば、ブラウザツールキットの
一部分として)開発者に利用できるようにすることができる。タッチイベントAPIは、
その種々のファンクションを遂行するために、他のサービス、フレームワーク及びオペレ
ーティングシステムに依存することができる。これらのサービス、フレームワーク及びオ
ペレーティングシステムは、図2を参照して述べるようにソフトウェア又は処理スタック
の一部分でよく、ここでは、アプリケーションにおけるイベントアクションを定義するた
めにドキュメントに挿入できる属性にタッチイベントが関連付けされる。
【0024】
例示的IDL
例示的なタッチイベントモデルを、「インターフェイス記述言語(IDL)」で以下に
説明する。IDLのファンクション及びデータ構造は、ウェブ設計者又はアプリケーショ
ン開発者によりAPIを通してアクセスすることができる。タッチイベント及び/又はジ
ェスチャーイベントへのアクセスは、アプリケーションにおけるイベントアクションを定
義するためにマークアップ言語ドキュメント(例えば、HTML、XML)に挿入できる
属性に関連付けることができる。例えば、これら属性は、タッチ感知ディスプレイ402
に表示されるウェブページを発生するためにHTMLドキュメントの1つ以上のHTML
タグに挿入することができる。イベントアクションは、植え込み型スクリプト(例えば、
JavaScript(登録商標))を実行することを含むことができる。



【0025】
次は、上述した例示的IDLを使用してタッチイベントを処理するためのHTMLコー
ド断片の例である。以下のHTMLは、例えば、タッチイベントリスナーTouchSt
art及びGestureStartが、HTMLコードをもつエレメントに追加された
ことを示す。

【0026】
前記IDLに対応するHTMLコードは、次のものでよい。









【0027】
マルチタッチ装置のための例示的処理スタック
図2は、例示的なマルチタッチケーパブル装置の処理スタックを示す図である。上述し
たタッチイベントモデルは、処理スタックの1つ以上の領域及びスタックにおけるユーザ
の種々のリソースにおいて実施することができる。ハードウェア200のレイヤは、種々
のハードウェアインターフェイスコンポーネント、例えば、タッチ感知又はイネーブル型
装置或いはタッチ感知ディスプレイを含むことができる。タッチ感知装置は、ディスプレ
イと、複数のタッチを同時に感知するパネルとを含むことができる。又、ハードウェアレ
イヤ200は、タッチ感知ディスプレイ又は装置の向き(例えば、肖像、風景)を検出す
るための加速度計も含むことができる。従って、向きを表す信号は、最適な表示のために
ウェブページをスケーリングするようにタッチイベントモデルにより使用することができ
る。
【0028】
ドライバレイヤ202における1つ以上のドライバは、ハードウェア200と通信する
ことができる。例えば、ドライバは、ハードウェアレイヤ200のタッチ感知ディスプレ
イ又は装置によって発生されるタッチ入力信号を受け取って処理することができる。コア
オペレーティングシステム(OS)204は、ドライバ(1つ又は複数)と通信すること
ができる。コアOS204は、ドライバ(1つ又は複数)から受け取られた生の入力デー
タを処理することができる。ある実施形態では、ドライバは、コアOS204の一部分で
あると考えることもできる。
【0029】
OSアプリケーションプログラミングインターフェイス(API)206のセットがコ
アOS204と通信することができる。これらのAPIは、オペレーティングシステムと
共に通常含まれるAPIのセットでよい(例えば、Linux又はUNIX API)。
コアファウンデーションAPI208のセットは、OS API206を使用することが
でき、そしてファウンデーションAPI210のセットは、コアファウンデーションAP
I208を使用することができる。
【0030】
ウェブページソフトウェア開発キット(SDK)210は、装置で実行されるアプリケ
ーションにより使用するように設計されたAPIのセットを含むことができる。タッチイ
ベントAPIは、例えば、ウェブページSDK210に含ませることができる。ウェブペ
ージSDK210のAPIは、ファウンデーションAPI208を使用することができる
。ウェブページSDK210は、例えば、Apple Inc(登録商標)により提供さ
れるウェブキットを含むことができる。ウェブページSDK210は、APIとしてオフ
ァーすることもできるし、或いはアプリケーション、例えば、Apple Inc(登録
商標)により提供されるSAFARI(登録商標)のようなブラウザを通してアクセスす
ることもできる。
【0031】
装置で実行されるアプリケーション214は、ウェブページSDK210のAPIを使
用してウェブページを生成することができる。次いで、ウェブページSDK210のAP
Iは、低レベルエレメントと通信し、最終的には、タッチ感知ディスプレイ又は装置及び
種々の他のユーザインターフェイスハードウェアと通信することができる。各レイヤは、
その下のレイヤを使用できるが、これは、常に必要とされない。例えば、ある実施形態で
は、装置214は、OS API206と時々通信することができる。
【0032】
例示的タッチイベント最適化プロセス
図3は、タッチイベントの処理を最適化するプロセス300のフローチャートである。
このプロセス300は、タッチ感知装置からタッチ入力信号を受け取ることで開始する(
302)。タッチ入力信号が、タッチ感知装置に表示されたウェブページの1つ以上の領
域に関連しているかどうかの決定がなされる(304)。ウェブページの1つ以上の領域
をタッチイベントに関連させることができる。この決定は、例えば、タッチ感知装置に関
連したアプリケーション(例えば、ブラウザ)によって行うことができる。ウェブページ
の1つ以上の領域に関連したタッチイベントは、タッチ信号がウェブページの1つ以上の
領域に関連している場合には、ウェブページで処理することができる(306)。タッチ
信号がウェブページの1つ以上の領域に関連していない場合には、アプリケーションがタ
ッチ信号を処理することができる。
【0033】
移動装置の概略
図4は、例示的なマルチタッチケーパブル装置400のブロック図である。ある実施形
態では、マルチタッチケーパブル装置400は、タッチ感知ディスプレイ402を備えて
いる。このタッチ感知ディスプレイ402は、液晶ディスプレイ(LCD)技術、光放射
ポリマーディスプレイ(LPD)技術、又は他のディスプレイ技術を実施することができ
る。タッチ感知ディスプレイ402は、ユーザとの触覚及び/又は触感接触を感知するこ
とができる。
【0034】
ある実施形態では、タッチ感知ディスプレイ402は、マルチタッチ感知ディスプレイ
402である。タッチ感知ディスプレイ402は、例えば、複数の同時タッチポイントを
処理することができ、これは、各タッチポイントの圧力、程度及び/又は位置に関連した
データを処理することを含む。このような処理は、複数の指でのジェスチャー及び相互作
用、コーディング(chording)、及び他の相互作用を容易にする。他のタッチ感知ディスプ
レイ技術、例えば、スタイラス又は他のポインティング装置を使用して接触がなされるデ
ィスプレイも、使用することができる。マルチタッチ感知ディスプレイ技術の幾つかの例
が、米国特許第6,323,846号、第6,570,557号、第6,677,932
号、及び米国特許公告第2002/0015024A1号に説明されており、その各々は
、参考としてここにそのまま援用する。ある実施形態では、マルチタッチケーパブル装置
400は、種々のシステムオブジェクトへのユーザアクセスを与えると共にユーザへ情報
を伝達するためにタッチ感知ディスプレイ402に1つ以上のグラフィックユーザインタ
ーフェイスを表示することができる。
【0035】
例示的なマルチタッチケーパブル装置のファンクション
ある実施形態において、マルチタッチケーパブル装置400は、電話装置、e−メール
装置、ネットワークデータ通信装置、Wi−Fiベースステーション装置、及び媒体処理
装置のような複数の装置ファンクションを実施することができる。ある実施形態では、マ
ルチタッチケーパブル装置400は、ウェブページ(例えば、ウェブページ100)を表
示するためのウェブブラウザ404を含むことができる。タッチ感知ディスプレイ402
は、ウェブページ100において作られるタッチ入力信号を受け取ることができ、そして
上述したタッチモデルを使用して、タッチ入力信号に基づきタッチ及び/又はジェスチャ
ーイベントを決定することができる。ある実施形態では、マルチタッチケーパブル装置4
00は、ネットワーク配布ファンクションを実施することができる。ある実施形態では、
タッチ感知ディスプレイ402は、マルチタッチケーパブル装置400がユーザの耳の付
近にあるときに、ロックダウンすることができる。このロックダウンは、図1Bを参照し
て述べたように、touchcancelイベントを生じさせる。
【0036】
ある実施形態では、加速度計472は、方向矢印474により指示されたように、マル
チタッチケーパブル装置400の移動を検出するのに使用することができる。従って、表
示オブジェクト及び又は媒体は、例えば、肖像又は風景のような検出された向きに基づい
てプレゼンテーションすることができる。ある実施形態では、マルチタッチケーパブル装
置400は、グローバルポジショニングシステム(GPS)、又は他のポジショニングシ
ステム(例えば、Wi−Fiアクセスポイント、テレビジョン信号、セルラーグリッド、
ユニフォームリソースロケータ(URL)を使用するシステム)により与えられるような
位置決定能力をサポートするための回路及びセンサを含むことができる。ある実施形態で
は、ポジショニングシステム(例えば、GPS受信器)は、マルチタッチケーパブル装置
400に一体化することもできるし、又は位置に基づくサービスへのアクセスを与えるよ
うにインターフェイスを経てマルチタッチケーパブル装置400に結合できる個別の装置
として設けることもできる。又、マルチタッチケーパブル装置400は、1つ以上のワイ
ヤレス通信サブシステムを含むこともできる。
【0037】
ある実施形態では、例えば、ユニバーサルシリアルバス(USB)ポート又はドッキン
グポート或いは他のワイヤードポート接続のようなポート装置を含ませることができる。
このポート装置は、例えば、他のコンピューティング装置、例えば、他のマルチタッチケ
ーパブル装置400、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、
又はデータを受信及び/又は送信できる他の処理装置へのワイヤード接続を確立するのに
使用することができる。ある実施形態では、ポート装置は、マルチタッチケーパブル装置
400が、1つ以上のプロトコル、例えば、TCP/IP、HTTP、UDP及び他の既
知のプロトコルを使用して、ホスト装置と同期をとれるようにする。
【0038】
ネットワークオペレーティング環境
図5は、図4のマルチタッチケーパブル装置400に対する例示的なネットワークオペ
レーティング環境600のブロック図である。図4のマルチタッチケーパブル装置400
は、例えば、データ通信において1つ以上のワイヤード及び/又はワイヤレスネットワー
ク510を経て通信することができる。例えば、ワイヤレスネットワーク512、例えば
、セルラーネットワークは、ゲートウェイ516の使用により、インターネットのような
ワイドエリアネットワーク(WAN)514と通信することができる。同様に、802.
11gワイヤレスアクセスポイントのようなアクセスポイント518は、ワイドエリアネ
ットワーク514へ通信アクセスを与えることができる。ある実施形態では、ワイヤレス
ネットワーク512及びアクセスポイント518を経て音声及びデータの両通信を確立す
ることができる。例えば、マルチタッチケーパブル装置400aは、(例えば、VoIP
プロトコルを使用して)電話コールを発信及び受信することができ、(例えば、POP3
プロトコルを使用して)e−メールメッセージを送信及び受信することができ、且つ(例
えば、TCP/IP又はUDPプロトコルを使用して)ワイヤレスネットワーク512、
ゲートウェイ516及びワイドエリアネットワーク514を経てウェブページ、写真及び
ビデオのような電子ドキュメント及び/又はストリームを検索することができる。同様に
、マルチタッチケーパブル装置400bは、電話コールを発信及び受信し、e−メールメ
ッセージを送信及び受信し、且つアクセスポイント518及びワイドエリアネットワーク
514を経て電子ドキュメントを検索することができる。ある実施形態では、マルチタッ
チケーパブル装置400は、1つ以上のケーブルを使用してアクセスポイント518へ物
理的に接続することができ、又、アクセスポイント518は、パーソナルコンピュータで
よい。この構成では、マルチタッチケーパブル装置400は、「テザード(tethered)」装
置と称することができる。
【0039】
又、マルチタッチケーパブル装置400a及び400bは、他の手段により通信を確立
することもできる。例えば、マルチタッチケーパブル装置400aは、ワイヤレスネット
ワーク512を経て、他のワイヤレス装置、例えば、他のマルチタッチケーパブル装置4
00、セルラー電話、等と通信することができる。同様に、マルチタッチケーパブル装置
400a及び400bは、図4に示すBluetooth(登録商標)通信装置488の
ような1つ以上の通信サブシステムの使用により、例えば、パーソナルエリアネットワー
クのようなピア・ツー・ピア通信520を確立することができる。又、他の通信プロトコ
ル及びトポロジーを実施することもできる。
【0040】
マルチタッチケーパブル装置400は、例えば、1つ以上のワイヤード及び/又はワイ
ヤレスネットワーク510を経てネットワークリソース530と通信することができる。
例えば、ネットワークリソースは、図1及び2を参照して述べたように、タッチモデルを
経てタッチできるウェブページを配送するためのウェブサーバーでよい。
【0041】
又、マルチタッチケーパブル装置400上のソフトウェアに対してソフトウェア更新が
存在するかどうか自動的に決定し、次いで、そのソフトウェア更新をマルチタッチケーパ
ブル装置400にダウンロードし、そこで、手動で又は自動的にアンパックし及び/又は
インストールすることのできるソフトウェア更新サービスを含む他のサービスを提供する
こともできる。
【0042】
例示的移動装置アーキテクチャー
図6は、図4のマルチタッチケーパブル装置400の実施形態のブロック図600であ
る。マルチタッチケーパブル装置400は、メモリインターフェイス602と、1つ以上
のデータプロセッサと、映像プロセッサ及び/又は中央処理ユニット604と、周辺イン
ターフェイス606とを含むことができる。メモリインターフェイス602、1つ以上の
プロセッサ604及び/又は周辺インターフェイス606は、個別のコンポーネントでも
よいし、或いは1つ以上の集積回路に一体化されてもよい。マルチタッチケーパブル装置
400における種々のコンポーネントは、1つ以上の通信バス又は信号ラインにより結合
することができる。
【0043】
センサ、装置及びサブシステムは、複数のファンクションを容易にするために、周辺イ
ンターフェイス606に結合することができる。例えば、運動センサ610、光センサ6
12、及び接近センサ614は、図4を参照して述べた方向、照明及び接近ファンクショ
ンを容易にするために、周辺インターフェイス606に結合することができる。又、関連
ファンクションを容易にするために、ポジショニングシステム(例えば、GPS受信器)
、温度センサ、生体測定センサ、又は他のセンサ装置のような他のセンサ616を周辺イ
ンターフェイス606に接続することもできる。
【0044】
又、記録写真及びビデオクリップのようなカメラファンクションを容易にするために、
カメラサブシステム620及び光学的センサ622、例えば、電荷結合装置(CCD)又
は相補的金属酸化物半導体(CMOS)光学的センサを使用することができる。
【0045】
又、高周波受信器及び送信器、及び/又は光学的(例えば、赤外線)受信器及び送信器
を含む1つ以上のワイヤレス通信サブシステム624により通信ファンクションを容易に
することができる。通信サブシステム624の特定の設計及び実施は、マルチタッチケー
パブル装置400が動作することが意図された通信ネットワーク(1つ又は複数)に依存
する。例えば、マルチタッチケーパブル装置400は、GSMネットワーク、GPRSネ
ットワーク、EDGEネットワーク、Wi−Fi又はWiMaxネットワーク、及びBl
uetooth(登録商標)ネットワークを経て動作するように設計された通信サブシス
テム624を含むことができる。特に、ワイヤレス通信サブシステム624は、装置50
0が他のワイヤレス装置のためのベースステーションとして構成されるようにホスティン
グプロトコルを含むことができる。
【0046】
オーディオサブシステム626は、ボイスイネーブル型ファンクション、例えば、音声
認識、音声複写、デジタル記録及び電話ファンクションを容易にするために、スピーカ6
28及びマイクロホン630に結合することができる。
【0047】
I/Oサブシステム640は、タッチスクリーンコントローラ642及び/又は他の入
力コントローラ644(1つ又は複数)を含むことができる。タッチスクリーンコントロ
ーラ642は、タッチスクリーン646に結合することができる。タッチスクリーン64
6及びタッチスクリーンコントローラ642は、例えば、これらに限定されないが、容量
性、抵抗性、赤外線、及び表面音波技術、並びにタッチスクリーン646との1つ以上の
接触ポイントを決定するための他の接近センサアレイ又は他の素子を含む複数のタッチ感
知技術のいずれかを使用して、接触及び移動又はその切断を検出することができる。
【0048】
他の入力コントローラ644(1つ又は複数)は、他の入力/制御装置648、例えば
、1つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、USBポート、
及び/又はスタイラス等のポインタ装置に結合することができる。1つ以上のボタン(図
示せず)は、スピーカ628及び/又はマイクロホン630の音量制御のためのアップ/
ダウンボタンを含むことができる。
【0049】
一実施形態では、第1時間中ボタンを押すと、タッチスクリーン646のロックが解離
し、その第1時間より長い第2時間中ボタンを押すと、マルチタッチケーパブル装置40
0への電源をターンオン又はオフにすることができる。ユーザは、1つ以上のボタンのフ
ァンクションをカスタマイズすることができる。タッチスクリーン646は、例えば、バ
ーチャル又はソフトボタン、及び/又はキーパッド又はキーボードを実施するのにも使用
できる。
【0050】
ある実施形態では、マルチタッチケーパブル装置400は、MP3、AAC、およびM
PEGファイルのような記録されたオーディオ及び/又はビデオファイルをプレゼンテー
ションすることができる。ある実施形態では、マルチタッチケーパブル装置400は、i
PodTMのようなMP3プレーヤのファンクションを含むことができる。それ故、マルチ
タッチケーパブル装置400は、iPodに適合できる32ピンコネクタを含むことがで
きる。又、他の入力/出力及び制御装置を使用することもできる。
【0051】
メモリインターフェイス602は、メモリ650に結合することができる。メモリ65
0は、高速ランダムアクセスメモリ及び/又は不揮発性メモリ、例えば、1つ以上の磁気
ディスク記憶装置、1つ以上の光学的記憶装置、及び/又はフラッシュメモリ(例えば、
NAND、NOR)を含むことができる。メモリ650は、オペレーティングシステム6
52、例えば、Darwin、RTXC、LINUX、UNIX、OS X、WINDO
WS、又は埋め込み型オペレーティングシステム、例えば、VxWorksを記憶するこ
とができる。オペレーティングシステム652は、基本的システムサービスをハンドリン
グし及びハードウェア依存性タスクを遂行するためのインストラクションを含むことがで
きる。
【0052】
又、メモリ650は、1つ以上の付加的な装置、1つ以上のコンピュータ、及び/又は
1つ以上のサーバーとの通信を容易にするために通信インストラクション654を記憶す
ることもできる。メモリ650は、グラフィックユーザインターフェイス処理を容易にす
るためのグラフィックユーザインターフェイスインストラクション656、センサ関連処
理及びファンクションを容易にするためのセンサ処理インストラクション658、電話関
連プロセス及びファンクションを容易にするための電話インストラクション660、電子
メッセージング関連プロセス及びファンクションを容易にするための電子メッセージング
インストラクション662、ウェブブラウジング関連プロセス及びファンクションを容易
にするためのウェブブラウジングインストラクション664、メディア処理関連プロセス
及びファンクションを容易にするためのメディア処理インストラクション666、GPS
及びナビゲーション関連プロセス及びファンクションを容易にするためのGPS/ナビゲ
ーションインストラクション668、カメラ関連プロセス及びファンクションを容易にす
るためのカメラインストラクション670、及び/又は図1−5を参照して述べたプロセ
ス及びファンクションを容易にするための他のメッセージングインストラクション672
を含むことができる。
【0053】
上述したインストラクション及びアプリケーションの各々は、上述した1つ以上のファ
ンクションを遂行するためのインストラクションのセットに対応することができる。これ
らのインストラクションは、個別のソフトウェアプログラム、手順又はモジュールとして
実施される必要はない。メモリ650は、付加的なインストラクションを含むこともでき
るし、又はより少数のインストラクションを含んでもよい。マルチタッチケーパブル装置
400の種々のファンクションは、1つ以上の信号処理及び/又は特定用途向け集積回路
を含めて、ハードウェア及び/又はソフトウェアで実施することができる。
【0054】
ここに述べる特徴は、デジタル電子回路、或いはコンピュータハードウェア、ファーム
ウェア、ソフトウェア、又はそれらの組合せで実施することができる。これらの特徴は、
プログラム可能なプロセッサにより実行するために、例えば、マシン読み取り可能な記憶
装置又は伝播信号のような情報キャリアに明白に埋め込まれたコンピュータプログラム製
品において具現化することができ、そして入力データに対して動作して出力を発生するこ
とにより前記実施形態のファンクションを遂行するためにインストラクションのプログラ
ムを実行するプログラム可能なプロセッサにより方法ステップを遂行することができる。
【0055】
上述した特徴は、データ記憶システムからデータ及びインストラクションを受け取ると
共にデータ記憶システムへデータ及びインストラクションを送り出すように結合された少
なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくと
も1つの出力装置とを含むプログラム可能なシステムにおいて実行できる1つ以上のコン
ピュータプログラムにおいて具現化できるのが好都合である。コンピュータプログラムと
は、コンピュータに直接的又は間接的に使用して、あるアクティビティを遂行するか又は
ある結果を得ることができるインストラクションのセットである。コンピュータプログラ
ムは、コンパイルされた言語又は解釈された言語を含む任意の形態のプログラミング言語
(例えば、Objective−C、Java)で書くことができ、そしてコンピューテ
ィング環境で使用するのに適したコンポーネント、サブルーチン又は他のユニットをスタ
ンドアローンプログラム又はモジュールとして含む任意の形態で展開することができる。
【0056】
インストラクションのプログラムを実行するのに適したプロセッサは、例えば、任意の
種類のコンピュータの、汎用及び特殊目的の両マイクロプロセッサ、単独プロセッサ又は
マルチプロセッサ又はコアの1つを含む。一般的に、プロセッサは、リードオンリメモリ
又はランダムアクセスメモリ或いはその両方からインストラクション及びデータを受け取
る。コンピュータの本質的要素は、インストラクションを実行するためのプロセッサと、
インストラクション及びデータを記憶するための1つ以上のメモリである。又、一般的に
、コンピュータは、データファイルを記憶するための1つ以上の大量記憶装置を含むか、
又はそれらと通信するように作動的に結合され、このような装置は、磁気ディスク、例え
ば、内部ハードディスク及び取り外し可能なディスクと、磁気−光学ディスクと、光学的
ディスクとを含む。コンピュータプログラムインストラクション及びデータを明白に実施
するのに適した記憶装置は、例えば、EPROM、EEPROM及びフラッシュメモリ装
置のような半導体メモリ装置と、内部ハードディスク及び取り外し可能なディスクのよう
な磁気ディスクと、磁気−光学ディスクと、CD−ROM及びDVD−ROMディスクと
を含む全ての形態の不揮発性メモリを含む。プロセッサ及びメモリは、ASIC(特定用
途向け集積回路)により補足することもできるし又はそれに組み込むこともできる。
【0057】
ユーザとの対話を与えるために、ユーザに情報を表示するためのディスプレイ装置、例
えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタと、ユーザがコンピュ
ータへ入力を与えることのできるキーボード及びポインティング装置、例えば、マウス又
はトラックボールとを有するコンピュータにおいて、これらの特徴を具現化することがで
きる。
【0058】
又、データサーバーのようなバックエンドコンポーネントを含むか、アプリケーション
サーバー又はインターネットサーバーのようなミドルウェアコンポーネントを含むか、或
いはグラフィックユーザインターフェイス又はインターネットブラウザ或いはその組合せ
を有するクライアントコンピュータのようなフロントエンドコンポーネントを含むコンピ
ュータシステムにおいて、これらの特徴を具現化することもできる。システムのこれらの
コンポーネントは、通信ネットワークのような任意のデジタルデータ通信形態又は媒体に
よって接続することができる。通信ネットワークは、例えば、LAN、WAN、及びイン
ターネットを形成するコンピュータ及びネットワークを含む。
【0059】
コンピュータシステムは、クライアント及びサーバーを含むことができる。クライアン
ト及びサーバーは、一般的に、互いに離れており、典型的に、ネットワークを通して対話
する。クライアント及びサーバーの関係は、各コンピュータにおいて実行されて互いにク
ライアント−サーバー関係を有するコンピュータプログラムによって生じる。
【0060】
多数の実施形態について説明した。それでも、種々の変更がなされ得ることを理解され
たい。例えば、1つ以上の実施形態の要素を結合、削除、変更、又は補足して、更に別の
実施形態を形成することができる。更に別の実施例として、図示された論理フローは、希
望の結果を達成するのに、図示された特定の順序又は逐次の順序を必要とするものではな
い。更に、他のステップを設けてもよいし、又は上述したフローからステップを削除して
もよく、更に、上述したシステムに他のコンポーネントを追加しても、又、そこから除去
してもよい。従って、これら他の実施形態は、特許請求の範囲に包含される。

【特許請求の範囲】
【請求項1】
タッチ入力信号を受け取るステップと、
前記タッチ入力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に
関連しているかどうか決定するステップと、
前記タッチ入力信号がウェブページの1つ以上の領域に関連している場合には、ウェブ
ページへタッチイベントを処理するために転送するステップと、
を備えた方法。
【請求項2】
前記タッチ信号がウェブページの1つ以上の領域に関連していない場合には、前記タッ
チ感知装置に関連したアプリケーションで前記タッチ入力信号を処理するステップを更に
備えた、請求項1に記載の方法。
【請求項3】
ウェブページの領域は、ドキュメントオブジェクトモデル(DOM)におけるノードに
関連され、それらノードは、DOMの同じ又は異なるハイアラーキーレベルにある、請求
項1に記載の方法。
【請求項4】
前記タッチイベントは、タッチ開始イベント、タッチ移動イベント、タッチ終了イベン
ト、又はタッチキャンセルイベントより成るタッチイベントグループからのものである、
請求項1に記載の方法。
【請求項5】
前記アプリケーションは、ブラウザである、請求項2に記載の方法。
【請求項6】
前記タッチイベントは、ウェブページ内のイベントアクションを定義するようにドキュ
メントに挿入できる属性に関連される、請求項1に記載の方法。
【請求項7】
前記属性は、前記タッチ感知装置に表示されるウェブページを発生するためにHTML
ドキュメントにおける1つ以上のHTMLタグに挿入される、請求項6に記載の方法。
【請求項8】
ウェブページの1つ以上の領域に関連したタッチイベントの処理は、ウェブページの1
つ以上の領域に関連したHTMLタグに基づいてタッチイベントを処理することを含む、
請求項7に記載の方法。
【請求項9】
タッチ開始イベントと、1つ以上のタッチ移動イベントと、タッチ終了又はタッチキャ
ンセルイベントとを含むタッチイベントのシーケンスが決定される、請求項1に記載の方
法。
【請求項10】
2つ以上のタッチイベントが、タッチジェスチャーであるように決定される、請求項1
に記載の方法。
【請求項11】
前記タッチイベントは、実質的に同時に生じる、請求項1に記載の方法。
【請求項12】
各々のタッチイベントが単一のタッチ入力信号に関連される、請求項1に記載の方法。
【請求項13】
各タッチ入力信号は、単一の指が前記タッチ感知装置にタッチすることにより発生され
るタッチ入力に応答して発生される、請求項12に記載の方法。
【請求項14】
プロセッサと、
前記プロセッサに結合されて、インストラクションが記憶されたコンピュータ読み取り
可能な媒体であって、前記インストラクションは、前記プロセッサにより実行されたとき
に、前記プロセッサが、
タッチ入力信号を受け取り、
前記タッチ入力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に
関連しているかどうか決定し、
前記タッチ信号がウェブページの1つ以上の領域に関連している場合には、ウェブペー
ジへタッチイベントを処理するために転送する、
ことを含むオペレーションを遂行するようにさせるものであるコンピュータ読み取り可能
な媒体と、
を備えたシステム。
【請求項15】
前記タッチ信号がウェブページの1つ以上の領域に関連していない場合には、前記タッ
チ感知装置に関連したアプリケーションで前記タッチ入力信号を処理することを含むオペ
レーションを更に備えた、請求項14に記載のシステム。
【請求項16】
ウェブページの領域は、ドキュメントオブジェクトモデル(DOM)におけるノードに
関連され、それらノードは、DOMの同じ又は異なるハイアラーキーレベルにある、請求
項14に記載のシステム。
【請求項17】
前記タッチイベントは、タッチ開始イベント、タッチ移動イベント、タッチ終了イベン
ト、又はタッチキャンセルイベントより成るタッチイベントグループからのものである、
請求項14に記載のシステム。
【請求項18】
前記アプリケーションは、ブラウザである、請求項15に記載のシステム。
【請求項19】
前記タッチイベントは、ウェブページ内のイベントアクションを定義するようにドキュ
メントに挿入できる属性に関連される、請求項14に記載のシステム。
【請求項20】
前記属性は、前記タッチ感知装置に表示されるウェブページを発生するためにHTML
ドキュメントにおける1つ以上のHTMLタグに挿入される、請求項19に記載のシステ
ム。
【請求項21】
ウェブページの1つ以上の領域に関連したHTMLタグに基づいてタッチイベントを処
理することを含むオペレーションを更に備えた、請求項20に記載のシステム。
【請求項22】
タッチ開始イベントと、1つ以上のタッチ移動イベントと、タッチ終了又はタッチキャ
ンセルイベントとを含むタッチイベントのシーケンスが決定される、請求項14に記載の
システム。
【請求項23】
2つ以上のタッチイベントが、タッチジェスチャーであるように決定される、請求項1
4に記載のシステム。
【請求項24】
前記タッチイベントは、実質的に同時に生じる、請求項14に記載のシステム。
【請求項25】
各々のタッチイベントが単一のタッチ入力信号に関連される、請求項1に記載のシステ
ム。
【請求項26】
少なくとも1つのプロセッサにより実行されたときに、そのプロセッサが、
タッチ入力信号を受け取り、
前記タッチ入力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に
関連しているかどうか決定し、
前記タッチ入力信号がウェブページの1つ以上の領域に関連している場合には、ウェブ
ページへタッチイベントを処理するために転送する、
ことを含むオペレーションを遂行するようにさせるインストラクションが記憶されたコン
ピュータ読み取り可能な媒体。
【請求項27】
前記タッチ信号がウェブページの1つ以上の領域に関連していない場合には、前記タッ
チ感知装置に関連したアプリケーションで前記タッチ入力信号を処理することを更に含む
、請求項26に記載のコンピュータ読み取り可能な媒体。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−58210(P2013−58210A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−218235(P2012−218235)
【出願日】平成24年9月28日(2012.9.28)
【分割の表示】特願2010−502357(P2010−502357)の分割
【原出願日】平成21年3月3日(2009.3.3)
【公序良俗違反の表示】
特許法第64条第2項第4号の規定により図面の一部または全部を不掲載とする。
(特許庁注:以下のものは登録商標)
1.JAVA
2.Linux
3.UNIX
4.GSM
5.WINDOWS
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】