本出願は、2015年3月8日に出願され、「USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES」と題する、米国特許仮出願第62/129,944号に対する優先権を主張し、同出願はその全体が全ての目的のために本明細書において参照により組み込まれる。
以下の説明は、例示的な方法、パラメータなどを記載する。しかし、かかる説明は、本開示の範囲に対する制限として意図するものではなく、例示的実施形態の説明として提供されることを認識されたい。
ユーザインタフェースオブジェクトを操作するための効率的かつ正確なアクセスを提供する電子デバイスが必要とされている。例えば、ドキュメントのスクロール、画像のズーム、画像の回転、及び複数のオプションの中からの一オプションの選択、の使い使いやすさは、ユーザインタフェースオブジェクトを操作する効率が向上する一因となる。かかる技術によって、ユーザインタフェースオブジェクトを操作するユーザの認識的負担が軽減され、それによって生産性が向上され得る。更には、かかる技術によって、通常であれば冗長なユーザ入力に基づいて浪費される、プロセッサ及びバッテリの電力を削減することができる。
以下の図1A及び図1B、図2、図3、図4A及び図4B、及び図5A〜図5Dは、ユーザインタフェースオブジェクトを操作する技術を実行するための例示的なデバイスの説明を提供するものである。図6A〜図6F、図8A〜図8H、図10A〜図10E、図13A〜図13J、図14〜図21、図23〜図30、図32〜図38、図40〜図45、図48A及び図48B、図49A〜図49C、図50A〜図50C、及び図51A〜図51Cは、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。図のユーザインタフェースは、図7、図9A、図9B、図11、図13K、図22、図31、図39、図46、図52、及び図53の処理を含む、以下で説明される処理を例示するためにも使用される。
以下の説明では、さまざまな要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されているさまざまな実施形態の範囲から逸脱することなく、第1のタッチは第2のタッチと称することができ、同様に、第2のタッチは第1のタッチと称し得る。第1のタッチと第2のタッチは共にタッチであるが、同じタッチではない。
本明細書で説明されるさまざまな実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。さまざまな記載の実施形態、及び添付の特許請求の範囲で使用されるときに、単数形「a」、「an」、及び「the」は、文脈が別途明確に示さない限り、複数形も同様に含むことが意図されている。本明細書で使用されるときに、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の全ての可能な任意の組み合わせを指し、かつこれを含むこともまた理解されるであろう。用語「includes(含む)」、「including(含む)」、「comprises(含む)」及び/又は「comprising(含む)」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群、の存在又は追加を除外しないことが更に理解されるであろう。
用語「if(〜場合に)」は、文脈に応じて「when(〜時に)」、「upon(〜時に)」、「in response to determining(〜という判定に応じて)」、又は「in response to detecting(〜を検出することに応じて)」を意味すると解釈することができる。同様に、句「if it is determined(〜と判定される場合に)」又は「if[a stated condition or event]is detected([述べられる条件又はイベント]が検出される場合に)」は、文脈に応じて「upon determining(〜と判定されるときに)」、又は「in response to determining(〜という判定に応じて)」、又は「upon detecting[the stated condition or event]([述べられる条件又はイベント]の検出時に)」、又は「in response to detecting[the stated condition or event]([述べられる条件又はイベント]の検出に応じて)」を意味すると解釈することができる。
電子デバイス、かかるデバイス用のユーザインタフェース、及びかかるデバイスを使用するための関連する処理、の実施形態について説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽プレーヤ機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることもまた理解されたい。
以下の説明では、ディスプレイ及びタッチ感知面を備える電子デバイスについて説明する。しかし、この電子デバイスは、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
このデバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、さまざまなアプリケーションをサポートすることができる。
このデバイス上で実行されるさまざまなアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又は対応するアプリケーション内で、任意選択的に、調節及び/又は変更される。このように、デバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有するさまざまなアプリケーションを、任意選択的にサポートする。
次に、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイ112を備えたポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、タッチ感知ディスプレイシステムとして、知られる場合又は呼ばれる場合もある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力又は制御デバイス116、及び外部ポート124を含む。デバイス100は、1つ以上の光センサ164を任意選択的に含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の強度センサ165を、任意選択的に含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器167を任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して任意選択的に通信する。
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、何百もの異なる値(例えば、少なくとも256)を含む、値の範囲を有する。接触の強度は、さまざまな方法及びさまざまなセンサ、又はセンサの組み合わせを用いて、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上の力センサは、タッチ感知面上のさまざまな点における力を測定するために、任意選択的に使用される。いくつかの実装において、複数の力センサの力測定値を組み合わせて(例えば、加重平均)、接触力の推定値を判定する。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための、面積が制限されている、低減されたサイズのデバイス上で、他の場合であればユーザによってアクセスすることができない、追加的なデバイス機能への、ユーザのアクセスが可能となる。
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。ユーザによるタッチのかかる解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通するタッチの感覚認知が多数存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示されるさまざまな構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方の組み合わせで実装される。
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、有形かつ非一時的とすることができる。メモリ102は、高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリもまた含んでよい。メモリコントローラ122は、デバイス100の他の構成要素によるメモリ102へのアクセスを制御することができる。
周辺機器インタフェース118を用いて、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に連結することができる。1つ以上のプロセッサ120は、デバイス100のためのさまざまな機能を実行するため並びにデータを処理するために、メモリ102に記憶されたさまざまなソフトウェアプログラム及び/若しくは命令セットを動作させる、又は実行する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、チップ104などのシングルチップ上に実装してもよい。いくつかの他の実施形態では、それらは、別個のチップ上に実装してもよい。
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどを含むがこれらに限定されない、これらの機能を実行するための周知の回路を、任意選択的に含んでいる。RF回路108は、ワールドワイドウェブ(WWW)とも呼ばれるインターネット、イントラネット、及び/又は、セルラ電話ネットワーク、無線ローカルエリアネットワーク(LAN)などの無線ネットワーク、及び/又は、メトロポリタンエリアネットワーク(MAN)、などのネットワーク、及び他のデバイス、と無線通信によって、任意選択的に通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用する。これらとしては、移動通信用のグローバルシステム(Global System for Mobile Communications、GSM(登録商標))、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、Evolution、Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual−Cell HSPDA、DC−HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(near field communication、NFC)、広帯域符号分割多元接続(wideband code division multiple access、W−CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth(登録商標)、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、及び/又はIEEE802.11n)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi−MAX(登録商標)、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/又はポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、及び/又はショートメッセージサービス(Short Message Service、SMS)、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコル、が挙げられるが、これらに限定されない。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110は、マイクロフォン113により音波から変換された電気信号もまた受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、周辺機器インタフェース118によって、メモリ102及び/又はRF回路108から取得され、かつ/あるいは、それらに送信されてもよい。いくつかの実施形態では、オーディオ回路110はヘッドセットジャック(例えば、図2の212)を更に備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を有するヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器と、の間のインタフェースを提供する。
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を連結する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。他の入力制御デバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの他の実施形態において、入力コントローラ(単数又は複数)160は、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに、任意選択的に連結される(又は、いずれにも連結されない)。1つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量調節のための、アップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。
2005年12月23日に出願された、米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」に記載されているように、プッシュボタンの素早い押し下げにより、タッチスクリーン112のロックを解除するか、又はデバイスのロックを解除するためにタッチスクリーン上のジェスチャを用いる処理を開始してもよい。この特許は、その全体が本明細書において参照により組み込まれる。プッシュボタン(例えば、206)をより長く押し下げることにより、デバイス100の電源をオンオフすることができる。ユーザは、1つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン112は、仮想又はソフトボタン、及び1つ以上のソフトキーボードを実現するために用いられる。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から電気信号を受信し、それへ電気信号を送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。この視覚出力としては、画像、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を挙げることができる。いくつかの実施形態では、視覚出力の一部又は全てはユーザインタフェースオブジェクトに対応してもよい。
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチスクリーン112上で接触(及び任意の動作又は接触の中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、LCD(liquid crystal display、液晶ディスプレイ)技術、LPD(light emitting polymer display、発光ポリマーディスプレイ)技術、又はLED(light emitting diode、発光ダイオード)技術を用いてもよいが、他の実施形態では、その他のディスプレイ技術を用いてもよい。タッチスクリーン112及びディスプレイコントローラ156は、現在既知の、又は今後開発される複数のタッチ感知技術のうちのいずれかを用いて、接触、及びその接触のあらゆる移動若しくは中断を検出することができ、これらの技術としては、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素、が挙げられるが、これらに限定されない。例示的な実施形態では、California州CupertinoのApple Inc.によるiPhone(登録商標)及びiPod Touch(登録商標)において見られるような、投影型相互静電容量感知技術が使用されている。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の米国特許、第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/又は第6,677,932号(Westerman)、及び/又は米国特許出願公開第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似し得る。これらの文献は、各々その全体が本明細書において参照により組み込まれる。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されているとおりにすることができる。(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の同第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の同第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の同第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の同第11/038,590号、「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の同第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の同第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の同第11/228,737号、「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、及び(9)2006年3月3日出願の同第11/367,749号、「Multi−Functional Hand−Held Device」。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
タッチスクリーン112は、100dpiを超えるビデオ解像度を有し得る。いくつかの実施形態では、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を用いて、タッチスクリーン112と接触することができる。いくつかの実施形態では、ユーザインタフェースは、主として指ベースの接触及びジェスチャによって機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、粗い指ベースの入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能を起動又は停止させるためのタッチパッド(図示せず)を含んでもよい。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知領域である。タッチパッドは、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部とすることができる。
デバイス100はまた、さまざまな構成要素に電力を供給するための電力システム162も含む。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理、及び分配に関連する任意の他の構成要素を含んでもよい。
デバイス100はまた、1つ以上の光センサ164を含んでもよい。図1A及び図1Bは、I/Oサブシステム106内の光センサコントローラ158に連結された、光センサを示す。光センサ164は、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含んでもよい。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、光センサ164は静止画像又はビデオをキャプチャすることができる。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に光センサが配置されている。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見るのと同時に、ユーザの画像をテレビ会議のために得ることができるように、デバイスの前面に光センサが配置されている。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、テレビ会議並びに静止画像及び/又はビデオ画像の取得の両方のために、単一の光センサ164を、タッチスクリーンディスプレイと共に使用することができる。
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に連結された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報の代用物)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又は、それに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は1つ以上の近接センサ166を含んでもよい。図1A及び図1Bは、周辺機器インタフェース118に連結される近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に連結されてもよい。近接センサ166は、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び、同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」、で説明されるように機能し得るものであり、これらの出願は、全体が参照により本明細書に組み込まれる。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置される場合(例えば、ユーザが電話で通話している場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
デバイス100はまた、1つ以上の触知出力生成器167も任意選択的に含んでいる。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に連結された触知出力生成器を示す。触知出力生成器167は、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを、任意選択的に含む。接触強度センサ165は、触覚フィードバックモジュール133から触覚フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、1つ以上の加速度計168も含み得る。図1A及び図1Bは、周辺機器インタフェース118に連結された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106内の入力コントローラ160に連結されてもよい。加速度計168は、米国特許出願公開第20050190059号、「Acceleration−based Theft Detection System for Portable Electronic Devices」、及び米国特許出願公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように動作してもよく、これらの文献はどちらも、その全体が参照により本明細書に組み込まれる。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイ上に表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計(図示せず)並びにデバイス100の位置及び向き(例えば、縦長又は横長)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を任意選択的に含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1A、図1B及び図3に示すように、メモリ102は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下の1つ以上を含む。現在アクティブ状態のアプリケーションがある場合、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112のさまざまな領域を占領しているかを示す、表示状態、デバイスのさまざまなセンサ及び入力制御デバイス116から得られる情報を含む、センサ状態、及び、デバイスの位置及び/又は姿勢に関する位置情報。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又は、VxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するためのさまざまなソフトウェアコンポーネント及び/又はドライバを含み、さまざまなハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するためのさまざまなソフトウェア構成要素を含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を通して間接的に、他のデバイスに連結するように適合している。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と連携して)タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度の判定、接触の移動があるかどうかの判定及びタッチ感知面を横切る移動の追跡(例えば、1つ以上のフィンガドラッギングイベントの検出)、並びに接触が終わったかどうかの判定(例えば、フィンガアップイベント又は接触の中断の検出)など、接触の検出に関連するさまざまな動作を行うためのさまざまなソフトウェアコンポーネントを含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することには、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することが任意選択的に含まれる。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。更に、いくつかの実装において、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は、システムレベルのクリック「強度」パラメータにより、一度に複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供される。
接触/動きモジュール130は任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出される接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、フィンガタップジェスチャを検出することは、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置での)そのフィンガダウンイベントと同じ位置(又は、実質的に同じ位置)でフィンガアップ(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、さまざまな既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、これらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
いくつかの実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、さまざまなソフトウェア構成要素を含む。
テキスト入力モジュール134は、グラフィックモジュール132の構成要素であってもよく、さまざまなアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及び、テキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報をさまざまなアプリケーションで使用するために、(例えば、位置ベースのダイヤリングで使用するために電話138のアプリケーションに、画像/ビデオのメタデータとしてカメラ143のアプリケーションに、並びに気象ウィジェット、ローカルなイエローページウィジェット、及びマップ/ナビゲーションウィジェットなどの位置ベースのサービスを提供するアプリケーションに)提供する。
アプリケーション136は、以下のモジュール(又は、命令セット)、又はそれらのサブセット若しくはスーパーセットを含み得る。
●連絡先モジュール137(アドレス帳又は連絡先リストと称されることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール145、
●音楽プレーヤモジュール146、
●ブラウザモジュール147、
●カレンダーモジュール148、
●気象ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上を含み得る、ウィジェットモジュール149、
●ユーザ作成ウィジェット149−6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール145及び音楽プレーヤモジュール146を統合した、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は
●オンラインビデオモジュール155。
メモリ102内に記憶することができる他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶された)アドレス帳又は連絡先リストを管理するために使用することができ、この管理には、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議139、電子メール140、若しくはIM141、による通信を開始する及び/又は容易にすることなどが含まれる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電話モジュール138は、電話番号に対応する一連の文字を入力したり、アドレス帳137内の1つ以上の電話番号にアクセスしたり、入力されている電話番号を修正したり、各々の電話番号をダイヤルしたり、会話を遂行したり、会話が完了した際に接続を切るか又は電話を切ったりするために、使用することができる。上述のように、無線通信には、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用することができる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と関連して、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、行い、終了するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能命令を含んでいる。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージモジュール141は、インスタントメッセージに対応する文字列を入力し、入力済みの文字を修正し、対応するインスタントメッセージを送信し(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを用いて、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを用いて)、インスタントメッセージを受信しその受信したインスタントメッセージを表示するための実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されたインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、画像、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含んでもよい。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを用いて送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを用いて送信されるメッセージ)の両方を示す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュール146と関連して、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを生成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択して再生し、並びに、トレーニングデータを表示し、記憶し、送信するための実行可能命令を含んでいる。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶する、静止画像又はビデオの特徴を変更する、又はメモリ102から静止画像若しくはビデオを削除するための実行可能命令が含まれる。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィクモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオ画像を配置したり、修正したり(例えば、編集し)又は別の方法で操作したり、ラベルを付けたり、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、すべきことのリストなど)を作成し、表示し、変更し、記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェットモジュール149は、ユーザがダウンロードして使用することができたり、又はユーザが作成できたり(例えば、ユーザ作成ウィジェット149−6)するミニアプリケーション(例えば、気象ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)である。いくつかの実施形態では、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットに変える)ために、ユーザによって使用することができる。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含んでいる。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と関連して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びに、ビデオを(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を備える。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、メモモジュール153は、ユーザの指示に従って、メモ、ToDoリストなどを作成及び管理するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と関連して、地図モジュール154は、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ)を受信し、表示し、修正し、記憶するために使用することができる。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含んでいる。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージモジュール141が用いられる。2007年6月20日に出願された米国特許仮出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に、オンラインビデオアプリケーションの追加の説明を見出すことができる。これらの出願の内容はその全体が本明細書において参照により組み込まれる。
上記で特定されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(即ち、命令セット)は、別個のソフトウェアプログラム、手続き、又はモジュールとして実施される必要はなく、したがって、さまざまな実施形態において、これらのモジュールのさまざまなサブセットを組み合わせるか、又は別の方法で再配置してもよい。例えば、ビデオプレーヤモジュール145は音楽プレーヤモジュール146と組み合わせて、単一のモジュール(例えば、ビデオ及び音楽プレーヤモジュール152、図1A)にしてもよい。いくつかの実施形態では、メモリ102は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作に関する主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の(プッシュボタン、ダイヤルなどの)物理入力制御デバイスの数を低減することができる。
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス100をナビゲートする。かかる実施形態では、「メニューボタン」はタッチパッドを用いて実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソート部170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136−1(例えば、上述のアプリケーション137〜151、155、及び380〜390のいずれか)を含む。
イベントソート部170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソート部170は、イベントモニタ171及びイベントディスパッチャモジュール174を含んでいる。いくつかの実施形態では、アプリケーション136−1には、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192が含まれる。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーションが現在アクティブであるかを判定するために、イベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を決定するために、イベントソート部170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列、のうちの1つ以上などの追加情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介する)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報には、タッチ感知ディスプレイ112又はタッチ感知面からの情報が含まれる。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。これに応じて、周辺機器インタフェース118はイベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回り、かつ/又は所定の持続時間を超えた入力を受信すること)が存在する場合にのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成される。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合があるビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応し得る。例えば、タッチが検出される最下位レベルのビューを、ヒットビューと呼ぶことができ、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに基づいて、判定することができる。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントと関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、そのサブイベントを処理すべき階層内の最下位のビューとしての、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、起因となるサブイベント(即ち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に送信する。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部モジュール182により取得されるイベント情報をイベント待ち行列内に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136−1はイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態では、アプリケーション136−1は、各々がアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を備えている。アプリケーション136−1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。通常は、それぞれのアプリケーションビュー191に複数のイベント認識部180が含まれる。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)又はアプリケーション136−1が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、各イベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソート部170から受信したイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用するか又は呼び出してもよい。あるいは、アプリケーションビュー191のうちの1つ以上は、1つ以上の対応するイベント処理部190を含んでいる。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、対応するアプリケーションビュー191に含まれる。
対応するイベント認識部180は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180は更に、メタデータ183及びイベント配信命令188(サブイベント配信命令を含んでもよい)の少なくともサブセットを含んでいる。
イベント受信部182は、イベントソート部170からイベント情報を受信する。このイベント情報には、サブイベントについての情報、例えば、タッチ又はタッチの動きについての情報が含まれる。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントがタッチの動きに関わる場合には、イベント情報はサブイベントの速さ及び方向を更に含んでもよい。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例では、イベント1(187−1)の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッグ操作である。ドラッグ操作には、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)が含まれる。いくつかの実施形態では、イベントにはまた、1つ以上の関連付けられたイベント処理部190に関する情報も含まれる。
いくつかの実施形態では、イベント定義187は、各ユーザインタフェースオブジェクトに関するイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているのかを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示された各オブジェクトが、対応するイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガとなるオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、各イベント(187)の定義は、サブイベントのシーケンスが、イベント認識部のイベントタイプに対応するか対応しないかが判定されるまで、イベント情報の配信を遅延させる遅延作用も含んでいる。
各イベント認識部180は、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、各イベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
いくつかの実施形態では、各イベント認識部180は、構成変更可能なプロパティと、フラグと、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストと、を有するメタデータ183を含む。いくつかの実施形態では、メタデータ183には、構成変更可能なプロパティと、フラグと、及び/又はイベント認識部が互いにどのように対話し得るか、あるいは、対話が可能になるかについて示すリストと、が含まれる。いくつかの実施形態では、メタデータ183には、構成変更可能なプロパティと、フラグと、及び/又はサブイベントがビュー階層又はプログラム階層内のさまざまなレベルに配信されるか否かを示すリストと、が含まれる。
いくつかの実施形態では、各イベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、各イベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、対応するヒットビューにサブイベントを送信(及び送信を延期する)することとは異なる。いくつかの実施形態では、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベント処理部190は、フラグをキャッチし、既定の処理を実行する。
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化せずに、サブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベント処理部又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューに関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新、又はビデオプレーヤモジュール145で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部176は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール132に送信する。
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含むか、若しくはそれらにアクセスすることができる。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、対応するアプリケーション136−1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の説明はまた、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示検出された眼球運動、バイオメトリック入力、及び/又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに後述する他の実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することができる。いくつかの実施形態では、ユーザが1つ以上のグラフィックとの接触を断った際に、その1つ以上のグラフィックの選択が生じる。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ及び/又は下方向へ)、及び/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上方向へ及び/又は下方向へ)を任意選択的に含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に選択しない。
デバイス100にはまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも含まれ得る。上述したように、メニューボタン204を使用して、デバイス100上で実行することができるアプリケーションセット内の任意のアプリケーション136へ、ナビゲートすることができる。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
ある実施形態において、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスへの電源をオン/オフしてデバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、受信者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン/オフし、ボタンを押し下げて、既定時間が経過する前にボタンを解放することによってデバイスをロックし、及び/又は、デバイスのロックを解除する、若しくは、ロック解除処理を開始する。別の実施形態では、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力を受信する。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器167も、任意選択的に含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育用デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インタフェース360と、メモリ370と、及びこれらの構成要素を相互接続するための1つ以上の通信バス320と、を含んでいる。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることがある)を任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイであるディスプレイ340を備える入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350、並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aを参照して上述された接触強度センサ165と同様の接触強度センサ)も任意選択的に含んでいる。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310から離れて位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造、又はそれらのサブセットに類似する、プログラム、モジュール、及びデータ構造を記憶する。更に、メモリ370は、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、ポータブル多機能デバイス100(図1A)のメモリ102はこれらのモジュールを任意選択的に記憶しない。
図3の上記で特定された要素の各々は、前述のメモリデバイスのうちの1つ以上に記憶されてもよい。上記で特定されたモジュールの各々は、上述した機能を実行する命令セットに対応する。上記で特定されたモジュール若しくはプログラム(即ち、命令セット)は、別個のソフトウェアプログラム、手続き、又はモジュールとして実施される必要はなく、したがって、さまざまな実施形態において、これらのモジュールのさまざまなサブセットを組み合わせてもよく、又は別の方法で再配置してもよい。いくつかの実施形態では、メモリ370は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
ポータブル多機能デバイス100上に実施することができるユーザインタフェース(「UI」)の実施形態に注目を向ける。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューに関する例示的なユーザインタフェースを示す。同様のユーザインタフェースを、デバイス300上に実施してもよい。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラ及びWi−Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー408、
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされたブラウザモジュール147用のアイコン420、及び
○「iPod(登録商標)」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152用のアイコン422、及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141用のアイコン424、
○「カレンダー」とラベル付けされた、カレンダーモジュール148用のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155用のアイコン432、
○「株価」とラベル付けされた、株式ウィジェット149−2用のアイコン434、
○「マップ」とラベル付けされた、地図モジュール154用のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149−1用のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン444、及び
○デバイス100及びそのさまざまなアプリケーション136に関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示されているアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、さまざまなアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、各アプリケーションアイコンに関するラベルは、各アプリケーションアイコンに対応するアプリケーションの名前を含んでいる。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための1つ以上の触知出力生成器359を任意選択的に含む。
以下の実施例のうちのいくつかはタッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、タッチ感知面451との接触(例えば、図4Bの460及び462)を、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)にて検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図4Bでの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
更に加えて、以下の実施例は主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置上に配置されている間、任意選択的に、マウスクリックで置換される。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが同時に、任意選択的に用いられているか、又はマウスと指接触が任意選択的に同時に用いられていることが理解されよう。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504を有する。代替として、又はタッチスクリーン504に加えて、デバイス500はディスプレイ及びタッチ感知面を有する。いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサによって、タッチの強度を表す出力データが提供され得る。デバイス500のユーザインタフェースは、タッチの強度に基づいてタッチに応答してもよく、これは、異なる強度のタッチは、デバイス500上で異なるユーザインタフェース動作を呼び出し得ることを意味する。
いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)が上述の強度センサを有するかどうかにかかわらず、デバイス500は、任意選択的に、デバイス500、特にタッチスクリーン504上のスタイラスのタッチの強度に関するデータを検出及び提供する感圧性先端部を有するスタイラスと通信することができる。
タッチ強度を検出して処理するための技術は、例えば、関連出願である、2013年5月8日に出願され、国際公開第2013/169849号として公開された、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題された国際特許出願PCT/US2013/040061号、及び2013年11月11日に出願され、国際公開第2014/105276号として公開された、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題された同PCT/US2013/069483号に見出すことができ、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。かかるアタッチメント機構は、含まれる場合には、例えば、デバイス500を、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに、取り付けることを可能にする。これらのアタッチメント機構によって、ユーザはデバイス500を着用することができる。
図5Bは、例示的なパーソナル電子デバイス500を示す。デバイス500は、I/O部514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に連結するバス512を有する。I/O部514は、タッチ感知式構成要素522、及び、任意選択的に、タッチ強度感知構成要素524を有し得るディスプレイ504に接続することができる。更に、I/O部514は、Wi−Fi、Bluetooth(登録商標)、近距離通信(near field communication、「NFC」)、セルラ及び/又は他の無線通信技術を用いてアプリケーション及びオペレーティングシステムのデータを受信するための通信ユニット530に接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、例えば、回転可能入力デバイスであってもよい。入力機構508は、いくつかの実施例では、ボタンであってもよい。
入力機構508は、いくつかの実施例では、マイクロフォンであってもよい。コンピューティングデバイス500は、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどのさまざまなセンサを備えてもよく、これらの全てはI/O部514に動作可能に接続することができる。
コンピューティングデバイス500のメモリ518は、コンピュータ実行可能な命令を記憶するための非一時的コンピュータ可読記憶媒体とすることができ、これらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、図7、図9A、図9B、図11、図13K、図22、図31、図39、及び図46の処理を含む、上述の技術を実行させることができる。コンピュータ実行可能な命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチしてその命令を実行し得る他のシステム、などの、命令実行システム、装置、又はデバイス、によって、若しくはそれらと接続して、使用される任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送することができる。本文書の目的上、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、又はデバイスによって、若しくはそれらに接続して、使用されるコンピュータ実行可能な命令を有形的に収容又は記憶することが可能な任意の媒体とすることができる。非一時的コンピュータ可読記憶媒体は、磁気的、光学的、及び/又は半導体記憶装置を含み得るが、これらに限定されない。かかる記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu−ray(登録商標)技術に基づく光ディスク、及び、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。コンピューティングデバイス500は、図5Bの構成要素及び構成に限定されず、他の又は追加の構成要素を複数の構成で含むことができる。
図5Cは、例示的なパーソナル電子デバイス550を示す。例示された実施例では、デバイス550は、通常、本体552、及び、ユーザの体にデバイス550を取り付けるストラップ554を備える腕時計である。即ち、デバイス550は着用可能なものである。本体552は、ストラップ554と連結するように設計することができる。デバイス550は、タッチ感知ディスプレイスクリーン(以下、タッチスクリーン)556及び竜頭558を有し得る。デバイス550は、ボタン560、562、及び564もまた有し得る。
従来、腕時計との関連では、「竜頭(crown)」は、時計を巻くためのステム上のキャップのことを言う。パーソナル電子デバイスとの関連では、竜頭は、タッチ感知ディスプレイ上の仮想的な竜頭ではなく、電子デバイスの物理的構成要素とすることができる。竜頭558は、竜頭の物理的な運動を電気信号に変換するセンサに接続することができることを意図する、機械的なものとすることができる。竜頭558は2つの回転方向(例えば、前方及び後方)に回転することができる。竜頭558はまた、デバイス550の本体の方へ押し込み、及び/又はデバイス550から引き離すことができる。竜頭558は、例えば、ユーザが竜頭をタッチしているかどうかを検出することができる容量式のタッチ技術を用いて、タッチ感知式とすることができる。しかも、竜頭558は更に、1つ以上の方向に揺動させることができる、あるいは縁部に沿う軌道に沿って、又は、本体552の外周のまわりに少なくとも部分的に並進移動させることができる。いくつかの例では、2つ以上の竜頭558を用いることができる。竜頭558の視覚的外観は、既存の時計の竜頭に類似する必要はないが、類似してもよい。ボタン560、562、及び564は、含まれている場合、それぞれが物理ボタン又はタッチ感知式ボタンとすることができる。即ち、ボタンは、例えば、物理ボタン又は容量式のボタンであってもよい。更に、本体552は、ベゼルを含むことができ、ボタンとして機能するベゼル上の所定領域を有してもよい。
ディスプレイ556としては、相互容量式接触感知、自己容量式接触感知、抵抗式接触感知、投影スキャン式接触感知、等の任意の所望の接触感知技術を用いて実装されるタッチセンサパネルの後方か前方に、部分的に又は完全に置かれた、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ等の、ディスプレイデバイスを挙げることができる。ディスプレイ556によれば、ユーザは、1つ以上の指又は他の物体を用いて、タッチセンサパネルの付近をホバリングしてその上をタッチすることによって、さまざまな機能を実行することができる。
いくつかの実施例では、デバイス550は、ディスプレイに加えられた力又は圧力を検出するための1つ以上の圧力センサ(図示せず)を更に備えることができる。ディスプレイ556に加えられた力又は圧力は、選択を行うこと、メニューを開くか又は閉じること、追加のオプション/アクションを表示させること、などの任意の所望の動作を実行するためのデバイス550への入力として使用することができる。いくつかの実施例では、ディスプレイ556に加えられた力又は圧力の大きさに基づいて、異なる動作を実行し得る。力がディスプレイ556に加えられている位置を判定するために、1つ以上の圧力センサを更に使用することができる。
図5Dは、デバイス550の構成要素のうちのいくつかのブロック図を示す。図示するように、竜頭558はエンコーダ572に連結することができ、このエンコーダは、竜頭558の物理状態又は状態の変化(例えば、竜頭の位置)を監視し、それを電気信号に変換(例えば、それを竜頭558の位置又は位置の変化のアナログ又はデジタル信号の表現へと変換する)し、その信号をプロセッサ570に提供するように、構成することができる。例えば、いくつかの例では、エンコーダ572は、竜頭558の絶対回転位置(例えば、0〜360°の角度)を感知し、この位置のアナログ又はデジタル表現をプロセッサ570へ出力するように構成することができる。あるいは、他の実施例では、エンコーダ572は、あるサンプリング期間にわたって竜頭558の回転位置の変化(例えば、回転角度の変化)を感知して、感知された変化のアナログ又はデジタル表現を、プロセッサ570に出力するように、構成することができる。これらの実施例では、竜頭の位置情報は、竜頭の回転方向(例えば、正の値は一方向に対応し、負の値は他の方向に対応することができる)を更に示すことができる。更に他の実施例では、エンコーダ572は、任意の所望の態様(例えば、速度、加速度、等)で、竜頭558の回転を検出するように構成することができ、竜頭の回転情報をプロセッサ570に提供することができる。代替の実施例では、情報をプロセッサ570に提供する代わりに、デバイス550の他の構成要素に提供してもよい。本明細書で説明された実施例は、スクロール、拡大縮小、又はオブジェクトの位置、を制御するために、竜頭558の回転位置の使用に言及しているが、竜頭558の任意の他の物理的状態を使用することができることを理解されたい。
いくつかの実施例では、竜頭の物理的状態は、ディスプレイ556の物理的属性を制御することができる。例えば、竜頭558は、特定の位置にある(例えば、前方に回転された)場合、ディスプレイ556は、限定されたz軸トラバース能力を有することができる。つまり、竜頭の物理的状態は、ディスプレイ556の物理的モーダル機能を表すことができる。いくつかの実施例では、竜頭558の物理的状態の時間的属性を、デバイス550への入力として使用することができる。例えば、物理的状態の迅速な変化を、物理的状態の緩慢な変化とは異なるように、解釈することができる。
プロセッサ570は、タッチ感知ディスプレイ556からのタッチ信号と共に、ボタン560、562、及び564からの入力信号を受信するように更に結合されてもよい。これらのボタンは、例えば、物理的なボタン又は容量式ボタンであってもよい。更に、本体552は、ベゼルを含むことができ、ボタンとして機能するベゼル上の所定領域を有してもよい。プロセッサ570は、これらの入力信号を解釈し、タッチ感知ディスプレイ556に画像を生成させるための適切な表示信号を出力するように構成することができる。単一のプロセッサ570が図示されているが、上述した一般的な機能を実行するために、任意の数のプロセッサ又は他の計算デバイスを使用することができることを理解されたい。
本明細書で使用するとき、用語「アフォーダンス」は、デバイス100、300、及び/又は500(図1、図3、及び図5)のディスプレイ画面上に表示され得るユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、アフォーダンスを構成することができる。
本明細書にて使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装では、タッチ感知面(例えば、図3のタッチパッド355、又は図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出されたときに、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にあるとき、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112、又は図4Aのタッチスクリーン112)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装では、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることにより)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装では、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインタフェースの要素を、デバイスに示すことによって)伝達するために、ユーザによって制御されるユーザインタフェース要素(又は、タッチスクリーンディスプレイ上での接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出されたときに、対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインタフェース要素ではなく)対応するボタンをユーザがアクティブ化しようとしていることを示すものである。
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び/又は接触の強度の減少を検出する前若しくは後)に対して所定の期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の中間値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10%値、接触の強度の最大値の半分の値、接触の強度の最大値の90%の値など、のうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の期間が使用される(例えば、特性強度が経時的な接触の強度の平均であるとき)。いくつかの実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度を1つ以上の強度閾値のセットと比較する。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含むことができる。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するかどうか(例えば、対応するオプションを実行するのか、又は対応する動作の実行を省略するのか)を判定するために使用される。
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部分が特定される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受信することがある。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づいてもよい。いくつかの実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用してもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズム、のうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けしてもよい。いくつかの実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させる。全般的には、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の異なるセット間でも一貫している。
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への接触の特性強度の増大は、「軽い押圧」入力と呼ばれる場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への接触の特性強度の増大は、「深い押圧」入力と呼ばれる場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれる場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれる場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、各押圧入力を含むジェスチャの検出に応じて、又は各接触(又は、複数の接触)で実行される対応する押圧入力の検出に応じて実行され、それらの対応する押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、各動作は、押圧入力強度閾値を上回る、対応する接触の強度の増大(例えば、対応する押圧入力の「ダウンストローク」)の検出に応じて、実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応する接触の強度の増大、及び後続の、押圧入力強度閾値を下回る接触の強度の減少を含み、対応する動作は、その後続の押圧入力閾値を下回る対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応じて、実行される。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある不測の入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。したがって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る対応する接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応する動作は、そのヒステリシス強度閾値を下回る、後続の対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応じて、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ検出され、対応する動作は、その押圧入力の検出(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)に応じて、実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応じて、任意選択的にトリガされる。更に加えて、押圧入力強度閾値を下回る接触の強度の減少の検出に応じて動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る、接触の強度の減少の検出に応じて任意選択的に実行される。
ここで、ユーザインタフェースオブジェクトの操作におけるユーザエクスペリエンスを改善するために、デバイス100、300、500、及び/又は550などの多機能デバイス上で実装され得る、デバイス、ユーザインタフェース、及び関連付けられた処理の実施形態に注意を向ける。
図6A〜図6Fは、いくつかの実施形態に係る、電子デバイスを用いてユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。この電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える。
図6Aは、ユーザインタフェースオブジェクトの一実施例であるドキュメント602を示す。ドキュメント602は、タイトル604A、本文テキストの段落606A、及び画像608Aを含む。この電子デバイスは、ドキュメント602の一部分のみが特定の時点でディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント602内をスクロールすることを可能にするように構成されている。ドキュメントのスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
記載されているユーザインタフェースの図は、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、610)を含む。これらの列は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。この実施例では、ドキュメントのスクロール位置は、0.0(例えば、610A)から1.0(例えば、610B)に及ぶスクロール位置(例えば、特性)を有する列610に示すように、0.0から1.0に及んでもよい。
この実施例では、列610は、ユーザによるオブジェクトの特性の操作方法を変更する、列610の範囲のさまざまなサブセットを含む。図6Aには、サブセット604B、サブセット606B、及びサブセット608Bが示されている。これらの列のように、図に示すサブセットは、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。例えば、サブセット606Bの範囲は、列610の606C(例えば、スクロール位置値0.42)から606D(例えば、スクロール位置値0.56)までである。ドキュメント602のスクロール動作は、ドキュメント602のスクロール位置の値がサブセット606Bの範囲内にあるときに、サブセット606Bの範囲内に入る直前のスクロール動作と比較した場合に異なる。いくつかの実施形態では、ドキュメントのスクロール動作は、スクロール位置がサブセット604B、606B、及び608Bのうちのいずれかの範囲内にあるときの第1の動作と、スクロール位置がいずれのサブセット内でもないときの第2の動作との間で比較した場合に異なる。いくつかの実施形態では、スクロール動作は、サブセット604B、606B、及び608Bのそれぞれに関して、互いと比較して異なっており、かついずれのサブセットの外にあるときのスクロール動作と比較しても異なっている。
図6Bは、電子デバイス(例えば、デバイス500)の視認可能表示領域620、回転可能入力機構(例えば、506)、及びスクロール値インジケータ622を示す。視認可能表示領域620は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域620は、ドキュメント602が回転可能入力機構506を用いてスクロールされたときにディスプレイ上に表示されるドキュメント602の部分を示す。スクロール値インジケータ622は、図6C〜図6Eに関連して説明されるように、ドキュメント602のスクロール位置の値を示すことによって、図の解釈を助けるものである。スクロール値インジケータ622は、通常は、表示されるユーザインタフェースの一部ではない。
図6Cは、表示領域620によって示されるように、ドキュメント602の視認可能部分を示す。図6Cでは、ドキュメントのスクロール位置の値は、スクロール値インジケータ622によって示される(例えば、スクロール位置値0.63)。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値(例えば、図6Cのスクロール位置値0.63)に従ったオブジェクト(例えば、ドキュメント602)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列610内)である。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の程度であってもよい。
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント602のスクロール位置を変更するために、回転可能入力機構506を回転させる。
デバイスは、オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が、特性の値の範囲(例えば、610)の所定のサブセット内(例えば、サブセット606Bの範囲内)であるかどうかを判定する。
オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が特性の値の範囲の所定のサブセット内にないという判定に従って、デバイスは、図6C及び図6Dに示すように、オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新する。
オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が特性の値の範囲の所定のサブセット(例えば、606B)内にあるという判定に従って、デバイスは、図6Eに示すように、オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新する。第1の関数及び第2の関数は、異なる関数である。
このように、ユーザが回転可能入力機構を回転させると、ドキュメント602はディスプレイ上でスクロールされ始める。図6C及び図6Dに示すように、スクロールの特定の部分の間(例えば、サブセット604B、606B、及び606C内にない間)、スクロールは第2の関数に基づき発生する。図6Eに示すように、スクロールのその他の部分の間(例えば、サブセット606B内の間)、スクロールは第1の関数に基づき発生する。例えば、サブセット608Bと606Bとの間の範囲全体をスクロールする(例えば、スクロール位置値0.70から始まり、第2の関数に基づき0.70から0.56までスクロールする)ために、回転可能入力機構の特定の回転を使用することができる。ただし、回転可能入力機構の同じ特定の回転は、サブセット608Bの一部分内のみをスクロール(例えば、スクロール位置値0.56から始まり、第1の関数に基づき0.56から0.53までスクロール)してもよい。サブセット(例えば、606B)内の間にドキュメントがスクロールされる量を低減することによって、デバイスは、ドキュメントのそれらの部分にわたるスクロールに対して、より高い解像度(したがって、より高い精細度)を提供する。これを行うことによって、ドキュメントの特定の部分におけるユーザの滞留時間の増加を促進することができる。いくつかの実施形態では、タイトル604A、本文テキストの段落606A、及び画像608Aなどのドキュメントの特定の態様と一致するようにサブセットを構成することによって、ドキュメントのそれらの態様にわたるより精密なスクロールを更に可能にしてもよい。
図6Fは、オブジェクト(例えば、画像612)のズームを操作することを示す。画像(例えば、612)は、オブジェクトの特性(例えば、ズームサイズ)の値(例えば、ズームサイズ値)に従って表示され、この値は特性の値の範囲内にある(例えば、列614に沿っている)。この実施例では、特性の変化を速めるために、サブセット612A、612B、612Cを用いてもよい。したがって、ユーザが回転可能入力機構を回転させるにつれて、画像は異なるズームサイズ値に従ってズームされる。ズームサイズ値がサブセット612A、612B、612C内にある間は、列612に沿った進行は急速に発生する(例えば、回転可能入力機構のわずかな回転によって、画像のズームが大幅に変化する)。ズームサイズ値がサブセット612A、612B、612C内にない間は、列612に沿った進行は緩やかに発生する(例えば、回転可能入力機構を大幅に回転させても、画像のズームはわずかに変化するのみである)。その結果、このデバイスによれば、特定のズームサイズ値にわたるズームに対して、より高い解像度(したがって、より高い精細度)が得られる。
画像が最小ズームサイズ(例えば、0.0)に達したとき、画像は0.0を下回るズームレベルまで縮小されて、その後、ズームレベル0.0に戻ってもよい。このラバーバンディング効果によって、最小ズーム制限に達したことのインジケーションがユーザに提供される。同様に、画像が最大ズームサイズ(例えば、1.0)に達したとき、画像は1.0を上回るズームレベルまで拡大されて、その後、ズームレベル1.0に戻ってもよい。このラバーバンディング効果によって、最大ズーム制限に達したことのインジケーションがユーザに提供される。
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新値に従ってオブジェクト(例えば、602、612)の表示を更新することは、オブジェクトの特性の更新値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
いくつかの実施形態によれば、特性の値の所定のサブセット(例えば、606B)は中間値(例えば、606E)を含み、この中間値は、特性の値の範囲の両端も含めた所定のサブセット内にある(例えば、開始値及び終了値を含む、その両者間の値)。第1の関数は、値の範囲のサブセットの中間値(例えば、606E)に基づく。したがって、例えば、特性の動作(例えば、スクロール動作又はズーム動作)は、中間値までの距離に基づき変化する。いくつかの実施形態によれば、特性の値の範囲の所定のサブセット(例えば、606B)の中間値は、中点値である。
いくつかの実施形態によれば、第1の関数は、オブジェクトの特性の値と中間値との間の差に基づく。このため、一実施例として、ドキュメントがスクロールされ得る精細度は、ドキュメントが所定のサブセットの中心のより近くにスクロールされるに従って増加し、ドキュメントがスクロールされ得る精細度は、ドキュメントが所定のサブセットの中心から遠くにスクロールされるに従って減少する。例えば、ドキュメントのスクロール位置が中間値からより遠くにある間、回転可能入力機構の漸増的な回転は、ドキュメントのスクロール位置が中間値のより近くにある間の、回転可能入力機構の同じ漸増的な回転よりも多くのスクロールを発生させる。
いくつかの実施形態によれば、更新値は、ユーザ入力要求の属性に基づく。いくつかの実施形態によれば、ユーザ入力要求の属性は、回転可能入力機構の角速度及び回転可能入力機構の角加速度のうちの1つ以上である。
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の第2の所定のサブセット(例えば、608B)内にあるかどうかを判定することを含み、所定のサブセット(例えば、606B)及び第2の所定のサブセット(例えば、608B)は異なる。オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の第2の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第3の関数に従って更に更新する。第1の関数、第2の関数、及び第3の関数は異なる関数である。したがって、一実施例では、異なる所定のサブセットは異なる動作を発生させることができる。別の実施例では、2つ以上の所定のサブセットは部分的に重複してもよく、それらの効果は、重複した範囲に対して組み合わされる。
いくつかの実施形態によれば、特性の値の範囲は、単一の次元に沿う(例えば、範囲は多次元のX−Y範囲ではない)ものである。いくつかの実施形態によれば、特性の値の範囲は線形の列である。
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の所定のサブセット(例えば、606B、612B)内にあるという判定に従って、デバイスは電子デバイスにおいて、機械的(例えば、触知フィードバック)又は可聴的な(例えば、オーディオファイルの再生)触覚アラートなどの触覚アラートを実行する。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下又は左/右にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントの倍率がどれぐらい大きい/小さいか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
図7は、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法700は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法700のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法700を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び/又は550(図1A、図3、図5A、及び図5C)が挙げられる。
方法700は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法によれば、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作できることによって、電力が節約され、バッテリ充電の間隔が増すことになる。
ブロック702では、オブジェクト(例えば、ドキュメント602)が、オブジェクト(例えば、ドキュメント602)の特性(例えば、スクロール位置)の値(例えば、図6Cのスクロール位置値0.63)に従って表示され、この値は特性(例えば、スクロール位置)の値の範囲(例えば、列610の0.0から1.0までの範囲)内にある。
ブロック704では、ユーザ入力要求が受信される。ユーザ入力要求は、回転可能入力機構(例えば、506)の回転を表す。
ブロック706では、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内(例えば、604B、606B、又は608B内)であるかどうかが判定される。
ブロック708では、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内にある(例えば、図6D及び図6Eで、インジケータ622がサブセット608D内にある)という判定に従って、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新される。
ブロック710では、オブジェクト(例えば、ドキュメント602)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内にない(例えば、図6Cのようにインジケータ622がどのサブセット内にもない)という判定に従って、オブジェクトの特性の値(例えば、スクロール位置値又はズームサイズ値)が、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新され、第1の関数及び第2の関数は異なる関数である。
ブロック712では、オブジェクトの特性の更新値に従って、オブジェクト(例えば、ドキュメント602)の表示が(例えば、スクロールをディスプレイに反映するように)更新される。
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新値に従ってオブジェクト(例えば、602、612)の表示を更新することは、オブジェクトの特性の更新値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
いくつかの実施形態によれば、特性の値の所定のサブセット(例えば、606B)は中間値(例えば、606E)を含み、この中間値は、特性の値の範囲の両端も含めた所定のサブセット内にある(例えば、開始値及び終了値を含む、その両者間の値)。第1の関数は、値の範囲のサブセットの中間値(例えば、606E)に基づく。いくつかの実施形態によれば、特性の値の範囲の所定のサブセット(例えば、606B)の中間値は、中点値である。
いくつかの実施形態によれば、第1の関数は、オブジェクトの特性の値と中間値との間の差に基づく。いくつかの実施形態によれば、更新値は、ユーザ入力要求の属性に基づく。いくつかの実施形態によれば、ユーザ入力要求の属性は、回転可能入力機構の角速度及び回転可能入力機構の角加速度のうちの1つ以上である。
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の第2の所定のサブセット(例えば、608B)内にあるかどうかを判定することを含み、所定のサブセット(例えば、606B)及び第2の所定のサブセット(例えば、608B)は異なる。オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の第2の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第3の関数に従って更に更新する。第1の関数、第2の関数、及び第3の関数は異なる関数である。
いくつかの実施形態によれば、特性の値の範囲は、単一の次元に沿う(例えば、範囲は多次元のX−Y範囲ではない)ものである。いくつかの実施形態によれば、特性の値の範囲は線形の列である。
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の所定のサブセット(例えば、606B、612B)内にあるという判定に従って、デバイスは電子デバイスにおいて、機械的(例えば、触知フィードバック)又は可聴的な(例えば、オーディオファイルの再生)触覚アラートなどの触覚アラートを実行する。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下又は左/右にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントの倍率がどれぐらい大きい/小さいか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
いくつかの実施形態によれば、このサブセットを指定するためにオブジェクトの分析は必要とされない。例えば、このサブセットは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。かかる既定のサブセットは、オブジェクトの作成者によって手動で指定されてもよい。
図6及び図7(例えば、604B、606B、608B、612A、612B、612C)に関連して説明されるサブセットは、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の程度)が、その部分内の移動又はその部分からの移動がより容易又は困難になるようにされてもよく、これは、ユーザのフォーカスを合わせる処理を容易にする。更に、特定のオブジェクトのサブセットは異なるサイズの範囲などの異なる特性を有してもよい。サブセットは、ドキュメント内の「流れ」を方向付けてキュレーション(curation)を可能にするために使用されてもよい。
方法700に関して上述された処理(図7)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700には、図9A、図9B、図11、図13K、図22、図31、図39、及び図46の処理を参照して上述された、さまざまな方法の特性のうちの1つ以上が含まれてもよい。簡潔にするために、これらの詳細は、以下では繰り返さない。
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをするさまざまな方法を認識するであろう。簡潔にするために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに統合されてもよいことに留意されたい。
図8A〜図8Fは、いくつかの実施形態に係る、電子デバイスを用いてユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。この電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える。
図8Aは、ユーザインタフェースオブジェクトの一実施例であるドキュメント802を示す。ドキュメント802は、タイトル804A、本文テキストの段落806A、及び画像808Aを含む。いくつかの実施形態では、この電子デバイスは、特定の時点でドキュメント802の一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント802内をスクロールすることができるように構成されている。ドキュメント802のスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
記載されているユーザインタフェースの図には、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、810)が含まれる。これらの列は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。この実施例では、ドキュメントのスクロール位置は、0.0(例えば、810A)から1.0(例えば、810B)に及ぶスクロール位置(例えば、特性)を有する列810に示されるように、0.0から1.0に及んでもよい。
この実施例では、列810は、ユーザによるオブジェクトの特性の操作のされ方を変更する、さまざまなアンカーを列810の範囲内に含んでいる。図8Aには、アンカー804B、アンカー806B、及びアンカー808Bが示されている。列と同様に、図に示すアンカーは、通常は、表示されるユーザインタフェースの一部分ではなく、図の解釈を助けるために提供されている。例えば、アンカー806Bのゾーンは、列810上の806E(例えば、スクロール位置値0.25)から806D(例えば、スクロール位置値0.45)までである。ドキュメント802のスクロール位置の値がアンカー806Bの範囲内へと遷移すると、ドキュメント802は、以下で詳細に説明されるように、アンカー806Dの中間値806Cまでスクロールされる。
図8Bには、視認可能表示領域820、回転可能入力機構(例えば、506)、及びスクロール値インジケータ822が示されている。視認可能表示領域820は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域820には、ドキュメント802が回転可能入力機構506を用いてスクロールされたときにディスプレイ上に表示されるドキュメント802の部分が示される。スクロール値インジケータ822は、図8C〜図8Eに関連して説明されるように、ドキュメント802のスクロール位置の値を示すことによって、図の解釈を助けるものである。スクロール値インジケータ822は、通常は、表示されるユーザインタフェースの一部ではない。
図8Cは、表示領域820によって示されるように、ドキュメント802の視認可能部分を示す。図8Cでは、ドキュメントのスクロール位置の値は、スクロール値インジケータ822によって示される(例えば、0.50)。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値(例えば、図8Cの0.50)に従ったオブジェクト(例えば、ドキュメント802)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列810内)にある。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の程度であってもよい。
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント802のスクロール位置を変更するために、回転可能入力機構506を回転させる。
ユーザ入力要求を受信することに応じて、デバイスは、ユーザ入力要求がオブジェクトの特性(例えば、スクロールレベル又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカー(例えば、806B)のゾーンの範囲内に遷移させるかどうかを判定する。アンカー(例えば、806B)は、特性の値の範囲内で、開始値(例えば、806E)、中間値(例えば、806C)、及び終了値(例えば、806D)を有する。アンカーのゾーンは、アンカー806Bの開始値(例えば、806E)と終了値(例えば、806D)との間である。アンカーのゾーンは、以下で詳細に説明するように、アンカーがオブジェクトに、中間値(例えば、806C)までオブジェクトをスクロールさせるなどの影響を与える範囲である。
ユーザ入力要求がオブジェクト(例えば、802)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカーのゾーンの範囲内へと遷移させるという判定に従って、デバイスは、オブジェクトの特性の値を、アンカーの中間値(例えば、808C)に基づき更新する。したがって、ドキュメントがスクロールされ、ドキュメントのスクロール位置値が特定のアンカーの範囲内に入ると、デバイスはドキュメントのスクロール位置値をその特定のアンカーの中間値に設定する。デバイスはまた、オブジェクトの特性の更新値に従って、オブジェクト(例えば、802)の表示も更新する。したがって、デバイスは、そのアンカーの中間値までスクロールされたドキュメントを表示する。
この概念は、図8C〜図8Eに示されている。図8Cでは、ドキュメント802はスクロールされていない。デバイスが回転可能入力機構において入力を受信すると、デバイスは入力に従ってドキュメントのスクロールを開始する。この実施例では、入力は、ドキュメント802の上部に向かってスクロールすることを示す。図8Dに示すように、特性の値がアンカー806Bの範囲内に遷移すると、デバイスは、図8Eに示すように、ドキュメントをアンカー806Dの中間点806Cまでスクロールする。
アンカーを使用した結果、デバイスによって、ドキュメントのコンテンツに関するユーザの位置合わせが単純化される。特定のコンテンツがアンカーに達すると、ドキュメントは自動的にそのアンカーの中間点までスクロール(「スナッピング」と呼ばれることもある)する。例えば、これによって、ドキュメント内のさまざまなコンテンツを、ディスプレイ上の特定の位置に合わせて効率的に位置合わせすることが可能となり、ユーザはコンテンツのそれらの特定の部分まで容易にスクロールできるようになる。
図8Fは、オブジェクト(例えば、画像812)のズーム操作を示す。画像(例えば、812)は、オブジェクトの特性(例えば、ズームサイズ)の値(例えば、ズームサイズ値)に従って表示され、この値は特性の値の範囲内にある(例えば、列814に沿っている)。この実施例では、アンカー812A、812B、及び812Cを用いて、ズーム特性の変化をガイドしてもよい。したがって、ユーザが回転可能入力機構を回転させるにつれて、画像は異なるズームサイズ値に従ってズームされる。ズームサイズ値がアンカー812A、812B、及び812Cのうちの1つへと遷移すると、デバイスは自動的に、画像のズームをアンカーの対応する中間値に変更する。その結果、デバイスは、オブジェクトを特定のズームサイズ値へと操作するアクセスを容易にする。画像が最小ズームサイズ(例えば、0.0)に達したとき、画像は0.0を下回るズームレベルまで縮小されて、その後、ズームレベル0.0に戻ってもよい。このラバーバンディング効果によって、最小ズーム制限に達したことのインジケーションがユーザに提供される。同様に、画像が最大ズームサイズ(例えば、1.0)に達したとき、画像は1.0を上回るズームレベルまで拡大されて、その後、ズームレベル1.0に戻ってもよい。このラバーバンディング効果によって、最大ズーム制限に達したことのインジケーションがユーザに提供される。
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新値に従ってオブジェクト(例えば、802、812)の表示を更新することは、オブジェクトの特性の更新値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。即ち、特性の値は、アンカーの範囲内に遷移したときに中間値の値に更新されるが、ユーザインタフェースは、スクロール(又はズーム)位置の更新を、中間値に対応するスクロール(又はズーム)位置への更新のアニメーションによって、一定時間にわたってグラフィカルに表示してもよい。これを行うことによって、更新の唐突感が緩和され得る。
いくつかの実施形態(例えば、アンカー806)によれば、中間値(例えば、806C)は、開始値(例えば、806E)又は終了値(例えば、806D)のいずれとも等しくない。いくつかの実施形態(例えば、アンカー804)によれば、中間値(例えば、804C)は開始値(例えば、804C)又は終了値と等しい。
いくつかの実施形態によれば、アンカーの中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値をアンカーの中間値と等しくなるように更新する(例えば、デバイスがスクロール又はズームの値を中間点に設定する)ことを含む。
いくつかの実施形態によれば、開始値及び終了値は異なる。いくつかの実施形態によれば、中間値は開始値及び終了値の平均ではない。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるものであるという判定に従って、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。したがって、オブジェクトの特性の値が開始値及び終了値の範囲内に入ると、特定の時間期間中の更なるユーザ入力は、オブジェクトの視覚的な表示に影響を与えない。これは、例えば、オブジェクトがアンカーの中間値へ、移動し終わったか又は移動しようとしていることを視覚的に認識するための時間をユーザに与えるのに役立つ。
いくつかの実施形態によれば、この期間は、オブジェクトの特性の値がアンカーのゾーンの範囲内に遷移したときのオブジェクトの特性の値の変化の割合に基づく。例えば、ドキュメントが、アンカーの範囲内へと遷移するときに高いスクロール率でスクロールされた場合、この期間はドキュメントが低いスクロール率でスクロールされた場合よりも短くなり得る。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内、又は第2の開始値、第2の中間値、及び第2の終了値を有し、かつ第2の開始値と第2の終了値との間のゾーンを有する第2のアンカー(例えば、アンカー808B)のゾーンの範囲内のいずれにも遷移させない(例えば、オブジェクトのスクロール位置/ズームサイズは2つのアンカーゾーン間にある)という判定に従って、デバイスは、ユーザ入力に従って、オブジェクトの特性の値を更新する(例えば、デバイスは、どのアンカーのゾーン内にもない停止点までドキュメントをスクロールする)。デバイスはまた、オブジェクトの特性の更新値に従って、オブジェクトの表示も更新する(例えば、デバイスは、停止点に従ってスクロールされたドキュメントを表示する)。デバイスは、ユーザ入力に従って更新されたオブジェクトの特性の値に基づき、少なくともアンカー及び第2のアンカーの中から、最も近いアンカーを特定する。引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する(例えば、スクロール位置値を最も近いアンカーの中間値に設定するか、又はズームサイズ値を最も近いアンカーの中間値に設定する)。デバイスはまた、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する(例えば、最も近いアンカーの中間値に従ってスクロールされたドキュメントを表示するか、又は最も近いアンカーの中間値に従ってズームされたオブジェクトを表示する)。
いくつかの実施形態によれば、最も近いアンカーを特定することは、ユーザ入力要求に従って更新されたオブジェクトの特性の値とアンカーの中間値との間の差を計算することと、ユーザ入力要求に従って更新されたオブジェクトの特性の値と第2のアンカーの中間値との間の差を計算することと、を含む。
いくつかの実施形態によれば、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含んでいる。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させないものであるという判定に従って、デバイスは電子デバイスにおいて、機械的又は可聴的な(例えば、オーディオの再生)触覚アラートなどの触覚アラートを実行する。
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置を特定することを含む。
いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスし、それぞれのアンカーをアンカー点の第1のセットに割り当て、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出することに応じて、デバイスは、アンカー点の第2のセットにアクセスし(例えば、ドキュメントがスクロールされ、より多くのアンカーが必要になったこと)、それぞれのアンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なるものである。
いくつかの実施形態によれば、オブジェクトの操作は、上述のように、アンカー及びサブセットの両方の影響を受ける。デバイスは、ユーザ入力がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるかどうかを判定し、デバイスは、オブジェクトの特性の値も特性の値の範囲の所定のサブセット内にあるかどうかを判定する。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って計算される。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にないという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って計算される。ここで、第1の関数及び第2の関数は異なる関数である。
いくつかの実施形態によれば、オブジェクトはドキュメント又は画像である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、オブジェクトがどれぐらい上/下にスクロールされるか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされるか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転するか)である。
図9Aは、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法900は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法900のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法900を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び/又は550(図1A、図3、図5A、及び図5C)が挙げられる。
方法900は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法によれば、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作できることによって、電力が節約され、バッテリ充電の間隔が増すことになる。
ブロック902では、オブジェクト(例えば、ドキュメント802、画像812)がオブジェクトの特性(例えば、図8C〜図8Eのスクロール位置、図8Fのズームサイズ)の値に従って表示され、この値は特性の値の範囲(例えば、0.0から1.0)内にある。
ブロック904では、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求が受信される。
ブロック906では、ユーザ入力要求を受信することに応じて、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカー(例えば、アンカー806B、アンカー812B)のゾーンの範囲内に遷移させるかどうかが判定され、アンカーは(例えば、806Eにおける)開始値、(例えば、806Cにおける)中間値、及び(例えば、806Dにおける)終了値を、特性の値の範囲内で有し、アンカーのゾーンは開始値と終了値との間である。
ブロック908では、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させる(例えば、図8Dに示すように、822がアンカー806Bのゾーンに入る)という判定に従って、ブロック910及び912が実行される。
ブロック910では、オブジェクトの特性の値がアンカーの中間値に基づき更新される(例えば、スクロール位置値が中間値806Cと等しくなるように設定される)。
ブロック912では、オブジェクトの表示が、オブジェクトの特性の更新値に従って更新される(例えば、図8Eに示すように、ドキュメント802の表示が、更新されたスクロール位置値を反映するように更新される)。
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新値に従ってオブジェクト(例えば、802、812)の表示を更新することは、オブジェクトの特性の更新値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
いくつかの実施形態(例えば、アンカー806)によれば、中間値(例えば、806C)は、開始値(例えば、806E)又は終了値(例えば、806D)のいずれとも等しくない。いくつかの実施形態(例えば、アンカー804)によれば、中間値(例えば、804C)は開始値(例えば、804C)又は終了値と等しい。
いくつかの実施形態によれば、アンカーの中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値をアンカーの中間値と等しくなるように更新する(例えば、デバイスがスクロール又はズームの値を中間点に設定する)ことを含む。
いくつかの実施形態によれば、開始値及び終了値は異なる。いくつかの実施形態によれば、中間値は開始値及び終了値の平均ではない。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるものであるという判定に従って、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。
いくつかの実施形態によれば、この期間は、オブジェクトの特性の値がアンカーのゾーンの範囲内に遷移したときのオブジェクトの特性の値の変化の割合に基づく。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内、又は第2の開始値、第2の中間値、及び第2の終了値を有し、かつ第2の開始値と第2の終了値との間のゾーンを有する第2のアンカー(例えば、アンカー808B)のゾーンの範囲内のいずれにも遷移させない(例えば、オブジェクトのスクロール位置/ズームサイズは2つのアンカーゾーン間にある)という判定に従って、デバイスは、ユーザ入力に従って、オブジェクトの特性の値を更新する(例えば、デバイスは、どのアンカーのゾーン内にもない停止点までドキュメントをスクロールする)。デバイスはまた、オブジェクトの特性の更新値に従って、オブジェクトの表示も更新する(例えば、デバイスは、停止点に従ってスクロールされたドキュメントを表示する)。デバイスは、ユーザ入力に従って更新されたオブジェクトの特性の値に基づき、少なくともアンカー及び第2のアンカーの中から、最も近いアンカーを特定する。引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する(例えば、スクロール位置値を最も近いアンカーの中間値に設定するか、又はズームサイズ値を最も近いアンカーの中間値に設定する)。デバイスはまた、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する(例えば、最も近いアンカーの中間値に従ってスクロールされたドキュメントを表示するか、又は最も近いアンカーの中間値に従ってズームされたオブジェクトを表示する)。
いくつかの実施形態によれば、最も近いアンカーを特定することは、ユーザ入力要求に従って更新されたオブジェクトの特性の値とアンカーの中間値との間の差を計算することと、ユーザ入力要求に従って更新されたオブジェクトの特性の値と第2のアンカーの中間値との間の差を計算することと、を含む。
いくつかの実施形態によれば、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含んでいる。
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させないものであるという判定に従って、デバイスは電子デバイスにおいて、機械的又は可聴的な(例えば、オーディオの再生)触覚アラートなどの触覚アラートを実行する。
いくつかの実施形態によれば、オブジェクト(例えば、802)はドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置を特定することを含む。
いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスし、それぞれのアンカーをアンカー点の第1のセットに割り当て、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出することに応じて、デバイスは、アンカー点の第2のセットにアクセスし(例えば、ドキュメントがスクロールされ、より多くのアンカーが必要になったこと)、それぞれのアンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なるものである。
いくつかの実施形態によれば、オブジェクトの操作は、上述のように、アンカー及びサブセットの両方の影響を受ける。デバイスは、ユーザ入力がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるかどうかを判定し、デバイスは、オブジェクトの特性の値も特性の値の範囲の所定のサブセット内にあるかどうかを判定する。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って計算される。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にないという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って計算される。ここで、第1の関数及び第2の関数は異なる関数である。
いくつかの実施形態によれば、オブジェクトはドキュメント又は画像である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、オブジェクトがどれぐらい上/下にスクロールされるか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされるか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転するか)である。
いくつかの実施形態によれば、アンカーを指定するためにオブジェクトの分析は必要とされない。例えば、アンカーは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。かかる既定のアンカーは、オブジェクトの作成者によって手動で指定されてもよい。
図8及び図9A(例えば、804B、806B、808B、812A、812B、814C)に関連して説明されるアンカーは、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の程度)は、その部分への移動がより容易又は困難になるようにされてもよく、これによって、ユーザのフォーカスを合わせる処理が容易になる。更に、特定のオブジェクトのアンカーは、異なるサイズの範囲などの異なる特性を有してもよい。アンカーは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用されてもよい。
方法900に関して上述された処理(例えば、図9A)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法900は、図7、図9B、図11、図13K、図22、図31、図39、及び図46の処理を参照して上述された、さまざまな方法の特性のうちの1つ以上を含んでもよい。簡潔にするために、これらの詳細は、以下では繰り返さない。
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをするさまざまな方法を認識するであろう。簡潔にするために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに統合されてもよいことに留意されたい。
別の実施形態では、図8G〜図8Hは、電子デバイスを用いてユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。この電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える。
図8G〜図8Hは、ユーザインタフェースオブジェクトの一実施例であるドキュメント842を示す。いくつかの実施形態では、電子デバイスは、特定の時点でドキュメント842の一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント842内をスクロールすることができるように構成されている。ドキュメント842のスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
記載されているユーザインタフェースの図には、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、850)が含まれる。これらの列は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。この実施例では、ドキュメントのスクロール位置は0.0から1.0に及ぶことができる。
この実施例では、列850は、ユーザによるオブジェクトの特性の操作方法を変更する、さまざまなアンカーを列850の範囲内に含む。図8Gには、アンカー844B、アンカー846Bが示されている。列と同様に、図に示すアンカーは、通常は、表示されるユーザインタフェースの一部分ではなく、図の解釈を助けるために提供されている。アンカー844Bのゾーンは、列850上の844E(例えば、スクロール位置値0.30)から844D(例えば、0.50)までである。アンカー846Bのゾーンは、列850上の846E(例えば、値0.60)から846D(例えば、値0.95)までである。ドキュメント842のスクロール位置の値が安定状態に達する(即ち、ドキュメントがスクロールを停止する)と、デバイスは、以下で詳細に説明するように、ドキュメント842を最も近いアンカーの中間値までスクロールする。これによって、ユーザが見やすいように、ドキュメント842が、ディスプレイ(例えば、504)上で位置合わせされる。
図8G〜図8Hはまた、視認可能表示領域860及びスクロール値インジケータ862も示す。視認可能表示領域860は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域860は、ドキュメント842が回転可能入力機構(例えば、506)を用いてスクロールされたときにディスプレイ上に表示されるドキュメント842の部分を示す。スクロール値インジケータ862は、ドキュメント842のスクロール位置の値を示すことによって、図の解釈を助けるものである。スクロール値インジケータ862は、通常は、表示されるユーザインタフェースの一部ではない。
図8Gは、表示領域860によって示されるような、ドキュメント842の視認可能部分を示す。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値に従ったオブジェクト(例えば、ドキュメント802)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列850内)にある。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の程度であってもよい。
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント842のスクロール位置を変更するために、回転可能入力機構506を回転させる。
ユーザ入力要求を受信することに応じて、デバイスは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき更新し、デバイスは、オブジェクトの特性の更新値に従って、オブジェクトの表示を更新する。図8G〜図8Hの実施例では、デバイスがドキュメントをスクロールして、ドキュメントがスクロールを停止している。ドキュメントのスクロール位置の値は、スクロール値インジケータ862によって示される(例えば、スクロール位置値0.53)。したがって、デバイスがユーザ入力を受信すると、デバイスはドキュメント842を更新されたスクロール位置値(例えば、0.53)までスクロールする。いくつかの実施例では、更新されたスクロール位置値に達すると、ドキュメント842は安定状態に達し、スクロールを停止する。
デバイスは、(例えば、ドキュメントがスクロールを停止したときに)オブジェクトの特性の更新値(例えば、0.53)に最も近いアンカーを特定し、この最も近いアンカーは、少なくとも、対応する中間値(例えば、844C)を有する第1のアンカー(例えば、アンカー844B)及び対応する中間値(例えば、846C)を有する第2のアンカー(例えば、アンカー846B)の中から特定される。
引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する。デバイスはまた、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する。したがって、デバイスは、オブジェクトの特性の値を最も近いアンカーの中間値と等しくなるように設定し、ドキュメントを最も近いアンカーの中間値までスクロールする。特性がズームサイズである実施例では、オブジェクトの倍率は最も近いアンカーの中間値に変更される。
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することは、引き続き更新されたオブジェクトの特性の値を反映するようにオブジェクトをアニメーションすることを含む。したがって、例えば、停止された(安定状態の)スクロール位置から引き続き更新値までのドキュメント842のスクロールがアニメーションされる。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、アンカー846Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、846E)と対応する終了値(例えば、846D)との間にあり、これらの開始値及び終了値を含まない。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値(例えば、844C)は、アンカー844Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、844C)又は対応する終了値と等しい。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値を、特定された最も近いアンカーの対応する中間値と等しくなるように更新することを含む。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する開始値及び対応する終了値は異なる。いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、対応する開始値及び対応する終了値の平均である。
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することに引き続き、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。これは、例えば、オブジェクトが最も近いアンカーの中間値へと移動したことを視覚的に認識するための時間をユーザに与えるのに役立つ。いくつかの実施形態によれば、この期間に引き続き、この期間中に受信したユーザ入力要求に従ってオブジェクトの表示が更新される。
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近いゾーンを特定することによって特定される。図8Gに示すように、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー844Bのゾーンまでの距離は距離852(例えば、距離0.03)であるが、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー846Bのゾーンまでの距離は距離850(例えば、距離0.07)である。この実施例では、距離852(例えば、距離0.03)は距離850(例えば、距離0.07)を下回るため、アンカー844Bが最も近いアンカーとして特定される。したがって、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含む。
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近い中間値を特定することによって特定される。図8Hに示すように、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー844Bの中間値844Cまでの距離は距離856(例えば、距離0.33)であるが、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー846Bの中間値846Cまでの距離は距離854(例えば、距離0.20)である。この実施例では、距離854(例えば、距離0.20)は距離856(例えば、距離0.33)を下回るため、アンカー844Bが最も近いアンカーとして特定される。例えば、デバイスは、引き続き更新されたオブジェクトの特性の値と第1のアンカーの対応する中間値との間の差を計算し、引き続き更新されたオブジェクトの特性の値と第2のアンカーの対応する中間値との間の差を計算する。これらの値のうちのより小さいものが、最も近いアンカーを示す。
いくつかの実施形態によれば、デバイスは、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新しながら、デバイスにおいて触覚アラート(例えば、機械的又は可聴的な触覚アラート)を実行する。これによって、オブジェクトが最も近いアンカーに遷移しているというインジケーションをユーザに提供する。
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置を特定することを含む。いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスする。デバイスは、各アンカーをアンカー点の第1のセットに割り当てる。その後、デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出し、デバイスは、オブジェクトの特性の値の変化を検出することに応じて、アンカー点の第2のセットにアクセスする(例えば、ドキュメントがスクロールされたため、より多くのアンカーが必要とされる)。デバイスは、各アンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。これは、例えば、オブジェクトがアンカーを必要とする多くのアンカー点を含むが、デバイスのメモリに限りがあり、アンカーを全てのアンカー点に同時に割り当てると、デバイスの使用可能なメモリが逼迫する場合に役立つ。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
図9Bは、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法920は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行することができる。方法920のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法920を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び/又は550(図1A、図3、図5A、及び図5C)が挙げられる。
方法920は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法によれば、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作できることによって、電力が節約され、バッテリ充電の間隔が増すことになる。
ブロック922では、オブジェクト(例えば、ドキュメント842)がオブジェクトの特性の値(例えば、スクロール位置値)に従って表示され、この値は特性の値の範囲(例えば、0.0から1.0まで)内にある。
ブロック924では、ユーザ入力要求が受信される。ユーザ入力要求は、回転可能入力機構(例えば、506)の回転を表す。
ブロック926では、ユーザ入力要求を受信することに応じて、ブロック928及び930が実行される。ブロック928では、オブジェクト(例えば、ドキュメント842)の特性の値が、特性の値の範囲(例えば、0.0から1.0まで)内で、ユーザ入力要求に基づき更新される。ブロック930では、オブジェクトの表示が、オブジェクトの特性の更新値に従って更新される(例えば、ドキュメントがスクロールされ、その後、安定状態である停止位置に達する)。
ブロック932では、オブジェクトの特性の更新値に最も近いアンカー(例えば、アンカー844B又は846B)が特定され、最も近いアンカーは、少なくとも、対応する中間値(例えば、844C)を有する第1のアンカー(例えば、844B)及び対応する中間値(例えば、846C)を有する第2のアンカー(例えば、846B)の中から特定される。
ブロック934では、引き続き、オブジェクトの特性の値が、特定された最も近いアンカー(例えば、アンカー844B又は846B)の対応する中間値(例えば、844C又は846Cにおける値)に基づき更新される。
ブロック936では、オブジェクト(例えば、ドキュメント842)の表示が、引き続き更新されたオブジェクトの特性の値に従って更新される。
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することは、引き続き更新されたオブジェクトの特性の値を反映するようにオブジェクトをアニメーションすることを含む。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、アンカー846Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、846E)と対応する終了値(例えば、846D)との間にあり、これらの開始値及び終了値を含まない。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値(例えば、844C)は、アンカー844Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、844C)又は対応する終了値と等しい。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値を、特定された最も近いアンカーの対応する中間値と等しくなるように更新することを含む。
いくつかの実施形態によれば、特定された最も近いアンカーの対応する開始値及び対応する終了値は異なる。いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、対応する開始値及び対応する終了値の平均である。
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することに引き続き、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。いくつかの実施形態によれば、この期間に引き続き、この期間中に受信したユーザ入力要求に従ってオブジェクトの表示が更新される。
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近いゾーンを特定することによって特定される。
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近い中間値を特定することによって特定される。
いくつかの実施形態によれば、デバイスは、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新しながら、デバイスにおいて触覚アラート(例えば、機械的又は可聴的な触覚アラート)を実行する。
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置を特定することを含む。いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスする。デバイスは、各アンカーをアンカー点の第1のセットに割り当てる。その後、デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出し、デバイスは、オブジェクトの特性の値の変化を検出することに応じて、アンカー点の第2のセットにアクセスする(例えば、ドキュメントがスクロールされたため、より多くのアンカーが必要とされる)。デバイスは、各アンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
いくつかの実施形態によれば、アンカーを指定するためにオブジェクトの分析は必要とされない。例えば、アンカーは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。かかる既定のアンカーは、オブジェクトの作成者によって手動で指定されてもよい。
図8及び図9Bに関連して説明されるアンカー(例えば、844B、846B)は、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の程度)は、その部分への移動がより容易又は困難になるようにされてもよく、これによって、ユーザのフォーカスを合わせる処理が容易になる。更に、特定のオブジェクトのアンカーは、異なるサイズの範囲などの異なる特性を有してもよい。アンカーは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用されてもよい。
方法920に関して上述された処理(例えば、図9B)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法920は、図7、図9A、図11、図13K、図22、図31、図39、及び図46の処理を参照して上述された、さまざまな方法の特性のうちの1つ以上を含んでもよい。簡潔にするために、これらの詳細は、以下では繰り返さない。
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをするさまざまな方法を認識するであろう。簡潔にするために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに統合されてもよいことに留意されたい。
図10A〜図10Eは、いくつかの実施形態に係る、電子デバイス(例えば、500)を用いてユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。この電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える。
図10A及び図10Bは、ユーザインタフェースオブジェクトの一実施例である、インスタントメッセージング会話1002を示す。いくつかの実施形態では、電子デバイスは、特定の時点でオブジェクトの一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがオブジェクト(例えば、1002)をスクロールすることができるように構成されている。オブジェクトのスクロール位置は、オブジェクトの特性である。オブジェクトのスクロール位置の値は、オブジェクトがスクロールされるにつれて変化する。
記載されているユーザインタフェースの図は、任意選択的に、マーカ(例えば、1002A、1002B、1002C)を含む。これらのマーカは、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。これらの実施例では、マーカはオブジェクトのスクロール位置を示す。
図10A及び図10Bはまた、視認可能表示領域(1020)及びスクロール値インジケータ(例えば、1022)も示す。視認可能表示領域は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域1020は、会話1002が回転可能入力機構(例えば、506)を用いてスクロールされたときに、ディスプレイ上に表示される会話1002の部分を示す。回転可能入力機構506及びスクロール値インジケータ(例えば、1022)は図の解釈を助けるものであり、通常は、表示されるユーザインタフェースの一部ではない。
図10Aは、表示領域1020によって示されるように、会話1002の視認可能部分を示す。デバイスは、ディスプレイ上にオブジェクト(例えば、会話1002)を表示する。オブジェクトは、第1の値を有する第1のマーカ(例えば、マーカ1002A)及び第2の値を有する第2のマーカ(例えば、マーカ1002B)に関連付けられる。オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)は、第1のマーカの第1の値に基づく。
デバイスは、回転可能入力機構の回転を表すユーザ入力を受信する。回転可能入力機構の回転を表すユーザ入力を受信することに応じて、デバイスは、ユーザ入力の属性(例えば、速度、加速度、ユーザ入力の期間)が閾値を上回る(例えば、ユーザ入力が閾値速度又は閾値加速度を上回る)かどうかを判定する。ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、オブジェクト(例えば、1002)の特性の値を、第2のマーカの第2の値に基づき更新する。いくつかの実施形態では、属性は加速度であり、閾値は回転可能入力機構の加速度の閾値であり、入力は「フリッキング」入力と呼ぶことができる。デバイスはまた、オブジェクトの特性の更新値に従って、オブジェクトの表示も更新する。したがって、デバイスが、例えば、回転可能入力機構におけるユーザ入力が閾値速度を上回ると判定すると、デバイスはディスプレイ上のドキュメントを次のマーカまで(例えば、マーカ1002Aからマーカ1002Bまで)スクロールする。いくつかの実施形態では、入力機構の回転の方向はスクロールの方向を決定し、第2のマーカはスクロールの決定された方向における最も近いマーカである。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新することは、オブジェクトの特性の更新値を反映するようにオブジェクトをアニメーションすることを含む。例えば、デバイスは、第2のマーカまでの会話のスクロールのアニメーションを表示する。別の例では、特性がズームサイズであるとき、デバイスは、第2のマーカまでのオブジェクトのズームのアニメーションを表示する。
いくつかの実施形態では、ユーザ入力の属性が閾値を下回る(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、デバイスは、第1のマーカの第1の値に基づくオブジェクトの特性の値に従って、オブジェクトの表示を維持する(例えば、オブジェクトを前と同じ位置に表示し続けるか、又はオブジェクトを前と同じズームレベルで表示し続ける)。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回らない(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、オブジェクトの特性の値が、ユーザ入力に基づく第3の値に更新される。したがって、入力が閾値を上回らない場合、オブジェクトは第2のマーカ以外の位置までスクロール(又はズーム)される。したがって、ユーザが閾値を上回ることなく回転可能入力機構を回転させると、デバイスは滑らかにオブジェクトをスクロールする。
いくつかの実施形態によれば、第2のマーカはアンカーであり、第2のマーカの第2の値はアンカーの中間値である。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、電子デバイスにおいて触覚アラートを実行する(例えば、機械的又は可聴的なアラートを実行する)。
いくつかの実施形態によれば、オブジェクトはドキュメントである。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置(例えば、マーカを配置する位置)を特定することを含む。
いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはマーカを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、オブジェクトのマーカの第1のセットにアクセスする。デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出することに応じて、デバイスは、マーカの第2のセットをオブジェクトに関連付ける。ここで、第1のセット及び第2のセットは異なるものである。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、回転可能入力機構の回転を表す受信したユーザ入力がオブジェクトの表示される特性に影響を与えない期間を開始する。
いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の最大角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角加速度であり、閾値は閾値角加速度である。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
図10C及び図10Dは、ユーザインタフェースオブジェクトの一実施例である配列表1032を示す。いくつかの実施形態では、電子デバイスは、特定の時点でオブジェクトの一部分のみがディスプレイ(例えば、1030)上に表示されるように、ユーザがオブジェクト(例えば、1032)をスクロールすることができるように構成されている。オブジェクトの位置は、オブジェクトの特性である。オブジェクトの位置の値は、オブジェクトの表示部分が変化するのにつれて変化する。
記載されているユーザインタフェースの図は、任意選択的に、マーカ(例えば、1032A、1032B、1032C)を含む。これらのマーカは、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。これらの実施例では、マーカはオブジェクトのスクロール位置を示す。
図10C及び図10Dはまた、視認可能表示領域(1030)及びスクロール値インジケータ(例えば、1032)も示す。視認可能表示領域は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域1030は、配列表1032が回転可能入力機構(例えば、506)を用いてスクロールされたときにディスプレイ上に表示される配列表1032の部分を示す。スクロール値インジケータ(例えば、1032)は図の解釈を助けるものであり、通常は、表示されるユーザインタフェースの一部ではない。
図10Cは、表示領域1030によって示されるように、配列表1032の視認可能部分を示す。デバイスは、ディスプレイ上にオブジェクト(例えば、配列表1032)を表示する。オブジェクトの第1のサブセクションは、第1の値を有する第1のマーカ(例えば、「A」の名前のサブセクションに関連するマーカ1032A)と関連付けられる。オブジェクトの第2のサブセクションは、第2の値を有する第2のマーカ(例えば、「B」の名前のサブセクションに関連するマーカ1032B)と関連付けられる。オブジェクトの第3のサブセクションは、第3の値を有する第3のマーカ(例えば、「C」の名前のサブセクションに関連するマーカ1032C)と関連付けられる。オブジェクトの特性(例えば、位置)の値(例えば、位置値)は、第1のマーカの第1の値に基づく。
デバイスは、回転可能入力機構の回転を表すユーザ入力を受信する。回転可能入力機構の回転を表すユーザ入力を受信することに応じて、デバイスは、ユーザ入力の属性(例えば、速度、加速度、ユーザ入力の期間)が閾値を上回る(例えば、ユーザ入力が閾値速度又は閾値加速度を上回る)かどうかを判定する。いくつかの実施形態では、ユーザ入力の属性が閾値を上回らない(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、デバイスは配列表をスクロールする。したがって、例えば、ユーザは、配列表1032の個々の項目をスクロールするために、回転可能入力機構をゆっくりと回転させることができる。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは視覚インジケータ(例えば、1034)を表示する。視覚インジケータは、オブジェクトの特性の値に基づいている(例えば、配列表のどの部分が表示されているか)。いくつかの実施例では、視覚インジケータ1034は、視覚インジケータが回転可能入力機構506に隣接するように、ディスプレイ上のある位置に表示される。したがって、デバイスが異なる向きを有するか、又は向きが変更された場合(例えば、ユーザが、図10Eに示すように、デバイスを上下逆に回転させ、それに応じてディスプレイが回転する)、視覚インジケータは、回転可能入力機構506に隣接するように、ディスプレイ上のある位置に依然として表示される。例えば、これによって、デバイスのユーザは、視覚インジケータ1034を視覚的によりよく識別することができる。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回るという判定に従って、デバイスは、第2のマーカの第2の値に基づいて、オブジェクト(例えば、1032)の特性の値を更新する。いくつかの実施形態では、属性は加速度であり、閾値は回転可能入力機構の加速度の閾値であり、入力は「フリッキング」入力と呼ぶことができる。デバイスはまた、オブジェクトの特性の更新値に従って、オブジェクトの表示も更新する。
したがって、デバイスが、例えば、回転可能入力機構におけるユーザ入力が閾値速度を上回ると判定すると、デバイスはディスプレイ上の配列表を次のマーカまで(例えば、マーカ1032Aからマーカ1032Bまで)ページ単位にジャンプして、現在のサブセクションの視覚インジケーション(例えば、1034)を表示する。これによって、ユーザは、配列表のどの部分が現在アクセスされているかをよりよく理解することができる。いくつかの実施形態では、入力機構の回転の方向はスクロールの方向を決定し、第2のマーカはスクロールの決定された方向における最も近いマーカである。
いくつかの実施形態では、ユーザが配列表の末尾を越えてスクロールしようとすると、視覚インジケータ1034は視覚的に第1の方向にラバーバンドする(例えば、移動して元の位置に戻る)。いくつかの実施例では、第1の方向は下向きである。他の実施例では、第1の方向は上向きである。いくつかの実施形態では、第1の方向は、視覚インジケータが元のサイズに戻る前に、所定の位置で収縮する又は大きくなるように見えるように、z空間方向における「入」又は「出」の方向である。これは、リストの終わりに達したことをユーザに視覚的に示し、回転可能入力機構又はタッチスクリーンによるユーザ入力が引き続き受信されていることを示す。
図11は、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法1100は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行することができる。方法1100のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法1100を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び/又は550(図1A、図3、図5A、及び図5C)が挙げられる。
方法1100は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法によれば、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作できることによって、電力が節約され、バッテリ充電の間隔が増すことになる。
ブロック1102では、オブジェクト(例えば、インスタントメッセージ会話1002)が表示され、オブジェクト(例えば、会話1002)は、第1の値を有する第1のマーカ(例えば、1002A)及び第2の値を有する第2のマーカ(例えば、1002B)に関連付けられ、オブジェクト(例えば、会話1002)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)は、第1のマーカの第1の値に基づく。
ブロック1104では、回転可能入力機構(例えば、506)の回転を表すユーザ入力が受信される。
ブロック1106では、回転可能入力機構の回転を表すユーザ入力を受信することに応じて、ユーザ入力の属性(例えば、速度、加速度、ユーザ入力の期間)が閾値を上回るかどうかが判定される。
ブロック1108では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、オブジェクトの特性の値が、第2のマーカの第2の値に基づき更新される。
ブロック1110では、オブジェクトの表示が、オブジェクトの特性の更新値に従って更新される(例えば、図10Bに示すように、会話がマーカまでスクロールされる)。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクト(例えば、会話1002)の表示を更新することは、オブジェクトの特性の更新値を反映するようにオブジェクトをアニメーションすることを含む。
いくつかの実施形態では、ユーザ入力の属性が閾値を下回るという判定に従って、デバイスは、第1のマーカの第1の値に基づくオブジェクトの特性の値に従って、オブジェクトの表示を維持する(例えば、会話がスクロールされない)。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回らない(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、オブジェクトの特性の値が、ユーザ入力に基づく第3の値に更新される。したがって、入力が閾値を上回らない場合、オブジェクトは第2のマーカ以外の位置までスクロール(又はズーム)される。
いくつかの実施形態によれば、第2のマーカ(例えば、1002B)はアンカーであり、第2のマーカの第2の値はアンカーの中間値である。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、電子デバイスにおいて触覚アラートを実行する(例えば、機械的又は可聴的なアラートを実行する)。
いくつかの実施形態によれば、オブジェクトはドキュメントである。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の位置(例えば、マーカを配置する位置)を特定することを含む。
いくつかの実施形態によれば、当該ドキュメント内の位置は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード位置、のうちの1つ以上を含んでいる。デバイスはマーカを、ドキュメントの特定されたページ境界、段落境界、及びキーワード位置のうちのいくつか又は全てに割り当てる。
いくつかの実施形態によれば、デバイスは、オブジェクトのマーカの第1のセットにアクセスする。デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出することに応じて、デバイスは、マーカの第2のセットをオブジェクトに関連付ける。ここで、第1のセット及び第2のセットは異なるものである。
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、回転可能入力機構の回転を表す受信したユーザ入力がオブジェクトの表示される特性に影響を与えない期間を開始する。
いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の最大角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角加速度であり、閾値は閾値角加速度である。
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例としては、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)が挙げられるが、これらに限定されない。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の程度(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
いくつかの実施形態によれば、マーカを指定するために、オブジェクトの分析は必要とされない。例えば、マーカは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。かかる既定のマーカは、オブジェクトの作成者によって手動で指定されてもよい。
図10及び図11に関連して説明されるマーカ(例えば、1002A、1002B、1002C)は、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の程度)は、その部分への移動がより容易又は困難になるようにされてもよく、これによって、ユーザのフォーカスを合わせる処理が容易になる。更に、特定のオブジェクトのマーカは、それらへと移動するための異なる閾値などの異なる特性を有してもよい。マーカは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用することができる。
方法1100に関して上述された処理(図11)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法1100は、図7、図9A、図9B、図13K、図22、図31、図39、及び図46の処理を参照して上述された、さまざまな方法の特性のうちの1つ以上を含んでもよい。簡潔にするために、これらの詳細は、以下では繰り返さない。
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをするさまざまな方法を認識するであろう。簡潔にするために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに統合されてもよいことに留意されたい。
図12は、いくつかの実施形態において、上記及び以下で説明される特徴を実行する、電子デバイス1200の例示的な機能ブロックを示す。図12に示すように、電子デバイス1200は、グラフィカルオブジェクトを表示するように構成されたディスプレイユニット1202と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット1204と、外部電子デバイスを検出し通信するように構成された1つ以上のRFユニット1206と、ディスプレイユニット1202、タッチ感知面ユニット1204、及びRFユニット1206に連結された処理ユニット1208と、を含む。いくつかの実施形態では、処理ユニット1208は、表示有効化ユニット1210、受信ユニット1212、及び判定ユニット1214を含む。図12のユニットは、上記及び以下で説明されるさまざまな技術及び方法を実装するために使用されてもよい。
例えば、表示有効化ユニット1210は、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、この値は特性の値の範囲内にある、ことと、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、この値は特性の値の範囲内にある、ことと、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、この値は特性の値の範囲内にある、ことと、オブジェクトをディスプレイ上に表示することであって、オブジェクトは第1の値を有する第1のマーカ及び第2の値を有する第2のマーカに関連付けられている、ことと、のために使用することができる。
例えば、受信ユニット1212は、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力を受信することと、のために使用することができる。
例えば、判定ユニット1214は、オブジェクトの特性の値が、特性の値の範囲の所定のサブセット内にあるかどうかを判定することと、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させるかどうかを判定することと、ユーザ入力の属性が閾値を上回るかどうかを判定することと、のために使用することができる。
例えば、更新ユニット1216は、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新することと、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することであって、第1の関数及び第2の関数は異なる関数である、更新することと、オブジェクトの特性の当該更新値に従ってオブジェクトの表示を更新することと、アンカーの中間値に基づきオブジェクトの特性の値を更新することと、オブジェクトの特性の当該更新値に従ってオブジェクトの表示を更新することと、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき更新することと、オブジェクトの特性の当該更新値に従ってオブジェクトの表示を更新することと、引き続き、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することと、当該引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することと、第2のマーカの第2の値に基づいてオブジェクトの特性の値を更新することと、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新することと、のために使用することができる。
デバイス1200の機能ブロックは、任意選択的に、説明されるさまざまな実施例の原理を実施するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって実装される。図12で説明する機能ブロックは、説明されるさまざまな実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図13A〜図13Jは、複数のユーザインタフェースオブジェクトを選択可能要素1302、1304、1306、1308及びフォーカスセレクタ1310の形式で表示する、例示的なユーザインタフェース1300を示す。ユーザは、装着型電子デバイスの物理的な竜頭を用いて、フォーカスセレクタ1310を移動させて所望の選択要素に位置を合わせることによって、複数の選択可能な要素の中から選択要素を選択することができる。
デバイス550の竜頭558は、ユーザが回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。竜頭558は、2つの異なる方向(時計回り及び反時計回り)に回転させることができる。図13〜図13Jには、該当する場合には、竜頭の回転方向を例示する回転方向矢印、及び、1つ以上のユーザインタフェースオブジェクトの移動方向を例示する移動方向矢印を含んでいる。これらの回転方向矢印及び移動方向矢印は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。この実施例では、竜頭558の時計方向の回転は、上方向に向いている回転方向矢印によって例示されている。同様に、竜頭558の反時計方向の回転は、下方向に向いている回転方向矢印によって例示されている。回転方向矢印の特性は、竜頭558がユーザによって回転される距離、速度、又は加速度を表すものではない。その代わりに、回転方向矢印は、ユーザによる竜頭558の回転方向を表す。
また、図13〜図13Jは、物理竜頭ユーザ入力デバイスと関連して、ユーザインタフェースオブジェクトとのユーザの対話を制御するために使用することができる例示的な物理学に基づくモデルを示す。この実施例では、要素1302、1304、1306、1308は静止しており、フォーカスセレクタ1310は、竜頭558から受信したユーザ入力によって移動可能である。竜頭558の時計回りの動きは、上移動方向のフォーカスセレクタ1310への力に関連付けられ、竜頭558の反時計回りの動きは、フォーカスセレクタ1310に対する下移動方向への力に関連付けられる。したがって、フォーカスセレクタ1310を、図13Aに示すように、要素1306に合わせた位置から、図13Jに示すように、上方向に位置する要素1304に合うように移動させるには、時計回り方向の竜頭558上のユーザ入力が必要である。
4つのユーザ選択可能な要素1302、1304、1306、1308の間でのフォーカスセレクタ1310の移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカスセレクタ1310との間に関連付けられる。各要素1302、1304、1306、1308は、シミュレートされた磁気値に関連付けられる。この実施例では、要素1302、1304、1306、1308の磁気値は等しい。他の実施例では、要素1302、1304、1306、1308の磁気値は等しくなくてもよい。
要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気的関係を使用するとき、要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。以下で更に詳細に説明されるように、ユーザインタフェース1300は、要素1302、1304、1306、1308とフォーカスセレクタ1310との間に引力を発生させる。その結果、ユーザ入力が受信されなかったとき、フォーカスセレクタ1310は最終的に、要素1302、1304、1306、1308のうちの1つに位置合わせされる安定状態に達する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。要素にフォーカスセレクタ1310を位置合わせすることは、ユーザ入力を用いて要素をアクティブ化することを可能にする。アクティブ化のための如何なるユーザ入力の前であっても、フォーカスセレクタ1310の要素への位置合わせは、その要素の選択を示す。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
この実施例では、物理学に基づく磁気モデリングは、例えば、各要素1302、1304、1306、1308を、その独自の永続的な磁界を生み出す磁化された材料から作製されたオブジェクトとしてモデリングし、フォーカスセレクタ1310を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって、実現される。別の実施例では、物理学に基づくモデリングは、各要素1302、1304、1306、1308を、磁石に吸引される材料から作製されたオブジェクトとしてモデリングし、フォーカスセレクタ1310を、その独自の永続的な磁界を生み出す材料としてモデリングすることによって、実現してもよい。別の実施例では、物理学に基づくモデリングは、各要素1302、1304、1306、1308を、その独自の永続的な磁界を生み出すオブジェクトとしてモデリングし、フォーカスセレクタ1310を、同じく独自の永続的な磁界を生み出す、吸引力のある2つの磁石などの材料としてモデリングすることによって、実現してもよい。これらの物理学に基づくモデルの各々は、永続的なままではなく、要素とフォーカスセレクタ1310との間の距離、フォーカスセレクタ1310の速度、フォーカスセレクタ1310の加速度などの特定の因子に基づくか、又は2つ以上の因子の組み合わせに基づき変化する磁界を含むようにすることができる。例えば、変化する磁界は、オン又はオフされ、変化する強度を有することができる電磁石の使用によって、シミュレートしてもよい。
図13Aでは、フォーカスセレクタ1310は要素1306に位置合わせされており、これは要素1306の選択を示す。図13Bでは、デバイス550は、竜頭558の時計方向(回転方向矢印1312によって示される)の位置の変化を判定する。竜頭558の位置の変化を判定することに応じて、デバイスは、フォーカスセレクタ1310の速度を増加させ、移動方向矢印1314によって示されるように、フォーカスセレクタ1310を上方向に動かす。一実施例では、フォーカスセレクタ1310は質量に関連付けられてもよく、又は計算された慣性を有してもよい。
要素1306は磁気要素としてモデリングされ、フォーカスセレクタ1310は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。ユーザインタフェース1300の物理学に基づくモデルは、この磁気吸引力を用いて、フォーカスセレクタ1310の要素1306から離れる移動の抵抗を発生させる。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他のオブジェクトを移動させる能力)に関してモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
図13C及び図13Dでは、デバイス550は、回転方向矢印1316により示されるような、時計方向への竜頭558の位置の変化を判定し続ける。竜頭558の位置の変化を判定することに応じて、デバイス550は、フォーカスセレクタ1310に上方向の追加の速度を加える。同時に、要素1302、1304、1306、及び1308の磁気吸引力がフォーカスセレクタ1310に作用している。図13Cでは、要素1306及び1308は、物理学に基づく磁気モデリングの結果として、フォーカスセレクタ1310に下方向の力を加えている。要素1302及び1304は、物理学に基づく磁気モデリングの結果として、フォーカスセレクタ1310に上方向の力を加えている。
各要素とフォーカスセレクタ1310との間の距離は、要素がフォーカスセレクタ1310に加える力の大きさにおいても、一定の役割を果たす。概して、要素とフォーカスセレクタ1310との間の距離が増加すると、その要素とフォーカスセレクタ1310との間の力の強度は低下する。力の強度の変化の割合は、多くの方法でモデリングすることができる。例えば、逆二乗則を距離の関数としての力の強度に適用することができる。より具体的には、Iが力の強度、dが距離の場合に、I=1/d2である。他の実施例では、磁気力は、距離に直接反比例して変化してもよく、又は距離の3乗に反比例して変化してもよい。
いくつかの実施例では、フォーカスセレクタが、要素から所定の距離にある外縁部を有する引力領域内にある間のみ、要素とフォーカスセレクタとの間に磁気吸引力が存在する。これによって、フォーカスセレクタに加えられる力を判定するときに、フォーカスセレクタからの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算が単純化される。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルもまた利用して、フォーカスセレクタが動いている間のフォーカスセレクタの速度を低減させてもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
図13Dでは、フォーカスセレクタ1310は、ちょうど要素1302、1304と要素1306、1308との間にある。ただし、フォーカスセレクタ1310は、フォーカスセレクタ1310に関連付けられた速度又は慣性に部分的に基づき、上方向に移動し続ける。
図13E〜図13Jでは、デバイス550は、竜頭558の位置に変化がないと判定する。この判定の結果、更なる速度がフォーカスセレクタ1310の既存の速度に加えられることはない。ただし、要素1302、1304、1306、1308の磁気力は、物理学に基づく摩擦モデルと同様に、引き続き加えられる。図13E〜図13Jでは、要素1302、1306、1308と比較した場合に、要素1304がフォーカスセレクタ1310に対して最も大きい磁気効果を有し、これは、要素1304がフォーカスセレクタ1310に最も近いためである。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
図13E及び図13Fでは、要素1304は、上方向の磁気力をフォーカスセレクタ1310に加える。図13G及び図13Hでは、フォーカスセレクタ1310が要素1304を行き過ぎたときに、要素1304は下方向の力をフォーカスセレクタ1310に加え、フォーカスセレクタ1310が図13Hにおける一時的な停止点に達するまで、フォーカスセレクタ1310の速度を更に低減する。図13Iでは、要素1304によってフォーカスセレクタ1310に加えられる下方向の磁気力は、フォーカスセレクタ1310を下方向に移動させ、かつ要素1304に位置合わせさせる。図13Jでは、フォーカスセレクタ1310は、要素1304に位置合わせされた状態で静止する。システムは、この位置合わせを要素1304の選択として解釈するが、これは、竜頭558の使用によりユーザがフォーカスセレクタ1310を操作することによって、達成される。
要素1304が選択されている間、ユーザは1つ以上の技術によって要素1304をアクティブ化してもよい。例えば、ユーザは、タッチ感知ディスプレイ556を押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタン562を押下してもよく、又は単純に、要素1304が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカスセレクタを位置合わせすることは、要素の選択及びアクティブ化の両方として、解釈してもよい。
この実施例では、フォーカスセレクタ1310の移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせを要素とフォーカスセレクタとの間で必要としてもよい。
図13Kは、物理的な竜頭を入力デバイスとして用いて、グラフィカルユーザインタフェース内の要素を選択するための処理1350を示すフロー図である。処理1350は、物理的な竜頭を有する装着型電子デバイス(例えば、図1のデバイス550)で実施される。いくつかの実施例では、電子デバイスはまた、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から一要素を選択するための効率的な技術を提供する。
ブロック1352では、デバイスは、装着型電子デバイスのタッチ感知ディスプレイに複数の選択可能要素を表示させる。デバイスはまた、フォーカスセレクタも表示させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素の各選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力に関する要素の磁気吸引力の強度であってもよい。
いくつかの実施例では、システムは、複数の選択可能要素を直線的に等間隔に表示する。この構成によって、ユーザは要素を更に選択しやすくなる。この構成は、特に選択可能要素が同等の重要性を有し、それゆえに均等に重み付けされているときに有益である。
ブロック1354において、デバイスは、竜頭の位置情報を受信する。竜頭の位置情報は、パルス信号、実数値、整数値などの連続として、受信することができる。
ブロック1356において、デバイスは、竜頭の距離値の変化が発生したか否かを判定する。竜頭の距離値は、装着型電子デバイスの物理的な竜頭の角度変位に基づくものである。竜頭の距離値の変化は、例えば、物理的な竜頭を回転することによって、ユーザが装着型電子デバイスに入力を提供したことを示す。デバイスは、竜頭の距離値の変化が発生していないと判定する場合、システムはブロック1354に戻り、竜頭の位置情報の受信を継続する。デバイスは、竜頭の距離値の変化が生じたと判定する場合、システムは、ブロック1358に進むが、竜頭位置情報の受信を継続することができる。
デバイスはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づいて方向を判定する。例えば、上方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができる。同様に、下方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。他の実施例では、下方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができ、上方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。
ブロック1358では、竜頭の距離値の変化の判定に応じて、デバイスは、複数の選択可能な要素のうちの一つの選択要素に向かってフォーカスセレクタを移動させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動速度(速さ)を有する。システムは、選択要素に関連付けられた磁気値に少なくとも基づく、選択要素とのフォーカスセレクタの物理学に基づく磁気相互作用を用いて、フォーカスセレクタの移動速度を変化させる。例えば、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素に向かって移動するにつれて、フォーカスセレクタの移動速度を増加させてもよい。同様に、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素から離れるにつれて、フォーカスセレクタの移動速度を減少させてもよい。
同様に、他の選択可能要素とのフォーカスセレクタの磁気相互作用は、フォーカスセレクタの移動速度を変化させてもよい。例えば、フォーカスセレクタの移動速度は、フォーカスセレクタが、選択されていない状態のままである要素に近付いたとき、及びその要素を通過したときに変化してもよい。この選択されていない要素との相互作用の結果であるフォーカスセレクタの移動速度の変化は、少なくとも部分的に、選択されていない要素の磁気値に基づく。
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、仮想的な引張力に基づく仮想的な磁気強度である。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、フォーカスセレクタが動いている間のフォーカスセレクタの移動速度を低減させてもよい。例えば、フォーカスセレクタの移動速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、竜頭の回転によって、追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムは竜頭距離値の第2の変化を判定する。システムはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づく第2の方向を判定する。竜頭距離値の第2の変化を判定することに応じて、システムはフォーカスセレクタの移動速度を増減する。フォーカスセレクタの移動速度の変化は、竜頭距離値の第2の変化及び第2の方向に基づく。
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。
図14〜図21は、選択可能要素1402、1404、1406、1408の形式の複数のユーザインタフェースオブジェクト及びフォーカスセレクタ1410を表示する、例示的なユーザインタフェース1400を示す。ユーザは、装着型電子デバイスの物理的な竜頭を用いて、フォーカスセレクタ1410を移動させて所望の選択要素に位置合わせすることによって、複数の選択可能な要素の中から選択要素を選択することができる。選択された選択要素をアクティブ化するために、ユーザからの追加の入力を使用してもよい。
デバイス550の竜頭558は、ユーザが回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。竜頭558は、2つの異なる方向(時計回り及び反時計回り)に回転させることができる。図14〜図20は、該当する場合には、竜頭の回転方向を例示する回転方向矢印、及び、1つ以上のユーザインタフェースオブジェクトの移動方向を例示する移動方向矢印を含んでいる。これらの回転方向矢印及び移動方向矢印は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。この実施例では、竜頭558の時計方向の回転は、上方向に向いている回転方向矢印によって例示されている。同様に、竜頭558の反時計方向の回転は、下方向に向いている回転方向矢印によって例示されている。回転方向矢印の特性は、竜頭558がユーザによって回転される距離、速度、又は加速度を表すものではない。その代わりに、回転方向矢印は、ユーザによる竜頭558の回転方向を表す。
また、図14〜図21は、物理竜頭ユーザ入力デバイスと関連して、ユーザインタフェースオブジェクトとのユーザの対話を制御するために使用することができる例示的な物理学に基づくモデルを示す。この実施例では、要素1402、1404、1406、1408は静止しており、フォーカスセレクタ1410は、竜頭558から受信したユーザ入力によって移動可能である。竜頭558の時計回りの動きは、上移動方向のフォーカスセレクタ1410への力に関連付けられ、竜頭558の反時計回りの動きは、フォーカスセレクタ1410に対する下移動方向への力に関連付けられる。
4つのユーザ−選択可能要素1402、1404、1406、1408の間でのフォーカスセレクタ1410の移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカスセレクタ1410との間に関連付けられる。各要素1402、1404、1406、1408は、磁気値に関連付けられる。この実施例では、要素1302、1304、1306、1308の磁気値は、全てが等しいわけではない。等しくない磁気値は、ユーザがより容易に特定のオプションを選択することを可能にするのに役立つ場合がある。例えば、ユーザが複数のオプションの中から特定のオプションを選択する確率が90%であることをシステムが予期した場合、その特定のオプションの磁気値は、他の複数のオプションの磁気値より大幅に大きいように構成してもよい。これは、ユーザが迅速かつ容易に特定のオプションを選択することを可能にするが、一方で、他の複数のオプションのうちの1つを選択するために、ユーザがより精密なユーザインタフェースのナビゲーションを行うことが必要となる。
この実施例では、要素1402の磁気値は要素1404の磁気値と等しい。これは、図14〜図21で、等しいサイズの要素1402及び1404によって示される。要素1406の磁気値は、要素1404の磁気値を下回る。これは、図14〜図21で、要素1406の低減されたサイズによって示される。要素1408の磁気値は、要素1404の磁気値を上回る。これは、図14〜図21で、要素1408のより大きいサイズによって示される。したがって、この実施例では、要素1402、1404、1406、1408のそれぞれの磁気強度は、図14〜図21で、要素1402、1404、1406、1408の相対的なサイズによって表される。
要素1402、1404、1406、1408とフォーカスセレクタ1410との間の磁気的関係を使用するとき、要素1402、1404、1406、1408とフォーカスセレクタ1410との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。以下で更に詳細に説明されるように、ユーザインタフェース1400は、要素1402、1404、1406、1408とフォーカスセレクタ1410との間に引力を発生させる。その結果、ユーザ入力が受信されなかったとき、フォーカスセレクタ1410は最終的に、要素1402、1404、1406、1408のうちの1つに位置合わせされる安定状態に達する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。フォーカスセレクタ1410の要素への位置合わせは、その要素の選択を示す。他の実施例では、選択のために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
この実施例では、物理学に基づく磁気モデリングは、各要素1402、1404、1406、1408を、その独自の永続的な磁界を生み出す磁化された材料から作製されたオブジェクトとしてモデリングし、フォーカスセレクタ1410を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって、実現される。上述されたものなどの他の物理学に基づくモデルが使用されてもよい。
この実施例では、上述のように、要素1402、1404、1406、1408の磁気強度は、全てが等しいわけではない。更に、要素1402、1404、1406、1408の磁気強度は、フォーカスセレクタ1410の速度に基づき変化する。フォーカスセレクタ1410の速度が速くなるほど、要素1402、1404、1406、1408の磁気強度は低くなる。フォーカスセレクタ1410の速度が遅くなるほど、要素1402、1404、1406、1408の磁気強度は高くなる。その結果、フォーカスセレクタ1410が素早く移動しているとき、要素1402、1404、1406、1408がフォーカスセレクタの速度を変化させることにおいて果たす役割は、フォーカスセレクタ1410がゆっくり移動しているときと比べて小さくなる。
要素1402、1404、1406、1408の磁気強度を変化させる技術が、図14〜図21に示されている。要素1402、1404、1406、1408の磁気強度(及びこの実施例では、サイズ)は、フォーカスセレクタ1410の速度に基づく。例えば、変化する磁気強度は、変化する強度を有し得る電磁石の使用によってシミュレートされてもよい。
図14では、フォーカスセレクタ1410は要素1404に位置合わせされ、これは要素1404の選択を示す。いくつかの実施例では、選択のために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。図15では、デバイス550は、竜頭558の反時計方向(回転方向矢印1430によって示されるような)の位置の変化を判定する。竜頭558の位置の変化を判定することに応じて、デバイスは、フォーカスセレクタ1410の速度を増加させ、移動方向矢印1420によって示されるように、フォーカスセレクタ1410を下方向に動かす。一実施例では、フォーカスセレクタは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
要素1406は磁気要素としてモデリングされ、フォーカスセレクタ1410は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他のオブジェクトを移動させる能力)に関してモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
ただし、要素1402、1404、1406、1408の磁気強度は、フォーカスセレクタ1410の速度に基づく。フォーカスセレクタ1410が速く移動するほど、要素1402、1404、1406、1408の磁気強度は小さくなる。これは、図15〜図17に示されている。フォーカスセレクタ1410の速度が上昇すると、要素1402、1404、1406、1408はその磁気強度を失う。この磁気強度が喪失することは、例示目的のために、図15〜図17において、要素1402、1404、1406、1408のより小さいサイズによって示される。通常、要素及びフォーカスセレクタのサイズが、その磁気強度の変化に伴って、視覚的に変化することはない。
図18〜図20では、フォーカスセレクタ1410の速度が低下する。フォーカスセレクタ1410が遅く移動するほど、要素1402、1404、1406、1408の磁気強度は大きくなる。これは、図18〜図20に示されている。フォーカスセレクタ1410の速度が低下すると、要素1402、1404、1406、1408はその磁気強度を回復する。この磁気強度の回復は、例示目的のために、図18〜図20において、要素1402、1404、1406、1408のより大きいサイズによって示される。通常、要素及びフォーカスセレクタのサイズが、その磁気強度の変化に伴って、視覚的に変化することはない。要約すると、要素の磁気強度はフォーカスセレクタの速度に反比例する。
上述のように、各要素1402、1404、1406、1408とフォーカスセレクタ1410との間の距離は、要素がフォーカスセレクタ1410に加える力の大きさにおいても、一定の役割を果たす。
いくつかの実施例では、フォーカスセレクタが、要素から所定の距離にある外縁部を有する引力領域内にある間のみ、要素とフォーカスセレクタとの間に磁気吸引力が存在する。これによって、フォーカスセレクタに加えられる力を判定するときに、フォーカスセレクタからの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算が単純化される。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルもまた利用して、フォーカスセレクタが動いている間のその速度を低減させてもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
図19及び図20では、要素1408によってフォーカスセレクタ1410に加えられる下方向の磁気力は、フォーカスセレクタ1410を下方向に移動させ、かつ要素1408に位置合わせさせる。図21では、フォーカスセレクタ1410は、要素1408に位置合わせされた状態で静止する。システムは、この位置合わせを要素1408の選択として解釈するが、これは、竜頭558の使用によりユーザがフォーカスセレクタ1410を操作することによって、達成される。いくつかの実施例では、選択のために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。選択をアクティブ化するために、更なるユーザ入力を使用することができる。
要素1408が選択されている間、ユーザは多くの技術のうちの1つ以上によって要素1408をアクティブ化し得る。例えば、ユーザは、デバイスのタッチ感知ディスプレイを押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタンを押下してもよく、又は単純に、要素1408が所定の時間にわたって選択されたままにすることができる。別の実施例では、要素及びフォーカスセレクタを位置合わせすることは、要素の選択及びアクティブ化の両方として、解釈してもよい。
この実施例では、フォーカスセレクタの移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせを要素とフォーカスセレクタとの間で必要としてもよい。いくつかの実施例では、選択のために、位置合わせの後、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
図22は、物理的な竜頭を入力デバイスとして用いて、グラフィカルユーザインタフェース内の要素を選択するための処理2200を示すフロー図である。処理2200は、物理的な竜頭を有する装着型電子デバイス(例えば、図1のデバイス550)で実施される。いくつかの実施例では、電子デバイスはまた、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から一要素を選択するための効率的な技術を提供する。
ブロック2202では、デバイスは、装着型電子デバイスのタッチ感知ディスプレイに複数の選択可能要素を表示させる。デバイスはまた、フォーカスセレクタも表示させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素の各選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力に関する要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
ブロック2204において、デバイスは、竜頭の位置情報を受信する。位置情報は、パルス信号、実数値、整数値などの連続として、受信することができる。
ブロック2206において、デバイスは、竜頭の距離値の変化が発生したか否かを判定する。竜頭の距離値は、装着型電子デバイスの物理的な竜頭の角度変位に基づくものである。竜頭の距離値の変化は、例えば、物理的な竜頭を回転することによって、ユーザが装着型電子デバイスに入力を提供したことを示す。デバイスが、竜頭の距離値の変化が発生していないと判定する場合、システムはブロック2204に戻り、竜頭の位置情報の受信を継続する。デバイスが、竜頭の距離値の変化が生じたと判定する場合、システムは、ブロック2208に進むが、竜頭位置情報の受信を継続することができる。
デバイスはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づいて方向を判定する。例えば、上方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができる。同様に、下方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。他の実施例では、下方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができ、上方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。
ブロック2208では、竜頭の距離値の変化の判定に応じて、デバイスは、複数の選択可能な要素のうちの一つの選択要素に向かって、フォーカスセレクタを移動させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動速度(速さ)を有する。
いくつかの実施例では、脱出速度に到達するのに必要な竜頭回転の最小角速度は、竜頭558(図1)の瞬間的な角速度に直接的に対応する。これは、竜頭558が充分な角速度に達したときに、デバイス550のユーザインタフェースが本質的に応答する、ということを意味する。いくつかの実施形態では、脱出速度に到達するために必要な竜頭回転の最小角速度は、直接的に等しくはないが、竜頭558の瞬間的な(「現在の」)角速度に基づいて算出される速度である。これらの実施例では、デバイス550は、時間Tの離散的な瞬間で式1に従って計算された竜頭(角)速度Vを維持することができる。
VT=V(T−1)+ΔVCROWN−ΔVDRAG (式1)
式1において、VTは時間Tで計算された竜頭速度(速さと方向)を表し、V(T−1)は時間T−1での前の速度(速さと方向)を表し、ΔVCROWNは時刻Tにおける竜頭の回転によって印加される力により生じる速度の変化を表し、ΔVDRAGは抗力による速度の変化を表す。印加される力は、ΔVCROWNによって反映され、竜頭の現在の角度回転速度に依存し得る。したがって、ΔVCROWNはまた、竜頭の現在の角速度に依存することができる。このようにして、デバイス550は、竜頭の瞬間速度のみならず、複数の時間インターバルにわたる竜頭の動きの形でのユーザ入力に基づいて、それらのインターバルが細かく区分される場合でも、ユーザインタフェース相互作用を提供することができる。通常、ΔVCROWNの形態でのユーザ入力がない場合、VTは、式1に従って、ΔVDRAGに基づいて、0に近付く(そして0となる)ことになるが、VTは、竜頭回転の形態(ΔVCROWN)でのユーザ入力がなければ、符号を変更しないであろうことに、留意されたい。
通常は、竜頭の角度回転の速度が大きければ大きいほど、ΔVCROWNの値は大きくなるであろう。しかし、竜頭の角回転の速度とΔVCROWNとの間の実際の対応付けは、所望のユーザインタフェース効果に依存して、変化させることができる。例えば、竜頭の角回転の速度とΔVCROWNとの間のさまざまな線形又は非線形の対応付けを使用することができる。
また、ΔVDRAGはさまざまな値を取ってもよい。例えば、ΔVDRAGは、より大きな速度では、より大きな反対の速度変化(ΔVDRAG)を生じさせることができるように、竜頭の回転速度に依存させることができる。別の実施例では、ΔVDRAGは一定の値を有し得る。上述のΔVCROWN及びΔVDRAGの要件は、望ましいユーザインタフェース効果を生み出すために変更することができることを理解されたい。
式1から分かるように、維持速度(VT)は、ΔVCROWNがΔVDRAGより大きい限り、増加し続けることができる。更に、ΔVCROWN入力が受信されていない場合であっても、VTは非0値を有することができ、ユーザインタフェースオブジェクトは、ユーザが竜頭を回転させることがなくても、変化し続けることができることを意味する。これが発生すると、オブジェクトは、ユーザが竜頭の回転を停止した時点での維持速度及びΔVDRAG成分に基づいて、変化を停止することができる。
いくつかの実施例において、竜頭を、現在のユーザインタフェースの変化とは逆の回転方向に対応する方向に回転すると、V(T−1)成分は0の値にリセットされ、これによって、ユーザは、VTを相殺するのに十分な力を提供する必要なしに、オブジェクトの方向を迅速に変更することができる。
ブロック2210では、システムはフォーカスセレクタの速度を決定する。フォーカスセレクタの速度は、上述したように、竜頭速度に基づいて決定されてもよい。
ブロック2212では、選択可能要素のうちの1つ以上の磁気値が、フォーカスセレクタの速度に基づき修正される。一実施例では、1つ以上の選択可能要素の磁気値は、フォーカスセレクタの速度に反比例する。例えば、フォーカスセレクタが第1の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の10分の1に減少する。フォーカスセレクタが、第1の閾値を下回り、かつ第2の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の5分の1に減少する。フォーカスセレクタの速度が更に低下し、第2の閾値を下回る速度を有するとき、選択可能要素の磁気値は、それらの元の値に戻る。
更に、フォーカスセレクタの速度は、選択要素に関連付けられた磁気値に少なくとも基づく、選択要素とのフォーカスセレクタの物理学に基づく磁気相互作用のために変化する。例えば、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素に向かって移動するにつれて、フォーカスセレクタの速度を上昇させてもよい。同様に、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素から離れるにつれて、フォーカスセレクタの速度を低下させてもよい。
同様に、他の選択可能要素とのフォーカスセレクタの磁気相互作用は、フォーカスセレクタの速度を変化させてもよい。例えば、フォーカスセレクタの速度は、フォーカスセレクタが、選択されていない状態のままである要素に近付いたとき、及びその要素を通過したときに変化してもよい。この選択されていない要素との相互作用の結果である、フォーカスセレクタの速度の変化は、少なくとも部分的に、選択されていない要素の磁気値に基づくものである。
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、仮想的な引張力に基づく仮想的な磁気強度である。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルもまた利用して、フォーカスセレクタが動いている間のその速度を低減させてもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、竜頭の回転によって、追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムは竜頭距離値の第2の変化を判定する。システムはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づく第2の方向を判定する。竜頭距離値の第2の変化を判定することに応じて、システムは、フォーカスセレクタに追加の力を加えることによって、フォーカスセレクタの速度を増減する。フォーカスセレクタの移動速度の変化は、竜頭距離値の第2の変化及び第2の方向に基づく。
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。
図23〜図30は、選択可能要素2302、2304、2306、2308の形式の複数のユーザインタフェースオブジェクト及びフォーカスセレクタ2310を表示する、例示的なユーザインタフェース2300を示す。ユーザは、装着型電子デバイスの物理的な竜頭を用いて、フォーカスセレクタ2310を移動させて所望の選択要素に位置合わせすることによって、複数の選択可能な要素の中から選択要素を選択することができる。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせの後、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
デバイス550の竜頭558は、ユーザが回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。竜頭558は、2つの異なる方向(時計回り及び反時計回り)に回転させることができる。図24〜図29は、該当する場合には、竜頭の回転方向を例示する回転方向矢印、及び、1つ以上のユーザインタフェースオブジェクトの移動方向を例示する移動方向矢印を含んでいる。これらの回転方向矢印及び移動方向矢印は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。この実施例では、竜頭558の反時計方向の回転は、下方向に向いている回転方向矢印によって例示されている。回転方向矢印の特性は、竜頭558がユーザによって回転される距離、速度、又は加速度を表すものではない。その代わりに、回転方向矢印は、ユーザによる竜頭558の回転方向を表す。
図23〜図30は、物理竜頭ユーザ入力デバイスと関連して、ユーザインタフェースオブジェクトとのユーザの対話を制御するために使用することができる例示的な物理学に基づくモデルを示す。この実施例では、要素2302、2304、2306、2308は静止しており、フォーカスセレクタ2310は、竜頭558から受信したユーザ入力によって移動可能である。竜頭558の反時計回りの動きは、フォーカスセレクタ2310に対する下移動方向への力に関連付けられている。
上述のように、要素2302、2304、2306、2308とフォーカスセレクタ2310との間の磁気的関係を使用するとき、要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。更に、フォーカスセレクタ2310の移動は、物理学に基づくばねモデルを用いて更に制御してもよい。
物理学に基づくばねのモデリングは、例えば、要素2302及び2308に取り付けられたばねをモデリングすることによって実現される。フォーカスセレクタ2310が複数の選択可能要素の制限範囲を超えて移動すると、ばねがフォーカスセレクタ2310に係合し、フォーカスセレクタの「ラバーバンディング」を発生させる。例えば、仮想的なばね2312、2314は、フックの法則を用いてモデリングすることができる。フックの法則は、ばねを一定の距離だけ伸張又は圧縮するために必要な力は、その距離に比例すると述べている。言い換えれば、F=力、k=ばね係数、及びx=距離の場合に、F=kxである。ばね2312、2314は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供されている。
図23では、フォーカスセレクタ2310は要素2308に位置合わせされ、これは要素2308の選択を示す。図24では、デバイス550は、竜頭558の反時計方向(回転方向矢印2330によって示されるような)の位置の変化を判定する。竜頭558の位置の変化を判定することに応じて、デバイスは、フォーカスセレクタ2310の速度を増加させ、移動方向矢印2320によって示されるように、フォーカスセレクタ2310を下方向に動かす。一実施例では、フォーカスセレクタは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
要素2308は磁気要素としてモデリングされ、フォーカスセレクタ2310は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。
図24〜図26では、フォーカスセレクタ2310は、選択可能要素の範囲を超えて延びる。その結果、ばね2314がフォーカスセレクタ2310に係合し、図27〜図30に示すように、フォーカスセレクタ2310は「ラバーバンディング」によって戻される。ばね2310のばね係数は、異なる特性を有する結果を生成するために、変更されてもよい。
図30では、フォーカスセレクタ2310は、要素2308に位置合わせされた状態で静止する。システムは、この位置合わせを要素2308の選択として解釈するが、これは、竜頭558の使用によりユーザがフォーカスセレクタ2310を操作することによって、達成される。いくつかの実施例では、位置合わせの後、ユーザが要素2308を選択するために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
要素2308が選択されている間、ユーザは多くの技術のうちの1つ以上によって、要素2308をアクティブ化し得る。例えば、ユーザは、タッチ感知ディスプレイを押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタンを押下してもよく、又は単純に、要素2308が所定の時間にわたって選択されたままにしておくことができる。別の実施例では、要素及びフォーカスセレクタを位置合わせすることは、要素の選択及びアクティブ化の両方として、解釈してもよい。
この実施例では、フォーカスセレクタの移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせを要素とフォーカスセレクタとの間で必要としてもよい。
図31は、物理的な竜頭を入力デバイスとして用いて、グラフィカルユーザインタフェース内の要素を選択するための処理3100を示すフロー図である。処理3100は、物理的な竜頭を有する装着型電子デバイス(例えば、図1のデバイス550)で実行される。いくつかの実施例では、電子デバイスはまた、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から一要素を選択するための効率的な技術を提供する。
ブロック3102では、デバイスは、装着型電子デバイスのタッチ感知ディスプレイに複数の選択可能要素を表示させる。デバイスはまた、フォーカスセレクタも表示させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素の各選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力に関する要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
ブロック3104において、デバイスは、竜頭の位置情報を受信する。位置情報は、パルス信号、実数値、整数値などの連続として、受信することができる。
ブロック3106において、デバイスは、竜頭の距離値の変化が発生したか否かを判定する。竜頭の距離値は、装着型電子デバイスの物理的な竜頭の角度変位に基づくものである。竜頭の距離値の変化は、例えば、物理的な竜頭を回転することによって、ユーザが装着型電子デバイスに入力を提供したことを示す。デバイスは、竜頭の距離値の変化が発生していないと判定する場合、システムはブロック3104に戻り、竜頭の位置情報の受信を継続する。デバイスは、竜頭の距離値の変化が生じたと判定する場合、システムは、ブロック3108に進むが、竜頭位置情報の受信を継続することができる。
デバイスはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づいて方向を判定する。例えば、上方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができる。同様に、下方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。他の実施例では、下方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができ、上方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。
ブロック3108では、竜頭の距離値の変化の判定に応じて、デバイスは、フォーカスセレクタの移動を生じさせる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動速度(速さ)を有する。更に、選択可能要素のうちの1つ以上の磁気値を、フォーカスセレクタの速度に基づき修正することができる。
ブロック3110では、システムは、フォーカスセレクタが所定の制限範囲を超えたかどうかを判定する。システムは、フォーカスセレクタが所定の制限範囲を超えていないと判定した場合、システムはブロック3104に戻る。システムは、フォーカスセレクタが所定の制限範囲を超えたと判定した場合、システムはブロック3112において、仮想的なばねに係合する。仮想的なばねによって、フォーカスセレクタは速度が低下し、ラバーバンディングによって所定の制限範囲内に戻る。このメカニズムは、ユーザが選択可能要素の範囲を大幅に超えてフォーカスセレクタを移動させることを防止する。ブロック3104において、システムは、竜頭の位置情報を受信し続ける。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルもまた利用して、フォーカスセレクタが動いている間のその速度を低減させてもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、竜頭の回転によって、追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムは竜頭距離値の第2の変化を判定する。システムはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づく第2の方向を判定する。竜頭距離値の第2の変化を判定することに応じて、システムは、フォーカスセレクタに追加の力を加えることによって、フォーカスセレクタの速度を増減する。フォーカスセレクタの移動速度の変化は、竜頭距離値の第2の変化及び第2の方向に基づく。
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。いくつかの実施例では、ユーザが、フォーカスセレクタと位置合わせされて安定状態にある選択要素を選択するために、位置合わせの後、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
図32〜図38は、選択可能要素3202、3204、3206、3208、3210、3212の形式の複数のユーザインタフェースオブジェクト及びフォーカス領域3220を表示する、例示的なユーザインタフェース3200を示す。ユーザは、装着型電子デバイスの物理的な竜頭を用いて、選択可能な要素3202、3204、3206、3208、3210、3212をスクロールして、所望の選択要素をフォーカス領域3220に位置合わせすることによって、複数の選択可能な要素の中から選択要素を選択することができる。フォーカス領域3220は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせの後、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
デバイス550の竜頭558は、ユーザが回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。竜頭558は、2つの異なる方向(時計回り及び反時計回り)に回転させることができる。図32〜図38において、該当する場合には、竜頭の回転方向を例示する回転方向矢印、及び、1つ以上のユーザインタフェースオブジェクトの移動方向を例示する移動方向矢印を含んでいる。これらの回転方向矢印及び移動方向矢印は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。この実施例では、竜頭558の時計方向の回転は、上方向に向いている回転方向矢印によって例示されている。同様に、竜頭558の反時計方向回転は、下方向に向いている回転方向矢印によって例示されている。回転方向矢印の特性は、竜頭558がユーザによって回転される距離、速度、又は加速度を表すものではない。その代わりに、回転方向矢印は、ユーザによる竜頭558の回転方向を表す。
図32〜図38は、物理竜頭ユーザ入力デバイスと関連して、ユーザインタフェースオブジェクトとのユーザの対話を制御するために使用することができる例示的な物理学に基づくモデルを使用する、要素の例示的なスクロール可能なリストを示す。この実施例では、要素3202、3204、3206、3208、3210、3212は、竜頭558から受信したユーザ入力によってスクロール可能であり、フォーカス領域3220は静止している。竜頭558の時計回りの動きは、上移動方向における要素3202、3204、3206、3208、3210、3212への力に関連付けられ、竜頭558の反時計回りの動きは、要素3202、3204、3206、3208、3210、3212に対する下移動方向への力に関連付けられる。この実施例では、要素3202、3204、3206、3208、3210、3212は、要素のスクロール可能リストを形成する。
要素のスクロール可能リストの移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカス領域3220との間に関連付けられる。この実施例では、要素3202、3204、3206、3208、3210、3212とフォーカス領域3220との間の磁気的関係の値(磁気値とも呼ばれる)は一定である。他の実施例では、要素3202、3204、3206、3208、3210、3212の磁気値は異なってもよい。
要素3202、3204、3206、3208、3210、3212とフォーカス領域3220との間の磁気的関係を使用するとき、要素3202、3204、3206、3208、3210、3212とフォーカス領域3220との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。以下で更に詳細に説明されるように、ユーザインタフェース3200は、要素3202、3204、3206、3208、3210、3212とフォーカス領域3220との間に引力を発生させる。その結果、ユーザ入力が受信されなかったときは、複数の要素がスクロールされ、最終的に、1つの要素がフォーカス領域3220に位置合わせされる安定状態に達する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。要素をフォーカス領域3220に位置合わせすることは、その要素の選択を示す。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
この実施例では、物理学に基づくモデリングは、例えば、各要素3202、3204、3206、3208、3210、3212を、その独自の永続的な磁界を生み出す磁化された材料から作製されたオブジェクトとしてモデリングし、フォーカス領域3220を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって実現される。別の実施例では、物理学に基づくモデリングは、各要素3202、3204、3206、3208、3210、3212を、磁石に吸引される材料から作製されたオブジェクトとしてモデリングし、フォーカス領域3220を、その独自の永続的な磁界を生み出す材料としてモデリングすることによって実現されてもよい。別の実施例では、物理学に基づくモデリングは、各要素3202、3204、3206、3208、3210、3212を、その独自の永続的な磁界を生み出すオブジェクトとしてモデリングし、フォーカス領域3220を、同じく独自の永続的な磁界を生み出す、吸引力のある2つの磁石などの材料としてモデリングすることによって実現されてもよい。これらの物理学に基づくモデルの各々は、永続的なままではなく、要素とフォーカス領域3220との間の距離、要素の速度、要素の加速度などの特定の因子に基づくか、又は2つ以上の因子の組み合わせに基づき変化する磁界を含むようにすることができる。例えば、変化する磁界は、オン又はオフされ、変化する強度を有することができる電磁石の使用によって、シミュレートしてもよい。
一実施例では、要素3202、3204、3206、3208、3210、3212の磁気強度は、要素のスクロール可能リストの速度に基づき変化する。要素のスクロール可能リストの速度が上昇すると、要素3202、3204、3206、3208、3210、3212の磁気強度は低下する。要素のスクロール可能リストの速度が上昇すると、要素3202、3204、3206、3208、3210、3212の磁気強度は増加する。その結果、要素のスクロール可能リストが素早く移動しているとき、要素3202、3204、3206、3208、3210、3212がフォーカス領域の速度を変化させることにおいて果たす役割は、要素のスクロール可能リストがゆっくり移動しているときと比べて小さくなる。
図32では、要素3204はフォーカス領域3220に位置合わせされ、これは要素3204の選択を示す。図33では、デバイス550は、竜頭558の時計方向(回転方向矢印3230によって示される)の位置の変化を判定する。竜頭558の位置の変化を判定することに応じて、デバイスは、要素のスクロール可能リストの速度を増加させ、要素のスクロール可能リストを、移動方向矢印3240によって示されるように上方向に移動させる。一実施例では、要素のスクロール可能リストは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
要素3204は磁気要素としてモデリングされ、フォーカス領域3220は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。ユーザインタフェース3200の物理学に基づくモデルによって、要素3204は、磁気吸引力を用いて、フォーカス領域3220から離れることに抵抗する。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他のオブジェクトを移動させる能力)に関してモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
図33及び図34では、デバイス550は、回転方向矢印3220により示されるような、時計方向への竜頭558の位置の変化を判定し続ける。竜頭558の位置の変化を判定することに応じて、デバイス550は、スクロール可能リストに上方向の追加の速度を加える。同時に、フォーカス領域3220との要素3202、3204、3206、3208、3210、3212の磁気吸引力が、要素のスクロール可能リストに作用する。例えば、図34では、少なくとも要素3204及び3206は、物理学に基づく磁気モデリングの結果として、要素のスクロール可能リストに下方向の力を加えている。これは、要素3204及び3206がフォーカス領域3220に吸引されるためである。要素3208及び3210は、物理学に基づく磁気モデリングの結果として、要素のスクロール可能リストに上方向の力を加えている。これは、要素3208及び3210もフォーカス領域3220に吸引されるためである。いくつかの実施例では、要素のスクロール可能リストの表示されない要素もまた、要素のスクロール可能リストに力を加える。
要素とフォーカス領域3220との間の距離は、要素が要素のスクロール可能リストに加える力の大きさにおいても、一定の役割を果たす。概して、要素とフォーカス領域3220との間の距離が増加すると、要素とフォーカス領域3220との間の力の強度は低下する。力の強度の変化の割合は、多くの方法でモデリングすることができる。例えば、逆二乗則を距離の関数としての力の強度に適用することができる。より具体的には、Iが力の強度、dが距離の場合に、I=1/d2である。他の実施例では、磁気力は、距離に反比例して変化してもよく、又は距離の3乗に反比例して変化してもよい。
いくつかの実施例では、要素とフォーカス領域との間の磁気吸引力は、要素がフォーカス領域3220から所定の距離内にある間のみ存在する。これによって、要素のスクロール可能リストに加えられる力を判定するときに、フォーカス領域3220からの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算が単純化される。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルもまた利用して、要素のスクロール可能リストが動いている間のその速度を低減してもよい。例えば、要素のスクロール可能リストの速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
図35〜図38では、デバイス550は、竜頭558の位置に変化がないと判定する。この判定の結果、更なる速度が要素のスクロール可能リストの既存の速度に加えられることはない。ただし、要素3202、3204、3206、3208、3210、3212の磁気力は、引き続き要素のスクロール可能リストに加えられる。同様に、物理学に基づく摩擦モデルは、引き続き要素のスクロール可能リストに適用される。図35〜図38では、要素3208は、フォーカス領域3220に最も近いため、要素のスクロール可能リストの他の要素と比較した場合に、要素のスクロール可能リストに対して最も大きい磁気効果を有する。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
図36では、要素3208がフォーカス領域3220を行き過ぎると、要素3208は下方向の力を要素のスクロール可能リストに加え、更に要素のスクロール可能リストの速度を低下させる。図37では、要素3208によって要素のスクロール可能リストに加えられた下方向の磁気力によって、要素のスクロール可能リストは下方向に移動し、要素3208はフォーカス領域3220に位置合わせされる。要素のスクロール可能リストは、要素3208がフォーカス領域3220に位置合わせされた状態で静止する。システムは、この位置合わせを要素3208の選択として解釈するが、これは、竜頭558の使用によりユーザが要素のスクロール可能リストを操作することによって、達成される。
要素3208が選択されている間、ユーザは多くの技術のうちの1つ以上によって、要素3208をアクティブ化し得る。例えば、ユーザは、タッチ感知ディスプレイ556を押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタン562を押下してもよく、又は単純に、要素3208が所定の時間にわたって選択されたままにしておくことができる。別の実施例では、要素及びフォーカス領域を位置合わせすることは、要素の選択及びアクティブ化の両方として、解釈されてもよい。いくつかの実施例では、位置合わせの後、ユーザが要素を選択するために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
ユーザインタフェース3200は、例えば、低減されたサイズのディスプレイを備えるデバイスでのテキスト入力に使用されてもよい。要素のスクロール可能リストの各要素は、文字(A〜Zから選択された文字など)、単語、語句、又は数字(0〜9から選択された数字など)に対応することができる。ユーザはこれらの英数字要素をスクロールし、単語、数字、文などを形成するために、所望の要素を順次選択及びアクティブ化してもよい。要素がさまざまな強度の磁気強度を有する実施例では、アルファベットの文字に関連付けられた要素の磁気強度は、その文字の使用頻度に基づいてもよい。その結果、特定の文字が他の文字よりも強い磁気を有し、それゆえに選択しやすくなり得る。
この実施例では、要素のスクロール可能リストの移動は、既定の垂直経路に沿って制限される。他の実施例では、要素のスクロール可能リストの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカス領域との間で必要とされてもよい。
図39は、物理的な竜頭を入力デバイスとして用いて、グラフィカルユーザインタフェース内の要素を選択するための処理3900を示すフロー図である。処理3900は、物理的な竜頭を有する装着型電子デバイス(例えば、図1のデバイス550)で実行される。いくつかの実施例では、電子デバイスはまた、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から一要素を選択するための効率的な技術を提供する。
ブロック3902では、デバイスは、装着型電子デバイスのタッチ感知ディスプレイに複数の選択可能要素を表示させる。デバイスは、フォーカス領域も記録する。フォーカス領域は、例えば、領域、線、又は点であってもよい。デバイスは、選択可能要素とフォーカス領域との間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素の各選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力に関する要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
ブロック3904において、デバイスは、竜頭の位置情報を受信する。位置情報は、パルス信号、実数値、整数値などの連続として、受信することができる。
ブロック3906において、デバイスは、竜頭の距離値の変化が発生したか否かを判定する。竜頭の距離値は、装着型電子デバイスの物理的な竜頭の角度変位に基づくものである。竜頭の距離値の変化は、例えば、物理的な竜頭を回転することによって、ユーザが装着型電子デバイスに入力を提供したことを示す。デバイスは、竜頭の距離値の変化が発生していないと判定する場合、システムはブロック3904に戻り、竜頭の位置情報の受信を継続する。デバイスは、竜頭の距離値の変化が生じたと判定する場合、システムは、ブロック3908に進むが、竜頭位置情報の受信を継続することができる。
デバイスはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づいて方向を判定する。例えば、上方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができる。同様に、下方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。他の実施例では、下方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができ、上方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。
ブロック3908では、竜頭の距離値の変化の判定に応じて、デバイスは、複数の選択可能要素の移動を生じさせる。移動の方向は、複数の選択可能要素のうちの選択要素が、移動前よりもフォーカス領域に近付く方向である。この移動によって、複数の選択可能要素のフォーカスは変化する。少なくとも最初は、複数の選択可能要素の移動は判定された方向への移動である。複数の選択可能要素の移動は、アニメーションされてもよい。複数の選択可能要素の移動は、移動速度(速さ)を有する。
ブロック3910では、選択可能要素のうちの1つ以上の磁気値が、複数の選択可能要素の速度に基づき修正される。一実施例では、1つ以上の選択可能要素の磁気値は、複数の選択可能要素の速度に反比例する。例えば、複数の選択可能要素が第1の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の第1の係数(例えば、10)分の1に減少する。複数の選択可能要素が、第1の閾値を下回り、かつ第2の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の第2の係数(例えば、5)分の1に減少する。複数の選択可能要素の速度が更に低下し、第2の閾値を下回る速度を有するとき、選択可能要素の磁気値は、それらの元の値に戻る。第1の係数は、第2の係数よりも大きい。
更に、複数の選択可能要素の速度は、選択要素に関連付けられた磁気値に少なくとも基づく、フォーカス領域との複数の選択可能要素の物理学に基づく磁気相互作用のために変化する。例えば、フォーカス領域に対する選択要素の物理学に基づく磁気吸引力は、選択要素がフォーカス領域に向かって移動するにつれて、複数の選択可能要素の速度を上昇させてもよい。同様に、フォーカス領域に対する選択要素の物理学に基づく磁気吸引力は、選択要素がフォーカス領域から離れるにつれて、複数の選択可能要素の速度を低下させてもよい。同様に、複数の選択可能要素のうちの他の選択可能要素とのフォーカス領域の磁気相互作用は、複数の選択可能要素の速度の変化を発生させてもよい。
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、選択可能要素とフォーカス領域との間の仮想的な引張力に基づく仮想的な磁気強度である。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、複数の選択可能要素が動いている間の複数の選択可能要素の速度を低減してもよい。例えば、複数の選択可能要素の速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減することができる。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
いくつかの実施例では、デバイスは、複数の選択可能要素が安定状態に達する前に、竜頭の回転によって、追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムは竜頭距離値の第2の変化を判定する。システムはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づく第2の方向を判定する。竜頭距離値の第2の変化を判定することに応じて、システムは、複数の選択可能要素に追加の力を加えることによって、複数の選択可能要素の速度を増減する。複数の選択可能要素の移動速度の変化は、竜頭距離値の第2の変化及び第2の方向に基づく。
いくつかの実施例では、選択要素がフォーカス領域に位置合わせされ、複数の選択可能要素が安定状態になると、システムは、選択要素が選択されたと判定する。
図40〜図45は、選択可能要素4002、4004の形式の複数のユーザインタフェースオブジェクト及びフォーカス領域4006を表示する、例示的なユーザインタフェース4000を示す。要素のスクロール可能リストは、選択可能要素4002、4004を含む。ユーザは、装着型電子デバイスの物理的な竜頭を用いて、要素のスクロール可能リストを移動させて所望の選択要素をフォーカス領域4006に位置合わせすることによって、複数の選択可能要素の中から選択要素を選択することができる。
デバイス550の竜頭558は、ユーザが回転可能なユーザインタフェース入力である。竜頭558は、2つの異なる方向(時計回り及び反時計回り)に回転させることができる。図40〜図45において、該当する場合には、竜頭の回転方向を例示する回転方向矢印、及び、要素のスクロール可能リストの移動方向を例示する移動方向矢印を含んでいる。これらの回転方向矢印及び移動方向矢印は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。この実施例では、竜頭558の反時計方向の回転は、下方向に向いている回転方向矢印によって例示されている。回転方向矢印の特性は、竜頭558がユーザによって回転される距離、速度、又は加速度を表すものではない。その代わりに、回転方向矢印は、ユーザによる竜頭558の回転方向を表す。
図40〜図45は、物理竜頭ユーザ入力デバイスと関連して、ユーザインタフェースオブジェクトとのユーザの対話を制御するために使用することができる例示的な物理学に基づくモデルを示す。この実施例では、フォーカス領域4006は静止しており、要素4002、4004は、竜頭558から受信したユーザ入力によって、移動することができる。竜頭558の反時計回りの動きは、要素のスクロール可能リストに対する下移動方向への力に関連付けられている。
上述のように、フォーカス領域4006と要素4002、4004との間の磁気的関係を使用するとき、要素フォーカス領域4006と要素4002、4004との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。更に、要素のスクロール可能リストの移動は、物理学に基づくばねモデルを用いて更に制御されてもよい。
物理学に基づくばねのモデリングは、例えば、要素のスクロール可能リストの1つ以上の端部に取り付けられたばねをモデリングすることによって実現される。要素のスクロール可能リストが所定の制限範囲を超えて移動すると、ばねが要素のスクロール可能リストに係合し、要素のスクロール可能リストの「ラバーバンディング」を発生させる。例えば、図41〜図44の仮想的なばね4008は、フックの法則を用いてモデリングされてもよい。フックの法則は、ばねを一定の距離だけ伸張又は圧縮するために必要な力は、その距離に比例すると述べている。言い換えれば、F=力、k=ばね係数、及びx=距離の場合に、F=kxである。ばね4008は、通常は、表示されるユーザインタフェースの一部ではなく、図の解釈を助けるために提供される。
図40では、要素4002はフォーカス領域4006に位置合わせされ、これは要素4002の選択を示す。図41では、デバイス550は、竜頭558の反時計方向(回転方向矢印4010によって示されるような)の位置の変化を判定する。竜頭558の位置の変化を判定することに応じて、デバイスは、要素のスクロール可能リストの速度を増加させ、要素4002、4004を、移動方向矢印4012によって示されるように下方向に移動させる。一実施例では、要素のスクロール可能リストは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
要素4002は磁気要素としてモデリングされ、フォーカス領域4006は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。
図41及び図42では、要素のスクロール可能リストは、所定の制限範囲を超えて延びる。その結果、ばね4008は要素のスクロール可能リストに係合し、図43〜図45に示すように、要素のスクロール可能リストを「ラバーバンディング」によって戻す。ばね4008のばね係数は、異なる特性を有する結果を生成するために、変更されてもよい。
図45では、要素4002は、フォーカス領域4006に位置合わせされた状態で静止する。システムは、この位置合わせを要素4006の選択として解釈するが、これは、竜頭558の使用によりユーザが要素のスクロール可能リストを操作することによって、達成される。いくつかの実施例では、位置合わせの後、ユーザが要素4006を選択するために、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
要素4002が選択されている間、ユーザは多くの技術のうちの1つ以上によって、要素4002をアクティブ化し得る。例えば、ユーザは、タッチ感知ディスプレイを押圧するか、ボタンを押下してもよく、又は単純に、要素4002が所定の時間にわたって選択されたままにしておくことができる。別の実施例では、要素及びフォーカス領域を位置合わせすることは、要素の選択及びアクティブ化の両方として、解釈されてもよい。
この実施例では、要素のスクロール可能リストの移動は、既定の垂直経路に沿って制限される。他の実施例では、要素のスクロール可能リストの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカス領域との間で必要とされてもよい。
図46は、物理的な竜頭を入力デバイスとして用いて、グラフィカルユーザインタフェース内の要素を選択するための処理4600を示すフロー図である。処理4600は、物理的な竜頭を有する装着型電子デバイス(例えば、図1のデバイス550)で実行される。いくつかの実施例では、電子デバイスはまた、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
ブロック4602では、デバイスは、装着型電子デバイスのタッチ感知ディスプレイに複数の選択可能要素を表示させる。デバイスは、フォーカス領域も記録する。デバイスは、選択可能要素とフォーカス領域との間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素の各選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力に関する要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
ブロック4604において、デバイスは、竜頭の位置情報を受信する。位置情報は、パルス信号、実数値、整数値などの連続として、受信することができる。
ブロック4606において、デバイスは、竜頭の距離値の変化が発生したか否かを判定する。竜頭の距離値は、装着型電子デバイスの物理的な竜頭の角度変位に基づくものである。竜頭の距離値の変化は、例えば、物理的な竜頭を回転することによって、ユーザが装着型電子デバイスに入力を提供したことを示す。デバイスは、竜頭の距離値の変化が発生していないと判定する場合、システムはブロック4604に戻り、竜頭の位置情報の受信を継続する。デバイスは、竜頭の距離値の変化が生じたと判定する場合、システムは、ブロック4608に進むが、竜頭位置情報の受信を継続することができる。
デバイスはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づいて方向を判定する。例えば、上方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができる。同様に、下方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。他の実施例では、下方向は、物理的な竜頭の時計回りの回転に基づいて、判定することができ、上方向は、物理的な竜頭の反時計回りの回転に基づいて、判定することができる。
ブロック4608では、竜頭の距離値の変化の判定に応じて、デバイスは、複数の選択可能要素の移動を生じさせる。この移動によって、複数の選択可能要素のフォーカスは変化する。少なくとも最初は、複数の選択可能要素の移動は判定された方向への移動である。複数の選択可能要素の移動は、アニメーションされてもよい。この移動は、移動速度(速さ)を有する。更に、選択可能要素のうちの1つ以上の磁気値が、複数の選択可能要素の速度に基づき修正され得る。
ブロック4610では、システムは、複数の選択可能要素が所定の制限範囲を超えたかどうかを判定する。システムが、複数の選択可能要素が所定の制限範囲を超えていないと判定した場合、システムはブロック4604に戻る。システムが、複数の選択可能要素が所定の制限範囲を超えたと判定した場合、システムはブロック4612において、仮想的なばねに係合する。仮想的なばねは、複数の選択可能要素の速度を低下させ、ラバーバンディングによって所定の制限範囲内に戻らせる。このメカニズムによって、ユーザが所定の制限範囲を大幅に超えて複数の選択可能要素を移動させることが防止される。ブロック4604において、システムは、竜頭の位置情報の受信を継続する。
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、複数の選択可能要素が動いている間の複数の選択可能要素の速度を低減してもよい。例えば、複数の選択可能要素の速度は、摩擦係数値に基づき、連続的に(又は反復的に)低減することができる。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
いくつかの実施例では、デバイスは、複数の選択可能要素が安定状態に達する前に、竜頭の回転によって、追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムは竜頭距離値の第2の変化を判定する。システムはまた、装着型電子デバイスの物理的な竜頭の回転方向に基づく第2の方向を判定する。竜頭距離値の第2の変化を判定することに応じて、システムは、複数の選択可能要素に追加の力を加えることによって、複数の選択可能要素の速度を増減する。複数の選択可能要素の移動速度の変化は、竜頭距離値の第2の変化及び第2の方向に基づく。
いくつかの実施例では、複数の選択可能要素のうちの選択要素がフォーカス領域に位置合わせされ、複数の選択可能要素が安定状態になると、システムは、選択要素が選択されたと判定する。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせの後、タッピング、竜頭又は他のボタンの押し下げなどの追加の入力が必要とされてもよい。
いくつかの実施例において、デバイス550は、ディスプレイ556に表示された内容に基づいて、触覚フィードバックを提供することができる。ユーザインタフェースオブジェクトが、ディスプレイ556に表示されると、デバイスは、竜頭558の回転を元にデバイス550で受信された竜頭の距離値の変化に基づいて、オブジェクトの外観を修正することができる。判定基準が満たされた場合、触知出力がデバイス550において出力される。
一実施例では、オブジェクトは上述のものなどの要素のスクロール可能リストである。判定基準は、スクロール可能リストの先頭又は末尾に達したときに満たされる。別の実施例では、オブジェクトはズーム可能な視覚的要素である。判定基準は、ズーム可能な視覚的要素の最大又は最小ズームレベルに達したときに満たされる。別の実施例では、オブジェクトは選択可能要素のスクロール可能リストである。判定基準は、スクロール可能リストの選択可能要素が選択領域を占有するたびに満たされる。
ユーザインタフェースに関する機能のうちの1つ以上は、図47に示すシステム4700と類似するか又は同一のシステムによって実行することができる。システム4700は、メモリ4704又は記憶デバイス4702などの非一時的コンピュータ可読記憶媒体に記憶され、かつ、プロセッサ4706によって実行される、命令を含むことができる。この命令は、コンピュータベースのシステム、プロセッサを含むシステムなどの命令を実行するシステム、装置、若しくはデバイス、又は、命令を実行するシステム、装置、若しくはデバイスから命令をフェッチし、実行することができる他のシステム、によって使用されるか、又はこれらに接続した任意の非一時的コンピュータ可読記憶媒体内にもまた、記憶され、及び/又は伝送されることができる。本明細書の文脈では、「非一時的なコンピュータ可読記憶媒体」は、命令実行システム、装置、又はデバイスによって使用されるか又はこれらに接続した、プログラムを収容又は記憶することができる任意の媒体とすることができる。非一時的なコンピュータ可読記憶媒体としては、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又はデバイス、携帯コンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、EPROM(Erasable Programmable Read Only Memory)(磁気)、携帯用光ディスク(CD、CD−R、CD−RW、DVD、DVD−R、又はDVD−RWなど)、又はコンパクトフラッシュ(登録商標)カードなどのフラッシュメモリ、セキュアデジタルカード、USBメモリデバイス、メモリースティック等を挙げることができるが、これらに限定はされない。
この命令は、コンピュータベースのシステム、プロセッサを含むシステムなどの命令を実行するシステム、装置、若しくはデバイス、又は、命令を実行するシステム、装置、若しくはデバイスから命令をフェッチし、実行することができる他のシステム、によって使用されるか、又はこれらに接続した任意の伝送媒体内でもまた、伝搬することができる。本明細書の文脈では、「伝送媒体」は、命令実行システム、装置、又はデバイスによって使用されるか又はこれらに接続したプログラムを通信し、伝搬し、又は伝送することができる任意の媒体とすることができる。伝送媒体としては、限定はされないが、電子、磁気、光学、電磁又は赤外線の有線又は無線の伝播媒体を挙げることができるが、これらに限定はされない。
いくつかの実施例では、システム4700はデバイス550内に含むことができる。これらの実施例では、プロセッサ4706は、プロセッサ570と同じ又は異なる処理であってもよい。プロセッサ4706は、エンコーダ572、ボタン560、562、及び564から、並びにタッチ感知ディスプレイ556から、出力を受信するように構成することができる。プロセッサ4706は、説明及び図示された処理に関して、これらの入力を上述のように処理してもよい。システムは、図47の構成要素及び構成に限定されず、他の又は追加の構成要素を、さまざまな実施例に係る複数の構成で含んでもよいことを理解されたい。
また、図48A及び図48Bは、さまざまなオーディオ特性を有するオーディオを出力するための例示的な電子デバイス550を示す。具体的には、回転可能入力機構558の回転が、成功した回転又は回転の入力を示すオーディオの出力を引き起こすか、さもなければトリガすることができる。しかし、一定の又は一貫したオーディオ特性を有するオーディオ出力は、ユーザフレンドリーではないことがある。即ち、一例では、ユーザは、回転可能入力機構を比較的高速で回転させることがあり、不愉快及び/又は不快になり得るオーディオ特性(例えば、ピッチ及び/又は音量)を有するオーディオの出力をトリガすることになる。更に、一貫したオーディオ出力は、オーディオキューを介して、入力の特性(例えば、速度、加速度)又は対応する視覚出力の特性(例えば、次のオブジェクトを表示する)をユーザに伝達しない。このように、図48A及び図48B、及び図49A〜図49C並びに図50A〜図50Cに関して本明細書で説明された実施形態は、回転属性に基づいてオーディオ出力のオーディオ特性を変化させることによってこの問題に対処する。
これらの図のユーザインタフェースは、図52の処理を含めた、以下で説明される処理を例示するために使用されてもよい。いくつかの実施形態では、図48A及び図48Bは、回転可能入力機構558の回転を表す受信された入力に従ってオーディオを出力するように構成された電子デバイス550を示す。いくつかの実施形態では、電子デバイス550は、携帯用多機能デバイス100(図1A)及び/又はデバイス500(図5A及び図5B)と同じ又は同様であってもよい。
電子デバイス550は、タッチ感知ディスプレイ112(図1A)及び/又はディスプレイ504(図5B)と同じ又は同様のユーザインタフェース602を含むタッチ感知ディスプレイを含むことができ、タッチ感知式構成要素522(図5B)、及び任意選択的に、タッチ強度感知構成要素524(図5B)を含む。タッチ感知ディスプレイは、他の要素及び/又はアフォーダンスの中で、1つ以上のオブジェクト及び/又はグラフィック要素を表示し得るユーザインタフェース4800を含むことができる。更に、電子デバイス550は、オーディオを出力するための出力デバイス4818を含むこともできる。いくつかの実施形態では、出力デバイス4818は、スピーカ、ジャック、Wi−Fi送受信機、Bluetooth送受信機、及び/又はセルラ送受信機であってもよい。
例えば、電子デバイス550は、ユーザインタフェース4800上に、第1のオブジェクト4806(例えば、画像A)及び第2のオブジェクト(例えば、画像B)を最初に表示するように構成することができる。第1のオブジェクト4806及び第2のオブジェクト4808は、画像に限定されず、ユーザインタフェース上に表示することができる1つ以上の要素であってもよいことを理解されたい。例えば、第1のオブジェクト4806及び第2のオブジェクト4808は、画像、ページ、ビュー、及び/又はオブジェクトタイプの列又はシーケンスであってもよい。更に、いくつかの実施形態では、第1のオブジェクト4806及び第2のオブジェクト4808は、連続的(例えば、ブック内の連続のページ)又は非連続的(例えば、ウェブページの2つの異なるビュー)であってもよい。
電子デバイス550は、回転可能入力機構558の回転を表す入力を受信することができる。例えば、電子デバイスのユーザは、回転可能入力機構を回転させて、ユーザインタフェース4800上の所望の方向に、1つ以上の表示されたオブジェクトの移動をトリガするか、又は開始することができる。具体的には、図48Aの実施形態では、電子デバイスは、回転可能入力機構558の第1の回転4802を表す入力を受信することができる。図48Aは特定の回転方向を示しているが、回転可能入力機構はいずれの方向(例えば時計回り及び/又は反時計回り)に回転してもよいことを理解されたい。したがって、電子デバイス550は、第1の回転4802の方向に対応する移動方向4804に、第1のオブジェクト4806及び第2のオブジェクト4808の動きをユーザインタフェース4800上に表示することができる。
かかる実施形態では、電子デバイス550は、ユーザが回転可能入力機構の第1の回転4802を実行するときに、出力デバイス4818により第1のオーディオ4810を出力することもできる。言い換えれば、電子デバイス550が回転可能入力機構558の第1の回転4802を表す入力を受け取ると、電子デバイスは第1のオーディオ4810を出力することができる。同様に、回転可能入力機構が第2の回転4814(第1の回転4802の続きであり得る)を受けると、電子デバイス550のユーザインタフェース4800は、第3のオブジェクト4816を表示し、これに対応して、出力デバイス4818により、第2のオーディオ4812を出力する。即ち、電子デバイス550が回転可能入力機構558の第2の回転4814を表す入力を受信すると、電子デバイスは第2のオーディオ4812を出力することができる。いくつかの実施形態では、第2のオーディオ4812は、第1のオーディオ出力4810の後に連続して出力されてもよい。
フレンドリなユーザインタフェースのエクスペリエンスを提供し、表示されたオブジェクトに対応するオーディオキューを提供するために、第1のオーディオ4810及び第2のオーディオ4812は、変化する又は異なるオーディオ特性を有するか、さもなければそのオーディオ特性を有して出力され得る。特に、電子デバイス550は、第1の回転4802又は第2の回転4814の一方又は両方の識別された回転属性にそれぞれ基づいて、第1のオーディオ4810及び第2のオーディオ4812のそれぞれのオーディオ特性を決定することができる。
いくつかの実施形態では、電子デバイス550は、第1のオーディオ出力4810及び第2のオーディオ出力4812のそれぞれについて、これらに限定されないが、音量、ピッチ、周波数、音量の変化、ピッチの変化、及び周波数の変化を含む、1つ以上のオーディオ特性を決定する。いくつかの実施形態では、第1のオーディオ出力4810及び第2のオーディオ出力4812は、音階(例えば、長音階)のメンバーである。更なる実施形態では、電子デバイス550は、回転可能入力機構の回転角度、回転可能入力機構の角速度、及び回転可能入力機構の角加速度、のうちの1つ以上に基づいて、回転可能入力機構558の入力(例えば、第1の回転4802及び第2の回転4814)の回転属性を識別することができる。
いくつかの実施形態では、電子デバイス550は、出力デバイス4818としてのスピーカを備え得る。かかる実施形態では、オーディオ特性を有するオーディオ(例えば、第1のオーディオ4810及び/又は第2のオーディオ4812)を出力することは、スピーカ再生を含んでいる。更なる実施形態では、電子デバイス550は、出力デバイス4818としてBluetooth送受信機を含むことができる。したがって、かかる実施形態では、オーディオ特性を有するオーディオ(例えば、第1のオーディオ4810及び/又は第2のオーディオ4812)を出力することは、Bluetoothを介してオーディオ出力に対応するオーディオデータを送信することを含む。いくつかの実施形態では、電子デバイス550は、出力デバイス4818としてWi−Fi送受信機を含む。したがって、かかる実施形態では、オーディオ特性を有するオーディオ(例えば、第1のオーディオ4810及び/又は第2のオーディオ4812)を出力することは、Wi−Fiを介してオーディオ出力に対応するオーディオデータを送信することを含む。他の実施形態では、電子デバイス550は、出力デバイス4818としてステレオミニジャックを含むことができる。
図48A及び図48Bに示す実施形態では、ユーザインタフェース4800上の第1のオブジェクト4806、第2のオブジェクト4808、及び第3のオブジェクト4816の移動又は操作は、ある方向(例えば、移動方向4804)におけるスクロール動作を示すか、又は含むことができ、回転可能入力機構558の回転に対応するものである。更に、かかる実施形態では、少なくとも各回転(例えば、第1の回転4802及び第2の回転4814)に対応するオーディオ出力を提供することができる。しかし、かかる実施形態は、例えば、スクロール動作中にオーディオを出力することに限定されず、図49A〜図49Cに示すように、他のコンテキストに拡張することができる。
図49A〜図49Cは、オーディオを出力し、複数のユーザインタフェースを含むように構成された電子デバイス550の更なる例を示す。これらの図のユーザインタフェースは、図52の処理を含めた、以下で説明される処理を例示するために使用されてもよい。例えば、図49Aは、図48A及び図48Bに示された実施形態と類似の実施形態を示す。しかし、図49A〜図49Cの実施形態は、ユーザインタフェース4900上のオブジェクト4908の操作に従った、又はそれに対応するオーディオ出力の例を示す。具体的には、最初に、オブジェクト4908は、第1のサイズでユーザインタフェース4900上に表示され得る。図49Bを参照すると、回転可能入力機構558の第1の回転4916に基づいて、電子デバイス550は、ユーザインタフェース4900上に、第2のサイズを有するオブジェクト4908を表示することができる。いくつかの実施形態では、第2のサイズは、第1のサイズ(図示のもの)より大きくてもよく、又は第1のサイズよりも小さくてもよい。
更に、電子デバイス550は、回転可能入力機構558の第1の回転4916を表す受信入力に対応する第1のオーディオを出力することができる。いくつかの実施形態では、第1のオーディオ4914は、初期及び不変のオーディオ特性(例えば、ピッチ及び/又は音量の変動がない)を表すデフォルトのオーディオ特性を用いて、回転属性に基づいて、(出力デバイス4902により)出力することができる。いくつかの実施形態では、出力デバイス4902は、出力デバイス4818と同じでもよく、又は類似してもよい。電子デバイス550は、別の入力、又は第1の回転4916の同じ入力の一部として、回転可能入力機構558の第2の回転4918を受信することができる。この実施形態では、電子デバイス550は、ユーザインタフェース4900上である回転方向に、例えば第2のサイズを有するオブジェクト4908を(例えば、時計回り及び/又は反時計回りに)回転させることができる。
したがって、電子デバイス550は、回転属性に基づく第2のオーディオ特性を有する第2のオーディオ4920を(例えば、出力デバイス4902によって)出力することができる。例えば、回転可能入力機構558の角速度は、第1の回転4916と第2の回転4918との間で増加してもよい。即ち、時間領域において、第1の回転4916の終了と第2の回転4918の開始及び/又は終了との間の時間は、回転可能入力機構の角速度の増加をもたらし得る。このように、電子デバイス550は、識別された回転属性(例えば、角速度)に基づいて、第2のオーディオ4920のために、オーディオ特性を調整するか、あるいは第2のオーディオ特性(例えば、低いピッチ/音量)を決定することができる。
追加の実施形態では、電子デバイス550は、回転可能入力機構558(例えば、図49A)の回転を表すユーザ入力を受信する前に、オブジェクト4908の特性の1つ以上の値に従って、オブジェクト4908を表示するように構成することができる。電子回路は、回転可能入力機構558の回転を表すユーザ入力に基づいて、オブジェクト4908の特性(例えば、第1のズームレベル)の値を更新するように構成することができる。更に、電子デバイス550は、オブジェクト4908の特性の更新値(例えば、第2のズームレベル)に従って、オブジェクト4908(例えば、図49B)の表示を更新するように構成されてもよい。
いくつかの実施形態では、電子デバイス550は、ユーザ入力の回転属性(例えば、回転可能入力機構558の回転)に基づいて、オブジェクト4908の特性の値を更新するように構成されてもよい。更に、いくつかの実施形態では、オブジェクト4908の特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択することができる。例えば、オブジェクトの特性がスクロール位置である場合、特性の値の範囲の所定のサブセットは、スクロール位置の範囲としてもよい。他の実施形態では、オブジェクトの特性がズームサイズである場合、特性の値の範囲の所定のサブセットは、ズームサイズの範囲とすることができる。
更に、図48A及び図48Bに示すように、電子デバイス550は、1つ以上のオブジェクト(例えば、第1のオブジェクト4806、第2のオブジェクト4808、及び/又は第3のオブジェクト4816)をシーケンス内に配列された複数のオブジェクトとして表示するように構成されてもよく、1つ以上のオブジェクトの特性はシーケンス内の位置としてもよい。電子デバイス550は、ユーザ入力に基づいてシーケンス内の更新された位置を決定することによって、ユーザ入力に基づいて特性の値を更新するように構成されてもよい。更に、電子デバイス550は、更新された位置に対応する複数のオブジェクトのうちの当該オブジェクトを表示するために更新することによって、特性の更新値に従って1つ以上のオブジェクトの表示を更新するように構成されてもよい。
いくつかの実施形態では、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の画像である。いくつかの実施形態では、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の数字、英字、又は英数字である。更に、電子デバイス550は、第1の回転属性に基づく第1の更新、及び第1の更新とは異なるものでかつ第2の回転属性に基づく第2の更新を介して、ユーザ入力に基づいて特性の値を更新するように構成されてもよい。
図50A〜図50Cは、いくつかの実施形態に係る、オーディオを出力するための例示的な電子デバイスの側面図を示す。これらの図の電子デバイスは、図52の処理を含む、以下に説明する処理を説明するために使用することができる。
図50A〜図50Cは、例示的な回転可能入力機構の回転及びオーディオ出力の方式を示す。具体的には、電子デバイス550は、(図50Aに示すように)位置Aから位置Bまでの回転可能入力機構558の第1の回転5002を表す入力を受信することができる。したがって、電子デバイス550は、回転属性を識別し、オーディオ特性(例えば、ピッチ及び/又は音量)を決定すると、出力装置5014によって、対応する第1のオーディオ5004を出力することができる。電子デバイス550は、(図50Bに示すように)位置Bから位置Cまでの回転可能入力機構558の第2の回転5006を表す別の入力(又は第1の回転5002と同じ入力の一部であってもよい)を受信し得る。
したがって、電子デバイス550は、対応する回転属性(例えば、速度の増加)を識別しオーディオ特性を決定すると、出力デバイス5014によって、第1のオーディオ5002とは異なる第2のオーディオ5008(例えば、より低いピッチ及び/又は音量)を出力してもよい。電子デバイス550は、(図50Cに示すように)位置Cから位置Dまでの回転可能入力機構558の第3の回転5010を表す更に別の入力(又は第1の回転5002及び第2の回転5006と同じ入力の一部であってもよい)を受信し得る。したがって、電子デバイス550は、対応する回転属性を識別しオーディオ特性を決定すると、第1のオーディオ5002及び第2のオーディオ5008とは異なる第3のオーディオ5012(例えば、第2のオーディオ5008より低いピッチ及び/又は音量)を出力デバイス5014によって出力してもよい。
いくつかの実施形態では、電子デバイス550は、いくつかの回転属性に基づいて、回転可能入力機構558の所与の回転(又は複数の回転)の回転属性を識別するように構成することができる。具体的には、回転可能入力機構558の回転を表すユーザ入力は、第1の入力セグメント及び第2の入力セグメントを含むことができる。いくつかの実施形態では、入力セグメントは、回転可能入力機構558の回転の程度、時間(程度に関係なく)、及び/又は時間に対する回転の程度(即ち、速度)であってもよい。
例えば、一実施形態では、第1の入力セグメントは、位置Aから位置Bまでの回転可能入力機構558の回転(例えば、第1の回転5002)であってもよい。更に、第2の入力セグメントは、位置Bから位置Cまでの回転可能入力機構558の回転(例えば、第2の回転5006)であってもよい。別の実施形態では、第1の入力セグメントは、第1の回転5002の終了(例えば、位置B)から位置Bにおける第2の回転5006の開始までの第1の期間であってもよい。同様に、第2の入力セグメントは、第2の回転5006の終了(例えば、位置C)から位置Cにおける第3の回転5010の開始までの第2の期間であってもよい。更に別の実施形態では、第1の入力セグメントは、1つ以上の回転(例えば、第1の回転5002及び第2の回転5006)を形成する任意の2つ以上の位置(例えば、位置A、B及びC)からの回転の速度であってもよい。
このように、前述の各実施形態では、電子デバイス550は、第1の入力セグメントに基づく第1の回転属性と、第2の入力セグメントに基づく第2の回転属性とを識別するように構成されてもよい。電子デバイス550は、更に、第1の回転属性に基づいて第1のオーディオ特性を決定し、第2の回転属性に基づいて第2のオーディオ特性を決定するように構成されてもよい。更に、電子デバイス550は、第1のオーディオ特性を有する第1のオーディオを出力し、第2のオーディオ特性を有する第2のオーディオを出力するように構成されてもよい。
図51A及び図51Bは、いくつかの実施形態による、ユーザインタフェース上の1つ以上のオブジェクトを操作するための例示的な電子デバイスを示す。電子デバイス550などの電子デバイスを使用するユーザのエクスペリエンスを向上させるために、2つの同時であるが別個の入力を受信することに基づいて、ユーザインタフェース5100上の1つ以上のコンテキストに応じたアクションの操作及び/又は実行を可能にすることが望ましい。これらの図のユーザインタフェースは、図53の処理を含めた、以下で説明される処理を例示するために使用されてもよい。
図51A〜図51Cに示される実施形態によれば、ユーザは、タッチ感知ディスプレイ5100のタッチ/接触(例えば、指5110を用いて)及びそれと同時の回転可能入力機構558の回転5102によって、コンテキストに応じたアクションを実行するように電子デバイス550を操作する、あるいは、電子デバイス550にコンテキストに応じたアクションを実行させることができる。一例として、図51Aは、オブジェクト5104の操作を示す。具体的には、ユーザは、回転可能入力機構558を同時に回転させながら、タッチ感知ディスプレイ510にタッチ/接触することに基づいて、ズームレベルを調整したり、そうでなければ、オブジェクトサイズを調整したりすることができる。
図51Aに示す実施形態では、電子デバイス550は、(例えば、指5110による)同時のタッチ/接触を受信又は検出している間に、回転可能入力機構の回転の受信又は検出に基づいてズームレベルを調整する(例えば、増加させる)ことができる。図51Aはズームレベルの増加を示しているが、電子デバイス550はズームレベルを減少させることもまたできることを理解されたい。同様に、図51Bに示す実施形態では、電子デバイスはまた、(例えば、指5110による)同時のタッチ/接触を受信又は検出している間に、回転可能入力機構の回転5106の受信又は検出に基づいて、タッチ感知ディスプレイ5100上のオブジェクト5104の位置を調整することができる。いくつかの実施形態では、オブジェクト5104は、文書、ページ、ビュー、又は画像のうちのいずれか1つであってもよい。
具体的には、かかる実施形態では、電子デバイス550は、回転可能入力機構558の回転5102を表す第1のユーザ入力を受信するように構成され得る。電子デバイス550は、回転可能入力機構558の回転5102を表す第1のユーザ入力を受信している間に、接触感知ディスプレイ5100上の接触(例えば、指5110による接触)を表す第2のユーザ入力が受信されたか否かを判定するように構成されてもよい。電子デバイス550は、回転可能入力機構558の回転を表す第1のユーザ入力を受信している間に、タッチ感知ディスプレイ5100上の接触を表す第2のユーザ入力が(例えば、指5110を介して)受信されたと判定することに基づいて、回転可能入力機構558の回転を元に、第1のコンテキストに応じたアクション(例えば、ズームレベルの調整又はオブジェクトの回転)を実行することができる。
しかし、図51Cに例示されるように、電子デバイス550は、回転可能入力機構の回転を表す第1のユーザ入力を受信している間に、タッチ感知ディスプレイ上の接触(例えば、指5110による)を表す第2のユーザ入力が受信されなかったと判定することに基づいて、回転可能入力の回転を元に、オブジェクト/ページをスクロールするなどの、第1のコンテキストに応じたアクションとは異なる第2のアクションを実行するように構成されてもよい。例えば、回転可能入力機構558の回転5112によって、(例えば、タッチ感知ディスプレイ5100上のある位置から別の位置へのオブジェクト5116のスクロール方向への)スクロールが生じ得る。いくつかの実施形態では、オブジェクト5116は、代わりに、タッチ感知ディスプレイ5100上で反対方向に(例えば、上方に)スクロールされてもよい。ユーザの指5110として示されているが、第2のユーザ入力は、入力デバイス/機構(例えば、スタイラス)によって受信されてもよいことを理解されたい。
更なる実施形態では、オブジェクト5104は、オブジェクトの第1の特性の値に従って、タッチ感知ディスプレイ5100上に表示されてもよい。いくつかの実施形態では、オブジェクト5104の第1の特性は、第1のコンテキストに応じたアクション(例えば、第1のズームレベル又は第1の回転位置)に関連付けられてもよく、第2の動作に関連付けられたオブジェクト5104の第2の特性(例えば、スクロール位置)と異なっていてもよい。したがって、電子デバイス550は、第1のコンテキストに応じたアクションを実行するとき、タッチ感知ディスプレイ上の接触を表す第2のユーザ入力を受信している間に、回転可能入力機構の回転を表す第1のユーザ入力を受信することに応じて、オブジェクト5104の第1の特性(例えば、第2のズームレベル又は第2の回転位置)の更新値を決定し、更新値に従ってオブジェクト5104を表示するように構成されてもよい。オブジェクトの特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択される。
図52は、いくつかの実施形態に係る、オーディオ特性を有するオーディオを出力する方法5200を示すフロー図である。方法5200は、ディスプレイ及び回転可能入力機構を備えたデバイス(例えば、100、300、500、及び550)で実行されてもよい。方法5200のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
いくつかの実施形態では、回転可能な入力機構(例えば、回転可能入力機構506及び/又は竜頭558)は、ユーザ入力を受信するように構成することができる。いくつかの実施形態では、方法5200は、タッチ感知ディスプレイ(例えば、112、355、及び504)を備える電子デバイスにおいて実行されてもよい。方法5200を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び550(図1A、図3、図5A、図48A及び図48B、図49A〜図49C、及び図50A〜図50C)が挙げられる。
以下に説明するように、方法5200は、オーディオ特性を有するオーディオを出力することによって電子デバイスと対話するための直感的な方法を提供する。この方法によって、さまざまな活動の間に回転可能入力機構に関与し得るユーザの身体的及び/又は認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。
ブロック5202では、方法5200は、回転可能入力機構の回転を表す、ユーザ入力を受信することができる。ブロック5204では、方法5200はユーザ入力の回転属性を識別することができる。ブロック5206では、方法5200は、識別された回転属性に基づいてオーディオ特性を決定することができる。ブロック5208では、方法5200は、当該オーディオ特性を有するオーディオを出力することができる。
いくつかの実施形態によれば、オーディオ特性は、音量、ピッチ、周波数、音量の変化、ピッチの変化、及び周波数の変化のうちの1つ以上からなる群から選択される。
いくつかの実施形態によれば、回転属性は、回転可能入力機構の回転角度、回転可能入力機構の角速度、及び回転可能入力機構の角加速度のうちの1つ以上である。
いくつかの実施形態によれば、回転可能入力機構の回転を表すユーザ入力は、第1の入力セグメント及び第2の入力セグメントを備える。ユーザ入力の回転属性を識別することは、第1の入力セグメントに基づいて第1の回転属性を識別することと、第2の入力セグメントに基づいて第2の回転属性を識別することと、を含み、識別された回転属性に基づいてオーディオ特性を決定することは、第1の回転属性に基づいて第1のオーディオ特性を決定することと、第2の回転属性に基づいて第2のオーディオ特性を決定することと、を含み、オーディオ出力の出力を可能にすることは、第1のオーディオ特性を有する第1のオーディオを出力することと、第2のオーディオ特性を有する第2のオーディオを出力することと、を含んでいる。
いくつかの実施形態によれば、第1のオーディオ特性は第1のピッチを含み、第2のオーディオ特性は第1のピッチとは異なる第2のピッチを含む。
いくつかの実施形態によれば、第1のオーディオ特性は第1の周波数を含み、第2のオーディオ特性は第1の周波数とは異なる第2の周波数を含む。
いくつかの実施形態によれば、第1のオーディオ特性は第1の音量を含み、第2のオーディオ特性は第1の音量とは異なる第2の音量を含む。
いくつかの実施形態によれば、電子デバイスはスピーカを含み、オーディオ特性を有するオーディオを出力することは、スピーカ再生を含む。
いくつかの実施形態によれば、電子デバイスはBluetooth送受信機を含み、オーディオ特性を有するオーディオを出力することは、Bluetoothを介してオーディオ出力に対応するオーディオデータを送信することを含む。
いくつかの実施形態によれば、電子デバイスは、Wi−Fi送受信機を含み、オーディオ特性を有するオーディオを出力することは、Wi−Fiを介してオーディオ出力に対応するオーディオデータを送信することを含む。
いくつかの実施形態によれば、回転可能入力機構の回転を表すユーザ入力を受信する前に、ディスプレイ上に、1つ以上のオブジェクトの特性の1つ以上の値に従って1つ以上のオブジェクトを表示し、回転可能入力機構の回転を表すユーザ入力を受信することに応じて、ユーザ入力に基づいて、1つ以上のオブジェクトからのオブジェクトの特性の値を更新し、オブジェクトの特性の更新値に従って、1つ以上のオブジェクトの表示を更新する。
いくつかの実施形態によれば、ユーザ入力に基づいてオブジェクトの特性の値を更新することは、ユーザ入力の回転属性に基づいてオブジェクトの特性の値を更新することを含む。
いくつかの実施形態によれば、1つ以上のオブジェクトはシーケンス内に配列された複数のオブジェクトであり、1つ以上のオブジェクトの特性は、シーケンス内の位置であり、ユーザ入力に基づいて特性の値を更新することは、ユーザ入力に基づいてシーケンス内の更新された位置を決定することを含み、更新された特性の値に従って1つ以上のオブジェクトの表示を更新することは、更新された位置に対応する複数のオブジェクトのうちの当該オブジェクトの表示を更新することを含む。
いくつかの実施形態によれば、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の画像である。
いくつかの実施形態によれば、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の数字、英字、又は英数字である。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新することは、オブジェクトの特性の更新値を反映するようにオブジェクトをアニメーションすることを含む。
いくつかの実施形態によれば、ユーザ入力に基づいて特性の値を更新することは、第1の回転属性に基づく第1の更新と、第1の更新とは異なりかつ第2の回転属性に基づく第2の更新と、を含む。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択される。
いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。
いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
図53は、いくつかの実施形態に係る、アクションを実行する方法5300を示すフロー図である。方法5300は、タッチ感知ディスプレイ(例えば、112、355、及び504)及び回転可能入力機構(例えば、506、558)を有するデバイス(例えば、100、300、500、及び550)で実行することができる。方法5300のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
いくつかの実施形態では、回転可能な入力機構(例えば、回転可能入力機構506及び/又は竜頭558)は、ユーザ入力を受信するように構成することができる。いくつかの実施形態では、方法5300は、タッチ感知面/ディスプレイ(例えば、112、355、及び504)を備える電子デバイスにおいて実行してもよい。方法5200を実行し得る例示的なデバイスとしては、デバイス100、300、500、及び550(図1A、図3、図5A、図48A及び図48B、図49A〜図49C、及び図50A〜図50C)が挙げられる。
以下に説明するように、方法5300は、オブジェクトにアクションを実行することによって電子デバイスと対話する直感的な方法を提供する。この方法によって、さまざまな活動の間に回転可能入力機構に関与し得るユーザの身体的及び/又は認識的負担が軽減され、それによって、より効率的なヒューマン−マシンインタフェースが作り上げられる。
ブロック5302において、方法5300では、回転可能入力機構の回転を表す第1のユーザ入力を受信することができる。ブロック5304において、方法5300では、回転可能入力機構の回転を表す第1のユーザ入力を受信している間に、タッチ感知ディスプレイ上の接触を表す第2のユーザ入力が受信されるかどうか判定することができる。ブロック5306において、方法5300では、回転可能入力機構の回転を表す第1のユーザ入力を受信している間に、タッチ感知ディスプレイ上の接触を表す第2のユーザ入力が受信されたとの判定に従って、回転可能入力機構の回転に基づいて、第1のコンテキストに応じたアクションを実行することができる。ブロック5308において、方法5300では、回転可能入力機構の回転を表す第1のユーザ入力を受信している間に、タッチ感知ディスプレイ上の接触を表す第2のユーザ入力が受信されないという判定に従って、回転可能入力機構の回転に基づいて、第1のコンテキストに応じたアクションとは異なる第2のアクションを実行し得る。
いくつかの実施形態によれば、方法5300は、タッチ感知ディスプレイ上に、第1のコンテキストに応じたアクションに関連付けられ、第2のアクションに関連付けられたオブジェクトの第2の特性とは異なるオブジェクトの第1の特性の値に従ってオブジェクトを表示することを含んでもよく、当該第1のコンテキストに応じたアクションを実行することは、タッチ感知ディスプレイ上の接触を表す第2のユーザ入力を受信している間に、回転可能な入力機構の回転を表す第1のユーザ入力を受信することに応じて、オブジェクトの第1の特性の更新値を決定することと、オブジェクトの第1の特性の更新値の決定に従って、更新値に基づいてオブジェクトを表示することと、を含んでいる。
いくつかの実施形態によれば、オブジェクトの特性の更新値を決定することは、第1のユーザ入力の回転属性に基づいてオブジェクトの特性の値を更新することを含む。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクトを表示することは、オブジェクトの特性の更新値を反映するようにオブジェクトをアニメーションすることを含む。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択される。
いくつかの実施形態によれば、方法5300は、更新値が特性の値の範囲内にあるかどうかを判定することと、更新値が特性の値の範囲内にあるとの判定に従って、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新することと、更新値が特性の値の範囲内にないとの判定に従って、特性の最小値又は最大値のうちの1つに表示を更新することと、を含んでもよい。
いくつかの実施形態によれば、オブジェクトは、ドキュメント、ページ、ビュー、又は画像のうちの1つである。
いくつかの実施形態によれば、図54は、説明されるさまざまな実施形態の原理に従って構成された電子デバイス5400の、例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス5400の機能ブロックは、上述の技術を実行するように構成されている。デバイス5400の機能ブロックは、説明されるさまざまな実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実施される。当業者であれば、図54に記載された機能ブロックは、説明されたさまざまな実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが理解される。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図54に示されるように、電子デバイス5400は、ディスプレイユニット5402と、回転可能入力機構5404と、ディスプレイユニット5402及び回転可能入力機構5404に連結された処理ユニット5408と、を含む。いくつかの実施形態では、処理ユニット5408は、表示有効化ユニット5410、受信ユニット5412、識別ユニット5414、決定ユニット5416、出力ユニット5418、及び更新ユニット5420を含む。
処理ユニット5408は、回転可能入力機構5508の回転を表すユーザ入力を(例えば、受信ユニット5412を用いて)受信し、ユーザ入力の回転属性を(例えば、識別ユニット5414を用いて)識別し、識別された回転属性に基づいてオーディオ特性を(例えば、決定ユニット5416を用いて)決定し、このオーディオ特性を有するオーディオを(例えば、出力ユニット5418を用いて)出力する、ように構成されている。
いくつかの実施形態によれば、オーディオ特性は、音量、ピッチ、周波数、音量の変化、ピッチの変化、及び周波数の変化のうちの1つ以上からなる群から選択される。
いくつかの実施形態によれば、回転属性は、回転可能入力機構の回転角度、回転可能入力機構の角速度、及び回転可能入力機構の角加速度のうちの1つ以上である。
いくつかの実施形態によれば、回転可能入力機構の回転を表すユーザ入力は、第1の入力セグメントと第2の入力セグメントを備え、処理ユニット5408は、ユーザ入力の回転属性を識別するために、第1の入力セグメントに基づいて第1の回転属性を(例えば、識別ユニット5414を用いて)識別し、第2の入力セグメントに基づいて第2の回転属性を(例えば、識別ユニット5414を用いて)識別する、ように構成され、処理ユニット5408は、識別された回転属性に基づいてオーディオ特性を決定するために、第1の回転属性に基づいて第1のオーディオ特性を(例えば、決定ユニット5416を用いて)決定し、第2の回転属性に基づいて第2のオーディオ特性を(例えば、決定ユニット5416を用いて)決定するように更に構成され、処理ユニット5408は、オーディオを出力するために、第1のオーディオ特性を有する第1のオーディオを(例えば、出力ユニット5418を用いて)出力し、第2のオーディオ特性を有する第2のオーディオを(例えば、出力ユニット5418を用いて)出力する、ように更に構成されている。
いくつかの実施形態によれば、第1のオーディオ特性は第1のピッチを含み、第2のオーディオ特性は第1のピッチとは異なる第2のピッチを含む。
いくつかの実施形態によれば、第1のオーディオ特性は第1の周波数を含み、第2のオーディオ特性は第1の周波数とは異なる第2の周波数を含む。
いくつかの実施形態によれば、第1のオーディオ特性は第1の音量を含み、第2のオーディオ特性は第1の音量とは異なる第2の音量を含む。
いくつかの実施形態によれば、電子デバイスはスピーカを含み、当該オーディオ特性を有するオーディオを出力するために、処理ユニット5408は、スピーカ再生を介して、当該オーディオ特性を有するオーディオを(例えば、出力ユニット5418を用いて)出力するように、更に構成されている。
いくつかの実施形態によれば、電子デバイスは、Bluetooth送受信機を含み、当該オーディオ特性を有するオーディオを出力するために、処理ユニット5408は、Bluetoothを介して、オーディオ出力に対応するオーディオデータを(例えば、送信ユニット5422を用いて)送信するように、更に構成されている。
いくつかの実施形態によれば、電子デバイスは、Wi−Fi送受信機を含み、オーディオ特性を有するオーディオを出力するために、処理ユニット5408は、更に、Wi−Fiを介して、オーディオ出力に対応するオーディオデータを(例えば、送信ユニット5422を用いて)送信するように構成されている。
いくつかの実施形態によれば、処理ユニット5408は、回転可能入力機構の回転を表すユーザ入力を受信する前に、1つ以上のオブジェクトの特性の1つ以上の値に従って、(例えば、表示有効化ユニット5410を用いて)1つ以上のオブジェクトをディスプレイユニット5402上に表示し、回転可能入力機構の回転を表すユーザ入力を受信することに応じて、ユーザ入力に基づいて、1つ以上のオブジェクトからのオブジェクトの特性の値を(例えば、更新ユニット5420を用いて)更新し、オブジェクトの特性の更新値に従って、1つ以上のオブジェクトの表示を(例えば、更新ユニット5420を用いて)更新する、ように更に構成されている。
いくつかの実施形態によれば、ユーザ入力に基づいてオブジェクトの特性の値を更新するために、処理ユニット5408は、ユーザ入力の回転属性に基づいてオブジェクトの特性の値を(例えば、更新ユニット5420を用いて)更新するように、更に構成されている。
いくつかの実施形態によれば、1つ以上のオブジェクトはシーケンス内に配列された複数のオブジェクトであり、1つ以上のオブジェクトの特性は、シーケンス内の位置であり、ユーザ入力に基づいて特性の値を更新するために、処理ユニット5408は、ユーザ入力に基づいてシーケンス内の更新位置を(例えば、決定ユニット5416を用いて)決定するように更に構成され、特性の更新値に従って1つ以上のオブジェクトの表示を更新するために、処理ユニット5408は、更新位置に対応する複数のオブジェクトのうちの当該オブジェクトの表示を(例えば、更新ユニット5420を用いて)更新するように更に構成されている。
いくつかの実施形態によれば、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の画像である。
いくつかの実施形態によれば、シーケンス内に配列された複数のオブジェクトは、シーケンス内に配列された複数の数字、英字、又は英数字である。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新するために、処理ユニット5408は、オブジェクトの特性の更新値を反映するようにオブジェクトを(例えば、表示有効化ユニット5410を用いて)アニメーションするように更に構成されている。
いくつかの実施形態によれば、ユーザ入力に基づいて特性の値を更新することは、第1の回転属性に基づく第1の更新と、第1の更新とは異なりかつ第2の回転属性に基づく第2の更新と、を含む。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択される。
いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。
いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
図54を参照して上述された動作は、図1A及び図1B、又は図54に示される構成要素によって、任意選択的に実施される。例えば、受信動作5202(図52)、識別動作5204(図52)、決定動作5206(図52)、及び出力動作5208(図52)は、イベントソート部170、イベント認識部180、イベント処理部190によって実施されてもよい。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を利用するか、又は呼び出すことができる。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUI更新部178にアクセスする。同様に、当業者にとって、他の方法が、図1A及び図1Bに示される構成要素に基づいて、どのように実施され得るかは明らかであろう。
いくつかの実施形態によれば、図55は、説明されるさまざまな実施形態の原理に従って構成された電子デバイス5500の、例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス5500の機能ブロックは、上述の技術を実施するように構成されている。デバイス5500の機能ブロックは、説明されるさまざまな実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実施される。当業者であれば、図55に記載された機能ブロックは、説明されたさまざまな実施例の原理を実現するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが理解される。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図55に示すように、電子デバイス5500は、ディスプレイユニット5502及びタッチ感知面ユニット5504を含むタッチ感知ディスプレイユニット5508と、回転可能入力機構5508と、タッチ感知ディスプレイユニット5508及び回転可能入力機構5508に連結された処理ユニット5510と、を含む。いくつかの実施形態では、処理ユニット5510は、表示有効化ユニット5512、受信ユニット5514、決定ユニット5516、実行ユニット5518、及び更新ユニット5520を含む。
処理ユニット5510は、回転可能入力機構5508の回転を表す第1のユーザ入力を(例えば、受信ユニット5514を用いて)受信し、回転可能入力機構5508の回転を表す第2のユーザ入力を受信している間に、タッチ感知ディスプレイユニット5506上の接触を表す第2のユーザ入力が受信されるかどうか(例えば、決定ユニット5516を用いて)判定し、回転可能入力機構5508の回転を表す第2のユーザ入力を受信している間に、タッチ感知ディスプレイユニット5506上の接触を表す第2のユーザ入力が受信されるという判定に従って、回転可能入力機構5508の回転に基づいて第1のコンテキストに応じたアクションを(例えば、実行ユニット5518を用いて)実行し、回転可能入力機構5508の回転を表す第2のユーザ入力を受信している間に、タッチ感知ディスプレイユニット5506上の接触を表す第2のユーザ入力が受信されないという判定に従って、回転可能入力機構の回転に基づいて、第1のコンテキストに応じたアクションとは異なる第2のアクションを(例えば、実行ユニット5518を用いて)実行する、ように構成されている。
いくつかの実施形態によれば、処理ユニット5510は、タッチ感知ディスプレイユニット5506上に、第1のコンテキストに応じたアクションに関連付けられ、第2のアクションに関連付けられたオブジェクトの第2の特性とは異なるオブジェクトの第1の特性の値に従ってオブジェクトを(例えば、表示有効化ユニット5512を用いて)表示する、ように更に構成され、当該第1のコンテキストに応じたアクションを実行するために、処理ユニットは、タッチ感知ディスプレイユニット5506上の接触を表す第2のユーザ入力を受信している間に、回転可能入力機構5508の回転を表す第1のユーザ入力を受信することに応じて、オブジェクトの第1の特性の更新値を(例えば、決定ユニット5516を用いて)決定し、オブジェクトの第1の特性の更新値の決定に基づいて、更新値に従って(例えば、表示有効化ユニット5512を用いて)オブジェクトを表示するように更に構成されている。
いくつかの実施形態によれば、オブジェクトの特性の更新値を決定するために、処理ユニット5510は、第1のユーザ入力の回転属性に基づいてオブジェクトの特性の値を(例えば、更新ユニット5520を用いて)更新するように、更に構成されている。
いくつかの実施形態によれば、オブジェクトの特性の更新値に従ってオブジェクトを表示するために、処理ユニット5510は、オブジェクトの特性の更新値を反映するようにオブジェクトを(例えば、表示有効化ユニット5512を用いて)アニメーションするように、更に構成されている。
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置、ズームサイズ、及び回転の程度からなる群から選択される。
いくつかの実施形態によれば、処理ユニット5510は、更新値が特性の値の範囲内にあるかどうかを(例えば、決定ユニット5516を用いて)決定し、更新値が特性の値の範囲内にあるという判定に従って、オブジェクトの特性の更新値に従ってオブジェクトの表示を更新(例えば、更新ユニット5520を用いて)し、更新値が特性の値の範囲内にないという判定に従って、特性の最小値又は最大値のうちの1つに表示を更新(例えば、更新ユニット5520を用いて)するように、更に構成されている。
いくつかの実施形態によれば、オブジェクトは、ドキュメント、ページ、ビュー、又は画像のうちの1つである。
図55を参照して上述された動作は、図1A及び図1B、又は図55に示される構成要素によって、任意選択的に実施される。例えば、受信動作5302(図53)、決定動作5304(図53)、及び実行動作5306、5308(図53)は、イベントソート部170、イベント認識部180、及びイベント処理部190によって実施されてもよい。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を利用するか、又は呼び出すことができる。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUI更新部178にアクセスする。同様に、当業者にとって、他の方法が、図1A及び図1Bに示される構成要素に基づいて、どのように実施され得るかは明らかであろう。
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかし、上述の例示的説明は、網羅的であることも、あるいは本発明を開示される厳密な形態に限定することも、意図するものではない。上述の教示を考慮すれば、多くの修正及び変形が可能である。これらの実施形態は、説明されるさまざまな実施形態、及びそれらの実際の適用を最も良好に説明するために、またそれにより、他の当業者が、想到される具体的な用途に適するようなさまざまな修正を用いて、その説明されるさまざまな実施形態を最も良好に利用することを可能にするために、選択及び説明されたものである。