(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-02
(45)【発行日】2022-02-10
(54)【発明の名称】スクロールバー上での直交ドラッギング
(51)【国際特許分類】
G06F 3/04855 20220101AFI20220203BHJP
【FI】
G06F3/0485 150
(21)【出願番号】P 2019126122
(22)【出願日】2019-07-05
(62)【分割の表示】P 2017149862の分割
【原出願日】2011-11-18
【審査請求日】2019-08-02
(32)【優先日】2010-11-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2010-11-18
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ジョン・ニコラス・ジトコフ
【審査官】木内 康裕
(56)【参考文献】
【文献】特開平07-044351(JP,A)
【文献】特開昭63-231391(JP,A)
【文献】特開2002-055750(JP,A)
【文献】欧州特許出願公開第02045700(EP,A1)
【文献】米国特許出願公開第2010/0056221(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/0489
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスの、タッチ入力面を含むディスプレイ上の第1のウィンドウ内に
開かれた第1のアプリケーションのグラフィカル要素を表示するステップと、
前記タッチ入力面上で、前記第1のウィンドウの周縁端部から前記第1のウィンドウ内のある位置までドラッグするユーザ入力を検出するステップとを含み、当該検出するステップは、前記ドラッグするユーザ入力が
、前記第1のウィンドウの前記周縁端部
に直交する
方向の所定角度以内にある支配的な方向成分を有するモーションを含んでいる
か否かを判断することを含み、
前記ドラッグするユーザ入力の検出に応答して
、
前記コンピューティングデバイスの前記ディスプレイ上に、前記ドラッグするユーザ入力の開始前において前記コンピューティングデバイスの前記ディスプレイ上に表示されていなかった第2のウィンドウを表示するステップを含み、前記第2のウィンドウは前記第2のウィンドウ内に開かれた第2のアプリケーションのグラフィカル要素を表示し、
前記第1のウィンドウ
の少なくとも一部を、前記第2のウィンドウと同時に表示するステップを含む、コンピュータで実現される方法。
【請求項2】
前記ドラッグするユーザ入力が前記支配的な方向成分を有するモーションを含んでいると判断することは、前記モーションが前記タッチ入力面の長さに対する所定比率の長さより長いと判断することを含む、請求項1に記載の方法。
【請求項3】
前記第1および第2のウィンドウを表示するステップは、前記第1のウィンドウのエッジを、前記第2のウィンドウのエッジの隣に並ぶように自動的に位置付けるステップを含む、請求項1
または2に記載の方法。
【請求項4】
前記第1のウィンドウのサイズと前記第2のウィンドウのサイズとは同一である、請求項1~
3のいずれか1項に記載の方法。
【請求項5】
前記第1のウィンドウを表示する縮小したサイズと、前記第2のウィンドウを表示するサイズとを、前記ドラッグするユーザ入力の、前記第1のウィンドウの前記周縁端部から前記第1のウィンドウ内の前記位置までの距離に基づいて決定するステップをさらに含む、請求項1~
4のいずれか1項に記載の方法。
【請求項6】
前記ドラッグするユーザ入力が行われている間に前記第1および第2のウィンドウを表示するステップをさらに含む、請求項1~
5のいずれか1項に記載の方法。
【請求項7】
前記第2のウィンドウ内に開かれた第2のアプリケーションの前記グラフィカル要素は選択可能な
複数のアイコンを含み、前記選択可能な
複数のアイコンは、前記ディスプレイ上に追加のコンテンツを表示するために選択可能である、請求項1~
6のいずれか1項に記載の方法。
【請求項8】
前記選択可能な
複数のアイコン
のうち第1のアイコンは、前記選択可能な複数のアイコンのうち第2のアイコンの選択によって起動された対応するアプリケーションとは異なる、対応す
るアプリケーションを開始するために選択可能である、請求項
7に記載の方法。
【請求項9】
コンピューティングデバイスであって、
タッチスクリーンディスプレイと、
コードを格納する有形のコンピュータメモリに作動的に接続されたプロセッサと備え、
前記コードは、前記プロセッサによって実行されると、前記コンピューティングデバイスに、
第1のウィンドウを表示することを実行させ、
前記タッチスクリーンディスプレイ上で、前記第1のウィンドウの周縁端部から前記第1のウィンドウ内のある位置までドラッグするユーザ入力を検出することを実行させ、
当該検出することは、前記ドラッグするユーザ入力が
、前記第1のウィンドウの前記周縁端部
に直交する
方向の所定角度以内にある支配的な方向成分を有するモーションを含んでいる
か否かを判断することを含み、
前記ドラッグするユーザ入力の検出に応答して、
前記
タッチスクリーンディスプレイ上の前記第1のウィンドウの少なくとも一部を表示することを実行させ、前記第1のウィンドウは前記第1のウィンドウ内に開かれた第1のアプリケーションのグラフィカル要素を含み、
前記
タッチスクリーンディスプレイ上に、
前記第1のウィンドウの前記少なくとも一部と同時に、前記ドラッグするユーザ入力の開始前におい
て前記
タッチスクリーンディスプレイ上に表示されていなかった第2のウィンドウを表示することを実行させ、前記第2のウィンドウは前記第2のウィンドウ内に開かれた第2のアプリケーションのグラフィカル要素を表
示する、コンピューティングデバイス。
【請求項10】
前記第1および第2のウィンドウを表示することは、前記第1のウィンドウのエッジを、前記第2のウィンドウのエッジの隣に並ぶように自動的に位置付けることを含む、請求項
9に記載のコンピューティングデバイス。
【請求項11】
前記第1のウィンドウのサイズと前記第2のウィンドウのサイズとは同一である、請求項
9または
10に記載のコンピューティングデバイス。
【請求項12】
前記有形のコンピュータメモリはさらにコードを格納し、前記コードは、前記プロセッサによって実行されると、前記コンピューティングデバイスに、前記第1のウィンドウを表示する縮小したサイズと、前記第2のウィンドウを表示するサイズとを、前記ドラッグするユーザ入力の、前記第1のウィンドウの前記周縁端部から前記第1のウィンドウ内の前記位置までの距離に基づいて決定することを実行させる、請求項
9~
11のいずれか1項に記載のコンピューティングデバイス。
【請求項13】
前記有形のコンピュータメモリはさらにコードを格納し、前記コードは、前記プロセッサによって実行されると、前記コンピューティングデバイスに、前記ドラッグするユーザ入力が行われている間に前記第1および第2のウィンドウを表示することを実行させる、請求項
9~
12のいずれか1項に記載のコンピューティングデバイス。
【請求項14】
前記第2のウィンドウ内に開かれた
前記第2のアプリケーションの前記グラフィカル要素は選択可能な
複数のアイコンを含み、前記選択可能な
複数のアイコンは、前記
タッチスクリーンディスプレイ上に追加のコンテンツを表示するために選択可能である、請求項
9~
13のいずれか1項に記載のコンピューティングデバイス。
【請求項15】
前記選択可能な
複数のアイコン
のアイコンは、選択されると、それぞれ異なるアプリケーションを開始す
る、請求項
14に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2010年11月18日に出願された「User Interaction in a Computer Operating
System」と題する米国仮出願第61/415179号、および2010年11月18日に出願された「User
Interaction in a Computer Operating System」と題する米国仮出願第61/458326号の優先権を主張し、それらの内容は、本明細書においてあたかも完全に説明されたかのように、参照により組み込まれる。
【0002】
本文書は、コンピュータオペレーティングシステムのユーザと対話するためのシステムおよび技法に関する。
【背景技術】
【0003】
コンピュータが日常の活動において存在感を増すにつれて、ユーザがコンピュータと対話する方法が、より重要性を増してくる。例えば、初期のコンピュータでは、限定されたユーザのグループと対話するために、パンチカードが使用されたが、デスクトップパーソナルコンピュータでは、より多くのユーザとより長い対話を行うようになっており、またグラフィカルユーザインタフェースの開発がなされるに至った。そのようなインタフェースは、コンピュータオペレーティングシステム自体の一部になり、オペレーティングシステム上で動作するアプリケーションによってさらに拡張された。
【0004】
今や、コンピューティングデバイスは、スマートフォン、ネットブック、タブレット、および類似のデバイスの形態を取るものなど、ユーザによって持ち運ばれるポータブルなものであることが少なくない。そのようなデバイスは、限られたサイズを有することがあり、キーボードを介する対話は、デスクトップまたはラップトップコンピュータの場合ほど、実用的なものにならないので、グラフィカルコンテンツを表示し、そのコンテンツ上でユーザ入力も受け取ることができる、タッチスクリーンユーザインタフェースの形態を取るものなど、対話のための代替メカニズムが提供されることがある。音声入力、およびモバイルデバイス内の加速度計または方位磁石によって感知できるジェスチャによる入力など、他の入力メカニズムも使用することができる。
【発明の概要】
【課題を解決するための手段】
【0005】
本文書は、モバイルコンピューティングデバイス(例えば、スマートフォン)などのコンピューティングデバイスのユーザと対話するために使用できる、システムおよび技法について説明する。本明細書で説明する様々な技法は、デバイスを用いてユーザに合図を送ることを含む、デバイスとのより直感的なユーザ対話を行うためのメカニズム、およびデバイスに提供されたユーザ入力に応答するためのメカニズムを提供することができる。ユーザフィードバックは、可聴信号、触覚フィードバック(例えば、デバイスの調整された振
動)、およびオンスクリーン(on screen)ユーザインタフェース要素の動きといった形態を取ることができる。
【0006】
例えば、以下で説明するある実施形態では、ユーザは、アプリケーション内ですでにオープンされているウィンドウのエッジにおいてドラッグを行うことによって、グラフィカルユーザインタフェース内に新規ウィンドウ(例えば、新規アプリケーション、アプリケ
ーションの新規インスタンス、またはアプリケーションの特定のインスタンス内の新規ペインとして)新規ウィンドウを「表面化(surface)」させることができる。例えば、ユーザは、ウェブブラウザまたはワードプロセッサなどのアプリケーションのキャンバスのエッ
ジにあるスクロールバー上で、ユーザがスクロールバー内のスクロール要素を移動させるために通常行うドラッグの方向と直交する方向にドラッグを行うことができる。通常、そのようなドラッグは、無効な入力であるが、以下で説明する例では、そのようなドラッグは、新規ウィンドウをオープンしようとするユーザの意図として、コンピュータシステムによって解釈することができる。したがって、入力に応答して、アプリケーションまたはオペレーティングシステムは、既存ウィンドウに対してドラッグの方向に、既存ウィンドウに隣接して新規ウィンドウをオープンすることができる。システムは、既存ウィンドウのサイズ変更を行うこともでき、例えば、ドラッグが生じたときに既存ウィンドウが画面上で最大化されていた場合、既存ウィンドウおよび新規ウィンドウは、各々が画面を半分ずつ(左半分と右半分を、または垂直直交ドラッグの場合は上半分と下半分を)占有することができる。
【0007】
ある実施では、そのようなシステムおよび技法は、1つまたは複数の利点を提供するこ
とができる。例えば、コンピューティングデバイスとのユーザ対話を改善することができ、ユーザがより多くのデバイスを購入し、それらを他の人に推薦する可能性がより高まるであろう。また、アプリケーションの制作者は、本明細書で説明するようなインタフェースを使用して、アプリケーションを提供できるという利益を得ることができ、新しい種類および追加的な種類のアプリケーションを生成できることもある。
【0008】
別の実施では、コンピュータ実施ユーザインタフェース方法は、コンピューティングデバイスのディスプレイ上の第1のウィンドウ内にコンテンツを表示するステップと、ウィ
ンドウの周縁部にある要素上でドラッグユーザ入力を受け取るステップと、ドラッグ入力を受け取ったのに応答して、コンピューティングデバイスのディスプレイ上に第2のウィ
ンドウを生成および表示し、第2のウィンドウと同時に第1のウィンドウを表示するステップとを含む。第1および第2のウィンドウを表示するステップは、第1のウィンドウを第2のウィンドウに隣接して、その横に自動的に位置付けるステップを含むことができ、ウィンドウの周縁部にある要素は、スクロールバーを含むことができ、ドラッグモーションは、スクロールバーの通常のスクロール移動と直角をなす方向の成分を有する動きを含む。また、ドラッグモーションは、スクロールバー上での選択と、それに続く、第1のウィンド
ウ内に表示されている文書の本文に向かっての動きとを含むことができる。
【0009】
別の実施では、コンピューティングデバイスのユーザと対話を行うためのコンピュータ実施システムが開示され、システムは、タッチスクリーンディスプレイを有するグラフィカルユーザインタフェースと、タッチスクリーンディスプレイとの接触の発生および接触の発生後に行われるドラッグの方向を識別するためのドラッグ入力サブシステムと、第1
のウィンドウ上、第1のウィンドウの周辺部においてドラッグ入力を識別し、識別された
ドラッグ入力に応答して、第2のウィンドウを生成するためのコードを記憶する有形なコ
ンピュータメモリに動作可能に接続されたプロセッサとを備える。
【0010】
また別の実施では、コンピューティングデバイスのユーザと対話を行うためのコンピュータ実施システムが開示され、システムは、タッチスクリーンディスプレイを有するグラフィカルユーザインタフェースと、タッチスクリーンディスプレイとの接触の発生および接触の発生後に行われるドラッグの方向を識別するためのドラッグ入力サブシステムと、第1のウィンドウの周縁部にある要素を起点とする、第1のウィンドウ内でのドラッグ入力に応答して、第2のウィンドウを生成するための手段とを備える。これらの実施の1つまたは複数は、ユーザが、迅速かつ容易に第2のウィンドウを生成することを可能にするうえ
で有利である。新たに生成されたウィンドウは、有利には、元のウィンドウに沿って表示することができ、したがって、両方のウィンドウを同時に見ることができるように、ユーザが2つのウィンドウのサイズ変更および移動を行う必要はない。いくつかの実施は、元
のウィンドウと新規ウィンドウを互いに対してどのようなサイズにするかを、ユーザが指
示することも可能にする。
【0011】
1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において説明される
。他の特徴および利点は、説明および図面から、また特許請求の範囲から明らかである。
【図面の簡単な説明】
【0012】
【
図1A】モバイルコンピューティングデバイスにおける触覚フィードバックを示す図である。
【
図1B】モバイルコンピューティングデバイスにおける触覚フィードバックを示す図である。
【
図2A】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図2B】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図2C】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図2D】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図2E】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図2F】グラフィカルユーザインタフェースにウィンドウを追加するための技法についてのスクリーンショットを示す図である。
【
図3A】モバイルコンピューティングデバイスの動きに応答したデバイス上での地図アプリケーションの起動を概念的に示す図である。
【
図3B】モバイルコンピューティングデバイスの動きに応答したデバイス上での地図アプリケーションの起動を概念的に示す図である。
【
図4A】タッチパッド入力メカニズムと、タッチパッド入力メカニズム上での特定のジェスチャに応答するオンスクリーン要素とを有する、コンピューティングデバイスのスクリーンショットを示す図である。
【
図4B】タッチパッド入力メカニズムと、タッチパッド入力メカニズム上での特定のジェスチャに応答するオンスクリーン要素とを有する、コンピューティングデバイスのスクリーンショットを示す図である。
【
図5】モバイルコンピューティングデバイスの概略図を示す図である。
【
図6】コンピューティングデバイス上でユーザが入力したデータの訂正と連動する触覚フィードバックを提供するためのプロセスのフローチャートである。
【
図7】ウィンドウ周縁部におけるユーザ入力に応答して表示要素を生成するためのプロセスのフローチャートである。
【
図8】コンピューティングデバイスの動きに応答して自動的にナビゲーションアプリケーションを起動するためのプロセスのフローチャートである。
【
図9】タッチパッドのユーザ操作に応答してグラフィカルディスプレイに要素を導入するためのプロセスのフローチャートである。
【
図10】本明細書で説明する技法を実施するために使用できるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【0013】
様々な図面における同様の参照記号は、同様の要素を指し示している。
本文書は、モバイルスマートフォンなどのコンピューティングデバイスのユーザとの対話を、例えば、デバイスにおいて動作するオペレーティングシステムの要素を使用して、可能にするためのシステムおよび技法について説明する。システムおよび技法は、視覚的に、聴覚的に、または接触によって実施できる様々な出力メカニズムと、デバイスを制御
するための入力メカニズムとを提供することができる。本明細書では、複数の具体的な技法の例が説明され、それらの技法は、個別に実施することができ、または技法どうしおよびオペレーティングシステムの他の態様と連携しながら一緒に実施することができる。
【0014】
図1Aおよび
図1Bは、モバイルコンピューティングデバイス102における触覚フィードバ
ックを示す図である。一般に、デバイス102は、引き出し式キーボード108を有するスマートフォンの形態を取る。デバイス102は、ユーザに情報を表示するためのグラフィカルデ
ィスプレイも前面に含み、ディスプレイは、指またはスタイラスを用いたディスプレイ表面へのユーザ接触などによって、ユーザから入力を獲得するためのタッチスクリーン入力メカニズムを含むことができる。
【0015】
この例では、第1の状態にあるデバイス102が
図1Aに、その後の第2の状態にあるデバイ
ス102が
図1Bに示されている。第1の状態には、文のテキストを検索クエリとしてサブミットするため、テキストを文としてワープロ文書または電子メールに追加するため、または他の類似の目的のためなどに、ユーザがデバイス102に文をタイプし始めた後のデバイス102が示されている。ユーザによって入力された句106には、スペルミスが含まれ、Soainという単語が入力されているが、ユーザがSpainという単語をタイプするつもりであったこ
とは明白である。この例では、リアルタイムスペルチェックシステムが、Soainという単
語は、デバイス102内に記憶された、または(例えば、無線ネットワークおよびインターネットを介するなど)他の方法でデバイス102からアクセス可能な辞書内に見当たらないと決定することができ、既存のワープロアプリケーションの様々なスペルチェックシステムによって実行されるような方法で、Soainに下線を引くことなどによって、この語を強調表
示することができる。
【0016】
スペル誤りがある単語の識別は、システムに単語のスペリングを訂正させるトリガとなるのに加えて、デバイス102にユーザに対して触覚フィードバックを提供させることもで
きる。例えば、スペル誤りがある単語に関連してシステムが取るアクションに応じて、1
つまたは複数の異なるタイプの触覚フィードバックを提供することができる。一例として、デバイスが、語110など、スペル誤りがある語の正しいスペルを見つけることができた
場合、デバイス102は、数分の1秒など、比較的短い期間にわたって1回だけ、振動するこ
とができ、その場合、Spainという単語が識別され、テキスト内に自動的に埋め込まれる
。代替として、システムが、語106の訂正を識別することができない場合、デバイス102を、立続けに2回、振動させることができる。
【0017】
したがって、触覚フィードバックは、ユーザが入力したテキストに問題が認められたことを認識するきっかけをデバイスのユーザに与え、ユーザが画面に目をやるように、または改めて画面を注視するようにさせることができる。ユーザは、振動を1回感じた場合、
画面を見直して、置換後の単語が正しいことを確認することができ、振動を2回感じた場
合、人手による訂正が必要かどうかを判断するために、画面を見直し、タイピングを中断することができる。
【0018】
デバイス102は、他の実施形態では、他の触覚フィードバックを提供することができる
。例えば、小さなクリック音を出すこと、またはユーザが手に感じることができる低い音を鳴らすことができる。また、1回の振動および2回の振動以外のパターンの触覚フィードバックも使用することができる。例えば、触覚イベントの時間的な長さによって、何らかのステータスをユーザに伝えることができ、または触覚イベントの大きさを使用することもできる。一例として、訂正が行われ、おそらくユーザはそれを気に留めなくてもよいことを、弱い振動によって伝えることができ、一方、誤りが識別されたが、訂正を行うことができないので、ユーザはこの問題により配慮すべきであることを、強い振動によって伝えることができる。
【0019】
ユーザよる音声入力に応答して、触覚フィードバックを提供することもできる。そのような状況では、システムは、ユーザよるタイピング誤りを探すことがない代わりに、システムが選択した単語が、ユーザが言った単語と一致することに、あまり確信がもてない状況を探す。発話による入力を行っているユーザは、通常、自分が言った単語が正しく理解されたかどうかを確かめるために画面を見続けていることはなく、また話すことと聞くこととを同時に行うことは難しく、可聴フィードバックによって不必要にユーザの注意が逸らされることがあるので、触覚フィードバックは、聴覚フィードバックよりも役立つことがある。対照的に、触覚フィードバックによれば、ユーザは、デバイスを手に持っているときでも、ポケットまたは他の類似の場所に入れているときでも、ほとんど邪魔にならない方法で、音声文字変換に伴う問題について通知を受けることができる。
【0020】
図2Aおよび
図2Bは、グラフィカルユーザインタフェースにウィンドウを追加するための技法のスクリーンショットを示している。一般に、本明細書の技法は、オペレーティングシステムのグラフィカルユーザインタフェース内のウィンドウの周縁部(スクロールバー
上など)において始動し、ウィンドウの内側に移動する、ユーザによって開始されたドラ
ッグモーションを識別するステップを含む。そのようなユーザモーションは、新規ウィンドウを追加しようとするユーザの意図として解釈され、そのため、システムは、新規ウィンドウを生成して、元のウィンドウの横に並べ、また新規ウィンドウのためのスペースを確保するために、元のウィンドウのサイズを縮小する。
【0021】
一般に、入力が、通常の入力、すなわち、スクロールバーの経路に沿ったスクロール要素のドラッグと直交する場合、その入力は、一般にスクロールバーに登録された「スクロール」を意図するのではなく、「新規ウィンドウ」をユーザが意図したものとして識別される。例えば、直線方向からの傾きがより直角に近い入力、すなわち、スクロール要素が動く方向に対して45度よりも大きな傾きを有する入力を、そのような直交入力として登録することができる。他の状況では、スクロールが通常意図されるものであるので、スクロールと見なす角度の範囲をより大きくすることができ、そのため、ユーザが要素上でドラッグを開始し、要素が通常移動する方向に対して、要素に関する角度を60度以下または80度以下に維持し続けた場合、それが意図するものは、スクロールであると解釈される。また、スクロールがユーザの意図であると見なされる角度と、新規ウィンドウの生成がユーザの意図であると見なされる角度との間に、スペースを維持することもできる。
【0022】
代替として、2つのユーザ意図の区別は、ユーザがスクロールバーからどれだけ遠くに
移動させたか、その移動の横方向距離に基づくことができる。例えば、スクロールバーから1インチ(約2.54cm)以内の、または一定のピクセル数以内の動きはいずれも、(ドラッグがスクロール要素の上側で行われたか、それとも下側で行われたかに係わらず)スクロー
ル入力として解釈することができ、そのポイントを超えるドラッグは、新規ウィンドウをオープンするための入力として解釈することができる。
【0023】
図2Aには、ウィンドウ120が示されており、ウィンドウ120内では基本的なウェブブラウザが動作し、ブラウザ内にはウェブページが表示されている。ウェブページを閲覧しているユーザは、そのウェブページ上で語られている人物について研究しており、その人物についての追加情報を見つけ出したいと望んでおり、見つけた情報をウェブページ上の元からの情報と並べて閲覧したいと望んでいると仮定する。そのような閲覧を行う1つの有益
な方法は、ディスプレイ上に2つのウィンドウを並べて、または類似の配置で提供するこ
とである。代替として、一方のウィンドウが他方のウィンドウの上方にくるように、2つ
のウィンドウを表示することができ、やはり、ウィンドウは、直接的に隣接することができる。場合によっては、2つのウィンドウは、自動的に同じサイズで(例えば、それぞれ半画面のサイズで)表示される。代替として、新規ウィンドウ124は、元のウィンドウ120よ
りも大きく、または小さく表示することができる。いくつかの実施形態では、ウィンドウをどれだけのサイズにするかを、ユーザが指示することができる。
【0024】
そのような配置を定めるのに便利なメカニズムが、選択ターゲット128によって示され
ており、選択ターゲット128は、ブラウザの表示領域の右エッジにあるスクロールバー上
でユーザが行った押下を表す。選択ターゲット128からドロップターゲット130までの図中の矢印は、ドロップターゲット130においてユーザが(例えば、マウスボタンまたはタッチスクリーンから)指を持ち上げるまでに、それら2点間でユーザが行うドラッグモーションを表す。選択ターゲット128は、スクロールバーのスクロールコントロール126上に、またはスクロールバーの別の場所に配置することができる。選択は、ウェブページコンテンツが表示されるブラウザの表示領域の外部にある、ウィンドウ120のエッジ近くの別の周縁
要素上で行うこともできる。代替として、選択ターゲット128は、可視要素がそこに存在
するかどうかに係わらず、ウィンドウ120の周縁部から僅かの距離にある場所とすること
ができる。
【0025】
ドロップターゲット130は、選択ターゲット128から離れたところにある、選択ターゲットから見て一般に直角方向にある場所に存在することができる。ドロップターゲット130
は、ドラッグを行った後にユーザが指を持ち上げる地点として、またはユーザが指をタッチスクリーンに触れさせたままであっても、そこに到達したときのユーザ意図が登録されている、スクロールバーから決められた横方向距離だけ離れた地点として、識別することができる。(そのような状況では、ユーザは、決められた距離を超えてドラッグを行った
場合に、分割されたウィンドウのプレビューを見ることができ、スクロールバーに向かって逆方向にドラッグを行い、決められた距離の内側に戻ることによって、分割された画面を取消し、元の表示に戻ることができる)。例えば、ユーザは、興味のあるコンテンツを
さらに見るために、ドラッグを行い、指でディスプレイを抑えている間、そのコンテンツを閲覧することができ、その後、スクロールバーに向かって逆方向にドラッグを行うことによって、コンテンツを消去し、最初のブラウジングに戻ることができる。そのような対話は、ユーザが、ページ上のハイパーリンクを押下し、そのハイパーリンクをページの外側にドラッグして、ハイパーリンクのリンク先にあるコンテンツが表示された新規ウィンドウをオープンし(また任意選択的に、元のページと並べて閲覧するために既存ページを
縮小し)、その後、元のページに向かって逆方向にドラッグを行い、その最後のドラッグ
によって、コンピューティングシステムに、ハイパーリンク先のコンテンツのためのウィンドウを閉じさせ、ユーザがハイパーリンクを元のウィンドウの外側にスライドさせる前に見えていた通りの表示に戻させることによっても行うことができる。
【0026】
代替として、ユーザによる初期モーションは、スクロールバーのスクロールモーションとほぼ直交することができるが、ドロップターゲットは、選択ターゲット128がその近く
に配置されたウィンドウのサイドに隣接するウィンドウのサイドに沿って(例えば、ウィ
ンドウの底辺に沿って)、ウィンドウ120の周縁部の近くの地点に配置されることがある。このモーションは、ドロップターゲットの位置から引き上げられた垂直線によって新規ウィンドウのサイズを定めようとするユーザの意図を示すことができる。
図2Bは、元のウィンドウと新規ウィンドウとを示している。いくつかの実施では、ウィンドウのサイズは、ユーザのドラッグモーションが解放された地点に応じて定められ、ウィンドウは、例のケースでは、ウィンドウの底辺と、スクロールバーの新しい位置によって定められる垂直線とに沿って配置される。この例の新規ウィンドウは、スクロールバーを有するようには示されていないが、表示領域に収まりきらないコンテンツがある場合、通常はスクロールバーを有するウィンドウが示される。また、
図2Bの新規ウィンドウには、ユーザがごく最近に訪問したページのサムネイルが示されるが、その方法は、ユーザがブラウザ内で新規ペイン(ペインとは本明細書で説明するような新規ウィンドウに相当すると考えられる)をオープンした場合に、GOOGLE CHROME BROWSERが、サムネイルを示す方法とよく似ている。
【0027】
いくつかの実施形態では、ユーザが、スクロールバー上で(例えば、マウスボタンまた
はタッチスクリーンを)押下し、スクロールバーの方向とほぼ直交する方向にドラッグす
ることによって(また場合によっては、スクロールバーから決められた距離だけ離れたと
ころまで達した後にだけ)、新規ウィンドウがインスタンス化される。例えば、スクロー
ルバーが、上方および下方スクロールをユーザが行うことを可能にする場合、スクロールバー上で押下し、(スクロールバーがウィンドウの右側に配置される場合)ほぼ左向きに、または(スクロールバーがウィンドウの左側に配置される場合)ほぼ右向きにドラッグし、所定の距離または所定の時間のドラッグによって新規ウィンドウがインスタンス化された後に指を持ち上げる。(ウィンドウの外側に向かうドラッグ、すなわち、上述の説明の例
とは反対方向のドラッグも、同じ結果を達成することができる)。
【0028】
同様に、ウィンドウが、左方および右方スクロールをユーザが行うことを可能にする、上辺または底辺に沿ったスクロールバーを有する場合、スクロールバー上で押下し、(ス
クロールバーがウィンドウの底辺に沿って配置される場合)ほぼ上向きに、または(スクロールバーがウィンドウの上辺に沿って配置される場合)ほぼ下向きにドラッグし、所定の
距離または所定の時間によって新規ウィンドウがインスタンス化された後に指を持ち上げる。直交または直角についての正確さをユーザに期待することはできないので、ユーザによって引き起こされる動きは、スクロールバーの方向に対して必ずしも正確に直交または直角である必要はない。しかし、メカニズムが許容できるのは、直交方向から30度以内のユーザモーションである。より高い精度を求める実施形態では、メカニズムが許容できるのは、直交方向から20度以内のユーザモーションである。ユーザモーションは、スクロールモーションから区別可能であるべきである。元のウィンドウおよび新規ウィンドウのサイズをどのようにすべきかについてユーザの指示がない場合、いくつかの実施形態では、ウィンドウは、デフォルトでは等しいサイズを取る。
【0029】
所定の距離は、選択ターゲット128とドロップターゲット130の間で必要とされる距離によって定めることができる。所定の距離は、ウィンドウの高さおよび/または幅によって
定義されるウィンドウのサイズとの関連で定めることができる。例えば、メカニズムは、押下したまま、少なくとも(ドラッグモーションが垂直方向に行われる場合は)ウィンドウの長さの半分、または(ドラッグモーションが水平方向に行われる場合は)ウィンドウの幅の半分にわたってドラッグすることを、ユーザに要求することができる。他の実施形態では、メカニズムは、幅または長さの3分の1にわたってドラッグすることを要求することができる。他の実施形態では、メカニズムは、例えば、幅または長さの3分の2または4分の3など、幅または長さの2分の1よりも長くドラッグすることを要求することができる。
【0030】
代替として、所定の時間を定めることができ、その場合、ユーザが押下し、所定の時間が経過した後、解放することによって、新規ウィンドウがインスタンス化される。所定の時間は、少なくとも0.5秒とすることができる。別の実施形態では、所定の時間は、少な
くとも1秒とすることができる。また別の実施形態では、所定の時間は、少なくとも2秒とすることができる。いくつかの実施形態では、ユーザが押下し、新規ウィンドウをインスタンス化できる方向にドラッグしても、タイムリミットが過ぎた後に解放しない場合、ユーザが指を持ち上げたときに、ウィンドウがインスタンス化されることはない。例えば、ユーザが押下し、2または3秒以上が経過した後になっても指を解放しない場合、ユーザが指を持ち上げたときに、ウィンドウがインスタンス化されることはない。
【0031】
図2Bを再び参照すると、
図2Bは、ユーザによるそのような入力をコンピューティングデバイスが解釈した結果を示している。具体的には、ウィンドウ120が示され、元のウィン
ドウ120に隣接して、新規ウィンドウ124も示されている。ウィンドウ120は、横方向の寸
法が縮小しており、縮小の程度は、
図2Aにおいてユーザが行ったドラッグと同じであり、
すなわち、
図2Bのウィンドウ120の右エッジは、おおよそドロップターゲット130を通る垂直線に一致する。また、新規ウィンドウ124は、
図2Aに示されるユーザ入力に応答して、
自動的にインスタンス化される。ウィンドウ124は、検索ボックスを表示するページ、ユ
ーザがごく最近に訪問したサイトのサムネイル、または他のそのようなコンテンツを表示するページなど、ブラウザの標準的な汎用トップページとすることができる。
【0032】
また、
図2Cにおけるユーザからの入力は、ウィンドウ124がインスタンス化されたとき
に、ウィンドウ124内にどのページを表示すべきかを指示することができる。例えば、選
択ターゲットは、URL127など、ウェブページの要素上にあることができ(その場合、ドロ
ップターゲット129は、画面のエッジ、または現在ブラウザのフォーカスがあるペインも
しくはタブの外側の領域である)、
図2Dに示されるように、ウィンドウ124内で、そのURL
に対応するウェブページをオープンすることができる。
図2Eを参照すると、一代替実施形態ではユーザは、ウィンドウ124がインスタンス化されたときに、ウィンドウ124内にどのページを表示すべきかを指示することができ、この場合、URLなど、ウェブページ上の要
素が、ドロップターゲット129である。そのような一実施形態では、選択ターゲットは、
ウェブページコンテンツが表示されるブラウザの表示領域の外側にある、ウィンドウ120
のエッジ近くの周縁要素とすることができる。例えば、選択ターゲットは、スクロールバーまたはスクロールバー内のスクロールコントロール126とすることができる。ユーザモ
ーションは、
図2Eの矢印によって示されるような、スクロールコントロール126(選択ターゲット)からウェブページ要素またはURL127(ドロップターゲット)に向かっての動きを含
むことができる。上で説明したように、ユーザが新規ページ上のコンテンツを閲覧した後などの状況において、元のウィンドウ120に向かって逆方向にドラッグすることによって
、ユーザは、新規ウィンドウ124のオープンを容易に「取り消す」こともできる。
【0033】
図2の例では、ウェブブラウザおよびウェブページに注目したが、この技法は、他のア
プリケーションとともに使用することもできる。例えば、ワープロアプリケーションのユーザは、同様のドラッグモーションを行って、新規ウィンドウまたはペイン内に新規文書をオープンさせることができる。新規文書は、元の文書とともに、より大きな文書の部分文書として確立することができ、より大きな文書は、両方の部分文書を含む。例えば、そのようなドラッグは、書籍の原稿の新しい章をオープンするために使用することができ、この場合、書籍全体に対応する文書は、各章に対応する部分文書を含む。別の例として、
図2Fを参照すると、ユーザは、ワープロ文書において、ある文書からの抜粋部分144を強
調表示することができる。その場合、ユーザは、第2のウィンドウをインスタンス化する
ために、強調表示された抜粋部分に向かってドラッグモーションを行うことができ、または強調表示された抜粋部分からワープロ文書のウィンドウの周縁部に向かって(またアプ
リケーションのインスタンス化を定義するメインウィンドウ内のサブウィンドウとすることができる、文書のキャンバスの外側に向かって)ドラッグモーションを行うことができ
る。
図2Fに示される例では、ユーザは、強調表示された抜粋部分144内に配置された選択
ターゲット142上でクリックを行い、ドロップターゲットである周縁要素146に向かってドラッグモーションを行う。第2のウィンドウが表示および生成され、強調表示された抜粋
部分は、第2のウィンドウ内に表示される新規ワープロ文書内にペーストされる。
【0034】
図3Aおよび
図3Bは、モバイルコンピューティングデバイス430の動きに応答したデバイ
ス430上での地図アプリケーションの起動を概念的に示している。
図3Aは、停止している
自動車432内のデバイス430を、デバイス430のスクリーンショットとともに示しており、
一方、
図3Bは、デバイス430の例示的な動作モードを際立たせるために、走っている同じ
自動車432を、デバイス430のスクリーンショットとともに示している。
【0035】
図3Aでは、デバイス430が、自動車432のダッシュボードのドック内に配置するなどして、自動車432に搭載されている。自動車432は、走っておらず、デバイス430は、デバイス4
30上に、オペレーティングシステムのデスクトップを単に表示している。例えば、デバイスは、それを選択するとデバイス430上の様々なアプリケーションを起動することができ
る1つまたは複数のアイコン438と、アイコンのグループ434とを表示することができる。
加えて、デスクトップ上には、クロック436または他のそのようなプログラムなどの、ウ
ィジェットまたはガジェットを表示することができる。したがって、デバイス430上の表
示は、馴染み深い方法で提供される。
【0036】
図3Bでは、自動車432の運転手が、自動車を走らせ始めており、その結果、デバイス430内のGPSモジュールは、デバイス430の速度、ひいては自動車432の速度を計算することが
できる。そのような決定は、自動車432の停止中の図と走行中の図の間に示されるような
式に従って行うことができ、ある期間中に走行した2地点間の距離を決定し、その距離を
その期間で除算することによって、走行速度が獲得される。
【0037】
この例のデバイス430は、計算された速度を所定の速度と比較するプログラムを備え、
所定の速度に達した、または所定の速度を超えた場合、デバイス430は、その表示を、デ
スクトップ表示から、デバイス430および自動車432の位置を地図上に示す地図の形式を取るナビゲーション表示440に変化させる。このようにして、デバイスは、走行中のユーザ
は最新の所在位置についての情報を得たいであろうという推測に基づいて、自動的にモードを変化させることができる。
【0038】
図3Bの表示440は、ナビゲーション表示だけを提供するものとして示されているが、他
の情報を表示上に保ち続けることもできる。例えば、着信メッセージ(例えば、着信電話
呼の発呼者ID情報、着信電子メールのタイトル行など)を表示するために、表示の周縁部
に沿って細長い区画を残しておくことができ、ユーザは、メッセージアラート上の領域を選択することによって、対応するメッセージについてより多くの情報をナビゲーション表示上に表示させることができ、またはそれらの情報でナビゲーション表示を置き換えることができる。また、着信電話呼など、特定のイベントが発生した場合、画面を分割してナビゲーション表示を脇へ押しやることができ、またはユーザが通話中はナビゲーション表示を完全に消すことができる。
【0039】
ユーザに示されるナビゲーション表示のタイプは、デバイス430によって検出された速
度に依存することもできる。例えば、遅い速度の場合、デバイス430は、ユーザが歩行中
または自転車で走行中であると推測することができ、地元の店舗、バス停留所、およびATMなどが示される、そのような活動に適した詳細さで、地図を示すことができる。より速
い速度の場合、表示には、代わりに、ガソリンスタンド、走行方向、および現在の交通情報など、自動車の運転手に関係する情報が示される。コーヒーショップの場所など、情報によっては、どちらのモードでも示すことができる。
【0040】
ナビゲーション表示のズームレベルも、デバイス430の速度の変化に応じて、自動的に
変化させることができる。例えば、速度が時速10マイル(約16km)未満の場合は、ユーザが歩行中であることを示すので、ズームレベルは、デバイス430が1または2ブロックを示す
ように設定することができる。速度が時速約60マイル(約96km)の場合は、ズームレベルは、デバイス430が数マイルの範囲を示すように、自動的にリセットすることができる。
【0041】
図3に示される方法では、その後、ナビゲーション表示は、感知されたデバイスの動き
に応答して、デバイスの中心的表示(focus)になることができ、ユーザがそのような表示
を明示的に要求する必要がないようにする。また、ナビゲーション表示の特定のモードは、デバイスが動いている速度に応じて、変化させることができる。
【0042】
図4Aおよび
図4Bは、タッチパッド入力メカニズムと、タッチパッド入力メカニズム上で
の特定のジェスチャに応答するオンスクリーン要素とを有する、コンピューティングデバイス442のスクリーンショットを示している。この例では、デバイス442は、タッチスクリーンに隣接するタッチパッドを有するノートパッドの形態を取るが、通常は、2つの要素
がちょうつがいで接続されたノートブックまたはラップトップの形態を取り、一方の要素に、グラフィカルディスプレイを有し、他方の要素に、タッチパッド(および対応する選
択ボタン)を伴うキーボードを有する。
【0043】
図4Aには、グラフィカルディスプレイ444にウェブページ456を表示したデバイス442が
示されている。ディスプレイ444の左エッジには、選択可能タブ454が示されている。選択可能タブ454上の矢印は、タッチパッドまたはマウスによって操作されるポインタを用い
るなどして、タブ454を選択することができること、またタブを右側にドラッグして、現
在はディスプレイ444の左外側に(想像上ではあるが)配置されている1つまたは複数のオブジェクトを画面上に引き出すことができることを、デバイス442のユーザに知らせる。
【0044】
代替として、接触ポイント448によって示されるように、タッチパッド446の左側でデバイス442に接触し、その後、タッチパッド446の表面を指でなぞって、引き出しの意図が登録された十分な距離だけ面内で指を進めることによって、ユーザは、ディスプレイの左側の領域からディスプレイ444上にオブジェクトを引き出そうという意図を示すことができ
る。タッチパッドのエッジ外では、ユーザの指は感知されないが、タッチパッド446のま
さにエッジのところに最初に指がきたときに、左エッジに対して直角をなす、タッチパッド面の方を向いた指のベクトルとともに、指の存在を感知することができる。
図4Bに示されるように、タッチパッド446上でのポイント450に向かってのユーザの入力によって、情報パネル452が、タッチパッド上でのユーザの指の動きに合わせて、アニメーション的に
ディスプレイ444上にスライドする。一般に水平方向の直線スワイプ(swipe)である、対応するスワイプは、タッチパッド446の右エッジ外からタッチパッド面に向かうものも、ま
たはタッチパッド446の領域から左エッジ外に向かうものも、デバイス442が
図4Aのルックに戻るように、情報パネル452をディスプレイ444から消し去ろうとする意図を示すことができる。
【0045】
ユーザ入力のこの実施では、ユーザがタッチパッド446上で指をスワイプさせたときに
、ディスプレイ444における対応するポイントがタブ上(目下の状況ではディスプレイ444
の中央)にあるかどうかは問題ではない。代わりに、タッチパッド446の外側から開始する動きの場合、それは、タッチパッド446に対する指の垂直位置に関係なく、動きによって
タブ454がつかまれたことを示すとデバイスによって見なされる。
【0046】
ポイント450の特定の位置が、ユーザ入力に対するデバイス442の反応に影響することもあり、または影響しないこともある。例えば、ユーザがタッチパッド446上で水平入力を
提供していることを少なくとも示すためには、ポイント450は、タッチパッド446の内側に十分深く入ったところにある必要がある。ポイント450の最終位置も、パネル452がディスプレイ444上にどれだけスライドするかを制御することができる。例えば、パネル452は、情報用の2つの垂直カラムを有することができ、ユーザがタッチパッド446上で行ったドラッグが中間距離(または他の何らかの距離)に達しない場合、一方の垂直カラムを表示することができ、ユーザが行ったドラッグがより長い距離である場合、両方のカラムを表示することができる。
【0047】
ディスプレイ444の左エッジに沿って、タッチバー455も示されている。タッチバーは、デバイス442のグラフィカルディスプレイ部の外側の、デバイス442の枠上に存在することができ、比較的低い解像度を有するタッチセンサ式デバイスとすることができる。示されるように、適切な状況では、タッチバー455は、複数のゾーンを有することができ、各ゾ
ーンには、ブックマークを示す、ホームページに移る、前に進む、または後に戻るなどの
ウェブブラウジング操作が割り当てられる。各領域は、ユーザが、枠の裏側に当てた人差し指と親指とでつまむようにしながら、親指を関連する選択項目に容易に押し当てることができるサイズを有することができる。タッチバー455の領域は、タッチバー455上のアイコンの上からタッチバー455のエッジ外へ親指をドラッグする動作など、ユーザによる限
られた動作を識別するための機能を含むこともできる。そのような動作は、特定の機能に割り当てることができ、同時にまたは代替として、デバイス442において動作するアプリ
ケーションによってプログラム可能とすることができる。
【0048】
したがって、デバイス442の枠内のタッチバー455を使用して、キーボードにキーを追加する必要なしに、追加のクイック入力メカニズムをユーザに提供することができる。また、枠入力を受け取り、解釈するための他の様々な技法を使用することができる。例えば、枠選択は、音楽プレーヤを制御するためのアイコンを含むことができ、タッチバー455は
、デバイス442を取り巻くように配置することができ、そのため、(例えば、ラップトップが開いているときに行われるウェブブラウジングまたは他の何かのための)ボタンのいく
つかは、デバイス442の内側から見ることができ、ラップトップが閉じられているときは
、他のボタンがデバイスの外側から見える(例えば、デバイス442に十分な電力を与えなくてもアクセスできる音楽プレーヤコントロール)。
【0049】
図5は、上で説明した技法および以下で説明する技法を実行するためのモバイルコンピ
ューティングデバイスの概略図である。デバイスは、
図5ではスマートフォンの形態で示
されているが、デスクトップパーソナルコンピュータ、ネットブック、またはラップトップコンピュータなど、他の様々な形態を取ることができる。この例では、モバイルデバイス502は、入力および出力用のタッチスクリーンディスプレイ504と、代替入力メカニズムとしてトラックボール506とを有する、スライダベースのスマートフォンである。
【0050】
ディスプレイ504は、上のページのような方法でクロームフリー(chrome-free)のブラウザに表示された地図アプリケーションの一例を示しており、ディスプレイ504の左側には
、上で説明したようにディスプレイの左エッジから内側に引き出された情報パネルも示されている。ユーザインタフェース用のスクロールバーまたは他のナビゲーション要素を有する、特定のブラウザを示すこともでき、そのような要素上での入力は、上で説明したような方法および以下で説明するような方法で、以下で説明される構造化構成要素によって処理することができる。
【0051】
機能と関連付けられ、上で詳細に説明した技法および以下で詳細に説明する技法を実施するために使用される、デバイス内の構成要素を示すために、デバイス502の内部に、多
くの構成要素が概略的に示されている。構成要素の1つまたは複数は、デバイス上のメモ
リ内に記憶され、デバイス502のプログラム可能なマイクロプロセッサ上で動作するもの
として実施することができるが、この例では、説明が明瞭になるように、個々の構成要素は別々に示されている。他の構成要素および構成要素の配置も企図されている。
【0052】
デバイス502は、タッチスクリーンディスプレイ504上でユーザに示される様々な要素を制御するディスプレイマネージャ508を含み、一方、入力マネージャ512は、ディスプレイ504上のタッチスクリーン、またはトラックボール506などの他のメカニズムから受け取る入力を管理する。ディスプレイマネージャ508は、様々なアプリケーション、およびオペ
レーティングシステムの他の構成要素から情報を受け取ることができ、ディスプレイ504
上の他の要素との関連でどの要素を表示すべきか、どの要素を隠すべきか、互いとの関連で可視要素をどのように示すべきかを決定することができる。
【0053】
入力マネージャ512は、ユーザがデバイスを用いて取るアクションを解釈するために、
ディスプレイマネージャ508と連携することができる。例えば、ユーザは、タッチスクリ
ーンディスプレイ504上に指を置くことができ、またはタッチスクリーンディスプレイ504上でポインタを動かし、その後、選択を行うことができる。入力マネージャ512は、その
ようなアクションによってユーザがどのアイテムを選択したかを決定するために、ディスプレイマネージャ508に問い合わせることができ、イベントマネージャ510を使用するなどして、イベントを生成することができ、イベントは、そのようなイベントの報告を事前に求めていた様々な他の構成要素に報告することができる。例えば、入力マネージャ512は
、スクロール要素が表示されたデバイス502上の位置において、ユーザの接触が発生した
ことを識別することができ、その後、要素の経路から外れた方向、スクロールバーと直交する方向において、ドラッグが発生したことを識別することができる。その後、入力マネージャ512は、上で説明したように、および以下で説明するように、そのような入力に対
する応答として、デバイスに新規ウィンドウをオープンさせる、別の要素に通知することができる。
【0054】
デバイス502は、デバイス上で動作するアプリケーションおよび/またはデバイスのオペレーティングシステムから利用可能とすることができる、様々なサービスを備えることもできる。例えば、普通に市販されているモジュールとすることができるGPSモジュール514は、デバイス502の所在位置について決定することができ、運転の道順を提供するアプリ
ケーション、およびソーシャルネットワークを介してユーザの友人によって参考にされるユーザの所在位置を提供するアプリケーションなど、様々なアプリケーションに、そのような情報を提供することができる。同様に、スペリング訂正器516は、デバイス上で動作
する様々なアプリケーションが、ユーザが入力したデータを訂正できるように、またはさもなければ、入力が有する問題についてユーザに通知できるように、それらのアプリケーションから一般に利用可能なサービスを提供することができる。そのような通知は、
図1Aおよび
図1Bならびに
図3Aに関して上で説明したような、触覚フィードバックを介することができる。
【0055】
デバイス502には、様々な物理的な出力メカニズムを提供することもできる。例えば、
ユーザに触覚フィードバックを提供するために、バイブレータ522を提供することができ
る。バイブレータ522は、デバイス上の様々なアプリケーションまたはサービスによって
呼び出すことができる、関連するコントローラ(図示されず)を有することができる。例えば、スペリング訂正器516は、スペリング訂正器516によってスペル誤りが識別された場合は常に、デバイス502に振動を起こさせることができる。また、トーンまたは合成音声の
形態などの追加的なフィードバックをユーザに与えるために、サウンドコントローラ524
および関連するオーディオスピーカを提供することができる。
【0056】
アプリケーション518、520などの、様々なアプリケーションは、デバイス上で動作することができ、ディスプレイマネージャ508を介して表示されるグラフィックスにデータを
提供することができる。アプリケーションは、デバイス502上のオペレーティングシステ
ムの部分とすることができ、デバイス502のユーザによってオンラインマーケットなどか
ら追加することができる。この例では、第1のアプリケーションは、地図アプリケーショ
ン518であり、スタンドアロンアプリケーションとして、またはブラウザアプリケーショ
ン520内で動作するアプリケーションもしくはプラグインとして動作することができる。
ブラウザアプリケーション520は、スタンドアロンアプリケーション、またはデバイス502上で動作するオペレーティングシステムに組み込まれたコンポーネントとすることができ、本文書の他の箇所で詳細に説明されるような表示を生成することができる。デバイス502のユーザなどによって、他のアプリケーションを提供すること、またはデバイス502上にインストールすることもできる。
【0057】
オペレーティングシステムおよびアプリケーション518、520に向けた様々なメッセージを、無線インタフェース526を介してインターネットに接続される無線通信ネットワーク
などのネットワークを介して、受け取ることができる。1つまたは複数のリモートサーバ
からなど、ネットワークから受け取った情報を、アプリケーション518、520に提供することができ、またアプリケーション518、520からネットワークに情報を渡すことができる。
【0058】
加えて、揮発性ストレージおよび永続性ストレージを含む、様々な形態のストレージを、デバイス502において提供することができる。永続性ストレージは、アプリケーション
データ528、辞書データ530、およびユーザ情報532など、様々なデータストアを含むこと
ができる。辞書データ530は、上で説明したように、スペリング訂正器516と連携し、またスペリング訂正器516によって使用されて、ユーザによって入力された語が適切に綴られ
ているかどうかをスペリング訂正器516が判定することを可能にする情報を提供する。ア
プリケーションデータ528は、様々なアプリケーション518、520がその機能を実行するた
めに必要とするデータであれば何でも含むことができる。アプリケーションに応じて、データをリモートサーバシステムに記憶する代わりに、多かれ少なかれ、データをデバイス502にローカルに記憶することができる。例えば、あるデバイスは、地図アプリケーショ
ン用のデータをローカルに記憶することができ、一方、他のデバイスは、ユーザが地図上を進んでいるときに、リモートサーバから地図データ(例えば、地理的領域の一部の画像
を示す地図タイル)を獲得することができ、後で直ちにデータを廃棄することができる。
【0059】
ユーザ情報532は、コンピューティングデバイス502の1人または複数人のユーザについ
ての特定の情報を含むことができる。例えば、ユーザ情報は、ユーザのプロフィール情報の他、ユーザとのデバイス502の対話を制御し、様々なアプリケーションがデバイス502において動作する方法も制御することができる設定情報も含むことができる。
図5には、明
瞭になるように、3つの様々なデータストアが示されているが、多くの他の情報も、デバ
イス502に存在し、またデバイス502に記憶することができ、
図5に示されるように配置さ
れる必要はない。
【0060】
図6は、コンピューティングデバイス上でユーザが入力したデータの訂正と連動する触
覚フィードバックを提供するためのプロセスのフローチャートである。一般に、プロセスは、ユーザによって入力された情報に対して変更が成功したこと、もしくは成功しなかったこと(または変更がないこと)をユーザに知らせるために、モバイルデバイスを自動的に揺らすまたは振動させるステップを含む。
【0061】
プロセスは、コンピューティングデバイスがタイプされたユーザ入力を受け取る、ボックス302において開始する。そのような入力は、ワープロアプリケーション、電子メール
アプリケーション、ウェブブラウザアプリケーション、および他の類似のアプリケーションなど、デバイス上で動作している1つまたは複数のアプリケーションを介して行うこと
ができる。入力は、音声テキスト変換器などによって、アプリケーション用のテキストに変換される、発話入力とすることもできる。ボックス304において、プロセスは、ユーザ
によって入力されたスペース、または音声テキスト変換器によって決定された単語の末尾など、入力テキストにおける単語の切れ目を識別する。ボックス306において、スペリン
グ訂正アプリケーションが、入力された単語、または複数の単語から構成される句を解析し、その単語が、デバイス上に記憶された辞書、またはデバイスからアクセス可能にされた辞書内のいずれの単語とも一致しないと判定する。そのような判定は、単純に単語を辞書内の単語のリストと比較することによって、または単語の適切なスペルをより良く決定するために文脈を考慮して単語を比較することによって行うことができる。
【0062】
ボックス308において、プロセスは、単語を訂正するために、自動訂正サービスにアク
セスする。そのようなサービスは、辞書データを使用して、適切な単語のスペルを決定するために、または発話ユーザがどんな単語を言ったかを決定するために、様々な馴染み深い形態で実施することができる。
【0063】
ボックス310において、プロセスは、単語の訂正についてユーザに合図を送るために、
触覚デバイスに電力を供給する。そのような合図は、ユーザが弱い振動を感じるように、触覚デバイスに電力を供給することを含むことができる。デバイスをしばらく使用した後、ユーザは、振動がデバイス上で入力されたデータに対する訂正を示していることを本質的に理解する。より強い振動、または立続けに2回の振動は、デバイスが、語のスペルを
訂正できなかったこと、またはデバイスに対して言われた語を認識できなかったことを示すために使用することができる。ユーザ入力に誤りを識別したのに応答して、テキスト内の誤りが自動的に訂正されるのか、それとも自動的に訂正されるのかに応じて、訂正を自動的に行うことができる場合は、控えめな信号を用い、適切な訂正を自動的に行うことができない場合、または単語を決定できない場合は、より積極的な信号を用いる、他の類似の触覚フィードバックメカニズムを提供することもできる。後者の場合、より積極的な信号は、ユーザに行っていることを中止させ、デバイスにより注意を払って、入力の訂正を人手で行うようにさせることができる。
【0064】
ボックス312は、ユーザが人手で行うそのような単語の訂正を示している。ボックスが
破線形式で示されているのは、触覚フィードバックが、デバイスが自動的に訂正を行えなかったことを知らせている場合であっても、ユーザが現時点では入力を中止したくなく、データ入力が終了した後に訂正を行うつもりである場合などには、ユーザはそのような訂正を行う必要はなく、デバイスを無視できるからである。
【0065】
このようにして、コンピューティングデバイスは、デバイスにデータを入力しているユーザに、入力のフィードバックを適宜提供することができる。アラートメカニズムは、情報を入力しているユーザを妨害しないように提供でき、アラートを通知された情報の入力をユーザが中止する必要がない点で、控えめであることができる。したがって、ユーザは、それを選択した場合は情報の入力を継続することができ、またはそれを選択した場合は情報の入力における問題に対処することができる。
【0066】
図7は、ウィンドウ周縁部におけるユーザ入力に応答して表示要素を生成するためのプ
ロセスのフローチャートである。一般に、プロセスは、グラフィカルユーザインタフェース上にすでに表示されているウィンドウの周縁部付近におけるユーザ選択に応答して、インタフェース上に新規ウィンドウまたは類似のオンスクリーン要素をオープンするステップを含む。ユーザ選択は、ウィンドウの周縁部において開始し、ウィンドウの内側部分をスライドさせることができ、ウィンドウの一方のサイドをサイドに向かってスライドさせ、第1のウィンドウが明け渡した領域に新規ウィンドウを提供もしようというユーザの意
図を基本的に示す。本文書では、ウィンドウという用語は、その周囲の要素から境界によって区切られ、境界内での選択が特定のアプリケーションに関するユーザアクションを表す、グラフィカルオンスクリーン要素を識別するために使用される。
【0067】
プロセスは、コンテンツがグラフィカルユーザインタフェースの第1のウィンドウ内に
表示される、ボックス314において開始する。コンテンツは、ウェブブラウザのウェブペ
ージ、ワープロアプリケーションの文書とすることができ、または別の類似の形式を取ることができる。場合によっては、コンテンツ内での迅速な移動を可能にするために、コンテンツの一方のサイドに沿って、またはコンテンツの上辺もしくは底辺に沿って、馴染み深い方法で、スクロールバーを表示することができるボックス316において、プロセスは
、スクロールバーが表示されている領域内など、第1のウィンドウのエッジにおいて選択
を識別する。選択は、スクロールバー内のスクロールボタンが表示されている領域など、スクロールバーの特定の領域で行うことができる。ボックス318において、プロセスは、
第1のウィンドウの本体に向かってのドラッグを識別する。特に、プロセスは、ユーザが
、グラフィカルディスプレイ自体の周縁部沿いなど、ウィンドウの周縁部沿いにおいて最
初に選択を行い、左から右または右から左への水平ドラッグなどによって、文書の本文に向かって内側にドラッグを行ったことを決定することができる。
【0068】
そのようなドラッグの識別に応答して、プロセスは、ボックス320において、第1のユーザウィンドウに隣接して第2のユーザウィンドウを生成することができる。第2のウィンドウのそのような生成は、ディスプレイ上に第2のウィンドウのための余地を空けるために
、プロセスが第1のウィンドウを縮小した後に行うことができる。第2のウィンドウのそのような生成は、ユーザが手始めに内側にスライドを行って、ウィンドウが動いている間に表示されるウィンドウの概略のイメージを見ることができ、ウィンドウが動くにつれての2つのウィンドウの将来のサイズを見ることができるように、ユーザがポインタボタンを
解放するまで待つこともできる。
【0069】
第1のウィンドウの縮小、および第2のウィンドウの位置付けは、様々な位置で行うことができ、1つのそのような位置は、ウィンドウの周縁部においてドラッグモーションを開
始した後、ユーザが選択ボタンを解放した地点とすることができる。例えば、第1のウィ
ンドウがディスプレイ全体を満たしており、ユーザがウィンドウの右側スクロールバーから左向きにディスプレイを半分進むドラッグを行った場合、ボックス322に示されるよう
に、第1のウィンドウは、そのような操作の後、ディスプレイの左半分を満たすことがで
き、新規ウィンドウは、ディスプレイの右半分を満たすことができる。
【0070】
新規ウィンドウに示される情報は、様々な形態を取ることができる。例えば、第2のウ
ィンドウ内には、最初、空白のワープロ文書、あるいはユーザが先に訪問したことのある多くのウェブサイト、またはユーザが1つもしくは複数の検索問い合わせを入力すること
ができる検索ボックスを示す、ウェブブラウザ用の汎用的な第1画面などの、空白文書を
表示することができる。代替的に、新規ウィンドウは、ウェブページリンクのリンク先など、第1のウィンドウに表示されているものに関連する情報を表示することができる。そ
のような方法では、ユーザは、第1のページのリンク上でクリックを行い、ページの周縁
部まで、またはウィンドウの外側の領域までドラッグを行って、リンクのリンク先を自動的に表示する新規ウィンドウをオープンするように命令することができる。代替として、ユーザモーションは、(タブ方式のブラウザ内のタブとすることができる)新規ウィンドウ内にリンクのリンク先をオープンするために、ウィンドウの周縁部において開始し、ページ上のリンクまでドラッグを行うことができる。
【0071】
図8は、コンピューティングデバイスの動きに応答して自動的にナビゲーションアプリ
ケーションを起動するためのプロセスのフローチャートである。一般に、プロセスは、デバイスの速度の変化に自動的に応答して、コンピューティングデバイス、一般にはモバイルコンピューティングデバイス上の表示を変化させるステップを含む。
【0072】
プロセスは、技法の中でもとりわけ、GPS機能、またはセルフォン塔もしくはWiFiホッ
トスポット間の三角測量などによる他の機能を使用するデバイスの動きをプロセスが監視する、ボックス324において開始する。監視は、デバイスオペレーティングシステムの一
部である、デバイス上のイベントハンドラにおいて行うことができ、イベントハンドラには、様々なアプリケーションまたは他のプロセスが、デバイスのGPSモジュールによって
情報が生成された場合に通知をもらいたい意図を登録することができる。
【0073】
ボックス326において、プロセスは、所定のレベルにある動きまたは所定のレベルを上
回る動きを識別する。そのような判定は、速度があるレベルを上回る場合にだけ、通知がアプリケーションに提供されるように、イベントハンドラ自体によって行うことができる。代替として、
図8で説明するプロセスに従うアプリケーションは、デバイスによって生
成されたすべてのGPSデータを受け取ることができ、デバイスの速度が所定のレベルを超
えたことを自ら判定することができる。
【0074】
ボックス328において、プロセスは、デバイスの速度がある速度を超えた場合に通知を
もらいたい意図を表明していたアプリケーションとすることができる、利用可能なアプリケーションをチェックする。そのようなアプリケーションの1つは、デバイスの速度が、
ユーザが1つの場所から別の場所に歩行中、自転車で走行中、または自動車で走行中であ
ることを示すレベルなど、ある所定のレベルを超えた場合に、自動的に自らをインスタンス化し、デバイスの中心的表示となるようにプログラムすることができる、地図アプリケーションを含むことができる。ボックス330において、プロセスは、GPSユニットによって決定された速度に対応するモードで、地図アプリケーションまたは別のアプリケーションを起動する。例えば、第1のモードは、ユーザが歩行中など、低速の動きに関連すること
ができ、そのため、このモードは、歩行中のユーザに関連する情報を表示する。第2のモ
ードは、ユーザが自動車で走行中であることを示す速度に応答してトリガすることができ、デバイスが移動中の道路近くのガソリンスタンドおよびファストフードレストランの位置など、運転手に関連する情報を地図アプリケーションとともに表示することができる。
【0075】
このようにして、
図8に示される技法は、モバイルデバイスの中心的表示を、モバイル
デバイスを携えて移動中のユーザに関連するアプリケーションに自動的に変化させるために使用することができる。結果として、ユーザは、情報を明示的に求める必要なしに、情報を受け取ることができ、また場合によっては、ユーザの注意を歩行または運転から逸らす必要がない可能性もある。
【0076】
図9は、タッチパッドのユーザ操作に応答してグラフィカルディスプレイに要素を導入
するためのプロセスのフローチャートである。一般に、プロセスは、タッチ入力メカニズムの面の外からタッチ入力メカニズム上の領域に向かってのユーザモーションを識別するステップを含み、メカニズムが最初に接触または動きを感知したのがメカニズムのまさにエッジにおいてであるという事実によって、動きの開始はメカニズムの外であると推論される。
【0077】
プロセスは、デバイスが、画面上にアプリケーションを、画面のエッジにインジケータを表示する、ボックス332において開始する。この例では、画面のエッジにあるインジケ
ータは、通常は可視の要素がグラフィカルユーザインタフェースの表示のエッジの外に仕舞われていることを、デバイスのユーザに視覚的に識別させる。この例における要素には、その上に矢印が示され、要素を選択すると矢印の方向に何らかの動きが生じることを、ユーザに自然に示している。グラフィカル要素が、現在は、ある意味でグラフィカルディスプレイのエッジの外に配置されていることをユーザに示すために、他のメカニズムを使用することもできる。
【0078】
ボックス334において、プロセスは、デバイスのタッチパッド面の上の動きを受け取り
、ボックス336において、デバイスは、タッチパッド面のエッジにおいて動きの開始点を
識別する。デバイスは、動きがタッチパッドのエッジにおいて速度を有し、したがって、タッチパッドのエッジの外において開始したにちがいないことも識別する。デバイスは、そのような判定を使用して、動きが、接触が生じたと最初に識別されるタッチパッドのエッジの外で開始したこと、および入力が、それが開始したところからタッチパッドに向かって移動したことを識別することができる。その後、デバイスは、そのような動きを解釈して、グラフィカルユーザディスプレイの外からディスプレイ上に向かって、ユーザがタッチパッド上に向かって指をそこからスライドさせたタッチパッドのサイドに対応するディスプレイのサイドから、アイテムをスライドさせようとするユーザ意図を動きが含んでいるものとする。ディスプレイ上にもたらされるオフスクリーン要素が存在することをユーザに示す、ディスプレイ上のタブまたは他の要素の位置と、タッチパッド上の接触点が
一致しない場合でも、そのような判定を下すことができる。
【0079】
ボックス338において、プロセスは、ユーザの入力がタッチパッドに入ったタッチパッ
ドのエッジに対応する画面のエッジから、バックグラウンド上および/またはディスプレ
イに表示中の他のアプリケーション上に、アニメーション的にパネルをスライドさせる。アニメーションは、要素が単純にスライドして次第に見えてくるものとすることができ、またはより複雑な動きとすることができる。また、次第に見えてくるアニメーションで表現される可視的要素は、リボン、パネル、またはツールバーなど、様々な形態を取ることができる。ユーザは、タッチパッド上の位置からタッチパッドのエッジの外に向かってスワイプすることによって、要素を再び隠すことができる。
【0080】
このプロセスによって、デバイスは、ある要素を実際のディスプレイの外に容易に移動させ、その後、ディスプレイ上に戻すことができるようにディスプレイを拡張するための、便利なメカニズムを提供することができる。ユーザは、ポインタまたは他のアイテムを慎重に位置付ける必要なしに、追加のコンテンツを素早く取り出すことができ、代わりに、タッチパッドまたは類似の入力メカニズムの周囲の汎用領域において素早くスワイプすることができる。
【0081】
図10は、本明細書で説明する技法とともに使用できる、汎用コンピューティングデバイス1000および汎用モバイルコンピューティングデバイス1050の一例を示している。コンピューティングデバイス1000は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを代表することを意図している。コンピューティングデバイス1050は、携帯情報端末、セルラ電話、スマートフォン、および他の類似のコンピューティングデバイスなど、様々な形態のモバイルデバイスを代表することを意図している。
図10に示される構成要素、それらの接続および関係、ならびにそれらの機能は、もっぱら例示的であることを意図しており、本文書において説明および/または特許請求
する本発明の実施を限定することは意図していない。
【0082】
コンピューティングデバイス1000は、プロセッサ1002と、メモリ1004と、ストレージデバイス1006と、メモリ1004および高速拡張ポート1010に接続する高速インタフェース1008と、低速バス1014およびストレージデバイス1006に接続する低速インタフェース1012とを含む。構成要素1002、1004、1006、1008、1010、1012の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、またはそれが適していれば他の方法で取り付けることができる。プロセッサ1002は、コンピューティングデバイス1000内において、メモリ1004またはストレージデバイス1006に記憶された命令を含む実行用の命令を処理して、GUIのためのグラフィカル情報を、高速インタフェース1008に結合されたディスプレイ1016
などの外部入出力デバイスに表示することができる。他の実施では、それが適していれば、複数のメモリおよびメモリのタイプとともに、複数のプロセッサおよび/または複数の
バスを使用することができる。また、(例えば、サーババンク、ブレードサーバのグルー
プ、またはマルチプロセッサシステムとして)複数のコンピューティングデバイス1000を
接続することができ、各デバイスは、必要な動作の部分を提供する。
【0083】
メモリ1004は、コンピューティングデバイス1000内に情報を記憶する。一実施では、メモリ1004は、1つまたは複数の揮発性メモリユニットである。別の実施では、メモリ1004
は、1つまたは複数の不揮発性メモリユニットである。メモリ1004は、磁気ディスクまた
は光ディスクなど、別の形態のコンピュータ可読媒体とすることもできる。
【0084】
ストレージデバイス1006は、大容量記憶をコンピューティングデバイス1000に提供することが可能である。一実施では、ストレージデバイス1006は、フロッピディスクデバイス
、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ可読媒体とすること、またはそのようなコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報キャリア内に有形に実施することができる。コンピュータプログラム製品も、実行されたときに、上で説明した方法など、1つまたは複数の方
法を実行する命令を含むことができる。情報キャリアは、メモリ1004、ストレージデバイス1006、プロセッサ1002上のメモリ、または伝搬信号などの、コンピュータまたは機械可読媒体である。
【0085】
高速インタフェース1008は、コンピューティングデバイス1000の、多くの帯域幅を必要とする動作を管理し、低速インタフェース1012は、あまり多くの帯域幅を必要としない動作を管理する。機能のそのような割り振りは、例示的なものにすぎない。一実施では、高速インタフェース1008は、メモリ1004、(例えばグラフィックスプロセッサまたはアクセ
ラレータを介して)ディスプレイ1016に、また様々な拡張カード(図示されず)を受け入れ
ることができる高速拡張ポート1010に結合される。この実施では、低速インタフェース1012は、ストレージデバイス1006および低速拡張ポート1014に結合される。様々な通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネッ
ト(登録商標))を含むことができる低速拡張ポートは、キーボード、ポインティングデ
バイス、スキャナなどの1つもしくは複数の入出力デバイスに、または例えばネットワー
クアダプタを介する、スイッチもしくはルータなどのネットワーキングデバイスに結合することができる。
【0086】
コンピューティングデバイス1000は、図に示されるような、多くの異なる形態で実施することができる。例えば、コンピューティングデバイス1000は、標準的なサーバ1020として、またはしばしばそのようなサーバのグループによって実施することができる。コンピューティングデバイス1000は、ラックサーバシステム1024の部分としても実施することができる。加えて、コンピューティングデバイス1000は、ラップトップコンピュータ1022などのパーソナルコンピュータによって実施することもできる。代替として、コンピューティングデバイス1000の構成要素は、デバイス1050などのモバイルデバイス(図示されず)内の他の構成要素と組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス1000、1050の1つまたは複数を含むことができ、システム全体は、互い
に通信する複数のコンピューティングデバイス1000、1050から構成することができる。
【0087】
コンピューティングデバイス1050は、構成要素の中でもとりわけ、プロセッサ1052と、メモリ1064と、ディスプレイ1054などの入出力デバイスと、通信インタフェース1066と、送受信機1068とを含む。デバイス1050は、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスも備えることができる。構成要素1050、1052、1064、1054、1066、1068の各々は、様々なバスを使用して相互接続され、構成要素のいくつかは、共通のマザーボード上に、またはそれが適していれば他の方法で取り付けることができる。
【0088】
プロセッサ1052は、コンピューティングデバイス1050内において、メモリ1064に記憶された命令を含む命令を実行することができる。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップからなるチップセットとして実施することができる。プロセッサは、例えば、ユーザインタフェースの制御、デバイス1050によって実行されるアプリケーション、およびデバイス1050による無線通信など、デバイス1050の他の構成要素の調整を提供することができる。
【0089】
プロセッサ1052は、制御インタフェース1058、およびディスプレイ1054に結合されたデ
ィスプレイインタフェース1056を介して、ユーザと情報交換することができる。ディスプレイ1054は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術とすることができる。
ディスプレイインタフェース1056は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ1054を駆動するための適切な回路を備えることができる。制御インタフェース1058は、ユーザからコマンドを受け取り、それらを変換して、プロセッサ1052に提出することができる。加えて、デバイス1050と他のデバイスとの近距離通信を可能にするために、プロセッサ1052と通信する外部インタフェース1062を提供することができる。外部インタフェース1062は、例えば、何らかの実施による有線通信、または他の実施による無線通信を提供することができ、複数のインタフェースを使用することもできる。
【0090】
メモリ1064は、コンピューティングデバイス1050内に情報を記憶する。メモリ1064は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実施することができる。拡張メモリ1074も提供することができ、拡張メモリ1074は、例えばSIMM(シ
ングルインラインメモリモジュール)カードインタフェースを含むことができる、拡張イ
ンタフェース1072を介して、デバイス1050に接続することができる。そのような拡張メモリ1074は、追加的な記憶空間をデバイス1050に提供することができ、またはデバイス1050のためのアプリケーションまたは他の情報を記憶することもできる。特に、拡張メモリ1074は、上で説明した処理を実施または補足するための命令を含むことができ、安全な情報を含むこともできる。したがって、例えば、拡張メモリ1074は、デバイス1050のためのセキュリティモジュールとして提供することができ、デバイス1050の安全な使用を可能にする命令を用いてプログラムすることができる。加えて、SIMMカードを介して、ハッキング不可能な方法でSIMMカードに格納された識別情報など、追加の情報とともに、安全なアプリケーションを提供することができる。
【0091】
メモリは、以下で説明するように、例えば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実施では、コンピュータプログラム製品は、情報キャリア内に有形に実施される。コンピュータプログラム製品は、実行されたときに、上で説明した方法など、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ1064、拡
張メモリ1074、プロセッサ1052上のメモリ、または例えば送受信機1068もしくは外部インタフェース1062を介して受信できる伝搬信号などの、コンピュータまたは機械可読媒体である。
【0092】
デバイス1050は、必要に応じてデジタル信号処理回路を含むことができる通信インタフェース1066を介して、無線で通信することができる。通信インタフェース1066は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコルの下で、通信を提供することができる。そのような通信は、例えば、無線周波数送受信機1068を介して行うことができる。加えて、Bluetooth(登録商標)、WiFi、または他のそのよ
うな送受信機(図示されず)を使用するなどして、短距離通信を行うこともできる。加えて、GPS(全地球測位システム)受信機モジュール1070は、必要に応じてデバイス1050におい
て動作するアプリケーションによって使用できる、追加のナビゲーションおよび位置関連無線データを、デバイス1050に提供することができる。
【0093】
デバイス1050は、ユーザから発話情報を受け取り、それを使用可能なデジタル情報に変換できる、オーディオコーデック1060を使用して、可聴的に通信することもできる。オーディオコーデック1060は、同様に、例えばデバイス1050のハンドセット内のスピーカを介するなどして、ユーザ向けの可聴音を生成することもできる。そのような音は、音声電話通話からの音を含むことができ、(例えば、音声メッセージ、音楽ファイルなど)録音され
た音を含むことができ、デバイス1050において動作するアプリケーションによって生成された音を含むこともできる。
【0094】
コンピューティングデバイス1050は、図に示されるような、多くの異なる形態で実施することができる。例えば、コンピューティングデバイス1050は、セルラ電話1080として実施することができる。コンピューティングデバイス1050は、スマートフォン1082、携帯情報端末、または他の類似のモバイルデバイスの部分としても実施することができる。
【0095】
本明細書で説明したシステムおよび技法の様々な実施は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。こ
れら様々な実施は、専用または汎用とすることができる、少なくとも1つのプログラム可
能なプロセッサを含むプログラム可能なシステムにおいて実行可能および/または解釈可
能な、1つまたは複数のコンピュータプログラムによる実施を含むことができ、プログラ
ム可能なシステムは、ストレージシステム、少なくとも1つの入力デバイス、および少な
くとも1つの出力デバイスからデータおよび命令を受け取り、それらにデータおよび命令
を送るように結合される。
【0096】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても
知られる)これらのコンピュータプログラムは、プログラム可能なプロセッサのための機
械命令を含み、高水準手続型および/もしくはオブジェクト指向プログラミング言語、な
らびに/またはアセンブリ/機械語で実施することができる。本明細書で使用される場合、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令および/またはデ
ータをプログラム可能なプロセッサに提供するために使用される、任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指し、機械命令を機械可読信号として受け取る機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータを
プログラム可能なプロセッサに提供するために使用される、任意の信号を指す。
【0097】
ユーザとの対話を可能にするため、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するための表示デバイス(例えば、CRT(ブラウン管)またはLCD(液晶表示)モ
ニタ)と、ユーザがそれを用いて入力をコンピュータに提供できるキーボードおよびポイ
ンティングデバイス(例えば、マウスまたはトラックボール)とを有する、コンピュータにおいて実施することができる。他の種類のデバイスも、ユーザとの対話を可能にするために同様に使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触
覚フィードバック)とすることができ、ユーザからの入力は、音響、発話、または接触入
力を含む任意の形態で受け取ることができる。
【0098】
本明細書で説明するシステムおよび技法は、バックエンド構成要素(例えば、データサ
ーバとしての)を含む、またはミドルウェア構成要素(例えば、アプリケーションサーバ)
を含む、またはフロントエンド構成要素(例えば、ユーザがそれを介して本明細書で説明
するシステムおよび技法の実施と対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ)を含む、あるいはそのようなバック
エンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせを含む、コンピューティングシステムで実施することができる。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリ
アネットワーク(「WAN」)、およびインターネットを含む。
【0099】
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般に互いに遠く離れており、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータにおいて動作し、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって確立される。
【0100】
多くの実施形態を説明した。それにも係わらず、本発明の主旨および範囲から逸脱することなく、様々な変更を施し得ることが理解されよう。例えば、本文書の大部分は、テレビ広告との関連において説明されたが、ラジオ広告およびオンラインビデオ広告など、他の形態の将来的な視聴者ベースの広告についても対処することができる。加えて、図に示された論理フローは、所望の結果を達成するのに、示された通りの順序または順次的な順序である必要はない。加えて、他のステップを提供することができ、または説明したフローからステップを取り除くことができ、説明したシステムに他の構成要素を追加すること、または説明したシステムから構成要素を取り去ることができる。したがって、以下の特許請求の範囲内には、他の実施形態も存在する。
【符号の説明】
【0101】
508 ディスプレイマネージャ
510 イベントマネージャ
512 入力マネージャ
514 GPSモジュール
516 スペリング訂正器
518 地図アプリケーション
520 ブラウザアプリケーション
522 バイブレータ
524 サウンドコントローラ
526 無線インタフェース
528 アプリケーションデータ
530 辞書
532 ユーザ情報