以下の説明では、例示的な方法、パラメータなどが記載される。しかしながら、そのような説明は、本開示の範囲に対する制限として意図されるものではなく、例示的実施形態の説明として提供されることを認識されたい。
ユーザ入力を受信するための効率的なインタフェースを提供する電子デバイスが必要とされている。例えば、リストから項目を選択する、テキスト入力をする、文書の特定のページを選択するといったことのやりやすさは、ユーザによるアクセス及び入力の効率化に寄与する。このような技術は、メッセージの送受信、音楽及び他のアプリケーションを使用するユーザの認識的負担を軽減し、それにより生産性を高めることができる。更には、そのような技術は、通常であれば冗長ユーザ入力に対して浪費される、プロセッサ及びバッテリの電力を削減することができる。
以下、図1A〜図1B、図2、図3、図4A〜図4B、図5A〜図5Bは、ユーザ入力を受信するための技術を実行するためのデバイスの例についての説明を提供する。また、図6A〜図6D、図8、図11、図13、図15A〜図15B、図17A〜図17Dは、ユーザ入力を受信するためのユーザインタフェースの例を示す。図のユーザインタフェースは、図7、図9、図10、図12、図14A〜図14B、図16のプロセスを含む、後述するプロセスを例示するためにも用いられる。
以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明される様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶことが可能であり、同様に、第2のタッチを第1のタッチと呼ぶことも可能である。第1のタッチ及び第2のタッチは、双方ともタッチであるが、それらは同じタッチではない。
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用される時、単数形「a」、「an」及び「the」は、文脈から複数形を含まないことが明らかな場合を除いて、複数形も含むことが想定されている。また、本明細書で使用される時に、「及び/又は」という表現は、この表現を伴って列挙された項目のうちの1つ以上からなるあらゆる可能な組み合わせを示し、かつ、これを包含することも理解されたい。「includes(含む)」、「including(含む)」、「comprises(備える)」及び/又は「comprising(備える)」といった用語は、本明細書で使用される場合、表記の特徴、整数、ステップ、動作、要素及び/又は構成要素の存在を明示するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素及び/又はこれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
「if(〜場合に)」という用語は、文脈に応じて、「when(〜時に)」、「upon(〜時に)」、「in response to determining(〜という決定に応じて)」又は「in response to detecting(〜を検出したことに応じて)」を意味すると解釈することができる。同様に、語句「if it is determined(〜と判定される場合には)」又は「if(a stated condition or event)is detected((記述される条件又はイベント)が検出される場合には)」は、任意選択的に、文脈に応じて「upon determining(〜と判定されると)」、又は「in response to determining(〜との判定に応じて)」、又は「upon detecting(the stated condition or event)((記述される条件又はイベント)が検出されると)」、又は「in response to detecting(the stated condition or event)((記述される条件又はイベント)の検出に応じて)」を意味するものと解釈される。
電子デバイス、当該デバイス用のユーザインタフェース及び当該デバイスの使用に付随するプロセスの実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、限定されることなく、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)及びiPad(登録商標)デバイスが挙げられる。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなど他のポータブル電子デバイスも、任意選択的に、使用できる。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるデスクトップコンピュータであることを理解されたい。
以下の論考では、ディスプレイ及びタッチ感知面を備える電子デバイスを説明する。しかし、この電子デバイスが、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
このデバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション、及び/又はデジタルビデオ再生アプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能並びにデバイス上に表示される対応する情報は、1つのアプリケーションから次のアプリケーションへ移れば、及び/又は対応するアプリケーションの中で、任意選択的に、調整、及び/又は変更される。このように、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、一部の実施形態に係る、タッチ感知ディスプレイシステム112を備えるポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」としても既知であるか、又はそのように呼ばれる場合もある。デバイス100は、メモリ102(1つ以上のコンピュータ可読記憶媒体を任意選択的に含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力制御デバイス116、及び外部ポート124を含む。デバイス100は、1つ以上の光センサ164を任意選択的に含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の接触強度センサ165を任意選択的に含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112、又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器167を任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号線103を介して、任意選択的に通信する。
本明細書及び特許請求の範囲で使用する時、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当たりの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる値を含む、値の範囲、より典型的には、数百(例えば、少なくとも256)の異なる値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は、測定)される。例えば、タッチ感知面の下の、又はタッチ感知面に隣接する、1つ以上の力センサを任意選択的に使用して、そのタッチ感知面上の様々な点での力を測定する。一部の実装では、複数の力センサからの力測定値を組み合わせて(例えば、加重平均で)、推定される接触の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。別の方法としては、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の静電容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代用物として、任意選択的に用いられる。いくつかの実施形態では、接触の力又は圧力の代替的測定値は、強度閾値を超えているかを判定するために直接用いられる(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。一部の実装では、これらの接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を使用して、強度閾値を超過しているか否かが判定される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイに)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る、追加的なデバイス機能への、ユーザのアクセスが可能となる。
本明細書及び特許請求の範囲で使用する時、用語「触知出力」は、ユーザの触覚を使用してユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、指、手のひら、又はユーザの手の他の部分)に接触している状況では、物理的変位によって生成される触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の知覚される変化に対応する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの移動によって物理的に押圧される(例えば、変位される)、タッチ感知面に関連付けられた物理アクチュエータボタンが移動しない場合であっても、ユーザは、「ダウンクリック」又は「アップクリック」などの触感を感じることになる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない時でさえ、タッチ感知面の「粗さ」としてユーザによって任意選択的に、解釈又は感じられる。ユーザタッチのかかる解釈は、ユーザの個人的な感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。それゆえ、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものとして説明される場合、特に明記しない限り、その生成される触知出力は、典型的な(又は、平均的な)ユーザに対して、その説明される感覚認知を生じさせる、デバイス又はその構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100の構成要素は、図示したものよりも多くても少なくてもよく、2つ以上の構成要素を組み合わせてもよいし、あるいは、これらの構成要素が異なる形で構成若しくは配置されてもよいことを、理解されたい。図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含めた、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせとして実装される。
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。このコンピュータ可読記憶媒体は、有形かつ非一時的であってもよい。このコンピュータ可読記憶媒体は、非一時的であってもよい。メモリ102は任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。メモリコントローラ122が、デバイス100の他の構成要素によるメモリ102へのアクセスを制御してもよい。
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に接続することができる。1つ以上のプロセッサ120は、デバイス100用の様々な機能を実行するため並びにデータ処理を行うために、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを走らせたり、実行したりする。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一チップ上に実装される。いくつかの他の実施形態において、これらは、個別のチップ上に任意選択的に実装される。
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を任意選択的に含む。RF回路108は、インターネット情報検索システム(WWW)とも呼ばれるインターネットなどのネットワーク、セルラー電話ネットワークなどのイントラネット及び/又は無線ネットワーク、無線ローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)、並びに他のデバイスと無線通信によって任意選択的に通信する。RF回路108は、短距離通信無線(short-range communication radio)などにより、近距離通信(NFC)フィールドを検出するための周知の回路を、任意選択的に含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(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、及び/又はIEEE 802.11ac)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/又はポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、及び/又はショートメッセージサービス(Short Message Service、SMS)、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
音声回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。音声回路110は、周辺機器インタフェース118から音声データを受信し、音声データを電気信号に変換し、電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。音声回路110はまた、マイクロフォン113により音波から変換された電気信号を受信する。音声回路110は、電気信号を音声データに変換し、処理するために音声データを周辺機器インタフェース118に送出する。音声データは、周辺機器インタフェース118によって任意選択的に、メモリ102及び/若しくはRF回路108から取り込まれ、かつ/又はメモリ702及び/若しくはRF回路708へ送出される。いくつかの実施形態では、オーディオ回路110は更にヘッドセットジャック(例えば、図2の212)を備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を連結する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力制御デバイス116との間で、電気信号を受信/送信する。他の入力制御デバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。一部の代替的実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量調節のための、アップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。
2005年12月23日出願の、米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」で説明されているように、プッシュボタンの素早い押圧により、タッチスクリーン112のロックを解除してもよいし、タッチスクリーン上でジェスチャを使用してデバイスをロック解除するプロセスを開始してもよく、同出願の全体を本明細書に援用する。プッシュボタン(例えば、206)を長押しして、デバイス100への電源を、オン又はオフにしてもよい。1つ以上のボタンの機能を、ユーザがカスタマイズ可能であってもよい。タッチスクリーン112は、仮想ボタン若しくはソフトボタン、及び1つ以上のソフトキーボードを実装するために使用される。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112との間で、電気信号を受信及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ(総称して「グラフィック」と称する)を、任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全てが、ユーザインタフェースオブジェクトに対応してもよい。
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有している。タッチスクリーン112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチスクリーン112上で接触(及び任意の移動又は接触の中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びに、タッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在公知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び任意の移動又はその中断を任意選択的に検出する。例示的実施形態では、Apple Inc.(Cupertino,California)によるiPhone(登録商標)及びiPod Touch(登録商標)で見出されるものなどの、投影型相互静電容量式感知技術が使用される。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、米国特許第6,323,846号(Westermanら)、同第6,570,557号(Westermanら)及び/若しくは同第6,677,932号(Westerman)並びに/又は米国特許出願公開公報第2002/0015024号(A1)に記載されているマルチタッチ感知タッチパッドに類似していてもよく、これら各文献の全体を、本明細書に援用する。ただし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112の一部の実施形態でのタッチ感知ディスプレイは、以下の出願で説明されている通りのものとすることができる:(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の同第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の同第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の同第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の同第11/038,590号、「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の同第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の同第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の同第11/228,737号、「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、(9)2006年3月3日出願の同第11/367,749号「Multi−Functional Hand−Held Device」。これらの全出願の全体を、本明細書に援用する。
タッチスクリーン112は、映像解像度が100dpiを超えるものであってもよい。いくつかの実施形態では、タッチスクリーンは、映像解像度が約160dpiである。ユーザは、スタイラス、指などの任意の好適なオブジェクト又は付属器を使用して、タッチスクリーン112と、任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、主として指に基づく接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。いくつかの実施形態において、デバイスは、指に基づく粗い入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
いくつかの実施形態では、タッチ画面に加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化させるためのタッチパッド(図示せず)を、任意選択的に含む。いくつかの実施形態において、タッチパッドは、タッチ画面とは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチ画面112とは別個のタッチ感知面、又はタッチ画面によって形成されたタッチ感知面の延長部である。
デバイス100はまた、様々な構成要素に電力を供給するための電力システム162をも含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
デバイス100はまた、1つ以上の光センサ164もまた、任意選択的に含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを任意選択的に含む。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも称する)と併用して、光センサ164は、静止画像又は映像を任意選択的にキャプチャする。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又は映像取得のためのビューファインダとして有効化するように、光センサは、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。いくつかの実施形態では、ユーザが他のビデオ会議参加者をタッチ画像ディスプレイ上で見るのと同時に、ユーザの画像がビデオ会議のために任意に取得されるように、デバイスの前面に光センサが配置されている。一部の実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、テレビ会議並びに静止画像及び/又はビデオ画像の取得の双方のために、単一の光センサ164を、タッチスクリーンディスプレイと共に使用することができる。
デバイス100はまた、1つ以上の接触強度センサ165もまた、任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を任意選択的に含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報の代用物)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又は近接している。いくつかの実施形態において、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は、1つ以上の近接センサ166をも任意選択的に含む。図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に接続されてもよい。近接センサ166は、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されるように機能し得るものであり、これらの出願は、全体が参照により本明細書に組み込まれる。一部の実施形態では、この多機能デバイスが、ユーザの耳の近くに配置される場合(例えば、ユーザが電話通話を行っている場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
デバイス100はまた、1つ以上の触知出力生成器167も任意選択的に含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、スピーカ又は他の音声構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを直線運動に変換する電気機械デバイスを任意選択的に含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態において、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と併置されているか、又は近接しており、任意選択的に、タッチ感知面を垂直方向に(例えば、デバイス100の表面の内/外)又は横方向(例えば、デバイス100の表面と同じ平面の前後方向)に移動することによって、触知出力を生成する。いくつかの実施形態において、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、1つ以上の加速度計168をも任意選択的に含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106内の入力コントローラ160に任意選択的に、連結される。加速度計168は、米国特許出願公開第20050190059号、「Acceleration−based Theft Detection System for Portable Electronic Devices」、及び同第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」で説明されるように機能してもよく、これらの文献については両方ともその全体を本明細書に援用する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイに表示される。デバイス100は、必要に応じて、加速度計(単数又は複数)168に加えて、磁力計(図示せず)並びにデバイス100の位置及び向き(例えば、ポートレート又はランドスケープ)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を任意選択的に含む。
いくつかの実施形態において、メモリ102に記憶されたソフトウェアコンポーネントは、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示すように、メモリ102(図1A)又はメモリ370(図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下の1つ以上を含む:現在アクティブ状態のアプリケーションがある場合、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占領しているかを示す、表示状態、デバイスの様々なセンサ及び入力制御デバイス116から得られた情報を含むセンサ状態、デバイスの位置及び/又は姿勢に関する位置情報。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための、様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介した他のデバイスとの通信を容易にし、また、RF回路機構108及び/又は外部ポート124によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、他のデバイスに直接結合するように、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に結合するように適合される。一部の実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じか、若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と関連して)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを任意選択的に含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態において、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。更に、いくつかの実装において、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は「強度」パラメータのシステムレベルのクリックにより一度に複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供されている。
接触/動きモジュール130は任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上でのジェスチャが異なれば、接触パターン(例えば、検出された接触の、異なる動き、タイミング、及び/又は強度)が異なる。それゆえ、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、指のタップジェスチャを検出することは、指を下ろすイベントを検出し、続いて(例えば、アイコンの位置での)その指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフする)イベントを検出することを含む。他の実施例として、タッチ感知面でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用する時、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
いくつかの実施形態において、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信して、次いで、ディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を決定し、この情報を様々なアプリケーションで使用するために(例えば、位置情報に基づいて電話をかけるのに使用するために電話機138に、画像/映像のメタデータとしてカメラ143に、天気ウィジェット、地元のイエローページウィジェット、地図/ナビゲーションウィジェットなどの位置情報に基づくサービスを提供するアプリケーションに)提供する。
アプリケーション136は任意選択的に以下のモジュール(又は、命令のセット)、又はそれらの部分集合若しくは上位集合を含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれる場合もある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又は映像用カメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダーモジュール148、
●気象ウィジェット149−1、株価ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●ユーザ作成ウィジェット149−6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを併合する、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は
●オンラインビデオモジュール155。
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶される)アドレスブック又は連絡先リストを管理するために任意選択的に用いられ、それには、アドレスブックに名前(単数又は複数)を加えること、アドレスブックから名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話138、テレビ会議139、電子メール140、又はIM141などによる通信を開始及び/又は容易にするために、電話番号又は電子メールアドレスを提供することなどが含まれる。
RF回路108、音声回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電話モジュール138は、電話番号と対応する一連の文字を入力し、連絡先モジュール137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、対応する電話番号をダイヤルし、会話を達成し、会話が完了した際に接続を切るか又は電話を切るために使用されてもよい。上述のように、無線通信では、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用してもよい。
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と関連して、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、達成し、終了する、実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理する、実行可能命令を含む。画像管理モジュール144と併せて、電子メールクライアントモジュール140により、カメラモジュール143で撮影した静止画像又は映像を作成し、電子メールを送信することが非常に簡単になる。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、インスタントメッセージングモジュール141は、インスタントメッセージと対応する文字列を入力したり、入力済みの文字を修正したり、対応するインスタントメッセージを送信したり(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)、インスタントメッセージを受信してその受信したインスタントメッセージを表示したりする、実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS:Enhanced Messaging Service)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含んでもよい。本明細書で使用する場合、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の両方を示す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽再生モジュールと併せて、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを生成する、トレーニングセンサ(スポーツデバイス)と通信する、トレーニングセンサデータを受信する、トレーニングをモニタリングするために用いられるセンサを較正する、トレーニング用の音楽を選択してかける、トレーニングデータを表示し、記憶し、送信する実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と併せて、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ102から静止画像若しくは動画を削除したりする、実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィクモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)及び別の方法で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶したりする実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズする実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、すべきことのリストなど)を作成し、表示し、変更し、記憶する実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェットモジュール149は、ユーザによってダウンロードされ、使用することが可能なミニアプリケーション(例えば、天気ウィジェット149−1、株価ウィジェット149−2、電卓ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)、又はユーザによって作成することが可能なミニアプリケーション(例えば、ユーザ作成ウィジェット149−6)である。一部の実施形態では、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって使用されてもよい。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従って、1つ以上の検索条件(例えば、1つ以上のユーザ指定の検索用語)に一致する、メモリ102内のテキスト、音楽、音声、画像、ビデオ、及び/又は他のファイルを検索する、実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路機構108、及びブラウザモジュール147と関連して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された、録音済みの音楽ファイル及び他のサウンドファイルを、ユーザがダウンロード及び再生することを可能にする、実行可能命令と、ビデオを(例えば、タッチスクリーン112上に、又は外部ポート124を介して外部に接続されたディスプレイ上に)表示するか、提示するか、又は他の方式で再生する、実行可能命令とを含む。一部の実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、メモモジュール153は、ユーザの指示に従って、メモ、to doリストなどを作成及び管理する、実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と関連して、地図モジュール154は、ユーザの指示に従い、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の位置又はその近くの店舗及びその他の見所のデータ、並びに他の位置ベースのデータ)を受信、表示、変更、及び記憶するのに使用してもよい。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、音声回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含む。いくつかの実施形態においては、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が、特定のオンライン映像へのリンクを送信するために用いられる。2007年6月20日に出願された米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に、オンラインビデオアプリケーションの追加の説明を見いだすことができる。これらの出願の内容はその全体が本明細書において参照により組み込まれている。
上記で識別されたモジュール及びアプリケーションのそれぞれは、1つ又はそれ以上の上記の機能を実行する実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において任意選択的に、組み合わせ、又は再配置される。例えば、ビデオ再生モジュールは音楽再生モジュールと組み合わせて単一のモジュール(例えば、ビデオ及び音楽再生モジュール152、図1A)にされてもよい。いくつかの実施形態では、メモリ102は、上述の識別されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチ画面及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作のための主要入力制御機器としてタッチ画面及び/又はタッチパッドを使用することにより、デバイス100上の物理的な入力制御機器(プッシュボタン、ダイヤル、及び類似物など)の数を、任意選択的に、減らす。
排他的にタッチ画面及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス100をナビゲートする。かかる実施形態において、「メニューボタン」はタッチパッドを使って実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力制御デバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136−1(例えば、上述のアプリケーション137から151、155、及び380から390のいずれか)を含む。
イベントソータ170は、イベント情報を受け付け、イベント情報を送るアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136−1は、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(1つ以上)を示す、アプリケーション内部状態192を含む。一部の実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
一部の実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの、追加情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺デバイスインタフェース118は、I/Oサブシステム106又は(オーディオ回路機構110を介して)近接センサ166、加速度計(単数又は複数)168、及び/若しくはマイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118にリクエストを送る。これに応じて、周辺機器インタフェース118は、イベント情報を送出する。他の実施形態において、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える、及び/又は所定時間より長い入力を受け付けること)がある場合にのみイベント情報を送出する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判断モジュール172は、タッチ感知ディスプレイ112が1つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判断するためのソフトウェア手続きを提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、任意選択的に対応する。例えば、タッチが検出される最低レベルのビューは任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて任意選択的に、判定される。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントと関連付けられた情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント(例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューが、ヒットビュー判定モジュール172によって特定されると、そのヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する、全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のいずれのビュー(単数又は複数)が、特定のサブイベントのシーケンスを受信するべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール173は、そのヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントが、特定の1つのビューに関連付けられる区域に完全に限定された場合であっても、その階層内のより上位のビューは、依然として、アクティブに関与するビューとして維持される。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に配布する。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173によって判定されたイベント認識部に、イベント情報を配信する。一部の実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報を、イベント待ち行列内に記憶する。
一部の実施形態では、オペレーティングシステム126が、イベントソータ170を含む。あるいは、アプリケーション136−1が、イベントソータ170を含む。更に他の実施形態では、イベントソータ170は、スタンドアロンモジュール、又は接触/動きモジュール130などのメモリ102に記憶された他のモジュールの一部である。
いくつかの実施形態では、アプリケーション136−1は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理する命令をそれぞれが含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136−1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーョンビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)、又は、アプリケーション136−1が方法及び他の性質を継承する、より高レベルのオブジェクトなどの、別個のモジュールの一部である。一部の実施形態では、それぞれのイベントハンドラ190は、データアップデーター176、オブジェクトアップデーター177、GUIアップデータ178、及び/又は、イベントソータ170から受信されるイベントデータ179のうちの1つ以上を含む。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176、オブジェクトアップデーター177、又はGUIアップデータ178を任意選択的に、利用若しくは呼び出す。あるいは、アプリケーションビュー191のうちの1つ以上は、1つ以上のそれぞれのイベントハンドラ190を含む。また、いくつかの実施形態では、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデータ178のうちの1つ以上がそれぞれのアプリケーションビュー191内に含まれている。
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180は更に、メタデータ183及びイベント配信命令188(任意選択的に、サブイベント配信命令を含む)の少なくともサブセットを含む。
イベント受信部182は、イベントソータ170からイベント情報を受信する。このイベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントが、タッチの動きに関わる時、イベント情報は、サブイベントの速度及び方向を任意選択的に、更に含む。いくつかの実施形態では、イベントは、ある方向から別の方向へ(例えば、縦長の向きから横長の向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定、又はイベント若しくはサブイベントの状態を判定又は更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。一部の実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187−1)に関する定義は、表示オブジェクト上でのダブルタップである。このダブルタップは、例えば、所定の段階に関する表示オブジェクト上での第1のタッチ(タッチの開始)、所定の段階に関する第1のリフトオフ(タッチの終了)、所定の段階に関する表示オブジェクト上での第2のタッチ(タッチの開始)、及び所定の段階に関する第2のリフトオフ(タッチの終了)を含む。別の実施例では、イベント2(187−2)に関する定義は、表示オブジェクト上でのドラッギングである。このドラッギングは、例えば、所定の段階に関する表示オブジェクト上でのタッチ(又は、接触)、タッチ感知ディスプレイ112を横断するタッチの移動、及びタッチのリフトオフ(タッチの終了)を含む。一部の実施形態では、イベントはまた、1つ以上の関連するイベントハンドラ190に関する情報も含む。
一部の実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトに関するイベントの定義を含む。一部の実施形態では、イベント比較部184は、いずれのユーザインタフェースオブジェクトがサブイベントに関連付けられるかを判定するために、ヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトが、タッチ感知ディスプレイ112上に表示されるアプリケーションビューでは、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)に関連付けられているかを判定する。各表示オブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合には、イベント比較部は、そのヒットテストの結果を使用して、いずれのイベントハンドラ190をアクティブ化させるべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガーするサブイベント及びオブジェクトに関連付けられた、イベントハンドラを選択する。
一部の実施形態では、それぞれのイベント(187)に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延アクションも含む。
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186内のイベントのいずれにも一致しないと判定する場合、それぞれのイベント認識部180は、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、このタッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、存在する場合には、そのヒットビューに関してアクティブのまま維持される他のイベント認識部が、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
一部の実施形態では、それぞれのイベント認識部180は、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す、設定可能な特性、フラグ、及び/又はリストを有する、メタデータ183を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティと、フラグと、及び/又はイベント認識部が互いにどのように対話し得るか又は対話が可能になるかについて示すリストと、を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるか否かを示すリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントハンドラ190に、イベントに関連付けられたイベント情報を配信する。イベントハンドラ190をアクティブ化することと、それぞれのヒットビューにサブイベントを送信(及び送信を延期する)することとは、区別される。いくつかの実施形態において、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ190はフラグをキャッチし、既定の処理を実行する。
いくつかの実施形態において、イベント配信命令188は、イベントハンドラをアクティブ化せずにサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ又はアクティブに関わっているビューにイベント情報を送る。一連のサブイベント又はアクティブに関わっているビューに関連付けられているイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態において、データアップデーター176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデーター176は、連絡先モジュール137で使用される電話番号を更新したり、ビデオ再生モジュールで使用されるビデオファイルを記憶したりする。いくつかの実施形態において、オブジェクトアップデーター177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデーター177は、新たなユーザインタフェースオブジェクトを作成したり、ユーザインタフェースオブジェクトの位置を更新したりする。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール132に送信する。
いくつかの実施形態では、イベントハンドラ190は、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデータ178を含むか、若しくはそれらに対するアクセスを有する。いくつかの実施形態において、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデータ178は、それぞれのアプリケーション136−1又はアプリケーションビュー191の1つのモジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示、検出された眼球運動、バイオメトリクス入力及び/又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
図2は、一部の実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。このタッチスクリーンは、ユーザインタフェース(UI)200内に、任意選択的に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの1つ以上を選択することが可能となる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。一部の実施形態では、このジェスチャは、1回以上のタップ、1回以上の(左から右へ、右から左へ、上方へ、及び/又は下方への)スワイプ、及び/又は、デバイス100と接触した指の(右から左へ、左から右へ、上方へ、及び/又は下方への)ローリングを、任意選択的に含む。一部の実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上を掃過するスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、機器100上で任意選択的に、実行するアプリケーションのセット内の任意のアプリケーション136へのナビゲーションに任意選択的に、使用される。あるいは、いくつかの実施形態において、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
いくつかの実施形態において、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスへの電源をオン/オフしてデバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押下して、既定の時間間隔にわたってボタンを押下された状態で保持することによって、デバイス上の電源をオン/オフし、ボタンを押下して、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、代替的実施形態において、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化し、又は非アクティブ化するための口頭入力を受け付ける。また、デバイス100は、タッチスクリーン112への接触の強度を検出するための1つ以上の接触強度センサ165及び/又はデバイス100のユーザの触覚出力を生成するための1つ以上の触知出力生成器167を、任意選択的に、含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。一部の実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育用デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク若しくは他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する、(チップセットと呼ばれる場合もある)回路機構を、任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイである、ディスプレイ340を備える入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、キーボード及び/又はマウス(又は、他のポインティングデバイス)350、並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器(単数又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aを参照して上述された接触強度センサ(単数又は複数)165と同様の接触強度センサ)も、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310からは離れて位置する1つ以上の記憶デバイスを任意選択的に、含む。いくつかの実施形態において、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、携帯型多機能デバイス100のメモリ102内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、文書作成モジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を、任意選択的に記憶するが、ポータブル多機能デバイス100(図1)のメモリ102は、これらのモジュールを、任意選択的に記憶しない。
上記で特定された図3の要素のそれぞれは任意選択的に、前述のメモリデバイスのうち1つ以上に記憶される。上記で識別されたモジュールのうちのそれぞれは、上述した機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせてもよいし、そうでなければ他の方式で再編成してもよい。いくつかの実施形態では、メモリ370は、上述の識別されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
ここで、例えば、ポータブル多機能デバイス100上に実装してもよいユーザインタフェースの実施形態に注目する。
図4Aは、一部の実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューに関する、例示的ユーザインタフェースを示す。同様のユーザインタフェースがデバイス300上に、任意選択的に、実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー及びWi−Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時間404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー408、
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147用のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152用のアイコン422、並びに
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141用のアイコン424、
○「カレンダー」とラベル付けされた、カレンダーモジュール148用のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155用のアイコン432、
○「株式」とラベル付けされた、株式ウィジェット149−2用のアイコン434、
○「地図」とラベル付けされた、地図モジュール154用のアイコン436、
○「気象」とラベル付けされた、気象ウィジェット149−1用のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン444、及び
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又は、デバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器357を含む。
以下の実施例のうちの一部は、タッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、一部の実施形態では、デバイスは、図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面(例えば、図4Bでの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bでの453)に対応する主軸(例えば、図4Bでの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)での、タッチ感知面451との接触(例えば、図4Bでの460及び462)を検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、図4Bでの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図4Bでの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに、任意選択的に使用されることを理解されたい。
更に加えて、以下の説明は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置上に配置される間任意選択的に、マウスクリックと置換される。同様に、複数のユーザ入力が同時に検出される時、複数のコンピュータマウスが同時に任意選択的に用いられ、又はマウスと指接触が同時に用いられることが理解されよう。
図5Bは、例示的な個人用電子デバイス500を示す。デバイス500は、本体502を備える。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A〜図4B)に関して記載した特徴のいくつか又は全てを含み得る。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイ画面504、以後、タッチスクリーン504、を有する。代替として、又はタッチスクリーン504に加えて、デバイス500はディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供してもよい。デバイス500のユーザインタフェースは、タッチの強度に基づきタッチに応じてもよく、これは、異なる強度のタッチはデバイス500上で異なるユーザインタフェース動作を呼び出してもよいことを意味する。
タッチ強度を検出して処理するための例示的な技術は、例えば、関連出願である、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号に見い出され、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び入力機構508は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。一部の実施形態では、デバイス500は、1つ以上の取り付け機構を有する。そのような取り付け機構は、含まれる場合には、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに、デバイス500を取り付けることを可能にし得る。これらの取付機構によって、ユーザはデバイス500を装着できるようになる。
図5Bは、例示的な個人用電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B及び図3に関して記載した構成要素のいくつか又は全てを含み得る。デバイス500は、I/O部514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合する、バス512を有する。I/Oセクション514は、ディスプレイ504に接続することが可能であり、このディスプレイは、タッチ感知構成要素522を有してもよく、任意に、強度センサ524(例えば、接触強度センサ)を有してもよい。更に、I/O部514は、Wi−Fi、Bluetooth(登録商標)、近距離通信(near field communication、NFC)、セルラー及び/又は他の無線通信技術を使用してアプリケーション及びオペレーティングシステムデータを受信するための通信ユニット530に接続されてもよい。デバイス500は、入力機構506及び/又は入力機構508を含み得る。入力機構506は、任意選択的に、回転可能入力デバイス、又は押下可能かつ回転可能な入力デバイスであってもよい。入力機構508は、任意選択的に、ボタンであってもよい。
入力機構508は、任意選択的には、マイクロフォンであってもよい。個人用電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどの様々なセンサを備えてもよく、これらの全てはI/O部514に動作可能に接続されてもよい。
個人用電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であってもよく、これらの命令は、1つ以上のコンピュータプロセッサ516によって実行された時に、例えば、コンピュータプロセッサに、処理700(図7)、900(図9)、1000(図10)、1200(図12)、1400(図14A)、1420(図14B)、1600(図16)を含む、上述の技術を実行させてもよい。コンピュータ実行可能命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行し得る他のシステムなどの、命令実行システム、装置、又はデバイスによって、又はそれらと共に使用するために、任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送されてもよい。本明細書の目的においては、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、若しくはデバイスによって、又はこれらと関連して使用するためのコンピュータ実行可能命令を有形的に収容又は記憶し得る、任意の媒体であってもよい。非一時的コンピュータ可読記憶媒体は、磁気的、光学的、及び/又は半導体記憶装置を含み得るが、これらに限定されない。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu−ray(登録商標)技術に基づく光ディスク、並びに、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。個人用電子デバイス500は、図5Bの構成要素及び構成に限定されず、他の又は追加の構成要素を複数の構成で含んでもよい。
ここで使用される時、用語「アフォーダンス」は、デバイス100、300、及び/又は500(図1、図3及び図5)のディスプレイ画面上に任意選択的に表示されてもよいユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ任意選択的に、アフォーダンスを構成してもよい。
本明細書で使用される時、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他の位置マーカーを含む一部の実装では、そのカーソルが「フォーカスセレクタ」としての役割を果たすことにより、特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にカーソルが存在する間に、入力(例えば、押圧入力)がタッチ感知面(例えば、図3でのタッチパッド355、又は図4Bでのタッチ感知面451)上で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aでのタッチ感知ディスプレイシステム112、又は図4Aでのタッチスクリーン112)を含む一部の実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」としての役割を果たすことにより、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。一部の実装では、フォーカスは、対応するカーソルの移動又はタッチスクリーンディスプレイ上の接触の移動を伴うことなく(例えば、タブキー又は矢印キーを使用して、1つのボタンから別のボタンにフォーカスを移動させることによって)、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動され、これらの実装では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインタフェースの要素を、デバイスに示すことによって)伝達するために、ユーザによって制御される、ユーザインタフェース要素(又は、タッチスクリーンディスプレイ上での接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出される間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の場所は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
本明細書及び特許請求の範囲で使用する時、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。一部の実施形態では、特性強度は、複数の強度サンプルに基づく。特性強度は、任意選択的に、既定数の強度サンプル、すなわち、既定のイベントに関連する(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)所定の期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒間)に収集された、強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10個のパーセンタイル値、接触の強度の最大値の半分の値、接触の強度の最大値の90パーセントの値などのうちの、1つ以上に基づく。一部の実施形態では、特性強度を判定する際に、(例えば、特性強度が、経時的な接触の強度の平均である場合)接触の持続時間が使用される。一部の実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度は、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、第1の強度閾値と第2の強度閾値とを含んでもよい。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するかどうか(例えば、それぞれの動作を実行するのか、又はそれぞれの動作の実行を省略するのか)を判定するために使用される。
図5Cは、複数の強度センサ524Aから524Dでタッチ感知ディスプレイ画面504上の複数の接触552Aから552Eを検出することを示す。図5Cは更に、強度センサ524Aから524Dの現在の強度測定値を強度の単位で示す強度の図を含む。この例では、強度センサ524A及び524Dの強度測定値はそれぞれ9単位の強度であり、強度センサ524B及び524Cの強度測定値はそれぞれ7単位の強度である。いくつかの実施形態では、複数の強度センサ524Aから524Dの強度測定値の合計すなわち、本例では32強度単位が、総強度である。いくつかの実施形態では、各接触には、総強度の一部であるそれぞれの強度が割り当てられる。図5Dは、力554の中心からの距離に基づいて接触552Aから552Eに総強度を割り当てることを示す。この例では、接触552A、552B、552Eの各々には、総強度の8強度単位の接触の強度が割り当てられ、接触552C及び552Dのそれぞれには、総強度の4強度単位の接触の強度が割り当てられる。より一般的には、いくつかの実施形態では、各接触jには、予め定義された数学関数Ij=A・(Dj/ΣDi)に従って総強度Aの一部であるそれぞれの強度Ijが割り当てられる。ここで、Djは、それぞれの接触jから力の中心までの距離であり、ΣDiは、全ての接触(例えば、i=1から最後まで)の力の中心までの距離の合計である。図5C及び図5Dを参照して説明した動作は、デバイス100、300又は500と同様又は同一の電子デバイスを使用して実行することができる。いくつかの実施形態では、接触の特性強度は、接触の1つ以上の強度に基づく。いくつかの実施形態では、強度センサは、単一の特性強度(例えば、単一の接触の単一の特性強度)を決定するために使用される。強度の図は、表示されるユーザインタフェースの一部ではないが、読者を助けるために図5C及び図5Dに入れてあることに注意されたい。
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、開始位置から遷移して終了位置に到達し、その時点で接触の強度が増大する、連続的なスワイプ接触を受信してもよい。この実施例では、終了位置での接触の特性強度は、スワイプ接触の全体ではなく、その連続的なスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づいていてもよい。一部の実施形態では、接触の特性強度を判定する前に、そのスワイプ接触の強度に、平滑化アルゴリズムを適用してもよい。例えば、この平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。一部の状況では、これらの平滑化アルゴリズムは、特性強度の判定を目的として、スワイプ接触の強度の小幅な急上昇又は急降下を排除する。
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの、1つ以上の強度閾値に関連して特徴付けされてもよい。一部の実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されない名目上の接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上での接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、特に明記しない限り、これらの強度閾値は、異なるユーザインタフェース図のセット間でも一貫している。
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロを上回る。
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応じて、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力の検出に応じて実行され、それらのそれぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)の検出に応じて、実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後続の押圧入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて、実行される。
図5E〜図5Hは、図5Eの軽い押圧強度閾値(例えば、「ITL」)未満の強度から、図5Hの深い押圧強度閾値(例えば、「ITD」)を上回る強度への接触562の強度の増加に対応する押圧入力を含むジェスチャの検出を示す。接触562でなされるジェスチャがタッチ感知面560で検出される一方で、所定の領域574に表示されたアプリケーションアイコン572A〜572Dを含む表示されたユーザインタフェース570上では、カーソル576がApp 2に対応するアプリケーションアイコン572B上に表示される。いくつかの実施形態では、ジェスチャはタッチ感知ディスプレイ504上で検出される。強度センサは、タッチ感知面560との接触の強度を検出する。デバイスは、接触562の強度が深い押圧強度閾値(例えば、「ITD」)を上回ってピークになった旨を判定する。接触562は、タッチ感知面560上で維持される。ジェスチャの検出に応答し、かつ、当該ジェスチャの間に接触562が深い押圧強度閾値(例えば、「ITD」)を上回る強度になっていることに従って、図5F〜図5Hに示すように、App 2で最近開かれた文書の縮小表現578A〜578C(例えば、サムネイル)が表示される。いくつかの実施形態では、強度は1つ以上の強度閾値と比較されるものであり、接触の特性強度である。接触562に対する強度の図は、表示されるユーザインタフェースの一部ではないが、読者を助けるために図5E〜図5Hに入れてあることに注意されたい。
いくつかの実施形態では、表現578A〜578Cの表示は、アニメーションを含む。例えば、表現578Aは、図5Fに示すように、まずアプリケーションアイコン572Bの近傍に表示される。アニメーションが進むにつれて、図5Gに示すように、表現578Aは上に移動し、表現578Bがアプリケーションアイコン572Bの近傍に表示される。その後、図5Hに示すように、表現578Aが上に移動し、578Bが表現578Aに向かって上に移動し、表現578Cがアプリケーションアイコン572Bの近傍に表示される。表現578A〜578Cは、アイコン572Bの上に整列される。いくつかの実施形態では、アニメーションは、図5F〜図5Gに示すように、接触562の強度に従って進行する。この場合、接触562の強度が深い押圧強度閾値(例えば、「ITD」)に向かって増すにつれて、表現578A〜578Cが現れて上に移動する。いくつかの実施形態では、アニメーションの進行のもとになる強度は、接触の特性強度である。図5E〜図5Hを参照して説明した動作は、デバイス100、300又は500と同様又は同一の電子デバイスを使用して実行することができる。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を、定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位か、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、そのヒステリシス強度閾値を下回る、後続のそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、それぞれの動作は、その押圧入力(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)の検出に応じて、実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応じて、任意選択的にトリガーされる。更に加えて、押圧入力強度閾値を下回る、接触の強度の減少の検出に応じて、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応じて任意選択的に実行される。
ここで、ユーザ入力を与える際のユーザの経験を改善するために、例えば、多機能デバイス100、300及び/又は500などの電子デバイスに実装されるユーザインタフェース(「UI」)及びこれに付随するプロセスの実施形態に注目する。図示のユーザインタフェース画面は、図示の指を含んでもよく、更にこの指の動きを示す矢印があってもよい。図示の指及びこれに対応する矢印は、通常は表示されるユーザインタフェースの一部ではないが、図の理解を助けるために提供されている。
図6A〜図6Dは、いくつかの実施形態に係る、電子デバイスを使用してユーザ入力を受信するためのユーザインタフェースの例を示す。いくつかの実施形態では、電子デバイスはデバイス500である。いくつかの実施形態では、電子デバイスは、ディスプレイ(例えば、112、340、504)、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を有する。
図6Aに示すように、ユーザインタフェース画面602は、連絡先追加アフォーダンス602A及びメッセージ作成アフォーダンス602Bを表示する。ユーザインタフェース画面602は、例えば、ユーザが新しいiMessage(登録商標)、SMSメッセージ、電子メールなどを作成することを要求した時に表示されてもよい。デバイスは、ユーザ入力(例えば、ユーザが連絡先アフォーダンス602Aをタップするなど)を受信する。ユーザ入力の受信に応じて、デバイスは、一組のユーザ入力技術のうち、直近にアクセスされたユーザ入力技術(例えば、最近の連絡先リストなどのユーザの好みであってもよい、新たな連絡先を追加する時にユーザが使用した最新の入力技術など)を特定する。いくつかの例では、最近アクセスされたとは、連絡先アドレスをメッセージに追加するために最近使用されたことを意味する。他の例では、最近アクセスされたとは、ディスプレイに最近表示されたことを意味する。アクセス可能な様々なユーザ入力技術のうち、どのユーザ入力技術にユーザが直近にアクセスしたかを判定することにより、デバイスは、どのユーザ入力技術をユーザが再び使いたがるであろうか、つまり直近にアクセスされたユーザ入力技術について、過去の経験を踏まえた判定をすることができる。
ユーザインタフェース画面606では、デバイスは、直近にアクセスされたユーザ入力技術のユーザ入力インタフェース(例えば、連絡先を選択するためのユーザインタフェース)を表示する。この例では、直近にアクセスされたユーザ入力技術は、アフォーダンス606C〜606Eでの最近使用した連絡先機能である。ユーザインタフェース画面606は、ユーザが連絡をとる(例えば、メッセージを送信する又はメッセージを受信する)のに使った、最近使用した連絡先606C〜606Eを表示する。このように、ユーザがメッセージに連絡先を追加した前回に最近使用した連絡先機能(例えば、直近にアクセスされたユーザ入力技術)を使用したため、デバイスは、この機能に対応するユーザインタフェースを表示する。
また、デバイスは、一組のユーザ入力技術のうち、最も以前にアクセスされたユーザ入力技術(例えば、ユーザがしばらく使用していない技術)を特定する。この例では、最も以前にアクセスされたユーザ入力技術は、ディクテーション機能である。例えば、これは、ユーザが好まないため、ほとんどアクセスしないユーザ入力技術である。デバイスは、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンス(例えば、アクティブな時に、最も以前に表示されたユーザ入力技術に対するユーザインタフェースを表示させるアフォーダンス606B)をディスプレイに表示する。よって、この例では、ユーザは、ディスプレイの右下にあるアフォーダンスで、最も以前にアクセスされたユーザ入力技術にアクセスできる。
いくつかの実施形態によれば、デバイスは、一組のユーザ入力技術のうち、直近のひとつ前にアクセスされたユーザ入力技術(例えば、現在表示されている技術の前に使用された技術)を特定する。デバイスは、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンス(例えば、アクティブな時に、現在表示されているユーザ入力技術の前に直近に表示されたユーザ入力技術に対するユーザインタフェースを表示させるアフォーダンス606A)をディスプレイに表示する。ユーザインタフェース画面606において、ディスプレイの左下に表示されるアフォーダンス606Aで、全ての連絡先機能である直近のひとつ前にアクセスされたユーザ入力技術にアクセスできる。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースは、直近にアクセスされたユーザ入力技術に関連付けされている選択アフォーダンス(例えば、複数のコンテンツからコンテンツを選択するためのアフォーダンス606C、606D、606Eあるいは、オーディオ録音を開始及び/又は終了するためのアフォーダンス)を含む。ユーザインタフェース画面606において、アフォーダンス606C〜606Eのうちの1つをアクティブにすることにより、デバイスに、アクティブなアフォーダンスに対応する連絡先情報を、受信者として新たなメッセージに追加させる。言うまでもなく、最近の通信相手と通信するためのアフォーダンスを提供することによって、デバイスは、そうでなければ名前を入力するか連絡先リストを操作するために必要とされるユーザのキーストロークを節約する。更に、より効率的なインタフェースを提供することで、デバイスは、例えば、ディスプレイをより短い時間で起動するなどして電力を節約することができる。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、一組のユーザ入力技術のうちの異なる技術である。いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術及び直近のひとつ前にアクセスされたユーザ入力技術は、最近使用した連絡先機能、全ての連絡先機能及びディクテーション機能(例えば、ユーザインタフェーススクリーン606同様に、直近のユーザ入力技術は、最近使用した連絡先機能であり、最も以前のユーザ入力技術は、ディクテーション機能であり、直近のひとつ前のユーザ入力技術は、全ての連絡先機能である)を含む群から選択される。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術及び直近のひとつ前にアクセスされたユーザ入力技術は、返信案機能、絵文字機能及びディクテーション機能(例えば、直近のユーザ入力技術は、返信案モードであり、最も以前のユーザ入力技術は、絵文字モードであり、直近のひとつ前のユーザ入力技術は、ディクテーションモードである)を含む群から選択される。
いくつかの実施形態によれば、一組のユーザ入力技術は、予め定められた入力技術の常に同じセットである。いくつかの実施形態によれば、一組のユーザ入力技術のうちの、ある量のユーザ入力技術が予め定められる。いくつかの実施形態によれば、第1のアフォーダンスは、最も以前にアクセスされたユーザ入力技術の目印となる(例えば、アフォーダンス606Bがユーザインタフェース画面606で「ディクテーション」のラベルを含む)。いくつかの実施形態によれば、第2のアフォーダンスは、直近のひとつ前にアクセスされたユーザ入力技術の目印となる(例えば、アフォーダンス606Aがユーザインタフェース画面606で「連絡先」のラベルを含む)。
いくつかの実施形態によれば、第1のアフォーダンス(例えば606B)、第2のアフォーダンス(例えば606B)及び直近にアクセスされたユーザ入力技術(例えば、606C〜606E)のユーザ入力インタフェースが同時に表示される。これによって、ユーザは、直近にアクセスされたユーザ入力技術を用いて入力をすることができるか、直近のひとつ前にアクセスされたユーザ入力技術に素早く切り替えることができるか、最も以前にアクセスされたユーザ入力技術にすらも切り替えることができる。
いくつかの実施形態によれば、デバイスは、最も以前にアクセスされたユーザ入力技術(例えば、ユーザが第1のアフォーダンスをタップする(か、そうでなければアクティブにする))のユーザ入力インタフェースに関連付けされている第1のアフォーダンス(例えば、606A)に関連付けされているユーザ入力を受信する。第1のアフォーダンスに関連付けされているユーザ入力を受信したことに応じて、デバイスは、ユーザインタフェース画面610に示すように、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示を、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に入れ替える。このように、ユーザインタフェース画面606において、アフォーダンス606Aは、アクティブな時に、ユーザインタフェース画面610を表示させる。ここで、ユーザインタフェース610において、最近使用した連絡先機能は、ディスプレイの左下に最近使用した連絡先のアフォーダンス610Aで示されるように、すでに直近のひとつ前にアクセスされた技術であることに、注意されたい。同様に、全ての連絡先機能が直近にアクセスされた技術であるため、全ての連絡先機能に対応するアフォーダンス(例えば、610B)が、ユーザインタフェース画面610の右下に表示される。ディクテーション機能は、直近にアクセスされた技術になるため、ディクテーション機能に対するユーザインタフェースが表示される(例えば、610C及び610D)。
ユーザインタフェース606に戻ると、いくつかの実施形態によれば、デバイスは、最も以前にアクセスされたユーザ入力技術(例えば、ユーザが第1のアフォーダンスをタップする(か、そうでなければアクティブにする))のユーザ入力インタフェースに関連付けされている第1のアフォーダンスに関連付けされているユーザ入力を受信する。第1アフォーダンスに関連付けされているユーザ入力を受信したことに応じて、デバイスは、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示を、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に入れ替え、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスの表示を、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第3のアフォーダンスの表示に入れ替え、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンスの表示を、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第4のアフォーダンスの表示に入れ替える。よって、ユーザインタフェースはディクテーション機能に遷移し、アフォーダンス610は最近使用した連絡先機能に対応し、アフォーダンス610Bは全ての連絡先機能に対応する。
ユーザインタフェース画面606に戻ると、全ての連絡先機能に対応するアフォーダンス606Aをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面608を表示する。ユーザインタフェース画面608では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、全ての連絡先機能に対して608C)。アフォーダンス608Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、最近使用した連絡先機能)に対応し、アフォーダンス608Bは、最も以前にアクセスされたユーザ入力技術(例えば、ディクテーション機能)に対応する。
ユーザインタフェース画面608において、ユーザがAdamSmith氏の連絡先に対応するアフォーダンス608Cをアクティブにすると、デバイスは、図6Bのユーザインタフェース画面616を表示する。ユーザインタフェース画面616は、AdamSmith氏の連絡先に関連付けされている連絡先情報を含む。例えば、ユーザインタフェース画面616は、携帯電話番号のアフォーダンス616Aと、電子メールアドレスのアフォーダンス616Bと、マイクロブログでのハンドル名のアフォーダンス616Cと、を含む。アフォーダンス616A〜616Cのいずれかをアクティブにすることで、デバイスに、対応する連絡先情報を受信者情報として電子メッセージに追加させる。復帰アフォーダンス616Dがアクティブになることで、デバイスは、ユーザインタフェース画面616の表示をユーザインタフェース画面608に入れ替える。
ユーザインタフェース画面608に戻り、ディクテーション機能に対応するアフォーダンス608Bをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面614を表示する。ユーザインタフェース画面614では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、ディクテーション機能に対して、614C、614D)。アフォーダンス614Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、全ての連絡先機能)に対応し、アフォーダンス614Bは、最も以前にアクセスされたユーザ入力技術(例えば、最近使用した連絡先機能)に対応する。
ユーザインタフェース画面614において、デバイスは、音声入力を受信する。ユーザがアフォーダンス614Cをアクティブにすると、デバイスは、図6Bのユーザインタフェース画面620を表示する。デバイスは、受信された音声入力を表記し、表記された音声の全部又は一部をアフォーダンス620Aとして表示する。この例では、表記された音声入力は、「555−5555」である。ユーザインタフェース画面620は、表記された音声に対応するAdamSmith氏の連絡先情報のアフォーダンス620Bと、同じく表記された音声に対応するEmily Wong氏の連絡先情報のアフォーダンス620Cとを含む。アフォーダンス620A〜620Cのいずれかをアクティブにすることで、デバイスに、対応する連絡先情報を受信者情報として電子メッセージに追加させる。復帰アフォーダンス620Dがアクティブになることで、デバイスに、ユーザインタフェース画面616の表示をユーザインタフェース画面614に入れ替えさせる。
ユーザインタフェース画面610に戻り、最近使用した連絡先機能に対応するアフォーダンス610Aをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面612を表示する。ユーザインタフェース画面612では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、最近使用した連絡先機能に対して614C)。アフォーダンス612Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、ディクテーション機能)に対応し、アフォーダンス612Bは、最も以前にアクセスされたユーザ入力技術(例えば、全ての連絡先機能)に対応する。ユーザインタフェース画面612は、ユーザインタフェース画面612にアクセスするのにとる経路がゆえ、ユーザインタフェース画面606とは異なることに、注意されたい。
ユーザが(例えば、ユーザインタフェース画面602のアフォーダンス602Aをアクティブにすることで)連絡先情報を受信者として電子メッセージに加えた後(又は加える前)に、ユーザは、(例えば、メッセージ作成アフォーダンス602Bをアクティブにすることで)電子メッセージの本文を作成することができる。ユーザインタフェース画面602に対応するユーザインタフェース画面622は、メッセージ作成アフォーダンス622Aを含む。ユーザインタフェース画面622において、ユーザがアフォーダンス622Aをアクティブにすると、デバイスは、図6Cのユーザインタフェース画面626を表示する。
ユーザインタフェース画面626では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、返信案機能に対して626C〜626E)。アフォーダンス626Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、絵文字機能)に対応し、アフォーダンス626Bは、最も以前にアクセスされたユーザ入力技術(例えば、ディクテーション機能)に対応する。
返信案(「応答案」としても知られる)の生成には、様々な技術を使用することができる。一例では、デバイスは、受信したメッセージが問いを含むか否かを判定する。この判定は、当該受信したメッセージの冒頭に「are you」という言い回しを含み、受信したメッセージの最後に疑問符を含む旨の判定に基づくものであってもよい。受信したメッセージが問いを含むという判定がなされたことに基づいて、1つ以上の応答案に、「はい」、「いいえ」及び「おそらく」を含むようにすることができる。
別の例では、受信したメッセージに、「牛肉又は鶏肉?」とあるかもしれない。前回同様、デバイスは、(少なくとも、メッセージに疑問符が使われていることを基準に)メッセージが問いを含むと判定することができる。更に、デバイスは、受信メッセージに単語「又は」が登場することを基準にして、この問いが、選択肢を含むものであると認識することができる。この場合、デバイスは、「又は」という単語の直前と直後にある単語をパースすることができる。よって、1つ以上の応答案に、「牛肉」及び「鶏肉」を含むようにすることができる。
返信案を決定するための技術は、例えば、発明の名称「Canned Answers in Messages」で2014年5月30日に出願された関連の米国仮特許出願第62/005,958号に見られ、その開示内容全体を本明細書に援用する。
ユーザインタフェース画面626において、デバイスは、アフォーダンス626C〜626Eのうちの1つをユーザがアクティブにしたことを受信する。ユーザがアクティブにしたことの受信により、デバイスは、対応する返信案を電子メッセージの本文(例えば、SMSのコンテンツ又は電子メールメッセージの本文)に追加する。言うまでもなく、応答案を追加するためのアフォーダンスを提供することによって、デバイスは、そうでなければ名前を入力するか連絡先リストを操作するために必要とされるユーザのキーストロークを節約する。更に、より効率的なインタフェースを提供することで、デバイスは、例えば、ディスプレイをより短い時間で起動するなどして電力を節約することができる。
ユーザインタフェース画面626に戻り、絵文字機能に対応するアフォーダンス626Aをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面628を表示する。ユーザインタフェース画面628では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、絵文字機能に対して628C、628D、628E)。アフォーダンス628Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、返信案機能)に対応し、アフォーダンス628Bは、最も以前にアクセスされたユーザ入力技術(例えば、ディクテーション機能)に対応する。
ユーザインタフェース画面628では、ディクテーション機能に対応するアフォーダンス628Bをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面634を表示する。ユーザインタフェース画面634では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、ディクテーション機能に対して634C、634D)。アフォーダンス634Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、絵文字機能)に対応し、アフォーダンス634Bは、最も以前にアクセスされたユーザ入力技術(例えば、返信案機能)に対応する。
ユーザインタフェース画面634において、デバイスは、音声入力を受信する。ユーザがアフォーダンス634Cをアクティブにすると、デバイスは、図6Dのユーザインタフェース画面636を表示する。デバイスは、受信した音声入力を表記する。デバイスは、テキストアフォーダンス636A及び音声アフォーダンス636Bを表示する。テキストアフォーダンス636Aは、アクティブにされると、デバイスに、表記された音声入力を電子メッセージの本文に追加させる。音声アフォーダンス636Bは、アクティブにされると、デバイスに、受信した音声入力を電子メッセージの本文として(例えば、音声ファイルとして)追加させる。デバイスはスクロール入力を受信し、ユーザインタフェース画面638に示すように、ユーザインタフェース636のスクロールを表示する。ユーザインタフェース画面638で、デバイスは、表記された音声入力636Aと、受信した音声入力の録音を再生するためのアフォーダンス638Bを表示する。これにより、ユーザは、表記されたテキストを見て確認でき、表記されたテキスト又は音声の録音内容を電子メッセージの受信者に送信すべきか否かを判定できるようになる。
ユーザインタフェース画面626に戻ると、ディクテーション機能に対応するアフォーダンス626Bをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面632を表示する。ユーザインタフェース画面632では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、ディクテーション機能に対して632C、632D)。アフォーダンス632Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、返信案機能)に対応し、アフォーダンス632Bは、最も以前にアクセスされたユーザ入力技術(例えば、絵文字機能)に対応する。ユーザインタフェース画面632は、2つのユーザインタフェースにアクセスするのにとる経路がゆえ、ユーザインタフェース画面634とは異なることに、注意されたい。
ユーザインタフェース画面632では、返信案機能に対応するアフォーダンス632Aをユーザがアクティブにすると、デバイスは、ユーザインタフェース画面630を表示する。ユーザインタフェース画面630では、直近にアクセスされたユーザ入力技術のユーザインタフェースが表示される(例えば、返信案機能に対して630C〜630E)。アフォーダンス630Aは、直近のひとつ前にアクセスされたユーザ入力技術(例えば、ディクテーション機能)に対応し、アフォーダンス630Bは、最も以前にアクセスされたユーザ入力技術(例えば、絵文字機能)に対応する。ユーザインタフェース画面630は、ユーザインタフェース画面630にアクセスするのにとる経路がゆえ、ユーザインタフェース画面626とは異なることに、注意されたい。
受信した音声入力(例えば、スピーチ)の表記は、何通りかの方法で行うことができる。(1)電子デバイスによって、そのデバイスで行う。(2)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)を外部のデバイス(例えば、携帯電話又はラップトップコンピュータ)に送信し、外部のデバイスが、その外部のデバイスでユーザ入力を表記し、電子デバイスは表記されたスピーチを外部のデバイスから受信する形で、遠隔で行う。(3)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)をサーバ(例えば、インターネットで接続されたサーバ)に送信し、サーバがユーザ入力を表記し、電子デバイスは表記されたスピーチをサーバから(例えば、WiFi又はBluetoothによって)受信する形で、遠隔で行う。あるいは、(4)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)を外部のデバイス(例えば、携帯電話又はラップトップコンピュータ)に送信し、外部のデバイスが、このユーザ入力をサーバに送信し、サーバがユーザ入力を表記し、外部のデバイスが表記されたスピーチをサーバから受信し、電子デバイスは、表記されたスピーチを外部のデバイスから受信する形で、遠隔で行う。デバイスは、電子的な会話の応答情報として、表記された音声を追加する。例えば、この表記は、バーチャルアシスタントを使用する音声テキスト化及び/又は自動音声認識を使用して実行することができる。ユーザインタフェース画面646では、会話646Aが、フィールド646Bで「承知しました!すぐ送ります」という追加を反映するように更新されている。このように、ユーザは、電子的な会話の応答情報を入力するために、音声で入力をすることができる。送信アフォーダンス646Cは、イネーブルになってアクティブになると、応答情報(例えば、表記されたスピーチ)を1人以上の会話の受信者に送信させる。返信が送られると、返信が送信されたことを示す通知648が表示される。
バーチャルアシスタントの一例が、本件出願人による2011年1月10日出願の「Intelligent Automated Assistant」に対する米国特許出願第12/987,982号に記載されており、その開示内容全体を本明細書に援用する。
図7は、いくつかの実施形態に係る、ユーザ入力を受信するための方法700を示すフローチャートである。いくつかの実施形態では、方法700は、ディスプレイ(例えば、112、340、504)、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を備える電子デバイスで実行されてもよい。方法700は、ユーザ入力を受信する直感的な方法を提供する。
いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。一部の実施形態では、方法700は、ディスプレイと、タッチ感知面(例えば、112、355、504)上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面とを備える、電子デバイスで実行することができる。方法700を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。
方法700は、ユーザ入力を受信する直感的な方法を提供する。この方法は、ユーザがデバイスを使用して情報を入力する際の認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが情報を手早く効率的に入力できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック702では、ユーザ入力が受信される。ブロック704では、ユーザ入力を受信したことに応じて、ブロック706〜712が実行される。ブロック706では、一組のユーザ入力技術のうち、直近にアクセスされたユーザ入力技術が特定される。ブロック708では、一組のユーザ入力技術のうち、最も以前にアクセスされたユーザ入力技術が特定される。ブロック710では、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースがディスプレイに表示される。ブロック712では、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスがディスプレイに表示される。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースは、直近にアクセスされたユーザ入力技術に関連付けされている選択アフォーダンス(例えば、606C、626C)を含む。
いくつかの実施形態によれば、ユーザ入力を受信したことに応じて、一組のユーザ入力技術のうち、直近のひとつ前にアクセスされたユーザ入力技術が特定され、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンスがディスプレイに表示される。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、一組のユーザ入力技術のうちの異なる技術である。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、最近使用した連絡先機能と、全ての連絡先機能と、ディクテーション機能と、を含む群から選択される。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、返信案機能と、絵文字機能と、ディクテーション機能と、を含む群から選択される。
いくつかの実施形態によれば、一組のユーザ入力技術は、予め定められた入力技術の常に同じセットである。いくつかの実施形態によれば、一組のユーザ入力技術のうちの、ある量のユーザ入力技術が予め定められる。いくつかの実施形態によれば、第1のアフォーダンスは、最も以前にアクセスされたユーザ入力技術の目印となる。いくつかの実施形態によれば、第2のアフォーダンスは、直近のひとつ前にアクセスされたユーザ入力技術の目印となる。いくつかの実施形態によれば、第1のアフォーダンス、第2のアフォーダンス及び直近にアクセスされたユーザ入力技術のユーザ入力インタフェースは、同時に表示される。
いくつかの実施形態によれば、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスに関連付けされているユーザ入力が受信される。第1のアフォーダンスに関連付けされているユーザ入力を受信したことに応じて、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示が、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に入れ替えられる。
いくつかの実施形態によれば、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスに関連付けされているユーザ入力が受信される。第1のアフォーダンスに関連付けされているユーザ入力を受信したことに応じて、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示が、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に入れ替えられ、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスの表示が、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第3のアフォーダンスの表示に入れ替えられ、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンスの表示が、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第4のアフォーダンスの表示に入れ替えられる。
方法700に関して上述した処理(例えば、図7)の詳細が、後述する方法にも同様に当てはまることに、注意されたい。例えば、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)は、方法700に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図7における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法700に関して説明した技術は、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)、方法1600(図16)とも関連することがある。
図8は、いくつかの実施形態に係る、スクロール可能なリストに関連付けられたユーザ入力を受信するためのユーザインタフェースの例を示す図である。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)を有する。また、電子デバイスは、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を含んでもよい。状況によっては、ユーザがディスプレイ上の項目のリストをスクロールする時に行うスクロールの進み具合を手早く効率的に判定するのが困難な場合がある。このため、スクロールの進み具合の目印となるインデックスオブジェクトを表示すると有用な場合がある。
ユーザインタフェース802では、一組の情報の一部が表示される(例えば、連絡先リストの一部;802A及び他の名前)。この例では、一組の情報の要素(連絡先リストに含まれる連絡先など)はアルファベット順であり、一組の情報の一番上に「Adam Smith」802Aが表示されている。デバイスは、一組の情報に関連付けされているユーザ入力(例えば、表示された一組の情報の上でユーザが指をスワイプする、ユーザが回転可能入力機構を回す又はユーザがインデックスバー802Bに沿って上又は下にスワイプするなど)を受信する。一組の情報に関連付けされているユーザ入力を受信したことに応じて、デバイスは、ディスプレイ上で一組の情報をスクロールする。デバイスは、スクロール属性(例えば、スクロールの速さ、加速度、持続時間、ユーザ入力の速さ、加速度、持続時間)が基準の閾値を満たす(例えば、スクロールがスクロールの速さの閾値を上回る、加速度が加速度の閾値を上回る、スクロールの持続時間がスクロールの持続時間の閾値よりも長い、ユーザ入力が速さの閾値又は加速度の閾値を上回る、ユーザ入力の持続時間が持続時間の閾値より長いなど)か否かを判定する。スクロール属性が基準の閾値を満たす(例えば、スクロールがスクロールの速さの閾値を上回る、ユーザ入力が速さの閾値を上回るなど)旨の判定に従って、デバイスは、ユーザインタフェース画面804に示すようなインデックスオブジェクト804Aを表示する。
いくつかの実施形態によれば、ユーザインタフェース画面804に示すように、インデックスオブジェクト804Aは、一組の情報の少なくとも一部と完全に又は部分的に重なる。一組の情報の一部を重ねることで、ユーザは、インデックスオブジェクト804Aを見るために自分の注意をディスプレイの他の部分に向ける必要がない。このため、ディスプレイで一組の情報スクロールを見ているユーザは、インデックスオブジェクト804Aが重なって表示された時にこれを容易に見ることができる。
いくつかの実施形態によれば、スクロール属性は、一組の情報のスクロールの属性(例えば、スクロールの速さ、加速度、持続時間など)である。このため、例えば、インデックスオブジェクト804Aは、一組の情報がスクロールの特定の速さを超えると表示される。いくつかの実施形態によれば、スクロール属性は、ユーザ入力の属性(例えば、スクロールの速さ、加速度、持続時間など)である。このため、例えば、特定の速さを超える上方向へのスワイプ又は回転の特定の速さを超える回転可能入力機構の回転など、ユーザ入力が特定の速さを超えると、インデックスオブジェクト804Aが表示される。同様に、いくつかの実施形態では、基準の閾値は、速さの閾値を超過すること、速度の閾値を超過すること、持続時間の閾値を超過することのうちの1つ以上に基づく。
いくつかの実施形態によれば、電子デバイスはタッチ感知面を含み、ユーザ入力は、タッチ感知面上のスワイプタッチ(例えば、一組の情報をスクロールするための、一組の情報に対する垂直方向のスワイプ又はフリック)である。いくつかの実施形態によれば、電子デバイスは回転可能入力機構を含み、ユーザ入力は、回転可能入力機構の回転(例えば、ユーザが回転可能入力機構を回転させて情報のリストをスクロールするなど)である。
いくつかの実施形態では、スクロール属性が基準の閾値を満たさない旨の判定に従って、デバイスは、一組の情報と完全に又は部分的に重なるインデックスオブジェクト(例えば、804A、806A)を表示しない(又は表示をやめる)。このため、一組の情報をスクロールするための入力をユーザが提供する場合、例えば、スクロールの速さがスクロールの速さの閾値を超えなければ、インデックスオブジェクトを出さずにおくことができる。同様に、インデックスオブジェクトが表示されている時、スクロールの速さがスクロールの速さの閾値を超えなくなれば、デバイスは、インデックスオブジェクトの表示をやめることができる。例えば、ユーザインタフェース806において、一組の情報に対するスクロールの速さが低下すると、デバイスは、ユーザインタフェース画面810に示すように、インデックスオブジェクト806Aの表示をやめることができる。いくつかの例では、一組の情報がスクロールされ続けることもあるが、スクロール属性が基準の閾値を満たさなくなれば、インデックスオブジェクト806Aも表示されなくなる。いくつかの例では、インデックスオブジェクトを表示するための基準の閾値(例えば、スクロールの速さに対する第1の閾値)が、インデックスオブジェクトの表示をやめるための基準の閾値(例えば、スクロールの速さに対する第2の閾値)と異なっていてもよい。
いくつかの実施形態によれば、インデックスオブジェクト804A、806Aは、一組の情報のうち、1つ以上の現在表示されている情報に基づく(例えば、ユーザインタフェース画面804における最初の名前の最初の文字「H」といった、一組の情報をアルファベット順に並べるのに用いられる文字位置を基準にした)インデックス(例えば、804Aの「H」、806Aの「J」といったアルファベット1文字又は数字1文字)を含む。このように、インデックスは、一組の情報うち、どの部分が現在表示されているかをユーザに示す。
いくつかの実施形態によれば、デバイスは、一組の情報のインデックス更新属性が、オーバーレイ更新基準を満たす(例えば、ディスプレイ上の位置の閾値に到達した一組の情報の項目を有する)か否かを判定する。例えば、デバイスは、インデックスに現在表示されている文字とは頭文字が異なる最初の名前が閾値(オーバーレイ更新基準)を超えたか否かを判定することができる。ユーザインタフェース804において、インデックス更新属性は、「H」で始まる最初の名前804Cの垂直位置である。名前804Cは、(ユーザインタフェースの一部ではなく説明目的でのみ表示される)位置の閾値に達しているため、デバイスは、オーバーレイ更新基準が満たされている(例えば、インデックスを更新する必要があるところまでリストの位置が変更されている)と判定する。一組の情報のインデックス更新属性がインデックス更新の基準を満たす旨の判定に従って、デバイスは、インデックスオブジェクトの視覚的態様の表示を更新する(例えば、インデックスオブジェクトを更新して、表示されているリストの一部に対応する文字を反映させる)。このように、一組の情報がスクロールされると、デバイスは、インデックスオブジェクトの表示された英字/文字を更新し(例えば、804Aの「H」が806Aの「J」に更新される)、一組の情報の位置(例えば、804の名前「H」から806の名前「J」への遷移)を反映させる。
いくつかの実施形態によれば、一組の情報は、順に並べられている(例えば、「A」の名前が全てひとまとまりになっており、「B」の名前が全てひとまとまりになっているなど)。いくつかの実施形態によれば、一組の情報は、アルファベット順(又は逆アルファベット順又は数字順)で表示される。
いくつかの実施形態によれば、一組の情報に関連付けされているユーザ入力は、第1の方向(例えば、タッチ感知面での上又は下へのスワイプ、回転可能入力機構の時計回りの回転又は反時計回りの回転など)を含み、ディプレイ上で一組の情報の少なくとも一部をスクロールすることは、ディスプレイ上で一組の情報の少なくとも一部を第2の方向にスクロールすることを含む。この第2の方向は、第1の方向に基づいている。このため、一組の情報は、ユーザが求める方向にスクロールされる。
インデックスオブジェクトを表示するためのこれらの技術は、様々なソフトウェアアプリケーション及び様々なタイプの一組の情報に使用することができる。いくつかの実施形態によれば、一組の情報は、複数の連絡先(例えば、名前、電子メールアドレス及び/又は電話番号)を含む。いくつかの実施形態によれば、一組の情報は、連絡先リスト(例えば、名前、電子メールアドレス及び/又は電話番号)を含む。いくつかの実施形態によれば、一組の情報は、複数のメディア属性(例えば、歌、オーディオ録音、動画、書籍、新聞記事、ウェブサイト及び/又は電子メールタイトルの名称、歌、オーディオ録音及び/又は動画のアーティスト、書籍、新聞記事、ウェブサイト及び/又は電子メールの書き手)(又はメディア属性のリスト)を含む。
図9は、いくつかの実施形態に係る、スクロール可能なリストに関連付けされているユーザ入力を受信するための方法900を示すフローチャートである。いくつかの実施形態では、方法900は、ディスプレイ(例えば、112、340、504)を備える電子デバイスにおいて実行されてもよい。また、電子デバイスは、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を含んでもよい。いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。一部の実施形態では、プロセス900は、タッチ感知面(例えば、112、355、504)上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面と備える、電子デバイスで実行することができる。方法900を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。方法900のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
状況によっては、ユーザがディスプレイ上の項目のリストをスクロールする時に行うスクロールの進み具合を手早く効率的に判定するのが困難な場合がある。このため、スクロールの進み具合の目印となるインデックスオブジェクトを表示すると有用な場合がある。方法900は、ユーザ入力に基づいてリストをスクロールする直感的な方法を提供する。この方法は、ユーザがデバイスを使用してリストをスクロールする時の認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが情報を手早く効率的にスクロールできるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック902では、一組の情報の一部(例えば、802A及びユーザインタフェース802の他の名称)が表示される。
ブロック904では、一組の情報に関連付けされているユーザ入力が受信される(例えば、表示されたセットをユーザがスワイプする又は回転可能入力メカニズムをユーザが回すなど)。
ブロック906では、一組の情報に関連付けされているユーザ入力を受信したことに応じて、ディスプレイ上で、一組の情報がスクロールされる。
ブロック908では、スクロール属性(例えば、スクロールの速さ、加速度、持続時間、ユーザ入力の速さ、加速度、持続時間)が基準の閾値(例えば、スクロールがスクロールの速さの閾値を上回る、加速度が加速度の閾値を上回る、スクロールの持続時間がスクロールの持続時間の閾値よりも長い、ユーザ入力が速さの閾値又は加速度の閾値を上回る、ユーザ入力の持続時間が持続時間の閾値より長いなど)を満たすか否かが判定される。
ブロック910では、スクロール属性が基準の閾値を満たす(例えば、スクロールが速い、ユーザ入力が速いなど)旨の判定に従って、インデックスオブジェクト(例えば、804A、806A)が表示される。
いくつかの実施形態によれば、インデックスオブジェクト(例えば、804A、806A)は、一組の情報の少なくとも一部と完全に又は部分的に重なる。いくつかの実施形態によれば、スクロール属性は、一組の情報のスクロールの属性(例えば、スクロールの速さ、加速度、持続時間など)である。いくつかの実施形態によれば、スクロール属性は、ユーザ入力の属性(例えば、スクロールの速さ、加速度、持続時間など)である。いくつかの実施形態によれば、基準の閾値は、速さの閾値を超過すること、速度の閾値を超過すること、持続時間の閾値を超過することのうちの1つ以上に基づく。
いくつかの実施形態によれば、タッチ感知面を備える電子デバイスにおいて、ユーザ入力は、タッチ感知面でのスワイプ接触タッチ(例えば、一組の情報をスクロールするための、一組の情報に対する垂直方向のスワイプ)である。いくつかの実施形態によれば、回転可能入力機構を備える電子デバイスにおいて、ユーザ入力は、回転可能入力機構の回転(例えば、ユーザが回転可能入力機構を回転させて情報のリストをスクロールするなど)である。
いくつかの実施形態によれば、ブロック914では、スクロール属性が基準の閾値を満たさない旨の判定に従って、一組の情報に完全に又は部分的に重なっているインデックスオブジェクト(例えば、804A、806A)は、表示されない(又は、例えば810に示すように表示されなくなる)。
いくつかの実施形態によれば、インデックスオブジェクト(例えば、804A、806A)は、一組の情報のうち、1つ以上の現在表示されている情報に基づく(例えば、一組の情報をアルファベット順に並べるのに用いられる文字位置を基準にした)インデックス(例えば、アルファベット1文字又は数字1文字)を含む。
いくつかの実施形態によれば、一組の情報のインデックス更新属性(例えば、804Cの位置)がオーバーレイ更新基準を満たす(例えば、ディスプレイ上の位置の閾値804Bに到達した一組の情報の項目を有する)か否かが判定される。一組の情報のインデックス更新属性がインデックス更新の基準を満たす旨の判定に従って、インデックスオブジェクトの視覚的態様の表示が更新される(例えば、インデックスオブジェクト804A/806Aを更新して、表示されているリストの一部に対応する文字を反映させる)。
いくつかの実施形態によれば、一組の情報は、順に並べられている。いくつかの実施形態によれば、一組の情報は、アルファベット順に表示されている。
いくつかの実施形態によれば、一組の情報に関連付けされているユーザ入力は、第1の方向(例えば、タッチ感知面での上又は下へのスワイプ、回転可能入力機構の時計回りの回転又は反時計回りの回転など)を含み、ディプレイ上で一組の情報の少なくとも一部をスクロールすることは、ディスプレイ上で一組の情報の少なくとも一部を第2の方向にスクロールすることを含み、ここで、第2の方向は、第1の方向に基づく。
いくつかの実施形態によれば、一組の情報は、複数の連絡先(例えば、名前、電子メールアドレス及び/又は電話番号)を含む。いくつかの実施形態によれば、一組の情報は、連絡先リスト(例えば、名前、電子メールアドレス及び/又は電話番号)を含む。いくつかの実施形態によれば、一組の情報は、複数のメディア属性(例えば、歌、オーディオ録音、動画、書籍、新聞記事、ウェブサイト及び/又は電子メールタイトルの名称、歌、オーディオ録音及び/又は動画のアーティスト、書籍、新聞記事、ウェブサイト及び/又は電子メールの書き手)(又はメディア属性のリスト)を含む。
方法900に関して上述した処理(図9)の詳細が、上述の方法及び後述する方法にも同様に当てはまることに、注意されたい。例えば、方法700(図7)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)は、方法900に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図9における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法900に関して説明した技術は、方法700(図7)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)、方法1600(図16)とも関連することがある。
図10は、いくつかの実施形態に係る、スクロール可能なリストに関連付けされているユーザ入力を受信するための方法1000を示すフローチャートである。いくつかの実施形態では、方法1000は、ディスプレイ(例えば、112、340、504)を備える電子デバイスにおいて実行されてもよい。また、電子デバイスは、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を含んでもよい。いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。一部の実施形態では、方法900は、ディスプレイと、タッチ感知面(例えば、112、355、504)上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面とを備える、電子デバイスで実行することができる。方法1000を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。方法1000のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
状況によっては、ユーザがディスプレイ上の項目のリストをスクロールする時に行うスクロールの進み具合を手早く効率的に判定するのが困難な場合がある。このため、スクロールの進み具合の目印となるインデックスオブジェクトを表示すると有用な場合がある。方法1000は、ユーザ入力に基づいてリストをスクロールする直感的な方法を提供する。この方法は、ユーザがデバイスを使用してリストをスクロールする時の認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが情報を手早く効率的にスクロールできるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック1002では、一組の情報の一部(例えば、802A及びユーザインタフェース802の他の名称)が表示される。
ブロック1004では、一組の情報に関連付けされているユーザ入力が受信される(例えば、表示されたセットをユーザがスワイプする又は回転可能入力メカニズムをユーザが回すなど)。
ブロック1006では、一組の情報に関連付けされているユーザ入力を受信したことに応じて、ディスプレイ上で、一組の情報がスクロールされる。
ブロック1008では、スクロール属性(例えば、スクロールの速さ、加速度、持続時間、ユーザ入力の速さ、加速度、持続時間)が基準の閾値(例えば、スクロールがスクロールの速さの閾値を上回る、加速度が加速度の閾値を上回る、スクロールの持続時間がスクロールの持続時間の閾値よりも長い、ユーザ入力が速さの閾値又は加速度の閾値を上回る、ユーザ入力の持続時間が持続時間の閾値より長いなど)を満たすか否かが判定される。
ブロック1010では、スクロール属性が基準の閾値を満たす(例えば、スクロールが速い、ユーザ入力が速いなど)旨の判定に従って、インデックスオブジェクト(例えば、804A、806A)が表示される。
任意選択的に、ブロック1012では、いくつかの実施形態において、スクロール属性が基準の閾値を満たさない(例えば、スクロールが遅い、ユーザ入力が遅いなど)旨の判定に従って、インデックスオブジェクトは、表示されない(例えば、表示されない又は表示されなくなる)。
その後、ブロック1008での判定が繰り返されることもある。
方法1000に関して上述された処理(例えば、図10)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700(図7)、方法900(図9)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)、及び方法1600(図16)は、方法1000に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図10における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法1000に関して説明した技術は、方法700(図7)、方法900(図9)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)、方法1600(図16)とも関連することがある。
図11は、いくつかの実施形態に係る、絵文字を受信者に送信する前に絵文字を操作するためのユーザインタフェースの例を示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)を有する。また、電子デバイスは、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を含んでもよい。ユーザが感情を表現することを望む場合もあれば、受信者に対して簡単なメッセージ(例えば、自分が幸せである又は幸せではない、はい又はいいえなど)を与えることを望む場合もある。ユーザにとっては、テキスト情報を手早く効率的に与えて感情を表現したりメッセージを提供したりするのは、難しい場合がある。このため、ユーザが感情やメッセージを表現するのに操作することのできるインタラクティブな絵文字を表示すると有用な場合がある。この操作後の絵文字が、受信者に送信される。
デバイスは、ユーザ入力を受信する。ユーザ入力は、メッセージ入力インタフェースに関連付けされていてもよい。ユーザ入力を受信したことに応じて、デバイスは、ユーザインタフェース画面1100に示されるように、絵文字グラフィカルオブジェクト(例えば、1100A)を表示する。絵文字グラフィカルオブジェクト1100Aは、眉毛、右目、左目1100B及び口1100Cなど、いくつかの視覚的態様を有する。
ユーザインタフェース1100において、デバイスは、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力を受信する。例えば、デバイスは、タッチ感知面でのスワイプ又は回転可能入力機構の回転を受信する。ユーザインタフェース1100の例では、デバイスは、左目1100B上でのスワイプダウンジェスチャを受信する。絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力(例えば、左目1100B上でのスワイプダウンジェスチャ)を受信したことに応じて、デバイスは、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更する。第1の視覚的態様の変更は、第1のユーザ入力に基づく(例えば、左目1100B上でのスワイプダウンジェスチャは、ユーザインタフェース画面1102に示されるように、左目を閉じさせる又はウィンクした状態にさせる)。このように、左目1100Bでのユーザ入力は、ユーザインタフェース画面1102に示されるように、絵文字グラフィカルオブジェクト1102Aの左目を、閉じた目又はウィンクしている目1102Bにする。
いくつかの実施形態では、ディスプレイ上のタッチジェスチャを使用して、絵文字グラフィカルオブジェクトの特定の視覚的態様を変更してもよい。例えば、デバイスがユーザインタフェース画面1100で笑顔のタッチジェスチャ(例えば、「U」字形のタッチジェスチャ)を受信すると、デバイスは、絵文字グラフィカルオブジェクトの口1100Cを、笑顔を示すように変更する。デバイスがユーザインタフェース画面1100でしかめっ面のタッチジェスチャ(例えば、上下逆の「U」字形のタッチジェスチャ)を受信すると、デバイスは、絵文字グラフィカルオブジェクトの口1100Cを、しかめっ面を示すように変更する。笑顔のタッチジェスチャ及びしかめっ面のタッチジェスチャは、口1100Cの位置にある必要はない。これによって、ユーザは、タッチジェスチャの位置に高い精度を必要とせずに、絵文字グラフィカルオブジェクトの視覚的態様を手早く変更することができる。言うまでもなく、タッピングなどの他のジェスチャを使用して、絵文字要素を変更してもよい。例えば、同じ要素を繰り返しタップすると、様々な状態を通してそれを変更することができる。
デバイスは、受信者情報を受信する(例えば、ユーザが電子メール又はiMessage(登録商標)受信者を入力する)。ユーザが絵文字グラフィックオブジェクトを好きなように操作し、受信者情報が提供されると、ユーザは、絵文字グラフィカルオブジェクトを受信者に送るよう要求することができる。デバイスは、変更された第1の視覚的態様を含む絵文字グラフィカルオブジェクトを、受信された受信者情報に関連付けされている受信者に送信する。
いくつかの実施形態によれば、デバイスは、絵文字グラフィカルオブジェクトに関連付けされている第2のユーザ入力(例えば、タッチ感知面上でのスワイプ/ドラッグ又は回転可能入力機構の回転)を受信する。絵文字グラフィカルオブジェクトに関連付けされている第2のユーザ入力を受信したことに応じて、デバイスは、絵文字グラフィカルオブジェクトの第2の視覚的態様を変更する(例えば、変更をアニメーション化するなどする)。第2の視覚的態様の変更は、第2のユーザ入力に基づく(例えば、笑った口の口角を上にスワイプすると、スマイリーが一層幸せになる)。いくつかの実施形態によれば、第1の視覚的態様と第2の視覚的態様とは異なる。
例えば、ユーザインタフェース画面1104において、スマイリーの口1104B(又はスマイリーの口角)を上にスワイプすると、ユーザインタフェース画面1106の口1106Cによって示されるように、スマイリー1104Aを一層笑顔に見せることができる。スマイリー1106Aの閉じた/ウィンクしている目1106Bはそのままであるが、これは、複数の視覚的態様を変更できることを意味する。同様に、口を下にスワイプすると、スマイリーを悲しく見せることができる。いくつかの例では、上下スワイプの程度の違いによって、絵文字グラフィカルオブジェクトは、これに対応して程度の異なる幸せ又は悲しい口になる。このように、ユーザは、絵文字グラフィカルオブジェクトを受信者に送る前に、ユーザ入力を与えることによって、絵文字グラフィカルオブジェクトの異なる視覚的態様を操作することができる。
いくつかの実施形態によれば、電子デバイスは、タッチ感知面を含み、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様に関連付けされているタッチ感知面上の場所でのタッチジェスチャ(例えば、ユーザが絵文字の目の上で、ドラッグ、スワイプ、タップをするなど)を含む。
いくつかの実施形態によれば、電子デバイスは、タッチの強度を検出するように構成されたタッチ感知面を含む。絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、特性強度を有する(例えば、ユーザのタップには、ハードプレス、軽いタッチ又は静止した接触といった強度がある)タッチジェスチャを含む。第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過した(例えば、タッチジェスチャがハードプレスであるなど)旨の判定に従って、絵文字グラフィカルオブジェクトの第1の特徴を変更すること(例えば、絵文字のサイズ又は色を変更するなど)を含む、デバイスが絵文字グラフィカルオブジェクトの第1の視覚的態様を変更する。
いくつかの実施形態によれば、第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過しない(例えば、タッチジェスチャがハードプレスではないなど)旨の判定に従って、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更することは、絵文字グラフィカルオブジェクトの、第1の特徴とは異なる第2の特徴を変更すること(例えば、絵文字の表現又は向きを変更するなど)を含む。このように、タッチジェスチャによって、タッチの特性強度に基づいて、絵文字グラフィカルオブジェクトの異なる特徴を変更することができる。
いくつかの実施形態によれば、電子デバイスは、回転可能入力機構を含む。絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、回転可能入力機構の回転(例えば、回転可能入力機構を回転させ、目の形を変更する)を含む。
いくつかの実施形態によれば、電子デバイスは、タッチ感知面及び回転可能入力機構を含む。絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様に関連付けされているタッチ感知面上の場所でのタッチジェスチャ及び回転可能入力機構の回転を含む(例えば、ユーザが、絵文字の目をタップする又はタップしてホールドし、変更する特徴を特定し、回転可能入力機構を回転させて、特定した特徴を変更させるなど)。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトを送信することは、選択アフォーダンスに関連付けされている第3のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトを送信することを含む(例えば、第3のユーザ入力がアクティブになると、絵文字が送信される)。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトを送信する前に、デバイスは、第4のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトをメッセージ本文に加える(例えば、第4のユーザ入力は、選択アフォーダンス1104Dに関連付けされ、このアフォーダンスがアクティブになると、テキストメッセージ又は電子メールメッセージの本文に絵文字が追加される)。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトは、をアニメーション化された絵文字グラフィカルオブジェクトである(例えば、絵文字が瞬きをする及び/又は絵文字の舌がぱたぱたと揺れ動くなど)。いくつかの実施形態によれば、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更することは、絵文字グラフィカルオブジェクトの第1の視覚的態様の変更をアニメーション化することを含む(例えば、スマイリーの口角を上にスワイプすると、口が大きくなる/一層幸せになるなど)。いくつかの実施形態では、送信される絵文字は、この絵文字を受信者のデバイスで同様にアニメーション化することができるように、要素が変更された順序などの追加の情報を含むことができる。
図12は、いくつかの実施形態に係る、絵文字を受信者に送信する前に絵文字を操作するための方法1200を示すフローチャートである。いくつかの実施形態では、方法1200は、ディスプレイ(例えば、112、340、504)を備える電子デバイスにおいて実行されてもよい。また、電子デバイスは、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を含んでもよい。いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。一部の実施形態では、プロセス1200は、タッチ感知面(例えば、112、355、504)上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面と備える、電子デバイスで実行することができる。方法1200を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。方法1200のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
ユーザが感情を表現することを望む場合もあれば、受信者に対して簡単なメッセージ(例えば、自分が幸せである又は幸せではない、はい又はいいえなど)を与えることを望む場合もある。ユーザにとっては、テキスト情報を手早く効率的に与えて感情を表現したりメッセージを提供したりするのは、難しい場合がある。このため、ユーザが感情やメッセージを表現するのに操作することのできるインタラクティブな絵文字を表示すると有用な場合がある。この操作後の絵文字が、受信者に送信される。方法1200は、ユーザ入力に基づいて絵文字を操作する直感的な方法を提供する。この方法は、ユーザがデバイスを使用してメッセージを作成する際のユーザの認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが一層手早く、一層効率的にメッセージを準備できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック1202では、ユーザ入力が受信される。ブロック1204では、ユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクト(例えば、1100A)が表示される。ブロック1206では、絵文字グラフィカルオブジェクト(例えば、1100A)に関連付けされている第1のユーザ入力が受信される。
ブロック1208では、絵文字グラフィカルオブジェクト(例えば、1100A)に関連付けされている第1のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクト(例えば、1102A)の第1の視覚的態様(例えば、1102B)が変更される。この第1の視覚的態様(例えば、1102B)の変更は、第1のユーザ入力に基づいている。
ブロック1210では、ユーザ入力要求が受信される。ブロック1212では、変更された第1の視覚的態様(例えば、1102B)を含む絵文字グラフィカルオブジェクトが、受信された受信者情報に関連付けされている受信者に送信される。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクト(例えば、1104A)に関連付けされている第2のユーザ入力(例えば、タッチ感知面上でのスワイプ/ドラッグ又は回転可能入力機構の回転)が受信される。絵文字グラフィカルオブジェクト(例えば、1104A)に関連付けされている第2のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトの第2の視覚的態様(例えば、1104B)が変更される(例えば、1106C)。第2の視覚的態様の変更(1106C)は、第2のユーザ入力に基づく(例えば、笑った口の口角を上にスワイプすると、スマイリーが一層幸せになる)。いくつかの実施形態によれば、第1の視覚的態様(例えば、1100B、1102B、1106B)と第2の視覚的態様(例えば、1100C、1104B、1106C)とは異なる。
いくつかの実施形態によれば、タッチ感知面を備える電子デバイスにおいて、絵文字グラフィカルオブジェクト(例えば、1100A)に関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様(例えば、1100B)に関連付けされているタッチ感知面上の場所でのタッチジェスチャ(例えば、ユーザが絵文字の目の上で、ドラッグ、スワイプ、タップをするなど)を含む。
いくつかの実施形態によれば、タッチの強度を検出するように構成されたタッチ感知面を備える電子デバイスにおいて、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、特性強度を有する(例えば、ユーザのタップには、ハードプレス、軽いタッチ又は静止した接触といった強度がある)タッチジェスチャを含む。第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過した(例えば、タッチジェスチャがハードプレスであるなど)旨の判定に従って、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更することは、絵文字グラフィカルオブジェクトの第1の特徴を変更すること(例えば、スマイリーの顔を黄色から赤に変えて、激怒している又は狼狽していることを示すといった具合に、絵文字のサイズ又は色を変更することなど)を含む。
いくつかの実施形態によれば、第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過しない(例えば、タッチジェスチャがハードプレスではないなど)旨の判定に従って、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更することは、絵文字グラフィカルオブジェクトの、第1の特徴とは異なる第2の特徴を変更すること(例えば、絵文字の表現又は向きを変更するなど)を含む。
いくつかの実施形態によれば、回転可能入力機構を備える電子デバイスにおいて、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、回転可能入力機構の回転(例えば、ユーザが回転可能入力機構を回転させて情報のリストをスクロールするなど)を含む。
いくつかの実施形態によれば、タッチ感知面及び回転可能入力機構を備える電子デバイスにおいて、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様に関連付けされているタッチ感知面上の場所でのタッチジェスチャ及び回転可能入力機構の回転(例えば、ユーザが、絵文字の目をタップする又はタップしてホールドし、変更する特徴を特定し、回転可能入力機構を回転させて、特定した特徴を変更させるなど)を含む。いくつかの実施形態では、タッチジェスチャと回転は、完全に又は少なくとも部分的に同時に受信される。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクト(例えば、1106A)を送信することは、選択アフォーダンスに関連付けされている第3のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクト(例えば、1106A)を送信することを含む(例えば、第3のユーザインタフェースが送信アフォーダンスである)。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクト(例えば、1106A)を送信する前に、第4のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトがメッセージ本文に加えられる(例えば、1104Dであり、第4のユーザ入力は選択アフォーダンスに関連付けされ、テキストメッセージ又は電子メールメッセージの本文に絵文字が追加される)。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクト(例えば、1100A、1102A、1104A、1106A)は、をアニメーション化された絵文字グラフィカルオブジェクトである(例えば、絵文字が瞬きをする、絵文字の舌がぱたぱたと揺れ動くなど)。いくつかの実施形態によれば、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更することは、絵文字グラフィカルオブジェクトの第1の視覚的態様(例えば、1100B、1102B、1104B、1106C)の変更をアニメーション化することを含む(例えば、スマイリーの口角を上にスワイプすると、口が一層大きく/一層幸せにアニメーション化される)。
方法1200に関して上述された処理(例えば、図12)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700(図7)、方法900(図9)、方法1000(図10)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)は、方法1200に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図12における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法1200に関して説明した技術は、方法700(図7)、方法900(図9)、方法1000(図10)、方法1400(図14A)、方法1420(図14B)、方法1600(図16)とも関連することがある。
図13は、いくつかの実施形態に係る、様々なページ間で遷移するためのユーザインタフェースの例を示す。いくつかの実施形態では、電子デバイスはデバイス500である。電子デバイスは、ディスプレイ(例えば、112、340、504)及びタッチ感知面(例えば、112、355、504)を有する。また、デバイスは、回転可能入力機構(例えば、506)を有してもよい。ユーザは、デバイスのユーザインタフェースの連続していない複数のページを手早く切り替えることを望むことがある。しかしながら、ページを切り替えるには、メニューの複雑な構造を操作するか、所望のページのページ番号を入力する必要がある。これは時間がかかり、効率的ではない。このため、ユーザが、ユーザインタフェースのページ間を正確かつ手早く効率的に操作できるようにする技術を提供すると有用な場合がある。以下、正確で手早く効率的な技術について説明する。
ユーザインタフェース1302において、デバイスは、ユーザインタフェースの第1ページ(例えば、ユーザインタフェース画面1302に示されたスマイリーのページ)及び第1の組のページングアフォーダンス(例えば、ページングアフォーダンス1302A及び1302B)を表示する。第1の組のページングアフォーダンス(例えば、1302A〜B)は、フォーカスセレクタ(例えば、ページドット1302Aが塗りつぶされている)を含む第1のページングアフォーダンス(例えば1302A)を含む。第1ページングアフォーダンス(例えば、1302)は、ユーザインタフェースの第1ページに対応する(例えば、ページドット1302は、ユーザインタフェース画面1302の現在表示されているスマイリーのページに対応する)。この例では、4つのページドットによって示されるように、ユーザインタフェースには4つのページがある。
デバイスは、ユーザインタフェース画面1302に示されるように、タッチ感知面上の第1の場所でのユーザタッチを受信する。第1の場所は、第1の組のページングアフォーダンスに関連付けされている(例えば、タッチは、第1組のページングアフォーダンス1302A〜Bの一番上である)。いくつかの例では、タッチは、持続時間の閾値を上回る。
第1の場所でのユーザタッチを受信したことに応じて、デバイスは、ユーザインタフェース画面1304に示されるように、第1の組のページングアフォーダンス(例えば、1302A〜B)の表示を、第2の組のページングアフォーダンス(例えば、1304A〜B)の表示に入れ替える。例えば、デバイスは、大きな組でページドットを表示するか、既存のページドットの組を拡大する。第2の組のページングアフォーダンス(例えば、1304A〜B)は、ユーザインタフェースの第2のページに対応する第2のページングアフォーダンス(例えば、1304B)を含む(例えば、第2ページングアフォーダンス1304Bは、ユーザインタフェース画面1302及び1304に示されている現在表示されているスマイリーのページには対応せず、別のページに対応している)。この例では、ページドット1304Aは、ページドット1302Aの拡大版であり、どちらもユーザインタフェースの第1のページ(例えば、スマイリーのページ)に対応する。ユーザインタフェース画面1304において、第2のページングアフォーダンス1304Bは、フォーカスセレクタを含まない(例えば、ページドットが塗りつぶされていない)。
ユーザタッチの受信を継続しながら、デバイスは、ユーザインタフェース画面1306で示されるように、タッチ感知面でのユーザタッチの接触が中断することのない、タッチ感知面の第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動を検出する(例えば、ユーザは、自分の指を持ち上げてタッチ感知面から離すことなく自分の指を動かす)。第2の位置は、第2のページングアフォーダンスに関連付けされている(例えば、指がいまページドット1304B、1306Bの場所にある)。例えば、ユーザが第2のページングアフォーダンス(例えば、1304B、1306B)上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス上で指をスライドさせ、指を持ち上げる。
第2の場所(例えば、ページドット1306Bの場所)でのユーザタッチの検出に応じて、デバイスは、ユーザインタフェースの第2のページ(例えば、親指を上げたマークの絵文字オブジェクト1306Cを含む親指を上げたマークのページ)を表示する。このため、ユーザは、ページングアフォーダンスに自分の指を乗せ、ページングアフォーダンスが大きくなる及び/又は新たな場所に移動して、拡大されたページングアフォーダンスがユーザタッチでカバーされないようにユーザがページングアフォーダンスを一層容易に見ることができるようにする。ユーザが自分の指をあるページングアフォーダンスまで動かすことによってそのページングアフォーダンスを選択すると、選択しているページングアフォーダンスに対応するページが表示される。
いくつかの実施形態によれば、デバイスは、第2の場所でのタッチ感知面からのユーザタッチのリフトオフ(例えば、ユーザがタッチ感知面との接触を中断すること)を検出する(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせた後、その指を持ち上げるなど)。第2の場所でのユーザタッチのリフトオフの検出に応じて、デバイスは、ユーザインタフェースの第2のページの表示を維持する。このため、ユーザインタフェースの目的のページが表示されると、ユーザは、自分の指をタッチ感知面から離して所望のページにアクセスし続けることができる。
いくつかの実施形態によれば、ユーザタッチの受信を継続しながら、タッチ感知面の第2の場所でのユーザタッチの特性強度(例えば、最大強度)を検出すること及びタッチ感知面からのユーザタッチのその後のリフトオフを検出すること(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせ、指を持ち上げるなど)。特性強度が強度閾値を超過した(例えば、ユーザが第2の場所をハードプレスした)旨の判定に従って、ユーザインタフェースの第2のページの表示を維持すること(例えば、ユーザがハードプレスを使用して第2のページにコミットした場合、ユーザタッチのリフトオフ後にそのページの表示を維持する)。このように、ユーザは、特定のページにコミットするのに、ハードプレスを行っていた。
いくつかの実施形態によれば、特性強度が強度閾値を超過しない(例えば、ハードプレスではなかった)旨の判定に従って、デバイスは、ユーザインタフェースの第2のページ(例えば、親指を上げたマークのページ)の表示を、ユーザインタフェースの第1のページ(例えば、スマイリーのページ)の表示に入れ替える。この例では、デバイスは、指の動きがプレビューを要求するためであったと判定する。ユーザは、ハードプレスをすることでページにコミットしたわけではないため、デバイスは、ユーザがタッチ感知面から自分の指を離した後、第2のページを最初に表示されていた第1のページに入れ替える。
いくつかの実施形態によれば、第2の場所でのユーザタッチの検出に応じて、デバイスは、ユーザインタフェース画面1306で示されるように、フォーカスセレクタを含むように第2のページングアフォーダンス1306Bを更新する(例えば、第2のページドット1306Bが塗りつぶされている)。
いくつかの実施形態によれば、ユーザインタフェースの第2のページを表示することは、ユーザインタフェースの第1のページの表示を、ユーザインタフェースの第2のページの表示に入れ替えることを含む。このように、ユーザインタフェース画面1302及び1304のスマイリーのページは、ユーザインタフェース画面1306及び1308の親指を上げたマークのページに入れ替えられる。いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスの拡大版を表示することを含む。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む(例えば、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの表示が大きくなったことによるものである)。他の例では、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの平行移動による(例えば、第1の組のページドットがディスプレイ上の異なる場所に移動する)。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
別の実施形態では、ユーザインタフェース1302において、デバイスは、ユーザインタフェースの複数のページのうちの第1のページ(例えば、ユーザインタフェース画面1302に示されるスマイリーのページ)及び第1の組のページングアフォーダンス(例えば、1302A〜1302B)を表示する。第1の組のページングアフォーダンスは、フォーカスセレクタ(例えば、塗りつぶされている)を含む第1のページングアフォーダンス(例えば1302A)を含む。第1のページングアフォーダンス(例えば、1302A)は、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302及び1304に示されるスマイリーのページ)に対応する。
デバイスは、タッチ感知面上の、第1の組のページングアフォーダンスに対応する第1の場所でのユーザタッチを受信する(例えば、ユーザインタフェース画面1302で示されるように、ユーザがページングアフォーダンス1302A〜Bをタッチして保持する)。第1の場所でのユーザタッチを受信したことに応じて、デバイスは、第1の組のページングアフォーダンス(例えば、1302A〜B)の表示を、第2の組のページングアフォーダンス(例えば、1304A〜B)の表示に入れ替え、ここで、第2の組のページングアフォーダンス(例えば、1304A〜1304B)は、フォーカスセレクタ(例えば、塗りつぶされている)を含む第1のページングアフォーダンス(例えば、1304A)を含み、第1のページングアフォーダンス(例えば、1304A)は、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302及び1304に示されるスマイリーのページ)に対応する。
ユーザタッチの受信を継続しながら、デバイスは、タッチ感知面との接触が中断することのない、タッチ感知面の第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動を検出する。第2の場所でのユーザタッチの検出に応じて、デバイスは、複数のページのうちの第1のページ(例えば、スマイリーのページ)の表示を第2のページ(例えば、親指を上げたマークのページ)に入れ替え、第2の組のページングアフォーダンスを更新(例えば、アフォーダンス1304A〜1304Bをアフォーダンス1306A〜1306Bに更新)し、この更新することは、一組の第1のページングアフォーダンスからフォーカスセレクタを取り除き(例えば、1304Aの塗りつぶされている部分を取り除く)、フォーカスセレクタを備える、一組のページングアフォーダンスのうちの第2のページングアフォーダンスを表示する(例えば、1306Bが塗りつぶされる)ことを含む。
いくつかの実施形態によれば、デバイスは、第2の場所でのタッチ感知面からのユーザタッチのリフトオフ(例えば、ユーザがタッチ感知面との接触を中断すること)を検出する(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせた後、その指を持ち上げるなど)。第2の場所でのユーザタッチのリフトオフの検出に応じて、デバイスは、ユーザインタフェースの第2のページの表示を維持する。このため、ユーザインタフェースの目的のページが表示されると、ユーザは、自分の指をタッチ感知面から離して所望のページにアクセスし続けることができる。この技術では、プレビューモードは提供されない。
いくつかの実施形態によれば、ユーザタッチの受信を継続しながら、タッチ感知面の第2の場所でのユーザタッチの特性強度(例えば、最大強度)を検出すること及びタッチ感知面からのユーザタッチのその後のリフトオフを検出すること(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせて指を持ち上げるなど)。特性強度が強度閾値を超過した(例えば、ユーザが第2の場所をハードプレスした)旨の判定に従って、ユーザインタフェースの第2のページの表示を維持すること(例えば、ユーザがハードプレスを使用して第2のページにコミットした場合、ユーザタッチのリフトオフ後にそのページの表示を維持する)。このように、ユーザは、特定のページにコミットするのに、ハードプレスを行っていた。
いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスの拡大版を表示することを含む。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む(例えば、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの表示が大きくなったことによるものである)。他の例では、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの平行移動による(例えば、第1の組のページドットがディスプレイ上の異なる場所に移動する)。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
図14A及び図14Bは、いくつかの実施形態に係る、様々なページ間を遷移するための方法1400及び1420を示すフローチャートである。いくつかの実施形態では、方法1400及び1420は、ディスプレイ(例えば、112、340、504)及びタッチ感知面(例えば、112、355、504)を備える電子デバイスにおいて実行されてもよい。また、電子デバイスは、回転可能入力機構(例えば、506)を含んでもよい。いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。いくつかの実施形態では、方法1400及び1420は、ディスプレイと、タッチ感知面上(例えば、112、355、504)での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面とを備える、電子デバイスで実行することができる。方法1400及び1420を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。方法1400のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。方法1420のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
ユーザは、デバイスのユーザインタフェースの連続していない複数のページを手早く切り替えることを望むことがある。しかしながら、ページを切り替えるには、メニューの複雑な構造を操作するか、所望のページのページ番号を入力する必要がある。これは時間がかかり、効率的ではない。このため、ユーザが、より少ないジェスチャ又はキーストロークで、ユーザインタフェースのページ間を正確かつ手早く効率的に操作できるようにする技術を提供すると有用な場合がある。以下、正確で手早く効率的な技術について説明する。
方法1400及び1420は、ユーザインタフェースの様々なページ間で遷移するための直感的な方法を提供する。この方法は、ユーザがデバイス上でページ間を移動する際の認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがページ間を一層手早く一層効率的に移動できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
図14Aは、いくつかの実施形態に係る、様々なページ間を遷移するための方法1400を示すフローチャートである。ブロック1402では、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302のスマイリーのページ)及び第1の組のページングアフォーダンス(例えば、1302A〜1302B)、ここで、フォーカスセレクタを含む第1のページングアフォーダンス(例えば、1302A)を含み、第1のページングアフォーダンス(例えば、1302A)は、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302のスマイリーのページ)に対応する。
ブロック1404では、(例えば、ユーザインタフェース画面1302に示されるように)タッチ感知面上の、第1の組のページングアフォーダンスに関連付けされている第1の場所でのユーザタッチが受信される。
ブロック1406では、第1の場所でのユーザタッチを受信したことに応じて、第1の組のページングアフォーダンス(例えば、1302A〜1302B)の表示を、第2の組のページングアフォーダンス(例えば、1304A〜1304B)の表示に入れ替え、大きな組でページドットを表示するか、既存のページドットの組を拡大し、第2の組のページングアフォーダンス(例えば、1304A〜1304B)は、ユーザインタフェースの第2のページに対応する第2のページングアフォーダンス(例えば、1304B)を含む(例えば、1304Bは、親指を上げたマークのページに対応する)。
ブロック1408では、ユーザタッチの受信を継続しながら、タッチ感知面との接触が中断することのない(例えば、ユーザが自分の指を持ち上げてタッチ感知面から離すことがない)、タッチ感知面の第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動を(例えば、ユーザが第2のページングアフォーダンス1306B上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス1306Bの上で自分の指をスライドさせ、指を持ち上げるなど)検出する。
ブロック1410では、第2の場所でのユーザタッチの検出に応じて、ユーザインタフェースの第2のページ(例えば、ユーザインタフェース画面1306及び1308に示される親指を上げたマークのページ)が表示される。
いくつかの実施形態によれば、第2の場所でのタッチ感知面からのユーザタッチのリフトオフ(例えば、ユーザがタッチ感知面との接触を中断すること)が検出される(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせ、その指を持ち上げるなど)。第2の場所でのユーザタッチのリフトオフの検出に応じて、ユーザインタフェースの第2のページの表示が維持される(例えば、ユーザタッチのリフトオフ後の第2のページの表示を維持することなど)。
いくつかの実施形態によれば、ユーザタッチの受信を継続しながら、タッチ感知面の第2の場所でのユーザタッチの特性強度が検出され、タッチ感知面からのユーザタッチのその後のリフトオフが検出される(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせ、指を持ち上げるなど)。特性強度が強度閾値を超過した(例えば、ハードプレスをした)旨の判定に従って、ユーザインタフェースの第2のページの表示が維持される(例えば、ハードプレスを使用して第2のページにコミットした場合、ユーザタッチのリフトオフ後にそのページの表示を維持する)。
いくつかの実施形態によれば、特性強度が強度閾値を超過しない(例えば、ハードプレスではない)旨の判定に従って、ユーザインタフェースの第2のページの表示が、ユーザインタフェースの第1のページの表示に入れ替えられる(例えば、これはプレビューの要求であって、第2のページを最初に表示されていた第1のページに入れ替える)。
いくつかの実施形態によれば、第2の場所でのユーザタッチの検出に応じて、フォーカスセレクタを含むように第2のページングアフォーダンスが更新される(例えば、第2のページングアフォーダンスが塗りつぶされる)。
いくつかの実施形態によれば、ユーザインタフェースの第2のページを表示することは、ユーザインタフェースの第1のページの表示を、ユーザインタフェースの第2のページの表示に入れ替えることを含む。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスの拡大版を表示することを含む。
いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む(例えば、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの表示が大きくなったことによるものである)。他の例では、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの平行移動による(例えば、第1の組のページドットがディスプレイ上の異なる場所に移動する)。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
図14Bは、いくつかの実施形態に係る、様々なページ間を遷移するための方法1420を示すフローチャートである。ブロック1422では、ユーザインタフェースの複数のページのうちの第1のページ(例えば、ユーザインタフェース画面1302に示されるスマイリーのページ)及び第1の組のページングアフォーダンス(例えば、1302A〜1302B)が表示される。第1の組のページングアフォーダンスは、フォーカスセレクタ(例えば、塗りつぶされている)を含む第1のページングアフォーダンス(例えば1302A)を含む。第1のページングアフォーダンス(例えば、1302A)は、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302及び1304に示されるスマイリーのページ)に対応する。
ブロック424では、タッチ感知面上の、第1の組のページングアフォーダンスに対応する第1の場所でのユーザタッチが受信される(例えば、ユーザインタフェース画面1302で示されるように、ユーザがページングアフォーダンス1302A〜Bをタッチして保持する)。
ブロック1426では、第1の場所でのユーザタッチを受信したことに応じて、第1の組のページングアフォーダンス(例えば、1302A〜1302B)の表示が、第2の組のページングアフォーダンス(例えば、1304A〜1304B)の表示に入れ替えられ、ここで、第2の組のページングアフォーダンス(例えば、1304A〜B)は、フォーカスセレクタ(例えば、塗りつぶされている)を含む第1のページングアフォーダンス(例えば、1304A)を含み、第1のページングアフォーダンス(例えば、1304A)は、ユーザインタフェースの第1のページ(例えば、ユーザインタフェース画面1302及び1304に示されるスマイリーのページ)に対応する。
ブロック1428では、ユーザタッチの受信を継続しながら、タッチ感知面との接触が中断することのない、タッチ感知面の第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動が検出される。
ブロック1430では、ユーザタッチを受信したことに応じて、ブロック1432及び1434が実行される。ブロック1432では、複数のページのうちの第1のページ(例えば、スマイリーのページ)の表示が第2のページ(例えば、親指を上げたマークのページ)に入れ替えられる。ブロック1434では、第2の組のページングアフォーダンス(例えば、アフォーダンス1306A〜1306Bに更新されたアフォーダンス1304A〜1304B)が更新され、この更新することは、一組の第1のページングアフォーダンスからフォーカスセレクタを取り除き(例えば、1304Aの塗りつぶされている部分を取り除く)、フォーカスセレクタを備える、一組のページングアフォーダンスのうちの第2のページングアフォーダンスを表示する(例えば、1306Bが塗りつぶされる)ことを含む。
いくつかの実施形態によれば、第2の場所でのタッチ感知面からのユーザタッチのリフトオフ(例えば、ユーザがタッチ感知面との接触を中断すること)が検出される(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせ、その指を持ち上げるなど)。第2の場所でのユーザタッチのリフトオフの検出に応じて、ユーザインタフェースの第2のページの表示が維持される(例えば、ユーザタッチのリフトオフ後の第2のページの表示を維持することなど)。
いくつかの実施形態によれば、ユーザタッチの受信を継続しながら、タッチ感知面の第2の場所でのユーザタッチの特性強度が検出され、タッチ感知面からのユーザタッチのその後のリフトオフが検出される(例えば、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせるか、ユーザが第2のページングアフォーダンス上で自分の指をスライドさせ、指を持ち上げるなど)。特性強度が強度閾値を超過した(例えば、ユーザがハードプレスをした)旨の判定に従って、ユーザインタフェースの第2のページの表示が維持される(例えば、ユーザがハードプレスを使用して第2のページにコミットした場合、ユーザタッチのリフトオフ後にそのページの表示を維持する)。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスの拡大版を表示することを含む。
いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む(例えば、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの表示が大きくなったことによるものである)。他の例では、第2の組のページングアフォーダンスの表示は、第1の組のページングアフォーダンスの平行移動による(例えば、第1の組のページドットがディスプレイ上の異なる場所に移動する)。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
方法1400及び1420に関して上述した処理(図14A〜図14B)の詳細が、上述の方法及び後述する方法にも同様に当てはまることに、注意されたい。例えば、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)は、方法1400及び1420に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図14A〜図14Bにおける動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法1400及び1420に関して説明した技術は、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)、方法1600(図16)とも関連することがある。
図15A〜図15Bは、いくつかの実施形態に係る、電子デバイスを使用してユーザ入力を受信するためのユーザインタフェースの例を示す。いくつかの実施形態では、電子デバイスはデバイス500である。いくつかの実施形態では、電子デバイスは、ディスプレイ(例えば、112、340、504)、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を有する。
iMessage(登録商標)SMS又は電子メールのメッセージなどにおいて、ユーザがメッセージ本文又は返信を入力するのに異なるユーザインタフェースからの選択を望む場合がある。しかしながら、様々なユーザインタフェースを切り替えるには、複雑な構造のメニューを操作する必要がある。これは時間がかかり、効率的ではない。このため、ユーザが、様々なユーザインタフェースを正確かつ手早く効率的に切り替えられるようにする方法を提供すると有用な場合がある。以下、正確で手早く効率的な技術について説明する。
いくつかの実施形態によれば、ユーザインタフェース画面1502に示されるように、デバイスは、(例えば、新規のメッセージ又は既存のメッセージに連絡先を追加するための)連絡追加先アフォーダンス1502A及び(例えば、新規のメッセージ又は既存のメッセージにコンテンツを追加するための)メッセージ作成アフォーダンス1502Bを表示する。
デバイスは、第1のユーザ入力を受信する(例えば、(1)ユーザがメッセージ作成アフォーダンス1502をタップする又は(2)ユーザがすでにメッセージ作成インタフェースにいて、ディクテーションアフォーダンスをタップする)。第1のユーザ入力を受信したことに応じて、デバイスは、ユーザインタフェース画面1504に示されるように、ディスプレイに、ディクテーションユーザインタフェースを表示する。ディクテーションユーザインタフェースは、波形1504C(例えば、波形1504Cの位置は、これがデバイスの物理的なボタンから生じているように見える位置である)と、ディクテーションモードを開始及び終了するためのアフォーダンス1504Dとを含んでもよい。また、ユーザインタフェース画面1504は、アクティブになると絵文字ユーザインタフェースを表示させる絵文字アフォーダンス1504Aと、アクティブになると応答案ユーザインタフェースを表示させる応答案アフォーダンス1504Bとを含む。
デバイスは、第2のユーザ入力(例えば、ユーザが絵文字アフォーダンス1504Aをタップするなど)を受信する。第2のユーザ入力を受信したことに応じて、デバイスは、(例えば、ユーザインタフェース画面1504に示されるような)ディクテーションユーザインタフェースの表示を、第1の絵文字グラフィカルオブジェクト(例えば、ユーザインタフェース画面1506に示される絵文字ユーザインタフェースのスマイリー1506A)の表示に入れ替える。また、ユーザインタフェース画面1506は、アクティブになると絵文字ユーザインタフェースを表示させる応答案アフォーダンスと、アクティブになるとディクテーションユーザインタフェースを表示させるディクテーションアフォーダンスとを含む。
ユーザインタフェース画面1506において、デバイスは、第1の絵文字グラフィカルオブジェクトに関連付けされているタッチ感知面上の場所で、第1のユーザスワイプジェスチャ入力(例えば、ユーザが次の絵文字ページにスワイプする、左スワイプジェスチャ)を受信する。第1のユーザスワイプジェスチャ入力を受信したことに応じて、デバイスは、ユーザインタフェース画面1508に示されるように、第1の絵文字グラフィカルオブジェクト(例えば、スマイリー1506A)の表示を、第2の絵文字グラフィカルオブジェクト(例えば、ハート1508A)の表示に入れ替える。
いくつかの例では、スワイプが更に1回以上なされることで、最近アクセスされた一組の絵文字グラフィカルオブジェクトに至る前に、追加の絵文字グラフィカルオブジェクトが表示される。いくつかの例では、更にスワイプがなされると、一組の最近アクセスされた絵文字グラフィカルオブジェクトに至る。特に、デバイスは、タッチ感知面における第2のユーザスワイプジェスチャ入力を受信する(例えば、最近使用した絵文字を得るためにユーザがスワイプし、スワイプは、第2の絵文字グラフィックオブジェクト(ハート)であってもよいし、第3の絵文字グラフィカルオブジェクト(親指を上げた/下げたマーク)であってもよい)。第2のユーザスワイプジェスチャ入力を受信したことに応じて、デバイスは、ユーザインタフェース画面1512に示されるように、(例えば、第2の絵文字グラフィックオブジェクト又は第3の絵文字グラフィックオブジェクトの表示を入れ替えることによって)一組の最近アクセスされた絵文字グラフィカルオブジェクト1512A〜1512C(例えば、最近使用した絵文字リスト)を表示する。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクト1512A〜1512は、1つ以上の(又は複数の)絵文字グラフィカルオブジェクト(例えば、1512A、1512B、1512C)を含み、1つ以上の絵文字グラフィカルオブジェクトは、外部の電子デバイス(例えば、上述のユーザインタフェース画面を表示している電子デバイス以外のデバイスであり、外部の電子デバイスは、ユーザの電話のこともある)によって最近アクセスされた(いくつかの例では、予め定められた数の)絵文字グラフィックオブジェクトに基づいて選択される。このため、ユーザの電話(外部の電子デバイス)は、電子デバイスと無線接続されてもよい。ユーザは、外部の電子デバイスを使用して、iMessages(登録商標)及び電子メールメッセージなどのメッセージを送信し、これらには絵文字グラフィカルオブジェクトが含まれる。電子デバイスは、外部の電子デバイスによって直近に送信された(予め定められた数の)絵文字グラフィカルオブジェクトを特定する情報を(例えば、外部の電子デバイスから直接又は間接的に)受信し、ユーザインタフェース画面1512に示されるような最近使用した絵文字ビューにこれを表示する。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクト(例えば、1512Aから1512C)は、無線接続された外部の電子デバイス(例えば、ユーザの電話)によって最近アクセスされた(例えば、予め定められた数の)可視的に操作可能な絵文字グラフィカルオブジェクトに基づいて選択される1つ以上の(又は複数の)可視的に操作可能な絵文字グラフィカルオブジェクト(例えば、目に見える外観を変更するように操作可能な絵文字)を含む。このため、ユーザの電話(例えば、外部の電子デバイス)は、電子デバイスと無線接続されてもよい。ユーザは、外部の電子デバイスを使用して、iMessages(登録商標)、SMS、電子メールメッセージなどのメッセージを送信し、これらには可視的に操作された絵文字グラフィカルオブジェクトが含まれる。電子デバイスは、外部の電子デバイスによって直近に送信された、予め定められた数の操作された絵文字グラフィカルオブジェクトを特定する情報を(例えば、外部の電子デバイスから)受信し、ユーザインタフェース画面1512に示されるような最近使用した絵文字ビューにこれを表示する。
いくつかの実施形態によれば、デバイスは、第3のユーザ入力(例えば、ユーザが応答案アフォーダンス1512Dをタップする)を受信する。第3のユーザ入力を受信したことに応じて、デバイスは、図15Bのユーザインタフェース画面1514に示されるように、返信案ユーザ入力インタフェース(例えば、応答案1514C、1514D及び1514Eのリスト)を表示する。返信案ユーザ入力インタフェースは、1つ以上の応答案(例えば、1514C〜E)を含む。また、ユーザインタフェース画面1514は、アクティブになるとディクテーションユーザインタフェースを表示させるディクテーションアフォーダンス1514Aと、アクティブになると絵文字ユーザインタフェースを表示させる絵文字アフォーダンス1514Bとを含む。
いくつかの実施形態によれば、ユーザインタフェース画面1514において、デバイスは、1つ以上の応答案(例えば、1514C〜1514E)のうちの第1の応答案(例えば、1514C)に関連付けされているタッチを表すユーザ入力を受信する。第1の応答案(例えば、1514C)に関連付けされているタッチを表すユーザ入力を受信したことに応じて、デバイスは、この第1の応答案を、応答情報として電子メッセージに加える。例えば、ユーザがアフォーダンス1514Cを選択した後、デバイスは受信者(単数又は複数)に応答を送信することができる。応答情報は、例えば、(1)WiFi対応ルータとの直接的な無線WiFi通信、(2)携帯基地局との直接的な無線セルラー通信又は(3)中継点としての(携帯電話又はラップトップなどの)コンパニオンデバイスを使用し、このコンパニオンデバイスに応答情報を送信するよう要求することによって、受信者に送信される。また、コンパニオンデバイスは、ユーザがアクセス可能な電子メッセージアプリケーションを含み、電子デバイスのユーザの電子メッセージにアクセスするように構成することができる。
いくつかの実施形態によれば、第4のユーザ入力(例えば、ユーザが、ディクテーションアフォーダンス1514Aをタップするか、ユーザインタフェース画面1506、1508、1510、1512でタップする)を受信すること。第4のユーザ入力を受信したことに応じて、ディクテーションユーザインタフェースを表示すること。
いくつかの実施形態によれば、いくつかの実施形態によれば、デバイスは、(例えば、ディクテーションユーザインタフェースにいる間に)スピーチを表すユーザ入力を受信する。スピーチを表すユーザ入力を受信したことに応じて、デバイスは、スピーチを表すユーザ入力を表記する。受信したスピーチの表記は、何通りかの方法で行うことができる。(1)電子デバイスによって、そのデバイスで行う。(2)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)をコンパニオンデバイス(例えば、携帯電話又はラップトップコンピュータ)に送信し、コンパニオンデバイスが、そのコンパニオンデバイスでユーザ入力を表記し、電子デバイスは表記されたスピーチをコンパニオンデバイスから受信する形で、遠隔で行う。(3)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)をサーバ(例えば、インターネットで接続されたサーバ)に送信し、サーバがユーザ入力を表記し、電子デバイスは表記されたスピーチをサーバから(例えば、WiFi又はBluetoothによって)受信する形で、遠隔で行う。あるいは、(4)電子デバイスは、(例えば、WiFi又はBluetoothによって)スピーチを表すユーザ入力(又はスピーチを表すユーザ入力に基づくデータ)をコンパニオンデバイス(例えば、携帯電話又はラップトップコンピュータ)に送信し、コンパニオンデバイスが、このユーザ入力をサーバに送信し、サーバがユーザ入力を表記し、コンパニオンデバイスが表記されたスピーチをサーバから受信し、電子デバイスは、表記されたスピーチをコンパニオンデバイスから受信する形で、遠隔で行う。スピーチを表すユーザ入力を受信したことに応じて、デバイスは、表記されたスピーチを電子メッセージに加える(例えば、表記されたスピーチを、iMessage(登録商標)、SMS又は電子メールのメッセージに追加する)。
いくつかの実施形態によれば、デバイスは、第5のユーザ入力(例えば、ユーザが「キーボード」アフォーダンスをタップする)を受信する。第5のユーザ入力を受信したことに応じて、デバイスは、キーボードの1つ以上のキーを表示する(例えば、図17A〜図17Dを参照して説明するように、応答情報に対するユーザ入力を電子メッセージに加えることを可能にするキーボードを表示する)。
いくつかの実施形態によれば、ユーザインタフェース画面1508において、デバイスは、第2の絵文字グラフィカルオブジェクトに関連付けされている第6のユーザ入力(例えば、タッチ感知面上のスワイプ/ドラッグ又は回転可能入力機構の回転)を受信する。第2の絵文字グラフィカルオブジェクト(例えば、1508A)に関連付けされている第6のユーザ入力を受信したことに応じて、第2の絵文字グラフィカルオブジェクトの第1の視覚的態様を、第6のユーザ入力に基づく変更をすること。例えば、スマイリーの口角を上にスワイプ(して、スマイリーをより幸せに)すると、口角を下にスワイプ(してスマイリーをより悲しく)する場合とは違う変化が生じる。
いくつかの実施形態によれば、ユーザインタフェース画面1508において、デバイスは、第3のユーザスワイプジェスチャ入力を受信する(例えば、第2のスワイプジェスチャを受信する前に、ユーザが次のページにスワイプして、デバイスは第3のスワイプジェスチャを受信する)。第3のユーザスワイプジェスチャ入力を受信したことに応じて、第2の絵文字グラフィカルオブジェクト(例えば、ハート1508A)の表示を、第3の絵文字グラフィカルオブジェクト(例えば、親指を上にあげたマーク1510A)の表示に入れ替えること。
いくつかの実施形態によれば、デバイスは、応答情報を含む電子メッセージを受信者に送信する(例えば、ユーザが応答情報を選択/入力した後、絵文字、テキスト、表記されたコンテンツをメッセージとして送信する)。
いくつかの実施形態によれば、第1の絵文字グラフィカルオブジェクトと第2の絵文字グラフィカルオブジェクトは異なり、第1の絵文字グラフィカルオブジェクト及び第2の絵文字グラフィカルオブジェクトは、スマイリー(例えば、幸せな顔、悲しい顔、怒った顔)、ハート(例えば、ハート、壊れたハート、アニメーション化された鼓動するハート)、及び親指の合図(例えば、親指を上げる又は親指を下げるもので、ユーザは、親指の合図を操作してこの2つを切り替えることができる)を含む群から選択される。
図16は、いくつかの実施形態に係る、電子デバイスを使用してユーザ入力を受信するための方法1600を示すフローチャートである。いくつかの実施形態では、方法1600は、ディスプレイ(例えば、112、340、504)及びタッチ感知面(例えば、112、355、504)を備える電子デバイスにおいて実行されてもよい。また、電子デバイスは、回転可能入力機構(例えば、506)を含んでもよい。いくつかの実施形態では、タッチ感知面(例えば、112、355、504)は、タッチ接触の強度を検出することができる。一部の実施形態では、プロセス1600は、タッチ感知面(例えば、112、355、504)上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面と備える、電子デバイスで実行することができる。方法1600を実行することができるデバイスの例として、デバイス100、300、500(図1A、図3、図5A)が挙げられる。方法1600のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
iMessage(登録商標)SMS又は電子メールのメッセージなどにおいて、ユーザがメッセージ本文又は返信を入力するのに異なるユーザインタフェースからの選択を望む場合がある。しかしながら、様々なユーザインタフェースを切り替えるには、複雑な構造のメニューを操作する必要がある。これは時間がかかり、効率的ではない。このため、ユーザが、様々なユーザインタフェースを正確かつ手早く効率的に切り替えられるようにする方法を提供すると有用な場合がある。以下、正確で手早く効率的な技術について説明する。
方法1600は、様々なユーザインタフェースを切り替える直感的な方法を提供する。この方法は、ユーザが様々なユーザインタフェースを切り替える際の認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが様々なユーザインタフェースを手早く効率的に切り替えることができるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック1602では、第1のユーザ入力が受信される。ブロック1604では、第1のユーザ入力を受信したことに応じて、表示ユニットに、ディクテーションユーザインタフェースが表示される。ブロック1606では、第2のユーザ入力が受信される。ブロック1608では、第2のユーザ入力を受信したことに応じて、ディクテーションユーザインタフェースの表示が、第1の絵文字グラフィカルオブジェクトの表示に入れ替えられる。ブロック1610では、第1の絵文字グラフィカルオブジェクトに関連付けされているタッチ感知面上の場所で、第1のユーザスワイプジェスチャ入力が受信される。ブロック1612では、第1のユーザスワイプジェスチャ入力を受信したことに応じて、第1の絵文字グラフィカルオブジェクトの表示を、第2の絵文字グラフィカルオブジェクトの表示に入れ替えること。ブロック1614では、タッチ感知面における第2のユーザスワイプジェスチャ入力が受信される。ブロック1616では、第2のユーザスワイプジェスチャ入力を受信したことに応じて、一組の最近アクセスされた絵文字グラフィカルオブジェクトを表示すること。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクトは、外部の電子デバイスによって最近アクセスされた絵文字グラフィカルオブジェクトに基づいて選択される1つ以上の絵文字グラフィカルオブジェクトを含む。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクトは、無線接続された外部の電子デバイスによって最近アクセスされた可視的に操作可能な絵文字グラフィカルオブジェクトに基づいて選択される1つ以上の可視的に操作可能な絵文字グラフィカルオブジェクトを含む。
いくつかの実施形態によれば、電子デバイスは、第3のユーザ入力を受信する。第3のユーザ入力を受信したことに応じて、デバイスは、1つ以上の応答案を含む返信案ユーザ入力インタフェースを表示する。返信案ユーザ入力インタフェースは、1つ以上の応答案を含む。
いくつかの実施形態によれば、デバイスは、1つ以上の応答案のうちの第1の応答案に関連付けされているタッチを表すユーザ入力を受信する。第1の応答案に関連付けされているタッチを表すユーザ入力を受信したことに応じて、デバイスは、第1の応答案を、応答情報として電子メッセージに加える。
いくつかの実施形態によれば、電子デバイスは、第4のユーザ入力を受信する。第4のユーザ入力を受信したことに応じて、デバイスは、ディクテーションユーザインタフェースを表示する。
いくつかの実施形態によれば、電子デバイスは、スピーチを表すユーザ入力を受信する。スピーチを表すユーザ入力を受信したことに応じて、デバイスは、スピーチを表すユーザ入力を表記し、表記されたスピーチを電子メッセージに加える。
いくつかの実施形態によれば、電子デバイスは、第5のユーザ入力を受信する。第5のユーザ入力を受信したことに応じて、デバイスは、キーボード(例えば、図17A〜図17Dを参照して説明するキーボードなど)の1つ以上のキーを表示する。
いくつかの実施形態によれば、デバイスは、第2の絵文字グラフィカルオブジェクトに関連付けされている第6のユーザ入力を受信する。第2の絵文字グラフィカルオブジェクトに関連付けされている第6のユーザ入力を受信したことに応じて、デバイスは、第2の絵文字グラフィカルオブジェクトの第1の視覚的態様を、第6のユーザ入力に基づく変更をする。
いくつかの実施形態によれば、電子デバイスは、第3のユーザスワイプジェスチャ入力を受信する。第3のユーザスワイプジェスチャ入力を受信したことに応じて、デバイスは、第2の絵文字グラフィカルオブジェクトの表示を、第3の絵文字グラフィカルオブジェクトの表示に入れ替える。
いくつかの実施形態によれば、デバイスは、応答情報を含む電子メッセージを受信者に送信する。
いくつかの実施形態によれば、第1の絵文字グラフィカルオブジェクトと第2の絵文字グラフィカルオブジェクトは異なり、第1の絵文字グラフィカルオブジェクト及び第2の絵文字グラフィカルオブジェクトは、スマイリー、ハート、及び親指の合図を含む群から選択される。
方法1600に関して上述された処理(例えば、図16)の詳細が、上述した方法にも同様に当てはまることに、注意されたい。例えば、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)及び方法1420(図14B)は、方法1600に関して上述した様々な方法の1つ以上の特徴を含むことができる。簡潔性のために、これらの詳細は、以下では繰り返されない。
図16における動作について説明された特定の順序は例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、特定の動作を除外するだけでなく、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。また、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)、方法1420(図14B)及び方法1600(図16)の実施態様を、互いに取り入れるようにしてもよい。このため、方法1600に関して説明した技術は、方法700(図7)、方法900(図9)、方法1000(図10)、方法1200(図12)、方法1400(図14A)及び方法1420(図14B)とも関連することがある。
図17A〜図17Dは、いくつかの実施形態に係る、電子デバイスを使用してユーザ入力を受信するためのユーザインタフェースの例を示す。いくつかの実施形態では、電子デバイスはデバイス500である。いくつかの実施形態では、電子デバイスは、ディスプレイ(例えば、112、340、504)、タッチ感知面(例えば、112、355、504)及び回転可能入力機構(例えば、506)を有する。
iMessage(登録商標)SMS又は電子メールのメッセージなどにおいて、ユーザがメッセージ本文又は返信を入力するのに仮想キーボード上でテキストを入力するのを望む場合がある。しかしながら、ディスプレイが小さなデバイスは、効率的な仮想QWERTYキーボードに十分な領域を与えていない。このため、ユーザが、様々なタッチベースのキーボードを使用して正確かつ手早く効率的に文字を入力できるようにする方法を提供すると有用な場合がある。
図17Aでは、ユーザインタフェース画面1702は、メッセージに受信者を追加するアフォーダンスと、メッセージに本文を追加するためのアフォーダンス1702Aとを含む。ユーザがアフォーダンス1702をアクティブにすると、ユーザインタフェース画面1704がユーザに提示される。ユーザインタフェース1704は、図6〜図7を参照して説明したように、最近アクセスされたユーザインタフェース(例えば、返信案ユーザインタフェースの「はい」アフォーダンス、「いいえ」アフォーダンス、「おそらく」アフォーダンスなど)を含む。
ユーザインタフェース画面1704において、キーボードアフォーダンスは、アクティブになると、ユーザインタフェース画面1706に示されるようなキーボードユーザインタフェースを表示させる。
ユーザインタフェース画面1706において、キーボードユーザインタフェースは、キーボードトラック1706Aを含む。キーボードトラック1706Aは、例えば、キーボードトラック1706Aに示されるように、文字の並びであってもよい。文字の並び1706Aについては、アルファベット順に並んだアルファベットとすることができる。アフォーダンス1706Bは、アクティブになると、入力されるテキストに空白を挿入する。アフォーダンス1706Cは、アクティブになると、キーボードトラック1706Aに代わる第2のキーボードトラックを表示させる。第2のキーボードトラックは、「.」、「,」、「!」、「?」、「@」、「&」、「%」、「$」、「#」、「{」、「}」、「〜」のうちの1つ以上など、アルファベット以外の文字を含む第2の文字の並びであってもよい。第2のキーボードトラックでは、文字の入力にキーボードトラック1706Aと同様の技術を使用しており、これを以下で説明する。アフォーダンス1706Dは、アクティブになると、(例えば、従来のハードウェアキーボード上のバックスペース又は削除機能のように)タイプされた文字を削除する。アフォーダンス1706Eは、アクティブになると、ユーザがテキストの入力を完了したことを示し、例えば、キーボードトラック1706Aがもう表示されないようにする。いくつかの例では、ユーザインタフェースは、カーソル1706Gを備えるテキスト挿入領域1706Fを含む。カーソルは、例えば、入力されたテキストが挿入されることになる場所を示すことができる。
ユーザインタフェース画面1708において、ユーザは、キーボードトラック1708Aに対応するタッチ感知面の場所をタッチ(例えば、指のタッチ)している。タッチの検出に応じて、デバイスは、1つ以上のプレビュー文字1708Bを表示する。この例では、1つ以上のプレビュー文字は「LMN」である。プレビュー文字は、キーボードトラック1708A上でのタッチの場所に基づいて決定される。プレビュー文字は、キーボードトラックの文字よりも大きくてもよい。このようにすることで、キーボードトラックを小さくできるが、それでもユーザは、どの文字がプレビューされているかをプレビュー文字で読み取ることができる。プレビュー文字1708Bの場所は、キーボードトラック1708A内の対応する文字の場所とは異なる。このため、ユーザがキーボードトラック1708Aの場所を指又は他の何かでタッチしている間もプレビュー文字1708Cを見ることができる。
プレビュー文字1708Bは、文字「L」、文字「M」及び文字「N」を含む。この例では、「M」(すなわち中央の文字)のサイズが他の文字より大きく、これがフォーカス文字であることが示す。フォーカス文字は、選択が確定するとどの文字が挿入されることになるかをユーザに示している。この例では、文字「M」がフォーカス文字であり、挿入点(例えば、カーソル位置)に追加されることになる。文字「L」と「N」はフォーカス文字ではないが、ユーザにコンテキストを提供する。文字「L」及び「N」は、ユーザがタッチ感知面との接触(例えば、指で接触)を中断することなくキーボードトラックに沿って自分の指を動かす場合に、どの文字がフォーカス文字になるかをユーザに示す。キーボードトラックに沿ってスクラビングする(例えば、ユーザの指をスライドさせる)ことによって、異なる文字がプレビューされ、異なる文字がフォーカス文字になる。フォーカス文字がユーザにとっての挿入したい文字である場合、ユーザは、タッチ感知スクリーンと接触したまま、タッチ感知スクリーン上でのハードプレスを開始することができる。例えば、デバイスはフォーカス文字として「M」を表示する。デバイスは、タッチの特性強度が強度閾値を超過することを検出する。タッチの特性強度が強度閾値を超過した旨の判定に応じて、デバイスは、ユーザインタフェース画面1710で示されるように、挿入点(例えば、カーソルのある場所)にフォーカス文字を挿入する。
ユーザインタフェース画面1710において、文字トラック1710Aで指によるタッチが検出されており、なおかつ文字「M」がフォーカス文字であった間にユーザがハードプレスを行った(例えば、強度閾値を超過した)結果、文字「M」1710Bが挿入されている。
タッチ感知面との接触を中断しない状態を続けながら、ユーザは、ユーザインタフェース画面1712に示されるように、キーボードトラック1712Aに沿って自分の指を右にスライドさせる。キーボードトラック1712Aに沿ってユーザがスライドする(例えば、スクラブする)と、プレビュー文字1712Bは、キーボードトラック1712Aでのユーザのタッチの場所を反映するように更新される。プレビュー文字1712Bにおいて、1712Bの文字「N」又は「P」よりも大きいことから明らかなように、文字「O」がフォーカス文字である。繰り返すが、タッチ感知面との接触を中断させることなく、ユーザはハードプレスをする。デバイスは、キーボードトラック1712A上の場所におけるタッチの特性強度が強度閾値を超過することを検出する。タッチの特性強度が強度閾値を超過した旨の判定に応じて、デバイスは、ユーザインタフェース画面1714で示されるように、挿入点(例えば、カーソルのある場所)にフォーカス文字を挿入する。
ユーザインタフェース画面1714において、ユーザは今、タッチ感知面から一度も指を持ち上げることなく(例えば、タッチ感知面との接触を中断させずに)「MO」を入力している。
いくつかの実施形態によれば、ユーザは、自分の指を持ち上げて空白を入力してもよい。いくつかの実施形態によれば、ユーザは、自分の指を持ち上げ、再びキーボードトラックに戻すことによって空白を入力してもよい。このため、例えば、ユーザインタフェース画面1714に表示された「MO」の後にユーザが空白を入力したい場合、ユーザは、タッチ感知面との接触を中断させる。いくつかの実施形態では、タッチが検出されなくなった(例えば、ユーザがタッチ感知面と接触していなくなった)旨の判定に従って、挿入点(例えば、カーソル1714)に空白が挿入される。いくつかの実施形態では、タッチ(例えば、「MO」を挿入するために使用されたタッチ)が検出されなくなっており、かつ、第2のタッチが検出された旨の判定に従って、挿入点(例えば、カーソル1714)に空白が挿入される。いくつかの実施形態によれば、タッチ(例えば、「MO」を挿入するために使用されるタッチ)がもはや検出されず、所定の期間内に第2のタッチが検出される(例えば、ユーザが持ち上げるそれらの指は、その後、所定の時間内に指をタッチ感知ディスプレイ上に戻す)、挿入点(例えば、カーソル1714)に空白が挿入される。
ユーザインタフェース画面1716及び1718は、上述した技術を使用して空白を挿入することを示す。ユーザインタフェース画面1716では、ユーザはまだタッチ感知面から自分の指を持ち上げていない。ユーザインタフェース画面1718において、デバイスは、タッチ感知面でタッチが中断していることを検出する。タッチ感知面でタッチが中断している旨の検出に応じて、デバイスは、ユーザインタフェース画面1720において文字「MO」1720A(すなわち「MO<空白>」)で示されるように空白文字を挿入する。空白文字は、ディスプレイ上で目に見える記号には対応していない。しかしながら、カーソル1720Bは、挿入点に空白が挿入されたことを示すために(例えば右へ)移動することができる。
いくつかの例では、ユーザは、ハードプレスではなく、上方向にスワイプして文字をコミットすることができる。いくつかの例では、図17Dのユーザインタフェース画面1724に示されるように、キーボードトラックは、アルファベットの文字を全て含むわけではない。いくつかの例では、キーボードトラックは、挿入に利用できる文字の代わりに様々なマーカーを含む。いくつかの実施形態では、1つ以上のプレビュー文字は、ユーザインタフェース画面1724で示されるように、フォーカス文字である1つの文字だけからなる。
いくつかの実施形態によれば、キーボードトラックは、図17Dのユーザインタフェース画面1726及び1728に示されるような、QWERTYレイアウトを有する。上述したキーボードトラックと同様に、QWERTYレイアウトは、所望のキーまで(縦方向及び横方向)にスワイプしてプレビューを表示させるのに使用することができる。ユーザインタフェース画面1728に示されるように、プレビュー1728Aをキーボードと完全に又は部分的に重ねてもよい。ユーザは、ハードプレスをする(特性強度が強度閾値を超過する)ことによって、プレビューでフォーカス文字(例えば「D」)をコミットすることができる。ユーザは、自分の指を持ち上げてスペースを入力し、これをタッチ感知面に戻すことができる。
一部の実施形態によれば、図18は、説明される様々な実施形態の原理に従って構成された電子デバイス1800の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス1800の機能ブロックは、上述の技術を実行するように構成される。デバイス1800の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図18で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図18に示されるように、電子デバイス1800は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット1802と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット1804と、ディスプレイユニット1802、タッチ感知面ユニット1804に接続された処理ユニット1808とを含む。いくつかの実施形態において、処理ユニット1808は少なくとも、表示有効化ユニット1810、受信ユニット1812、特定ユニット1814及び入れ替えユニット1816を含む。
処理ユニット1808は、ユーザ入力を受信したことに応じて、一組のユーザ入力技術のうち、直近にアクセスされたユーザ入力技術を(例えば、受信ユニット1812により)特定し、一組のユーザ入力技術のうち、最も以前にアクセスされたユーザ入力技術を(例えば、特定ユニット1814により)特定し、表示ユニット1802上に、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースを(例えば、表示有効化ユニット1810により)表示し、表示ユニット1802上に、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスを(例えば、表示有効化ユニット1810により)表示する。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースは、直近にアクセスされたユーザ入力技術に関連付けされている選択アフォーダンスを含んでもよい。
いくつかの実施形態によれば、処理ユニット1808は、ユーザ入力を受信したことに応じて、一組のユーザ入力技術のうち、直近のひとつ前にアクセスされたユーザ入力技術を(例えば、特定ユニット1814により)特定し、表示ユニット1802上に、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンスを(例えば、表示有効化ユニット1810により)表示するように更に構成されていてもよい。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、一組のユーザ入力技術のうちの異なる技術である。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、最近使用した連絡先機能と、全ての連絡先機能と、ディクテーション機能と、を含む群から選択される。
いくつかの実施形態によれば、直近にアクセスされたユーザ入力技術、最も以前にアクセスされたユーザ入力技術、及び直近のひとつ前にアクセスされたユーザ入力技術は、返信案機能と、絵文字機能と、ディクテーション機能と、を含む群から選択される。
いくつかの実施形態によれば、一組のユーザ入力技術は、予め定められた入力技術の常に同じセットである。
いくつかの実施形態によれば、一組のユーザ入力技術のうちの、ある量のユーザ入力技術が予め定められる。
いくつかの実施形態によれば、第1のアフォーダンスは、最も以前にアクセスされたユーザ入力技術の目印となる。
いくつかの実施形態によれば、第2のアフォーダンスは、直近のひとつ前にアクセスされたユーザ入力技術の目印となる。
いくつかの実施形態によれば、第1のアフォーダンス、第2のアフォーダンス及び直近にアクセスされたユーザ入力技術のユーザ入力インタフェースは、同時に表示される。
いくつかの実施形態によれば、処理ユニット1808は、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスに関連付けされているユーザ入力を(例えば、受信ユニット1812により)受信するように更に構成され、第1のアフォーダンスに関連付けされているユーザ入力を受信したことに応じて、処理ユニット1808は、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示を、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に(例えば、入れ替えユニット1816により)入れ替えるように更に構成されている。
いくつかの実施形態によれば、処理ユニットは、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスに関連付けされているユーザ入力を(例えば、受信ユニット1812により)受信し、第1のアフォーダンスに関連付けされているユーザ入力を受信したことに応じて、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示を、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースの表示に(例えば、入れ替えユニット1816により)入れ替え、最も以前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第1のアフォーダンスの表示を、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第3のアフォーダンスの表示に(例えば、入れ替えユニット1816により)入れ替え、直近のひとつ前にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第2のアフォーダンスの表示を、直近にアクセスされたユーザ入力技術のユーザ入力インタフェースに関連付けされている第4のアフォーダンスの表示に(例えば、入れ替えユニット1816により)入れ替えるように更に構成されている。
図7を参照して上述された動作は、図1A〜図1B又は図18に示される構成要素によって、任意選択的に実施される。例えば、受信動作702、特定動作706及び708及び表示動作710は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって、実施され得る。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
一部の実施形態によれば、図19は、説明される様々な実施形態の原理に従って構成された電子デバイス1900の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス1900の機能ブロックは、上述の技術を実行するように構成される。デバイス1900の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図19で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図19に示されるように、電子デバイス1900は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット1902と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット1904と、ディスプレイユニット1902、タッチ感知面ユニット1904に接続された処理ユニット1908とを含む。いくつかの実施形態において、処理ユニット1908は少なくとも、表示有効化ユニット1910、受信ユニット1912、判定ユニット1914、スクロールユニット1916及び更新ユニット1918を含む。
処理ユニット1808は、表示ユニット1902に、一組の情報の一部を(例えば、表示有効化ユニット1910により)表示し、一組の情報に関連付けされているユーザ入力を(例えば、受信ユニットにより受信し、一組の情報に関連付けされているユーザ入力を受信したことに応じて、表示ユニット上で一組の情報を(例えば、スクロールユニット1918により)スクロールし、スクロール属性が基準の閾値を満たすか否かを(例えば、判定ユニット1914により)判定し、スクロール属性が基準の閾値を満たす旨の判定に従って、インデックスオブジェクトを(例えば、表示有効化ユニット1910により)表示するように構成されている。
いくつかの実施形態によれば、インデックスオブジェクトは、一組の情報の少なくとも一部と完全に又は部分的に重なる。
いくつかの実施形態によれば、スクロール属性は、一組の情報のスクロールの属性である。
いくつかの実施形態によれば、スクロール属性は、ユーザ入力の属性である。
いくつかの実施形態によれば、基準の閾値は、速さの閾値を超過すること、速度の閾値を超過すること、持続時間の閾値を超過することのうちの1つ以上に基づく。
いくつかの実施形態によれば、デバイスはタッチ感知面を備え、ユーザ入力は、タッチ感知面でのスワイプタッチである。
いくつかの実施形態によれば、デバイスは回転可能入力機構を備え、ユーザ入力は、回転可能入力機構の回転である。
いくつかの実施形態によれば、処理ユニット1908は、スクロール属性が基準の閾値を満たさない旨の判定に従って、一組の情報と完全に又は部分的に重なるインデックスオブジェクトを表示しないように更に構成されている。
いくつかの実施形態によれば、インデックスオブジェクトは、一組の情報のうち1つ以上の現在表示されている情報に基づくインデックスを含む。
いくつかの実施形態によれば、処理ユニット1908は、一組の情報のインデックス更新属性がオーバーレイ更新の基準を満たすか否かを(例えば、判定ユニット1914により)判定し、一組の情報のインデックス更新属性がインデックス更新の基準を満たす旨の判定に従って、インデックスオブジェクトの視覚的態様の表示を(例えば、更新ユニット1918により)更新するように更に構成されている。
いくつかの実施形態によれば、一組の情報は、順に並べられている。
いくつかの実施形態によれば、一組の情報は、アルファベット順に表示されている。
いくつかの実施形態によれば、一組の情報に関連付けされているユーザ入力は、第1の方向を有し、処理ユニット1908は、表示ユニット上で、表示ユニット上で一組の情報の少なくとも一部を第2の方向にスクロールすることを含む、一組の情報の少なくとも一部を(例えば、スクロールユニット1916により)スクロールするように、更に構成され、向は、第1の方向に基づく。
いくつかの実施形態によれば、一組の情報は、複数の連絡先を含む。
いくつかの実施形態によれば、一組の情報は、連絡先の一覧を含む。
いくつかの実施形態によれば、一組の情報は、複数のメディア属性を含む。
図9及び図10を参照して上述された動作は、図1A、図1B、又は図19に示される構成要素によって、任意選択的に実施される。例えば、表示動作902、受信動作904、及びスクロール動作906は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
一部の実施形態によれば、図20は、説明される様々な実施形態の原理に従って構成された電子デバイス2000の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2000の機能ブロックは、上述の技術を実行するように構成される。デバイス2000の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図20で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図20に示されるように、電子デバイス2000は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット2002と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット2004と、ディスプレイユニット2002、タッチ感知面ユニット2004に接続された処理ユニット2008とを含む。いくつかの実施形態では、処理ユニット2008は少なくとも、表示有効化ユニット2010、受信ユニット2012、変更ユニット2014、送信ユニット2016、及び検出ユニット2018を含む。
処理ユニット1808は、メッセージ入力インタフェースに関連付けされているユーザ入力を(例えば、受信ユニット2012により)受信し、メッセージ入力インタフェースに関連付けされているユーザ入力を受信したことに応じて、表示ユニット2002に、絵文字グラフィカルオブジェクトを(例えば、表示有効化ユニットにより)表示し、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力を(例えば、受信ユニット2012により)受信し、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトの第1の視覚的態様を、第1のユーザ入力に基づく(例えば、変更ユニット2014により)変更をし、受信者情報を(例えば、受信ユニット2012により)受信し、変更された第1の視覚的態様を含む絵文字グラフィカルオブジェクトを、受信された受信者情報に関連付けされている受信者に(例えば、送信ユニット2016により)送信するように構成されている。
いくつかの実施形態では、処理ユニットは、絵文字グラフィカルオブジェクトに関連付けされている第2のユーザ入力を(例えば、受信ユニット2012により)受信し、絵文字グラフィカルオブジェクトに関連付けされている第2のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトの第2の視覚的態様を、第2のユーザ入力に基づく(例えば、変更ユニット2014により)変更をするように更に構成されている。
いくつかの実施形態によれば、第1の視覚的態様と第2の視覚的態様とは異なる。
いくつかの実施形態によれば、感知面を有するデバイス、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様に関連付けされているタッチ感知面上の場所でのタッチジェスチャを含む。
いくつかの実施形態によれば、タッチの強さを検出するように構成されたタッチ感知面を有するデバイス、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、特性強度を有するタッチジェスチャを含み、処理ユニットは、第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過した旨の判定に従って、絵文字グラフィカルオブジェクトの第1の特徴を変更することを含む、絵文字グラフィカルオブジェクトの第1の視覚的態様を(例えば、変更ユニット2014により)変更するように更に構成されている。
いくつかの実施形態によれば、処理ユニットは、第1のユーザ入力を受信したことに応答し、かつ、特性強度が強度閾値を超過しない旨の判定に従って、絵文字グラフィカルオブジェクトの第1の特徴とは異なる第2の特徴を(例えば、変更ユニット2014により)変更することを含む、絵文字グラフィカルオブジェクトの第1の視覚的態様を(例えば、変更ユニット2014により)変更するように更に構成されている。
いくつかの実施形態によれば、回転可能入力機構を有するデバイス、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、回転可能入力機構の回転を含む。
いくつかの実施形態によれば、感知面及び回転可能入力機構を有するデバイス、絵文字グラフィカルオブジェクトに関連付けされている第1のユーザ入力は、絵文字グラフィカルオブジェクトの第1の視覚的態様に関連付けされているタッチ感知面上の場所でのタッチジェスチャと、回転可能入力機構の回転と、を含む。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトを送信するために、処理ユニットは、選択アフォーダンスに関連付けされている第3のユーザ入力を受信したことに応じて、絵文字グラフィカルオブジェクトを(例えば、送信ユニット2016により)送信するように更に構成されている。
いくつかの実施形態によれば、処理ユニットは、絵文字グラフィカルオブジェクトを送信する前に、第4のユーザ入力を受信したことに応じて、(コンテンツ追加ユニット2020により)絵文字グラフィカルオブジェクトをメッセージ本文に加えるように更に構成されている。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトは、をアニメーション化された絵文字グラフィカルオブジェクトである。
いくつかの実施形態によれば、絵文字グラフィカルオブジェクトの第1の視覚的態様を変更するために、処理ユニットは、(例えば、アニメーション化ユニット2022により)絵文字グラフィカルオブジェクトの第1の視覚的態様の変化をアニメーション化するように更に構成されている。
図12を参照して上述された動作は、図1A〜図1B又は図20に示される構成要素によって、任意選択的に実施される。例えば、受信動作1202、表示動作1204、及び変更動作1208は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
一部の実施形態によれば、図21は、説明される様々な実施形態の原理に従って構成された電子デバイス2100の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2100の機能ブロックは、上述の技術を実行するように構成される。デバイス2100の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図21で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図21に示されるように、電子デバイス2100は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット2102と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット2104と、ディスプレイユニット2102、タッチ感知面ユニット2104に接続された処理ユニット2108とを含む。いくつかの実施形態において、処理ユニット2108は少なくとも、表示有効化ユニット2110と、受信ユニット2112と、入れ替えユニット2114と、検出ユニット2116と、更新ユニット2118とを備える。
処理ユニット2108は、表示ユニット2102に、ユーザインタフェースの第1のページと、フォーカスセレクタを含む第1のページングアフォーダンスであって、第1のページングアフォーダンスはユーザインタフェースの第1のページに対応する、第1のページングアフォーダンスを含む、第1の組のページングアフォーダンスと、を(例えば、表示有効化ユニット2110により)表示し、タッチ感知面ユニット上の、第1の組のページングアフォーダンスに関連付けされている第1の場所でのユーザタッチを(例えば、受信ユニット2112により)受信し、第1の場所でのユーザタッチを受信したことに応じて、(例えば、入れ替えユニット2114により)第1の組のページングアフォーダンスの表示を、ユーザインタフェースの第2のページに対応する第2のページングアフォーダンスを含む、第2の組のページングアフォーダンスの表示に入れ替えさせ、ユーザタッチの受信を継続しながら、タッチ感知面ユニットでのユーザタッチの接触が中断することのない、タッチ感知面ユニットの第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動を(例えば、検出ユニット2116により)検出し、第2の場所でのユーザタッチの検出に応じて、ユーザインタフェースの第2のページを(例えば、表示有効化ユニット2110により)表示するように構成されている。
いくつかの実施形態によれば、処理ユニット2108は、第2の場所でのタッチ感知面ユニットからのユーザタッチのリフトオフを(例えば、検出ユニット2116により)検出し、第2の場所でのユーザタッチのリフトオフの検出に応じて、ユーザインタフェースの第2のページの表示を(例えば、表示有効化ユニット2110により)維持するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2108は、ユーザタッチの受信を継続しながら、タッチ感知面ユニットの第2の場所でのユーザタッチの特性強度を(例えば、検出ユニット2116により)検出し、タッチ感知面ユニットからのユーザタッチのその後のリフトオフを検出し、特性強度が強度閾値を超過した旨の判定に従って、表示ユニット2102上に、ユーザインタフェースの第2のページの表示を(例えば、表示有効化ユニット2110により)維持するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2108は、特性強度が強度閾値を超過しない旨の判定に従って、(例えば、入れ替えユニット2114により)ユーザインタフェースの第2のページの表示を、ユーザインタフェースの第1のページの表示に入れ替えるように更に構成されている。
いくつかの実施形態によれば、処理ユニット2108は、第2の場所でのユーザタッチの検出に応じて、フォーカスセレクタを含むように第2のページングアフォーダンスを(例えば、更新ユニット2118により)更新するように更に構成されている。
いくつかの実施形態によれば、ユーザインタフェースの第2のページを表示するために、処理ユニット2108は、(例えば、入れ替えユニットによりユーザインタフェースの第1のページの表示を、ユーザインタフェースの第2のページの表示に入れ替えるように更に構成されている。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示するために、処理ユニット2108は、第1の組のページングアフォーダンスの拡大版を(例えば、表示有効化ユニット2110により)表示するように更に構成されている。
いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
図14Aを参照して上述された動作は、図1A〜図1B又は図21に示される構成要素によって、任意選択的に実施される。例えば、表示動作1402、受信動作1404、及び検出動作1408は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
一部の実施形態によれば、図22は、説明される様々な実施形態の原理に従って構成された電子デバイス2200の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2200の機能ブロックは、上述の技術を実行するように構成される。デバイス2200の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図22で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図22に示されるように、電子デバイス2200は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット2202と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット2204と、ディスプレイユニット2202、タッチ感知面ユニット2204に接続された処理ユニット2208とを含む。いくつかの実施形態において、処理ユニット2208は少なくとも、表示有効化ユニット2210と、受信ユニット2212と、入れ替えユニット2214と、検出ユニット2216と、更新ユニット2218とを備える。
処理ユニット2208は、表示ユニット2202に、ユーザインタフェースの複数のページのうちの第1のページと、フォーカスセレクタを含む第1のページングアフォーダンスであって、第1のページングアフォーダンスはユーザインタフェースの第1のページに対応する、第1のページングアフォーダンスを含む、第1の組のページングアフォーダンスと、を(例えば、表示有効化ユニット2210により)表示し、タッチ感知面ユニット上の、第1の組のページングアフォーダンスに対応する第1の場所でのユーザタッチを(例えば、受信ユニット2212により)受信し、第1の場所でのユーザタッチを受信したことに応じて、第1の組のページングアフォーダンスの表示を、フォーカスセレクタを含む第1のページングアフォーダンスであって、第1のページングアフォーダンスはユーザインタフェースの第1のページに対応する、第1のページングアフォーダンスを含む、第2の組のページングアフォーダンスの表示に(例えば、入れ替えユニット2214により)入れ替え、ユーザタッチの受信を継続しながら、タッチ感知面との接触が中断することのない、タッチ感知面ユニットの第1の場所から第2のページングアフォーダンスに関連付けされている第2の場所へのユーザタッチの移動を(例えば、検出ユニット2216により)検出し、第2の場所でのユーザタッチの検出に応じて、第1のページの表示を、複数のページのうちの第2のページに(例えば、入れ替えユニット2214により)入れ替え、第2の組のページングアフォーダンスを(例えば、更新ユニット2218により)更新することを含むように構成され、更新することは、フォーカスセレクタを組の第1のページングアフォーダンスから取り除き、フォーカスセレクタを備える、複数のページングアフォーダンスからなる組の第2のページングアフォーダンスを表示することを含む。
いくつかの実施形態によれば、処理ユニット2208は、第2の場所でのタッチ感知面からのユーザタッチのリフトオフを(例えば、検出ユニット2216により)検出し、第2の場所でのユーザタッチのリフトオフの検出に応じて、ユーザインタフェースの第2のページの表示を(例えば、表示有効化ユニット2210により)維持するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2208は、ユーザタッチの受信を継続しながら、タッチ感知面ユニットの第2の場所でのユーザタッチの特性強度を(例えば、検出ユニット2216により)検出し、タッチ感知面からのユーザタッチのその後のリフトオフを検出すること、特性強度が強度閾値を超過した旨の判定に従って、ユーザインタフェースの第2のページの表示を(例えば、表示有効化ユニット2210により)維持するように更に構成されている。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示するために、処理ユニット2208は、第1の組のページングアフォーダンスの拡大版を(例えば、表示有効化ユニット2210により)表示するように更に構成されている。
いくつかの実施形態によれば、ユーザインタフェースの第1のページとユーザインタフェースの第2のページとは異なる。
いくつかの実施形態によれば、第2の組のページングアフォーダンスを表示することは、第1の組のページングアフォーダンスが拡大するアニメーションを含む。
いくつかの実施形態によれば、第2の組のページングアフォーダンスにおける各々のページングアフォーダンスは、ユーザインタフェースの対応するページに関連付けされている。
図14Bを参照して上述された動作は、図1A〜図1B又は図22に示される構成要素によって、任意選択的に実施される。例えば、表示動作1422、受信動作1424、及び検出動作1428は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデーター178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
一部の実施形態によれば、図23は、説明される様々な実施形態の原理に従って構成された電子デバイス2300の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2300の機能ブロックは、上述の技術を実行するように構成される。デバイス2300の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図23で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図23に示されるように、電子デバイス2300は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット2302と、ユーザのジェスチャ(例えば、タッチ)を受信するように構成されたタッチ感知面ユニット2304と、ディスプレイユニット2302、タッチ感知面ユニット2304に接続された処理ユニット2308とを含む。いくつかの実施形態では、処理ユニット2308は少なくとも、表示有効化ユニット2310、受信ユニット2312、変更ユニット2314、送信ユニット2316、及び入れ替えユニット2318を含む。
処理ユニット2308は、第1のユーザ入力を(例えば、受信ユニット2312により)受信し、第1のユーザ入力を受信したことに応じて、表示ユニット2302に、ディクテーションユーザインタフェースを(例えば、表示有効化ユニット2310により)表示し、第2のユーザ入力を(受信ユニット2312により)受信し、第2のユーザ入力を受信したことに応じて、ディクテーションユーザインタフェースの表示を、第1の絵文字グラフィカルオブジェクトの表示に(例えば、入れ替えユニット2318により)入れ替え、第1の絵文字グラフィカルオブジェクトに関連付けされているタッチ感知面ユニット上の場所で、第1のユーザスワイプジェスチャ入力を(例えば、受信ユニット2312により)受信し、第1のユーザスワイプジェスチャ入力を受信したことに応じて、第1の絵文字グラフィカルオブジェクトの表示を、第2の絵文字グラフィカルオブジェクトの表示に(例えば、入れ替えユニット2318により)入れ替え、タッチ感知面ユニットにおける第2のユーザスワイプジェスチャ入力を(例えば、受信ユニットにより)受信し、第2のユーザスワイプジェスチャ入力を受信したことに応じて、一組の最近アクセスされた絵文字グラフィカルオブジェクトを(例えば、表示有効化ユニット2310に)表示するように構成されている。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクトは、外部の電子デバイスによって最近アクセスされた絵文字グラフィカルオブジェクトに基づいて選択される1つ以上の絵文字グラフィカルオブジェクトを含む。
いくつかの実施形態によれば、一組の最近アクセスされた絵文字グラフィカルオブジェクトは、無線接続された外部の電子デバイスによって最近アクセスされた可視的に操作可能な絵文字グラフィカルオブジェクトに基づいて選択される1つ以上の可視的に操作可能な絵文字グラフィカルオブジェクトを含む。
いくつかの実施形態によれば、処理ユニット2308は、第3のユーザ入力を(例えば、受信ユニット2312により)受信し、第3のユーザ入力を受信したことに応じて、1つ以上の応答案を含む返信案ユーザ入力インタフェースを(例えば、表示有効化ユニット2310により)表示するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、1つ以上の応答案の第1の応答案に関連付けされているタッチを表すユーザ入力を(受信ユニット2312により)受信し、第1の応答案に関連付けされているタッチを表すユーザ入力を受信したことに応じて、第1の応答案を、(例えば、コンテンツ追加ユニット2320により)応答情報として電子メッセージに加えるように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、第4のユーザ入力を(例えば、受信ユニット2312により)受信し、第4のユーザ入力を受信したことに応じて、ディクテーションユーザインタフェースを(例えば、表示有効化ユニット2310により)表示するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、スピーチを表すユーザ入力を(例えば、受信ユニット2312により)受信し、スピーチを表すユーザ入力を受信したことに応じて、スピーチを表すユーザ入力を(例えば、表記ユニット2322により)表記し、表記されたスピーチを(例えば、コンテンツ追加ユニット2320により)電子メッセージに加えるように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、第5のユーザ入力を(例えば、受信ユニット2312により)受信し、第5のユーザ入力を受信したことに応じて、キーボードの1つ以上のキーを(例えば、表示有効化ユニット2310により)表示するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、第2の絵文字グラフィカルオブジェクトに関連付けされている第6のユーザ入力を(例えば、受信ユニット2312により)受信し、第2の絵文字グラフィカルオブジェクトに関連付けされている第6のユーザ入力を受信したことに応じて、第2の絵文字グラフィカルオブジェクトの第1の視覚的態様を、第6のユーザ入力に基づく(例えば、変更ユニット2314により)変更をするように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、第3のユーザスワイプジェスチャ入力を(例えば、受信ユニット2312により)受信し、第3のユーザスワイプジェスチャ入力を受信したことに応じて、(例えば、入れ替えユニット2318により)第2の絵文字グラフィカルオブジェクトの表示を、第3の絵文字グラフィカルオブジェクトの表示に入れ替えるように更に構成されている。
いくつかの実施形態によれば、処理ユニット2308は、応答情報を含む電子メッセージを(例えば、送信ユニット2316により)受信者に送信するように更に構成されている。
いくつかの実施形態によれば、第1の絵文字グラフィカルオブジェクトと第2の絵文字グラフィカルオブジェクトは異なり、第1の絵文字グラフィカルオブジェクト及び第2の絵文字グラフィカルオブジェクトは、スマイリー、ハート、及び親指の合図を含む群から選択される。
図16を参照して上述された動作は、図1A〜図1B又は図23に示される構成要素によって、任意選択的に実施される。例えば、受信動作1602及び表示動作1604は、イベントソータ170、イベント認識部180、及びイベントハンドラ190により実行されてもよい。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデーター178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
図24は、図17A〜図17Dに示すような、いくつかの実施形態に係る電子デバイスを使用してユーザ入力を受信するための方法を示すフローチャートである。方法2400は、タッチ感知(例えば、タッチスクリーン)ディスプレイを備えるデバイス(例えば、100、300、500)で実行される。方法2400のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
後述するように、方法2400は、ユーザ入力を受信するための直感的な方法を提供する。この方法は、ユーザがキーボードを使用して文字を入力するための認識負担を軽減することで、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザが文字を手早く効率的に入力できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック2402では、デバイスは、キーボード(例えば、1708A)及びテキスト入力インタフェースを表示し、テキスト入力インタフェースは、文字挿入点を含む。
ブロック2404では、デバイスは、タッチ感知ディスプレイ上の、キーボードに関連付けられて、かつ第1の文字(例えば、文字「M」)に対応する第1の場所での、特性強度を有するタッチユーザ入力を(例えば、1708で)検出する。
ブロック2406では、デバイスは、第1の場所におけるタッチユーザ入力の第1の特性強度と、特性強度が強度閾値を超えるか否かを判定する。
ブロック2408では、タッチユーザ入力の第1の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、第1の文字のプレビュー(例えば、1708B)をタッチ感知ディスプレイに表示する(例えば、ユーザは、表示されたキーボード上の場所で軽いタッチ又は静止した接触を行い、対応する文字は、タッチユーザ入力の場所よりも上に表示される)。
ブロック2410では、第1の場所でのタッチユーザ入力の第1の特性強度が強度閾値を超過する(例えば、ユーザがハードプレスをした)旨の判定に従って、デバイスは、第1の文字をタッチ感知ディスプレイの文字挿入点(例えば、1710B)に表示する(例えば、カーソルのところに文字を挿入する)。
いくつかの実施形態によれば、タッチ感知ディスプレイでのタッチユーザ入力の検出を継続しながら、デバイスは、第2の特性強度を有するタッチユーザ入力の、タッチ感知ディスプレイ上の第1の場所から、キーボード(例えば、1712A)に関連付けられて、かつ第2の文字(例えば、文字O)に対応する(例えば、第1の場所とは異なる)第2の場所への移動(例えば、1710及び1712で示されるような移動)を検出する。デバイスは、第2の場所でのタッチユーザ入力の第2の特性強度を決定する。いくつかの実施形態によれば、タッチユーザ入力の第2の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、第2の文字のプレビュー(例えば、1712B)をタッチ感知ディスプレイに表示する(例えば、ユーザは、表示されたキーボード上の場所で軽いタッチ又は静止した接触を行い、対応する文字は、タッチユーザ入力の場所よりも上に表示される)。いくつかの実施形態によれば、第2の場所でのタッチユーザ入力の第2の特性強度が強度閾値を超過する(例えば、ユーザがハードプレスをした)旨の判定に従って、デバイスは、第2の文字をタッチ感知ディスプレイの文字挿入点(例えば、1714C)に表示する(例えば、カーソルのところに文字を挿入する)。
いくつかの実施形態によれば、第1の場所から第2の場所に移動している間のタッチユーザ入力の特性強度は、強度閾値を超過しない。
いくつかの実施形態によれば、デバイスは、タッチ感知ディスプレイ上でタッチユーザ入力が検出されなくなっている(例えば、ユーザが自分の指を持ち上げている)ことを判定する。タッチユーザ入力がもはや検出されない(例えば、ユーザがタッチ感知ディスプレイにタッチしていない)旨の判定に従って、デバイスは、ユーザインタフェース画面1720において文字「MO」1720A(すなわち「MO<空白>」)で示されるようにタッチ感知ディスプレイの文字挿入点に空白を表示する。このように、デバイスは、ユーザが自分の指を持ち上げてタッチ感知ディスプレイから離すと空白文字を表示する。
いくつかの実施形態によれば、デバイスは、タッチユーザ入力がもはや検出されない(例えば、ユーザが自分の指を持ち上げている)ことを判定する。タッチユーザ入力がもはや検出されない旨の判定の後、デバイスは、タッチ感知ディスプレイ上の、キーボードと関連付けされている第2の場所での第2のタッチユーザ入力を検出する。第2のタッチユーザ入力(例えば、ユーザが自分の指を上げて戻す)の検出に応じて、デバイスは、タッチ感知ディスプレイの文字挿入点に空白を表示する。このように、デバイスは、ユーザが自分の指を持ち上げてタッチ感知ディスプレイ上に戻すと空白文字を表示する。
いくつかの実施形態によれば、デバイスは、第1の時刻に、タッチユーザ入力がもはや検出されない(例えば、ユーザがハードプレスをしている)ことを判定する。タッチユーザ入力がもはや検出されない旨の判定の後、第2の時刻に、タッチ感知ディスプレイ上の、キーボードと関連付けされている第2の場所での第2のタッチユーザ入力を検出すること。第2のタッチユーザ入力(例えば、ユーザが自分の指を上げて戻す)の検出に応答し、かつ、第2の時刻が第1の時刻の後の予め定められた時間内である旨の判定に従って、タッチ感知ディスプレイ上の文字挿入点に空白を表示すること。このように、デバイスは、ユーザが自分の指を持ち上げて(予め定められた時間内に)タッチ感知ディスプレイ上に戻すと空白文字を表示する。
いくつかの実施形態によれば、キーボードのアルファベット文字は、アルファベット順に配列される(例えば、キーボード1708A)。いくつかの実施形態によれば、キーボードのアルファベット文字は、QWERTY配列で配列される(例えば、1726のキーボード)。
方法2400に関して上述されたプロセス(例えば、図24及び図17A〜図17D)の詳細はまた、以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、上述した方法700、900、1000、1200、1400、及び1600は、方法2400を参照して上述された、様々な方法の特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は繰り返されていない。
一部の実施形態によれば、図25は、説明される様々な実施形態の原理に従って構成された電子デバイス2500の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2500の機能ブロックは、上述の技術を実行するように構成される。デバイス2500の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図25で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図25に示されるように、電子デバイス2500は、グラフィックユーザインタフェースを表示し、接触を受信するように構成されたタッチ感知ディスプレイユニット2502を含む。タッチ感知ディスプレイユニット2502は、処理ユニット2504に接続される。いくつかの実施形態では、処理ユニット2504は、表示有効化ユニット2506、検出ユニット2508、及び判定ユニット2510を含む。
処理ユニット2504は、キーボードと、文字挿入点を含むテキスト入力インタフェースと、を(例えば、表示有効化ユニット2506により)表示し、タッチ感知ディスプレイユニット(例えば、2502)上の、キーボードに関連付けられて、かつ第1の文字に対応する第1の場所での、第1の特性強度を有するタッチユーザ入力を(例えば、検出ユニット2508により)検出し、第1の場所でのタッチユーザ入力の第1の特性強度を(例えば、判定ユニット2510により)決定し、タッチユーザ入力の第1の特性強度が強度閾値を超過しない旨の判定に従って、第1の文字のプレビューをタッチ感知ディスプレイユニット(例えば、2502)に(例えば、表示有効化ユニット2506により)表示し、第1の場所でのタッチユーザ入力の第1の特性強度が強度閾値を超過する旨の判定に従って、第1の文字をタッチ感知ディスプレイユニット(例えば、2502)の文字挿入点に(例えば、表示有効化ユニット2506により)表示するように構成されている。
いくつかの実施形態によれば、処理ユニット2504は、タッチ感知ディスプレイユニット(例えば、2502)でのタッチユーザ入力の(例えば、検出ユニット2508による)検出を継続しながら、第2の特性強度を有するタッチユーザ入力の、タッチ感知ディスプレイユニット(例えば、2502)上の第1の場所から、キーボードに関連付けられて、かつ第2の文字に対応する第2の場所への移動を(例えば、検出ユニット2508により)検出し、第2の場所でのタッチユーザ入力の第2の特性強度を(例えば、判定ユニット2510により)決定し、タッチユーザ入力の第2の特性強度が強度閾値を超過しない旨の判定に従って、第2の文字のプレビューをタッチ感知ディスプレイユニット(例えば、2502)に(例えば、表示有効化ユニット2506により)表示し、第2の場所でのタッチユーザ入力の第2の特性強度が強度閾値を超過する旨の判定に従って、第2の文字をタッチ感知ディスプレイユニット(例えば、2502)の文字挿入点に(例えば、表示有効化ユニット2506により)表示するように更に構成されている。
いくつかの実施形態によれば、第1の場所から第2の場所に移動している間のタッチユーザ入力の特性強度は、強度閾値を超過しない。
いくつかの実施形態によれば、処理ユニット2504は、タッチ感知ディスプレイユニット(例えば、2502)上でタッチユーザ入力がもはや検出されないことを(例えば、判定ユニット2510により)判定し、タッチユーザ入力がもはや検出されない旨の判定に従って、タッチ感知ディスプレイユニット(例えば、2502)の文字挿入点に(例えば、表示有効化ユニット2506により)空白を表示するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2504は、タッチユーザ入力がもはや検出されないことを(例えば、判定ユニット2510により)判定し、タッチユーザ入力がもはや検出されない旨の判定の後、タッチ感知ディスプレイユニット(例えば、2502)上の、キーボードと関連付けされている第2の場所での第2のタッチユーザ入力を(例えば、検出ユニット2508により)検出し、第2のタッチユーザ入力の検出に応じて、タッチ感知ディスプレイユニット(例えば、2502)の文字挿入点に(例えば、表示有効化ユニット2506により)空白を表示するように更に構成されている。
いくつかの実施形態によれば、処理ユニット2504は、第1の時刻に、タッチユーザ入力がもはや検出されないことを(例えば、判定ユニット2510により)判定し、タッチユーザ入力がもはや検出されない旨の判定の後、第2の時刻に、タッチ感知ディスプレイユニット(例えば、2502)上の、キーボードと関連付けされている第2の場所での第2のタッチユーザ入力を(例えば、検出ユニット2508により)検出し、第2のタッチユーザ入力の検出に応答し、かつ、第2の時刻が第1の時刻の後の予め定められた時間内である旨の判定に従って、タッチ感知ディスプレイユニット(例えば、2502)上の文字挿入点に(例えば、表示有効化ユニット2506により)空白を表示するように更に構成されている。
いくつかの実施形態によれば、キーボードのアルファベット文字は、アルファベット順に配列される。いくつかの実施形態によれば、キーボードのアルファベット文字は、QWERTY配列で配列される。
図24を参照して上述された動作は、図1A〜図1B又は図25に示される構成要素によって、任意選択的に実施される。例えば、表示動作2402、検出動作2404、及び判定動作2406は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
図26A〜図26Nは、いくつかの実施形態に係る、ユーザ入力を受信するためのユーザインタフェースの例を示す。これらの図のユーザインタフェースは、図28のプロセスを含めた、以下で説明されるプロセスを例示するために使用される。ユーザインタフェースは、例えば、接触の強度を検出するように構成されたディスプレイ及びタッチ感知面を備える電子デバイス(例えば、100、300、500)で表示することができる。
図26Aでは、デバイスは、ユーザインタフェース2600Aを表示する。ユーザインタフェース2600Aは、1つ以上のアフォーダンス2600C及び2600Dからなる組を含む(例えば、1つ以上のアフォーダンスからなる第1の組が、ディスプレイの第1の場所に表示される)。また、ユーザインタフェース2600Aは、例えば、タイトル2600Aと、1つ以上のアフォーダンス2600C及び2600Dからなる組をタイトル2600Aと区切る分割要素2600Bと、を含むことができる。
図26Bでは、ユーザインタフェース2600を表示している間、デバイスは、タッチ感知面上に指先の輪郭として点線で示すようなユーザ入力2602を受信する。デバイスは、ユーザ入力の特性強度を決定する。ユーザ入力の特性強度が(例えば、タッチ感知面でのユーザ入力の位置に関係なく)強度閾値を超過する旨の判定に従って、デバイスは、ユーザインタフェースにコンテキストアフォーダンス(例えば、1つ以上のコンテキストアフォーダンスからなる第2の組、コンテキストメニュー)を利用できるか否かを判定する。
図26Cでは、(例えば、デバイスの現在の状態に基づく)コンテキストアフォーダンス2610Cを利用できる旨の判定に従って、デバイスは、コンテキストアフォーダンス2610Cを表示する。例えば、デバイスは、1つ以上のアフォーダンスからなる第1の組の上にコンテキストメニュー又はコンテキストアフォーダンス(単数又は複数)(例えば、ユーザインタフェース2610の2610A、2610B、2610C)を表示してもよいし、1つ以上のアフォーダンスからなる第1の組を入れ替えてもよい。いくつかの例では、デバイスは、コンテキストアフォーダンス2610Cを表示する時に、ユーザインタフェース2600及び/又はアフォーダンス2600Cを表示するのを中止している。このため、デバイスが(閾値を超えて)ハードプレスを検出し、デバイスの現在の状態に対してコンテキストメニューを利用できると判定すると、デバイスは、コンテキストメニュー(例えば、1つ以上のコンテキストアフォーダンスを含む)を表示する。
図26D〜図26Gは、ユーザインタフェースに対してコンテキストアフォーダンス(単数又は複数)を利用できない旨の視覚的な指示の一例を示す。図26D〜図26Gに示されるように、(例えば、デバイスの現在の状態に基づく)コンテキストアフォーダンスを利用できない旨の判定に従って、コンテキストアフォーダンスを利用できない旨の判定に従って、デバイスは、ユーザインタフェースにコンテキストアフォーダンスを利用できない旨の(2600A、2600B、2600C、2600Dの左右への移動などの)視覚的な指示を表示する。このため、デバイスがハードプレスを検出すると、デバイスは、コンテキストメニューを表示する(利用できる場合)か、又はコンテキストメニューを利用できないことをユーザに示す。コンテキストメニューを利用できない旨の視覚的な指示を与えることにより、コンテキストメニューを表示できないことについて、デバイスがユーザ入力を受信できなかったとユーザ側で誤解することはない。他の実施形態では、この指示は、音声指示、触覚指示又は音声指示と触覚指示との組み合わせなど、視覚的ではない指示(又は視覚的な指示と視覚的ではない指示との組み合わせ)であってもよい。
図26D〜図26Gに示されるように、いくつかの実施形態では、視覚的な指示を表示することは、ユーザインタフェース2600の1つ以上のアフォーダンス2600C及び2600Dからなる組の表示を、ディスプレイ上で1回以上シフトさせる(例えば、組にあるアフォーダンスをシフトさせる、第1の組のアフォーダンスをシフトさせる又はユーザインタフェース全体を左にシフトして第2の位置にした後、右にシフトして第1の位置を通り過ぎて第3の位置に移動し、更にシフトして第1の位置に戻す)こと(及びコンテキストオブジェクトの表示を控えること)を含む。例えば、この左右方向への揺れは、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、ユーザインタフェースの1つ以上のアフォーダンス2600C及び2600Dからなる組の表示を、ディスプレイ上で左方向及び右方向に1回以上シフトさせる(例えば、第1の組のアフォーダンス又はユーザインタフェース全体を左にシフトして第2の位置にした後、右にシフトして第1の位置を通り過ぎて第3の位置に移動し、更にシフトして第1の位置に戻す)こと(及びコンテキストオブジェクトの表示を控えること)を含む。例えば、この左右方向への揺れは、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、1つ以上のアフォーダンスからなる組の水平方向の揺れをアニメーション化することを含む。いくつかの実施形態では、視覚的な指示を表示することは、1つ以上のアフォーダンスからなる組の垂直方向の揺れをアニメーション化することを含む。
図26H〜図26Jは、ユーザインタフェースに対してコンテキストアフォーダンスを利用できない旨の視覚的な指示の一例を示す。図26H〜図26Jに示されるように、いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェース26000の1つ以上のアフォーダンスからなる組の第1のアフォーダンス2600Cのサイズを(図26Iに示すように)小さくし、1つ以上のアフォーダンス2600からなる組の第1のアフォーダンス2600Cのサイズを小さくした後、ディスプレイ上の1つ以上のアフォーダンス2600からなる組の第1のアフォーダンス2600Cのサイズを(図26Jに示すように)大きくすることを含む。例えば、第1のアフォーダンス2600C(あるいはユーザインタフェース全体)がディスプレイの中に押し込まれて見える(このため、より小さく見える)状態になった後、元に戻る(このため、元の大きさに戻る)。例えば、このような押し込みと元に戻る動作は、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェースの1つ以上のアフォーダンスからなる組の第1のアフォーダンス(あるいは、ユーザインタフェース全体)を振動させること(例えば、大きさ、場所、回転など)を含む。
図26Kは、「最近使用した連絡先を追加」ユーザインタフェース2620を示す。このユーザインタフェースは、アクティブになると、対応する最近使用した連絡先を受信者として新しいメッセージに追加させるアフォーダンス(例えば、2620A、2620B、2620C)を含む。アフォーダンス2620Dは、アクティブになると、(最近使用した連絡先ではなく)全ての連絡先のアフォーダンスを表示させる。アフォーダンス2620Eは、アクティブになると、ユーザの音声をテキストとして表記するためにデバイスのマイクロフォンを起動させる。
いくつかの実施形態によれば、ユーザ入力2602の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、タッチ感知面でのユーザ入力の場所に基づいてアクションを行う。例えば、デバイスは、入力2602が、1つ以上のアフォーダンスからなる組の、ユーザ入力2602の場所に対応するアフォーダンス2600Cをアクティブにするためのものであると判定する。このため、図26Bに示されるユーザインタフェース2602がアフォーダンス2600Cをアクティブにして、図26Kの「最近使用した連絡先を追加」ユーザインタフェース2620をデバイスに表示させる。
いくつかの実施形態によれば、ユーザ入力2602の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、ユーザ入力2602の場所が、1つ以上のアフォーダンスからなる組のアフォーダンス2600Cの場所に対応するか否かを判定する。ユーザ入力2602が1つ以上のアフォーダンスからなる組のアフォーダンス2600Cの場所に対応する旨の判定に従って、デバイスは、図26Kの「最近使用した連絡先を追加」ユーザインタフェース2620を表示するアクションなど、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行う。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、そのアフォーダンスに関連付けされているアプリケーションを立ち上げることを含む。このように、アフォーダンスをアクティブにすることで、デバイスに、アプリケーションを立ち上げさせる。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドに1つ以上の文字を表示することを含む。このように、アフォーダンス(例えば、ディスプレイキーボードのキー)をアクティブにすることにより、デバイスに、文字(例えば、表示されたキーボードのキーに付随する文字)をテキストフィールドに表示させる。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、通知に関連付けされているアクションをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドに1つ以上の絵文字を表示することを含む。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドへの音声表記用の音声入力機能をアクティブにすることを含む。例えば、デバイスは、マイクロフォンが起動されて音声が表記され、テキストフィールドに入力されるモードに入る。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、絵文字をテキストフィールドに加えるためのユーザインタフェースをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、音声入力を表記するためのユーザインタフェースをアクティブにすることを含む。
図26Lは、指先の輪郭として点線で示すような第2のユーザ入力2612を含むコンテキストユーザインタフェース2610を示す。いくつかの実施形態では、コンテキストアフォーダンス2610C(例えば、1つ以上のアフォーダンスからなる第2の組、コンテキストメニュー)を表示している間に、デバイスは、タッチ感知面での第2のユーザ入力2612を受信する。デバイスは、第2のユーザ入力2612の特性強度を決定する。第2のユーザ入力2612の特性強度が第2の強度閾値を超過する旨の判定に従って、デバイスは、図26Mに示されるように、コンテキストアフォーダンス2610C(例えば、1つ以上のアフォーダンスからなる第2の組、コンテキストメニュー)の表示を中止して、1つ以上のアフォーダンス2600C及び2600Dからなる組を表示する。このように、この第2のユーザ入力2612はコンテキストメニューを退けて、最初のユーザインタフェースを表示する。
いくつかの実施形態では、コンテキストアフォーダンス2610C(例えば、1つ以上のアフォーダンスからなる第2の組、コンテキストメニュー)を表示している間に、デバイスは、タッチ感知面での第2のユーザ入力2612を受信する。デバイスは、第2のユーザ入力2612の特性強度を決定する。いくつかの実施形態によれば、第2のユーザ入力2612の特性強度が第2の強度閾値を超過しない旨の判定に従って、デバイスは、第2のユーザ入力2612の場所に基づいて第2のアクションを行う。例えば、この第2のユーザ入力2612は、タッチ感知面での第2のユーザ入力2612の場所に対応するコンテキストアフォーダンス2630Cをアクティブにし、これによって、デバイスに図26Nのユーザインタフェース2630を表示させる。
図26Nは、アフォーダンス2630A(このアフォーダンスは、アクティブになると、データネットワークを介したメッセージではなくSMSメッセージとして、メッセージを送信させる)、アフォーダンス2630B(このアフォーダンスは、アクティブになると、メッセージ送受信アプリケーションに対してグループMMSをイネーブルにさせる)、アフォーダンス2630C(このアフォーダンスは、アクティブになると、ブロックされた発信者リストと、ブロックされた発信者リストに対して追加/削除するオプションを表示する)を含むユーザインタフェース2630を示す。
いくつかの実施形態では、デバイスがコンテキストアフォーダンス2610C(例えば、1つ以上のアフォーダンスからなる第2の組、コンテキストメニュー)を表示している間に、デバイスは、タッチ感知面での第2のユーザ入力2612を受信する。いくつかの実施形態によれば、第2のユーザ入力2612の特性強度が第2の強度閾値を超過しない旨の判定に従って、デバイスは、第2のユーザ入力2612の場所がコンテキストアフォーダンスの場所に対応するか否かを判定する。いくつかの実施形態によれば、第2のユーザ入力2612がコンテキストアフォーダンスの場所に対応する旨の判定に従って、デバイスは、コンテキストアフォーダンス2610Cに関連付けされている第2のアクションを行う(例えば、第2のユーザ入力の位置に対応する、表示されたコンテキストアフォーダンス2610Cをアクティブにする)。例えば、この第2のユーザ入力2612は、タッチ感知面での第2のユーザ入力2612の場所に対応するコンテキストアフォーダンス2630Cをアクティブにし、これによって、デバイスに図26Nのユーザインタフェース2630を表示させる。
いくつかの実施形態では、強度閾値は、第2の強度閾値と同一である。いくつかの実施形態では、強度閾値は、第2の強度閾値と異なる。
図27は、いくつかの実施形態に係る、電子デバイスを使用してユーザ入力を受信するためのユーザインタフェースの例を示す。方法2700は、ディスプレイ及びタッチ感知面を備えるデバイス(例えば、100、300、500)で実行される。タッチ感知面は、接触の強度を検出するように構成されている。方法2700のいくつかの動作は組み合わせてもよく、いくつかの動作は順序を変更してもよく、いくつかの動作は省略してもよい。
後述するように、方法2700は、ユーザ入力を受信する直感的な方法を提供する。この方法は、コンテキストメニューへのアクセスを単純化することでユーザの認識負担を軽減し、それにより、一層効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがコンテキストメニューに手早く効率的にアクセスできるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ブロック2702では、デバイスは、1つ以上のアフォーダンス(例えば、2600C及び2600D)からなる組を含むユーザインタフェース(例えば、2600)を表示する。ブロック2704では、ユーザインタフェース(例えば、2600)を表示している間に、デバイスは、タッチ感知面でのユーザ入力(例えば、2602)を受信する。ブロック2706では、デバイスは、ユーザ入力の特性強度が強度閾値を超えるか否かを判定する。ブロック2708では、ユーザ入力の特性強度が強度閾値を超過する旨の判定に従って、デバイスは、ユーザインタフェースにコンテキストアフォーダンスを利用できるか否かを判定する。
ブロック2712では、コンテキストアフォーダンスを利用できる旨の判定に従って、デバイスは、コンテキストアフォーダンス(例えば、2610C)を表示する。ブロック2710では、コンテキストアフォーダンス(例えば、2610C)を利用できない旨の判定に従って、デバイスは、ユーザインタフェース(例えば、2600)にコンテキストアフォーダンス(例えば、2610)を利用できない旨の(例えば、図26D〜図26G又は図26H〜図26Jに示されるような)視覚的な指示を表示する。
いくつかの実施形態では、視覚的な指示は、ユーザインタフェースの1つ以上のアフォーダンスからなる組の表示を、ディスプレイ上で1回以上シフトさせる(例えば、組にあるアフォーダンスをシフトさせる、第1の組のアフォーダンスをシフトさせる又はユーザインタフェース全体を左にシフトして第2の位置にした後、右にシフトして第1の位置を通り過ぎて第3の位置に移動し、更にシフトして第1の位置に戻す)こと(及びコンテキストオブジェクトの表示を控えること)を含む。例えば、この左右方向への揺れは、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、ユーザインタフェースの1つ以上のアフォーダンスからなる組の表示を、ディスプレイ上で左方向及び右方向に1回以上シフトさせる(例えば、第1の組のアフォーダンス又はユーザインタフェース全体を左にシフトして第2の位置にした後、右にシフトして第1の位置を通り過ぎて第3の位置に移動し、更にシフトして第1の位置に戻す)こと(及びコンテキストオブジェクトの表示を控えること)を含む。例えば、この左右方向への揺れは、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェースの1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを小さくし、1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを小さくした後、ディスプレイ上の1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを大きくすることを含む。例えば、第1のアフォーダンス(あるいはユーザインタフェース全体)が押し込まれる(このため、より小さく見える)状態になった後、元に戻る(このため、元の大きさに戻る)。例えば、このような押し込みと元に戻る動作は、デバイスの現在の状態に対して利用できるコンテキストメニューがないことを、ユーザに示す。
いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェースの1つ以上のアフォーダンスからなる組の第1のアフォーダンス(あるいは、ユーザインタフェース全体)を振動させること(例えば、大きさ、場所、回転など)を含む。いくつかの実施形態では、視覚的な指示を表示することは、1つ以上のアフォーダンスからなる組の水平方向の揺れをアニメーション化することを含む。いくつかの実施形態では、視覚的な指示を表示することは、1つ以上のアフォーダンスからなる組の垂直方向の揺れをアニメーション化することを含む。
ブロック2726において、いくつかの実施形態では、ユーザ入力の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、ユーザ入力(例えば、2602)の場所が、1つ以上のアフォーダンスからなる組のアフォーダンス(例えば、2600C)の場所に対応するか否かを判定する。ブロック2728では、ユーザ入力(例えば、2602)が1つ以上のアフォーダンスからなる組のアフォーダンス(例えば、2600C)の場所に対応する旨の判定に従って、デバイスは、1つ以上のアフォーダンスからなる組のアフォーダンス(例えば、2600C)に関連付けされているアクションを行う。ブロック2730では、ユーザ入力が1つ以上のアフォーダンスからなる組のアフォーダンスの場所に対応しない旨の判定に従って、デバイスは、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことを控える(又は行わない)。
いくつかの実施形態によれば、ユーザ入力の特性強度が強度閾値を超過しない旨の判定に従って、デバイスは、タッチ感知面でのユーザ入力の場所に基づいてアクションを行う(例えば、1つ以上のアフォーダンスからなる組の、ユーザ入力の場所に対応するアフォーダンスをアクティブにする)。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、そのアフォーダンスに関連付けされているアプリケーションを立ち上げることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドに1つ以上の文字を表示することを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、通知に関連付けされているアクションをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドに1つ以上の絵文字を表示することを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドへの音声表記用の音声入力機能をアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、絵文字をテキストフィールドに加えるためのユーザインタフェースをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、音声入力を表記するためのユーザインタフェースをアクティブにすることを含む。
いくつかの実施形態では、ブロック2714において、コンテキストアフォーダンス(例えば、2610C)を表示している間に、デバイスは、タッチ感知面での第2のユーザ入力(例えば、2612)を受信する。ブロック2716では、デバイスは、ユーザ入力(例えば、2612)の特性強度が強度閾値を超えるか否かを判定する。
いくつかの実施形態では、ブロック2718では、第2のユーザ入力(例えば、2612)の特性強度が第2の強度閾値を超過する旨の判定に従って、デバイスは、コンテキストアフォーダンスの表示を中止し、1つ以上のアフォーダンス(例えば、2600C及び2600D)からなる組を表示する。
いくつかの実施形態では、ブロック2720において、第2のユーザ入力(例えば、2612)の特性強度が第2の強度閾値を超過しない旨の判定に従って、デバイスは、第2のユーザ入力(例えば、2612)の場所がコンテキストアフォーダンス(例えば、2610C)の場所に対応するか否かを判定する。ブロック2722では、第2のユーザ入力(例えば、2612)がコンテキストアフォーダンス(例えば、2610C)の場所に対応する旨の判定に従って、デバイスは、そのコンテキストアフォーダンス(例えば、2610)に関連付けされている第2のアクションを行う。ブロック2724では、第2のユーザ入力(例えば、2612)がコンテキストアフォーダンス(例えば、2610C)の場所に対応しない旨の判定に従って、デバイスは、そのコンテキストアフォーダンス(例えば、2610)に関連付けされている第2のアクションを控える(又は行わない)。
いくつかの実施形態では、第2のユーザ入力の特性強度が第2の強度閾値を超過しない旨の判定に従って、デバイスは、タッチ感知面上の第2のユーザ入力の場所に基づいて第2のアクションを行う(例えば、第2のユーザ入力の場所に対応する、表示されたコンテキストアフォーダンスをアクティブにする)。
いくつかの実施形態では、強度閾値は、第2の強度閾値と同一である。これにより、一貫したインタフェースが提供される。いくつかの実施形態では、強度閾値は、第2の強度閾値と異なる。これにより、特定の機能を行うことを多かれ少なかれ難しくする能力が提供される。例えば、「デバイスの再フォーマット」機能を含むコンテキストメニューをアクティブにするために、タッチ感知面でのハードプレスが必要になることがあるのに対し、デバイスの設定にアクセスするためのコンテキストメニューをアクティブにするには、それほどハードプレスが必要ないことがある。
方法2700に関して上述された処理(例えば、図27)の詳細はまた、上記及び以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700、900、1000、1200、1400、1420及び方法1600は、方法2700を参照して上述された、様々な方法の特性のうちの1つ以上を含み得る。例えば、ユーザインタフェース602は、2600と同一のユーザインタフェースであってもよい。他の例として、ここで説明したユーザインタフェースの中には、当該インタフェースに関連付けされた、コンテキストメニュー2610などのコンテキストメニューを持つものがある。簡潔にするために、これらの詳細は繰り返されていない。
一部の実施形態によれば、図28は、説明される様々な実施形態の原理に従って構成された電子デバイス2800の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2800の機能ブロックは、上述の技術を実行するように構成される。デバイス2800の機能ブロックは、説明される様々な実施例の原理を達成するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図28で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図28に示すように、電子デバイス2800は、ユーザインタフェースを表示するように構成された表示ユニット2802、接触を受信するように構成されたタッチ感知面ユニット2804、並びに表示ユニット2802及びタッチ感知面ユニット2804に結合された処理ユニット2806を含む。いくつかの実施形態では、処理ユニット2806は、表示有効化ユニット2808、受信ユニット2810、判定ユニット2812、アクション実行ユニット2814、及び表示中止有効化ユニット2816を含む。
処理ユニット2806は、1つ以上のアフォーダンスからなる組を含むユーザインタフェースの表示を(例えば、表示有効化ユニット2808を用いて)有効化し、ユーザインタフェースの表示を有効化している間に、タッチ感知面でのユーザ入力を(例えば、受信ユニット2810を用いて)受信し、ユーザ入力の特性強度を(例えば、判定ユニット2812を用いて)決定し、ユーザ入力の特性強度が強度閾値を超過する旨の判定に従って、ユーザインタフェースにコンテキストアフォーダンスを利用できるか否かを(例えば、判定ユニット2812を用いて)判定し、コンテキストアフォーダンスを利用できる旨の判定に従って、コンテキストアフォーダンスの表示を(例えば、表示有効化ユニット2808を用いて)有効化し、コンテキストアフォーダンスを利用できない旨の判定に従って、コンテキストアフォーダンスがユーザインタフェースに利用できない旨の視覚的な指示の表示を(例えば、表示有効化ユニット2808を用いて)有効化するように構成されている。
いくつかの実施形態では、視覚的な指示を表示することは、ユーザインタフェースの1つ以上のアフォーダンスからなる組の表示を、ディスプレイ上で1回以上シフトさせることを含む。
いくつかの実施形態では、視覚的な指示を表示することは、ユーザインタフェースの1つ以上のアフォーダンスからなる組の表示を、ディスプレイ上で左方向及び右方向に1回以上シフトさせることを含む。
いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェースの1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを小さくし、1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを小さくした後、ディスプレイ上の1つ以上のアフォーダンスからなる組の第1のアフォーダンスのサイズを大きくすることを含む。
いくつかの実施形態では、視覚的な指示を表示することは、ディスプレイ上のユーザインタフェースの1つ以上のアフォーダンスからなる組の第1のアフォーダンスを振動させることを含む。
いくつかの実施形態では、処理ユニット2806は、ユーザ入力の特性強度が強度閾値を超過しない旨の判定に従って、タッチ感知面上のユーザ入力の場所に基づいて(例えば、アクション実行ユニット2814を用いて)アクションを行うように、更に構成されている。
いくつかの実施形態では、処理ユニット2806は、ユーザ入力の特性強度が強度閾値を超過しない旨の判定に従って、ユーザ入力の場所が1つ以上のアフォーダンスからなる組のアフォーダンスの場所に対応するか否かを(例えば、判定ユニット2812を用いて)判定し、ユーザ入力が1つ以上のアフォーダンスからなる組のアフォーダンスの場所に対応する旨の判定に従って、1つ以上のアフォーダンスからなる組の、このアフォーダンスに関連付けされているアクションを(例えば、アクション実行ユニット2814を用いて)行うように更に構成されている。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、そのアフォーダンスに関連付けされているアプリケーションを立ち上げることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドにおける1つ以上の文字の表示を有効化することを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、通知に関連付けされているアクションをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドにおける1つ以上の絵文字の表示を有効化することを含む。
いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、テキストフィールドへの音声表記用の音声入力機能をアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、絵文字をテキストフィールドに加えるためのユーザインタフェースをアクティブにすることを含む。いくつかの実施形態では、1つ以上のアフォーダンスからなる組のアフォーダンスに関連付けされているアクションを行うことは、音声入力を表記するためのユーザインタフェースをアクティブにすることを含む。
いくつかの実施形態では、処理ユニット2806は、コンテキストアフォーダンスの表示を有効化している間に、タッチ感知面での第2のユーザ入力を(例えば、受信ユニット2810を用いて)受信し、第2のユーザ入力の特性強度を(例えば、判定ユニット2812を用いて)決定し、第2のユーザ入力の特性強度が第2の強度閾値を超過する旨の判定に従って、コンテキストアフォーダンスの表示を(例えば、表示中止有効化ユニット2816を用いて)中止し、1つ以上のアフォーダンスからなる組を表示するように更に構成されている。
いくつかの実施形態では、処理ユニット2806は、コンテキストアフォーダンスの表示を有効化している間に、タッチ感知面での第2のユーザ入力を(例えば、受信ユニット2810を用いて)受信し、処理ユニット2806は、第2のユーザ入力の特性強度を(例えば、判定ユニット2812を用いて)決定し、第2のユーザ入力の特性強度が第2の強度閾値を超過しない旨の判定に従って、タッチ感知面上の第2のユーザ入力の場所に基づいて(例えば、アクション実行ユニット2814を用いて)第2のアクションを行うように更に構成されている。
いくつかの実施形態では、処理ユニット2806は、コンテキストアフォーダンスの表示を有効化している間に、タッチ感知面での第2のユーザ入力を(例えば、受信ユニット2810を用いて)受信し、第2のユーザ入力の特性強度が第2の強度閾値を超過しない旨の判定に従って、第2のユーザ入力の場所がコンテキストアフォーダンスの場所に対応するか否かを(例えば、決定ユニット2812を用いて)判定し、第2のユーザ入力がコンテキストアフォーダンスの場所に対応する旨の判定に従って、コンテキストアフォーダンスに関連付けされている第2のアクションを(例えば、アクション実行ユニット2814を用いて)行うように更に構成されている。
いくつかの実施形態では、視覚的な指示の表示を有効化することは、1つ以上のアフォーダンスからなる組の水平方向の揺れをアニメーション化することを含む。いくつかの実施形態では、視覚的な指示の表示を有効化することは、1つ以上のアフォーダンスからなる組の垂直方向の揺れをアニメーション化することを含む。
いくつかの実施形態では、強度閾値は、第2の強度閾値と同一である。
図27を参照して上述された動作は、図1A〜図1B又は図28に示される構成要素によって、任意選択的に実施される。例えば、表示動作2702及び受信動作2704は、イベントソータ170、イベント認識部180、及びイベントハンドラ190により実行されてもよい。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデーター178にアクセスする。同様に、図1A、図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は、説明される様々な実施形態を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。これらの実施形態は、説明される様々な実施形態の原理、及びそれらの実際の適用を最も良好に説明するために、またそれにより、他の当業者が、想到される具体的な用途に適するような様々な修正を使用して、その説明される様々な実施形態を最も良好に利用することを可能にするために、選択及び説明されたものである。