(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-24
(45)【発行日】2022-04-01
(54)【発明の名称】磁気的特性を有するユーザインタフェースオブジェクトを操作するためのユーザインタフェース
(51)【国際特許分類】
G06F 3/0485 20220101AFI20220325BHJP
G06F 3/0487 20130101ALI20220325BHJP
G06F 3/0362 20130101ALI20220325BHJP
G06F 3/01 20060101ALI20220325BHJP
【FI】
G06F3/0485
G06F3/0487
G06F3/0362 461
G06F3/01 560
【外国語出願】
(21)【出願番号】P 2019088503
(22)【出願日】2019-05-08
(62)【分割の表示】P 2018143982の分割
【原出願日】2014-09-03
【審査請求日】2019-06-05
(32)【優先日】2013-09-03
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2013-09-03
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2013-09-03
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2013-09-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】ザンベッティ, ニコラス
(72)【発明者】
【氏名】チャウドリ, イムラン
(72)【発明者】
【氏名】ダスコラ, ジョナサン, アール.
(72)【発明者】
【氏名】ダイ, アラン, シー.
(72)【発明者】
【氏名】フォス, クリストファー, パトリック
(72)【発明者】
【氏名】グズマン, オーレリオ
(72)【発明者】
【氏名】カルナムニ, チャナカ, ジー.
(72)【発明者】
【氏名】カール, ダンカン, ロバート
(72)【発明者】
【氏名】ウィルソン, クリストファー
(72)【発明者】
【氏名】ウィルソン, エリック, ランス
(72)【発明者】
【氏名】ヤン, ローレンス, ワイ.
(72)【発明者】
【氏名】ブッチャー, ゲーリー, イアン
(72)【発明者】
【氏名】デ フリース, ネイサン
(72)【発明者】
【氏名】イブ, ジョナサン, ピー.
【審査官】木村 慎太郎
(56)【参考文献】
【文献】特開2001-202181(JP,A)
【文献】特表2008-518539(JP,A)
【文献】特開2012-115519(JP,A)
【文献】特開2010-257051(JP,A)
【文献】特開2008-097057(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0485
G06F 3/0487
G06F 3/0362
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
方法であって、
クラウンとディスプレイとを有する着用可能電子デバイスにおいて、
前記着用可能電子デバイスの前記ディスプレイ上にコンテンツを表示することであって、前記コンテンツは複数のコンテンツ部分を含む、ことと、
前記クラウンの回転を検出することと、
前記クラウンの回転を検出することに応じて、
前記クラウンの前記検出された回転に基づき
、前記コンテンツのそれぞれの部分が、前記ディスプレイのそれぞれの部分に到達することなく前記ディスプレイのそれぞれの部分に向かって移動する
ような方向に前記コンテンツを移動することと、
前記クラウンの前記回転に基づき、前記ディスプレイの前記それぞれの部分の所定距離内に、前記コンテンツの前記それぞれの部分が移動されるとの判定に従って、
前記コンテンツの前記それぞれの部分を、前記ディスプレイの前記それぞれの部分へ自動的に移動することと、
前記コンテンツを自動的に移動している間に、前記着用可能電子デバイスにおいて触知出力を生成することであって、前記触知出力を生成することは前記ディスプレイの前記それぞれの部分の前記所定距離内に、前記クラウンの前記回転に基づき、前記コンテンツの前記それぞれの部分が移動されることを条件とする、ことと
を含む、方法。
【請求項2】
前記コンテンツの前記それぞれの部分はズーム可能視覚的要素であり、前記方法は、さらに、
前記クラウンの回転が前記ズーム可能視覚的要素を最小ズームレベルを下回ってズームさせるとの判定に従って、前記最小ズームレベルへ自動的に戻す前に、前記コンテンツの前記それぞれの部分を、前記最小ズームレベルよりも小さいズームレベルに縮小させることを含む、請求項1に記載の方法。
【請求項3】
前記着用可能電子デバイスの前記クラウンは機械的なクラウンである、請求項1又は2に記載の方法。
【請求項4】
前記コンテンツの前記それぞれの部分は、ズーム可能視覚的要素であり、前記方法は、さらに、
前記クラウンの回転が前記ズーム可能視覚的要素を最大ズームレベルを超えてズームさせるとの判定に従って、前記最大ズームレベルへ自動的に戻る前に、前記コンテンツの前記それぞれの部分を、前記最大ズームレベルを超えたズームレベルへ拡大させることを含む、請求項1乃至3の何れか1項に記載の方法。
【請求項5】
請求項1乃至4の何れか1項に記載の方法を実行するための命令を含む、コンピュータプログラム。
【請求項6】
電子デバイスであって、
ディスプレイと、
請求項1乃至4の何れか1項に記載の方法を実行する命令を含む1以上のコンピュータプログラムを格納したメモリと、
前記メモリに格納された前記命令を実行することが可能な1以上のプロセッサと
を備える、電子デバイス。
【請求項7】
請求項1乃至4の何れか1項に記載の方法を実行する命令を含む1以上のコンピュータプログラムを実行するための手段を備える装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2013年9月3日出願の「CROWN INPUT FOR A WEARABLE ELECTRONIC DEVICE」と題された米国仮特許出願第61/873,356号、2013年9月3日出願の「USER INTERFACE OBJECT MANIPULATIONS IN A USER INTERFACE」と題された米国仮特許出願第61/873,359号、2013年9月3日出願の「USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS」と題された米国仮特許出願第61/959,851号、及び2013年9月3日出願の「USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES」と題された米国仮特許出願第61/873,360号に対する優先権を主張する。これらの出願の内容は、その全体があらゆる目的で、参照により本明細書に組み込まれる。
【0002】
本出願は、本出願と同時に2014年9月3日に出願された、「CROWN INPUT FOR A WEARABLE ELECTRONIC DEVICE」と題され、Nicholas Zambetti他を発明者とする同時係属出願米国非仮特許出願、本出願と同時に2014年9月3日に出願された、「USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS」と題され、Nicholas Zambetti他を発明者とする米国非仮特許出願、本出願と同時に2014年9月3日に出願された、「USER INTERFACE OBJECT MANIPULATIONS IN A USER INTERFACE」と題され、Nicholas Zambetti他を発明者とする米国非仮特許出願、及び2012年12月29日出願の「Device,Method,and Graphical User Interface for Manipulating User Interface Objects with Visual and/or Haptic Feedback」と題された米国仮特許出願第61/747,278号に関する。これらの出願の内容は、その全体があらゆる目的で、参照により本明細書に組み込まれる。
【技術分野】
【0003】
本開示は概してコンピュータユーザインタフェースに関し、より具体的には、回転可能入力機構を使用してユーザインタフェースオブジェクトを操作することに関する。
【背景技術】
【0004】
高度な個人用電子デバイスは、小さいフォームファクタを有する場合がある。そのような個人用電子デバイスの使用は、個人用電子デバイスの設計を補完する小さいフォームファクタを同様に有するディスプレイスクリーン上のユーザインタフェースオブジェクトの操作を伴う。
【0005】
ユーザが個人用電子デバイス上で実行し得る例示的な操作は、階層をナビゲートすること、ユーザインタフェースオブジェクトを選択すること、ユーザインタフェースオブジェクトの位置、ズーム、及び回転を調整すること、又は別な方法でユーザインタフェースオブジェクトを操作することを含む。例示的なユーザインタフェースオブジェクトは、ドキュメント、デジタル画像、ビデオ、テキスト、アイコン、及び地図を含む。
【発明の概要】
【0006】
しかしながら、低減されたサイズのタッチ感知ディスプレイを使用してユーザインタフェースオブジェクトを操作するためのいくつかの技術は、概して煩雑かつ非効率的である。例えば、所望のコンテンツが視認可能な表示に適切に位置合わせされる、可能なスクロール位置の範囲内にあるスクロール位置までドキュメントオブジェクトを正確にスクロールすることが、ユーザにとって困難な場合がある。別の例では、画像オブジェクトの倍率を、可能なズームサイズの範囲内にある所望のズームサイズに正確に変更することが、ユーザにとって困難な場合がある。別の例では、特定のユーザインタフェースオブジェクトを選択することが、ユーザにとって困難な場合がある。既存の技術では、ユーザがタスクの実行を試みるときに必要以上に時間がかかり、ユーザの時間及びデバイスのエネルギーを無駄にしてしまう。この後者の考慮事項は、バッテリ動作デバイスにおいては特に重要である。したがって、低減されたサイズのタッチ感知ディスプレイ上でユーザインタフェースオブジェクトを操作するための既存の方法は非効率的であり得、好ましいものよりも低い精度を提供する。
【0007】
したがって、ユーザインタフェースオブジェクトを操作するための、より速く、より効率的で、より正確な方法及びインタフェースを備える電子デバイスが必要とされている。このような方法及びインタフェースは、任意選択的に、ユーザインタフェースオブジェクトを操作するための従来の方法を補完するか、又は置き換える。かかる方法及びインタフェースは、ユーザの認識的負担を軽減し、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、このような方法及びインタフェースにより、電力が節約され、バッテリを充電する間隔が増す。
【0008】
ユーザインタフェースオブジェクトを操作するためのコンピューティングデバイス用のユーザインタフェースに関連する、上記の欠陥及び他の問題点は、開示されるデバイスによって低減されるか、又は取り除かれる。いくつかの実施形態において、このデバイスは、デスクトップコンピュータである。いくつかの実施形態において、このデバイスは、ポータブル(例えば、ノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイス)である。いくつかの実施形態において、このデバイスは、タッチパッドを有する。いくつかの実施形態では、デバイスは、ユーザが着用可能である。いくつかの実施形態では、このデバイスは、タッチ感知ディスプレイ(「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる)を有する。いくつかの実施形態では、デバイスは、ディスプレイ及びタッチ感知面を備える。いくつかの実施形態では、デバイスは、回転可能入力機構を有する。いくつかの実施形態において、このデバイスは、グラフィカルユーザインタフェース(GUI)、1つ以上のプロセッサ、メモリ、及び複数の機能を実行するためにメモリに記憶された1つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは主に回転可能入力機構の回転及びタッチ感知面上でのジェスチャを介してGUIと対話する。これらの機能を実行するための実行可能命令は、コンピュータ可読記憶媒体又は1つ以上のプロセッサによって実行するように構成された他のコンピュータプログラム製品に含まれてもよい。
【0009】
いくつかの実施形態によれば、方法は、ディスプレイ及び回転可能入力機構を備えた電子デバイスにおいて実行される。方法は、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、オブジェクトの特性の値が、特性の値の範囲の所定のサブセット内にあるかどうかを判定することと、オブジェクトの特性の値が、特性の値の範囲の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新することと、オブジェクトの特性の値が、特性の値の範囲の所定のサブセット内にないという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することであって、第1の関数及び第2の関数は異なる関数である、更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、を含む。
【0010】
いくつかの実施形態によれば、方法は、ディスプレイ及び回転可能入力機構を備えた電子デバイスにおいて実行される。方法は、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、ユーザ入力要求を受信したことに応じて、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させるかどうかを判定することであって、アンカーは特性の値の範囲内にある開始値、中間値、及び終了値を有し、アンカーのゾーンは開始値と終了値との間である、判定することと、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させるという判定に従って、オブジェクトの特性の値をアンカーの中間値に基づき更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、を含む。
【0011】
いくつかの実施形態によれば、方法は、ディスプレイ及び回転可能入力機構を備えた電子デバイスにおいて実行される。方法は、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、ユーザ入力要求を受信したことに応じて、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、オブジェクトの特性の更新された値に最も近いアンカーを特定することであって、最も近いアンカーは、少なくとも、対応する中間値を有する第1のアンカー及び対応する中間値を有する第2のアンカーの中から特定される、特定することと、引き続き、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することと、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することと、を含む。
【0012】
いくつかの実施形態によれば、方法は、ディスプレイ及び回転可能入力機構を備えた電子デバイスにおいて実行される。方法は、オブジェクトをディスプレイ上に表示することであって、オブジェクトは第1の値を有する第1のマーカ及び第2の値を有する第2のマーカに関連付けられ、オブジェクトの特性の値は第1のマーカの第1の値に基づく、表示することと、回転可能入力機構の回転を表すユーザ入力を受信することと、回転可能入力機構の回転を表すユーザ入力を受信したことに応じて、ユーザ入力の属性が閾値を上回るかどうかを判定することと、ユーザ入力の属性が閾値を上回るという判定に従って、第2のマーカの第2の値に基づきオブジェクトの特性の値を更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、を含む。
【0013】
いくつかの実施形態によれば、方法は、電子デバイスにおいて実行される。方法は、複数の選択可能要素を着用可能電子デバイスのタッチ感知ディスプレイ上に表示することであって、複数の選択可能要素の各選択可能要素は対応する磁気値に関連付けられる、表示することと、着用可能電子デバイスのクラウンの角変位に基づく、クラウンの距離値の変化を判定することと、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき方向を判定することと、クラウンの距離値の変化を判定したことに応じて、フォーカスセレクタを複数の選択可能要素のうちの要素に向かって移動させることと、複数の選択可能要素のうちの要素のフォーカスを変更することと、を含み、移動は少なくとも最初は判定された方向であり、移動の割合は少なくとも選択要素に関連付けられた磁気値に基づき変更される。
【0014】
いくつかの実施形態によれば、方法は、電子デバイスにおいて実行される。方法は、複数の選択可能要素を着用可能電子デバイスのタッチ感知ディスプレイ上に表示することであって、複数の選択可能要素の各選択可能要素は対応する磁気値に関連付けられる、表示することと、着用可能電子デバイスの物理的なクラウンの角変位に基づくクラウンの距離値の変化を判定することと、クラウンの回転の方向に基づき方向を判定することと、クラウンの距離値の変化を判定したことに応じて、ディスプレイ上の複数の選択可能要素を判定された方向にスクロールすることと、複数の選択可能要素のうちの選択可能要素のフォーカスを変更することと、を含み、スクロール率は少なくとも複数の選択可能要素のうちの要素とフォーカス領域との間の仮想磁気吸引力に基づき変更される。
【0015】
いくつかの実施形態によれば、方法は、電子デバイスにおいて実行される。方法は、オブジェクトを着用可能電子デバイスのタッチ感知ディスプレイ上に表示することと、クラウンの角変位に基づくクラウンの距離値の変化を判定することと、クラウンの距離値の変化に基づきオブジェクトの外観を修正することと、オブジェクトの修正された外観に基づき、基準が満たされたかどうかを判定することと、基準が満たされたという判定に応じて、着用可能電子デバイスにおいて触知出力を生成することと、を含む。
【0016】
このため、ユーザインタフェースオブジェクトを操作するための、より速く、より効率的で、より正確な方法及びインタフェースがデバイスに提供され、それによって、このようなデバイスの有効性、効率、及びユーザ満足度が増す。このような方法及びインタフェースは、ユーザインタフェースオブジェクトを操作するための従来の方法を補完するか又は置き換えてもよい。
【図面の簡単な説明】
【0017】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「実施形態の説明」を参照されたく、類似の参照番号は、それらの図の全体を通じて対応する部分を指す。
【
図1A】いくつかの実施形態に係る、タッチ感知ディスプレイを備えたポータブル多機能デバイスを示すブロック図である。
【
図1B】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【
図2】いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す図である。
【
図3】いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。
【
図4A】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す図である。
【
図4B】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を備えた多機能デバイスのための例示的なユーザインタフェースを示す図である。
【
図5A】いくつかの実施形態に係る個人用電子デバイスを示す図である。
【
図5B】いくつかの実施形態に係る個人用電子デバイスを示すブロック図である。
【
図5C】様々な実施例に係る例示的な着用可能電子デバイスを示す図である。
【
図5D】様々な実施例に係る例示的な着用可能電子デバイスのブロック図である。
【
図6A】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図6B】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図6C】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図6D】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図6E】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図6F】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図7】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。
【
図8A】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8B】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8C】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8D】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8E】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8F】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8G】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図8H】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図9A】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。
【
図9B】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。
【
図10A】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図10B】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す図である。
【
図11】いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。
【
図12】いくつかの実施形態に係る機能ブロック図である。
【
図13A】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13B】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13C】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13D】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13E】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13F】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13G】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13H】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13I】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13J】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図13K】いくつかの実施形態に係る、物理学に基づく磁気モデリングを使用して要素を選択するための例示的な処理を示すフロー図である。
【
図14】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図15】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図16】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図17】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図18】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図19】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図20】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図21】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図22】いくつかの実施形態に係る、様々な磁気値を有する要素の中から要素を選択するための例示的な処理を示すフロー図である。
【
図23】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図24】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図25】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図26】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図27】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図28】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図29】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図30】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図31】いくつかの実施形態に係る、物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的な処理を示すフロー図である。
【
図32】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図33】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図34】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図35】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図36】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図37】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図38】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図39】フォーカス領域及び物理学に基づく磁気モデリングを使用して要素を選択するための例示的な処理を示すフロー図である。
【
図40】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図41】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図42】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図43】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図44】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図45】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的なグラフィカルユーザインタフェースを示す図である。
【
図46】フォーカス領域並びに物理学に基づく磁気及びばねモデリングを使用して要素を選択するための例示的な処理を示すフロー図である。
【
図47】様々な実施例に係る、クラウンの回転に応じてユーザインタフェースを操作するための例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【0018】
以下の説明では、例示的な方法、パラメータなどが記載される。ただし、そのような説明の目的は、本開示の範囲を制限することではなく、例示的な実施形態の説明を提供することであることを理解されたい。
【0019】
ユーザインタフェースオブジェクトを操作するための効率的かつ正確なアクセスを提供する電子デバイスが必要とされている。例えば、ドキュメント、画像のズーム、画像の回転、及び複数のオプションの中からのオプションの選択に関する使いやすさは、ユーザインタフェースオブジェクトを操作することの効率に寄与する。そのような技術は、ユーザインタフェースオブジェクトを操作するユーザの認識的負担を軽減し、それによって生産性を高め得る。更に、そのような技術は、他の場合に余分なユーザ入力において浪費される、プロセッサ及びバッテリ電力を低減し得る。
【0020】
【0021】
以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1のタッチは第2のタッチと称することができ、同様に、第2のタッチは第1のタッチと称し得る。第1のタッチと第2のタッチはともにタッチであるが、同じタッチではない。
【0022】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用される時に、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の任意のすべての可能な組み合わせを指し、かつこれを含むことをもまた理解されたい。更に、用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが理解されるであろう。
【0023】
用語「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]([述べられる条件又はイベント]の検出に応じて)」を意味すると解釈することができる。
【0024】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの、実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能をも含むモバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスを含む。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなど他のポータブル電子デバイスも使用できる。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることを理解されたい。
【0025】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスを説明する。しかし、この電子デバイスが、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを、任意選択的に、含むことを理解されたい。
【0026】
このデバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートしてもよい。
【0027】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能並びにデバイス上に表示される対応する情報は、1つのアプリケーションから次のアプリケーションへ、及び/又はそれぞれのアプリケーションの中で、任意選択的に、調整し、及び/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
【0028】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。
図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を介して、任意選択的に、通信する。
【0029】
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)を指す。接触の強度は、少なくとも4つの異なる数値を含み、より典型的には、数百以上の異なる数値(例えば、少なくとも256)を含む、数値の範囲を有する。接触の強度は、様々な方法及び様々なセンサ、又はセンサの組み合わせを使用して、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上のセンサは、タッチ感知面上の様々な点における力を測定するために、任意選択的に、用いられる。いくつかの実装において、複数の力センサの力測定値は、接触の推定の力を判定するために組み合わされる(例えば、加重平均される)。接触の強度をユーザ入力の属性として使用することは、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するため、及び/又はユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御を介して)受信するための面積が制限された、低減されたサイズのデバイスにおいて、ユーザによるアクセスが他の場合に不可能であり得る、追加のデバイス機能へのユーザのアクセスを可能にする。
【0030】
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触覚出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感としてユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に、解釈される。いくつかの場合、ユーザの移動により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない時でさえ、タッチ感知面の「粗さ」としてユーザによって、任意選択的に、解釈又は感じられる。このようなユーザによるタッチの解釈は、ユーザの個別の感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。したがって、触覚出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触覚出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0031】
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。
図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせの形態で実装される。
【0032】
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、有形かつ非一時的であってもよい。メモリ102は高速ランダムアクセスメモリを含んでよく、また、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性固体メモリデバイスなどの、不揮発性メモリを含んでもよい。メモリコントローラ122は、デバイス100の他の構成要素によるメモリ102へのアクセスを制御してもよい。
【0033】
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU 120及びメモリ102に結合することができる。1つ以上のプロセッサ120は、デバイス100のためのさまざまな機能を実行するため並びにデータ処理を行うために、メモリ102に記憶されたさまざまなソフトウェアプログラム及び/若しくは命令セットを走らせたり、又は実行したりする。いくつかの実施形態では、周辺機器インタフェース118、CPU 120、及びメモリコントローラ122はチップ104などの単一チップ上に実装されてもよい。一部の他の実施形態では、それらは、別個のチップ上に実装することができる。
【0034】
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 HSPA、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)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.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)、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
【0035】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。音声回路110は、周辺機器インタフェース118から音声データを受信し、音声データを電気信号に変換し、電気信号をスピーカ111に送出する。スピーカ111は、電気信号を人間の可聴音波に変換する。音声回路110は、マイクロフォン113により音波から変換された電気信号も受信する。音声回路110は、電気信号を音声データに変換し、処理するために音声データを周辺機器インタフェース118に送出する。オーディオデータは周辺機器インタフェース118によって、メモリ102及び/又はRF回路機構108から取得され、かつ/あるいはメモリ102及び/又はRF回路機構108に送信されてもよい。いくつかの実施形態では、オーディオ回路110は更にヘッドセットジャック(例えば、
図2の212)を備える。ヘッドセットジャックは、オーディオ回路機構110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロホン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0036】
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)を、任意選択的に、含む。
【0037】
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つ以上のソフトキーボードを実現するために用いられる。
【0038】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から/へ電気信号を受信し及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を含み得る。いくつかの実施形態では、これらの視覚出力の一部又は全てはユーザインタフェースオブジェクトに対応してもよい。
【0039】
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有している。タッチスクリーン112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチスクリーン112上で接触(及び任意の動作又は接触の中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチスクリーン112とユーザとの間の接触は、ユーザの指に対応する。
【0040】
タッチスクリーン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(登録商標)において見られるものなどの、投影型相互キャパシタンス感知技術が使用されている。
【0041】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の米国特許、第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024A1号に記載されているマルチタッチ感知タッチパッドに類似していてもよい。これらの文献はそれぞれその全体が本明細書において参照により組み込まれている。ただし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0042】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されているとおりであってもよい。(1)米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、2006年5月2日出願、(2)米国特許出願第10/840,862号、「Multipoint Touchscreen」、2004年5月6日出願、(3)米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、2004年7月30日出願、(4)米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、2005年1月31日出願、(5)米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、2005年1月18日出願、(6)米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、2005年9月16日出願、(7)米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、2005年9月16日出願、(8)米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、2005年9月16日出願、及び(9)米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」、2006年3月3日出願。これらの出願は全てそれらの全体が本明細書において参照により組み込まれている。
【0043】
タッチスクリーン112は、100dpiを超えるビデオ解像度を有してもよい。いくつかの実施形態において、タッチスクリーンは約160dpiの映像解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112に接触してよい。いくつかの実施形態では、ユーザインタフェースは、主として指ベースの接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスベースの入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、粗い指ベースの入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドへ変換する。
【0044】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は停止させるためのタッチパッド(図示せず)を含んでもよい。いくつかの実施形態において、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部であってもよい。
【0045】
デバイス100は、様々な構成要素に電力を供給するための電力システム162をもまた含む。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC:alternating current))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理、及び分配に関連付けられる任意の他の構成要素を含んでもよい。
【0046】
デバイス100は1つ以上の光センサ164も含んでもよい。
図1A及び
図1Bは、I/Oサブシステム106内の光センサコントローラ158に結合された、光センサを示す。光センサ164は、電荷結合素子(CCD:charge-coupled device)又は相補的金属酸化物半導体(CMOS:complementary metal-oxide semiconductor)フォトトランジスタを含んでもよい。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、光センサ164は静止画像又はビデオを取り込んでもよい。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に光センサが配置されている。いくつかの実施形態では、ユーザが他のビデオ会議参加者をタッチスクリーンディスプレイ上で見るのと同時に、ユーザの画像をビデオ会議のために得ることができるように、デバイスの前面に光センサが配置されている。いくつかの実施形態では、光センサ164の位置はユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更されることができ、それにより、単一の光センサ164をタッチスクリーンディスプレイと共にビデオ会議並びに静止画像及び/若しくはビデオ画像取得のどちらにも用い得るようにしている。
【0047】
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された、接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に、含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受け付ける。いくつかの実施形態において、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に併置されているか、又は近接している。いくつかの実施形態において、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
【0048】
デバイス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をオフにして無効化する。
【0049】
デバイス100はまた、1つ以上の触知出力生成器167も任意選択的に含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された、触知出力生成器を示す。触覚出力生成器167は、スピーカ又は他の音声構成要素などの1つ以上の電気音響デバイス及び/又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、又は他の触覚出力構成要素(例えば、デバイス上で電気信号を触覚出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを、任意選択的に、含む。接触強度センサ165は、触覚フィードバックモジュール133から触覚フィードバック生成命令を受信し、デバイス100のユーザが感知できる触覚出力をデバイス100上で生成する。いくつかの実施形態において、少なくとも1つの触覚出力生成器が、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と併置されているか、又は近接しており、タッチ感知面を垂直方向に(例えば、デバイス100の表面の内/外)又は横方向(例えば、デバイス100の表面と同じ平面の前後方向)に移動することによって触覚出力を、任意選択的に、生成する。いくつかの実施形態において、少なくとも1つの触覚出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
【0050】
デバイス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は、必要に応じて、加速度計(1つ又は複数)168に加えて、磁力計(図示せず)並びにデバイス100の位置及び向き(例えば、ポートレート又はランドスケープ)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を、任意選択的に、含む。
【0051】
いくつかの実施形態において、メモリ102に記憶されたソフトウェアコンポーネントは、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(命令セット)136を含む。更に、いくつかの実施形態では、
図1A、
図1B及び
図3に示すように、メモリ102は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、もしあれば、どのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占有するかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得された情報を含む、センサ状態、並びにデバイスの位置及び/又は姿勢に関する位置情報のうちの1つ以上を含む。
【0052】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するためのさまざまなソフトウェアコンポーネント及び/又はドライバを含み、さまざまなハードウェアとソフトウェアコンポーネントとの間の通信を容易にする。
【0053】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素を含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に他のデバイスに結合するように適合される。いくつかの実施形態では、外部ポートは、iPod(登録商標)(AppleInc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
【0054】
接触/移動モジュール130は、任意選択的に、(ディスプレイコントローラ156と共に)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度の判定、接触の移動があるかどうかの判定及びタッチ感知面を横切る移動の追跡(例えば、1つ以上のフィンガドラッギングイベントの検出)、並びに接触が終わったかどうかの判定(例えば、フィンガアップイベント又は接触の中断の検出)など、接触の検出に関連する様々な動作を行うための様々なソフトウェアコンポーネントを含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを、任意選択的に、含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態において、接触/移動モジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0055】
いくつかの実施形態では、接触/移動モジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。加えて、いくつかの実装において、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は「強度」パラメータのシステムレベルのクリックの後すぐに複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供されている。
【0056】
接触/移動モジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出された接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に、検出される。例えば、指のタップジェスチャを検出することは、指を下ろすイベントを検出し、続いて(例えば、アイコンの位置での)その指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフする)イベントを検出することを含む。他の実施例として、タッチ感知面でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
【0057】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【0058】
いくつかの実施形態において、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが、任意選択的に、割り当てられる。グラフィクモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィクプロパティデータと共に、表示されるグラフィクを指定する1つ以上のコードを受信し、ディスプレイコントローラ156に出力する画面画像データを生成する。
【0059】
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応答して、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【0060】
テキスト入力モジュール134は、グラフィックモジュール132の構成要素とすることができ、様々なアプリケーション(例えば、連絡先137、電子メール140、IM 141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)内でテキストを入力するための、ソフトキーボードを提供する。
【0061】
GPSモジュール135は、デバイスの位置を判断し、この情報を様々なアプリケーションで使用するために提供する(例えば、ロケーションベースダイアル発呼で使用するための電話138へ、ピクチャ/ビデオのメタデータとしてカメラ143へ、並びに気象ウィジェット、地方のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどのロケーションベースのサービスを提供するアプリケーションへ)。
【0062】
アプリケーション136は、以下のモジュール(若しくは、命令のセット)、又はそれらの部分集合若しくは上位集合を含んでもよい。
【0063】
●連絡先モジュール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。
【0064】
メモリ102内に記憶されてもよい他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0065】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶された)アドレス帳又は連絡先リストを管理するために使用されてもよく、この管理には、アドレス帳に名前(単数又は複数)を追加すること、名前(単数又は複数)をアドレス帳から削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並び替えること、電話138、ビデオ会議139、電子メール140、又はIM 141などによる通信を開始及び/又は促進するために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【0066】
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、それぞれの電話番号をダイアルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、使用されてもよい。上述のように、無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用してもよい。
【0067】
RF回路108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と関連して、ビデオ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための実行可能命令を含む。
【0068】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応答して、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール144と関連して、電子メールクライアントモジュール140により、カメラモジュール143で撮影した静止画像又は映像を作成し、電子メールを送信することが非常に簡単になる。
【0069】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィクモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージモジュール141は、インスタントメッセージに対応する文字列を入力したり、入力済みの文字を修正したり、それぞれのインスタントメッセージを送信したり(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)、インスタントメッセージを受信して、受信したインスタントメッセージを表示したりするための実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS:Enhanced Messaging Service)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含んでもよい。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE又はIMPSを使用して送信されるメッセージ)の双方を示す。
【0070】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽再生モジュール146と共に、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングを監視するために使用されるセンサを較正し、トレーニング用の音楽を選択及び再生し、トレーニングデータを表示、記憶、及び送信するための実行可能命令を含む。
【0071】
タッチスクリーン112、ディスプレイコントローラ156、光センサ(1つ以上)164、光センサコントローラ158、接触モジュール130、グラフィクモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ102から静止画像若しくは動画を削除したりするための実行可能命令を含む。
【0072】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィクモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)及び別の方法で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶したりするための実行可能命令を含む。
【0073】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
【0074】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、すべきことのリストなど)を作成し、表示し、変更し、記憶するための実行可能命令を含む。
【0075】
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェットモジュール149は、ユーザによってダウンロードされ、使用することが可能なミニアプリケーション(例えば、天候ウィジェット149-1、株価ウィジェット149-2、電卓ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成することが可能なミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。一部の実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScript(登録商標)ファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。ウィジェット)を含む。
【0076】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって使用されてもよい。
【0077】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
【0078】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と関連して、ビデオ及び音楽再生モジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを(タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態において、デバイス100は、任意選択的に、iPod(Apple Inc.の登録商標)などのMP3プレーヤの機能を含む。
【0079】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、メモモジュール153は、ユーザの指示に従って、メモ、ToDoリストなどを作成及び管理するための、実行可能命令を含む。
【0080】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と共に、地図モジュール154は、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ)を受信し、表示し、修正し、記憶するために使用されてもよい。
【0081】
タッチスクリーン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」に、オンラインビデオアプリケーションの追加の説明を見いだすことができる。これらの出願の内容はその全体が本明細書において参照により組み込まれている。
【0082】
上記で識別されたモジュール及びアプリケーションのそれぞれは、1つ又はそれ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手続き、又はモジュールとして実施される必要はなく、したがって、さまざまな実施形態において、これらのモジュールのさまざまなサブセットを組み合わせるか、又は別の方法で再配置してもよい。例えば、ビデオ再生モジュール145は音楽再生モジュール146と組み合わせて単一のモジュール(例えば、ビデオ及び音楽再生モジュール152、
図1A)にされてもよい。いくつかの実施形態では、メモリ102は、上記で識別されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
【0083】
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作のための主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、デバイス100上の物理的な入力制御デバイス(プッシュボタン、ダイアル、及び同様のものなど)の数を減らすことができる。
【0084】
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュ、ホームメニュ、又はルートメニュへデバイス100をナビゲートする。かかる実施形態において、「メニューボタン」はタッチパッドを使って実装される。いくつかの他の実施形態におい、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力制御デバイスである。
【0085】
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(
図1A内)又は370(
図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136-1(例えば、上述のアプリケーション137~151、155、及び380~390のいずれか)を含む。
【0086】
イベントソータ170は、イベント情報を受信し、イベント情報を配布するアプリケーション136-1及びアプリケーション136-1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136-1は、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ112で上に表示される現在のアプリケーションビュー(1つ以上)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーションが現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
【0087】
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開する際に使用される再開情報、アプリケーション136-1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの、追加情報を含む。
【0088】
イベントモニタ171は、周辺デバイスインタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺デバイスインタフェース118は、I/Oサブシステム106又は(オーディオ回路機構110を介して)近接センサ166、加速度計(1つ又は複数)168、及び/若しくはマイクロフォン113などのセンサから受信する情報を送信する。周辺デバイスインタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0089】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺デバイスインタフェース118に要求を送る。これに応じて、周辺デバイスインタフェース118は、イベント情報を送出する。他の実施形態において、周辺デバイスンタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える、及び/又は所定時間より長い入力を受信すること)がある場合にのみイベント情報を送出する。
【0090】
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
【0091】
ヒットビュー判断モジュール172は、タッチ感知ディスプレイ112が1つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判断するためのソフトウェア手続きを提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
【0092】
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応してもよい。例えば、タッチが検出される最低レベルのビューはヒットビューと呼ばれてもよく、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて判定されてもよい。
【0093】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント(即ち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって識別されると、ヒットビューは、典型的には、それがヒットビューとして識別された、同じタッチ又は入力ソースに関連する全てのサブイベントを受信する。
【0094】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(1つ以上)がサブイベントの特定のシーケンスを受信するべきかを判断する。いくつかの実施形態において、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態において、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な位置を含むすべてのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューはアクティブに関わっているビューのままであるであろう。
【0095】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に送信する。アクティブイベント識別部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配布する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部モジュール182により取得されるイベント情報をイベント待ち行列内に記憶する。
【0096】
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136-1が、イベントソータ170を含む。更に他の実施形態において、イベントソータ170は、スタンドアロンモジュール、又は接触/移動モジュール130などのメモリ102に記憶された他のモジュールの一部である。
【0097】
いくつかの実施形態では、アプリケーション136-1は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理するための命令をそれぞれが含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1のそれぞれのアプリケーションビュー191は、イベント認識部180のうちの1つ以上を含む。典型的に、それぞれのアプリケーョンビュー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内に含まれている。
【0098】
各イベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180は更に、メタデータ183及びイベント配信命令188(サブイベント配信命令を含んでいてもよい)の少なくともサブセットを含む。
【0099】
イベント受信器182は、イベントソータ170からイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの位置などの追加情報をもまた含む。サブイベントがタッチの動きに関わる場合には、イベント情報はサブイベントの速さ及び方向を更に含んでもよい。いくつかの実施形態において、イベントは、ある方向から別の方向へ(例えば、ポートレートの向きからランドスケープの向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
【0100】
イベント比較器184は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態において、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187-1)、イベント2(187-2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態において、イベント(187)内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例において、イベント1(187-1)の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施形態において、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッギングは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態において、イベントは、1つ以上の関連付けられたイベントハンドラ190についての情報も含む。
【0101】
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態において、イベント比較部184は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベントコンパレーター184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判断するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブ化する必要のあるイベントハンドラ190を判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベントハンドラを選択する。
【0102】
いくつかの実施形態では、各イベント(187)に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の送付を遅延させる、遅延作用も含む。
【0103】
それぞれのイベント認識部180は、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、もしあれば、ヒットビューについてアクティブのままである他のイベント認識部は、進行中のタッチベースのジェスチャのサブイベントの追跡及び処理を続行する。
【0104】
いくつかの実施形態において、それぞれのイベント認識部180は、構成可能なプロパティ、フラグ、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストを持つメタデータ183を含む。いくつかの実施形態において、メタデータ183は、イベント認識部が互いにどのように対話し得るかについて示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態において、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内のさまざまなレベルに配布されるかどうかを示すリストを含む。
【0105】
いくつかの実施形態において、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態において、それぞれのイベント認識部180は、イベントハンドラ190に、イベントに関連付けられたイベント情報を配布する。イベントハンドラ190をアクティブ化することと、それぞれのヒットビューにサブイベントを送信(及び送信を延期する)することとは、区別される。いくつかの実施形態において、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ190はフラグをキャッチし、既定の処理を実行する。
【0106】
いくつかの実施形態において、イベント配信命令188は、イベントハンドラをアクティブ化せずにサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ又はアクティブに関わっているビューにイベント情報を配布する。一連のサブイベント又はアクティブに関わっているビューに関連付けられているイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
【0107】
いくつかの実施形態において、データアップデータ176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新したり、ビデオプレーヤモジュール145で使用されるビデオファイルを記憶したりする。いくつかの実施形態において、オブジェクトアップデータ177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ176は、新たなユーザインタフェースオブジェクトを作成したり、ユーザインタフェースオブジェクトの位置を更新したりする。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィクモジュール132に送信する。
【0108】
いくつかの実施形態では、イベントハンドラ190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか、若しくはそれらに対するアクセスを有する。いくつかの実施形態において、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の1つのモジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0109】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口伝え、検出された眼球運動、バイオメトリック入力、及び/又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として、任意選択的に利用される。
【0110】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを、任意選択的に、表示する。後述する実施形態並びに本実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いてグラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択できる。いくつかの実施形態において、ユーザが1つ以上のグラフィックとの接触を断った際に、1つ以上のグラフィックの選択が生じる。いくつかの実施形態において、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ、及び/又は下方向へ)、及び/又はデバイス100と接触した指のローリング(右から左へ、左から右へ、上方向へ、及び/又は下方向へ)を、任意選択的に、含む。いくつかの実装又は状況において、グラフィックとの偶発的な接触は、グラフィックを選択しない例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを、任意選択的に、選択しない。
【0111】
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも含み得る。前述したように、メニューボタン204は、デバイス100上で実行することができるアプリケーションのセット内の任意のアプリケーション136へのナビゲーションに使用されてもよい。あるいは、いくつかの実施形態において、メニュボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
【0112】
ある実施形態において、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスへの電源をオン/オフしてデバイスをロックするためのプッシュボタン206、音量調整ボタン(1つ以上)208、受信者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押下して、既定の時間間隔にわたってボタンを押下された状態で保持することによって、デバイス上の電源をオン/オフし、ボタンを押下して、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ/又はデバイスをロック解除するか、若しくはロック解除処理を開始するために、任意選択的に使用される。代替的実施形態において、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化し、又はディアクティブ化するための口頭入力を受け付ける。また、デバイス100は、タッチスクリーン112への接触の強度を検出するための1つ以上の接触強度センサ165及び/又はデバイス100のユーザの触覚出力を生成するための1つ以上の触覚出力生成器167を、任意選択的に、含む。
【0113】
図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(1つ又は複数)310からは離れて位置する1つ以上の記憶デバイスを、任意選択的に、含む。いくつかの実施形態において、メモリ370は、ポータブル多機能デバイス100(
図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、携帯型多機能デバイス100のメモリ102内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、文書作成モジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を、任意選択的に記憶するが、ポータブル多機能デバイス100(
図1)のメモリ102は、これらのモジュールを、任意選択的に記憶しない。
【0114】
図3の上記で識別された要素のそれぞれは、前述のメモリデバイスの1つ以上に記憶してもよい。上記で識別されたモジュールうちのそれぞれは、上述した機能を実行するための命令セットに対応する。上記で識別されたモジュール若しくはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手続き、又はモジュールとして実施される必要はなく、したがって、さまざまな実施形態において、これらのモジュールのさまざまなサブセットを組み合わせてもよく、又は別の方法で再配置されてもよい。いくつかの実施形態では、メモリ370は、上記で識別されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
【0115】
ポータブル多機能デバイス100上に実施することができるユーザインタフェース(「UI」)の実施形態に注目を向ける。
【0116】
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。同様のユーザインタフェースが、デバイス300上に実装されてもよい。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
【0117】
●セルラー信号及び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。
【0118】
図4Aに示されているアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態において、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0119】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、
図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器359を含む。
【0120】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、
図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面(例えば、
図4Bでの451)は、ディスプレイ(例えば、450)上の主軸(例えば、
図4Bでの453)に対応する主軸(例えば、
図4Bでの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、
図4Bでは、460は468に対応し、462は470に対応する)での、タッチ感知面451との接触(例えば、
図4Bでの460及び462)を検出する。この方式で、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、
図4Bでの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、
図4Bでの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに、任意選択的に使用されることを理解されたい。
【0121】
更に加えて、以下の説明は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置上に配置される間、任意選択的に、マウスクリックと置換される。同様に、複数のユーザ入力が同時に検出される時、複数のコンピュータマウスが同時に、任意選択的に用いられ、又はマウスと指接触が同時に用いられることが理解されよう。
【0122】
図5Aは、例示的な個人用電子デバイス500を示す。デバイス500は、本体502を備える。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504を有する。代替として、又はタッチスクリーン504に加えて、デバイス500はディスプレイ及びタッチ感知面を有する。いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供してもよい。デバイス500のユーザインタフェースは、タッチの強度に基づきタッチに応答してもよく、これは、異なる強度のタッチはデバイス500上で異なるユーザインタフェース動作を呼び出してもよいことを意味する。
【0123】
いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)が上述の強度センサを有するかどうかにかかわらず、デバイス500は任意選択的に、デバイス500、特にタッチスクリーン504上のスタイラスのタッチの強度に関するデータを検出及び提供する感圧性先端部を有するスタイラスと通信してもよい。
【0124】
タッチ強度を検出及び処理するための技術は、例えば、関連出願である、2013年5月8日出願の「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題された国際特許出願第PCT/US2013/040061号、及び2013年11月11日出願の「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題された国際特許出願第PCT/US2013/069483号に記載されていてもよい。
【0125】
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれている場合、物理的であってもよい。物理的入力機構の例は、プッシュボタン及び回転可能機構を含む。いくつかの実施形態では、デバイス500は、1つ以上の取付機構を有する。そのような取付機構は、含まれている場合、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどへのデバイス500の取付を可能にしてもよい。これらの取付機構は、デバイス500がユーザによって着用されることを可能にしてもよい。
【0126】
図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は、いくつかの実施例では、ボタンであってもよい。
【0127】
入力機構508は、いくつかの実施例では、マイクロフォンであってもよい。コンピューティングデバイス500は、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどの様々なセンサを備えてもよく、これらの全てはI/O部514に動作可能に接続されてもよい。
【0128】
コンピューティングデバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体であってもよく、これらの命令は、1つ以上のコンピュータプロセッサ516によって実行されたときに、例えば、コンピュータプロセッサに、
図7、
図9A、
図9B、
図11、
図13K、
図22、
図31、
図39、及び
図46の処理を含む、上述の技術を実行させてもよい。コンピュータ実行可能命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行し得る他のシステムなどの、命令実行システム、装置、又はデバイスによって、又はそれらと共に使用するために、任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送されてもよい。本明細書の目的においては、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、若しくはデバイスによって、又はこれらと関連して使用するためのコンピュータ実行可能命令を有形的に収容又は記憶し得る、任意の媒体であってもよい。非一時的コンピュータ可読記憶媒体は、磁気的、光学的、及び/又は半導体記憶装置を含み得るが、これらに限定されない。そのような記憶装置の例は、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光ディスク、及びフラッシュメモリ、ソリッドステートドライブなどの永続的ソリッドステートメモリを含む。コンピューティングデバイス500は、
図5Bの構成要素及び構成に限定されず、他の又は追加の構成要素を複数の構成で含んでもよい。
【0129】
図5Cは、例示的な個人用電子デバイス550を示す。例示された実施例では、デバイス550は、概して本体552、及びデバイス550をユーザの身体に固着するためのストラップ554を備える、腕時計である。即ち、デバイス550は着用可能である。本体552は、ストラップ554と結合するように設計されてもよい。デバイス550は、タッチ感知ディスプレイスクリーン(以下、タッチスクリーン)556及びクラウン558を有してもよい。デバイス550は、ボタン560、562、及び564も有してもよい。
【0130】
従来、腕時計との関連では、用語「クラウン」は、腕時計を巻くための心棒の上にあるキャップを指す。個人用電子デバイスとの関連では、クラウンは、タッチ感知ディスプレイ上の仮想的なクラウンではなく、電子デバイスの物理的な構成要素であってもよい。クラウン558は機械的であってもよく、これは、クラウンの物理的な移動を電気信号に変換するためのセンサに接続されてもよいことを意味する。クラウン558は、2つの回転方向(例えば、前方及び後方)に回転してもよい。クラウン558はまた、デバイス550の本体に向かって押し込まれてもよく、かつ/又はデバイス550から引き出されてもよい。クラウン558は、例えば、ユーザがクラウンにタッチしているかどうかを検出し得る静電容量式タッチ技術を使用する、タッチ感知式であってもよい。また、クラウン558は、更に1つ以上の方向に揺れ動くか、又は縁部に沿った軌道に沿うか、若しくは少なくとも部分的に本体552の周辺部の周囲を並進移動してもよい。いくつかの実施例では、2つ以上のクラウン558が使用されてもよい。クラウン558の視覚的外観は、従来の腕時計のクラウンに類似してもよいが、そのようである必要はない。ボタン560、562、及び564は、含まれている場合、それぞれが物理ボタン又はタッチ感知式ボタンであってもよい。即ち、ボタンは、例えば、物理ボタン又は静電容量式ボタンであってもよい。更に、ベゼルを備え得る本体552は、ボタンとして動作する、ベゼル上の所定の領域を有してもよい。
【0131】
ディスプレイ556は、相互容量式タッチ感知、自己容量式タッチ感知、抵抗式タッチ感知、投影走査式タッチ感知などの任意の所望のタッチ感知技術を使用して実装されたタッチセンサパネルの背面又は前面に部分的又は全体的に配置された、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイなどのディスプレイデバイスを含んでもよい。ディスプレイ556は、ユーザが、1つ以上の指又は他の物体を使用して、タッチセンサパネルの上方をタッチするか、又はタッチセンサパネルの付近をホバリングすることによって、様々な機能を実行することを可能にしてもよい。
【0132】
いくつかの実施例では、デバイス550は、ディスプレイに加えられた力又は圧力を検出するための1つ以上の圧力センサ(図示せず)を更に備えてもよい。ディスプレイ556に加えられた力又は圧力は、選択を行うこと、メニューを開くか又は閉じること、追加のオプション/アクションを表示させることなどの任意の所望の動作を実行するためのデバイス550への入力として使用されてもよい。いくつかの実施例では、ディスプレイ556に加えられた力又は圧力の量に基づき、異なる動作が実行されてもよい。力がディスプレイ556に加えられている位置を判定するために、1つ以上の圧力センサが更に使用されてもよい。
【0133】
図5Dは、デバイス550の構成要素のうちのいくつかのブロック図を示す。図に示すように、クラウン558は、クラウン558の物理状態又は状態の変化(例えば、クラウンの位置)を監視し、それを電気信号に変換し(例えば、それをクラウン558の位置又は位置の変化のアナログ又はデジタル信号表現に変換し)、信号をプロセッサ570に提供するように構成され得る、エンコーダ572に結合されてもよい。例えば、いくつかの実施例では、エンコーダ572は、クラウン558の絶対回転位置(例えば、0度から360度の間の角度)を検知し、この位置のアナログ又はデジタル表現をプロセッサ570に出力するように構成されてもよい。代替として、他の実施例では、エンコーダ572は、一定のサンプリング期間にわたってクラウン558の回転位置の変化(例えば、回転角度の変化)を検知し、検知した変化のアナログ又はデジタル表現をプロセッサ570に出力するように構成されてもよい。これらの実施例では、クラウンの位置情報は、クラウンの回転の方向を更に示してもよい(例えば、正の値は一方の方向に対応し、負の値は他方の方向に対応してもよい)。更に他の実施例では、エンコーダ572は、クラウン558の回転を任意の所望の様式(例えば、速度、加速度など)で検出し、クラウンの回転情報をプロセッサ570に提供するように構成されてもよい。代替の実施例では、情報をプロセッサ570に提供する代わりに、この情報がデバイス550の他の構成要素に提供されてもよい。本明細書で説明される実施例は、スクロール、拡大縮小、又はオブジェクトの位置を制御するためにクラウン558の回転位置を使用することに言及しているが、クラウン558の任意の他の物理状態が使用され得ることを理解されたい。
【0134】
いくつかの実施例では、クラウンの物理状態は、ディスプレイ556の物理属性を制御してもよい。例えば、クラウン558が特定の位置にある(例えば、前方に回転している)とき、ディスプレイ556は、制限されたz軸横断能力を有してもよい。即ち、クラウンの物理状態は、ディスプレイ556の物理形式の機能を表してもよい。いくつかの実施例では、クラウン558の物理状態の時間属性が、デバイス550の入力として使用されてもよい。例えば、物理状態の速い変化の解釈は、物理状態の遅い変化の解釈とは異なってもよい。
【0135】
プロセッサ570は、タッチ感知ディスプレイ556からのタッチ信号と共に、ボタン560、562、及び564からの入力信号を受信するように更に結合されてもよい。ボタンは、例えば、物理ボタン又は静電容量式ボタンであってもよい。更に、ベゼルを備え得る本体552は、ボタンとして動作する、ベゼル上の所定の領域を有してもよい。プロセッサ570は、これらの入力信号を解釈し、画像をタッチ感知ディスプレイ556に生成させるための適切な表示信号を出力するように構成されてもよい。単一のプロセッサ570が示されているが、上述の一般的な機能を実行するために、任意の数のプロセッサ又は他の計算デバイスが使用されてもよいことを理解されたい。
【0136】
ここで使用されるとき、用語「アフォーダンス」は、デバイス100、300、及び/又は500(
図1、3、及び5)のディスプレイスクリーン上に表示され得るユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)がそれぞれ、アフォーダンスを構成してもよい。
【0137】
本明細書で使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他のロケーションマーカを含む実装において、カーソルは、タッチ感知面(例えば、
図3のタッチパッド355、又は
図4Bのタッチ感知面451)上で入力(例えば、押下げ入力)が検出された時に、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の上にある時、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーン上でのユーザインタフェースとの直接的な対話を有効にするタッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112、又は
図4Aのタッチスクリーン112)を含むいくつかの実装において、タッチスクリーン上の検出された接触は、入力(例えば、接触による押下げ入力)が特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、又は他のユーザインタフェース要素)の位置にあるタッチスクリーン上で検出された時に、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装において、(例えば、タブキー又は矢印キーを使ったフォーカスの1つのボタンから別のボタンへの移動により)タッチスクリーン上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装において、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る特定のフォームに関係なく、フォーカスセレクタは、全体的に、ユーザのユーザインタフェースとの意図した(例えば、ユーザが対話したいと思っているユーザインタフェースの要素をデバイスに指示することによる)対話を伝達するように、ユーザによって制御されたユーザインタフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、押下げ入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出された時にそれぞれのボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインタフェース要素とは反対に)ユーザが、それぞれのボタンをアクティブ化しようとしていることを指示する。
【0138】
明細書及び特許請求の範囲で使用されるように、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び/又は接触の強度の減少を検出する前若しくは後)に対して所定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean)、接触の強度の平均値(average)、接触の強度の上位10個のパーセンタイル値、接触の強度の最大値の半分の値、接触の強度の最大値の90パーセントの値などのうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の期間が使用される(例えば、特性強度が経時的な接触の強度の平均であるとき)。いくつかの実施形態では、動作がユーザによって実行されたかどうかを判定するために、特性強度が1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含んでもよい。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第3の閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するかどうか(例えば、それぞれのオプションを実行するのか、又はそれぞれの動作の実行を省略するのか)を判定するために使用される。
【0139】
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部分が特定される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受け取ってもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分(例えば、終了位置におけるスワイプ接触の部分のみ)のみに基づいてもよい。いくつかの実施形態では、接触の特性強度を判定することの前に、平滑化アルゴリズムがスワイプ接触の強度に適用されてもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
【0140】
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けされてもよい。いくつかの実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、特に明記しない限り、これらの強度閾値は、異なるユーザインタフェース図のセット間でも一貫している。
【0141】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロを上回る。
【0142】
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応答して、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力の検出に応答して実行され、それらのそれぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)の検出に応答して、実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後続の押圧入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応答して、実行される。
【0143】
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を、定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、そのヒステリシス強度閾値を下回る、後続のそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応答して、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、それぞれの動作は、その押圧入力(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)の検出に応答して、実行される。
【0144】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応答して、又はその押圧入力を含むジェスチャに応答して実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応答して、任意選択的にトリガーされる。更に加えて、押圧入力強度閾値を下回る、接触の強度の減少の検出に応答して、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応答して、任意選択的に実行される。
【0145】
ここで、ユーザインタフェースオブジェクトの操作におけるユーザエクスペリエンスを改善するために、デバイス100、300、500、及び/又は550などの多機能デバイス上で実装され得る、デバイス、ユーザインタフェース、及び関連付けられた処理の実施形態に注意を向ける。
【0146】
図6Aから
図6Fは、いくつかの実施形態に係る、電子デバイスを使用してユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を有する。
【0147】
図6Aは、ユーザインタフェースオブジェクトの一実施例であるドキュメント602を示す。ドキュメント602は、タイトル604A、本文テキストの段落606A、及び画像608Aを含む。電子デバイスは、ドキュメント602の一部分のみが特定の時点でディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント602内をスクロールすることを可能にするように構成される。ドキュメントのスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
【0148】
記載されているユーザインタフェースの図は、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、610)を含む。これらの列は、典型的には、表示されたユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。この実施例では、ドキュメントのスクロール位置は、0.0(例えば、610A)から1.0(例えば、610B)に及ぶスクロール位置(例えば、特性)を有する列610に示すように、0.0から1.0に及んでもよい。
【0149】
この実施例では、列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のそれぞれに対して、互いと比較した場合、及びいずれのサブセット内でもないときのスクロール動作と比較した場合に異なる。
【0150】
図6Bは、電子デバイス(例えば、デバイス500)の視認可能表示領域620、回転可能入力機構(例えば、506)、及びスクロール値インジケータ622を示す。視認可能表示領域620は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域620は、ドキュメント602が回転可能入力機構506を使用してスクロールされたときにディスプレイ上に表示されるドキュメント602の部分を示す。スクロール値インジケータ622は、
図6Cから
図6Eに関連して説明されるように、ドキュメント602のスクロール位置の値を示すことによって、図の解釈を支援する。スクロール値インジケータ622は、典型的には表示されるユーザインタフェースの一部ではない。
【0151】
図6Cは、表示領域620によって示されるように、ドキュメント602の視認可能部分を示す。
図6Cでは、ドキュメントのスクロール位置の値は、スクロール値インジケータ622によって示される(例えば、スクロール位置値0.63)。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値(例えば、
図6Cのスクロール位置値0.63)に従ったオブジェクト(例えば、ドキュメント602)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列610内)である。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の度合いであってもよい。
【0152】
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント602のスクロール位置を変更するために、回転可能入力機構506を回転させる。
【0153】
デバイスは、オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が、特性の値の範囲(例えば、610)の所定のサブセット内(例えば、サブセット606Bの範囲内)であるかどうかを判定する。
【0154】
オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が特性の値の範囲の所定のサブセット内にないという判定に従って、デバイスは、
図6Cから
図6Dに示すように、オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新する。
【0155】
オブジェクト(例えば、602)の特性(例えば、スクロール位置)の値(例えば、スクロール位置値)が特性の値の範囲の所定のサブセット(例えば、606B)内にあるという判定に従って、デバイスは、
図6Eに示すように、オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新する。第1の関数及び第2の関数は、異なる関数である。
【0156】
このように、ユーザが回転可能入力機構を回転させると、ドキュメント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などのドキュメントの特定の態様と一致するようにサブセットを構成することによって、ドキュメントのそれらの態様内のより精密なスクロールを更に可能にしてもよい。
【0157】
図6Fは、オブジェクト(例えば、画像612)のズームを操作することを示す。画像(例えば、612)は、オブジェクトの特性(例えば、ズームサイズ)の値(例えば、ズームサイズ値)に従って表示され、この値は特性の値の範囲内にある(例えば、列614に沿っている)。この実施例では、特性の変化を速めるために、サブセット612A、612B、612Cが使用されてもよい。このため、ユーザが回転可能入力機構を回転させると、画像は異なるズームサイズ値に従ってズームされる。ズームサイズ値がサブセット612A、612B、612C内にある間は、列612に沿った進行は急速に発生する(例えば、回転可能入力機構のわずかな回転が、画像のズームを大幅に変化させる)。ズームサイズ値がサブセット612A、612B、612C内にない間は、列612に沿った進行は緩やかに発生する(例えば、回転可能入力機構の大幅な回転でさえも、画像のズームをわずかに変化させるのみである)。その結果、デバイスは、特定のズームサイズ値の間のズームに対して、より高い解像度(したがって、より高い精細度)を提供する。
【0158】
画像が最小ズームサイズ(例えば、0.0)に達したとき、画像は0.0を下回るズームレベルまで縮小されて、その後、ズームレベル0.0に戻ってもよい。このラバーバンディング効果は、最小ズーム制限に達したことのユーザへの指示を提供する。同様に、画像が最大ズームサイズ(例えば、1.0)に達したとき、画像は1.0を上回るズームレベルまで拡大され、その後ズームレベル1.0に戻ってもよい。このラバーバンディング効果は、最大ズーム制限に達したことのユーザへの指示を提供する。
【0159】
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新された値に従ってオブジェクト(例えば、602、612)の表示を更新することは、オブジェクトの特性の更新された値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
【0160】
いくつかの実施形態によれば、特性の値の範囲の所定のサブセット(例えば、606B)は中間値(例えば、606E)を含み、中間値は、特性の値の範囲の両端も含めた所定のサブセット内にある(例えば、開始値及び終了値を含む、その両者間の値である)。第1の関数は、値の範囲のサブセットの中間値(例えば、606E)に基づく。このため、例えば、特性の動作(例えば、スクロール動作又はズーム動作)は、中間値までの距離に基づき変化する。いくつかの実施形態によれば、特性の値の範囲の所定のサブセット(例えば、606B)の中間値は、中点(mid-range)値である。
【0161】
いくつかの実施形態によれば、第1の関数は、オブジェクトの特性の値と中間値との間の差に基づく。このため、一実施例として、ドキュメントがスクロールされ得る精細度は、ドキュメントが所定のサブセットの中心のより近くにスクロールされるに従って増加し、ドキュメントがスクロールされ得る精細度は、ドキュメントが所定のサブセットの中心から遠くにスクロールされるに従って減少する。例えば、ドキュメントのスクロール位置が中間値からより遠くにある間、回転可能入力機構の漸増的な回転は、ドキュメントのスクロール位置が中間値のより近くにある間の、回転可能入力機構の同じ漸増的な回転よりも多くのスクロールを発生させる。
【0162】
いくつかの実施形態によれば、更新された値は、ユーザ入力要求の属性に基づく。いくつかの実施形態によれば、ユーザ入力要求の属性は、回転可能入力機構の角速度及び回転可能入力機構の角加速度のうちの1つ以上である。
【0163】
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の第2の所定のサブセット(例えば、608B)内にあるかどうかを判定することを含み、所定のサブセット(例えば、606B)及び第2の所定のサブセット(例えば、608B)は異なる。オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の第2の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第3の関数に従って更に更新する。第1の関数、第2の関数、及び第3の関数は異なる関数である。したがって、一実施例では、異なる所定のサブセットは異なる動作を発生させてもよい。別の実施例では、2つ以上の所定のサブセットは部分的に重複してもよく、それらの効果は、重複した範囲に対して組み合わされる。
【0164】
いくつかの実施形態によれば、特性の値の範囲は、単一の次元に沿う(例えば、範囲は多次元のX-Y範囲ではない)。いくつかの実施形態によれば、特性の値の範囲は線形の列である。
【0165】
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の所定のサブセット(例えば、606B、612B)内にあるという判定に従って、デバイスは電子デバイスにおいて、機械的(例えば、触知フィードバック)又は可聴的な(例えば、オーディオファイルの再生)触覚アラートなどの触覚アラートを実行する。
【0166】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下又は左/右にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントの倍率がどれぐらい大きい/小さいか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
【0167】
図7は、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法700は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法700のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法700を実行し得る例示的なデバイスは、デバイス100、300、500、及び/又は550(
図1A、
図3、
図5A、
図5C)を含む。
【0168】
方法700は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法は、オブジェクトをスクロール、ズーム、又は回転することなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識負荷を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
【0169】
ブロック702では、オブジェクト(例えば、ドキュメント602)が、オブジェクト(例えば、ドキュメント602)の特性(例えば、スクロール位置)の値(例えば、
図6Cのスクロール位置値0.63)に従って表示され、この値は特性(例えば、スクロール位置)の値の範囲(例えば、列610の0.0から1.0までの範囲)内にある。
【0170】
ブロック704では、ユーザ入力要求が受信される。ユーザ入力要求は、回転可能入力機構(例えば、506)の回転を表す。
【0171】
ブロック706では、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内(例えば、604B、606B、又は608B内)であるかどうかが判定される。
【0172】
ブロック708では、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内にある(例えば、
図6Dから
図6Eで、インジケータ622がサブセット608D内にある)という判定に従って、オブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新される。
【0173】
ブロック710では、オブジェクト(例えば、ドキュメント602)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の所定のサブセット内にない(例えば、
図6Cのようにインジケータ622がどのサブセット内にもない)という判定に従って、オブジェクトの特性の値(例えば、スクロール位置値又はズームサイズ値)が、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新され、第1の関数及び第2の関数は異なる関数である。
【0174】
ブロック712では、オブジェクトの特性の更新された値に従って、オブジェクト(例えば、ドキュメント602)の表示が(例えば、スクロールをディスプレイに反映するように)更新される。
【0175】
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新された値に従ってオブジェクト(例えば、602、612)の表示を更新することは、オブジェクトの特性の更新された値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
【0176】
いくつかの実施形態によれば、特性の値(例えば、606B)の所定のサブセットは中間値(例えば、606E)を含み、中間値は、特性の値の範囲の両端も含めた所定のサブセット内にある(例えば、開始値及び終了値を含む、その両者間の値である)。第1の関数は、値の範囲のサブセットの中間値(例えば、606E)に基づく。いくつかの実施形態によれば、特性の値の範囲の所定のサブセット(例えば、606B)の中間値は、中点値である。
【0177】
いくつかの実施形態によれば、第1の関数は、オブジェクトの特性の値と中間値との間の差に基づく。いくつかの実施形態によれば、更新された値は、ユーザ入力要求の属性に基づく。いくつかの実施形態によれば、ユーザ入力要求の属性は、回転可能入力機構の角速度及び回転可能入力機構の角加速度のうちの1つ以上である。
【0178】
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の第2の所定のサブセット(例えば、608B)内にあるかどうかを判定することを含み、所定のサブセット(例えば、606B)及び第2の所定のサブセット(例えば、608B)は異なる。オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)が特性の値の範囲の第2の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第3の関数に従って更に更新する。第1の関数、第2の関数、及び第3の関数は異なる関数である。
【0179】
いくつかの実施形態によれば、特性の値の範囲は、単一の次元に沿う(例えば、範囲は多次元のX-Y範囲ではない)。いくつかの実施形態によれば、特性の値の範囲は線形の列である。
【0180】
いくつかの実施形態によれば、オブジェクト(例えば、602、612)の特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)が特性の値の範囲の所定のサブセット(例えば、606B、612B)内にあるという判定に従って、デバイスは電子デバイスにおいて、機械的(例えば、触知フィードバック)又は可聴的な(例えば、オーディオファイルの再生)触覚アラートなどの触覚アラートを実行する。
【0181】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下又は左/右にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントの倍率がどれぐらい大きい/小さいか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。いくつかの実施形態によれば、オブジェクトの特性はスクロール位置であり、特性の値の範囲の所定のサブセットはスクロール位置の範囲である。いくつかの実施形態によれば、オブジェクトの特性はズームサイズであり、特性の値の範囲の所定のサブセットはズームサイズの範囲である。
【0182】
いくつかの実施形態によれば、サブセットを指定するためにオブジェクトの分析は必要とされない。例えば、サブセットは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。そのような既定のサブセットは、オブジェクトの作成者によって手動で指定されてもよい。
【0183】
図6から
図7(例えば、604B、606B、608B、612A、612B、612C)に関連して説明されるサブセットは、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の度合い)が、その部分内の移動又はその部分からの移動がより容易又は困難になるようにされてもよく、これは、ユーザのフォーカスを合わせる処理を容易にする。更に、特定のオブジェクトのサブセットは、異なるサイズの範囲などの異なる特性を有してもよい。サブセットは、ドキュメント内の「流れ」を方向付けてキュレーション(curation)を可能にするために使用されてもよい。
【0184】
方法700に関して上述された処理(例えば、
図7)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、
図9A、
図9B、
図11、
図13K、
図22、
図31、
図39、及び
図46の処理を参照して上述された、様々な方法の特性のうちの1つ以上を含んでもよい。簡潔性のために、これらの詳細は、以下では繰り返されない。
【0185】
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに組み込まれてもよいことに留意されたい。
【0186】
図8Aから
図8Fは、いくつかの実施形態に係る、電子デバイスを使用してユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を有する。
【0187】
図8Aは、ユーザインタフェースオブジェクトの一実施例であるドキュメント802を示す。ドキュメント802は、タイトル804A、本文テキストの段落806A、及び画像808Aを含む。いくつかの実施形態では、電子デバイスは、特定の時点でドキュメント802の一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント802内をスクロールすることを可能にするように構成される。ドキュメント802のスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
【0188】
記載されているユーザインタフェースの図は、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、810)を含む。これらの列は、典型的には、表示されたユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。この実施例では、ドキュメントのスクロール位置は、0.0(例えば、810A)から1.0(例えば、810B)に及ぶスクロール位置(例えば、特性)を有する列810に示されるように、0.0から1.0に及んでもよい。
【0189】
この実施例では、列810は、オブジェクトの特性がユーザによってどのように操作されるかを変更する、様々なアンカーを列810の範囲内に含む。
図8Aには、アンカー804B、アンカー806B、及びアンカー808Bが示されている。列と同様に、図に示すアンカーは典型的には表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。例えば、アンカー806Bのゾーンは、列810上の806E(例えば、スクロール位置値0.25)から806D(例えば、スクロール位置値0.45)までである。ドキュメント802のスクロール位置の値がアンカー806Bの範囲内へと遷移すると、ドキュメント802は、以下で詳細に説明されるように、アンカー806Dの中間値806Cまでスクロールされる。
【0190】
図8Bは、視認可能表示領域820、回転可能入力機構(例えば、506)、及びスクロール値インジケータ822を示す。視認可能表示領域820は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域820は、ドキュメント802が回転可能入力機構506を使用してスクロールされたときにディスプレイ上に表示されるドキュメント802の部分を示す。スクロール値インジケータ822は、
図8Cから
図8Eに関連して説明されるように、ドキュメント802のスクロール位置の値を示すことによって、図の解釈を支援する。スクロール値インジケータ822は、典型的には表示されるユーザインタフェースの一部ではない。
【0191】
図8Cは、表示領域820によって示されるように、ドキュメント802の視認可能部分を示す。
図8Cでは、ドキュメントのスクロール位置の値は、スクロール値インジケータ822によって示される(例えば、0.50)。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値(例えば、
図8Cの0.50)に従ったオブジェクト(例えば、ドキュメント802)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列810内)にある。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の度合いであってもよい。
【0192】
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント802のスクロール位置を変更するために、回転可能入力機構506を回転させる。
【0193】
ユーザ入力要求を受信したことに応じて、デバイスは、ユーザ入力要求がオブジェクトの特性(例えば、スクロールレベル又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカーのゾーンの範囲(例えば、806B)内に遷移させるかどうかを判定する。アンカー(例えば、806B)は、特性の値の範囲内で、開始値(例えば、806E)、中間値(例えば、806C)、及び終了値(例えば、806D)を有する。アンカーのゾーンは、アンカー806Bの開始値(例えば、806E)と終了値(例えば、806D)との間である。アンカーのゾーンは、以下で詳細に説明されるように、アンカーがオブジェクトに、中間値(例えば、806C)までオブジェクトをスクロールさせるなどの影響を与える範囲である。
【0194】
ユーザ入力要求がオブジェクト(例えば、802)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカーのゾーンの範囲内へと遷移させるという判定に従って、デバイスは、オブジェクトの特性の値を、アンカーの中間値(例えば、808C)に基づき更新する。したがって、ドキュメントがスクロールされ、ドキュメントのスクロール位置値が特定のアンカーの範囲内に入ると、デバイスはドキュメントのスクロール位置値をその特定のアンカーの中間値に設定する。デバイスは、オブジェクトの特性の更新された値に従って、オブジェクト(例えば、802)の表示も更新する。したがって、デバイスは、そのアンカーの中間値までスクロールされたドキュメントを表示する。
【0195】
この概念は、
図8Cから
図8Eに示されている。
図8Cでは、ドキュメント802はスクロールされていない。デバイスが回転可能入力機構において入力を受信すると、デバイスは入力に従ってドキュメントのスクロールを開始する。この実施例では、入力は、ドキュメント802の上部に向かってスクロールすることを示す。
図8Dに示すように、特性の値がアンカー806Bの範囲内に遷移すると、デバイスは、
図8Eに示すように、ドキュメントをアンカー806Dの中間点806Cまでスクロールする。
【0196】
アンカーを使用した結果、デバイスは、ユーザに対するドキュメントのコンテンツの位置合わせを単純化する。特定のコンテンツがアンカーに達すると、ドキュメントは自動的にそのアンカーの中間点までスクロールする(「スナップ」と呼ばれることもある)。例えば、これは、ドキュメント内の様々なコンテンツを、ディスプレイ上の特定の箇所に合わせて効率的に位置合わせすることを可能にし、ユーザはコンテンツのそのような特定の部分まで容易にスクロールできるようになる。
【0197】
図8Fは、オブジェクト(例えば、画像812)のズームを操作することを示す。画像(例えば、812)は、オブジェクトの特性(例えば、ズームサイズ)の値(例えば、ズームサイズ値)に従って表示され、この値は特性の値の範囲内にある(例えば、列814に沿っている)。この実施例では、アンカー812A、812B、及び812Cを使用して、ズーム特性の変化をガイドしてもよい。このため、ユーザが回転可能入力機構を回転させるにつれて、画像は異なるズームサイズ値に従ってズームされる。ズームサイズ値がアンカー812A、812B、及び812Cのうちの1つへと遷移すると、デバイスは自動的に、画像のズームをアンカーの対応する中間値に変更する。その結果、デバイスは、オブジェクトを特定のズームサイズ値へと操作するアクセスを容易にする。画像が最小ズームサイズ(例えば、0.0)に達したとき、画像は0.0を下回るズームレベルまで縮小されて、その後、ズームレベル0.0に戻ってもよい。このラバーバンディング効果は、最小ズーム制限に達したことのユーザへの指示を提供する。同様に、画像が最大ズームサイズ(例えば、1.0)に達したとき、画像は1.0を上回るズームレベルまで拡大されて、その後、ズームレベル1.0に戻ってもよい。このラバーバンディング効果は、最大ズーム制限に達したことのユーザへの指示を提供する。
【0198】
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新された値に従ってオブジェクト(例えば、802、812)の表示を更新することは、オブジェクトの特性の更新された値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。即ち、特性の値は、アンカーの範囲内に遷移したときに中間値の値に更新されるが、ユーザインタフェースは、スクロール(又はズーム)位置の更新を、中間値に対応するスクロール(又はズーム)位置への更新のアニメーションを経て、一定時間にわたってグラフィカルに表示してもよい。これを行うことによって、更新の唐突感が低減され得る。
【0199】
いくつかの実施形態(例えば、アンカー806)によれば、中間値(例えば、806C)は、開始値(例えば、806E)又は終了値(例えば、806D)と等しくない。いくつかの実施形態(例えば、アンカー804)によれば、中間値(例えば、804C)は開始値(例えば、804C)又は終了値と等しい。
【0200】
いくつかの実施形態によれば、アンカーの中間値に基づきオブジェクトの特性の値を更新することは、アンカーの中間値と等しくなるようにオブジェクトの特性の値を更新する(例えば、デバイスがスクロール又はズーム値を中間点に設定する)ことを含む。
【0201】
いくつかの実施形態によれば、開始値及び終了値は異なる。いくつかの実施形態によれば、中間値は、開始値及び終了値の平均ではない。
【0202】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内へと遷移させるという判定に従って、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。したがって、オブジェクトの特性の値が開始値及び終了値の範囲内に入ると、特定の時間期間中の更なるユーザ入力は、オブジェクトの視覚的な表示に影響を与えない。これは、例えば、オブジェクトが移動されたか又はアンカーの中間値へと移動していることを視覚的に認識するための時間をユーザに与えるのに役立つ。
【0203】
いくつかの実施形態によれば、この期間は、オブジェクトの特性の値がアンカーのゾーンの範囲内へと遷移したときのオブジェクトの特性の値の変化率に基づく。例えば、ドキュメントが、アンカーの範囲内へと遷移するときに高いスクロール率でスクロールされた場合、この期間はドキュメントが低いスクロール率でスクロールされた場合よりも短くなり得る。
【0204】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)を、アンカーのゾーンの範囲内(例えば、オブジェクトのスクロール位置/ズームサイズが2つのアンカーゾーンの間にある)、又は第2のアンカー(例えば、アンカー808B)のゾーンの範囲内のいずれにも遷移させないという判定であって、第2のアンカーは第2の開始値、第2の中間値、及び第2の終了値を有し、かつ第2の開始値と第2の終了値との間のゾーンを有する、判定に従って、デバイスは、ユーザ入力に従って、オブジェクトの特性の値を更新する(例えば、デバイスが、どのアンカーのゾーン内にもない停止点までドキュメントをスクロールする)。デバイスは、オブジェクトの特性の更新された値に従って、オブジェクトの表示も更新する(例えば、デバイスが、停止点に従ってスクロールされたドキュメントを表示する)。デバイスは、ユーザ入力に従って更新されたオブジェクトの特性の値に基づき、少なくともアンカー及び第2のアンカーの中から、最も近いアンカーを特定する。引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する(例えば、スクロール位置値を最も近いアンカーの中間値に設定するか、又はズームサイズ値を最も近いアンカーの中間値に設定する)。デバイスは、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する(例えば、最も近いアンカーの中間値に従ってスクロールされたドキュメントを表示するか、又は最も近いアンカーの中間値に従ってズームされたオブジェクトを表示する)。
【0205】
いくつかの実施形態によれば、最も近いアンカーを特定することは、ユーザ入力要求に従って更新されたオブジェクトの特性の値とアンカーの中間値との間の差を計算することと、ユーザ入力要求に従って更新されたオブジェクトの特性の値と第2のアンカーの中間値との間の差を計算することと、を含む。
【0206】
いくつかの実施形態によれば、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含む。
【0207】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるという判定に従って、デバイスは電子デバイスにおいて、機械的又は可聴的な(例えば、オーディオの再生)触覚アラートなどの触覚アラートを実行する。
【0208】
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所を特定することを含む。
【0209】
いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0210】
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスし、それぞれのアンカーをアンカー点の第1のセットに割り当て、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出したことに応じて、デバイスは、アンカー点の第2のセットにアクセスし(例えば、ドキュメントがスクロールされたため、より多くのアンカーが必要とされる)、それぞれのアンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。
【0211】
いくつかの実施形態によれば、オブジェクトの操作は、上述のように、アンカー及びサブセットの両方の影響を受ける。デバイスは、ユーザ入力がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるかどうかを判定し、デバイスは、オブジェクトの特性の値が更に特性の値の範囲の所定のサブセット内にあるかどうかを判定する。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って計算される。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にないという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って計算される。ここで、第1の関数及び第2の関数は異なる関数である。
【0212】
いくつかの実施形態によれば、オブジェクトはドキュメント又は画像である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、オブジェクトがどれぐらい上/下にスクロールされるか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされるか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転するか)である。
【0213】
図9Aは、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法900は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法900のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法900を実行し得る例示的なデバイスは、デバイス100、300、500、及び/又は550(
図1A、
図3、
図5A、及び
図5C)を含む。
【0214】
方法900は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法は、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識負荷を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
【0215】
ブロック902では、オブジェクト(例えば、ドキュメント802、画像812)がオブジェクトの特性(例えば、
図8Cから
図8Eのスクロール位置、
図8Fのズームサイズ)の値に従って表示され、この値は特性の値の範囲(例えば、0.0から1.0)内にある。
【0216】
ブロック904では、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求が受信される。
【0217】
ブロック906では、ユーザ入力要求を受信したことに応じて、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)をアンカー(例えば、アンカー806B、アンカー812B)のゾーンの範囲内に遷移させるかどうかが判定され、アンカーは(例えば、806Eにおける)開始値、(例えば、806Cにおける)中間値、及び(例えば、806Dにおける)終了値を、特性の値の範囲内で有し、アンカーのゾーンは開始値と終了値との間である。
【0218】
ブロック908では、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させる(例えば、
図8Dに示すように、822がアンカー806Bのゾーンに入る)という判定に従って、ブロック910及び912が実行される。
【0219】
ブロック910では、オブジェクトの特性の値がアンカーの中間値に基づき更新される(例えば、スクロール位置値が中間値806Cと等しくなるように設定される)。
【0220】
ブロック912では、オブジェクトの表示が、オブジェクトの特性の更新された値に従って更新される(例えば、
図8Eに示すように、ドキュメント802の表示が、更新されたスクロール位置値を反映するように更新される)。
【0221】
いくつかの実施形態によれば、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の更新された値に従ってオブジェクト(例えば、802、812)の表示を更新することは、オブジェクトの特性の更新された値を反映するように、オブジェクトをアニメーションする(例えば、ドキュメントのスクロールをアニメーションするか、又はオブジェクトのズームをアニメーションする)ことを含む。
【0222】
いくつかの実施形態(例えば、アンカー806)によれば、中間値(例えば、806C)は、開始値(例えば、806E)又は終了値(例えば、806D)のいずれとも等しくない。いくつかの実施形態(例えば、アンカー804)によれば、中間値(例えば、804C)は開始値(例えば、804C)又は終了値と等しい。
【0223】
いくつかの実施形態によれば、アンカーの中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値をアンカーの中間値と等しくなるように更新する(例えば、デバイスがスクロール又はズーム値を中間点に設定する)ことを含む。
【0224】
いくつかの実施形態によれば、開始値及び終了値は異なる。いくつかの実施形態によれば、中間値は開始値及び終了値の平均ではない。
【0225】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるという判定に従って、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。
【0226】
いくつかの実施形態によれば、この期間は、オブジェクトの特性の値がアンカーのゾーンの範囲内に遷移したときのオブジェクトの特性の値の変化の割合に基づく。
【0227】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内(例えば、2つのアンカーゾーン間のオブジェクトのスクロール位置/ズームサイズ)、又は第2の開始値、第2の中間値、及び第2の終了値を有し、かつ第2の開始値と第2の終了値との間のゾーンを有する第2のアンカー(例えば、アンカー808B)のゾーンの範囲内のいずれにも遷移させないという判定に従って、デバイスは、ユーザ入力に従って、オブジェクトの特性の値を更新する(例えば、デバイスが、どのアンカーのゾーン内にもない停止点までドキュメントをスクロールする)。デバイスは、オブジェクトの特性の更新された値に従って、オブジェクトの表示も更新する(例えば、デバイスが停止点に従ってスクロールされたドキュメントを表示する)。デバイスは、ユーザ入力に従って更新されたオブジェクトの特性の値に基づき、少なくともアンカー及び第2のアンカーの中から、最も近いアンカーを特定する。引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する(例えば、スクロール位置値を最も近いアンカーの中間値に設定するか、又はズームサイズ値を最も近いアンカーの中間値に設定する)。デバイスは、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する(例えば、最も近いアンカーの中間値に従ってスクロールされたドキュメントを表示するか、又は最も近いアンカーの中間値に従ってズームされたドキュメントを表示する)。
【0228】
いくつかの実施形態によれば、最も近いアンカーを特定することは、ユーザ入力要求に従って更新されたオブジェクトの特性の値とアンカーの中間値との間の差を計算することと、ユーザ入力要求に従って更新されたオブジェクトの特性の値と第2のアンカーの中間値との間の差を計算することと、を含む。
【0229】
いくつかの実施形態によれば、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含む。
【0230】
いくつかの実施形態では、ユーザ入力要求がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させないという判定に従って、デバイスは電子デバイスにおいて、機械的又は可聴的な(例えば、オーディオの再生)触覚アラートなどの触覚アラートを実行する。
【0231】
いくつかの実施形態によれば、オブジェクト(例えば、802)はドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所を特定することを含む。
【0232】
いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0233】
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスし、それぞれのアンカーをアンカー点の第1のセットに割り当て、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされ、より多くのアンカーが必要になったこと)を検出したことに応じて、デバイスは、アンカー点の第2のセットにアクセスし、それぞれのアンカーをアンカー点の第2のセットに割り当て、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。
【0234】
いくつかの実施形態によれば、オブジェクトの操作は、上述のように、アンカー及びサブセットの両方の影響を受ける。デバイスは、ユーザ入力がオブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)をアンカーのゾーンの範囲内に遷移させるかどうかを判定し、デバイスは、オブジェクトの特性の値も特性の値の範囲の所定のサブセット内にあるかどうかを判定する。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にあるという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って計算される。オブジェクトの特性の値が特性の値の範囲の所定のサブセット内にないという判定に従って、オブジェクトの特性の値は、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って計算さる。ここで、第1の関数及び第2の関数は異なる関数である。
【0235】
いくつかの実施形態によれば、オブジェクトはドキュメント又は画像である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、オブジェクトがどれぐらい上/下にスクロールされるか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされるか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転するか)である。
【0236】
いくつかの実施形態によれば、アンカーを指定するためにオブジェクトの分析は必要とされない。例えば、アンカーは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。そのような既定のアンカーは、オブジェクトの作成者によって手動で指定されてもよい。
【0237】
図8及び
図9A(例えば、804B、806B、808B、812A、812B、814C)に関連して説明されるアンカーは、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の度合い)が、その部分への移動がより容易又は困難になるようにされてもよく、これは、ユーザのフォーカスを合わせる処理を容易にする。更に、特定のオブジェクトのアンカーは、異なるサイズの範囲などの異なる特性を有してもよい。アンカーは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用されてもよい。
【0238】
方法900に関して上述された処理(例えば、
図9A)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法900は、
図7、
図9B、
図11、
図13K、
図22、
図31、
図39、及び
図46の処理を参照して上述された、様々な方法の特性のうちの1つ以上を含んでもよい。簡潔性のために、これらの詳細は、以下では繰り返されない。
【0239】
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに組み込まれてもよいことに留意されたい。
【0240】
別の実施形態では、
図8Gから
図8Hは、電子デバイスを使用してユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を有する。
【0241】
図8Gから
図8Hは、ユーザインタフェースオブジェクトの一実施例であるドキュメント842を示す。いくつかの実施形態では、電子デバイスは、特定の時点でドキュメント842の一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがドキュメント842内をスクロールすることを可能にするように構成される。ドキュメント842のスクロール位置は、ドキュメントの特性である。ドキュメントのスクロール位置の値は、ドキュメントがスクロールされるにつれて変化する。
【0242】
記載されているユーザインタフェースの図は、任意選択的に、オブジェクトの特性の範囲を示す列(例えば、850)を含む。これらの列は、典型的には、表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。この実施例では、ドキュメントのスクロール位置は0.0から1.0に及んでもよい。
【0243】
この実施例では、列850は、オブジェクトの特性がユーザによってどのように操作されるかを変更する、様々なアンカーを列850の範囲内に含む。
図8Gには、アンカー844B、アンカー846Bが示されている。列と同様に、図に示すアンカーは典型的には表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。アンカー844Bのゾーンは、列850上の844E(例えば、スクロール位置値0.30)から844D(例えば、0.50)までである。アンカー846Bのゾーンは、列850上の846E(例えば、値0.60)から846D(例えば、値0.95)までである。ドキュメント842のスクロール位置の値が安定状態に達する(すなわち、ドキュメントがスクロールを停止する)と、デバイスは、以下で詳細に説明されるように、ドキュメント842を最も近いアンカーの中間値までスクロールする。これによって、ユーザが見やすいように、ディスプレイ(例えば、504)上のドキュメント842の位置が位置合わせされる。
【0244】
図8Gから
図8Hは、視認可能表示領域860及びスクロール値インジケータ862も示す。視認可能表示領域860は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域860は、ドキュメント842が回転可能入力機構(例えば、506)を使用してスクロールされたときにディスプレイ上に表示されるドキュメント842の部分を示す。スクロール値インジケータ862は、ドキュメント842のスクロール位置の値を示すことによって、図の解釈を支援する。スクロール値インジケータ862は、典型的には表示されるユーザインタフェースの一部ではない。
【0245】
図8Gは、表示領域860によって示されるように、ドキュメント842の視認可能部分を示す。デバイスは、ディスプレイ上に、オブジェクトの特性(例えば、スクロール位置)の値に従ったオブジェクト(例えば、ドキュメント802)を表示し、この値は特性の値の範囲内(例えば、0.0から1.0に及ぶ列850内)にある。他の実施例では、オブジェクトの特性は、例えば、オブジェクトのズームサイズ(例えば、倍率)又はオブジェクトの回転の度合いであってもよい。
【0246】
デバイスは、回転可能入力機構(例えば、506)の回転を表すユーザ入力要求を受信する。例えば、ユーザは、ドキュメント842のスクロール位置を変更するために、回転可能入力機構506を回転させる。
【0247】
ユーザ入力要求を受信したことに応じて、デバイスは、オブジェクトの特性(例えば、スクロール位置、ズームサイズ)の値(例えば、スクロール位置値、ズームサイズ値)を、特性の値の範囲内で、ユーザ入力要求に基づき更新し、デバイスは、オブジェクトの特性の更新された値に従って、オブジェクトの表示を更新する。
図8Gから
図8Hの実施例では、デバイスがドキュメントをスクロールして、ドキュメントがスクロールを停止している。ドキュメントのスクロール位置の値は、スクロール値インジケータ862によって示される(例えば、スクロール位置値0.53)。このため、デバイスがユーザ入力を受信すると、デバイスはドキュメント842を更新されたスクロール位置値(例えば、0.53)までスクロールする。いくつかの実施例では、更新されたスクロール位置値に達すると、ドキュメント842は安定状態に達し、スクロールを停止する。
【0248】
デバイスは、(例えば、ドキュメントがスクロールを停止したときに)オブジェクトの特性の更新された値(例えば、0.53)に最も近いアンカーを特定し、最も近いアンカーは、少なくとも、対応する中間値(例えば、844C)を有する第1のアンカー(例えば、アンカー844B)及び対応する中間値(例えば、846C)を有する第2のアンカー(例えば、アンカー846B)の中から特定される。
【0249】
引き続き、デバイスは、特定された最も近いアンカーの対応する中間値に基づき、オブジェクトの特性の値を更新する。デバイスは、引き続き更新されたオブジェクトの特性の値に従って、オブジェクトの表示も更新する。したがって、デバイスは、オブジェクトの特性の値を最も近いアンカーの中間値と等しくなるように設定し、ドキュメントを最も近いアンカーの中間値までスクロールする。特性がズームサイズである実施例では、オブジェクトの倍率は最も近いアンカーの中間値に変更される。
【0250】
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することは、引き続き更新されたオブジェクトの特性の値を反映するようにオブジェクトをアニメーションすることを含む。したがって、例えば、停止された(安定状態の)スクロール位置から引き続き更新された値までのドキュメント842のスクロールがアニメーションされる。
【0251】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、アンカー846Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、846E)と対応する終了値(例えば、846D)との間にあり、これらの開始値及び終了値を含まない。
【0252】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値(例えば、844C)は、アンカー844Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、844C)又は対応する終了値と等しい。
【0253】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値を、特定された最も近いアンカーの対応する中間値と等しくなるように更新することを含む。
【0254】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する開始値及び対応する終了値は異なる。いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、対応する開始値及び対応する終了値の平均である。
【0255】
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することに引き続き、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。これは、例えば、オブジェクトが最も近いアンカーの中間値へと移動したことを視覚的に認識するための時間をユーザに与えるのに役立つ。いくつかの実施形態によれば、この期間に引き続き、この期間中に受信したユーザ入力要求に従ってオブジェクトの表示が更新される。
【0256】
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近いゾーンを特定することによって特定される。
図8Gに示すように、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー844Bのゾーンまでの距離は距離852(例えば、距離0.03)であるが、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー846Bのゾーンまでの距離は距離850(例えば、距離0.07)である。この実施例では、距離852(例えば、距離0.03)は距離850(例えば、距離0.07)を下回るため、アンカー844Bが最も近いアンカーとして特定される。このように、最も近いアンカーを特定することは、アンカー及び第2のアンカーの開始値及び終了値のうちの最も近いものを特定することを含む。
【0257】
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近い中間値を特定することによって特定される。
図8Hに示すように、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー844Bの中間値844Cまでの距離は距離856(例えば、距離0.33)であるが、引き続き更新された(スクロール値インジケータ862によって示される)値からアンカー846Bの中間値846Cまでの距離は距離854(例えば、距離0.20)である。この実施例では、距離854(例えば、距離0.20)は距離856(例えば、距離0.33)を下回るため、アンカー844Bが最も近いアンカーとして特定される。例えば、デバイスは、引き続き更新されたオブジェクトの特性の値と第1のアンカーの対応する中間値との間の差を計算し、引き続き更新されたオブジェクトの特性の値と第2のアンカーの対応する中間値との間の差を計算する。これらの値のうちのより小さいものが、最も近いアンカーを示す。
【0258】
いくつかの実施形態によれば、デバイスは、デバイスにおいて触覚アラート(例えば、機械的又は可聴的な触覚アラート)を実行しながら、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新する。これは、オブジェクトが最も近いアンカーに遷移しているという通知をユーザに提供する。
【0259】
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所を特定することを含む。いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0260】
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスする。デバイスは、それぞれのアンカーをアンカー点の第1のセットに割り当てる。その後、デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出し、デバイスは、オブジェクトの特性の値の変化を検出したことに応じて、アンカー点の第2のセットにアクセスする(例えば、ドキュメントがスクロールされたため、より多くのアンカーが必要とされる)。デバイスは、それぞれのアンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。これは、例えば、オブジェクトがアンカーを必要とする多くのアンカー点を含むが、デバイスのメモリに限りがあり、アンカーを全てのアンカー点に同時に割り当てると、デバイスの使用可能なメモリが逼迫する場合に役立つ。
【0261】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
【0262】
図9Bは、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法920は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法920のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法920を実行し得る例示的なデバイスは、デバイス100、300、500、及び/又は550(
図1A、
図3、
図5A、及び
図5C)を含む。
【0263】
方法920は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法は、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識負荷を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
【0264】
ブロック922では、オブジェクト(例えば、ドキュメント842)がオブジェクトの特性の値(例えば、スクロール位置値)に従って表示され、この値は特性の値の範囲(例えば、0.0から1.0まで)内にある。
【0265】
ブロック924では、ユーザ入力要求が受信される。ユーザ入力要求は、回転可能入力機構(例えば、506)の回転を表す。
【0266】
ブロック926では、ユーザ入力要求を受信したことに応じて、ブロック928及び930が実行される。ブロック928では、オブジェクト(例えば、ドキュメント842)の特性の値が、特性の値の範囲(例えば、0.0から1.0まで)内で、ユーザ入力要求に基づき更新される。ブロック930では、オブジェクトの表示が、オブジェクトの特性の更新された値に従って更新される(例えば、ドキュメントがスクロールされ、その後、安定状態である停止位置に達する)。
【0267】
ブロック932では、オブジェクトの特性の更新された値に最も近いアンカー(例えば、アンカー844B又は846B)が特定され、最も近いアンカーは、少なくとも、対応する中間値(例えば、844C)を有する第1のアンカー(例えば、844B)及び対応する中間値(例えば、846C)を有する第2のアンカー(例えば、846B)の中から特定される。
【0268】
ブロック934では、引き続き、オブジェクトの特性の値が、特定された最も近いアンカー(例えば、アンカー844B又は846B)の対応する中間値(例えば、844C又は846Cにおける値)に基づき更新される。
【0269】
ブロック936では、オブジェクト(例えば、ドキュメント842)の表示が、引き続き更新されたオブジェクトの特性の値に従って更新される。
【0270】
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することは、引き続き更新されたオブジェクトの特性の値を反映するようにオブジェクトをアニメーションすることを含む。
【0271】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、アンカー846Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、846E)と対応する終了値(例えば、846D)との間にあり、これらの開始値及び終了値を含まない。
【0272】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値(例えば、844C)は、アンカー844Bなどのように、特定された最も近いアンカーの対応する開始値(例えば、844C)又は対応する終了値と等しい。
【0273】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することは、オブジェクトの特性の値を、特定された最も近いアンカーの対応する中間値と等しくなるように更新することを含む。
【0274】
いくつかの実施形態によれば、特定された最も近いアンカーの対応する開始値及び対応する終了値は異なる。いくつかの実施形態によれば、特定された最も近いアンカーの対応する中間値は、対応する開始値及び対応する終了値の平均である。
【0275】
いくつかの実施形態によれば、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することに引き続き、デバイスは、オブジェクトの特性を操作するための受信したユーザ入力要求が、オブジェクトの表示される特性に影響を与えない期間(例えば、時間期間)を開始する。いくつかの実施形態によれば、この期間に引き続き、この期間中に受信したユーザ入力要求に従ってオブジェクトの表示が更新される。
【0276】
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近いゾーンを特定することによって特定される。
【0277】
いくつかの実施形態によれば、最も近いアンカーは、ドキュメント842がスクロールを停止したとき(例えば、安定状態に達したとき)の最も近い中間値を特定することによって特定される。
【0278】
いくつかの実施形態によれば、デバイスは、デバイスにおいて触覚アラート(例えば、機械的又は可聴的な触覚アラート)を実行しながら、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新する。
【0279】
いくつかの実施形態によれば、オブジェクトはドキュメントであり、オブジェクトの特性はスクロール位置である。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所を特定することを含む。いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはアンカーを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0280】
いくつかの実施形態によれば、デバイスは、アンカー点の第1のセット(例えば、アンカー点は、段落及び画像などのアンカーが配置されるべき位置を示す)にアクセスする。デバイスは、それぞれのアンカーをアンカー点の第1のセットに割り当てる。その後、デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出し、デバイスは、オブジェクトの特性の値の変化を検出したことに応じて、アンカー点の第2のセットにアクセスする(例えば、ドキュメントがスクロールされたため、より多くのアンカーが必要とされる)。デバイスは、それぞれのアンカーをアンカー点の第2のセットに割り当てる。ここで、アンカー点の第1のセット及びアンカー点の第2のセットは異なる。
【0281】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
【0282】
いくつかの実施形態によれば、アンカーを指定するためにオブジェクトの分析は必要とされない。例えば、アンカーは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。そのような既定のアンカーは、オブジェクトの作成者によって手動で指定されてもよい。
【0283】
図8及び
図9Bに関連して説明されるアンカー(例えば、844B、846B)は、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の度合い)が、その部分への移動がより容易又は困難になるようにされてもよく、これは、ユーザのフォーカスを合わせる処理を容易にする。更に、特定のオブジェクトのアンカーは、異なるサイズの範囲などの異なる特性を有してもよい。アンカーは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用されてもよい。
【0284】
方法920に関して上述された処理(例えば、
図9B)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法920は、
図7、
図9B、
図11、
図13K、
図22、
図31、
図39、及び
図46の処理を参照して上述された、様々な方法の特性のうちの1つ以上を含んでもよい。簡潔性のために、これらの詳細は、以下では繰り返されない。
【0285】
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに組み込まれてもよいことに留意されたい。
【0286】
図10Aから
図10Bは、いくつかの実施形態に係る、電子デバイス(例えば、500)を使用してユーザインタフェースオブジェクトを操作するための例示的なユーザインタフェースを示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える。
【0287】
図10Aから
図10Bは、ユーザインタフェースオブジェクトの一実施例である、インスタントメッセージング会話1002を示す。いくつかの実施形態では、電子デバイスは、特定の時点でオブジェクトの一部分のみがディスプレイ(例えば、504)上に表示されるように、ユーザがオブジェクト(例えば、1002)をスクロールすることを可能にするように構成される。オブジェクトのスクロール位置は、オブジェクトの特性である。オブジェクトのスクロール位置の値は、オブジェクトがスクロールされるにつれて変化する。
【0288】
記載されているユーザインタフェースの図は、任意選択的に、マーカ(例えば、1002A、1002B、1002C)を含む。これらのマーカは、典型的には、表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。これらの実施例では、マーカはオブジェクトのスクロール位置を示す。
【0289】
図10Aから
図10Bは、視認可能表示領域(1020)及びスクロール値インジケータ(例えば、1022)も示す。視認可能表示領域は、表示されるユーザインタフェースを特定する例示的な領域を含む。例えば、表示領域1020は、会話1002が回転可能入力機構(例えば、506)を使用してスクロールされたときにディスプレイ上に表示される会話1002の部分を示す。回転可能入力機構506及びスクロール値インジケータ(例えば、1022)は図の解釈を支援し、典型的には表示されるユーザインタフェースの一部ではない。
【0290】
図10Aは、表示領域1020によって示されるように、会話1002の視認可能部分を示す。デバイスは、ディスプレイ上にオブジェクト(例えば、会話1002)を表示する。オブジェクトは、第1の値を有する第1のマーカ(例えば、マーカ1002A)及び第2の値を有する第2のマーカ(例えば、マーカ1002B)に関連付けられる。オブジェクトの特性(例えば、スクロール位置)の値(例えば、スクロール位置値)は、第1のマーカの第1の値に基づく。
【0291】
デバイスは、回転可能入力機構の回転を表すユーザ入力を受信する。回転可能入力機構の回転を表すユーザ入力を受信したことに応じて、デバイスは、ユーザ入力の属性(例えば、速度、加速度、ユーザ入力の期間)が閾値を上回る(例えば、ユーザ入力が閾値速度又は閾値加速度を上回る)かどうかを判定する。ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、オブジェクト(例えば、1002)の特性の値を、第2のマーカの第2の値に基づき更新する。いくつかの実施形態では、属性は加速度であり、閾値は回転可能入力機構の加速度の閾値であり、入力は「フリッキング」入力と呼ばれてもよい。デバイスは、オブジェクトの特性の更新された値に従って、オブジェクトの表示も更新する。このため、デバイスが、例えば、回転可能入力機構におけるユーザ入力が閾値速度を上回ると判定すると、デバイスはディスプレイ上のドキュメントを次のマーカまで(例えば、マーカ1002Aからマーカ1002Bまで)スクロールする。いくつかの実施形態では、入力機構の回転の方向はスクロールの方向を決定し、第2のマーカはスクロールの判定された方向における最も近いマーカである。
【0292】
いくつかの実施形態によれば、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することは、オブジェクトの特性の更新された値を反映するようにオブジェクトをアニメーションすることを含む。例えば、デバイスは、第2のマーカまでの会話のスクロールのアニメーションを表示する。別の例では、特性がズームサイズであるとき、デバイスは、第2のマーカまでのオブジェクトのズームのアニメーションを表示する。
【0293】
いくつかの実施形態では、ユーザ入力の属性が閾値を下回る(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、デバイスは、オブジェクトの表示を、第1のマーカの第1の値に基づく、オブジェクトの特性の値に従って維持する(例えば、オブジェクトを前と同じ位置に表示し続けるか、又はオブジェクトを前と同じズームレベルで表示し続ける)。
【0294】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回らない(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、オブジェクトの特性の値が、ユーザ入力に基づく第3の値に更新される。したがって、入力が閾値を上回らない場合、オブジェクトは第2のマーカ以外の箇所までスクロール(又はズーム)される。したがって、ユーザが閾値を上回ることなく回転可能入力機構を回転させると、デバイスは滑らかにオブジェクトをスクロールする。
【0295】
いくつかの実施形態によれば、第2のマーカはアンカーであり、第2のマーカの第2の値はアンカーの中間値である。
【0296】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、電子デバイスにおいて触覚アラートを実行する(例えば、機械的又は可聴的なアラートを実行する)。
【0297】
いくつかの実施形態によれば、オブジェクトはドキュメントである。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所(例えば、マーカを配置する箇所)を特定することを含む。
【0298】
いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはマーカを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0299】
いくつかの実施形態によれば、デバイスは、オブジェクトのマーカの第1のセットにアクセスする。デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出したことに応じて、デバイスは、マーカの第2のセットをオブジェクトに関連付け、第1のセット及び第2のセットは異なる。
【0300】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、回転可能入力機構の回転を表す受信したユーザ入力がオブジェクトの表示される特性に影響を与えない期間を開始する。
【0301】
いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の最大角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角加速度であり、閾値は閾値角加速度である。
【0302】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。
【0303】
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
【0304】
図11は、いくつかの実施形態に係る、ユーザインタフェースオブジェクトを操作するための例示的な処理を示すフロー図である。いくつかの実施形態では、方法1100は、ディスプレイ(例えば、112、340、504)及び回転可能入力機構(例えば、506)を備える電子デバイスにおいて実行されてもよい。方法1100のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法1100を実行し得る例示的なデバイスは、デバイス100、300、500、及び/又は550(
図1A、
図3、
図5A、及び
図5C)を含む。
【0305】
方法1100は、ユーザインタフェースオブジェクトを操作するための直感的な方法を提供する。この方法は、オブジェクトをスクロール、ズーム、又は回転するなど、ユーザインタフェースオブジェクトを操作するためにデバイスを使用するときのユーザの認識負荷を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがユーザインタフェースオブジェクトをより効率的に操作することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
【0306】
ブロック1102では、オブジェクト(例えば、インスタントメッセージ会話1002)が表示され、オブジェクト(例えば、会話1002)は、第1の値を有する第1のマーカ(例えば、1002A)及び第2の値を有する第2のマーカ(例えば、1002B)に関連付けられ、オブジェクト(例えば、会話1002)の特性(例えば、スクロール位置又はズームサイズ)の値(例えば、スクロール位置値又はズームサイズ値)は、第1のマーカの第1の値に基づく。
【0307】
ブロック1104では、回転可能入力機構(例えば、506)の回転を表すユーザ入力が受信される。
【0308】
ブロック1106では、回転可能入力機構の回転を表すユーザ入力を受信したことに応じて、ユーザ入力の属性(例えば、速度、加速度、ユーザ入力の期間)が閾値を上回るかどうかが判定される。
【0309】
ブロック1108では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、オブジェクトの特性の値が、第2のマーカの第2の値に基づき更新される。
【0310】
ブロック1110では、オブジェクトの表示が、オブジェクトの特性の更新された値に従って更新される(例えば、
図10Bに示すように、会話がマーカまでスクロールされる)。
【0311】
いくつかの実施形態によれば、オブジェクトの特性の更新された値に従ってオブジェクト(例えば、会話1002)の表示を更新することは、オブジェクトの特性の更新された値を反映するようにオブジェクトをアニメーションすることを含む。
【0312】
いくつかの実施形態では、ユーザ入力の属性が閾値を下回るという判定に従って、デバイスは、オブジェクトの表示を、第1のマーカの第1の値に基づく、オブジェクトの特性の値に従って維持する(例えば、会話がスクロールされない)。
【0313】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回らない(例えば、ユーザ入力が閾値速度を上回らず、閾値加速度も上回らない)という判定に従って、オブジェクトの特性の値が、ユーザ入力に基づく第3の値に更新される。したがって、入力が閾値を上回らない場合、オブジェクトは第2のマーカ以外の箇所までスクロール(又はズーム)される。
【0314】
いくつかの実施形態によれば、第2のマーカ(例えば、1002B)はアンカーであり、第2のマーカの第2の値はアンカーの中間値である。
【0315】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、デバイスは、電子デバイスにおいて触覚アラートを実行する(例えば、機械的又は可聴的なアラートを実行する)。
【0316】
いくつかの実施形態によれば、オブジェクトはドキュメントである。デバイスは、ドキュメントの少なくとも一部分を分析し、ドキュメントの少なくとも一部分を分析することは、ドキュメント内の箇所(例えば、マーカを配置する箇所)を特定することを含む。
【0317】
いくつかの実施形態によれば、ドキュメント内の箇所は、ドキュメントの少なくとも一部分の1つ以上のページ境界、ドキュメントの少なくとも一部分の1つ以上の段落境界、及びドキュメントの少なくとも一部分の1つ以上のキーワード箇所、のうちの1つ以上を含む。デバイスはマーカを、ドキュメントの特定されたページ境界、段落境界、及びキーワード箇所のうちのいくつか又は全てに割り当てる。
【0318】
いくつかの実施形態によれば、デバイスは、オブジェクトのマーカの第1のセットにアクセスする。デバイスは、オブジェクトの特性の値の変化(例えば、ドキュメントがスクロールされたこと)を検出する。オブジェクトの特性の値の変化を検出したことに応じて、デバイスは、マーカの第2のセットをオブジェクトに関連付け、第1のセット及び第2のセットは異なる。
【0319】
いくつかの実施形態では、ユーザ入力の属性が閾値を上回る(例えば、ユーザ入力が閾値速度を上回るか又は閾値加速度を上回る)という判定に従って、回転可能入力機構の回転を表す受信したユーザ入力がオブジェクトの表示される特性に影響を与えない期間を開始する。
【0320】
いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の最大角速度であり、閾値は閾値角速度である。いくつかの実施形態によれば、ユーザ入力の属性は回転可能入力機構の角加速度であり、閾値は閾値角加速度である。
【0321】
いくつかの実施形態によれば、オブジェクトは、ドキュメント及び画像からなる群から選択される。ドキュメントの例は、以下に限定されないが、メッセージ、テキストメッセージ、テキストメッセージ会話、電子メール、プレゼンテーション、スプレッドシート、ユーザによる編集が可能なファイル(例えば、ワードプロセッシングファイル)、ユーザによる編集が不可能なファイル(例えば、PDFファイル)、ウェブページ、項目のリスト(例えば、連絡先のリスト、音楽のリスト、カレンダー行事のリスト、メッセージのリスト、ファイルのリスト、フォルダのリスト)を含む。
【0322】
いくつかの実施形態によれば、オブジェクトの特性は、スクロール位置(例えば、どれぐらい上/下にオブジェクトがスクロールされたか)、ズームサイズ(例えば、ドキュメントがどれぐらい大きく/小さくズームされたか)、及び回転の度合い(例えば、オブジェクトが何ラジアン回転したか)からなる群から選択される。
【0323】
いくつかの実施形態によれば、マーカを指定するために、オブジェクトの分析は必要とされない。例えば、マーカは、オブジェクトがデバイスにおいてアクセスされる前に、オブジェクトに関連付けられても(例えば、ドキュメント内に埋め込まれても)よい。そのような既定のマーカは、オブジェクトの作成者によって手動で指定されてもよい。
【0324】
図10及び
図11に関連して説明されるマーカ(例えば、1002A、1002B、1002C)は、粗い入力が精密な制御に変換され得るという技術的な利点を有する。ドキュメントの特定の部分(又は特定のズームサイズ、回転の特定の度合い)は、その部分への移動がより容易又は困難になるようにされてもよく、これは、ユーザのフォーカスを合わせる処理を容易にする。更に、特定のオブジェクトのマーカは、それらへと移動するための異なる閾値などの異なる特性を有してもよい。マーカは、ドキュメント内の「流れ」を方向付けてキュレーションを可能にするために使用されてもよい。
【0325】
方法1100に関して上述された処理(例えば、
図11)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法1100は、
図7、
図9A、
図9B、
図13K、
図22、
図31、
図39、及び
図46の処理を参照して上述された、様々な方法の特性のうちの1つ以上を含んでもよい。簡潔性のために、これらの詳細は、以下では繰り返されない。
【0326】
図11における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに組み込まれてもよいことに留意されたい。
【0327】
図12は、いくつかの実施形態において、上記及び以下で説明される特徴を実行する、電子デバイス1200の例示的な機能ブロックを示す。
図12に示すように、電子デバイス1200は、グラフィカルオブジェクトを表示するよう構成されたディスプレイユニット1202と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット1204と、外部電子デバイスを検出し、そのデバイスと通信するように構成された1つ以上のRFユニット1206と、ディスプレイユニット1202、タッチ感知面ユニット1204、及びRFユニット1206に結合された処理ユニット1208と、を含む。いくつかの実施形態では、処理ユニット1208は、表示可能化ユニット1210、受信ユニット1212、及び判定ユニット1214を含む。
図12のユニットは、上記及び以下で説明される様々な技術及び方法を実装するために使用されてもよい。
【0328】
例えば、表示可能化ユニット1210は、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、オブジェクトの特性の値に従ってオブジェクトをディスプレイ上に表示することであって、値は特性の値の範囲内にある、表示することと、オブジェクトをディスプレイ上に表示することであって、オブジェクトは第1の値を有する第1のマーカ及び第2の値を有する第2のマーカに関連付けられる、表示することと、のために使用されてもよい。
【0329】
例えば、受信ユニット1212は、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力要求を受信することと、回転可能入力機構の回転を表すユーザ入力を受信することと、のために使用されてもよい。
【0330】
例えば、判定ユニット1214は、オブジェクトの特性の値が、特性の値の範囲の所定のサブセット内にあるかどうかを判定することと、ユーザ入力要求がオブジェクトの特性の値をアンカーのゾーンの範囲内に遷移させるかどうかを判定することと、ユーザ入力の属性が閾値を上回るかどうかを判定することと、のために使用されてもよい。
【0331】
例えば、更新ユニット1216は、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第1の関数に従って更新することと、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき、第2の関数に従って更新することであって、第1の関数及び第2の関数は異なる関数である、更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、アンカーの中間値に基づきオブジェクトの特性の値を更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、オブジェクトの特性の値を、特性の値の範囲内で、ユーザ入力要求に基づき更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、引き続き、特定された最も近いアンカーの対応する中間値に基づきオブジェクトの特性の値を更新することと、引き続き更新されたオブジェクトの特性の値に従ってオブジェクトの表示を更新することと、第2のマーカの第2の値に基づきオブジェクトの特性の値を更新することと、オブジェクトの特性の更新された値に従ってオブジェクトの表示を更新することと、のために使用されてもよい。
【0332】
デバイス1200の機能ブロックは、任意選択的に、説明される様々な実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって実行される。
図12で説明する機能ブロックが、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書における説明は、あらゆる可能な組み合わせ若しくは分離、又は本明細書で説明する機能ブロックの更なる定義を任意に支持する。
【0333】
図13Aから
図13Jは、複数のユーザインタフェースオブジェクトを選択可能要素1302、1304、1306、1308及びフォーカスセレクタ1310の形式で表示する、例示的なユーザインタフェース1300を示す。ユーザは、所望の選択要素に位置合わせされるようにフォーカスセレクタ1310を移動するために、着用可能電子デバイスの物理的なクラウンを使用することによって、複数の選択可能要素の中から選択要素を選択してもよい。
【0334】
デバイス550のクラウン558は、ユーザによって回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。クラウン558は、時計回り及び反時計回りという2つの異なる方向に回転されてもよい。
図13から
図13Jは、必要に応じて、クラウンの回転の方向を示す回転方向矢印及び1つ以上のユーザインタフェースオブジェクトの移動の方向を示す移動方向矢印を含む。これらの回転方向矢印及び移動方向矢印は、通常は表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。この実施例では、クラウン558の時計回り方向の回転は、上方向を指す回転方向矢印によって示される。同様に、クラウン558の反時計回り方向の回転は、下方向を指す回転方向矢印によって示される。回転方向矢印の特性は、クラウン558がユーザによって回転される距離、速度、又は加速度のいずれも示さない。その代わりに、回転方向矢印は、ユーザによるクラウン558の回転の方向を示す。
【0335】
図13から
図13Jは、ユーザインタフェースオブジェクトとのユーザの対話を制御するために、物理的なクラウンユーザ入力デバイスと組み合わせて使用され得る、物理学に基づく例示的なモデルを示す。この実施例では、要素1302、1304、1306、1308は固定され、フォーカスセレクタ1310は、クラウン558から受信したユーザ入力を介して移動可能である。クラウン558の時計回りの移動は、フォーカスセレクタ1310に対する上移動方向への力に関連付けられ、クラウン558の反時計回りの移動は、フォーカスセレクタ1310に対する下移動方向への力に関連付けられる。したがって、フォーカスセレクタ1310を、
図13Aに示されるような、要素1306に位置合わせされた位置から、
図13Jに示されるような、上方向に配置された要素1304に位置合わせされるように移動することは、クラウン558に対する時計回り方向へのユーザ入力を必要とする。
【0336】
4つのユーザ-選択可能要素1302、1304、1306、1308の間でのフォーカスセレクタ1310の移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカスセレクタ1310との間に関連付けられる。各要素1302、1304、1306、1308は、シミュレートされた磁気値に関連付けられる。この実施例では、要素1302、1304、1306、1308の磁気値は等しい。他の実施例では、要素1302、1304、1306、1308の磁気値は等しくなくてもよい。
【0337】
要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気的関係を使用するとき、要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。以下で更に詳細に説明されるように、ユーザインタフェース1300は、要素1302、1304、1306、1308とフォーカスセレクタ1310との間に引力を発生させる。その結果、ユーザ入力が受信されなかったとき、フォーカスセレクタ1310は最終的に、要素1302、1304、1306、1308のうちの1つに位置合わせされる安定状態に達する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。要素にフォーカスセレクタ1310を位置合わせすることは、ユーザ入力を使用して要素をアクティブ化することを可能にする。アクティブ化のための如何なるユーザ入力の前でも、要素へのフォーカスセレクタ1310の位置合わせは、その要素の選択を示す。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
【0338】
この実施例では、物理学に基づく磁気モデリングは、例えば、各要素1302、1304、1306、1308を、その独自の永続的な磁界を生み出す磁化された材料から作製された物体としてモデリングし、フォーカスセレクタ1310を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって実現される。別の実施例では、物理学に基づくモデリングは、各要素1302、1304、1306、1308を、磁石に吸引される材料から作製された物体としてモデリングし、フォーカスセレクタ1310を、その独自の永続的な磁界を生み出す材料としてモデリングすることによって実現されてもよい。別の実施例では、物理学に基づくモデリングは、各要素1302、1304、1306、1308を、その独自の永続的な磁界を生み出す物体としてモデリングし、フォーカスセレクタ1310を、同じく独自の永続的な磁界を生み出す、吸引力のある2つの磁石などの材料としてモデリングすることによって実現されてもよい。これらの物理学に基づくモデルのそれぞれは、永続的なままではなく、要素とフォーカスセレクタ1310との間の距離、フォーカスセレクタ1310の速度、フォーカスセレクタ1310の加速度などの特定の因子に基づくか、又は2つ以上の因子の組み合わせに基づき変化する磁界を含むようにされてもよい。例えば、変化する磁界は、オン又はオフにされ得、及び変化する強度を有し得る、電磁石の使用によってシミュレートされてもよい。
【0339】
図13Aでは、フォーカスセレクタ1310は要素1306に位置合わせされ、これは要素1306の選択を示す。
図13Bでは、デバイス550は、回転方向矢印1312によって示されるような、時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイスは、フォーカスセレクタ1310の速度を上昇させ、移動方向矢印1314によって示されるように、フォーカスセレクタ1310を上方向に移動させる。一実施例では、フォーカスセレクタ1310は質量に関連付けられてもよく、又は計算された慣性を有してもよい。
【0340】
要素1306は磁気要素としてモデリングされ、フォーカスセレクタ1310は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。ユーザインタフェース1300の物理学に基づくモデルは、この磁気吸引力を使用して、フォーカスセレクタ1310の要素1306から離れるような移動の抵抗を発生させる。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他の物体を移動させる能力)においてモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
【0341】
図13Cから
図13Dでは、デバイス550は引き続き、回転方向矢印1316によって示されるような、時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイス550は、フォーカスセレクタ1310に、上方向における更なる速度を加える。同時に、要素1302、1304、1306、及び1308の磁気吸引力がフォーカスセレクタ1310に作用している。
図13Cでは、要素1306及び1308は、物理学に基づく磁気モデリングの結果として、フォーカスセレクタ1310に下方向の力を加えている。要素1302及び1304は、物理学に基づく磁気モデリングの結果として、フォーカスセレクタ1310に上方向の力を加えている。
【0342】
各要素とフォーカスセレクタ1310との間の距離は、要素がフォーカスセレクタ1310に加える力の量においても、一定の役割を果たす。概して、要素とフォーカスセレクタ1310との間の距離が増加すると、要素とフォーカスセレクタ1310との間の力の強度は低下する。力の強度の変化の割合は、多くの方法でモデリングされ得る。例えば、逆二乗則が、距離の関数としての力の強度に適用されることができる。より具体的には、Iが力の強度、dが距離の場合に、I=1/d2である。他の実施例では、磁気力は、距離に正反比例して変化してもよく、又は距離の3乗に反比例して変化してもよい。
【0343】
いくつかの実施例では、フォーカスセレクタが、要素から所定の距離にある外縁部を有する引力領域内にある間のみ、要素とフォーカスセレクタとの間に磁気吸引力が存在する。この場合、フォーカスセレクタに加えられる力を判定するときに、フォーカスセレクタからの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算は単純化される。
【0344】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルも利用して、フォーカスセレクタが動いている間のフォーカスセレクタの速度を低減してもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦(drag friction)などをシミュレートしてもよい。
【0345】
図13Dでは、フォーカスセレクタ1310は、ちょうど要素1302、1304と要素1306、1308との間にある。ただし、フォーカスセレクタ1310は、フォーカスセレクタ1310に関連付けられた速度又は慣性に部分的に基づき、上方向に移動し続ける。
【0346】
図13Eから
図13Jでは、デバイス550は、クラウン558の位置が変化していないと判定する。この判定の結果、更なる速度がフォーカスセレクタ1310の既存の速度に加えられることはない。ただし、要素1302、1304、1306、1308の磁気力は、物理学に基づく摩擦モデルと同様に、引き続き加えられる。
図13Eから
図13Jでは、要素1302、1306、1308と比較した場合に、要素1304がフォーカスセレクタ1310に対して最も大きい磁気効果を有し、これは、要素1304がフォーカスセレクタ1310に最も近いためである。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
【0347】
図13Eから
図13Fでは、要素1304は、上方向の磁気力をフォーカスセレクタ1310に加える。
図13Gから
図13Hでは、フォーカスセレクタ1310が要素1304を通過したときに、要素1304は下方向の力をフォーカスセレクタ1310に加え、フォーカスセレクタ1310が
図13Hにおける一時的な停止点に達するまで、フォーカスセレクタ1310の速度を更に低減する。
図13Iでは、要素1304によってフォーカスセレクタ1310に加えられる下方向の磁気力は、フォーカスセレクタ1310を下方向に移動させ、かつ要素1304に位置合わせさせる。
図13Jでは、フォーカスセレクタ1310は、要素1304に位置合わせされた状態で静止する。システムはこの位置合わせを要素1304の選択として解釈し、これはユーザがクラウン558の使用を通じてフォーカスセレクタ1310を操作することによって実現される。
【0348】
要素1304が選択されている間、ユーザは1つ以上の技術によって要素1304をアクティブ化してもよい。例えば、ユーザは、タッチ感知ディスプレイ556を押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタン562を押下するか、又は単純に、要素1304が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカスセレクタを位置合わせさせることが、要素の選択及びアクティブ化の両方として解釈されてもよい。
【0349】
この実施例では、フォーカスセレクタ1310の移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカスセレクタとの間で必要とされてもよい。
【0350】
図13Kは、物理的なクラウンを入力デバイスとして使用してグラフィカルユーザインタフェース内の要素を選択するための処理1350を示すフロー図である。処理1350は、物理的なクラウンを有する着用可能電子デバイス(例えば、
図1のデバイス550)において実行される。いくつかの実施例では、電子デバイスは、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
【0351】
ブロック1352では、デバイスは、着用可能電子デバイスのタッチ感知ディスプレイへの複数の選択可能要素の表示を発生させる。デバイスは、フォーカスセレクタの表示も発生させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素のそれぞれの選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力における、要素の磁気吸引力の強度であってもよい。
【0352】
いくつかの実施例では、システムは複数の選択可能要素を、直線的に等間隔に表示させてもよい。この構成によって、ユーザは要素を更に選択しやすくなる。この構成は、特に選択可能要素が同等の重要性を有し、それゆえに均等に重み付けされているときに有益である。
【0353】
ブロック1354では、デバイスはクラウンの位置情報を受信する。クラウンの位置情報は、一連のパルス信号、実数値、整数値などとして受信されてもよい。
【0354】
ブロック1356では、デバイスは、クラウンの距離値に変化が発生したかどうかを判定する。クラウンの距離値は、着用可能電子デバイスの物理的なクラウンの角変位に基づく。クラウンの距離値の変化は、ユーザが着用可能電子デバイスに、例えば、物理的なクラウンを回転させることによって、入力を提供していることを示す。デバイスが、クラウンの距離値に変化が発生しなかったと判定した場合、システムはブロック1354に戻り、引き続きクラウンの位置情報を受信する。デバイスが、クラウンの距離値に変化が発生したと判定した場合、システムは引き続きクラウンの位置情報を受信してもよいが、システムはブロック1358に進む。
【0355】
デバイスは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、方向も判定する。例えば、上方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよい。同様に、下方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。他の実施例では、下方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよく、上方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。
【0356】
ブロック1358では、クラウンの距離値の変化を判定したことに応じて、デバイスは、複数の選択可能要素のうちの選択要素に向かう、フォーカスセレクタの移動を発生させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動の割合(速度)を有する。システムは、選択要素に関連付けられた磁気値に少なくとも基づく、選択要素とのフォーカスセレクタの物理学に基づく磁気相互作用を使用して、フォーカスセレクタの移動の割合を変化させる。例えば、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素に向かって移動するにつれて、フォーカスセレクタの移動の割合を増加させてもよい。同様に、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素から離れるように移動するにつれて、フォーカスセレクタの移動の割合を減少させてもよい。
【0357】
同様に、他の選択可能要素とのフォーカスセレクタの磁気相互作用は、フォーカスセレクタの移動の割合の変化を発生させてもよい。例えば、フォーカスセレクタの移動の割合は、フォーカスセレクタが、選択されていない状態のままである要素に近付き、その要素を通過したときに変化してもよい。この選択されていない要素との相互作用の結果である、フォーカスセレクタの移動の割合の変化は、少なくとも部分的に、選択されていない要素の磁気値に基づく。
【0358】
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、仮想的な引張力に基づく仮想的な磁気強度である。
【0359】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、フォーカスセレクタが動いている間のフォーカスセレクタの移動の割合を低減してもよい。例えば、フォーカスセレクタの移動の割合は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0360】
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、クラウンの回転を通じて追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムはクラウンの距離値の第2の変化を判定する。システムは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、第2の方向も判定する。クラウンの距離値の第2の変化を判定したことに応じて、システムはフォーカスセレクタの移動の割合を増加又は減少させる。フォーカスセレクタの移動の割合の変化は、クラウンの距離値の第2の変化及び第2の方向に基づく。
【0361】
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。
【0362】
図14から
図21は、選択可能要素1402、1404、1406、1408の形式の複数のユーザインタフェースオブジェクト及びフォーカスセレクタ1410を表示する、例示的なユーザインタフェース1400を示す。ユーザは、所望の選択要素に位置合わせされるようにフォーカスセレクタ1410を移動するために、着用可能電子デバイスの物理的なクラウンを使用することによって、複数の選択可能要素の中から選択要素を選択してもよい。選択された選択要素をアクティブ化するために、ユーザからの追加の入力が使用されてもよい。
【0363】
デバイス550のクラウン558は、ユーザによって回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。クラウン558は、時計回り及び反時計回りという2つの異なる方向に回転されてもよい。
図14から
図20は、必要に応じて、クラウンの回転の方向を示す回転方向矢印及び1つ以上のユーザインタフェースオブジェクトの移動の方向を示す移動方向矢印を含む。これらの回転方向矢印及び移動方向矢印は、通常は表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。この実施例では、クラウン558の時計回り方向の回転は、上方向を指す回転方向矢印によって示される。同様に、クラウン558の反時計回り方向の回転は、下方向を指す回転方向矢印によって示される。回転方向矢印の特性は、クラウン558がユーザによって回転される距離、速度、又は加速度のいずれも示さない。その代わりに、回転方向矢印は、ユーザによるクラウン558の回転の方向を示す。
【0364】
図14から
図21は、ユーザインタフェースオブジェクトとのユーザの対話を制御するために、物理的なクラウンユーザ入力デバイスと組み合わせて使用され得る、物理学に基づく例示的なモデルを示す。この実施例では、要素1402、1404、1406、1408は固定され、フォーカスセレクタ1410は、クラウン558から受信したユーザ入力を介して移動可能である。クラウン558の時計回りの移動は、フォーカスセレクタ1410に対する上移動方向への力に関連付けられ、クラウン558の反時計回りの移動は、フォーカスセレクタ1410に対する下移動方向への力に関連付けられる。
【0365】
4つのユーザ-選択可能要素1402、1404、1406、1408の間でのフォーカスセレクタ1410の移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカスセレクタ1410との間に関連付けられる。各要素1402、1404、1406、1408は、磁気値に関連付けられる。この実施例では、要素1302、1304、1306、1308の磁気値は、全てが等しいわけではない。等しくない磁気値は、ユーザがより容易に特定のオプションを選択することを可能にするのに役立つ場合がある。例えば、システムが、ユーザが複数のオプションの中から特定のオプションを選択する確率が90%であることを予期した場合、その特定のオプションの磁気値は、他の複数のオプションの磁気値を大幅に上回るように構成されてもよい。これは、ユーザが迅速かつ容易に特定のオプションを選択することを可能にするが、一方で、他の複数のオプションのうちの1つを選択するために、ユーザがより精密なユーザインタフェースのナビゲーションを行うことが要求される。
【0366】
この実施例では、要素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の相対的なサイズによって表される。
【0367】
要素1402、1404、1406、1408とフォーカスセレクタ1410との間の磁気的関係を使用するとき、要素1402、1404、1406、1408とフォーカスセレクタ1410との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。以下で更に詳細に説明されるように、ユーザインタフェース1400は、要素1402、1404、1406、1408とフォーカスセレクタ1410との間に引力を発生させる。その結果、ユーザ入力が受信されなかったとき、フォーカスセレクタ1410は最終的に、要素1402、1404、1406、1408のうちの1つに位置合わせされる安定状態に達する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。要素へのフォーカスセレクタ1410の位置合わせは、その要素の選択を示す。他の実施例では、選択のために、タップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
【0368】
この実施例では、物理学に基づく磁気モデリングは、各要素1402、1404、1406、1408を、その独自の永続的な磁界を生み出す磁化された材料から作製された物体としてモデリングし、フォーカスセレクタ1410を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって実現される。上述されたものなどの他の物理学に基づくモデルが使用されてもよい。
【0369】
この実施例では、上述のように、要素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がゆっくり移動しているときと比べて小さくなる。
【0370】
要素1402、1404、1406、1408の磁気強度を変化させる技術が、
図14から
図21に示されている。要素1402、1404、1406、1408の磁気強度(及びこの実施例では、サイズ)は、フォーカスセレクタ1410の速度に基づく。例えば、変化する磁気強度は、変化する強度を有し得る電磁石の使用によってシミュレートされてもよい。
【0371】
図14では、フォーカスセレクタ1410は要素1404に位置合わせされ、これは要素1404の選択を示す。いくつかの実施例では、選択のために、タップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
図15では、デバイス550は、回転方向矢印1430によって示されるような、反時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイスは、フォーカスセレクタ1410の速度を上昇させ、移動方向矢印1420によって示されるように、フォーカスセレクタ1410を下方向に移動させる。一実施例では、フォーカスセレクタは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
【0372】
要素1406は磁気要素としてモデリングされ、フォーカスセレクタ1410は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他の物体を移動させる能力)においてモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
【0373】
ただし、要素1402、1404、1406、1408の磁気強度は、フォーカスセレクタ1410の速度に基づく。フォーカスセレクタ1410が速く移動するほど、要素1402、1404、1406、1408の磁気強度は小さくなる。これは、
図15から
図17に示されている。フォーカスセレクタ1410の速度が上昇すると、要素1402、1404、1406、1408はその磁気強度を失う。この磁気強度の喪失は、例示目的のために、
図15から
図17における、より小さいサイズの要素1402、1404、1406、1408によって示される。概して、要素及びフォーカスセレクタのサイズが、その磁気強度の変化に伴い視覚的に変化することはない。
【0374】
図18から
図20では、フォーカスセレクタ1410の速度が低下する。フォーカスセレクタ1410が遅く移動するほど、要素1402、1404、1406、1408の磁気強度は大きくなる。これは、
図18から
図20に示されている。フォーカスセレクタ1410の速度が低下すると、要素1402、1404、1406、1408はその磁気強度を回復する。この磁気強度の回復は、例示目的のために、
図18から
図20における、より大きいサイズの要素1402、1404、1406、1408によって示される。概して、要素及びフォーカスセレクタのサイズが、その磁気強度の変化に伴い視覚的に変化することはない。要約すると、要素の磁気強度はフォーカスセレクタの速度に反比例する。
【0375】
上述のように、各要素1402、1404、1406、1408とフォーカスセレクタ1410との間の距離は、要素がフォーカスセレクタ1410に加える力の量においても、一定の役割を果たす。
【0376】
いくつかの実施例では、フォーカスセレクタが、要素から所定の距離にある外縁部を有する引力領域内にある間のみ、要素とフォーカスセレクタとの間に磁気吸引力が存在する。この場合、フォーカスセレクタに加えられる力を判定するときに、フォーカスセレクタからの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算が単純化される。
【0377】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムはまた、摩擦の物理学に基づくモデルを利用して、フォーカスセレクタが動いている間のフォーカスセレクタの速度を低減してもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0378】
図19から
図20では、要素1408によってフォーカスセレクタ1410に加えられる下方向の磁気力は、フォーカスセレクタ1410を下方向に移動させ、かつ要素1408に位置合わせさせる。
図21では、フォーカスセレクタ1410は、要素1408に位置合わせされた状態で静止する。システムはこの位置合わせを要素1408の選択として解釈し、これはユーザがクラウン558の使用を通じてフォーカスセレクタ1410を操作することによって実現される。いくつかの実施例では、選択のために、タップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。選択をアクティブ化するために、更なるユーザ入力が使用されてもよい。
【0379】
要素1408が選択されている間、ユーザは多くの技術のうちの1つ以上によって要素1408をアクティブ化してもよい。例えば、ユーザは、デバイスのタッチ感知ディスプレイを押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタンを押下するか、又は単純に、要素1408が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカスセレクタを位置合わせさせることが、要素の選択及びアクティブ化の両方として解釈されてもよい。
【0380】
この実施例では、フォーカスセレクタの移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカスセレクタとの間で必要とされてもよい。いくつかの実施例では、選択のために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0381】
図22は、物理的なクラウンを入力デバイスとして使用してグラフィカルユーザインタフェース内の要素を選択するための処理2200を示すフロー図である。処理2200は、物理的なクラウンを有する着用可能電子デバイス(例えば、
図1のデバイス550)において実行される。いくつかの実施例では、電子デバイスは、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
【0382】
ブロック2202では、デバイスは、着用可能電子デバイスのタッチ感知ディスプレイへの複数の選択可能要素の表示を発生させる。デバイスは、フォーカスセレクタの表示も発生させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素のそれぞれの選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力における、要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
【0383】
ブロック2204では、デバイスはクラウンの位置情報を受信する。位置情報は、一連のパルス信号、実数値、整数値などとして受信されてもよい。
【0384】
ブロック2206では、デバイスは、クラウンの距離値に変化が発生したかどうかを判定する。クラウンの距離値は、着用可能電子デバイスの物理的なクラウンの角変位に基づく。クラウンの距離値の変化は、ユーザが着用可能電子デバイスに、例えば、物理的なクラウンを回転させることによって、入力を提供していることを示す。デバイスが、クラウンの距離値に変化が発生しなかったと判定した場合、システムはブロック2204に戻り、引き続きクラウンの位置情報を受信する。デバイスが、クラウンの距離値に変化が発生したと判定した場合、システムは引き続きクラウンの位置情報を受信してもよいが、システムはブロック2208に進む。
【0385】
デバイスは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、方向も判定する。例えば、上方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよい。同様に、下方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。他の実施例では、下方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよく、上方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。
【0386】
ブロック2208では、クラウンの距離値の変化を判定したことに応じて、デバイスは、複数の選択可能要素のうちの選択要素に向かう、フォーカスセレクタの移動を発生させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動の割合(速度)を有する。
【0387】
いくつかの実施例では、フォーカスセレクタが脱出速度に達するのに必要な、クラウンの回転の最小角速度は、クラウン558(
図1)の瞬間的な角速度に直接対応し、これは、デバイス550のユーザインタフェースが、実質的に、クラウン558が十分な角速度に達したときに応答することを意味する。いくつかの実施形態では、フォーカスセレクタが脱出速度に達するのに必要な、クラウンの回転の最小角速度は、完全に一致するわけではないが、クラウン558の瞬間的な(「現在の」)角速度に基づき計算された速度である。これらの実施例では、デバイス550は、式1に従って計算された、時間Tの個々の瞬間におけるクラウン(角)速度Vを維持してもよい。
【0388】
VT=V(T-1)+ΔVCROWN-ΔCDRAG (式1)
式1では、VTは時間Tにおける計算されたクラウンの速度(速度及び方向)を表し、V(T-1)は時間T-1における前の速度(速度及び方向)を表し、ΔVCROWNは時間Tにおいてクラウンの回転を通じて加えられた力によって発生した速度の変化を表し、ΔVDRAGは抗力による速度の変化を表す。ΔVCROWNを通じて反映される、加えられる力は、クラウンの角回転の現在の速度に依存してもよい。したがって、ΔVCROWNはまた、クラウンの現在の角速度に依存してもよい。このように、デバイス550は、クラウンの瞬間的な速度に基づくだけでなく、複数の時間間隔にわたるクラウンの移動という形式によるユーザ入力にも基づいて(間隔が細かく分割されているとしても)、ユーザインタフェースの相互作用を提供してもよい。典型的には、式1によれば、ΔVCROWNの形式によるユーザ入力が存在しない場合、ΔVDRAGに基づき、VTはゼロに近付く(そしてゼロになる)が、VTは、クラウンの回転(ΔVCROWN)という形式によるユーザ入力が存在しない場合でも、符号が変わることはないことに留意されたい。
【0389】
典型的には、クラウンの角回転の速度が速くなるほど、ΔVCROWNの値は大きくなる。ただし、クラウンの角回転の速度とΔVCROWNとの間の実際の対応付けは、所望のユーザインタフェース効果によって異なってもよい。例えば、クラウンの角回転の速度とΔVCROWNとの間で、様々な線形又は非線形の対応付けが使用されてもよい。
【0390】
また、ΔVDRAGは様々な値を取ってもよい。例えば、ΔVDRAGは、より速い速度において、より大きい逆の速度変化(ΔVDRAG)が発生し得るように、クラウンの回転の速度に依存してもよい。別の実施例では、ΔVDRAGは一定の値を有してもよい。上述のΔVCROWN及びΔVDRAGの要件は、望ましいユーザインタフェース効果を生み出すために変更されてもよいことを理解されたい。
【0391】
式1からわかるように、維持された速度(VT)は、ΔVCROWNがΔVDRAGを上回る限り増加し続ける。更に、VTは、ΔVCROWNの入力が受信されなかったときでもゼロ以外の値を有してもよく、これは、ユーザがクラウンを回転させなくても、ユーザインタフェースオブジェクトが変化し続けてもよいことを意味する。これが発生したときに、オブジェクトは、ユーザがクラウンを回転させることを止めたときの維持された速度及びΔVDRAG成分に基づき、変化を止めてもよい。
【0392】
いくつかの実施例では、クラウンが現在のユーザインタフェースの変化と反対の回転方向に対応する方向に回転されたときに、V(T-1)成分がゼロの値にリセットされ、ユーザは、VTを相殺するための十分な力を提供する必要なく、オブジェクトの方向を素早く変更することが可能になる。
【0393】
ブロック2210では、システムはフォーカスセレクタの速度を判定する。フォーカスセレクタの速度は、上述のように、クラウンの速度に基づき判定されてもよい。
【0394】
ブロック2212では、選択可能要素のうちの1つ以上の磁気値が、フォーカスセレクタの速度に基づき修正される。一実施例では、1つ以上の選択可能要素の磁気値は、フォーカスセレクタの速度に反比例する。例えば、フォーカスセレクタが第1の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の10分の1に減少する。フォーカスセレクタが、第1の閾値を下回り、かつ第2の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の5分の1に減少する。フォーカスセレクタの速度が更に低下し、第2の閾値を下回る速度を有するとき、選択可能要素の磁気値は、それらの元の値に戻る。
【0395】
更に、フォーカスセレクタの速度は、選択要素に関連付けられた磁気値に少なくとも基づく、選択要素とのフォーカスセレクタの物理学に基づく磁気相互作用のために変化する。例えば、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素に向かって移動するにつれて、フォーカスセレクタの速度を上昇させてもよい。同様に、選択要素の物理学に基づく磁気吸引力は、フォーカスセレクタが選択要素から離れるように移動するにつれて、フォーカスセレクタの速度を低下させてもよい。
【0396】
同様に、他の選択可能要素とのフォーカスセレクタの磁気相互作用は、フォーカスセレクタの速度の変化を発生させてもよい。例えば、フォーカスセレクタの速度は、フォーカスセレクタが、選択されていない状態のままである要素に近付き、その要素を通過したときに変化してもよい。この選択されていない要素との相互作用の結果である、フォーカスセレクタの速度の変化は、少なくとも部分的に、選択されていない要素の磁気値に基づく。
【0397】
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、仮想的な引張力に基づく仮想的な磁気強度である。
【0398】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、フォーカスセレクタが動いている間のフォーカスセレクタの速度を低減してもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0399】
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、クラウンの回転を通じて追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムはクラウンの距離値の第2の変化を判定する。システムは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、第2の方向も判定する。クラウンの距離値の第2の変化を判定したことに応じて、システムは、更なる力をフォーカスセレクタに加えることによって、フォーカスセレクタの速度を上昇又は低下させる。フォーカスセレクタの移動の割合の変化は、クラウンの距離値の第2の変化及び第2の方向に基づく。
【0400】
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。
【0401】
図23から
図30は、選択可能要素2302、2304、2306、2308の形式の複数のユーザインタフェースオブジェクト及びフォーカスセレクタ2310を表示する、例示的なユーザインタフェース2300を示す。ユーザは、所望の選択要素に位置合わせされるようにフォーカスセレクタ2310を移動するために、着用可能電子デバイスの物理的なクラウンを使用することによって、複数の選択可能要素の中から選択要素を選択してもよい。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0402】
デバイス550のクラウン558は、ユーザによって回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。クラウン558は、時計回り及び反時計回りという2つの異なる方向に回転されてもよい。
図24から
図29は、必要に応じて、クラウンの回転の方向を示す回転方向矢印及び1つ以上のユーザインタフェースオブジェクトの移動の方向を示す移動方向矢印を含む。これらの回転方向矢印及び移動方向矢印は、通常は表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。この実施例では、クラウン558の反時計回り方向の回転は、下方向を指す回転方向矢印によって示される。回転方向矢印の特性は、クラウン558がユーザによって回転される距離、速度、又は加速度のいずれも示さない。その代わりに、回転方向矢印は、ユーザによるクラウン558の回転の方向を示す。
【0403】
図23から
図30は、ユーザインタフェースオブジェクトとのユーザの対話を制御するために、物理的なクラウンユーザ入力デバイスと組み合わせて使用され得る、物理学に基づく例示的なモデルを示す。この実施例では、要素2302、2304、2306、2308は固定され、フォーカスセレクタ2310は、クラウン558から受信したユーザ入力を介して移動可能である。クラウン558の反時計回りの移動は、フォーカスセレクタ2310に対する下移動方向への力に関連付けられる。
【0404】
上述のように、要素2302、2304、2306、2308とフォーカスセレクタ2310との間の磁気的関係を使用するとき、要素1302、1304、1306、1308とフォーカスセレクタ1310との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。更に、フォーカスセレクタ2310の移動は、物理学に基づくばねモデルを使用して更に制御されてもよい。
【0405】
物理学に基づくばねのモデリングは、例えば、要素2302及び2308に取り付けられたばねをモデリングすることによって実現される。フォーカスセレクタ2310が複数の選択可能要素の制限範囲を超えて移動すると、ばねがフォーカスセレクタ2310に係合し、フォーカスセレクタの「ラバーバンディング」を発生させる。例えば、仮想的なばね2312、2314は、フックの法則を使用してモデリングされてもよい。フックの法則は、ばねを一定の距離だけ伸張又は圧縮するために必要な力は、その距離に比例すると述べている。言い換えれば、F=力、k=ばね係数、及びx=距離の場合に、F=kxである。ばね2312、2314は、典型的には、表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供されている。
【0406】
図23では、フォーカスセレクタ2310は要素2308に位置合わせされ、これは要素2308の選択を示す。
図24では、デバイス550は、回転方向矢印2330によって示されるような、反時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイスは、フォーカスセレクタ2310の速度を上昇させ、移動方向矢印2320によって示されるように、フォーカスセレクタ2310を下方向に移動させる。一実施例では、フォーカスセレクタは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
【0407】
要素2308は磁気要素としてモデリングされ、フォーカスセレクタ2310は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。
【0408】
図24から
図26では、フォーカスセレクタ2310は、選択可能要素の範囲を超えて移動する。その結果、ばね2314がフォーカスセレクタ2310に係合し、
図27から
図30に示すように、フォーカスセレクタ2310を「ラバーバンディング」によって戻す。ばね2310のばね係数は、異なる特性を有する結果を生み出すために、変更されてもよい。
【0409】
図30では、フォーカスセレクタ2310は、要素2308に位置合わせされた状態で静止する。システムはこの位置合わせを要素2308の選択として解釈し、これはユーザがクラウン558の使用を通じてフォーカスセレクタ2310を操作することによって実現される。いくつかの実施例では、ユーザが要素2308を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0410】
要素2308が選択されている間、ユーザは多くの技術のうちの1つ以上によって要素2308をアクティブ化してもよい。例えば、ユーザは、タッチ感知ディスプレイを押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタンを押下するか、又は単純に、要素2308が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカスセレクタを位置合わせさせることが、要素の選択及びアクティブ化の両方として解釈されてもよい。
【0411】
この実施例では、フォーカスセレクタの移動は、既定の垂直経路に沿って制限される。他の実施例では、フォーカスセレクタの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカスセレクタとの間で必要とされてもよい。
【0412】
図31は、物理的なクラウンを入力デバイスとして使用してグラフィカルユーザインタフェース内の要素を選択するための処理3100を示すフロー図である。処理3100は、物理的なクラウンを有する着用可能電子デバイス(例えば、
図1のデバイス550)において実行される。いくつかの実施例では、電子デバイスは、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
【0413】
ブロック3102では、デバイスは、着用可能電子デバイスのタッチ感知ディスプレイへの複数の選択可能要素の表示を発生させる。デバイスは、フォーカスセレクタの表示も発生させる。デバイスは、選択可能要素とフォーカスセレクタとの間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素のそれぞれの選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力における、要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
【0414】
ブロック3104では、デバイスはクラウンの位置情報を受信する。位置情報は、一連のパルス信号、実数値、整数値などとして受信されてもよい。
【0415】
ブロック3106では、デバイスは、クラウンの距離値に変化が発生したかどうかを判定する。クラウンの距離値は、着用可能電子デバイスの物理的なクラウンの角変位に基づく。クラウンの距離値の変化は、ユーザが着用可能電子デバイスに、例えば、物理的なクラウンを回転させることによって、入力を提供していることを示す。デバイスが、クラウンの距離値に変化が発生しなかったと判定した場合、システムはブロック3104に戻り、引き続きクラウンの位置情報を受信する。デバイスが、クラウンの距離値に変化が発生したと判定した場合、システムは引き続きクラウンの位置情報を受信してもよいが、システムはブロック3108に進む。
【0416】
デバイスは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、方向も判定する。例えば、上方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよい。同様に、下方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。他の実施例では、下方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよく、上方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。
【0417】
ブロック3108では、クラウンの距離値の変化を判定したことに応じて、デバイスは、フォーカスセレクタの移動を発生させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、フォーカスセレクタの移動は判定された方向への移動である。フォーカスセレクタの移動は、アニメーションされてもよい。この移動は、移動の割合(速度)を有する。更に、選択可能要素のうちの1つ以上の磁気値が、フォーカスセレクタの速度に基づき修正されてもよい。
【0418】
ブロック3110では、システムは、フォーカスセレクタが所定の制限範囲を超えたかどうかを判定する。システムが、フォーカスセレクタが所定の制限範囲を超えていないと判定した場合、システムはブロック3104に戻る。システムが、フォーカスセレクタが所定の制限範囲を超えたと判定した場合、システムはブロック3112において、仮想的なばねに係合する。仮想的なばねは、フォーカスセレクタに速度を低下させ、ラバーバンディングによって所定の制限範囲内に戻らせる。このメカニズムは、ユーザが選択可能要素の範囲を大幅に超えてフォーカスセレクタを移動させることを防止する。ブロック3104では、システムは引き続きクラウンの位置情報を受信する。
【0419】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、フォーカスセレクタが動いている間のフォーカスセレクタの速度を低減してもよい。例えば、フォーカスセレクタの速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0420】
いくつかの実施例では、デバイスは、フォーカスセレクタが安定状態に達する前に、クラウンの回転を通じて追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムはクラウンの距離値の第2の変化を判定する。システムは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、第2の方向も判定する。クラウンの距離値の第2の変化を判定したことに応じて、システムは、更なる力をフォーカスセレクタに加えることによって、フォーカスセレクタの速度を上昇又は低下させる。フォーカスセレクタの移動の割合の変化は、クラウンの距離値の第2の変化及び第2の方向に基づく。
【0421】
いくつかの実施例では、フォーカスセレクタが選択要素に位置合わせされ、安定状態になると、システムは、選択要素が選択されたと判定する。他の実施例では、ユーザが、フォーカスセレクタに位置合わせされ、安定状態になった選択要素を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0422】
図32から
図38は、選択可能要素3202、3204、3206、3208、3210、3212の形式の複数のユーザインタフェースオブジェクト及びフォーカス領域3220を表示する、例示的なユーザインタフェース3200を示す。ユーザは、選択可能要素3202、3204、3206、3208、3210、3212をスクロールして、所望の選択要素をフォーカス領域3220に位置合わせさせるために、着用可能電子デバイスの物理的なクラウンを使用することによって、複数の選択可能要素の中から選択要素を選択してもよい。フォーカス領域3220は、典型的には、表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0423】
デバイス550のクラウン558は、ユーザによって回転可能なユーザインタフェース入力(例えば、回転可能入力機構)である。クラウン558は、時計回り及び反時計回りという2つの異なる方向に回転されてもよい。
図32から
図38は、必要に応じて、クラウンの回転の方向を示す回転方向矢印及び1つ以上のユーザインタフェースオブジェクトの移動の方向を示す移動方向矢印を含む。これらの回転方向矢印及び移動方向矢印は、通常は表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。この実施例では、クラウン558の時計回り方向の回転は、上方向を指す回転方向矢印によって示される。同様に、クラウン558の反時計回り方向の回転は、下方向を指す回転方向矢印によって示される。回転方向矢印の特性は、クラウン558がユーザによって回転される距離、速度、又は加速度のいずれも示さない。その代わりに、回転方向矢印は、ユーザによるクラウン558の回転の方向を示す。
【0424】
図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は、要素のスクロール可能リストを形成する。
【0425】
要素のスクロール可能リストの移動を制御するユーザの能力を容易にするために、「磁気的」関係が、ユーザによって選択可能な各要素とフォーカス領域3220との間に関連付けられる。この実施例では、要素3202、3204、3206、3208、3210、3212とフォーカス領域3220との間の磁気的関係の値(磁気値とも呼ばれる)は一定である。他の実施例では、要素3202、3204、3206、3208、3210、3212の磁気値は異なってもよい。
【0426】
要素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に合わせた要素の位置合わせは、その要素の選択を示す。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
【0427】
この実施例では、物理学に基づくモデリングは、例えば、各要素3202、3204、3206、3208、3210、3212を、その独自の永続的な磁界を生み出す磁化された材料から作製された物体としてモデリングし、フォーカス領域3220を、磁石に吸引される、鉄、コバルト、及びニッケルを含む強磁性材料などの材料としてモデリングすることによって実現される。別の実施例では、物理学に基づくモデリングは、各要素3202、3204、3206、3208、3210、3212を、磁石に吸引される材料から作製された物体としてモデリングし、フォーカス領域3220を、その独自の永続的な磁界を生み出す材料としてモデリングすることによって実現されてもよい。別の実施例では、物理学に基づくモデリングは、各要素3202、3204、3206、3208、3210、3212を、その独自の永続的な磁界を生み出す物体としてモデリングし、フォーカス領域3220を、同じく独自の永続的な磁界を生み出す、吸引力のある2つの磁石などの材料としてモデリングすることによって実現されてもよい。これらの物理学に基づくモデルのそれぞれは、永続的なままではなく、要素とフォーカス領域3220との間の距離、要素の速度、要素の加速度などの特定の因子に基づくか、又は2つ以上の因子の組み合わせに基づき変化する磁界を含むようにされてもよい。例えば、変化する磁界は、オン又はオフにされ得、及び変化する強度を有し得る、電磁石の使用によってシミュレートされてもよい。
【0428】
一実施例では、要素3202、3204、3206、3208、3210、3212の磁気強度は、要素のスクロール可能リストの速度に基づき変化する。要素のスクロール可能リストの速度が上昇すると、要素3202、3204、3206、3208、3210、3212の磁気強度は低下する。要素のスクロール可能リストの速度が上昇すると、要素3202、3204、3206、3208、3210、3212の磁気強度は増加する。その結果、要素のスクロール可能リストが素早く移動しているとき、要素3202、3204、3206、3208、3210、3212がフォーカス領域の速度を変化させることにおいて果たす役割は、要素のスクロール可能リストがゆっくり移動しているときと比べて小さくなる。
【0429】
図32では、要素3204はフォーカス領域3220に位置合わせされ、これは要素3204の選択を示す。
図33では、デバイス550は、回転方向矢印3230によって示されるような、時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイスは、要素のスクロール可能リストの速度を上昇させ、移動方向矢印3240によって示されるように、要素のスクロール可能リストを上方向に移動させる。一実施例では、要素のスクロール可能リストは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
【0430】
要素3204は磁気要素としてモデリングされ、フォーカス領域3220は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。ユーザインタフェース3200の物理学に基づくモデルは、この磁気吸引力を使用して、フォーカス領域3220から離れるような要素3204の移動の抵抗を発生させる。要素の磁気値(例えば、要素の磁気吸引力の強度)は、例えば、その引張力(要素が他の物体を移動させる能力)をにおいてモデリングされてもよい。加えられる引張力は、マクスウェル方程式によって説明されるような、電磁石又は永久磁石の引張力に基づいてもよい。
【0431】
図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に吸引されるためである。いくつかの実施例では、要素のスクロール可能リストの表示されない要素もまた、要素のスクロール可能リストに力を加える。
【0432】
要素とフォーカス領域3220との間の距離は、要素が要素のスクロール可能リストに加える力の量においても、一定の役割を果たす。概して、要素とフォーカス領域3220との間の距離が増加すると、要素とフォーカス領域3220との間の力の強度は低下する。力の強度の変化の割合は、多くの方法でモデリングされ得る。例えば、逆二乗則が、距離の関数としての力の強度に適用されることができる。より具体的には、Iが力の強度、dが距離の場合に、I=1/d2である。他の実施例では、磁気力は、距離に正反比例して変化してもよく、又は距離の3乗に反比例して変化してもよい。
【0433】
いくつかの実施例では、要素とフォーカス領域との間の磁気吸引力は、要素がフォーカス領域3220から所定の距離内にある間のみ存在する。この場合、要素のスクロール可能リストに加えられる力を判定するときに、フォーカス領域3220からの距離が所定の距離を上回る要素の磁気力は考慮されないため、計算は単純化される。
【0434】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムはまた、摩擦の物理学に基づくモデルを利用して、要素のスクロール可能リストが動いている間の要素のスクロール可能リストの速度を低減してもよい。例えば、要素のスクロール可能リストの速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦(drag friction)などをシミュレートしてもよい。
【0435】
図35から
図38では、デバイス550は、クラウン558の位置が変化していないと判定する。この判定の結果、更なる速度が要素のスクロール可能リストの既存の速度に加えられることはない。ただし、要素3202、3204、3206、3208、3210、3212の磁気力は、引き続き要素のスクロール可能リストに加えられる。同様に、物理学に基づく摩擦モデルは、引き続き要素のスクロール可能リストに適用される。
図35から
図38では、要素3208は、要素のスクロール可能リストの他の要素と比較した場合に、要素のスクロール可能リストに対して最も大きい磁気効果を有し、これは、要素3208がフォーカス領域3220に最も近いためである。この物理学に基づく磁気モデリングの結果、仮想的な戻り止めを示すユーザインタフェースが提供される。
【0436】
図36では、要素3208がフォーカス領域3220を通過すると、要素3208は下方向の力を要素のスクロール可能リストに加え、更に要素のスクロール可能リストの速度を低下させる。
図37では、要素3208によって要素のスクロール可能リストに加えられた下方向の磁気力は、要素のスクロール可能リストを下方向に移動させ、要素3208をフォーカス領域3220に位置合わせさせる。要素のスクロール可能リストは、要素3208がフォーカス領域3220に位置合わせされた状態で静止する。システムはこの位置合わせを要素3208の選択として解釈し、これはユーザがクラウン558の使用を通じて要素のスクロール可能リストを操作することによって実現される。
【0437】
要素3208が選択されている間、ユーザは多くの技術のうちの1つ以上によって要素3208をアクティブ化してもよい。例えば、ユーザは、タッチ感知ディスプレイ556を押圧するか、所定の閾値を上回る力でタッチ感知ディスプレイを押圧するか、ボタン562を押下するか、又は単純に、要素3208が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカス領域を位置合わせさせることが、要素の選択及びアクティブ化の両方として解釈されてもよい。いくつかの実施例では、ユーザが要素を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0438】
ユーザインタフェース3200は、例えば、低減されたサイズのディスプレイを備えるデバイスでのテキスト入力に使用されてもよい。要素のスクロール可能リストの各要素は、文字(A~Zから選択された文字など)、単語、語句、又は数字(0~9から選択された数字など)に対応してもよい。ユーザはこれらの英数字要素をスクロールし、単語、数字、文などを形成するために、所望の要素を順次選択及びアクティブ化してもよい。要素が様々な強度の磁気強度を有する実施例では、アルファベットの文字に関連付けられた要素の磁気強度は、その文字の使用頻度に基づいてもよい。その結果、特定の文字が他の文字よりも強い磁気を有し、それゆえに選択しやすくなり得る。
【0439】
この実施例では、要素のスクロール可能リストの移動は、既定の垂直経路に沿って制限される。他の実施例では、要素のスクロール可能リストの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカス領域との間で必要とされてもよい。
【0440】
図39は、物理的なクラウンを入力デバイスとして使用してグラフィカルユーザインタフェース内の要素を選択するための処理3900を示すフロー図である。処理3900は、物理的なクラウンを有する着用可能電子デバイス(例えば、
図1のデバイス550)において実行される。いくつかの実施例では、電子デバイスは、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
【0441】
ブロック3902では、デバイスは、着用可能電子デバイスのタッチ感知ディスプレイへの複数の選択可能要素の表示を発生させる。デバイスは、フォーカス領域も記録する。フォーカス領域は、例えば、領域、線、又は点であってもよい。デバイスは、選択可能要素とフォーカス領域との間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素のそれぞれの選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力における、要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
【0442】
ブロック3904では、デバイスはクラウンの位置情報を受信する。位置情報は、一連のパルス信号、実数値、整数値などとして受信されてもよい。
【0443】
ブロック3906では、デバイスは、クラウンの距離値に変化が発生したかどうかを判定する。クラウンの距離値は、着用可能電子デバイスの物理的なクラウンの角変位に基づく。クラウンの距離値の変化は、ユーザが着用可能電子デバイスに、例えば、物理的なクラウンを回転させることによって、入力を提供していることを示す。デバイスが、クラウンの距離値に変化が発生しなかったと判定した場合、システムはブロック3904に戻り、引き続きクラウンの位置情報を受信する。デバイスが、クラウンの距離値に変化が発生したと判定した場合、システムは引き続きクラウンの位置情報を受信してもよいが、システムはブロック3908に進む。
【0444】
デバイスは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、方向も判定する。例えば、上方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよい。同様に、下方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。他の実施例では、下方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよく、上方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。
【0445】
ブロック3908では、クラウンの距離値の変化を判定したことに応じて、デバイスは、複数の選択可能要素の移動を発生させる。移動の方向は、複数の選択可能要素のうちの選択要素が、移動前よりもフォーカス領域に近付く方向である。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、複数の選択可能要素の移動は判定された方向への移動である。複数の選択可能要素の移動は、アニメーションされてもよい。複数の選択可能要素の移動は、移動の割合(速度)を有する。
【0446】
ブロック3910では、選択可能要素のうちの1つ以上の磁気値が、複数の選択可能要素の速度に基づき修正される。一実施例では、1つ以上の選択可能要素の磁気値は、複数の選択可能要素の速度に反比例する。例えば、複数の選択可能要素が第1の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の第1の係数(例えば、10)分の1に減少する。複数の選択可能要素が、第1の閾値を下回り、かつ第2の閾値を上回る速度を有するとき、選択可能要素の磁気値は、それらの元の値の第2の係数(例えば、5)分の1に減少する。複数の選択可能要素の速度が更に低下し、第2の閾値を下回る速度を有するとき、選択可能要素の磁気値は、それらの元の値に戻る。第1の係数は、第2の係数よりも大きい。
【0447】
更に、複数の選択可能要素の速度は、選択要素に関連付けられた磁気値に少なくとも基づく、フォーカス領域との複数の選択可能要素の物理学に基づく磁気相互作用のために変化する。例えば、フォーカス領域に対する選択要素の物理学に基づく磁気吸引力は、選択要素がフォーカス領域に向かって移動するにつれて、複数の選択可能要素の速度を上昇させてもよい。同様に、フォーカス領域に対する選択要素の物理学に基づく磁気吸引力は、選択要素がフォーカス領域から離れるように移動するにつれて、複数の選択可能要素の速度を低下させてもよい。同様に、複数の選択可能要素のうちの他の選択可能要素とのフォーカス領域の磁気相互作用は、複数の選択可能要素の速度の変化を発生させてもよい。
【0448】
いくつかの実施例では、選択可能要素に関連付けられた磁気値は、選択可能要素とフォーカス領域との間の仮想的な引張力に基づく仮想的な磁気強度である。
【0449】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、複数の選択可能要素が動いている間の複数の選択可能要素の速度を低減してもよい。例えば、複数の選択可能要素の速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0450】
いくつかの実施例では、デバイスは、複数の選択可能要素が安定状態に達する前に、クラウンの回転を通じて追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムはクラウンの距離値の第2の変化を判定する。システムは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、第2の方向も判定する。クラウンの距離値の第2の変化を判定したことに応じて、システムは、更なる力を複数の選択可能要素に加えることによって、複数の選択可能要素の速度を上昇又は低下させる。複数の選択可能要素の移動の割合の変化は、クラウンの距離値の第2の変化及び第2の方向に基づく。
【0451】
いくつかの実施例では、選択要素がフォーカス領域に位置合わせされ、複数の選択可能要素が安定状態になると、システムは、選択要素が選択されたと判定する。
【0452】
図40から
図45は、選択可能要素4002、4004の形式の複数のユーザインタフェースオブジェクト及びフォーカス領域4006を表示する、例示的なユーザインタフェース4000を示す。要素のスクロール可能リストは、選択可能要素4002、4004を含む。ユーザは、所望の選択要素がフォーカス領域4006に位置合わせされるように要素のスクロール可能リストを移動するために、着用可能電子デバイスの物理的なクラウンを使用することによって、複数の選択可能要素の中から選択要素を選択してもよい。
【0453】
デバイス550のクラウン558は、ユーザによって回転可能なユーザインタフェース入力である。クラウン558は、時計回り及び反時計回りという2つの異なる方向に回転されてもよい。
図40から
図45は、必要に応じて、クラウンの回転の方向を示す回転方向矢印及び要素のスクロール可能リストの移動の方向を示す移動方向矢印を含む。これらの回転方向矢印及び移動方向矢印は、通常は表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。この実施例では、クラウン558の反時計回り方向の回転は、下方向を指す回転方向矢印によって示される。回転方向矢印の特性は、クラウン558がユーザによって回転される距離、速度、又は加速度のいずれも示さない。その代わりに、回転方向矢印は、ユーザによるクラウン558の回転の方向を示す。
【0454】
図40から
図45は、ユーザインタフェースオブジェクトとのユーザの対話を制御するために、物理的なクラウンユーザ入力デバイスと組み合わせて使用され得る、物理学に基づく例示的なモデルを示す。この実施例では、フォーカス領域4006は固定され、要素4002、4004は、クラウン558から受信したユーザ入力を介して移動可能である。クラウン558の反時計回りの移動は、要素のスクロール可能リストに対する下移動方向への力に関連付けられる。
【0455】
上述のように、フォーカス領域4006と要素4002、4004との間の磁気的関係を使用するとき、フォーカス領域4006と要素4002、4004との間の磁気吸引力をシミュレートするために、物理学に基づくモデリングが使用され得る。更に、要素のスクロール可能リストの移動は、物理学に基づくばねモデルを使用して更に制御されてもよい。
【0456】
物理学に基づくばねのモデリングは、例えば、要素のスクロール可能リストの1つ以上の端部に取り付けられたばねをモデリングすることによって実現される。要素のスクロール可能リストが所定の制限範囲を超えて移動すると、ばねが要素のスクロール可能リストに係合し、要素のスクロール可能リストの「ラバーバンディング」を発生させる。例えば、
図41から
図44の仮想的なばね4008は、フックの法則を使用してモデリングされてもよい。フックの法則は、ばねを一定の距離だけ伸張又は圧縮するために必要な力は、その距離に比例すると述べている。言い換えれば、F=力、k=ばね係数、及びx=距離の場合に、F=kxである。ばね4008は、典型的には、表示されるユーザインタフェースの一部ではなく、図の解釈を支援するために提供される。
【0457】
図40では、要素4002はフォーカス領域4006に位置合わせされ、これは要素4002の選択を示す。
図41では、デバイス550は、回転方向矢印4010によって示されるような、反時計回り方向へのクラウン558の位置の変化を判定する。クラウン558の位置の変化を判定したことに応じて、デバイスは、要素のスクロール可能リストの速度を上昇させ、移動方向矢印4012によって示されるように、要素4002、4004を下方向に移動させる。一実施例では、要素のスクロール可能リストは質量に関連付けられてもよく、又は計算された慣性を有してもよい。
【0458】
要素4002は磁気要素としてモデリングされ、フォーカス領域4006は強磁性材料としてモデリングされるため、2つのユーザインタフェースオブジェクト間には磁気吸引力が存在する。
【0459】
図41から
図42では、要素のスクロール可能リストは所定の制限範囲を超えて移動する。その結果、ばね4008は要素のスクロール可能リストに係合し、
図43から
図45に示すように、要素のスクロール可能リストを「ラバーバンディング」によって戻す。ばね4008のばね係数は、異なる特性を有する結果を生み出すために、変更されてもよい。
【0460】
図45では、要素4002は、フォーカス領域4006に位置合わせされた状態で静止する。システムはこの位置合わせを要素4006の選択として解釈し、これはユーザがクラウン558の使用を通じて要素のスクロール可能リストを操作することによって実現される。いくつかの実施例では、ユーザが要素4006を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0461】
要素4002が選択されている間、ユーザは多くの技術のうちの1つ以上によって要素4002をアクティブ化してもよい。例えば、ユーザは、タッチ感知ディスプレイを押圧するか、ボタンを押下するか、又は単純に、要素4002が所定の時間にわたって選択されたままにすることを可能にしてもよい。別の実施例では、要素及びフォーカス領域を位置合わせさせることが、要素の選択及びアクティブ化の両方として解釈されてもよい。
【0462】
この実施例では、要素のスクロール可能リストの移動は、既定の垂直経路に沿って制限される。他の実施例では、要素のスクロール可能リストの移動は、異なる既定の経路に沿って制限されてもよく、又は既定の経路に制限されなくてもよい。この実施例では、要素の選択を示すために、1つの軸(垂直軸)のみにおける位置合わせが使用される。いくつかの実施例では、選択を示すために、2つ、3つ、又はそれ以上の軸における位置合わせが、要素とフォーカス領域との間で必要とされてもよい。
【0463】
図46は、物理的なクラウンを入力デバイスとして使用してグラフィカルユーザインタフェース内の要素を選択するための処理4600を示すフロー図である。処理4600は、物理的なクラウンを有する着用可能電子デバイス(例えば、
図1のデバイス550)において実行される。いくつかの実施例では、電子デバイスは、タッチ感知ディスプレイも備える。この処理は、グラフィカルユーザインタフェース内の複数の要素の中から要素を選択するための効率的な技術を提供する。
【0464】
ブロック4602では、デバイスは、着用可能電子デバイスのタッチ感知ディスプレイへの複数の選択可能要素の表示を発生させる。デバイスは、フォーカス領域も記録する。デバイスは、選択可能要素とフォーカス領域との間の磁気吸引力をシミュレートするために、物理学に基づくモデルを使用する。複数の選択可能要素のそれぞれの選択可能要素は、対応する磁気値に関連付けられる。磁気値は、その引張力における、要素の磁気吸引力の強度であってもよく、各要素は異なる磁気値を有してもよい。
【0465】
ブロック4604では、デバイスはクラウンの位置情報を受信する。位置情報は、一連のパルス信号、実数値、整数値などとして受信されてもよい。
【0466】
ブロック4606では、デバイスは、クラウンの距離値に変化が発生したかどうかを判定する。クラウンの距離値は、着用可能電子デバイスの物理的なクラウンの角変位に基づく。クラウンの距離値の変化は、ユーザが着用可能電子デバイスに、例えば、物理的なクラウンを回転させることによって、入力を提供していることを示す。デバイスが、クラウンの距離値に変化が発生しなかったと判定した場合、システムはブロック4604に戻り、引き続きクラウンの位置情報を受信する。デバイスが、クラウンの距離値に変化が発生したと判定した場合、システムは引き続きクラウンの位置情報を受信してもよいが、システムはブロック4608に進む。
【0467】
デバイスは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、方向も判定する。例えば、上方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよい。同様に、下方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。他の実施例では、下方向は、物理的なクラウンの時計回りの回転に基づき判定されてもよく、上方向は、物理的なクラウンの反時計回りの回転に基づき判定されてもよい。
【0468】
ブロック4608では、クラウンの距離値の変化を判定したことに応じて、デバイスは、複数の選択可能要素の移動を発生させる。この移動は、複数の選択可能要素のフォーカスを変化させる。少なくとも最初は、複数の選択可能要素の移動は判定された方向への移動である。複数の選択可能要素の移動は、アニメーションされてもよい。この移動は、移動の割合(速度)を有する。更に、選択可能要素のうちの1つ以上の磁気値が、複数の選択可能要素の速度に基づき修正されてもよい。
【0469】
ブロック4610では、システムは、複数の選択可能要素が所定の制限範囲を超えたかどうかを判定する。システムが、複数の選択可能要素が所定の制限範囲を超えていないと判定した場合、システムはブロック4604に戻る。システムが、複数の選択可能要素が所定の制限範囲を超えたと判定した場合、システムはブロック4612において、仮想的なばねに係合する。仮想的なばねは、複数の選択可能要素に速度を低下させ、ラバーバンディングによって所定の制限範囲内に戻らせる。このメカニズムは、ユーザが所定の制限範囲を大幅に超えて複数の選択可能要素を移動させることを防止する。ブロック4604では、システムは引き続きクラウンの位置情報を受信する。
【0470】
いくつかの実施例では、ユーザインタフェースに更なる現実感を加え、更なる使いやすさを提供するために、システムは、摩擦の物理学に基づくモデルを利用して、複数の選択可能要素が動いている間の複数の選択可能要素の速度を低減してもよい。例えば、複数の選択可能要素の速度は、摩擦係数値に基づき、連続的に(又は繰り返し)低減されてもよい。この物理学に基づく摩擦モデルは、運動摩擦、抵抗摩擦などをシミュレートしてもよい。
【0471】
いくつかの実施例では、デバイスは、複数の選択可能要素が安定状態に達する前に、クラウンの回転を通じて追加の入力を受信する。オブジェクトは、オブジェクトが並進移動、回転、又は拡大縮小されていないときに安定状態にある。この実施例では、システムはクラウンの距離値の第2の変化を判定する。システムは、着用可能電子デバイスの物理的なクラウンの回転の方向に基づき、第2の方向も判定する。クラウンの距離値の第2の変化を判定したことに応じて、システムは、更なる力を複数の選択可能要素に加えることによって、複数の選択可能要素の速度を上昇又は低下させる。複数の選択可能要素の移動の割合の変化は、クラウンの距離値の第2の変化及び第2の方向に基づく。
【0472】
いくつかの実施例では、複数の選択可能要素のうちの選択要素がフォーカス領域に位置合わせされ、複数の選択可能要素が安定状態になると、システムは、選択要素が選択されたと判定する。いくつかの実施例では、ユーザが選択要素を選択するために、位置合わせ後のタップ操作、クラウン又は別のボタンの押下などの追加の入力が要求されてもよい。
【0473】
いくつかの実施例では、デバイス550は、ディスプレイ556上に表示されたコンテンツに基づき、触覚フィードバックを提供してもよい。ユーザインタフェースオブジェクトがディスプレイ556上に表示されたら、デバイスは、デバイス550においてクラウン558の回転に基づき受信されたクラウンの距離値の変化に基づき、オブジェクトの外観を修正してもよい。基準が満たされた場合、触知出力がデバイス550において出力される。
【0474】
一実施例では、オブジェクトは上述のものなどの要素のスクロール可能リストである。基準は、スクロール可能リストの先頭又は末尾に達したときに満たされる。別の実施例では、オブジェクトはズーム可能視覚的要素である。基準は、ズーム可能視覚的要素の最大又は最小ズームレベルに達したときに満たされる。別の実施例では、オブジェクトは選択可能要素のスクロール可能リストである。基準は、スクロール可能リストの選択可能要素が選択領域を占有するたびに満たされる。
【0475】
ユーザインタフェースに関する機能のうちの1つ以上は、
図47に示すシステム4700と類似するか又は同一のシステムによって実行されてもよい。システム4700は、メモリ4704又は記憶デバイス4702などの非一時的コンピュータ可読記憶媒体に記憶され、プロセッサ4706によって実行される命令を含んでもよい。命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行し得る他のシステムなどの、命令実行システム、装置、若しくはデバイスによって、又はそれらと共に使用するために、任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送されてもよい。本明細書の文脈においては、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、若しくはデバイスによって、又はこれらと共に使用するためのプログラムを収容又は記憶し得る、任意の媒体であってもよい。非一時的コンピュータ可読記憶媒体は、以下に限定されないが、電子、磁気、光、電磁気、赤外線、若しくは半導体システム、装置、又はデバイス、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(random access memory、RAM)、リードオンリメモリ(read-only memory、ROM)、電気的に消去可能なプログラマブルリードオンリメモリ(erasable programmable read-only memory、EPROM)(磁気)、CD、CD-R、CD-RW、DVD、DVD-R、若しくはDVD-RWなどのポータブル光ディスク、又は、コンパクトフラッシュカード、セキュリティで保護されたデジタルカード、USBメモリデバイス、メモリスティックなどのフラッシュメモリを含んでもよい。
【0476】
命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行し得る他のシステムなどの、命令実行システム、装置、又はデバイスによって、又はそれらと共に使用するために、任意の伝送媒体内で伝搬されてもよい。本明細書の文脈においては、「伝送媒体」は、命令実行システム、装置、若しくはデバイスによって、又はこれらと共に使用するためのプログラムを伝達、伝搬、又は伝送し得る、任意の媒体であってもよい。伝送媒体は、以下に限定されないが、電子、磁気、光、電磁気、若しくは赤外線有線又は無線伝搬媒体を含んでもよい。
【0477】
いくつかの実施例では、システム4700はデバイス550内に含まれてもよい。これらの実施例では、プロセッサ4706は、プロセッサ570と同じ又は異なる処理であってもよい。プロセッサ4706は、出力をエンコーダ572、ボタン560、562、及び564から、並びにタッチ感知ディスプレイ556から受信するように構成されてもよい。プロセッサ4706はこれらの入力を、説明及び図示された処理に関連して、上述のように処理してもよい。システムは、
図47の構成要素及び構成に限定されず、他の又は追加の構成要素を、様々な実施例に係る複数の構成で含んでもよいことを理解されたい。
【0478】
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は、説明される様々な実施形態を、開示される厳密な形態に限定することを意図するものではない。上述の教示を考慮すれば、多くの修正及び変形が可能である。これらの実施形態は、説明される様々な実施形態、及びそれらの実際の適用を最も良好に説明するために、またそれにより、他の当業者が、想到される具体的な用途に適するような様々な修正を使用して、その説明される様々な実施形態を最も良好に利用することを可能にするために、選択及び説明されたものである。