説明

モバイルデータ処理デバイスのためのトラックボールシステムおよび方法

【課題】特定の状況下においてグラフィカル要素間のカーソル移動を一時的に妨げるための論理障壁を利用するグラフィカルユーザインターフェイスを提供する。
【解決手段】GUIは、第1の複数の選択可能グラフィカル要素を含む第1の予め定義された領域と、第2の複数の選択可能グラフィカル要素を含む第2の予め定義された領域と、第1の予め定義された領域および第2の予め定義された領域の間の論理障壁とを備える。上記論理障壁は、第2の予め定められた領域内のグラフィカル要素の方向に向けられたユーザ入力に応答して、第1の予め定められた領域内のグラフィカル要素から第2の予め定められた領域内のグラフィカル要素への移動を一時的に妨げるように構成される。また、上記論理障壁は、ユーザ入力デバイスによって生成された、指定された時間期間および/または指定された移動量に対して移動を一時的に妨げる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、データ処理デバイスの分野に関する。より詳細には、本発明は、データ処理デバイスのための多用途な入力/出力および表示の構成に関する。
【背景技術】
【0002】
携帯情報端末(「PDA」)などの、ポータブルデータ処理デバイスおよびプログラム可能な無線電話は、日々ますます強力なものになりつつあり、以前はパーソナルコンピュータでしか使用できなかった幅広いアプリケーションをユーザに提供している。同時に、シリコン処理技術およびバッテリ技術の進歩により、これらのデバイスはさらにいっそう小さなフォームファクタを使用して製造することができるようになっている。したがって、ユーザはもはや、パーソナルデータ処理デバイスを選択する際、携帯性のために処理能力を犠牲にする必要はない。
【0003】
小さなフォームファクタの処理デバイスは、より携帯性が優れている傾向があるが、ユーザは、そのような装置と対話することが困難になってきていると感じている可能性がある。例えば、フルサイズのキーボードがないためにデータを入力することが難しい場合があり、小型の、場合によっては暗い液晶ディスプレイ(「LCD」)のために情報を読むことが難しい場合もある。
【0004】
そうした問題の一部を解決するために、本出願人は、それぞれ「Sidekick」および「SidekickII」として商業的に知られている2つのデータ処理デバイスを開発した。Sidekickを、図1a〜cに図示している。このデータ処理デバイス100は、キーボード101、コントロールノブ/ホイール102(例えば、メニューアイテムおよび/またはデータ間をスクロールするため)、およびコントロールボタン105のセット(例えば、メニューアイテムおよび/またはデータを選択するため)を含む。
【0005】
ディスプレイ103は、データ処理デバイス100に枢動可能に結合され、ピボット領域104内に位置するピボットポイント109を枢軸として、図1aに示される第1の位置から図1b〜cに示される第2の位置まで動く。第1の位置にあるとき、ディスプレイ103はキーボード101を覆い、それによりデバイス100のサイズを減少させてキーボード101を保護する。しかし、ディスプレイが第1の位置にある場合であっても、コントロールノブ102およびコントロールボタン105は露出しているので、ユーザによってアクセス可能である。図1a〜bに図示される第1の位置から第2の位置へのディスプレイ103の動きは、動きの矢印106によって示される。図示されているように、第2の位置にあるとき、キーボード101は完全に露出している。したがって、第1の位置および第2の位置のいずれにあっても、ユーザは、ディスプレイを見ることができ、データにアクセスすることができる(ただし、キーボードへのアクセスが提供されるのは第1の位置のときに限られる)。
【0006】
一実施形態において、データ処理デバイス100には、音声電話(例えば、携帯電話)の機能も提供されている。音声電話機能をサポートするため、図1a〜cに図示される実施形態は、電話の会話中に聞くためのスピーカ120および話すためのマイクロフォン121を含む。特に、スピーカ120およびマイクロフォン121は、データ処理デバイス100の両端部に配置され、画面103が閉じた位置にあるときも開いた位置にあるときもアクセス可能である。
【0007】
SidekickIIを、図2a〜bに図示する。このデータ処理デバイス200は、例えば、英数字キーボード305およびコントロールホイール230を見せるピボットディスプレイ205など、Sidekickと同じ多くの機能を含む。加えて、SidekickIIは、カーソルコントロール操作を実行するための方向指示パッド245、ならびに内蔵スピーカ246およびLED(図示せず)を含む。
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述のように、これらの装置およびその他の装置のコントロールホイール102および230を使用して、メニューアイテムおよび/またはデータ入力フィールドなど、アイテムのリスト内をスクロールすることができる。しかし、スクロールホイールの1つの制約は、一次元内でのナビゲーションしか可能ではないことである。例えば、コントロールホイール112を操作することによって、ユーザは、画面の方向に関して「上」または「下」(あるいは、ユーザインターフェイスがプログラムされている方法によっては「左」または「右」)のいずれかに、グラフィカル選択要素を動かすことができる。しかし、このコントロールホイールは、ユーザが、画面上の任意の所望の方向にナビゲートすることを可能にすることはできない。したがって、モバイルデバイスのグラフィカルインターフェイス内でナビゲートするためのさらに柔軟なユーザインターフェイスのソリューションが必要とされる。
【課題を解決するための手段】
【0009】
以下では、ある特定の状況下においてグラフィカル要素間のカーソル移動を一時的に妨げるための論理障壁(logical barrier)を利用するグラフィカルユーザインターフェイスについて説明する。例えば、本発明の一実施形態は、プログラムコードを格納するためのメモリと、該プログラムコードを処理してグラフィカルユーザインターフェイス(GUI)を生成するためのプロセッサとを有するデータ処理デバイスを備える。該GUIは、第1の複数の選択可能グラフィカル要素を含む第1の所定の領域と、第2の複数の選択可能グラフィカル要素を含む第2の所定の領域と、第1の所定の領域と第2の所定の領域との間の論理障壁を含む。該論理障壁は、第2の所定の領域内のグラフィカル要素に方向に向けられたユーザ入力に応答して、第1の所定の領域内のグラフィカル要素から第2の所定の領域内のグラフィカル要素への移動を一時的に妨げるように構成される。該GUIは、ユーザ入力デバイスによって生成された移動について指定された時間期間および/または指定された移動量に対して、移動を一時的に妨げる。
【0010】
以下の詳細な説明と添付の図面により、本発明のより良い理解が得られるであろう。
【図面の簡単な説明】
【0011】
【図1a】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である。
【図1b】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である
【図1c】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である
【図2a】コントロールホイールおよび表示装置をディスプレイを有する従来技術の別のデータ処理デバイスを示す図である。
【図2b】コントロールホイールおよび表示装置をディスプレイを有する従来技術の別のデータ処理デバイスを示す図である。
【図3a】トラックボールを有するデータ処理デバイスの一実施形態を示す図である。
【図3b】トラックボールを有するデータ処理デバイスの一実施形態を示す図である。
【図4a】トラックボールを使用してグラフィカルユーザインターフェイス内をナビゲートするための方法の一実施形態を示す図である。
【図4b】トラックボールを使用してグラフィカルユーザインターフェイス内をナビゲートするための方法の一実施形態を示す図である。
【図4c】本発明の実施形態を実装することができる例示的なGUIを示す図である。
【図5a】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図5b】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図5c】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図5d】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図5e】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図5f】図4a〜bの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図6a】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図6b】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図6c】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図7】グラフィカルユーザインターフェイス内でテキストを選択するための本発明の一実施形態を示す図である。
【図8】本発明の一実施形態によるテキストを選択するためのさらなる技法を示す図である。
【図9a】本発明の一実施形態によるグラフィカルユーザインターフェイス内で利用されるさらなるナビゲーション技法を示す図である。
【図9b】本発明の一実施形態によるグラフィカルユーザインターフェイス内に利用されるさらなるナビゲーション技法を示す図である。
【図10a】本発明の一実施形態による論理境界の実施形態を示す図である。
【図10b】本発明の一実施形態による論理境界の実施形態を示す図である。
【図10c】本発明の一実施形態による論理境界の実施形態を示す図である。
【図10d】本発明の一実施形態による論理境界の実施形態を示す図である。
【図10e】本発明の一実施形態による論理境界の実施形態を示す図である。
【発明を実施するための形態】
【0012】
以下の記述において、説明の目的で、本発明の完全な理解を提供するために多くの具体的な詳細が示される。しかし、本発明はこれらの具体的な詳細の一部を用いることなく実施できることは当業者には明らかであろう。他の例において、本発明の基本的な原理を不明瞭になることを避けるために、周知の構造およびデバイスをブロック図の形式で示している。
【0013】
モバイルデータ処理デバイスにおけるトラックボールを実装するためのいくつかの異なる技法を、以下で説明する。以下の説明から明らかとなるように、これらの構成の多くは、携帯情報端末(「PDA」)などの2つの目的に用いられるデータ処理デバイス、または無線電話機能を統合した他のモバイルコンピューティングデバイス(例えば、PDAと携帯電話の組み合わせ)で利用されると特に有利である。しかし、本発明の基本的な原理は無線電話機能の構成には限定されないことに留意されたい。
【0014】
本発明の一実施形態にかかるデータ処理デバイス300を、図3a〜bに図示する。上述した従来のデータ処理デバイスとは異なり、このデータ処理デバイス300は、データ処理デバイスのディスプレイ305に表示されるグラフィカルイメージおよびテキストをナビゲートするためのトラックボール301を含む。さらに、一実施形態において、トラックボール301を、データ処理デバイスに押し下げるようにクリックして、選択機能(しなわち、標準マウスボタンによって提供される機能と同様の機能)を生成することができる。
【0015】
一実施形態において、データ処理デバイス300のディスプレイは、上述の従来のデータ処理デバイスにおけるディスプレイに合致する。例えば、一実施形態において、ディスプレイ305は、データ処理デバイス300に枢動可能に結合され、ピボットポイント309を枢軸として、図3aに図示される第1の位置から図3bに図示される第2の位置まで動く。
【0016】
第1の位置にあるとき、ディスプレイ305はキーボード306を覆い、それによりデバイス300のサイズを減少させてキーボード306を保護する。しかし、ディスプレイが第1の位置にあるときであっても、トラックボール301および方向指示パッド345などのコントロールボタンは露出しているので、ユーザによるアクセスが可能である。図3bに図示されているように、第2の位置にあるとき、キーボード306は完全に露出している。したがって、第1の位置および第2の位置のいずれの場合でも、ユーザは、ディスプレイを見ることができ、データにアクセスすることができる(ただし、キーボードにアクセスできるのは第1の位置のときに限られる)。
【0017】
一実施形態において、データ処理デバイス300には、音声電話(例えば、携帯電話)機能も提供されている。音声電話機能をサポートするため、図3a〜bに図示される実施形態は、電話の会話中に聞き取るためのスピーカ346(方向指示パッドに組み込まれる)および話すためのマイクロフォン321を含む。特に、スピーカ346およびマイクロフォン321は、データ処理デバイス300の両端に配置され、画面305が閉じた位置および開いた位置にあるときもアクセス可能である。
【0018】
ポータブルデータ処理デバイスにトラックボール301を実装することには、いくつかの特有の課題が存在する。例えば、比較的小型のディスプレイ画面は、真の「ポイントアンドクリック」環境(例えば、ポインタを移動して画面上の任意のグラフィックをクリックする機能がユーザに提供されているWindows(登録商標)環境など)には十分なスペースをもたらすことはできない。すなわち、データ処理デバイスディスプレイ上に表示されるグラフィックスは、あまりに小さく、しかも近接しているので、カーソルを正しい位置まで移動してアイコンを識別することは困難であることがある。さらに、モバイルデバイスの場合、ユーザは、標準的なパーソナルコンピュータと同様には集中できないことも多い(例えば、ユーザはモバイルデバイスを使用しているとき、机の前で座ってはいない)。したがって、トラックボールで使用するための簡易化されたナビゲーション技法が必要とされる。
【0019】
本発明の一実施形態において、ナビゲーションを簡単にするために、トラックボールのユーザ操作に応答して、「選択要素」または「選択グラフィック」は、ユーザインターフェイス内に表示される、限られた数の選択可能ユーザインターフェイス要素(例えば、データフィールド、メニューアイテム、テキストなど)を通じてトラバースする。この手法は、ユーザによる不必要なトラックボールの動きをなくして、ユーザの間違いを防ぎ、グラフィカルナビゲーションを可能な限り効率的なものにする。
【0020】
一般的なトラックボールのナビゲーション
トラックボール入力デバイスを使用して要素を選択する方法の一実施形態を、図4a〜bに示す。「要素(element)」という用語は、このコンテキストにおいて、例えばデータ入力フィールド、メニューアイテム、テキスト、およびグラフィカルアイコンを含むディスプレイ画面上の任意のタイプのイメージを示すのに広く使用される。図4a〜bの説明の後に、図5a〜fのグラフィカルユーザインターフェイス内の一連の具体的な例を提供される。
【0021】
図4aを参照すると、401において、データ処理デバイスは、ユーザからのトラックボール入力を登録する。402において、ユーザ入力が主として水平入力(例えば、左または右)、または垂直入力(例えば、上または下)のいずれであるかについて判定が行われる。ユーザがトラックボールを実質的に任意の方向にスクロールするとすれば、入力は、意図せずに、水平成分および垂直成分の両方を含むことがある。データ処理デバイス300の一実施形態は、入力の相対的な水平成分および垂直成分に基づいて(すなわち、入力は水平および垂直成分の両方を持つベクトルである)、入力が「水平」入力であるか、または「垂直」入力であるかを判定する。入力が相対的に大きい水平成分を有する場合、その後のトラックボールの移動は引き続き水平方向に偏ることになる。逆に、入力が相対的に大きい垂直成分を有する場合、その後のトラックボールの移動は垂直方向に偏ることになる。
【0022】
入力が垂直と識別された場合、プロセスは、図4b(以下で説明される)に流れる。入力が水平と識別された場合、プロセスは、要求された動きについて手動のオーバーライドが存在するかどうかの判定が行われる403に流れる。例えば、場合によっては、ユーザインターフェイス内の要素を選択するための以下で説明される中核(core)技法が望ましくないこともある。このような場合、ユーザインターフェイスのプログラマーは、ユーザインターフェイスの所望の操作を手動で識別することができる。例えば、以下で説明される技法により、ユーザが選択したいと望む要素である可能性の低い要素が選択される場合、手動オーバーライドにより、別の(より望ましい可能性の高い)要素が選択されるようになる。
【0023】
手動オーバーライドが存在しない場合、405において、現在の要素によって占有された水平線と同じ水平線内に、要素が存在するかどうかについて判定が行われる。すなわち、現在の要素と少なくとも一部重複する垂直座標を含む別の要素が存在するかどうかが判定される。例えば、図4cにおいて、要素453および454は、各々の垂直座標の少なくとも一部が重複するので、要素452と同じ水平「線」内にある。
【0024】
現在の要素と同じ水平線内に要素がない場合、406において、新しい要素は選択されない。例えば、ユーザがトラックボール301を左/右にスクロールしたとき、左/右(現在の要素によって占有された垂直座標の範囲内)に要素が存在しない場合、新しい要素は選択されない。
【0025】
しかし、現在の要素によって定義された垂直座標の範囲内に要素が存在する場合、407において、重複する垂直座標を持つ2つ以上の要素が存在するかどうかについて判定が行われる。存在する場合、406において、1つの要素が選択される。存在しない場合、409において、トラックボールの動きの方向に最も近い同じ水平線内の要素が選択される。例えば、図4cにおいて、要素452が現在選択されており、ユーザが右にわずかに上方向にスクロールする場合、要素453が選択される。反対に、要素452が現在選択されており、ユーザが右にわずかに下方向にスクロールする場合、要素454が選択される。代替として、一実施形態において、相対的に大きい垂直座標を持つ要素(すなわち、ディスプレイの上端に相対的に近い要素、例では要素453)が自動的に選択される。
【0026】
図4bは、垂直の動き(すなわち、トラックボールをディスプレイに対して上または下に動かすこと)に応答して、要素を選択するプロセスを示す。410において、手動オーバーライドが存在するかどうかについて判定が行われる。存在する場合、411において、手動オーバーライドに従って新しい要素が選択される。存在しない場合、412において、現在の要素に垂直方向に最も近い要素Xが識別される。例えば、図4cにおいて、要素450に垂直方向に最も近い要素は、要素451である。413において、現在の要素に最も近い左端の座標を持つ、要素Xと同じ水平線内にある要素(または、同じ水平線内に他の要素がない場合は要素X)が選択される。例えば、図4cにおいて、要素452の左端の座標460が要素450の左端の座標461に最も近い(例えば、要素453の左端の要素462よりも水平軸上で近い)ので、要素452が、要素450から下方向への移動に応答して選択される。
【0027】
様々な代替および/または追加の技法を使用し、トラックボール信号に応答して次の要素を選択することができる。例えば、一実施形態において、垂直または水平の移動信号に応答して、それぞれ現在の要素と重複している最大の水平範囲または垂直範囲を有する要素を選択することができる。本発明の基本的な原理に従いつつ、次の要素を選択するための様々な他の技法を使用することができる。
【0028】
図5a〜fは、前述のプロセスの具体的な例(手動オーバーライドが存在しないと仮定する)を図示する。図5aは、アイコンを選択するためのアイコンピッカー要素502と、ユーザの名前およびニックネームを入力するためのデータ入力フィールド503〜506とを備えるデータ入力ボックス501を図示する。アイコンピッカー要素502が最初に(図示されるように)選択され、ユーザが右方向に水平にスクロールする場合、2つのデータ入力フィールド503〜504が、アイコンピッカー要素502と重複する垂直座標を有する(すなわち、これらのフィールドはいずれも大抵はアイコンピッカー要素502の右にある)ことを判定する。したがって、相対的に高い垂直座標を有するデータ入力フィールドが選択されるが、この例においては「first name(ファーストネーム)」フィールド503が選択される。ここで、ユーザが下方に垂直にスクロールする場合、データフィールド504〜506が連続して選択される。ユーザが、データ入力フィールド505または506から左へスクロールする場合、これらのフィールドの左側にはこれらのフィールドと重複する垂直座標を有する要素がないので、新しい要素が強調表示されることはない。対照的に、ユーザが、データ入力フィールド503または504から左へスクロールする場合、アイコンピッカー要素はこれらのフィールドと重複する垂直座標を共有するので、アイコンピッカー要素が選択される。
【0029】
図5bは、Job Title(仕事の名称)510、Company(会社)511、およびBirthdate(誕生日)512のデータ入力フィールド、ならびにMonth Picker要素513を含む、別のデータ入力ボックスを図示する。現在選択されている要素がCompanyフィールド511であり、ユーザがトラックボールを使用して下にスクロールする場合、Company要素511の左端の座標が、Birthdate要素の左端の座標に最も近いので、Birthdateフィールド512が選択される。
【0030】
図5cは、Label520、Street(通り)521、City(市町村)522、State(州)523、Zip(郵便番号)524、およびCountry(国)525のデータ入力フィールドを含む、Address(住所)データ入力ボックスを図示する。現在選択されている要素がStateフィールド523であり、ユーザがトラックボールを使用して下にスクロールする場合、Countryフィールド525の左端の座標が、Stateフィールド523の左端の座標に最も近いので、Countryフィールド525が選択される。同様に、現在選択されている要素がCountryフィールド525であり、ユーザがトラックボールを使用して上にスクロールする場合、Stateフィールド523の左端の座標が、Stateフィールド525の左端の座標に最も近いので、Stateフィールド523が選択される。
【0031】
図5dは、Event(イベント)名530、Location(場所)531のデータ入力フィールド、開始日フィールド532、開始日の月ピッカーボックス(picker box)533、開始日の時刻ピッカーボックス534、終了日フィールド535、終了日の月ピッカーボックス536、および終了日の時刻ピッカーボックス537を含む、カレンダイベント情報を指定するためのデータ入力ボックスを図示する。この例において、終了日の月ピッカーボックス536が現在選択されており、ユーザが上にスクロールする場合、月ピッカーボックス536の左端の座標が、月ピッカーボックス533の左端の座標に最も近いので、開始日の月ピッカーボックス533が選択される。したがって、開始日フィールド532および時刻ピッカーボックス534のほうが垂直方向に1ピクセルだけ近い場合であっても、月ピッカーボックス533が選択される。本発明の一実施形態は、開始日フィールド532、月ピッカーボックス533、および時刻ピッカーボックス534が同じ水平線内にあるので、これらを最初にグループ化し、次いで最も近い左座標を有するものを選択する。
【0032】
図5eは、(他の要素の中でも特に)Untilチェックボックス540およびReminderチェックボックス541を含む別の例を図示する。この例において、現在選択されている要素がReminderチェックボックス541であり、ユーザがトラックボールを使用して上にスクロールする場合、Untilチェックボックス540の左端の座標が、Reminderチェックボックス541の左端の座標に最も近いので、Untilチェックボックス540が選択される。
【0033】
同様に、図5fは、Default reminderデータ入力フィールド550、時(hour)データ入力フィールド551、および分(minute)データ入力フィールド552を含む例を図示する。この場合、現在選択されている要素がDefault reminderデータ入力フィールド550であり、ユーザがトラックボールを使用して上にスクロールする場合、分データ入力フィールド552の左端の座標が、Default reminderデータ入力フィールド550の左端の座標に最も近いので、分データ入力フィールド552が選択される。
【0034】
テキストフィールドの迅速な編集
本発明の一実施形態は、トラックボール301を使用してテキスト入力フィールドをナビゲートして編集するための技法を利用する。具体的には、この実施形態において、トラックボール300をスクロールすることにより、テキスト入力フィールドの各々を、前述の技法に従って(例えば、垂直に動く場合は左端のデータフィールドの座標に基づいて、および水平に動く場合は重複する垂直座標に基づいて)選択することができる。特定のテキスト入力フィールドが最初に選択されると、そのフィールドは、「フォーカス(focus)」され、そのテキストフィールド全体が選択されることを示すように強調表示される。この段階において、キーボード306をタイプ入力すると、そのフィールド内の現在のテキストが新しく入力されたテキストに置き換えられる。これとは対照的に、トラックボール301でデータ処理デバイス300にクリックするか、または方向指示パッド345をクリックすることにより、カーソルはテキスト入力フィールドに入り、これによりユーザはテキストを編集することができるようになる。テキスト内および/またはテキストの最後においてカーソルでトラックボール301をスクロールすることにより、新しいフィールドが選択され、フォーカスされる。これとは対照的に、この段階において方向指示パッド345をクリックすることにより、カーソルは、選択されたフィールドのテキスト間を移動する。
【0035】
図6a〜cは、前述の操作の例を提供する。図6aにおいて、Street602を入力するためのテキスト入力フィールドが最初に選択されている。テキスト入力フィールド全体が強調表示されて、テキスト入力がフィールド602の現在の内容に置換されることになることが示されている。さらに、従来のユーザインターフェイスとは異なり、テキスト入力フィールドのラベル(例えば、「State」)が、そのフィールド自体の中にテキストとして提供される。ユーザがトラックボールを左にスクロールすることに応答して、ここではCityフィールドが強調表示される。図示されている例において、ユーザは番地(street number)をタイプ入力し、次いでトラックボールで下にスクロールして、City603を入力するためのテキスト入力フィールドが強調表示されるようにする。ユーザが市区町村(city label)のタイプ入力を始めると、図6bに図示されているようにCityラベルが置換される。市区町村が入力された後に右方向へスクロールしたことに応答して、State604を入力するためのテキスト入力フィールドが強調表示される。ユーザがテキストを入力せずに左にスクロールした場合、図6bに図示されているように、前に入力された市区町村のテキスト全体が強調表示される。次いでユーザが削除ボタンを選択するか、または任意のテキストをタイプ入力した場合は、図6cに図示されているように、Cityテキスト入力フィールドの内容はそれぞれ削除されるかまたは置き換えられる。
【0036】
一実施形態において、カーソルが現在のテキスト入力フィールド内のテキストの先頭または最後にあり、カーソルがそれぞれ左または右にスクロールされる場合、あるいは、カーソルの位置には関わらず、トラックボールが上または下にスクロールされる場合に限って、トラックボールの動きに応答して新しいテキスト入力フィールドが選択される。例えば、図6bの第1のフレームに示されるように、カーソルがテキスト入力ボックス603内のテキストの右側に位置しており、ユーザが右にスクロールする場合、新しいテキスト入力フィールド604が選択される。しかし、一実施形態において、この状況のもとでユーザが左にスクロールする場合、カーソルは応答して、テキストの先頭に到達するまでテキスト入力ボックス602内のテキストを一度に1文字ずつ移動する。
【0037】
代替として、一実施形態において、トラックボールをスクロールすることにより、カーソルの位置には関わらず、別のフィールドが強調表示される。この実施形態において、カーソルは、トラックボールではなく方向指示パッドを介して移動される。
【0038】
テキストの選択
本発明の一実施形態は、例えば、Webページまたは電子メールメッセージを見るときなど、「読み取り(reading)」モードにあるときに、トラックボール301を使用してテキストを選択する技法を提供する。これらの技法を、図7に関して説明する。
【0039】
この実施形態において、ユーザは、テキスト、ハイパーリンク、およびグラフィックスを含む、電子メールメッセージのページを読んでいる。ページをナビゲートするための3つの操作モードが提供される。すなわち、「標準(standard)」モード、「対象設定/選択(targeting/selecting)」モード(以下、「対象設定」モードとする)、および「選択(selection)」モードという、3つの操作モードが提供される。ウィンドウ700に示される標準モードにある場合、トラックボール301の移動に応答して、ハイパーリンクのみが選択される。すなわち、ユーザがトラックボールをスクロールすることに応答して、強調表示機能は、非ハイパーリンクテキストをすべて飛び越えて、あるハイパーリンクから次のハイパーリンクへとジャンプする。このモードは、標準的なWebブラウズ操作に使用されることがある。
【0040】
一実施形態において、ユーザは、メニューからコマンドを選択することによって、あるいは、指定のショートカットキー(例えば、キーボード306からシフトキー)を押すことおよび/または押したままにすることにより、デバイスを「対象設定」モードにすることができる。対象設定モードにある場合、ハーパーリンクテキスト、非ハイパーリンクテキスト、およびグラフィカル要素が、トラックボールの動きに応答して選択される。具体的には、ユーザがトラックボールを動かすと、強調表示機能は、(ハイパーリンクされている語だけではなく)トラックボールの動きの方向に連続して各語を強調表示する。ウィンドウ701に示されているように、強調表示機能は、色を変更することができ、ハイパーリンクされた語に使用される書式設定は、デバイスが対象設定モードにあることを示すように変更することができる。ユーザは、所望のテキスト選択ポイントの先頭を標準モード(先頭がハイパーリンクである場合)または対象設定モードのいずれかに位置付けることができる。
【0041】
所望のテキスト選択ポイントの先頭が識別されると、ユーザは、指定のショートカットキー(例えば、Shift)を押しながらトラックボールを動かすことによって選択モードに入り、隣接するテキストの一部分を選択することができる。一実施形態において、指定されたショートカットキーを押したままにすると、連続する各々のさらなる語が、現在選択されている語とともに強調表示される。これは、ウィンドウ702において図示されている。次いでユーザは、(例えば、メニューからのコピーコマンドまたは指定のキーの組み合わせを使用して)テキストをコピーするか、あるいは、テキストの別の部分を選択できるようにショートカットキーを解放してトラックボールを動かすことによって位置決め状態に戻ることができる。
【0042】
前述のように単語(word)単位ベースで選択することは効率的であり、文字(character)単位ベースで選択することに比べて間違いが発生しにくい。しかし、本発明の基本的な原理は、文字単位の選択を使用して実施することもできる。
【0043】
単語単位の選択が利用されると仮定すると、一実施形態において、「単語」は、(a)1つまたは複数の文字(letter)、(b)1つまたは複数の桁、スペースのブロック、(c)1つの句読点/記号/特殊文字のいずれかであると定義される。このようにして、テキスト選択の状況の大部分は容易に把握される。前述の特徴は、数字、文字、および他の特殊文字の例示的なシーケンス、sapien123 1−2234−56!!!を示す図8において説明される。前述の対象設定の動きに応答して、「sapien」という文字のシーケンスは、後に続く数字のセット(「123」)から論理的に分離される。このことは、文字と数字の間にスペースが存在しない場合であってもあてはまる。ユーザが、指定されたコントロールキー(例えば、Shift)を押しながら、ホイールを右にスクロールすると、123、スペース、1、−、2234、−、566、!、!、!という文字が連続して選択される。したがって、システムは、ダッシュによって分離された数字をまとめて選択し(例えば、2234)、ダッシュ、スペース、および感嘆符などの特殊文字を個別に強調表示する。前述のアルゴリズムの目的は、効率的であり、しかもユーザによって意図される可能性が最も高い選択(例えば、上記の例では、ユーザが2234の一部分のみを強調表示することを望む可能性は低い)を反映する選択機構を提供することである。
【0044】
ブラウザのナビゲーション
一実施形態において、Webブラウザのナビゲーションを改善するために特殊リンクナビゲーション機能が提供される。例えば、モバイルデバイス上のある特定のWebページで、ハイパーリンクは任意に配置されてもよく、様々なサイズおよび長さを有することができる。その結果、ユーザは、トラックボールを上、下、左、または右にロールした後にどのリンクが強調表示されるかを知ることに苦労する場合もある。例えば、図9aにおいて、メールアイコン901は現在強調表示されているリンクであるが、ユーザが下にスクロールすると(例えば、MoviesまたはHoroscope)、どのリンクが強調表示されることになるかは明らかではない。
【0045】
これらの問題を解決するため、本発明の一実施形態は、現在のリンクから遠ざかるトラックボールの動きに応答して、選択される可能性があるリンクを視覚的に特定する。図9bにおいて、現在のリンクは「People Search」902である。選択される可能性があるリンクを示すため、ユーザがトラックボールをスクロールした場合、可能性のあるリンクが透明色で強調表示される。さらに、移動の様々な方向を区別するため、左/右へのリンクは、現在のリンク902の上/下のリンクとは異なる色で提供される。図示されている例では、Mapリンク903およびTVリンク904は紫で色付けされ、Newsリンク905およびPersonalsリンク906はグレーで色付けされる。さらに、一実施形態において、リンクが現在の要素から遠ざかるほど、それに応じてリンクに関連付けられている透明度値も高くなる(例えば、Geocitiesリンク907は、Mapsリンク903よりも高い透明度値を有するので、より透明である)。ユーザが新しいリンクに移動すると、それに応じて強調表示は再生成される。
【0046】
論理障壁(Logical Barriers)
本発明の一実施形態は、ウィンドウと他のグラフィカル要素との間の論理障壁を利用して、ユーザが不注意で誤った方向にナビゲーションすることを防ぐ。例えば、ユーザがトラックボール301でメニュー構造を下にスクロールしようとして、間違って右または左にスクロールした場合、本発明のこれらの実施形態は、右および/または左の入力をすぐに登録することはない。
【0047】
図10a〜bは、カレンダプログラムの2つの月の間の論理障壁の一実施形態を示す図である。図10aにおいて、9月(September)がウィンドウ1000に示されおり、10月(October)がウィンドウ1003に示されている。この特定の例において、ユーザは、9月13日から9月27日にトラックボールを下にスクロールする(ブロック1001)。9月27日が強調表示されると、論理障壁は最初に、さらなる下方へのスクロールの動きに応答して強調表示が10月のウィンドウ1003に移動しないように防ぐ。一実施形態において、論理障壁は、ユーザが何の影響もなく下方へのスクロールを続けることができる短い時間期間(例えば、4/10秒、1/2秒など)を含む。代替または追加として、論理障壁は、下向き方向への指定の回転量(例えば、トラックボールにおける下方向「クリック」の指定の数)を含む。短い時間期間および/または下方向の動きの量の後で、トラックボール301のさらなる下方向スクロールは、強調表示を10月のウィンドウ1003内の10月4日の日付1002に移動させる。一実施形態において、論理障壁はユーザ設定可能であり、指定の時間および/または適度な下方向スクロールが論理障壁として使用されるべきかどうかをユーザが指定できる。
【0048】
図10bは、同一の全般的原理を週間カレンダビューで示す。この例において、11月15日水曜日(Wednesday、Nov 15)のエントリ1005は最初、11/12/06の週(ウィンドウ1006)内で選択される。トラックボールを右にスクロールすることに応答して、11/15から11/18までの各々の日付が連続して強調表示される。ウィンドウ1006内の最後の日付(11/18)が強調表示されると、論理障壁は最初に、さらなる右方向へのトラックボールの動きに応答して次のウィンドウ1008が表示されることを防ぐ。指定された時間(例えば、4/10秒、1/2秒など)および/またはトラックボールに対する指定量のさらなる右方向の動きの後で、カーソルは、新しいウィンドウ1008の最初の日付エントリ1007に移動する。
【0049】
図10c〜eは、本発明の一実施形態にかかる、階層的なメニュー構造において不注意によるトラックボールの移動を防止するための「レールガード(rail guard)」と呼ばれる、ある特定のタイプの論理障壁を図示する。具体的には、図10cは、トラックボール301の上/下へのスクロールの動きを介して選択されうる複数の選択可能な要素を有するドロップダウンメニュー1010を示す。要素1011などの特定の要素は、(一部の要素に表示されている右向き矢印で示されるように)それらの要素に関連付けられたサブ要素を有する。ユーザは、要素1011が強調表示されると、トラックボール301を右にスクロールして、サブ要素を表示させる。例えば、図10dに図示されるように、要素1011上で右にスクロールすると、「Airplane Mode」サブ要素のセットが表示される。
【0050】
本発明の一実施形態において、「レールガード」論理障壁を各要素の上に構成して、不注意による右/左へのスクロールの動きに応答してサブ要素が表示されることを防ぐ。より具体的には、サブ要素は、垂直の動きが停止した後の指定された時間(例えば、1秒の2/10)後に限り、右方向への動きに応答して選択される。したがって、垂直の動きが停止した後の指定された時間内に生じる任意の水平の動きは、偶発的なものと見なされて無視される。代替または追加として、サブ要素は、トラックボールに対する指定された量のさらなる右方向の動きの後に限り選択されてもよい。
【0051】
本発明の一実施形態において、同様の概念は、図10eに図示されるようなグラフィックによる循環メニュー構造に適用される。すなわち、要素10などの特定のメニュー要素は、関連するサブメニュー要素を有し、サブメニュー要素は、指定された時間の後および/またはトラックボールの指定された量のさらなる右方向の動きの後にのみ、右方向の動きに応答して選択される。
【0052】
前述の論理障壁の最終的な成果は、ウィンドウまたは他のグラフィカル要素の端でのユーザによる不注意な動きが、それぞれ隣接するウィンドウおよび/または他のグラフィカル要素に望ましくない移動をもたらすことがなく、それによりユーザのナビゲーション経験を向上させることである。
【0053】
本発明の実施形態は、上記で説明されているように様々なステップを含むことができる。ステップは、マシン実行可能命令において具現することができる。それらの命令は、汎用または特殊用途のプロセッサに特定のステップを実行させるために使用することができる。代替として、これらのステップを、ステップを実行するためのハードウェア論理を含む特定のハードウェアコンポーネントにより、あるいはプログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより実行することもできる。
【0054】
本発明の要素はまた、マシン実行可能命令を格納するためのマシン読み取り可能媒体として提供することもできる。マシン読み取り可能媒体は、フロッピー(登録商標)ディスケット、光ディスク、CD−ROM、および光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気または光カード、伝搬媒体、または電子命令の格納に適した他のタイプの媒体/マシン読み取り可能媒体を含むことができるが、これらには限定されない。例えば、本発明は、通信リンク(例えば、モデムまたはネットワーク接続)を介して搬送波または他の搬送媒体で具現されるデータ信号により、リモートコンピュータ(例えば、サーバ)から要求側コンピュータ(例えば、クライアント)に転送することができるコンピュータプログラムとしてダウンロードすることができる。
【0055】
前述の説明全体にわたり、説明の目的で、本発明の十分な理解をもたらすために多くの具体的な詳細を説明した。しかし、本発明はこれらの具体的な詳細の一部を伴うことなく実施できることは当業者には明らかであろう。したがって、本発明の範囲および主旨は、添付の特許請求の範囲に関して判断されるべきである。

【特許請求の範囲】
【請求項1】
トラックボールを用いて複数のテキスト入力フィールドを通じてナビゲートするためにコンピュータによって実行される方法であって、
第1のテキスト入力フィールドが選択されたとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記第2のテキスト入力フィールドと同じ水平線内にある第3のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離が、前記第2のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて、前記第1のテキスト入力フィールドに垂直方向に最も近接している第2のテキスト入力フィールド、または前記第2のテキスト入力フィールドと同じ水平線内にある前記第3のテキスト入力フィールドのいずれか一方を選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
カーソルが前記第1のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きであるとき、またはカーソルが前記第1のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きであるとき、前記トラックボールの動きの方向に最も近接している、前記第1のテキスト入力フィールドと同じ水平線内にある第4のテキスト入力フィールドを選択するステップと
を含むことを特徴とする方法。
【請求項2】
前記概ね垂直な動きに応答して、前記第1のテキスト入力フィールドから第5のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうか判定するステップと、
前記手動オーバーライドに応答して前記第5のテキスト入力フィールドを選択するステップと
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
コンピュータによって実行されると、前記コンピュータに、
テキスト入力フィールドのグループのうちの第1のテキスト入力フィールドが選択されたとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記第2のテキスト入力フィールドと同じ水平線内にある第3のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離が、前記第2のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて、前記第1のテキスト入力フィールドに垂直方向に最も近接している第2のテキスト入力フィールド、または前記第2のテキスト入力フィールドと同じ水平線内にある前記第3のテキスト入力フィールドのいずれか一方を選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
カーソルが前記第1のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きであるとき、またはカーソルが前記第1のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きであるとき、前記トラックボールの動きの方向に最も近接している、前記第1のテキスト入力フィールドと同じ水平線内にある第4のテキスト入力フィールドを選択するステップと
を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項4】
前記コンピュータに、
前記概ね垂直な動きに応答して、前記第1のテキスト入力フィールドから第5のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうかを判定するステップと、
前記手動オーバーライドに応答して前記第5のテキスト入力フィールドを選択するステップと
を実行させるプログラムをさらに記録したことを特徴とする請求項3に記載のコンピュータ読み取り可能な記録媒体。
【請求項5】
複数の選択可能なテキスト入力フィールドを含むグラフィカルユーザインターフェイスを表示するためのディスプレイと、
前記選択可能なテキスト入力フィールド間の移動を引き起こすユーザ入力を受け取るためのトラックボールと、
プログラムを格納するためのメモリと、
前記プログラムを実行して、
前記選択可能なテキスト入力フィールドのグループのうちの第1のテキスト入力フィールドが選択されたとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記第2のテキスト入力フィールドと同じ水平線内にある第3のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離が、前記第2のテキスト入力フィールドの左端の水平座標と前記第1のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて、前記第1のテキスト入力フィールドに垂直方向に最も近接している第2のテキスト入力フィールド、または前記第2のテキスト入力フィールドと同じ水平線内にある前記第3のテキスト入力フィールドのいずれか一方を選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
カーソルが前記第1のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きであるとき、またはカーソルが前記第1のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きであるとき、前記トラックボールの動きの方向に最も近接している、前記第1のテキスト入力フィールドと同じ水平線内にある第4のテキスト入力フィールドを選択するステップと
を実行するプロセッサと
を備えたことを特徴とするデバイス。
【請求項6】
前記メモリは、前記プロセッサに、
前記概ね垂直な動きに応答して、前記第1のテキスト入力フィールドから第のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうかを判定するステップと、
前記手動オーバーライドに応答して前記第5のテキスト入力フィールドを選択するステップと
をさらに実行させるプログラムを備えることを特徴とする請求項5に記載のデバイス。

【図1a】
image rotate

【図1b】
image rotate

【図1c】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図4a】
image rotate

【図4b】
image rotate

【図4c】
image rotate

【図5a】
image rotate

【図5b】
image rotate

【図5c】
image rotate

【図5d】
image rotate

【図5e】
image rotate

【図5f】
image rotate

【図6a】
image rotate

【図6b】
image rotate

【図6c】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9a】
image rotate

【図9b】
image rotate

【図10a】
image rotate

【図10b】
image rotate

【図10c】
image rotate

【図10d】
image rotate

【図10e】
image rotate


【公開番号】特開2013−58214(P2013−58214A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2012−224470(P2012−224470)
【出願日】平成24年10月9日(2012.10.9)
【分割の表示】特願2009−519464(P2009−519464)の分割
【原出願日】平成19年7月6日(2007.7.6)
【公序良俗違反の表示】
特許法第64条第2項第4号の規定により図面の一部または全部を不掲載とする。
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】