(57)【要約】  コンピュータ実装のユーザインタフェース方法が開示される。本方法は、コンピュータデバイスのタッチスクリーン上にアイテムのリストの第1の副部分を表示するステップと、そのタッチスクリーン上に描かれた入力をそのデバイスのユーザから受信するステップと、その描かれた入力を英数字と相関させるステップと、その第1の文字が前記英数字に相関する1つまたは複数のエントリをもつ前記リストの第2の副部分を自動的に表示するステップとを含む。
2012523633.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装のユーザインタフェース方法であって、
アイテムのリストの第1の副部分をコンピュータデバイスのタッチスクリーン上に表示するステップと、
前記デバイスのユーザから前記タッチスクリーン上に描かれた入力を受信するステップと、
前記描かれた入力を英数字と相関させるステップと、
第1の文字が前記英数字と相関する1つまたは複数のエントリをもつ前記リストの第2の副部分を自動的に表示するステップと
を備える、方法。
【請求項２】
前記リストについてのスクローリング入力を英数字のエントリと区別するステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記スクローリング入力を英数字のエントリと区別するステップが、英数字の部分のエントリの枠どりを識別するステップを備える、請求項2に記載の方法。
【請求項４】
前記タッチスクリーン上に描かれた入力を受信するステップが、前記アイテムのリストの前記副部分の上に描かれた前記入力を受信するステップを備える、請求項1に記載の方法。
【請求項５】
前記アイテムのリストがアイテムのアルファベット順のリストを備え、前記リストの前記第2の副部分を表示するステップが、前記リストが表示される表示領域の上端に前記第1の文字で始まる第1のアルファベットのエントリを表示するステップを備える、請求項1に記載の方法。
【請求項６】
前記描かれた入力が英数字として認識されない場合に、ユーザに視覚的または可聴的故障標識を提供するステップをさらに備える、請求項1に記載の方法。
【請求項７】
前記故障標識が、前記描かれた入力が前に表示された色と対照を成す色で前記描かれた入力を表示するステップを備える、請求項6に記載の方法。
【請求項８】
前記描かれた入力が、タッチスクリーンとのポインタコンタクトに続く前記タッチスクリーンからのポインタリリースと、前記ポインタコンタクトおよび前記ポインタリリースの間に前記タッチスクリーン上にトレースされたポインタ経路とによって定義される、請求項1に記載の方法。
【請求項９】
前記アイテムのリストの前記第1の副部分を表示するステップの前に、前記タッチスクリーン上でのグリフのトレースをユーザから受信するステップと、前記受信されたグリフが前記アイテムのリストに対応すると判定するステップと、前記グリフの受信に応答して前記アイテムのリストの前記第1の副部分を表示するステップとをさらに備える、請求項1に記載の方法。
【請求項１０】
コンピュータデバイス上で動作するオペレーティングシステムまたはアプリケーションからのコンテンツを前記デバイスのタッチスクリーン上に表示するステップと、
前記オペレーティングシステムまたはアプリケーションからの前記コンテンツを介して前記タッチスクリーン上に描かれた入力を前記デバイスのユーザから受信するステップであって、前記描かれた入力が前記オペレーティングシステムまたはアプリケーションからの前記コンテンツと相関しないステップと、
前記描かれた入力に関連付けられたユーザ定義グリフを識別するステップと、
前記ユーザ定義グリフを識別するステップに応答して、前記ユーザ定義グリフに対応する1つまたは複数のユーザ定義のインタフェース要素を前記タッチスクリーン上に自動的に表示するステップと
を備える、コンピュータ実装のユーザインタフェース方法。
【請求項１１】
前記1つまたは複数のユーザ定義のインタフェース要素を表示するステップが、前記ユーザ定義グリフに関連付けられたアプリケーションを起動するステップを備える、請求項10に記載の方法。
【請求項１２】
前記ユーザ定義グリフに対応する複数の結果を識別するステップと、前記複数の結果のうちの1つを選択するように前記ユーザに要求するステップとを備え、前記選択結果が前記1つまたは複数のユーザ定義のインタフェース要素を生成する、請求項10に記載の方法。
【請求項１３】
1つまたは複数の機械にオペレーションを実行させるために動作可能なプログラムコードを保存するコンピュータ可読のデータ記憶媒体を備える品物であって、前記オペレーションが、
コンピュータデバイスのタッチスクリーン上にアイテムのリストの第1の副部分を表示するステップと、
前記デバイスのユーザから前記タッチスクリーン上に描かれた入力を受信するステップと、
前記描かれた入力を英数字と相関させるステップと、
その第1の文字が前記英数字と相関する1つまたは複数のエントリをもつ前記リストの第2の副部分を自動的に表示するステップと
を備える、品物。
【請求項１４】
前記リストのスクローリング入力を英数字のエントリと区別するステップをさらに備えるオペレーションを前記1つまたは複数の機械に実行させるためのプログラムコードをさらに備える、請求項13に記載の品物。
【請求項１５】
前記アイテムのリストがアイテムのアルファベット順のリストを備え、前記リストの前記第2の副部分を表示するステップが、前記リストが表示される表示領域の上端に前記第1の文字で始まる第1のアルファベットのエントリを表示するステップを備える、請求項13に記載の品物。
【請求項１６】
前記描かれた入力が、前記タッチスクリーンとのポインタコンタクトに続く前記タッチスクリーンからのポインタリリースと、前記ポインタコンタクトおよび前記ポインタリリースの間に前記タッチスクリーン上にトレースされたポインタ経路とによって定義される、請求項13に記載の品物。
【請求項１７】
前記アイテムのリストの前記第1の副部分を表示するステップの前に、前記タッチスクリーン上でのグリフのトレースを前記ユーザから受信するステップと、前記受信されたグリフが前記アイテムのリストに対応すると判定するステップと、前記グリフの受信に応答して前記アイテムのリストの前記第1の副部分を表示するステップとをさらに備える、オペレーションを前記1つまたは複数の機械に実行させるためのプログラムコードをさらに備える、請求項13に記載の品物。
【請求項１８】
英数字のタイトルによって指定されたオブジェクトを示すグラフィカルユーザインタフェースの部分を提示するためのグラフィカルディスプレイと、
前記グラフィカルディスプレイ上でユーザトレースを受信し、受信されたユーザトレースに対応するグリフを識別するためのグリフインタープリタと、
前記識別されたグリフに対応するものとして前に識別された新しいコンテンツを前記グラフィカルディスプレイ上に表示するようにプログラムされた、描かれたユーザ入力の制御装置と
を備える、コンピュータ実装のユーザインタフェースシステム。
【請求項１９】
前記英数字のタイトルによって指定されたオブジェクトがオブジェクトのソートされたリストの部分であり、新しいコンテンツが前記識別されたグリフに一致する文字で始まる前記リスト中の1つまたは複数のエントリを備える、請求項18に記載のシステム。
【請求項２０】
前記描かれたユーザ入力の制御装置が、スクローリング入力をユーザ描画入力と区別し、前記入力がユーザ描画入力であると判定された場合にのみ、グリフを識別するようにプログラムされた、請求項18に記載のシステム。
【請求項２１】
前記描かれたユーザ入力の制御装置が、ユーザから描かれたグリフを受信するように、また、前記描かれたグリフのその後のユーザエントリが前記ユーザによって識別されたオブジェクトを前記システムによってアドレスさせるように、前記描かれたグリフと前記ユーザによって識別された前記オブジェクトの間に相関性を形成させるようにさらにプログラムされた、請求項18に記載のシステム。
【請求項２２】
前記描かれたユーザ入力の制御装置が、前記グラフィカルディスプレイ上で、可視的入力領域をもたずに、アクティブなアプリケーションを介して受信される描かれた入力を識別するようにプログラムされた、請求項18に記載のシステム。
【請求項２３】
英数字のタイトルによって指定されたオブジェクトを示すグラフィカルユーザインタフェースの部分を提示するためのグラフィカルディスプレイと、
前記グラフィカルディスプレイ上でユーザトレースを受信し、受信されたユーザトレースに対応するグリフを識別するためのグリフインタープリタと、
前記グラフィカルディスプレイ上のグリフの受信に応答して前記オブジェクトのうちの1つを表示する手段であって、前記表示されるオブジェクトが前記識別されたグリフと相関する手段と
を備える、コンピュータ実装のユーザインタフェースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、参照により本明細書に組み込まれている、2009年4月10日に出願した、題名「GLYPH ENTRY ON COMPUTING DEVICE」の米国出願第12/422185号の優先権を主張するものである。
【０００２】
本明細書は、コンピュータデバイスのディスプレイ上でグリフまたは英字などの描かれる記号を入力するユーザと対話するためのシステムおよび技法に関する。
【背景技術】
【０００３】
人々は、電子デバイス-コンピュータ、電話、音楽プレーヤなど-と一度に何時間も過ごす。彼らは、直感的に使える、そしてその対話がいかに機械が作動すべきかに関する彼らの期待に最も合致する、デバイスを最も好む。人々はデバイスからの入力および出力を介して電子機器と対話し、その出力は一般に音声的におよび/またはフラットグラフィカルディスプレイ画面上に提供され、その入力はタッチスクリーン、ジョイスティック、マウス、4方向のキーパッド、および、他のかかる入力機構を介して生じうる。
【０００４】
モバイルデバイスがよりパワフルになるにつれて、ユーザは、アイテム、地図、画像などのグラフィカルオブジェクトをさらに使用してそれらと対話する。かかるオブジェクトによって表される情報は、表されるデータに関して膨大で、視覚的に非常に大きくなることがある(合衆国の詳細な地図は数マイルの広さになる)が、一方でモバイルデバイスのディスプレイは非常に小さい。結果として、ユーザに空間感覚を与え、ユーザがその空間全体にわたって直感的に動くことを可能にしながら、ユーザに十分詳細なグラフィカル情報を提供する(オブジェクトの1エリアにズームインすることによってなど)ことが、課題となりうる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Wobbrockら、「Gestures without Libraries, Toolkits or Training: $1 Recognizer for User Interface Prototypes」、UIST‘07、2007年10月7〜10日、Newport、Rhode Island、USA (ACM 978-1-59593-679-2/07/0010)
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書は、タッチスクリーンユーザインタフェースをもつ携帯電話などのコンピュータデバイスのユーザと対話するために使用可能なシステムおよび技法を説明する。概して、本技法は、グリフと関連付けられたコンピュータデバイスシステムに保存されたオブジェクトにユーザを動かすことによって、ディスプレイ上のグリフのユーザ入力に反応することができる。グリフは、一般に指を持ち上げることなしにトレースされた単一の動作で、タッチスクリーン上でユーザが彼らの指をドラッグすることなどによって入力することができる、視覚的書込み要素である。グリフは、英数字、および、他の記号を含みうる。
【０００７】
たとえば、プレイリスト中の歌のリストなどのアイテムの長いリストを見ているユーザが、ディスプレイ上にアルファベットの文字を描いて、リストをその文字で始まるエントリまで自動的にスクロールさせることができる。同様の方式で、地図の一部にズームインされたユーザは、彼らのデバイスの画面上に文字をトレースして、その文字で始まる最も近いランドマークにパンすることができる。または、通りの仮想ビューを見ているユーザが、画面上に文字「E」をトレースして彼らのアバタの顔を東に向かせることができる。
【０００８】
ユーザはまた、コンピュータシステム上の特定のオブジェクトに1つまたは複数のカスタムグリフを割り当てることも許されうる。たとえば、ユーザは、友人についてのコンタクトエントリを開くことができ、グリフを提出するための制御を選択することができる。ユーザは次に、彼または彼女が好きな任意のグリフ(友人のニックネームの第1の文字、または単純な形状など)をトレースして、そのグリフを友人のコンタクト記録に割り当てさせることができる。そのユーザが後でそのデバイスを使用しながらそのグリフを入力する場合、そのユーザはコンタクト記録に真っ直ぐに連れてこられうる。ユーザがかかるオブジェクトに到達するための複数の道をもつことができるように、複数のグリフが同一のオブジェクトに割り当てられうる。
【０００９】
単一のグリフが複数のオブジェクトに割り当てられうる。かかる状況では、ユーザによるグリフのエントリ時に、ポップアップ制御が複数のオブジェクトをリストにすることができ、ユーザはそれらのうちの1つを選択することができる。別法として、適切なオブジェクトが、グリフが入力された文脈に基づいてシステムによって自動的に選択可能である。たとえば、アドレス帳アプリケーションがアクティブであるときにグリフが入力された場合、そのデバイスはそのグリフに対応する音楽プレイリストではなくてそのグリフに対応するコンタクトエントリにジャンプすることになる。文脈が複数のオブジェクトを参照しうる場合(グリフがデスクトップ上に入力された場合など)、そのオブジェクトは、選択される可能性が最も高いオブジェクトにしたがって優先順位を付けられうる(それがそのデバイスのユーザによって頻繁にアクセスされるため、またはそれが別のタイプのオブジェクトよりも概してアクセスされるタイプのオブジェクトであるためなど)。
【００１０】
ある種の実装では、かかるシステムおよび技法は1つまたは複数の利点を提供することができる。たとえば、コンピュータデバイスのユーザは、彼らがタッチスクリーン上に描いたリスト中の1文字にジャンプすることによって速くリストをナビゲートすることができる。同様に、ユーザは、画面上にそのオブジェクトのための文字を入力することによって、およびそのオブジェクトが位置付けられているグラフィカル描写を介して、単一の画面上に適合しない2または3次元空間でオブジェクトまでナビゲートすることができる。さらに、ユーザは、彼ら自身のニーズに応じて彼らのコンピュータデバイスをカスタマイズすることができ、ディスプレイ上にカスタムグリフを描くことによって、現在あるのとは完全に異なるタイプのアプリケーションでオブジェクトにジャンプすることができる。これらの方法で、ユーザ体験は改善可能であり、ユーザはデバイスの彼らの使用においてより効率的になりうる。
【００１１】
一実装では、コンピュータ実装のユーザインタフェース方法が開示される。本方法は、アイテムのリストの第1の副部分をコンピュータデバイスのタッチスクリーン上に表示するステップと、そのタッチスクリーン上に描かれた入力をデバイスのユーザから受信するステップと、その描かれた入力を英数字と相関させるステップと、その第1の文字がその英数字に相関する1つまたは複数のエントリをもつリストの第2の副部分を自動的に表示するステップとを備える。本方法はまた、リストについてのスクローリング入力を英数字のエントリと区別するステップも備えうる。スクローリング入力を英数字のエントリと区別するステップは、英数字の一部分のエントリの枠どりを識別するステップを備える。また、タッチスクリーン上で描かれた入力を受信するステップは、アイテムのリストの副部分の最上部に描かれた入力を受信するステップを備えうる。
【００１２】
ある種の態様では、アイテムのリストはアイテムのアルファベット順のリストを備え、リストの第2の副部分を表示するステップは、そのリストが表示される表示領域の上端に第1の文字で始まる第1のアルファベットのエントリを表示するステップを備える。また、本方法は、描かれた入力が英数字として認識されない場合に、視覚的または可聴式の故障標識をユーザに提供するステップを含みうる。その故障標識は、描かれた入力が前に表示された色とは対照を成す色でその描かれた入力を表示するステップを備える。加えて、描かれた入力は、タッチスクリーンとのポインタコンタクトに続くタッチスクリーンからのポインタリリースと、ポインタコンタクトとポインタリリースの間のタッチスクリーン上にトレースされたポインタ経路とによって定義可能である。本方法はまた、アイテムのリストの第1の副部分を表示する前に、タッチスクリーン上でグリフのトレースをユーザから受信するステップと、受信されたグリフがアイテムのリストに対応すると判定するステップと、グリフの受信に応答してアイテムのリストの第1の副部分を表示するステップとを含む。
【００１３】
もう1つの実装では、コンピュータデバイス上で動作するオペレーティングシステムまたはアプリケーションからのコンテンツをそのデバイスのタッチスクリーン上に表示するステップと、オペレーティングシステムまたはアプリケーションからのコンテンツを介して描かれた入力をタッチスクリーン上にデバイスのユーザから受信するステップであって、その描かれた入力がそのオペレーティングシステムまたはアプリケーションからのコンテンツと相関しないステップと、その描かれた入力と関連付けられたユーザ定義グリフを識別するステップと、ユーザ定義グリフの識別に応答してそのユーザ定義グリフに対応する1つまたは複数のユーザ定義のインタフェース要素をタッチスクリーン上に自動的に表示するステップとを備える、コンピュータ実装のユーザインタフェース方法が開示される。1つまたは複数のユーザ定義インタフェース要素を表示するステップは、そのユーザ定義グリフに関連付けられたアプリケーションを起動するステップを備える。本方法はまた、ユーザ定義グリフに対応する複数の結果を識別するステップと、選択された結果が1つまたは複数のユーザ定義のインタフェース要素を生成する、その複数の結果のうちの1つを選択するようにユーザに要求するステップとを含む。
【００１４】
さらに別の実装では、1つまたは複数の機械にオペレーションを実行させるために動作可能なプログラムコードを保存するコンピュータ可読のデータ記憶媒体を備える、品物が開示される。そのオペレーションは、アイテムのリストの第1の副部分をコンピュータデバイスのタッチスクリーン上に表示するステップと、タッチスクリーン上に描かれた入力をデバイスのユーザから受信するステップと、描かれた入力を英数字と相関させるステップと、その第1の文字が英数字と相関する1つまたは複数のエントリをもつリストの第2の副部分を自動的に表示するステップとを備える。そのオペレーションはさらに、リストについてのスクローリング入力を英数字のエントリと区別するステップを備える。また、アイテムのリストはアイテムのアルファベット順のリストを備えることができ、リストの第2の副部分を表示するステップは、そのリストが表示される表示領域の上端に第1の文字で始まる第1のアルファベットのエントリを表示するステップを備える。描かれた入力はまた、タッチスクリーンとのポインタコンタクトに続くタッチスクリーンからのポインタリリース、およびポインタコンタクトとポインタリリースの間のタッチスクリーン上にトレースされたポインタ経路によって定義可能である。
【００１５】
ある種の態様では、オペレーションは、アイテムのリストの第1の副部分を表示するステップの前に、タッチスクリーン上にグリフのトレースをユーザから受信するステップと、受信されたグリフがアイテムのリストに対応すると判定するステップと、グリフの受信に応答してアイテムのリストの第1の副部分を表示するステップとをさらに備える。
【００１６】
もう1つの実装では、英数字のタイトルによって指定されたオブジェクトを示すグラフィカルユーザインタフェースの部分を提示するためのグラフィカルディスプレイ、そのグラフィカルディスプレイ上でユーザトレースを受信し、受信されたユーザトレースに対応するグリフを識別するためのグリフインタープリタ、および、識別されたグリフに対応するとして前に識別された新しいコンテンツをグラフィカルディスプレイ上に表示するようにプログラムされた描かれたユーザ入力の制御装置を含む、コンピュータ実装のユーザインタフェースシステムが開示される。英数字のタイトルによって指定されたオブジェクトは、オブジェクトのソートされたリストの部分でもよく、新しいコンテンツは、識別されたグリフに一致する文字で始まるリスト内の1つまたは複数のエントリを備えうる。また、描かれたユーザ入力の制御装置は、ユーザ描画入力とスクローリング入力を区別し、その入力がユーザ描画入力であると判定された場合にのみグリフを識別するようにプログラム可能である。それはまた、その描かれたグリフの将来のユーザエントリがそのユーザによって指定されたそのオブジェクトをシステムによってアドレスさせるように、ユーザから描かれたグリフを受信して、その描かれたグリフとそのユーザによって識別されたオブジェクトの間に相関を形成させるようにプログラム可能である。それはさらに、グラフィカルディスプレイ上で、可視的入力領域なしで、アクティブなアプリケーションを介して受信される描かれた入力を識別するようにプログラム可能である。
【００１７】
もう1つの実装では、コンピュータ実装のユーザインタフェースシステムが、英数字のタイトルによって指定されたオブジェクトを示すグラフィカルユーザインタフェースの部分を提示するためのグラフィカルディスプレイと、グラフィカルディスプレイ上でユーザトレースを受信し、受信されたユーザトレースに対応するグリフを識別するためのグリフインタープリタと、表示されたオブジェクトが識別されたグリフと相関する、グラフィカルディスプレイでのグリフの受信に応答してオブジェクトのうちの1つを表示するための手段とを備える。
【００１８】
1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載される。他の特徴および利点が、その説明および図面と、特許請求の範囲とから明らかとなろう。
【図面の簡単な説明】
【００１９】
【図１】ユーザ入力された文字に対応するリスト中の位置にスクロールするモバイルタッチスクリーンデバイスの一連の画面ショットを示す。
【図２】カスタムグリフでプログラムされているモバイルタッチスクリーンデバイスの一連の画面ショットを示す。
【図３】オブジェクトに対応する複数のグリフを示すモバイルタッチスクリーンデバイスの一連の画面ショットを示す。
【図４】タッチスクリーン入力に応答してユーザ対話を提供するシステムの概略図である。
【図５Ａ】コンピュータデバイスのユーザによるグリフエントリを処理するための例示的なプロセスの流れ図である。
【図５Ｂ】コンピュータデバイスのユーザによるグリフエントリを処理するための例示的なプロセスの流れ図である。
【図５Ｃ】コンピュータデバイスのユーザによるグリフエントリを処理するための例示的なプロセスの流れ図である。
【図５Ｄ】コンピュータデバイスのユーザによるグリフエントリを処理するための例示的なプロセスの流れ図である。
【図６Ａ】グリフをある種の計算オブジェクトと関連付けるための例示的なプロセスの流れ図である。
【図６Ｂ】グリフをある種の計算オブジェクトと関連付けるための例示的なプロセスの流れ図である。
【図７】本明細書に記載の技法を実装するために使用可能なコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す。
【発明を実施するための形態】
【００２０】
さまざまな図面における同様の参照記号は、同様の要素を示す。
【００２１】
本明細書は、それによってモバイルデバイスがかかるデバイスのユーザと対話することができる、システムおよび技法を説明する。かかる対話は、多くの場合にローマ/ラテンアルファベット文字の形態でもよい、単純な文字またはグリフのユーザエントリに応答するモバイルデバイスによって生じうる。たとえば、ディスプレイがユーザによって入力された文字で始まるリスト中の第1のエントリにジャンプするように、ユーザは、表示されたプレイリストを介してディスプレイ画面上に文字をトレースすることによって、音楽プレイリストなどのアルファベット順にソートされたリスト中のある位置にジャンプすることができる。
【００２２】
ユーザはさらに、オペレーティングシステム内のまたはオペレーティングシステム内で走るアプリケーション内のさまざまな異なるオブジェクトに彼または彼女自身のグリフを割り当てることが許されうる。たとえば、ユーザは、コンタクト、歌、別のタイプの媒体ファイル、または他の同様のオブジェクトなどのオブジェクトにナビゲートすることができる。ユーザは、オブジェクトに関連付けられた制御を選択して、そのオブジェクトにグリフを割り当てる意図を指示することができ、次に、コンピュータデバイスのディスプレイ上にグリフを描くよう指示されうる。ユーザが描いたグリフが割り当てられることを彼らが望むことを確認することができる(または彼らがグリフを描き直すことを選ぶことができる)ように、グリフは、ユーザが描いているときに、現れることができる。そのユーザが後からそのデバイスを使用するとき、彼らは、そのオブジェクトにジャンプするために、彼らが作成したそのグリフを描くことができる。ある種の状況では、グリフは、デバイス上の任意の位置に描くことができ、そのオブジェクトに決定可能であり、他の状況では、グリフは、デバイスがある種の文脈にある場合にのみ、決定可能である(たとえば、特定のアプリケーション内のある位置についてのグリフは、そのアプリケーションがアクティブな間にのみ使用可能になりうるなど)。
【００２３】
図1は、ユーザ入力された文字に対応するリスト内の位置にスクロールするモバイルタッチスクリーンデバイスの一連の画面ショットを示す。概して、その画面ショットは、モバイルスマートフォンの形態のモバイルコンピュータデバイスのディスプレイ、およびそのデバイスのタッチスクリーン上にさまざまなアルファベットのグリフを入力するユーザのものである。6つの画面ショットのそれぞれは、ユーザ入力のシーケンス中の異なるディスプレイを示す。
【００２４】
文字(a)によって指定されたディスプレイは、彼のデバイス上のコンタクトリストを見るユーザを示す。コンタクトリストはアルファベット順にソートされ、アクションの初めに、文字「C」で始まる名前で止められている。図に示すように、ユーザは、画面上に下底の「b」をトレースするプロセス中にあり、ユーザがトレースするときにその文字がディスプレイ上に再現されている。文字(b)によって指定されたディスプレイでは、ユーザは文字のトレースを終了していて、名前のリストが、リストの最上部に第1のアルファベットがBの名前をもち、ユーザによってトレースされた文字に対応する、文字「B」で始まる名前に自動的にジャンプしたのを見ることができる。したがって、デバイスは、ユーザのトレースされたそのグリフがアルファベットの「b」の表現と一致したことを認識し、そのディスプレイをリスト中のその位置までジャンプさせた。
【００２５】
文字(c)によって指定されたディスプレイでは、ユーザは、文字「C」で始まるエントリを見たいと決定し、したがって、デバイスの画面上にその文字をトレースし始めている。図に示すように、ディスプレイは、ユーザがそれを入力するときに彼らのエントリを繰り返し、文字(d)によって指定されたディスプレイで、ユーザがタッチスクリーンの表面から彼の指を上げるときに、文字「C」が完成されている。その時点で、デバイスは、そのユーザのエントリが完成したと判定し、その大部分が円状であるが開いているエントリを文字「C」として解釈し、直ちに且つ自動的にそのリストを文字「C」で始まるエントリまでスクロールする。
【００２６】
ユーザは、文字(e)および(f)で印を付けられたディスプレイで、それぞれ英字「d」および「e」を入力して、彼のエントリを続ける。各エントリで、リストは、ユーザが入力した文字で始まるエントリまでスクロールする。
【００２７】
図のように、ユーザエントリは、表示領域を介して正しく生じ、そのリストを表示するアプリケーションは、表示される構成要素を提供する。そのようなものとして、グリフのエントリは、同一領域内で生じうる他のデータエントリと区別される必要がありうる。そのようなものとして、デバイスは、グリフ自体の認識を進める前に、グリフを入力しようとするユーザの意図を認識する必要がありうる。
【００２８】
特定のユーザトレースによって意図されるグリフを認識および識別する方式は、Wobbrockら、「Gestures without Libraries, Toolkits or Training: $1 Recognizer for User Interface Prototypes」、UIST‘07、2007年10月7-10日、Newport、Rhode Island、USA (ACM 978-1-59593-679-2/07/0010)に記載された$1レコグナイザ、ならびに他の認識装置および分類装置を含むさまざまな異なる機構を使用して実装されうる。入力されたグリフを認識するための特定の機構は、認識装置が適正な精度を提供する限り、本明細書においてグリフが使用される方式に決定的な意味をもたない。
【００２９】
長いリスト上の文字のエントリは、リストをスクロールさせることを意図したユーザエントリと区別される必要がありうる。かかる区別は、さまざまな方式で行われうる。たとえば、枠どりが任意の最初の垂直入力(リストが垂直にスクロールする)または最初の垂直入力の一部の周りに構築可能であり、枠どりの縦横比はユーザの意図を暗示するために使用可能である-より広い枠どりはスクロールするのではなくてグリフを入力しようとする意図を示す。枠どりは、そのエントリが生じた画面の辺と直行してもよいが、直交しなくてもよい。本技法は動作の最小限の枠どりを使用するので、それは実際にスクローリングをグリフを描くことと分けることができる。たとえば、スクローリング動作は完全に垂直でなくてもよく-多くは実際に斜めまたはわずかに斜めである。あるいは、ユーザは、指を持ち上げずにリストを上下にスクロールすることができ、それはジグザグの動作をもたらす。これらすべてはやはり「狭い」枠どり、即ちこの文脈における低い縦横比をもたらすことになる。
【００３０】
枠どりはまた、最初のストロークが所定の最小長を超える場合にのみ、チェックされることもでき、非常に短いユーザの動きは、それらがタッチスクリーンによってユーザに提示される描画面に比べて小さすぎるため、文字を入力しようとする意図を示すことにならないとみなされる。
【００３１】
また、最初のドラッギング動作の速度が考慮可能であり、速いフリッカはスクロールしようとする意図を指示し、より遅いエントリはグリフを入力しようとするより周到な意図を示すことになる。他の速度データまたは速度データの組合せもまた使用されうる。たとえば、非常に遅い垂直の動作は、リスト内でごく僅かにスクロールしようとする意図を示すことができ、非常に高速の動きはリストをフリッカさせようとする意図を示すことができ、中間範囲の速度はグリフを入力しようとする意図を示しうる。また、システムが垂直要素をもつグリフをもたないプログラムである場合、任意の垂直入力は直ちにスクロールしようとする意図を指示するものと見なされうる。スクローリングはまた、入力がグリフエントリまたはスクローリングエントリを意図したものであるかどうかの最初の判定が行われる間、抑制可能であり、あるいは、グリフのエントリ中に始まるまたは継続することができ、そのときデバイスは、スクローリングの一部として、グリフがユーザによって完成された後は、入力されたグリフに対応する文字によって表されるリストの部分までジャンプすることができる。
【００３２】
また、入力された文字は、それが入力されている間に、またはそのエントリが完了した後にのみ、認識可能である。後者の認識はタッチスクリーン上での「ポインタアップ」事象によってトリガ可能であり、前者は、グリフが入力されているときに認識装置にトレース情報を継続的に提供するステップ、および、1つを除いてすべての解が除外されるまで1組の起こりうる解と入力データを比較するステップを含みうる。その時点で、たとえユーザが彼のまたは彼女のエントリをまだ完成していなくても、認識は可能である。デバイスがそのエントリがグリフのであるかスクローリングのためであるかを判定する間、ユーザの指のトレースを辿る線の表示は最初は薄暗くされうるが、ユーザの意図がグリフを入力することであるという判定が行われた後には、より明るく、濃く、および/または異なる色にされうる。
【００３３】
ユーザ意図の判定はまた、開始垂直ストロークの角度およびストロークの速度などの他の判定とは別の、またはそれらと組み合わせた、ユーザによって適用される圧力のレベルを判定するステップも含みうる。たとえば、非常に軽い、高速のユーザエントリは、フリッカ、および速くスクロールしようとする意図を指示することができる。より高い圧力は、ユーザが文字または他のグリフをトレースしようとしていて、したがってスクロールするのではなくて入力を描こうと意図しているという、より意図的なエントリを示すことができる。
【００３４】
図2は、カスタムグリフでプログラムされているモバイルタッチスクリーンデバイスの一連の画面ショットを示す。概して、その画面ショットは、そこでユーザがそのユーザの友人である誰かについてのコンタクト記録の形態でユーザインタフェースアイテムに達するためのカスタムのユーザ定義グリフを入力する、モバイルデバイスディスプレイを示す。再び、それぞれの画面ショットは、前の画面ショットの後に年代順に生じる。
【００３５】
文字(a)で指定された、第1のディスプレイは、そのユーザのコンタクトのアルファベット順のリスト中のある友人の名前を長く押すユーザを示す。かかる選択は文字(b)で指定されたディスプレイ内に示される複数パートメニュをもたらし、ユーザは、コンタクトを見ること(たとえば、その友人の写真を1つまたは複数の電話番号および電子メールアドレスとともに見るなど)と、その友人をお気に入りのリスト(ユーザが彼らのデバイス上にもつことができ、デバイス上のすべてのオブジェクトのリストよりもさらに簡便にユーザに提示されうる、このタイプのオブジェクトのサブリストである)に追加することと、コンタクトを編集すること(コンタクト情報をユーザに示し、ユーザがそれを変更することを可能にすることによって)と、コンタクトを削除することと、コンタクトへのショートカットを編集することとのオプションを提示される。その画像では、ユーザは、友人のコンタクト記録のオブジェクトおよびアイテムのショートカットを編集するためのオプションをクリックまたは長くクリックしている。
【００３６】
ユーザによるそのオプションの選択は、文字(c)で指定されたディスプレイをもたらし、そこでは、そのエントリがその後はその友人についてのコンタクト記録と相関することになるグリフを描くまたはトレースするユーザへの命令とともに、部分的に透明な描画面がそのメニュを介して表示されてある。(指の線画において、描画図は完全に透明であるが、実際には、実装は、ユーザが文字を入力している間彼らがシステム内で場所の感覚を保持することを可能にするためにさまざまな視覚的効果を使用することができる。)そのディスプレイで、ユーザは、恐らくはその友人のファーストネームが文字「P」で始まるため、文字「P」-それによって後からその友人についての適切なグリフを想起する際のユーザのためのナチュラルメモリクラッチ-をトレースしている。
【００３７】
文字(d)で表されたディスプレイで、ユーザは、友人のコンタクト記録について再びメニュ「ショートカットを編集」を選択してあり、恐らくそのユーザは彼が行ったすべてにおいてその友人が勝っており、したがってスターであると理解しているため-標準の5箇所尖った星の形のグリフを描くプロセスにある。ユーザはまた、トレースされた文字「P」に加えて、その友人について表現の1つとして星のグリフを追加するために、「追加する」ボタンを押すプロセスにある。
【００３８】
文字(e)で表されたディスプレイで、ユーザは、このプロセスがディスプレイ(a)で開始したコンタクトのリストに戻っており、5箇所尖った星をトレースするプロセスにあり、そして、文字(f)で表されたディスプレイで、星グリフのエントリが完了し、ディスプレイ(d)でユーザによって入力されたグリフに一致するものとしてデバイスによって解釈された。文字(g)で表されるディスプレイで、ユーザは、ディスプレイをフリッカして、それに別の文字にスクロールするように促し(垂直フリッカは文字または他のグリフのエントリと区別されている)、次に、文字(h)で表されたディスプレイに5箇所尖った星を再入力することによって、その友人のコンタクトを表す記録にそれを戻らせた。(図中のいくつかのエントリの二重表示は、高速のスクローリングが生じるときのそれらのエントリのぼやけた動きを表す)。
【００３９】
ある種の状況において、標準グリフはカスタムグリフと混ぜることができる。標準グリフはソフトウェア開発者などの第三者によって割り当られるグリフであり、一方、カスタムグリフはデバイスのユーザ自身によって描かれる。したがって、たとえば、標準グリフは、音楽リストおよびコンタクトリストなどの英数字のリスト内の位置を表すために使用可能であり、カスタムグリフは、ユーザのデバイスに固有の特定のオブジェクトを表すために使用可能である。ユーザはまた、たとえば、英語ではないアルファベットの文字をかかる文字のエントリによるリストのスクローリングをもたらすように割り当てることができるように、特定のオブジェクトに複数のグリフを作成することもでき、リストはそのリスト中の同等の英語の文字の位置までスクロールすることになる。
【００４０】
標準グリフを識別するための標準は、カスタムグリフを識別するための標準よりもゆるくてもよい。具体的には、グリフは、多数の異なる人々によって使用されるために開発され、したがって、より大きなレベルの変更を越えて認識される必要があるが、一方でカスタムグリフは、特定のユーザによって描かれ、したがって、より大きな再現性をもつと仮定されうる。したがって、カスタムグリフについては、かかるグリフに許された可変性のレベルを「ダイヤルダウンする」ことによって、誤検出認識の出現率は減らすことができる。
【００４１】
図3は、1つのオブジェクトに対応する複数のグリフを示すモバイルタッチスクリーンデバイスの一連の画面ショットを示す。概して、これらの画面ショットは、より大きな可変性をもつユーザの入力を受け入れることを可能にする複数の同様のグリフを含む、単一のオブジェクトにいかにして複数の異なるグリフが割り当て可能かを示すディスプレイを表す。
【００４２】
文字(a)で表されたディスプレイで、ユーザが、図2の文字(b)の選択と同様に、知人のコンタクト記録へのショートカットを編集するために、メニュ制御を選択しているのが示されている。図2の文字(c)のように、ユーザは、図3の文字(b)で表されたディスプレイで、その上にグリフを描くまたはトレースするための描画面を提示されており、この場合、ユーザは小文字の筆記体の「l」をトレースする。文字(c)で表されたディスプレイで、ユーザは、コンタクトのリストに戻り、特定のコンタクト記録についてそのユーザによって前に入力されたのよりも細いループでではあるが、小文字の「l」を入力した。かかる状況で、入力されたグリフが保存されたグリフ-または現在の文脈に関連する少なくともいずれかの保存されたグリフ-と十分な程度まで一致しない場合、デバイスはユーザにそのエントリが適切に記録されなかったことを示すことができる。たとえば、エントリの失敗を示すために、ユーザによって描かれた文字の色が白から赤に変化しうる。別法として、音声がデバイスによって作られうる(ブーイングなど)、または、ユーザが何かが異常であることを聞くもしくは感じることができるように、デバイスがわずかに振動させられうる。
【００４３】
かかる通知を受信したとき、本例におけるユーザは、彼らがその友人のコンタクト記録と既に相関させたグリフを見ることを決め、その記録(既にそのディスプレイの最上部にあった)を選択した。文字(d)から(h)で表されたディスプレイは、ユーザがこのコンタクト記録に既に割り当てた5つの異なるグリフを表し、それらのグリフのうちの3つは大文字の印刷された「L」の文字に似ており、それらのグリフのうちの2つは小文字の筆記体の「l」の文字を表している。異なるディスプレイは、彼のタッチスクリーン上に表示される「前」および「次」の制御を選択することによってまたは他の適切な方式でユーザによって循環可能である。本例においてユーザは、文字(c)で彼が入力したグリフの何が間違っていたかを知ることができ、次に、  (g)および(h)の文字の書かれたディスプレイに示された保存されたグリフによりよく一致するように、新しいグリフを追加する、または彼のその後の実行を変えることができる。
【００４４】
グリフが認識されるが、その意味があいまいな場合、さまざまな機構が、そのあいまいさを解決するために使用されうる。たとえば、ユーザがアルファベット順のリストを見ていて、プレイリストに、アプリケーションに、およびある友人のコンタクト記録に文字の形態で1つのグリフを割り当ててもあった場合、エントリは、それらのオブジェクトのうちのいずれかをそれが表しうるため、あいまいになることになる。一実装では、1つまたは複数の規則が、ユーザの意図を暗示するために、使用されうる。たとえば、ユーザがリストの文脈中にあるため、デバイスは、そのユーザがリスト内でスクロールしようと意図していると見なすことができる。別法として、ユーザがデスクトップ上にあった場合、デバイスは、そのユーザがアプリケーションを起動したいと見なすことができた。さまざまな優先度規則が、かかる判定を行う際に適用可能であり、その規則は特定のユーザによって修正およびカスタマイズ可能である。
【００４５】
デバイスはまた、ユーザの最初の入力があいまいであった場合、ユーザがフォローアップ入力を提供することを可能にすることもできる。したがって、前述の例では、ユーザは、そのユーザが入力したグリフに対応するオブジェクトのリストをグラフィックで提示されうる。ユーザは次に、ディスプレイ上でそれを押すことによって、または表示されたリスト中のオブジェクトの位置に対応する数を声に出すことによってなどで、リストからオブジェクトのうちの1つを選択することができる。
【００４６】
ある種の実装では、グラフのエントリはユニバーサルであることがあり、他の実装では、それは文脈的であることがある。また、ある種のグリフのエントリはある種の文脈でのみアドレス可能であるが、他のグリフのエントリはすべての文脈でアドレスされる。後者の状況の一例として、アクティブなコンタクト記録などのある種のオブジェクトに関連するグリフは、任意の文脈で呼び出すことができる。
【００４７】
グリフはまた、デバイスに保存されたマクロ、スクリプト、または他のオブジェクトにリンク可能である。たとえば、ユーザは、彼らが作業中に彼らのニーズに一致するように、そして次に彼らが作業から離れたときに異なるニーズに一致するように、彼らのデバイス上のさまざまな設定を変更する-実際に、いくつかの異なるオブジェクトにわたってデバイスのそれらを変更する-マクロまたはスクリプトを書くことができた。ユーザは、かかる実装において、デスクトップ上でまたはアプリケーション内からでも、ユーザがグリフを入力するときに、すべての関連オブジェクトが自動的にデバイス上で変更されるように、グリフをマクロまたはスクリプトに関連付けさせることができる。
【００４８】
グリフはまた、たとえば、ユーザ指示の探索クエリに関連して、グリフが標準文字であってもユーザ定義グリフであっても、使用可能である。たとえば、文字「H」は、ユーザによって描かれて、新しい順のリストでまたは他の適切な方式でリスト化された、デバイスの最近訪れたウェブサイトの履歴をもたらすことができる。同様に、ユーザは、彼または彼女が実行依頼したい永続的探索を定義することができ、それにグリフを割り当てることができる。たとえば、ユーザは、彼または彼女自身についてのニュースを繰り返し探索したいことがあり、彼のまたは彼女の名前を含むニュース関連の探索エンジンに提出される探索要求として解釈されることになる星の形のグリフをプログラムすることができた。デバイス上の任意の文脈からのグリフのエントリは、ブラウザを起動させ、探索クエリを提出させ、探索結果をブラウザ内に配信させることができる。
【００４９】
図4は、タッチスクリーン入力に応答してユーザ対話を提供する、システム400の概略図である。システム400は、デバイス402などのモバイルデバイスを使用して実装可能である。デバイス402は、タッチスクリーンディスプレイ404およびロールボール406などのさまざまな入力および出力機構を含む。デバイス402内のいくつかの構成要素は、ディスプレイ404上の1つまたは複数のグリフの描画などによって、ディスプレイ404上にさまざまな選択機能性を提供するように構成されうる。
【００５０】
1つのかかる構成要素は、ディスプレイ404での提示のためのコンテンツのレンダリングの責任を負う、ディスプレイ管理プログラム412である。ディスプレイ管理プログラム412は、いくつかのソースからグラフィック関連コンテンツを受信することができ、そのコンテンツがいかにしてユーザに提供されることになるかを決定することができる。たとえば、デバイス404上のさまざまなアプリケーション410のためのいくつかの異なるウインドウが表示される必要があることがあり、ディスプレイ管理プログラム412はどれを表示するか、どれを隠すか、および、さまざまなグラフィカルオブジェクトの間の重なり合いがあるときに何を表示するもしくは隠すかを決定することができる。また、ユーザがタッチスクリーンディスプレイ上にグリフを描こうとしていることをデバイス404の別の構成要素が認識したとき、ディスプレイ管理プログラムは、ユーザが描いた位置でのディスプレイ上のグリフの生成を調整するのを助けることができる。
【００５１】
ディスプレイ管理プログラム412は、複数のアプリケーションにわたって共用可能であり、たとえばデバイス402のオペレーティングシステムによって、提供可能である、表示された構成要素と対話するための特定の機能を提供するためのさまざまな構成要素を含むことができる。他の表示された構成要素を介したグリフのエントリは、描かれたユーザ入力の制御装置417を使用して、ディスプレイ管理プログラム412による調整で、管理可能である。かかる制御装置は、ユーザがディスプレイ上で異なる機能を実行するのではなくてグリフを入力するときに認識する責任を負い、また、入力グリフをデバイス上の他の構成要素によって解釈されうるコマンドに変える責任を負うことができる。かかるコマンドを作り出すために、描かれたユーザ入力の制御装置417は、ユーザによって入力されたグリフの形状を定義する情報をグリフインタープリタ415に渡すことによって、グリフインタープリタを参照することができる。グリフインタープリタ415は次に、デバイス上に保存された標準およびカスタムの両方のグリフと入力されたグリフを比較し、グリフID番号などのグリフの識別を返すことができる。
【００５２】
描かれたユーザ入力の制御装置417は、特定のグリフが入力されるときに生じることになるグリフIDおよびアクションを前にマップし、保存することができた。結果として、制御装置417はかかる情報をそのデバイスの他の構成要素に渡すことができる。たとえば、さまざまなアプリケーション410がデバイス上で保存され、走ることができる。たとえば、制御装置417があるコンタクト記録に相関させられたグリフを表す場合、制御装置417は、その記録がそのグリフのユーザのエントリに応答して自動的に表示されるように、コンタクトアプリケーションを呼び出し、それにその記録の識別を渡すことができる。この方式で、制御装置417は、オペレーティングシステムのコア構成要素の間の、およびデバイス上のアプリケーションとの一種の仲裁者の役割を果たすことができる。
【００５３】
入力管理プログラム414は、デバイス402のユーザによって提供されるコマンドを翻訳する責任を負うことができる。たとえば、かかるコマンドは、キーボードから、タッチスクリーンディスプレイ404から、トラックボール406から、または、専用ボタンもしくはソフトボタン(たとえば、その機能が経時変化しうる、およびその機能が特定のボタンに隣接するディスプレイ404の領域に表示されうる、ボタンなど)を含む、他のかかるソースに由来しうる。入力管理プログラム414は、たとえば、ディスプレイのどの領域でコマンドが受信されているか、したがって、ディスプレイ上に示されているどのアプリケーションにそのコマンドが意図されているかを判定することができる。加えて、それは、タッチスクリーン404上の入力動作を共通の様式に通訳し、それらの通訳された動作(短く押す、長く押す、フリッカ、および直線ドラッグなど)を適切なアプリケーションに渡すことができる。入力管理プログラム414はまた、かかる入力を、それらを適切なモジュールまたはアプリケーションに順々に報告する事象管理プログラム(図示せず)に報告することもできる。IME機能がデバイスのために起動されるとき、入力管理プログラムは、IME415にソフトキーボードの領域内での入力を渡すことができる。
【００５４】
制御装置417は、タッチスクリーン上のユーザ入力について知らされるように、入力管理プログラム414に登録可能であり、それが特定の入力を描かれた入力であるとして認識したとき、それを何か他のものであるとして不正確に通訳しうる他の構成要素に入力管理プログラムがその入力を渡すのを防ぐために、入力管理プログラムに順に知らせることができる。
【００５５】
さまざまなアプリケーション410が、デバイス402上で、一般に共通のマイクロプロセッサ上で、動作することができる。アプリケーション410は、マッピングアプリケーション、電子メール、および他のメッセージングアプリケーション、ウェブブラウザアプリケーション、音楽およびビデオプレーヤ、ならびに、ウェブブラウザ内で走るまたはウェブブラウザの拡張を走らせるさまざまなアプリケーションなどのさまざまな方式をとりうる。アプリケーション410は、記録、または英数字の名前をもつ他の構成要素を保存した、したがってタッチスクリーン404の前面に英数字を描くユーザによって速くアクセス可能な、アプリケーションを含みうる。
【００５６】
無線インタフェース408は、音声通信も運ぶデータネットワークでもよい、無線ネットワークとの通信を管理する。無線インタフェース408は、以下に論じられる例などによる、よく知られている方式で動作することができ、テキストメッセージング、電子メール、および電話音声メールメッセージングなどのメッセージングサービスでデバイス402による通信を提供することができる。加えて、無線インタフェース408は、コンテンツのダウンロードおよびアップロード、ならびに無線ネットワークを介したコンピュータコードをサポートすることができる。
【００５７】
さまざまな方式の永続的記憶域が、固定ディスクドライブおよび/または固体状態メモリデバイスを使用するなどして、提供可能である。2つの例が本明細書に示される。第1に、リスト、地図等の記憶416は、デバイス402に保存され、それによって提示可能なオブジェクトについてのさまざまな定義を含む。かかるオブジェクトは、デバイス上の歌、テレビ番組、映画、または他の媒体のリストなどの他のオブジェクトのリストを含む。そのリストはまた、デバイス402が多数のファイルを保存する、ファイル名のリストも含みうる。また、地図などの他のオブジェクトは、保存可能であり(遠隔サーバから先取り可能なグラフィカル地図タイルとしてなど)、地図上の興味のある地点、事業所の名前などとともに、地図上の町および通りの名前などの地図に関するメタデータでもよい。
【００５８】
他の記憶は、リスト、地図等416と同じ媒体上に保存されたユーザについてのプロファイル情報でもよい、ユーザデフォルト値418を含む。ユーザデフォルト値418は、デバイス402のユーザに関するさまざまなパラメータを含む。本明細書に関連する例では、ユーザプロファイルは、ユーザが入力したさまざまなカスタムグリフを定義するデータを、それらのグリフのエントリと関連付けられることになるオブジェクトまたはアクションとともに、含みうる。グリフデータおよび他の情報は、1つまたは複数のXMLファイルで、またはSqliteファイルでなどのさまざまな形態で保存されうる。
【００５９】
図示された構成要素、および、明確さのために本明細書では省略されている他の構成要素を使用して、デバイス402は、ユーザ入力に応答して、特定のアクションを提供することができる。具体的には、デバイス402は、入力をグリフショートカットであるとして識別することによって、およびそのグリフに関連付けられた位置またはオブジェクトにデバイスをジャンプさせることによって、かかるデータエントリに応答するために、ユーザによる入力に応答することができる。
【００６０】
図5A〜5Dは、コンピュータデバイスのユーザによるグリフエントリを処理するための例示的なプロセスの流れ図である。図5Aは概して、それによってデバイス上に表示されたリストの上にユーザによって入力される英数字のグリフがデバイスをそのリスト中の新しい位置に自動的にジャンプさせることができる、プロセスを示す。
【００６１】
そのプロセスは、グリフが受信されるボックス502で開始する。グリフは、コンタクトのリスト、歌のリスト、別のタイプのリストなどのリストをユーザが表示させたいことを示すためにユーザによって前にプログラムされた形態でもよい。たとえば、ユーザは、彼らのモバイルデバイス上に歌のリストを表示させようとする意図を表すために、彼らのデバイスにト音記号の形をプログラムすることができた。そのリストは一般に英数字方式でソートされ、たとえば、数字で始まるタイトルはリストの最上部近くに、文字Zで始まるタイトルは最下部の近くにある。グリフは、コンタクトポイント、リリースポイント、および、コンタクトポイントとリリースポイントの間の描かれた経路によって定義される、文字の形態で入力可能である。
【００６２】
ボックス504で、グリフは、リストに相関させられ(保存されたグリフのライブラリ内のグリフに最も近い一致を見つけ、その一致する保存されたグリフが歌のリストを生じさせるアクションを割り当てられていると判定することによってなど)、そのリストがその最後の位置で表示される。たとえば、リストが前にアクティブであって、ユーザが別のアプリケーションを使い始めた場合、そのリストは、ユーザがそれを最後に見たときの状態で表示されうる。この例では、ユーザはリスト中の異なる位置にジャンプしたいので、ボックス506で、ユーザは、図1に示す形などでリストを介してアルファベットの文字のグリフを描く-その文字はユーザがジャンプしたいリスト中の位置を表す。
【００６３】
ボックス508で、プロセスは先ず、ユーザがグリフを入力しようと意図していると判定し、次に、ユーザによって入力されたグリフに対応する英数字を識別する。たとえば、プロセスは、ユーザが特定のアルファベットの文字を入力しようと試みたと判定しうる。したがって、ボックス510で、プロセスは、リスト中の第1のファイルがユーザが入力した文字で始まるように、リストをスクロールする。たとえば、ユーザが文字Bを入力した場合、ディスプレイの最上部が、タイトルBadlandsで始まり、次にThe Ballad of John and Yoko、次にBang, Bang, Bang, Bang (John Lee Hooker)などと続くようにユーザのための歌のリストが示されるように、リストはスクロールされうる。
【００６４】
この方式では、ユーザは、リストを長い間上下にスクロールする必要なしに、アイテムのリスト中の明確に定義された位置に速くジャンプすることを許されうる。結果として、ユーザは、スクロールする必要がある場合よりもより速く、より確実に所望の位置に到達することができる。また、ユーザは、彼らが行っている他の事柄への集中力を失うことなく彼らが彼らのデバイスを制御することができるように、彼らのデバイスを見る必要なしにグリフをトレースすることができる。
【００６５】
図5Bは概して、図5Aのプロセスと同様のプロセスを表すが、それによってデバイスがユーザがリスト中の新しい位置にジャンプすることを可能にしつつ動作することができる、追加の詳細を示す。そのプロセスは、ユーザがグリフを入力して特定のタイプのリストを表示させようとするユーザの意図を示す、ボックス516で開始する。ボックス518で、そのプロセスは、入力されたグリフを特定のリストに相関させ、そのリストをそのリスト内のその最後の位置で表示させる。ボックス520で、そのプロセスは、リストを示すタッチスクリーンディスプレイを指で押すユーザによって、またはディスプレイ上の経路をトレースするユーザによってなどで、リストを介してユーザの入力を受信する。
【００６６】
ボックス522で、プロセスは、そのユーザ入力が選択入力であったかどうかを判定する。たとえば、ユーザがディスプレイ上のオブジェクトを軽くたたくのは、選択された名前についてのコンタクト記録をデバイス上に表示させるために名前のリスト中の1つの名前を選択することなどによる、そのオブジェクトを選択しようとするユーザの意図を示すことができる。入力が選択インポートである場合、プロセスは選択ボックス524を示すことができ、次に、そのユーザからの追加の入力を待ち続けることができる。
【００６７】
ボックス526で、プロセスは、その入力がユーザによるディスプレイ画面上を垂直に素早くたたくものであるかなど、その入力がスクローリング入力の形態であるかどうかを判定する。入力がスクローリング入力の形態である場合、プロセスは、ボックス527に示すように新しい位置までリストをスクロールし、次に、戻って追加のユーザ入力を受信する。
【００６８】
ボックス528で、入力がスクローリング入力ではなく、選択入力ではない場合、プロセスはその入力がグリフ入力であったかどうかを判定する。かかる判定は、たとえば、ユーザによる最初の入力された線の枠どりを識別し、枠どりの縦横比がグリフなどの文字を入力するユーザの意図を示すかを判定することによって行われうる。入力がグリフ入力ではない場合、プロセスは再び戻って追加のユーザ入力を受信する。認識された入力のいずれにも一致しないかかる入力は、たとえば、選択可能なオブジェクトが存在しない表示領域上で行われる選択を含みうる。
【００６９】
ボックス530で、グリフが描かれるとき、それは画面上に示される。たとえば、線またはポリラインが、ユーザが彼らの指で押したまたはドラッグした画面上の線の下の位置に現れうる。この方式では、ユーザが入力の提供を継続することができるように、デバイスが適切な形で彼らのインポートを識別していることを示すためのフィードバックをユーザは提供される。
【００７０】
ボックス532で、プロセスは、任意のグリフがユーザ入力によって識別されたかどうかを判定する。たとえば、プロセスは、グリフのために描かれた形状を英数字などの知られているグリフを表す保存された形状と比較するために、さまざまな機構を使用することができる。グリフが何も識別されない場合、プロセスはそのグリフを赤で表示し、それがもうユーザに対して表示されないように、ボックス536でそのグリフを徐々に消えさせる。この方式で、プロセスは、そのグリフの認識が失敗したこと、そしてユーザは他のグリフを入力するまたは他のアクションを実行することを試みるべきであることをユーザに指示する。そのプロセスは次に、戻って追加のユーザ入力を待つ。
【００７１】
グリフが識別された場合、プロセスは、ボックス534で複数のグリフが識別されたかどうかを判定し、その入力があいまいかどうかを判定する。グリフが1つだけ識別された場合、プロセスは直ちに、ボックス538で、入力されたグリフに関連付けられた文字にリストをスクロールすることができる。複数のグリフがユーザによって入力されたグリフと一致しえた場合、プロセスは複数の方法のうちの1つでそのエントリのあいまいさを解消することができる。この例では、エントリのあいまいさを解消する2つの異なる方法が示されている。第1に、プロセスは、ボックス540で、起こり得る候補グリフの中からユーザが入力しようと意図した最も可能性の高いグリフを選ぶことができる。たとえば、前記で説明したように、いくつかの規則が最も重要なグリフまたは最も可能性の高いグリフを判定するために使用されうる。たとえば、ユーザがある特定のアプリケーション内にある場合、そのアプリケーションと具体的に関連付けられたグリフは、ユーザを異なるアプリケーション内のオブジェクトにジャンプさせることになるグリフなどのより一般的なグリフよりも優先されうる。別法として、ボックス542で、起こり得るアクションのリストがユーザに表示可能であり、ユーザは彼らがそのグリフを入力したときに彼らが呼び出そうと意図するアクションを選択することができる。いずれの状況でも、プロセスは再び、ユーザが意図した文字であると判定された文字までリストをスクロールし、プロセスは戻ってユーザからの追加の入力を受信する。
【００７２】
図5Cは、グリフエントリを使用して地理的な地図上をナビゲートする方法の流れ図である。概して、そのプロセスは、現在地図上に表されていない可能性のある地点へのユーザの関心を示す英数字または他のエントリの形態でのグリフを受信するステップと、アルファベットの文字もしくは数字または他のエントリに対応する関心のある地点に地図を自動的にパンニングするステップとを含む。
【００７３】
プロセスは、コンピュータデバイスがユーザに地図を表示する、ボックス550で開始する。地図は、GOOGLE MAPSによって提供される形でなど、いくつかのタイルで構成されうる。ボックス552で、デバイスが、地図の表面上にユーザによるグリフのエントリを受信する。グリフは、前述のもののような機構を使用し、地図上の選択またはパンニングもしくはズーミングなどの他のエントリと区別されうる。
【００７４】
ボックス554で、プロセスは、入力されたグリフに対応する文字または数字を識別する。加えて、プロセスは、ユーザがグリフと関連付けたショートカットを識別することができる。ボックス556で、プロセスは、そのグリフと関連付けられた文字で始まるランドマークを識別する。ランドマークは、さまざまな異なる方式で識別可能である。たとえば、地図のタイルがセントラルサーバからデバイスにダウンロードされるとき、その地図の追加のメタデータがそのダウンロードで提供されうる。たとえば、通り、ランドマーク、建物、会社、川、交差点、地区、スポーツ会場、祭り、および他のかかるオブジェクトが、かかるアイテムの地理位置情報とともにデバイスに提供可能である。かかるメタデータは、ユーザがデバイスにクエリを入力するときに、デバイスの通常の使用で使用されうる。しかし、本明細書のプロセスに示すように、メタデータは、ユーザによって入力されるグリフの文字に一致しうる。したがって、ユーザがメインストリートを探して、町の領域を車で通って行く場合、そのユーザは彼らの画面上に「M」の形状を入力して、彼らが表示している地図上で彼らのためにメインストリートを探させることができる。この方式で、ユーザは、特定の文字で始まる彼らの周辺にあるランドマークまたは他のアイテムを速く識別することができる。
【００７５】
多くの場合、ユーザの周辺の複数のランドマークが同じ文字で始まることになる。したがって、形式的グリフでのユーザによる文字のエントリは、デバイスにとってあいまいでありうる。リストについて前述したように、さまざまな選択規則を使用することによって、特定のランドマークが選択され、ユーザに表示されうる。別法として、ある領域内のすべてのランドマークが、ユーザによる選択のために、リストでユーザに提示可能である。たとえば、前述のように、ユーザが彼らのデバイス上に「M」の形状を入力する場合、彼らのGolden Arcsによって示される領域内にはいくつかのMcDowellのレストランがあることもあり、それらのレストランもまた一致をトリガしうる。同様の方式で、Maple Street、Marple Avenue、およびthe Metrodomeが一致として識別されうる。
【００７６】
ユーザによって入力された文字について複数の一致が生じる状況では、ボックス558が、それらのランドマークがそのユーザへのそれらの相対的重要度および距離に基づいて採点可能であることを示す。たとえば、ユーザが自動車などで比較的高速で移動しているときには、商号よりも通りの名前が相対的重要度をもち、ユーザが歩いていて、ことによると特定の店を探していることを示すようによりゆっくりと移動しているときには、商号が通りの名前よりも相対的重要度をもつように、採点アルゴリズムがプログラム可能である。同様の方式で、ユーザに近いランドマークが、ずっと遠いランドマークよりも相対的重要度をもちうる。したがって、さまざまな方式で、プロセスは、ユーザによって入力された文字に一致する各ランドマークについての複合得点を作り出すことができ、さまざまな一致するランドマークが次に、ボックス560に示すように、その得点にしたがって(高いものから順に)ソートされたリストでユーザに表示されうる。
【００７７】
ボックス562で、プロセスは特定のランドマークのユーザ選択を受信し、ボックス564で、プロセスは、選択されたランドマークがディスプレイ上に見えるように、地図の表示をパンする。ランドマークが長い通りである場合など、ランドマークが単一のディスプレイ上に表示不可能な場合には、ユーザが彼または彼女が現在移動している方向に向かい続ける場合にユーザとそのランドマークとの未来の交点を判定することなどによって、ランドマークに沿った特定の場所が判定可能である。また、ある種のランドマークは、ユーザがそのランドマーク(非常に大きいランドマークなど)を選択した後に、地図のズームのレベルの変更をもたらしうる。
【００７８】
図5Dは、地図を介したグリフのユーザ入力に応答して地図上を移動するプロセスを示し、図5Cに示すプロセスと同様であるが、さらに詳細に示されている。そのプロセスは、地図がよく知られている方式で表示される、ボックス570で開始する。ボックス572で、ユーザ入力が地図を介して受信される。ボックス574で、プロセスは、ユーザ入力が選択入力であるかどうかを判定し、そうである場合、入力がボックス576で実行される。ボックス578で、その入力が分析されてそれがグリフ入力であるかどうかを判定し、そうではない場合、プロセスは戻って追加のユーザ入力の受信を待つ。入力がグリフインポートである場合、グリフは、それがボックス580でユーザによって描かれるときに、画面上に表示される。この方式で、プロセスは、ユーザが彼らの入力がデバイスによって適切に処理されているのを確かめることができるように、ユーザにフィードバックを提供する。
【００７９】
ボックス582で、グリフが描かれて(たとえば、ユーザが彼のまたは彼女の指を持ち上げたなど)、プロセスはそれがそのユーザが入力したグリフを認識することができるかどうかを判定する。プロセスがそのグリフをデバイス内の保存されたグリフに関連して認識することができない場合、プロセスは、ボックス584でそのグリフを赤で表示し、そのグリフを徐々に消えさせて、ユーザを追加のインポートを入力するために戻す。たとえば、ユーザは次に、二度目にそれをデバイスに認識させようとして、そのグリフを再入力しようと試みることができる。
【００８０】
グリフが認識された場合、次にプロセスは、そのグリフに相関する英数字で始まる、そのユーザの周辺(ユーザがユーザに現在表示されている地図の中央にいると仮定することなどによって、たとえばGPS受信機を使用してまたは推定される位置として、実際の位置として判定可能な)にあるランドマークを識別し、採点する。プロセスは次に、そのグリフの文字または数字で始まるランドマークのリストを提示し、ボックス588でそのランドマークのうちの1つのユーザ選択を受信する。ボックス590で、プロセスは、前述のような方式などで、そのランドマークについての中心点およびズームレベルを識別し、592で、プロセスは、そのランドマークが新しい位置でユーザに提示されるように、新しい位置にマッピング表示をパンすることによって終了する。
【００８１】
概して、図6Aは1つまたは複数のグリフを特定のオブジェクトに割り当てるプロセスを示し、一方図6Bは、オブジェクトに関連付けられうるグリフを表示するためのプロセスを示す。図6Aのプロセスは、オペレーティングシステムオブジェクトのユーザ選択が受信される、ボックス602で始まる。かかる選択は、ユーザがそのオブジェクトに関する詳細を見直したい、またはそのオブジェクトに関連付けられたアプリケーションを起動したいときなど、多数の異なるタイプの場合に生じうる。たとえば、ある友人を呼び出したいユーザは、しばしば、その友人を呼び出すために電話アプリケーションを起動することを目的として、コンタクトのリストでその友人についてのコンタクト記録を識別することになる。
【００８２】
ボックス604で、プロセスは、そのオブジェクトにグリフを割り当てようとするユーザの意図を示すユーザ選択を受信する。たとえば、ユーザは、最近特定の知人とさらに仲良くなり、過去に彼らができたのよりも速くその知人にコンタクトできるようになりたいと思うことがある。結果として、ユーザは、その友人のコンタクト記録がより速く提示可能なように、その友人にグリフを割り当てたいと考えうる。ボックス606で、グリフエントリ命令がユーザに表示され、ユーザは、その命令に応答して、その知人についての新しいグリフをトレースする。ユーザが彼のまたは彼女のグリフを描く進度を追跡することができるように、ユーザのトレース経路は、デバイスの背景と対照を成す色のポリラインとして表示可能である。ボックス608で、ユーザはグリフを描き終え、プロセスがユーザにそのグリフを表示し、プロセスは、ユーザは彼らが描いたグリフをその知人に割り当てられるようにしたいという確認をユーザから受信する。ユーザが彼らがグリフを適切に描いたと思わなかった場合、ユーザはそのグリフを知人のコンタクト記録に相関させることを断ることができ、描画面を再び示され、そこで二度目のグリフを描くことを試みることができる。ユーザがそのグリフをオブジェクトに相関させようとする意図を示した後は、プロセスはボックス610でそのグリフをオブジェクトに割り当てることができる。
【００８３】
後の時点で、ユーザが彼らのデバイスを使用していて、リストを開き、そのリストをスクロールし、そのリストからオブジェクトを選択する必要なしに、直ちにオブジェクトを提示させたいと思うことがある。結果として、ユーザはそのグリフを彼らのデバイスに入力することができ、デバイスおよびプロセスは、ボックス614で、そのグリフの入力をそのオブジェクトを見ようとするユーザの意図として通訳し、ユーザが再び見るために自動的にそのオブジェクトを開くことができる。
【００８４】
図6Bは概して、それによってユーザがグリフを描き、次にオブジェクトを選択することによってオブジェクトにグリフをサインすることができる、プロセスを示す。本明細書に示す特定のプロセスでは、ユーザは最初に、彼らのモバイルデバイスによって認識されないグリフを描き、そうして、そのオブジェクトがグリフに相関可能であり、次にそのグリフが入力されるときに自動的に提示可能なように、オブジェクトを見つける。
【００８５】
図6Bのプロセスは、プロセスがグリフのユーザエントリを受信する、ボックス621で開始する。ボックス622で、プロセスは、ユーザがデバイス上に入力することができる複数の保存されたグリフのうちの1つとしてそのグリフが認識されるかどうかを判定する。それが認識される場合、そのグリフに対応するオブジェクトが624で起動され、プロセスは戻って追加のユーザエントリを待つ。グリフが認識されない場合、次にプロセスは、ユーザがオブジェクトのためのグリフを入力しようと意図したが、オブジェクトに現在割り当てられているグリフを適切に入力することに失敗したという仮定のもとで、オブジェクトまでナビゲートするようにユーザに命じることができる。ボックス628で、ユーザはそのオブジェクトまでナビゲートし、プロセスはそれによって、ユーザがそのオブジェクトのために描いたグリフにリンクすることができる。
【００８６】
ボックス630で、ユーザは、彼らが同一オブジェクトに関連付けられた他のグリフを見たいと決定することができ、それに関して制御の選択を行う。プロセスは、図3に示すものなどの方式で他のグリフをユーザに見せることによって応答することができる。ボックス632で、ユーザは、グリフを見るのを止める意図を示し、プロセスはボックス632でグリフエントリプロセスをクリアする。プロセスは次にそれが開始したポイントまで戻り、ユーザは前の方式で彼らのデバイスと対話を継続することができる。
【００８７】
図7は、本明細書に記載の技法で使用可能な、汎用コンピュータデバイス700および汎用モバイルコンピュータデバイス750の例を示す。コンピュータデバイス700は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのデジタルコンピュータのさまざまな形態を表すものである。コンピュータデバイス750は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の同様のコンピュータデバイスなどのさまざまな形態のモバイルデバイスを表すものである。本明細書に示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものとしてのみ意図され、本明細書で説明および/または請求される発明の実装を限定するものではない。
【００８８】
コンピュータデバイス700は、プロセッサ702、メモリ704、記憶デバイス706、メモリ704および高速拡張ポート710に接続する高速インタフェース708、ならびに、低速母線714および記憶デバイス706に接続する低速インタフェース712を含む。それぞれの構成要素702、704、706、708、710、および712は、さまざまな母線を使用して相互接続され、共通のマザーボードにまたは必要に応じて他の方式で実装可能である。プロセッサ702は、メモリ704内にまたは記憶デバイス706に保存された命令を含むコンピュータデバイス700内での実行のための命令を処理して、高速インタフェース708につながれたディスプレイ716などの外部入力/出力デバイス上のGUIのためのグラフィカル情報を表示することができる。他の実装では、複数のプロセッサおよび/または複数の母線が、必要に応じて、複数のメモリおよびメモリのタイプとともに、使用可能である。また、複数のコンピュータデバイス700は、必要なオペレーションの部分を提供する各デバイスと接続可能である(サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとしてなど)。
【００８９】
メモリ704は、コンピュータデバイス700内で情報を保存する。一実装では、メモリ704は、1つまたは複数の揮発性メモリユニットである。もう1つの実装では、メモリ704は、1つまたは複数の非揮発性メモリユニットである。メモリ704はまた、磁気または光ディスクなどの別の方式のコンピュータ可読媒体でもよい。
【００９０】
記憶デバイス706は、コンピュータデバイス700のための大容量記憶域を提供することができる。一実装では、記憶デバイス706は、フロッピディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体状態メモリデバイス、または、記憶領域ネットワークもしくは他の構成内のデバイスを含むデバイスの配列などのコンピュータ可読媒体でもよく、またはそれを含みうる。コンピュータプログラム製品は、情報キャリアに有形に実装可能である。コンピュータプログラム製品はまた、実行されるときに、前述の方法などの1つまたは複数の方法を実行する命令も含みうる。情報キャリアは、メモリ704、記憶デバイス706、プロセッサ702上のメモリ、または伝播される信号などのコンピュータまたは機械可読の媒体である。
【００９１】
高速制御装置708はコンピュータデバイス700のための帯域幅の集中するオペレーションを管理し、一方、低速制御装置712はより低い帯域幅集中度のオペレーションを管理する。かかる機能の割当ては単に例示的なものである。一実装では、高速制御装置708は、メモリ704、ディスプレイ716に(グラフィックプロセッサまたはアクセラレータを介するなどして)、および、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート710につながれる。本実装では、低速制御装置712は、記憶デバイス706および低速拡張ポート714につながれる。さまざまな通信ポート(USB、ブルートゥース、イーサネット（登録商標）、無線イーサネット（登録商標）など)を含みうる低速拡張ポートは、ネットワークアダプタを介するなどして、キーボード、ポインティングデバイス、スキャナ、または、交換機もしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスにつながれうる。
【００９２】
コンピュータデバイス700は、図に示すように、いくつかの異なる形態で実装可能である。たとえば、それは、標準サーバ720として、またはかかるサーバの一群に複数回、実装可能である。それはまた、ラックサーバシステム724の部分としても実装可能である。加えて、それは、ラップトップコンピュータ722などのパーソナルコンピュータに実装可能である。別法として、コンピュータデバイス700の構成要素は、デバイス750などのモバイルデバイス(図示せず)内の他の構成要素と組み合わせることができる。かかるデバイスはそれぞれコンピュータデバイス700、750のうちの1つまたは複数を含むことができ、システム全体は、互いに通信し合う複数のコンピュータデバイス700、750で構成可能である。
【００９３】
コンピュータデバイス750は、プロセッサ752、メモリ764、ディスプレイ754などの入力/出力デバイス、通信インタフェース766、送受信機768、その他の構成要素を含む。デバイス750はまた、追加の記憶域を提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスを備えうる。構成要素750、752、764、754、766、および768のそれぞれは、さまざまな母線を使用して相互接続され、その構成要素のうちのいくつかは、必要に応じて共通のマザーボード上にまたは他の方式で実装可能である。
【００９４】
プロセッサ752は、メモリ764内に保存された命令を含む、コンピュータデバイス750内の命令を実行することができる。そのプロセッサは、別個のおよび複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装可能である。そのプロセッサは、たとえば、ユーザインタフェース、デバイス750によって走らされるアプリケーション、およびデバイス750による無線通信の制御などのデバイス750の他の構成要素の調整を提供することができる。
【００９５】
プロセッサ752は、制御インタフェース758およびディスプレイ754につながれた表示インタフェース756を介して、ユーザと通信することができる。ディスプレイ754は、たとえば、TFT LCD (Thin-Film-Transistor Liquid Crystal Display、薄膜トランジスタ液晶ディスプレイ)もしくはOLED (Organic Light Emitting Diode、有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術でもよい。ディスプレイインタフェース756は、ユーザにグラフィカルなおよび他の情報を提示するように、ディスプレイ754を駆動するための適切な回路を備えうる。制御インタフェース758は、ユーザからコマンドを受信し、プロセッサ752への送信のためにそれらを変換することができる。加えて、外部インタフェース762は、デバイス750の他のデバイスとの近距離領域通信を可能にするために、プロセッサ752との通信で提供されうる。外部インタフェース762は、たとえば、いくつかの実装において有線通信を、または、他の実装において無線通信を提供することができ、複数のインタフェースもまた使用されうる。
【００９６】
メモリ764は、コンピュータデバイス750内で情報を保存する。メモリ764は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の非揮発性メモリユニットとして実装可能である。拡張メモリ774もまた提供可能であり、たとえばSIMM (Single In Line Memory Module、シングルインラインメモリモジュール)カードインタフェースを含みうる、拡張インタフェース772を介してデバイス750に接続可能である。かかる拡張メモリ774は、デバイス750のための余剰記憶空間を提供することができ、または、デバイス750のためのアプリケーションまたは他の情報を保存することもできる。具体的には、拡張メモリ774は、前述のプロセスを実行するまたは補うための命令を含むことができ、安全情報もまた含むことができる。したがって、たとえば、拡張メモリ774は、デバイス750のためのセキュリティモジュールとして提供可能であり、デバイス750の安全な使用を可能にする命令でプログラム可能である。加えて、安全なアプリケーションが、ハッキング不可能な方式でSIMMカード上に識別情報を置くなど、追加の情報とともに、SIMMカードを介して提供可能である。
【００９７】
そのメモリは、たとえば、以下に述べるように、フラッシュメモリおよび/またはNVRAMメモリを含みうる。一実装では、コンピュータプログラム製品は、情報キャリア内で有形に実施される。そのコンピュータプログラム製品は、実行されるときに前述の方法などの1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ764、拡張メモリ774、プロセッサ752上のメモリ、または、たとえば送受信機768もしくは外部インタフェース762を介して受信可能な伝播信号などのコンピュータ-または機械可読の媒体である。
【００９８】
デバイス750は、必要に応じてデジタル信号処理回路を含みうる、通信インタフェース766を介して無線で通信することができる。通信インタフェース766は、GSM音声電話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、GPRS、その他などのさまざまなモードまたはプロトコルの下で通信を提供することができる。かかる通信は、たとえば、無線周波数送受信機768を介して、生じうる。加えて、近距離通信が、ブルートゥース、WiFi、または他のかかる送受信機(図示せず)を使用するなどして、生じうる。加えて、GPS (Global Positioning System)受信機モジュール770が、デバイス750で走るアプリケーションによって必要に応じて使用されうる、デバイス750への追加のナビゲーションおよび位置関連無線データを提供することができる。
【００９９】
デバイス750はまた、ユーザから声による情報を受信し、それを使用可能なデジタル情報に変換することができる、音声コーデック760を使用して音声的に通信することもできる。音声コーデック760は同様に、たとえばデバイス750のハンドセット内などの、スピーカを介するなどして、ユーザのための可聴音を生成することができる。かかる音声は、音声電話通話からの音声を含むことができ、記録された音声(音声メッセージ、音楽ファイルなど)を含むことができ、デバイス750上で動作するアプリケーションによって生成される音声も含むことができる。
【０１００】
コンピュータデバイス750は、図に示すように、いくつかの異なる形態で実装可能である。たとえば、それは、携帯電話780として実装可能である。それはまた、スマートフォン782、パーソナルデジタルアシスタント、または他の同様のモバイルデバイスの部分としても実装可能である。
【０１０１】
デバイス750はまた、動作を感知する能力のある1つまたは複数の異なるデバイスも含みうる。例は、加速度計およびコンパスを含むが、それらに限定されない。加速度計およびコンパス、または、動作もしくは位置を検知する能力のある他のデバイスは、任意の数のベンダから利用可能であり、さまざまな方法で動作を感知することができる。たとえば、加速度計は加速の変化を検知することができ、コンパスは磁北極または南極のそれぞれへのオリエンテーションの変化を検知することができる。これらの動作の変化は、デバイス750によって検知され、本明細書に記載のプロセスおよび技法にしたがって、それぞれのデバイス750のディスプレイを更新するために使用可能である。
【０１０２】
本明細書に記載のシステムおよび技法のさまざまな実装が、デジタル電子回路、集積回路、特別に設計されたASIC(application specific integrated circuit、特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実施可能である。これらのさまざまな実装は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信する、ならびにそれらにデータおよび命令を送信するためにつながれた、特殊または汎用でもよい、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または通訳可能な、1つまたは複数のコンピュータプログラムへの実装を含みうる。
【０１０３】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサのための機械命令を含み、高レベルの手続きのおよび/もしくはオブジェクト指向のプログラミング言語に、ならびに/またはアセンブリ/機械言語に実装可能である。本明細書において、用語「機械可読媒体」、「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD)など)を参照する。用語「機械可読信号」は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を参照する。
【０１０４】
ユーザとの対話を提供するために、本明細書に記載のシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(CRT(ブラウン管)、またはLCD(液晶ディスプレイ)モニタなど)と、それによってユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス(マウス、またはトラックボールなど)とをもつコンピュータに実装可能である。他の種類のデバイスもまたユーザとの対話を提供するために使用可能であり、たとえば、ユーザに提供されるフィードバックは任意の形態の感覚的フィードバック(視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど)でもよく、ユーザからの入力は音響、音声、または触覚入力を含む、任意の方式で受信可能である。
【０１０５】
本明細書に記載のシステムおよび技法は、後置構成要素(データサーバとしてなど)を含む、またはミドルウェア構成要素(アプリケーションサーバなど)を含む、または前置構成要素(それを介してユーザが本明細書に記載のシステムおよび技法の実装と対話することができるグラフィカルユーザインタフェースもしくはウェブブラウザをもつクライアントコンピュータなど)を含む、コンピュータシステム、あるいは、かかる後置、ミドルウェア、または前置構成要素の任意の組合せに実装可能である。本システムの構成要素は、デジタルデータ通信(通信ネットワークなど)の任意の形態または媒体によって相互接続可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【０１０６】
そのコンピュータシステムは、クライアントおよびサーバを含みうる。クライアントおよびサーバは一般に、互いに遠隔であり、通常は通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で走り、互いにクライアント-サーバ関係をもつ、コンピュータプログラムに基づいて生じる。
【０１０７】
いくつかの実施形態が説明された。それでもなお、さまざまな修正形態が本発明の趣旨および範囲を逸脱することなく作られうることが理解されよう。たとえば、本明細書の多くは、メッセージングおよびマッピングアプリケーションに関して説明されているが、対話型番組案内、ウェブページナビゲーションおよびズーミング、その他のかかるアプリケーションなど、他の形態のグラフィカルアプリケーションもまた扱われうる。
【０１０８】
さらに、図に描かれた論理の流れは、所望の結果を得るために、示された特定の順序、または逐次的順序を必要としない。さらに、他のステップが提供可能であり、または、記載された流れからステップは削除可能であり、また、他の構成要素が記載されたシステムに追加可能であり、またはそこから取り除くことが可能である。したがって、他の実施形態は以下の特許請求の範囲内にある。
【符号の説明】
【０１０９】
400  システム
402  デバイス
404  タッチスクリーンディスプレイ
406  ロールボール
408  無線インタフェース
410  アプリケーション
412  ディスプレイ管理プログラム
414  入力管理プログラム
415  グリフインタープリタ
416  リスト、地図等
417  制御装置
418  ユーザデフォルト値
700  コンピュータデバイス
702  プロセッサ
704  メモリ
706  記憶デバイス
708  高速インタフェース
710  高速拡張ポート
712  低速インタフェース
714  低速母船
716  ディスプレイ
720  標準サーバ
722  ラップトップコンピュータ
724  ラックサーバシステム
750  コンピュータデバイス
752  プロセッサ
754  ディスプレイ
756  表示インタフェース
758  制御インタフェース
760  音声コーデック
762  外部インタフェース
764  メモリ
766  通信インタフェース
768  送受信機
770  送受信機モジュール
772  拡張インタフェース
774  拡張メモリ
780  携帯電話
782  スマートフォン
【図１（ａ）】
2012523633.tif 000003
【図１（ｂ）】
2012523633.tif 000004
【図１（ｃ）】
2012523633.tif 000005
【図１（ｄ）】
2012523633.tif 000006
【図１（ｅ）】
2012523633.tif 000007
【図１（ｆ）】
2012523633.tif 000008
【図２（ａ）】
2012523633.tif 000009
【図２（ｂ）】
2012523633.tif 000010
【図２（ｃ）】
2012523633.tif 000011
【図２（ｄ）】
2012523633.tif 000012
【図２（ｅ）】
2012523633.tif 000013
【図２（ｆ）】
2012523633.tif 000014
【図２（ｇ）】
2012523633.tif 000015
【図２（ｈ）】
2012523633.tif 000016
【図３（ａ）】
2012523633.tif 000017
【図３（ｂ）】
2012523633.tif 000018
【図３（ｃ）】
2012523633.tif 000019
【図３（ｄ）】
2012523633.tif 000020
【図３（ｅ）】
2012523633.tif 000021
【図３（ｆ）】
2012523633.tif 000022
【図３（ｇ）】
2012523633.tif 000023
【図３（ｈ）】
2012523633.tif 000024
【図５Ａ】
2012523633.tif 000025
【図５Ｂ】
2012523633.tif 000026
【図５Ｃ】
2012523633.tif 000027
【図５Ｄ】
2012523633.tif 000028
【図６Ａ】
2012523633.tif 000029
【図６Ｂ】
2012523633.tif 000030
【図７】
2012523633.tif 000031
【図４】
2012523633.tif 000032
【国際調査報告】
2012523633.tif 000033