IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

特許7184844ナビゲーション及び検索機能を提供するためのデバイス、方法、及びグラフィカルユーザインタフェース
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】ナビゲーション及び検索機能を提供するためのデバイス、方法、及びグラフィカルユーザインタフェース
(51)【国際特許分類】
   G06F 3/0488 20220101AFI20221129BHJP
   G06F 3/0484 20220101ALI20221129BHJP
【FI】
G06F3/0488
G06F3/0484
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2020085456
(22)【出願日】2020-05-14
(62)【分割の表示】P 2018001331の分割
【原出願日】2014-05-30
(65)【公開番号】P2020149700
(43)【公開日】2020-09-17
【審査請求日】2020-05-22
【審判番号】
【審判請求日】2022-01-06
(31)【優先権主張番号】61/832,924
(32)【優先日】2013-06-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/290,919
(32)【優先日】2014-05-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】カルナムニ, チャナカ, ジー.
(72)【発明者】
【氏名】チャウドリ, イムラン
【合議体】
【審判長】▲吉▼田 耕一
【審判官】▲高▼瀬 健太郎
【審判官】富澤 哲生
(56)【参考文献】
【文献】国際公開第2012/037664(WO,A1)
【文献】国際公開第2011/126502(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/048
(57)【特許請求の範囲】
【請求項1】
タッチ感知ディスプレイを含む電子デバイスにおいて、
マルチページアプリケーション起動インタフェースを前記タッチ感知ディスプレイに表示することと、
前記マルチページアプリケーション起動インタフェースを表示している間に第1の入力を検出することであって、前記第1の入力を検出することは、前記タッチ感知ディスプレイの個別の端部において開始されるスワイプジェスチャを検出することを含む、検出することと、
前記スワイプジェスチャを検出することに応じて、
前記スワイプジェスチャが前記タッチ感知ディスプレイの第1の端部において開始され、前記第1の端部から離れるように移動すると満たされる基準を含む第1の基準を前記スワイプジェスチャが満たすとの判定に従って、開いているアプリケーションに対応する複数のユーザインタフェースの表現の同時の表示を含むアプリケーション切替ユーザインタフェースを表示することであって、前記複数のユーザインタフェースは、前記マルチページアプリケーション起動インタフェースとは異なる第2のユーザインタフェースを含む、表示することと、
前記スワイプジェスチャが前記タッチ感知ディスプレイの前記第1の端部とは異なる前記タッチ感知ディスプレイの第2の端部において開始され、前記第2の端部から離れるように移動すると満たされる基準を含む第2の基準を前記スワイプジェスチャが満たすとの判定に従って、直近に受信した通知を含む通知インタフェースを表示することと、
を含み、
前記アプリケーション切替ユーザインタフェースを表示することは、前記スワイプジェスチャが前記第1の端部から離れて移動するのにつれて、前記マルチページアプリケーション起動インタフェースの表現の大きさを次第に減少させることを含む、方法。
【請求項2】
前記スワイプジェスチャが前記タッチ感知ディスプレイの端部から離れて開始され、前記スワイプジェスチャが第1の所定方向に所定量より多く前記タッチ感知ディスプレイ上を移動すると満たされる基準を含む第3の基準を前記スワイプジェスチャが満たすとの判定に従って、第1の複数のアプリケーションアイコンを含む前記マルチページアプリケーション起動インタフェースの第1のページの表示を、第2の複数のアプリケーションアイコンを含む前記マルチページアプリケーション起動インタフェースの第2のページの表示により置き換えること、を更に含む請求項1に記載の方法。
【請求項3】
前記スワイプジェスチャが検出されたことに応じて、
前記スワイプジェスチャが前記第1の所定方向とは直交する第2の所定方向に第1の所定量より多く移動すると満たされる基準を含む検索インタフェース表示基準を前記スワイプジェスチャが満たすとの判定に従って、前記マルチページアプリケーション起動インタフェースの少なくとも一部の表示を、検索語を入力するための検索入力フィールドを含む検索インタフェースの表示に置き換えることを更に含む、請求項2に記載の方法。
【請求項4】
前記検索インタフェースを表示することは、前記検索入力フィールドにテキストを入力するためのキーボードを表示することを含む、請求項3に記載の方法。
【請求項5】
前記マルチページアプリケーション起動インタフェースは、アプリケーションアイコンの複数ページを含み、
前記検索インタフェースを表示することは、
前記マルチページアプリケーション起動インタフェースの第1ページからのアプリケーションアイコンのセットを、前記タッチ感知ディスプレイの個別の端部から前記第2の所定方向に離れるように並進移動することと、
前記タッチ感知ディスプレイの前記個別の端部と前記アプリケーションアイコンの前記セットとの間において前記検索入力フィールドを表示することと
を含む、請求項3または4に記載の方法。
【請求項6】
前記検索インタフェースを表示することは、前記マルチページアプリケーション起動インタフェースの前記第1ページ上での前記アプリケーションアイコンの少なくともサブセットの表示を停止することを含む、請求項5に記載の方法。
【請求項7】
前記スワイプジェスチャを検出することに応じて、前記検索インタフェースを表示しつつ、前記マルチページアプリケーション起動インタフェースの前記第1ページからの1つ以上のアプリケーションアイコンの表示を維持することを更に含む、請求項5または6に記載の方法。
【請求項8】
前記マルチページアプリケーション起動インタフェースは、複数のアプリケーションアイコンを含む固定アイコン領域を含み、前記固定アイコン領域は、前記アプリケーションアイコンの前記複数ページのそれぞれのページと共に表示され、
前記スワイプジェスチャを検出したことに応じて前記検索インタフェースを表示することは、前記固定アイコン領域の表示を停止することを含む、請求項5から7のいずれか1項に記載の方法。
【請求項9】
前記マルチページアプリケーション起動インタフェースは、複数のアプリケーションアイコンを有するホームスクリーンである、請求項1から8のいずれか1項に記載の方法。
【請求項10】
前記スワイプジェスチャを検出したことに応じて、
前記タッチ感知ディスプレイの前記第1の端部及び前記タッチ感知ディスプレイの前記第2の端部とは異なる前記タッチ感知ディスプレイの第3の端部から前記スワイプジェスチャが開始されると満たされる基準を含む設定インタフェース表示基準を前記スワイプジェスチャが満たすとの判定に従って、複数のデバイス設定を変更するためのコントロールを含む設定インタフェースを表示することを更に含む、請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記アプリケーション切替ユーザインタフェースを表示することは、前記マルチページアプリケーション起動インタフェースの縮小表現を表示することを含み、
前記縮小表現の選択を受け付けたことに応じて、前記電子デバイスに前記マルチページアプリケーション起動インタフェースを表示させることを更に含む、請求項1から10のいずれか1項に記載の方法。
【請求項12】
電子デバイスであって、
タッチ感知ディスプレイと、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムであって、前記1つ以上のプログラムは前記メモリ内に格納され、前記1つ以上のプロセッサにより実行されるように構成され、前記1つ以上のプログラムは、
マルチページアプリケーション起動インタフェースを前記タッチ感知ディスプレイに表示することと、
前記マルチページアプリケーション起動インタフェースを表示している間に第1の入力を検出することであって、前記第1の入力を検出することは、前記タッチ感知ディスプレイの個別の端部において開始されるスワイプジェスチャを検出することを含む、検出することと、
前記スワイプジェスチャを検出することに応じて、
前記スワイプジェスチャが前記タッチ感知ディスプレイの第1の端部において開始され、前記第1の端部から離れるように移動すると満たされる基準を含む第1の基準を前記スワイプジェスチャが満たすとの判定に従って、開いているアプリケーションに対応する複数のユーザインタフェースの表現の同時の表示を含むアプリケーション切替ユーザインタフェースを表示することであって、前記複数のユーザインタフェースは、前記マルチページアプリケーション起動インタフェースとは異なる第2のユーザインタフェースを含む、表示することと、
前記スワイプジェスチャが前記タッチ感知ディスプレイの前記第1の端部とは異なる前記タッチ感知ディスプレイの第2の端部において開始され、前記第2の端部から離れるように移動すると満たされる基準を含む第2の基準を前記スワイプジェスチャが満たすとの判定に従って、直近に受信した通知を含む通知インタフェースを表示することと、
を実行するための命令群を含
前記アプリケーション切替ユーザインタフェースを表示することは、前記スワイプジェスチャが前記第1の端部から離れて移動するのにつれて、前記マルチページアプリケーション起動インタフェースの表現の大きさを次第に減少させることを含む、電子デバイス。
【請求項13】
前記1つ以上のプログラムは、請求項2から11のいずれか1項に記載の方法を実行するための命令群を含む、請求項12に記載の電子デバイス。
【請求項14】
命令群を含むプログラムであって、前記命令群はタッチ感知ディスプレイを有する電子デバイスにより実行されると、前記電子デバイスに、
マルチページアプリケーション起動インタフェースを前記タッチ感知ディスプレイに表示することと、
前記マルチページアプリケーション起動インタフェースを表示している間に第1の入力を検出することであって、前記第1の入力を検出することは、前記タッチ感知ディスプレイの個別の端部において開始されるスワイプジェスチャを検出することを含む、検出することと、
前記スワイプジェスチャを検出することに応じて、
前記スワイプジェスチャが前記タッチ感知ディスプレイの第1の端部において開始され、前記第1の端部から離れるように移動すると満たされる基準を含む第1の基準を前記スワイプジェスチャが満たすとの判定に従って、開いているアプリケーションに対応する複数のユーザインタフェースの表現の同時の表示を含むアプリケーション切替ユーザインタフェースを表示することであって、前記複数のユーザインタフェースは、前記マルチページアプリケーション起動インタフェースとは異なる第2のユーザインタフェースを含む、表示することと、
前記スワイプジェスチャが前記タッチ感知ディスプレイの前記第1の端部とは異なる前記タッチ感知ディスプレイの第2の端部において開始され、前記第2の端部から離れるように移動すると満たされる基準を含む第2の基準を前記スワイプジェスチャが満たすとの判定に従って、直近に受信した通知を含む通知インタフェースを表示することと、
を実行させ
前記アプリケーション切替ユーザインタフェースを表示することは、前記スワイプジェスチャが前記第1の端部から離れて移動するのにつれて、前記マルチページアプリケーション起動インタフェースの表現の大きさを次第に減少させることを含む、プログラム。
【請求項15】
前記プログラムは、前記電子デバイスにより実行されると、前記電子デバイスに請求項2から11のいずれか1項に記載の方法を実行させる命令群を含む、請求項14に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は概して、限定するものではないが、ナビゲーション及び検索機能を提供するタッチ感知面を備える電子デバイスを含む、タッチ感知面を備える電子デバイスに関する。
【発明の背景】
【0002】
コンピュータ及び他の電子計算デバイス用の入力デバイスとしてのタッチ感知面の使用は、近年では、著しく増大している。例示的なタッチ感知面としては、タッチパッド及びタッチスクリーンディスプレイが挙げられる。このような面は、ユーザインタフェースを操作及びナビゲートするために広く使用されている。
【0003】
ユーザは、ユーザインタフェースをナビゲートし、検索を実行するために、タッチ入力を使用することができる。しかし、これらの操作を実行するための方法は、煩雑かつ非効率的である。加えて、これらの方法は必要以上に時間がかかり、それによってエネルギーを浪費する。この後者の考慮事項は、電池駆動式デバイスにおいては特に重要である。
【発明の開示】
【0004】
したがって、ナビゲーション及び検索機能を提供するための、より速く、より効率的な方法及びインタフェースを備える電子デバイスが必要とされている。本明細書に記載されている実施形態は、これらの機能の優れた統合を、例えば、マルチページアプリケーション起動インタフェースの異なるページ上で検索入力インタフェースを利用可能にしながら、ユーザが容易にマルチページアプリケーション起動インタフェース内の異なるページ間をナビゲートすることも可能にすることによって、提供する。このような方法及びインタフェースは、任意選択的に、ナビゲーション及び検索機能を提供するための従来の方法を補完するか、又は置き換える。このような方法及びインタフェースは、ユーザの認知負担を軽減し、より効率的なヒューマン-マシンインタフェースを作り出す。電池駆動式デバイスの場合、このような方法及びインタフェースにより、電力が節約され、電池充電の時間間隔が延びる。
【0005】
タッチ感知面を備える電子デバイス用のユーザインタフェースに関連付けられた、上記の欠陥及び他の問題点は、開示されるデバイスによって低減されるか、又は取り除かれる。いくつかの実施形態では、このデバイスは、デスクトップコンピュータである。いくつかの実施形態では、このデバイスは、ポータブル(例えば、ノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイス)である。いくつかの実施形態では、このデバイスは、タッチパッドを有する。いくつかの実施形態では、このデバイスは、タッチ感知ディスプレイ(「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる)を有する。いくつかの実施形態では、このデバイスは、グラフィカルユーザインタフェース(GUI)、1つ以上のプロセッサ、メモリ、及び複数の機能を実行するためにメモリ内に記憶された1つ以上のモジュール、プログラム、又は命令セットを有する。一部の実施形態では、ユーザは、主にタッチ感知面上での指の接触及びジェスチャを介して、GUIと対話する。いくつかの実施形態では、それらの機能としては、任意選択的に、画像編集、描画、プレゼンティング、ワードプロセッシング、ウェブサイトの作成、ディスクオーサリング、スプレッドシートの作成、ゲームプレイ、電話をかけること、テレビ会議、電子メール送信、インスタントメッセージング、トレーニングサポート、デジタル写真撮影、デジタルビデオ撮影、ウェブブラウジング、デジタル音楽の再生、及び/又はデジタルビデオの再生が挙げられる。これらの機能を実行するための実行可能命令は、1つ以上のプロセッサによる実行のために構成された、非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に、任意選択的に含まれる。
【0006】
いくつかの実施形態によれば、本方法は、ディスプレイ及びタッチ感知面を含む電子デバイスにおいて実行される。方法は、アプリケーションを起動するための複数ページにわたるアプリケーションアイコンを含むマルチページアプリケーション起動インタフェースの第1のページを表示することであって、第1のページが第1の複数のアプリケーションアイコンを含む、表示することと、第1の接触を検出すること及びタッチ感知面上の第1の接触の移動を検出することを含む、タッチ感知面上で第1の入力を検出することと、を含む。本方法は、タッチ感知面上で第1の入力を検出したことに応じて、第1の接触がタッチ感知面上で第1の所定の方向に所定量を超えて移動したときに満たされる基準を含む、次ページの表示基準を第1の入力が満たすという判定に従って、マルチページアプリケーション起動インタフェースの第1のページの表示を、第1の複数のアプリケーションアイコンと異なる第2の複数のアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第2のページの表示と置き換えることと、第1の接触が第1の方向に垂直な第2の所定の方向に所定量を超えて移動したときに満たされる基準を含む、検索インタフェースの表示基準を第1の入力が満たすという判定に従って、検索条件を入力するための検索入力フィールドを含む検索インタフェースを表示することと、を更に含む。
【0007】
いくつかの実施形態によれば、電子デバイスは、アプリケーションを起動するための複数ページにわたるアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第1のページを表示するように構成された表示ユニットであって、第1のページが第1の複数のアプリケーションアイコンを含む、表示ユニットと、ユーザのジェスチャを受け取るように構成されたタッチ感知面ユニットと、表示ユニット及びタッチ感知面ユニットに結合された処理ユニットと、を含む。処理ユニットは、タッチ感知面ユニット上で第1の入力を検出するように構成され、タッチ感知面ユニット上の第1の接触を検出することと、第1の接触の移動を検出することと、を含む。処理ユニットは、タッチ感知面ユニット上で第1の入力を検出したことに応じて、第1の接触がタッチ感知面上で第1の所定の方向に所定量を超えて移動したときに満たされる基準を含む、次ページの表示基準を第1の入力が満たすという判定に従って、マルチページアプリケーション起動インタフェースの第1のページの表示を、第1の複数のアプリケーションアイコンと異なる第2の複数のアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第2のページの表示と置き換え、かつ、第1の接触が第1の方向に垂直な第2の所定の方向に所定量を超えて移動したときに満たされる基準を含む、検索インタフェースの表示基準を第1の入力が満たすという判定に従って、検索条件を入力するための検索入力フィールドを含む検索インタフェースの表示を可能にするように更に構成される。
【0008】
いくつかの実施形態によれば、電子デバイスは、ディスプレイと、タッチ感知面と、1つ以上のプロセッサと、メモリと、1つ以上のプログラムと、を含み、1つ以上のプログラムはメモリ内に記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは本明細書に記載されている方法のいずれかの動作を実行するための命令を含む。いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体は、ディスプレイと、タッチ感知面とを備える電子デバイスによって実行されると、デバイスに、本明細書において言及され、説明されている方法のいずれかの動作を実行させる命令をその内部に記憶している。いくつかの実施形態によれば、ディスプレイと、タッチ感知面と、メモリと、メモリ内に記憶された1つ以上のプログラムを実行する1つ以上のプロセッサとを備える電子デバイス上のグラフィカルユーザインタフェースは、上述の方法のいずれかで表示される要素の1つ以上を含み、それらは、本明細書に記載されている方法のいずれかにおいて説明されるように、入力に応じて更新される。いくつかの実施形態によれば、電子デバイスは、ディスプレイと、タッチ感知面と、本明細書に記載されている方法のいずれかの動作を実行する手段と、を含む。いくつかの実施形態によれば、ディスプレイと、タッチ感知面とを備える電子デバイスにおいて使用するための情報処理装置は、本明細書に記載されている方法のいずれかの動作を実行する手段を含む。
【0009】
このように、ディスプレイを備える電子デバイスは、ナビゲーション及び検索機能を提供するためのより速く、より効率的な方法及びインタフェースを備えていることにより、このようなデバイスの有効性、効率、及びユーザ満足度を高めることができる。このような方法及びインタフェースは、ナビゲーション及び検索機能を提供するための従来の方法を補完するか、又は置き換えることができる。
【図面の簡単な説明】
【0010】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の実施形態の説明を参照されたく、類似の参照番号は、それらの図の全体を通じて対応する部分を指す。
【0011】
図1A】いくつかの実施形態に係る、タッチ感知ディスプレイを備えるポータブル多機能デバイスを示すブロック図である。
【0012】
図1B】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【0013】
図2】いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す。
【0014】
図3】いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスを示すブロック図である。
【0015】
図4A】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。
【0016】
図4B】いくつかの実施形態による、ディスプレイとは個別のタッチ感知面を備えた多機能デバイスのための例示的なユーザインタフェースを示す。
【0017】
図5A】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5B】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5C】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5D】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5E】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5F】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5G】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5H】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5I】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5J】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5K】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5L】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5M】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5N】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5O】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5P】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5Q】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
図5R】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。
【0018】
図6A】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法を示す流れ図である。
図6B】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法を示す流れ図である。
図6C】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法を示す流れ図である。
図6D】いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法を示す流れ図である。
【0019】
図7】いくつかの実施形態に係る、電子デバイスの機能ブロック図である。
【実施形態の説明】
【0020】
多くの電子デバイスは、ユーザがユーザインタフェースをナビゲートし、ナビゲーション及び検索機能を実行することを可能にする。以下で説明される電子デバイスは、マルチページアプリケーション起動インタフェースをナビゲートし、コンテンツを検索するための、より速く、より効率的で、より適切に統合された方法及びインタフェースを提供することによって、これらの方法を改善する。例えば、デバイスは、検索入力インタフェースにマルチページアプリケーション起動インタフェースの複数の異なるページから直接アクセスすることを可能にしながら、ユーザが容易にマルチページアプリケーション起動インタフェース内の異なるページ間をナビゲートすることも可能にする。デバイスは、ユーザが単純なタッチ入力を用いて、通知インタフェース、マルチタスキングインタフェース、及び/又は設定インタフェースなどのマルチページアプリケーション起動インタフェースから直接、追加機能にアクセスすることも可能にする。
【0021】
以下において、図1A図1B図2、及び図3は例示的なデバイスの説明を提供する。図4A図4B及び図5A~5Rは、例示的なユーザインタフェースを示す。図6A図6Dは、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法を示す流れ図である。図7は、電子デバイスの機能ブロック図である。図5A図5Rのユーザインタフェースは、図6A図6Dのプロセスを説明するために用いられる。
例示的なデバイス
【0022】
ここで、添付図面に実施例が示される実施形態を、詳細に参照する。以下の詳細な説明では、説明されている様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかし、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
【0023】
本明細書では、第1、第2などの用語は、一部の実例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称することができるであろう。第1の接触及び第2の接触は、双方とも接触であるが、それらは同じ接触ではない。
【0024】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用される時に、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の任意のすべての可能な組合せを指し、かつこれを含むことをもまた理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
【0025】
本明細書で使用される時、用語「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)((述べられる条件又はイベント)の検出に応答して)」を意味すると、任意選択的に解釈される。
【0026】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能をも含むモバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスを含む。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるラップトップコンピュータ又はタブレットコンピュータなどの、他のポータブル電子デバイスが、任意選択的に使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるデスクトップコンピュータであることを理解されたい。
【0027】
以下の考察では、ディスプレイ及びタッチ感知面を含む電子デバイスを説明する。しかしながら、この電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【0028】
このデバイスは、典型的には、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション、及び/又はデジタルビデオ再生アプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートする。
【0029】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーション毎に、及び/若しくは対応するアプリケーション内で、任意選択的に、調節並びに/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
【0030】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図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を介して通信する。
【0031】
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百個の別個の値(例えば、少なくとも256個)を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ、若しくはセンサの組み合わせを使用して、判定(又は、測定)される。例えば、タッチ感知面の下にあるか又はそれに隣接する1つ以上のセンサが、任意選択的に、タッチ感知面上の様々な点における力を測定するために用いられる。いくつかの実装では、複数の力センサからの力測定値を組み合わせて(例えば、加重平均)、推定される接触の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触区域のサイズ及び/又はその変化、接触に近接するタッチ感知面の静電容量及び/又はその変化、並びに/あるいは接触に近接するタッチ感知面の抵抗及び/又はその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、強度閾値を超えているかどうかを判定するために直接用いられる(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているかどうかが判定される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。
【0032】
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス、又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、指、手のひら、又はユーザの手の他の部分)と接触している状況では、物理的変位によって生成される触知出力は、そのデバイス、又はデバイスの構成要素の物理的特性の、知覚される変化に対応する触感覚として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に、解釈される。いくつかの場合には、ユーザは、たとえ、ユーザの運動によって物理的に押圧される(例えば変位される)、タッチ感知面に関連付けられた物理アクチュエータボタンの運動が存在しない場合であっても、「ダウンクリック」又は「アップクリック」などの触感覚を感じることになる。別の例として、タッチ感知面の運動は、たとえ、タッチ感知面の平滑度の変化が存在しない場合であっても、タッチ感知面の「粗さ」として、任意選択的に、ユーザによって解釈又は感知される。ユーザによる、そのような接触の解釈は、ユーザの個別の感覚認知に左右されるものではあるが、大多数のユーザに共通するタッチの感覚認知が、多く存在する。それゆえ、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するとして説明される場合、特に明記しない限り、生成される触知出力は、その説明される感覚認知を典型的な(又は平均的な)ユーザに対して生じさせる、デバイス又はその構成要素の物理的変位に対応する。
【0033】
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせの形態で実装される。
【0034】
メモリ102は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。CPU 120及び周辺機器インタフェース118などの、デバイス100の他の構成要素によるメモリ102へのアクセスは、メモリコントローラ122により、任意選択的に、制御される。
【0035】
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU 120及びメモリ102に結合することができる。1つ以上のプロセッサ120は、メモリ102内に記憶された様々なソフトウェアプログラム及び/又は命令セットを稼働又は実行することにより、デバイス100に関する様々な機能を実行し、かつデータを処理する。
【0036】
いくつかの実施形態では、周辺機器インタフェース118、CPU 120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一チップ上に実装される。いくつかの他の実施形態では、これらは、個別のチップ上に、任意選択的に、実装される。
【0037】
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を受信したり送信したりする。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を、任意選択的に、含む。RF回路108は、ワールドワイドウェブ(WWW)とも称されるインターネットなどのネットワーク、セルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)、及び/又はメトロポリタンエリアネットワーク(MAN)などの、イントラネット及び/又は無線ネットワーク、並びに他のデバイスと、無線通信によって、任意選択的に通信する。無線通信は、移動通信用グローバルシステム(GSM(登録商標))、エンハンストデータGSM環境(EDGE(登録商標))、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、広帯域符号分割多元接続(W-CDMA(登録商標))、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi-Fi(登録商標))(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX(登録商標)、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(EMAP)及び/又はポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、extensible messaging and presence protocol(XMPP)、Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions(SIMPLE)、Instant Messaging and Presence Service(IMPS))、及び/又はショートメッセージサービス(SMS)、又は本願の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の好適な通信プロトコルを含むがこれらに限定されない複数の通信規格、プロトコル、及び技術のうちのいずれかを、任意選択的に、使用する。
【0038】
オーディオ回路機構110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110はまた、マイクロフォン113によって音波から変換された電気信号も受信する。オーディオ回路110は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/又はRF回路108から取得され、かつ/あるいはメモリ102及び/又はRF回路108に送信される。いくつかの実施形態では、オーディオ回路110は更にヘッドセットジャック(例えば、図2の212)を含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0039】
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)を、任意選択的に、含む。
【0040】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112との間で、電気信号を受信及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ(総称して「グラフィック」と称する)を、任意選択的に、含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。
【0041】
タッチスクリーン112は、触覚及び/又は触知の接触に基づいて、ユーザからの入力を受け付ける、タッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内のあらゆる関連モジュール及び/又は命令のセットと共に)、タッチスクリーン112上の接触(及び、接触のあらゆる移動又は中断)を検出し、検出された接触を、タッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0042】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、限定するものではないが、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びに、タッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含む、現在周知の若しくは将来開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、並びにそのあらゆる移動若しくは中断を検出する。例示的実施形態では、Apple Inc.(Cupertino,California)によるiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)で見出されるものなどの、投影型相互静電容量式検知技術が使用される。
【0043】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112と任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、主として指ベースの接触とジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いためスタイラスベースの入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されるアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0044】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を、任意選択的に含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知区域である。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
【0045】
デバイス100はまた、様々な構成要素に電力を供給するための、電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0046】
デバイス100は、任意選択的に、1つ以上の光センサ164も含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合素子(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも称する)と併用して、光センサ164は、静止画像又はビデオを、任意選択的に、キャプチャする。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することができるように、光センサは、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。いくつかの実施形態では、別の光センサがデバイスの前面上に配置され、それにより、ユーザがタッチスクリーンディスプレイ上で他のテレビ会議の参加者を見る間に、ユーザの画像が、任意選択的に、テレビ会議のために取得される。
【0047】
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に、含む。接触強度センサ165は、環境からの接触強度情報(例えば、圧力情報、又は圧力情報の代用物)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に併置されているか、又は近接している。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
【0048】
デバイス100は、1つ以上の近接センサ166も、任意選択的に、含む。図1Aは、周辺機器インタフェース118に結合された、近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されている時には(例えば、ユーザが電話通話を行っている時には)、近接センサは、タッチスクリーン112をオフにして無効化する。
【0049】
デバイス100は、任意選択的に、また、1つ以上の触知出力生成器167も含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、電気信号を、デバイス上の触知出力に変換する構成要素)などの、エネルギーを線形運動に変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133からの触知フィードバック生成命令を受信し、デバイス100のユーザによって感知されることが可能な、デバイス100上の触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器が、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と併置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向に(例えば、デバイス100の表面の内/外)又は横方向(例えば、デバイス100の表面と同じ平面内の前後方向)に運動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器が、デバイス100の前面上に配置されるタッチスクリーンディスプレイ112の反対側である、デバイス100の背面上に配置される。
【0050】
デバイス100はまた、1つ以上の加速度計168も任意選択的に含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態では、1つ以上の加速度計から受信されたデータの分析に基づいて、情報が、縦表示又は横表示で、タッチスクリーンディスプレイ上に表示される。デバイス100は、任意選択的に、加速度計(単数又は複数)168に加えて、磁力計(図示せず)、並びにデバイス100の位置及び向き(例えば、縦表示又は横表示)に関する情報を取得するためのGPS(又は、GLONASS若しくは他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
【0051】
いくつかの実施形態では、メモリ102内に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/移動モジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示すように、メモリ102はデバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、存在する場合には、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、いずれのアプリケーション、ビュー、又は他の情報が、タッチスクリーンディスプレイ112の様々な領域を占有するかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス116から取得した情報を含む、センサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報のうちの、1つ以上を含む。
【0052】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための、様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素及びソフトウェア構成要素との間の通信を容易にする。
【0053】
通信モジュール128は、1つ以上の外部ポート124を介した他のデバイスとの通信を容易にし、また、RF回路機構108及び/又は外部ポート124によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、他のデバイスに直接結合するように、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に結合するように適合される。一部の実施形態では、外部ポートは、iPod(AppleInc.の商標)デバイス上で使用される30ピンコネクタと同じか、若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。いくつかの実施形態では、外部ポートが、iPhone及びiPod(AppleInc.の商標)デバイス上で使用される8ピンコネクタ(例えば、Lightningコネクタ)と同じであるか、又は類似しているかつ/若しくは互換性のあるマルチピン(例えば、8ピン)コネクタである。
【0054】
接触/移動モジュール130は、任意選択的に、(ディスプレイコントローラ156と共に)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/移動モジュール130は、接触が発生したかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用語)の判定、接触の移動及びタッチ感知面にわたる移動追跡(例えば、1つ以上のフィンガドラッグイベントの検出)があるかどうかの判定、及び接触が中止したかどうか(例えば、フィンガアップイベント又は接触の中断の検出)の判定などの、接触の検出に関係する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触/移動モジュール130はタッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/移動モジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0055】
いくつかの実施形態では、接触/移動モジュール130は、ユーザによって動作が実行されたかどうかを判定するための(例えば、ユーザがアイコンを「クリック」したかどうかを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って決定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス100の物理ハードウェアを変更することなく調節することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定することができる。更には、いくつかの実装では、デバイスのユーザには、(例えば、個別の強度閾値を調節することによって、かつ/又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって)強度閾値のセットのうちの1つ以上を調節するための、ソフトウェア設定が提供される。
【0056】
接触/移動モジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出された接触の強度)を有する。それゆえ、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、フィンガタップジェスチャの検出は、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置における)フィンガダウンイベントと同じ位置(又は、実質的に同じ位置)でのフィンガアップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
【0057】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚属性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用されるとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【0058】
いくつかの実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが、任意選択的に、割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック属性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信して、次いで、ディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
【0059】
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応答して、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【0060】
テキスト入力モジュール134は、任意選択的にグラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
【0061】
GPSモジュール135は、デバイスのロケーションを判定し、この情報を様々なアプリケーションで使用するために提供する(例えば、ロケーションベースダイアル発呼で使用するための電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに天気ウィジェット、地方のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどのロケーションベースのサービスを提供するアプリケーションへ)。
【0062】
アプリケーション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。
【0063】
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0064】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、任意選択的に、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)アドレス帳又は連絡先リストを管理するために使用され、この管理には、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並び替えること、電話138、ビデオ会議139、電子メール140、又はIM 141などによる通信を開始及び/又は促進するために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【0065】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、対応の電話番号をダイアルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、任意選択的に使用される。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを、任意選択的に、使用する。
【0066】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と関連して、ビデオ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための実行可能命令を含む。
【0067】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応答して、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール144と共に、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを、非常に容易にする。
【0068】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する一連の文字を入力し、従前に入力された文字を修正し、(例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のXMPP、SIMPLE、若しくはIMPSを使用して)それぞれのインスタントメッセージを送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを見るための、実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されたインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるように、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付を、任意選択的に、含む。本明細書では、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されたメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されたメッセージ)の両方を意味する。
【0069】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽再生ジュール146と関連して、トレーニングサポートモジュール142は、トレーニングを作成したり(例えば、時間、距離、及び/又はカロリー消費目標に関して)、トレーニングセンサ(スポーツデバイス)と通信したり、トレーニングセンサデータを受信したり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
【0070】
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ102から静止画像若しくは動画を削除したりするための実行可能命令を含む。
【0071】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)、また別の方法で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶したりするための実行可能命令を含む。
【0072】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
【0073】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、すべきことのリストなど)を作成し、表示し、変更し、記憶するための実行可能命令を含む。
【0074】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェットモジュール149は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション(例えば、天気ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
【0075】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって任意選択的に使用される。
【0076】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索判断基準(例えば、1つ以上のユーザ指定の検索条件)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
【0077】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と関連して、ビデオ及び音楽再生モジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを表示、提示、又は別の方法で再生する(タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)ための実行可能命令を含む。いくつかの実施形態では、デバイス100は、iPod(Apple Inc.の商標)などのMP3プレーヤの機能性を、任意選択的に含む。
【0078】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、メモモジュール153は、ユーザの指示に従って、メモ、To Doリストなどを作成及び管理するための、実行可能命令を含む。
【0079】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と共に、地図モジュール154は、ユーザの指示に従って、地図、及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ)を受信し、表示し、修正し、記憶するために、任意選択的に使用される。
【0080】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含む。いくつかの実施形態では、電子メールクライアントモジュール140ではなく、インスタントメッセージモジュール141が、特定のオンラインビデオへのリンクを送信するために用いられる。
【0081】
上記で識別されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、任意選択的に、組み合わせ、又は再配置される。いくつかの実施形態では、メモリ102は、上記で特定されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を、任意選択的に、記憶する。
【0082】
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作に関する主要な入力制御デバイスとして、タッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の物理入力制御デバイス(プッシュボタン、ダイアルなど)の数が、任意選択的に低減される。
【0083】
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示されている任意のユーザインタフェースから、メイン、ホーム、又はルートメニューへと、デバイス100をナビゲートする。そのような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又は他の物理入力制御デバイスである。
【0084】
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A内)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136-1(例えば、上述のアプリケーション137~151、155、及び380~390のいずれか)を含む。
【0085】
イベントソータ170は、イベント情報を受信して、そのイベント情報の配信先となる、アプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、そのアプリケーションがアクティブであるか又は実行中の場合に、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
【0086】
いくつかの実施形態では、アプリケーション内部状態192は、追加情報として、例えば、アプリケーション136-1が実行を再開する際に用いられる再開情報、アプリケーション136-1により表示されている又は表示の準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にするための状態の待ち行列、及びユーザが以前にとったアクションのやり直し/アンドゥーの待ち行列のうちの1つ以上を含む。
【0087】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上のユーザタッチ)の情報を含む。周辺機器インタフェース118は、I/Oサブシステム106から、あるいは近接センサ166、加速度計(単数又は複数)168、及び/又は(オーディオ回路110を介して)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0088】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。これに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える、及び/又は所定時間以上の入力を受け取ること)がある場合にのみイベント情報を送信する。
【0089】
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
【0090】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示する場合に、サブイベントが1つ以上のビュー内のいずれの場所で発生したかを判定するための、ソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
【0091】
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、任意選択的に、対応する。例えば、タッチが検出される最低レベルのビューは、任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて、任意選択的に、判定される。
【0092】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント(すなわち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって識別されると、ヒットビューは、典型的には、それがヒットビューとして識別された、同じタッチ又は入力ソースに関連する全てのサブイベントを受け取る。
【0093】
アクティブイベント認識部判定モジュール173は、ビュー階層内のいずれのビューが、特定のサブイベントのシーケンスを受信するべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントが、特定の1つのビューに関連付けられる区域に完全に限定された場合であっても、その階層内のより上位のビューは、依然として、アクティブに関与するビューとして維持される。
【0094】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に配布する。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173によって判定されたイベント認識部に、イベント情報を配信する。一部の実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信器モジュール182によって読み出されるイベント情報を、イベント待ち行列内に記憶する。
【0095】
一部の実施形態では、オペレーティングシステム126が、イベントソータ170を含む。あるいは、アプリケーション136-1が、イベントソータ170を含む。更に他の実施形態では、イベントソータ170は、スタンドアロンモジュールであるか、又は、接触/移動モジュール130などの、メモリ102に記憶された別のモジュールの一部である。
【0096】
一部の実施形態では、アプリケーション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内に含まれる。
【0097】
各イベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及び(サブイベント配信命令を任意選択的に含む)イベント配信命令188の、少なくともサブセットも含む。
【0098】
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの場所などの追加情報をもまた含む。サブイベントが、タッチの動きに関係する場合、イベント情報はまた、そのサブイベントの速度及び方向も任意選択的に含む。いくつかの実施形態では、イベントは、ある方向から別の方向へ(例えば、縦長の向きから横長の向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
【0099】
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント若しくはサブイベントを判定、又はイベント若しくはサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187-1)、イベント2(187-2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態では、イベント187内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。一実施例では、イベント1(187-1)に関する定義は、表示オブジェクト上でのダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施形態では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントは、1つ以上の関連するイベントハンドラ190についての情報も含む。
【0100】
いくつかの実施形態では、イベント定義187は、対応するユーザインタフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、対応するイベントハンドラ190に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブにする必要のあるイベントハンドラ190を判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベントハンドラを選択する。
【0101】
いくつかの実施形態では、各イベント187に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
【0102】
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186内のイベントのいずれにも一致しないと判定する場合には、それぞれのイベント認識部180は、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、このタッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、存在する場合には、ヒットビューに関してアクティブのまま維持される他のイベント認識部が、進行中のタッチに基づくジェスチャのサブイベントを、継続して追跡及び処理する。
【0103】
一部の実施形態では、それぞれのイベント認識部180は、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す、設定可能な属性、フラグ、及び/又はリストを有する、メタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように相互作用するか、又は相互作用することが可能になるかを示す、構成可能な属性、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、構成可能な属性、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるかどうかを示すリストを含む。
【0104】
いくつかの実施形態では、対応するイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベントハンドラ190をアクティブにする。一部の実施形態では、それぞれのイベント認識部180は、イベントハンドラ190に、そのイベントに関連付けられたイベント情報を配信する。イベントハンドラ190をアクティブ化させることは、それぞれのヒットビューにサブイベントを送信すること(及び、送信を延期すること)とは異なる。一部の実施形態では、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、そのフラグに関連付けられたイベントハンドラ190は、フラグをキャッチして、既定のプロセスを実行する。
【0105】
一部の実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化させることなく、サブイベントについてのイベント情報を配信する、サブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ、又はアクティブに関与するビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関与するビューに関連付けられたイベントハンドラは、そのイベント情報を受信して、所定のプロセスを実行する。
【0106】
一部の実施形態では、データアップデータ176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオプレーヤモジュール145で使用されるビデオファイルを記憶する。一部の実施形態では、オブジェクトアップデータ177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ176は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178はGUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、それを、タッチ感知ディスプレイ上に表示するために、グラフィックモジュール132に送信する。
【0107】
いくつかの実施形態では、イベントハンドラ(単数又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか、若しくはそれらに対するアクセスを有する。一部の実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一のモジュール内に含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュール内に含まれる。
【0108】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押圧若しくは保持と任意選択的に連係させた、マウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭指示、検出される眼球移動、バイオメトリック入力、並びに/あるいは、これらの任意の組み合わせが、認識されるべきイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
【0109】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す図である。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを、任意選択的に、表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの1つ以上を選択することを可能にされる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが1つ以上のグラフィックとの接触を断つと生じる。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上の(左から右、右から左、上方向、及び/又は下方向への)スワイプ、及び/又は、デバイス100と接触した指の(右から左、左から右、上方向、及び/又は下方向への)ローリングを、任意選択的に含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを、任意選択的に、選択しない。
【0110】
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、デバイス100上で任意選択的に実行されるアプリケーションのセット内の任意のアプリケーション136にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
【0111】
一実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調節ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電外部ポート124を含む。プッシュボタン206は、ボタンを押し下げて、既定の時間間隔にわたってボタンを押し下げられた状態で保持することによって、デバイス上の電源をオン/オフし、ボタンを押し下げて、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ/又は、デバイスをロック解除するか、若しくはロック解除プロセスを開始するために、任意選択的に使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能のアクティブ化又は停止に関する口頭入力も受け入れる。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための、1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器167も、任意選択的に含む。
【0112】
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備えた例示的な多機能デバイスのブロック図である。デバイス300は、ポータブルでなくてもよい。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は産業用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと称することがある)を、任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイ(例えば、タッチスクリーンディスプレイ112)である、ディスプレイ340を備える、入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器(単数又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aを参照して上述された接触強度センサ(単数又は複数)165と同様の接触強度センサ)も、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310からはリモートに位置する1つ以上の記憶デバイスを、任意選択的に、含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更には、メモリ370は、ポータブル多機能デバイス100のメモリ102内には存在しない、追加的なプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、その一方で、ポータブル多機能デバイス100(図1A)のメモリ102は、これらのモジュールを任意選択的に記憶しない。
【0113】
上記で特定された図3の要素のそれぞれは、任意選択的に、前述のメモリデバイスのうちの1つ以上に記憶される。上記で識別されたモジュールのうちのそれぞれは、上述した機能を実行するための命令セットに対応する。上述の識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ370は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【0114】
ここで、ポータブル多機能デバイス100上に任意選択的に実装される、ユーザインタフェース(「UI」)の実施形態に注意を向ける。
【0115】
図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。
【0116】
図4Aに示すアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、対応するアプリケーションアイコンに関するラベルは、対応するアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンに関するラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0117】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器359を含む。
【0118】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図4Bに示すように、ディスプレイとは別個のタッチ感知面上で入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上の対応する場所に対応する場所(例えば、図4Bにおいて、460は468と対応し、462は470と対応する)でのタッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このように、タッチ感知面がディスプレイとは個別のものである時、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、及びそれらの移動)は、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書で説明される他のユーザインタフェースに関して、任意選択的に使用されることを理解されたい。
【0119】
更には、以下の説明は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックで置き換えられ、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの場所に配置される間、任意選択的に、マウスクリックで置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが任意選択的に同時に使用されるか、又は、マウスと指の接触とが任意選択的に同時に使用されることを理解されたい。
ユーザインタフェース及び関連プロセス
【0120】
デバイス300又はポータブル多機能デバイス100などの、ディスプレイ及びタッチ感知面を有する電子デバイスに実装することができるユーザインタフェース(「UI」)及び関連処理の実施形態に注目を向ける。
【0121】
図5A図5Rは、いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図6A~6Dのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【0122】
図5Aは、ポータブル多機能デバイス100(本明細書では「デバイス100」と称されることもある)のタッチスクリーン112上に表示されるユーザインタフェース503を示す。ユーザインタフェース503は、アプリケーションアイコン501と、任意選択的に1つ以上の選択可能なユーザインタフェースオブジェクトを含むトレイ408と、を含む、複数のユーザインタフェースオブジェクト(本明細書では「アフォーダンス」又は「選択可能なユーザインタフェースオブジェクト」と称されることもある)を含む。図5Aは、(例えば、図5B図5Dに示されるように)それに応じてデバイスがマルチページアプリケーション起動インタフェースの第1のページから第2のページへとナビゲートする、接触及びタッチスクリーン112の端部から離れた場所から始まる左への接触の移動を含む入力502と、デバイスが(例えば、図5E図5Gに示されるような)検索入力フィールドを含む検索インタフェースを表示することに応じる、接触及び下方向への接触の移動を含む入力504と、それに応じてデバイスが任意選択的に(例えば、図5J図5Lに示されるような)通知センターインタフェースを表示する、タッチスクリーン112の上端部における接触及び下方向への移動を含む入力506と、それに応じてデバイスが任意選択的に(例えば、図5M図5Oに示されるような)マルチタスキングインタフェースを表示する、タッチスクリーン112の右端部における接触及び左への移動を含む入力508と、それに応じてデバイスが任意選択的に(例えば、図5P図5Rに示されるような)設定インタフェースを表示する、タッチスクリーン112の下部における接触及び上方向への移動を含む入力510と、を更に示す。
【0123】
図5B図5Dは、マルチページアプリケーション起動インタフェースの第1のページから第2のページへとナビゲートする実施例を示す。図5Bは、ユーザインタフェース503(例えば、ページ1)及び入力502の検出を示す。入力502は、接触及び左への接触の移動を含む。図5Cは、位置502-bにおける入力502、及びユーザインタフェース503(例えば、ページ1)とユーザインタフェース505(例えば、ページ2)との間の対応する遷移を示す。図5Dは、異なる複数のアプリケーションアイコン501(例えば、アプリケーションアイコン501-17~501-29)を有するユーザインタフェース505(例えば、ページ2)を示す(例えば、デバイスは、タッチスクリーン112の端部から離れた場所において始まる水平方向のスワイプジェスチャを検出したことに応じて、マルチページアプリケーション起動インタフェースの次のページへと切り替える)。
【0124】
図5E図5Gは、検索入力フィールドを含む検索インタフェースを表示する実施例を示す。図5Eは、ユーザインタフェース503及び入力504の検出を示す。入力504は、接触及び下方向への移動を含む。図5Fは、位置504-bにおける入力504、及びユーザインタフェース503と検索フィールド514を含む検索インタフェース507との間の対応する遷移を示す。図5Gは、検索フィールド514及びキーボード516を含む検索インタフェース507を示す(例えば、デバイスは、タッチスクリーン112の上端部から離れた場所において始まり、かつマルチページアプリケーション起動インタフェースの第1のページがディスプレイ上に表示されている間に検出された、下方向のスワイプジェスチャを検出したことに応じて、検索インタフェースを表示する)。
【0125】
図5H図5Iは、検索入力フィールドを含む検索インタフェースを表示する別の実施例を示す。図5Hは、ユーザインタフェース505及び入力518の検出を示す。入力518は、(タッチスクリーン112の上端部から離れた)接触及び下方向への移動を含む。図5Iは、検索フィールド514及びキーボード516を含む検索インタフェース509を示す(例えば、デバイスは、タッチスクリーン112の上端部から離れた場所において始まり、かつマルチページアプリケーション起動インタフェースの第2のページがディスプレイ上に表示されている間に検出された、下方向のスワイプジェスチャを検出したことに応じて、検索インタフェースを表示する)。このため、いくつかの実施形態では、タッチスクリーン112の上端部から離れた場所において始まる下方向のスワイプジェスチャを検出したことに応じて、デバイス100に記憶されたドキュメント、アプリケーション及び他のコンテンツを検索するための検索インタフェースが、マルチページアプリケーション起動インタフェース内の複数の異なるページのうちのいずれかにおいて、直接アクセス可能となる。
【0126】
図5J図5Lは、通知センターインタフェースを表示する実施例を示す。図5Jは、ユーザインタフェース503及び入力506の検出を示す。入力506は、タッチスクリーン112の上端部において検出された接触及び下方向への接触の移動を含む。図5Kは、位置506-bにおける入力506、並びにユーザインタフェース503とイベントコンテンツ520及び完了アフォーダンス522を含む通知インタフェース511との間の対応する遷移を示す。図5Lは、イベントコンテンツ520、電子メールコンテンツ524、天気予報コンテンツ526、及び完了アフォーダンス522を含む、通知インタフェース511を示す(例えば、デバイスは、タッチスクリーン112の上端部において始まる下方向へのスワイプジェスチャを検出したことに応じて、通知センターを表示する)。
【0127】
図5M図5Oは、マルチタスキングインタフェースを表示する実施例を示す。図5Mは、ユーザインタフェース503及び入力508の検出を示す。入力508は、タッチスクリーン112の右端部において検出された接触及び左への接触の移動を含む。図5Nは、位置508-bにおける入力508及びマルチタスキングインタフェース513を示し、この図は、いずれかがアクティブ化されたときにデバイスにブラウザアプリケーションを(例えば、全画面モードの動作で)表示させる、ウェブブラウザアプリケーション528の表現及びブラウザアプリケーションアイコン420を含む。図5Oは、位置508-cにおける入力508及びマルチタスキングインタフェース515を示し、この図は、ウェブブラウザアプリケーション528及びブラウザアプリケーションアイコン420の表現を引き続き表示すること、並びにそれに加えて、いずれかがアクティブ化されたときにデバイスに電子メールアプリケーションを(例えば、全画面モードの動作で)表示させる、電子メールアプリケーション530の表現及び電子メールアプリケーションアイコン418を表示することを含む。したがって、いくつかの実施形態では、デバイスが、タッチスクリーン112の垂直方向の端部において始まる水平方向(例えば、左方向又は右方向)のスワイプジェスチャを検出したことに応じて、マルチタスキングインタフェースを表示する。いくつかの実施形態では、アプリケーションアイコンの行(例えば、アイコン420及び418)が、アプリケーションアイコンの行における水平方向のスワイプ入力に応じて、ディスプレイ上で水平方向に摺動するように構成される。いくつかの実施形態では、アプリケーション表現の行(例えば、表現528及び530)が、アプリケーションアイコンの行における水平方向のスワイプ入力に応じて、ディスプレイ上で水平方向に摺動するように構成される。
【0128】
いくつかの実施形態では、マルチページアプリケーション起動インタフェースのページの縮小表現531が(例えば、マルチページアプリケーション起動インタフェースのページの縮小表現531に対応するタッチスクリーン112上の場所におけるタップジェスチャを検出したことに応じて)アクティブ化された場合、デバイスが、マルチタスキングインタフェースを表示することを中止し、かつ対応するページをマルチページアプリケーション起動インタフェース内に再表示する(例えば、図5M)。
【0129】
図5P図5Rは、設定インタフェースを表示する実施例を示す。図5Pは、ユーザインタフェース503及び入力510の検出を示す。入力510は、タッチスクリーン112の下端部において検出された接触及び上方向への接触の移動を含む。図5Qは、位置510-bにおける入力510、並びにユーザインタフェース503とデバイスアイコン534及び明度スライダ536を含む設定インタフェース517(例えば、制御センターインタフェース)との間の対応する遷移を示す。図5Rは、デバイスアイコン534、明度スライダ536、音楽コントロール538及びアプリケーションアイコン540を含む設定インタフェース517を示す(例えば、デバイスは、タッチスクリーン112の下端部において始まる上方向のスワイプジェスチャを検出したことに応じて、設定インタフェースを表示する)。
【0130】
図6A図6Dは、いくつかの実施形態に係る、ナビゲーション及び検索機能を含む様々な機能へのアクセスを提供する方法600を示す流れ図である。方法600は、ディスプレイ及びタッチ感知面を備えた電子デバイス(例えば、図3のデバイス300又は図1Aのポータブル多機能デバイス100)において実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイ(例えば、タッチスクリーン112)であり、タッチ感知面はディスプレイ上にある。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。方法600におけるいくつかの動作は、任意選択的に、組み合わされ、及び/又は一部の動作の順序は、任意選択的に、変更される。
【0131】
以下で説明されるように、方法600は、マルチページアプリケーション起動インタフェースから複数の機能への直接的なアクセスを提供するための直感的な方法を提供する。本方法は、ナビゲーション及び検索機能を使用する際のユーザの認知負担を軽減し、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザは、より速く、より効率的にナビゲート及び検索することが可能となることにより、電力が節約され、バッテリを充電する間隔が増大する。
【0132】
ディスプレイ及びタッチ感知面を備えた電子デバイスは、アプリケーションを起動するためのアプリケーションアイコンの複数の(別個に表示された)ページを含む、マルチページアプリケーション起動インタフェースの第1のページを表示し、第1のページは第1の複数のアプリケーションアイコンを含む(602)。いくつかの実施形態では、本明細書に記載されているタッチ感知面が、タッチスクリーンディスプレイの一部である。いくつかの実施形態では、本明細書に記載されているタッチ感知面が、より大きいタッチ感知面のサブ領域であり、かつ以下で説明されるタッチ感知面の「端部」が、より大きいタッチ感知面のサブ領域の端部に対応する。例えば、デバイスは、デバイスのディスプレイに一致し、デバイスのベゼル上にも延在する、より大きいタッチ感知面を含み、かつ本明細書に記載されている「タッチ感知面」は、タッチ感知面の端部もディスプレイ(タッチスクリーンディスプレイと称されることもある)の端部に対応するように、ディスプレイと一致する、より大きいタッチ感知デバイスのサブ領域である。いくつかの実施形態では、アプリケーション起動インタフェースの1つ以上のページが、アクティブ化されたときに対応するアプリケーションを起動するアプリケーションアイコンに加えて、デバイスの様々な機能を制御するための1つ以上のブックマークアイコン、ウィジェット、フォルダアイコン及び/又は他のコントロールを含む。例えば、図5Aは、デバイス100がユーザインタフェース503(例えば、3ページからなるアプリケーション起動インタフェースのページ1)を表示することを示し、図5Dは、デバイス100がユーザインタフェース505(例えば、3ページからなるアプリケーション起動インタフェースのページ2)を表示することを示す。
【0133】
デバイスは、タッチ感知面上で第1の入力(例えば、指ジェスチャ)を検出し、タッチ感知面上の第1の接触を検出することと、第1の接触の移動を検出することと、を含む(604)。例えば、図5Aは、入力502、504、506、508、及び510を検出するデバイス100を示し、各入力はタッチスクリーン112上の接触及び接触の移動を含む。
【0134】
タッチ感知面上の第1の入力を検出したことに応じて(606)、デバイスは、第1の接触がタッチ感知面上で第1の所定の方向(例えば、右から左)に所定量(例えば、10、20、30、50、又は100画素)を超えて移動したときに満たされる基準を含む、次ページの表示基準を第1の入力が満たすという判定に従って、マルチページアプリケーション起動インタフェースの第1のページの表示を、第1の複数のアプリケーションアイコンと異なる(又は区別される)第2の複数のアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第2のページと置き換える(608)。例えば、図5B図5Dは、デバイス100がタッチスクリーン112上の入力502を検出することと、ユーザインタフェース503(例えば、ページ1)をユーザインタフェース505(例えば、ページ2)と置き換えることと、を示す。図5Dは、ユーザインタフェース503(図5B)内に含まれる複数のアプリケーションアイコン501(例えば、アプリケーションアイコン501-1~501-16)と異なる複数のアプリケーションアイコン501(例えば、アプリケーションアイコン501-17~501-29)を含むユーザインタフェース505を更に示す。
【0135】
いくつかの実施形態では、第1の入力を検出したことに応じて(606)、第1の入力がタッチ感知面の第1の端部(例えば、上部)において始まったときに満たされる基準を含む、通知インタフェースの表示基準を第1の入力が満たすという判定に従って、デバイスが、最近受信した通知を含む通知インタフェースを表示する(610)。いくつかの実施形態では、通知インタフェースの基準が、タッチ感知面の第1の端部から既定の距離(例えば、0.1~1.0mm)以内又は既定の画素数(例えば、1~20画素)以内など、タッチ感知面の第1の端部に近接する場所において第1の入力が始まったときに満たされる基準を含む。例えば、図5Jは、デバイス100が、タッチスクリーン112の上端部上の接触及びそれに続く下方向への接触の移動を含む入力506を検出することを示す。図5K図5Lは、デバイス100が、ユーザインタフェース503(例えば、ページ1)の表示を通知インタフェース511の表示と置き換えることを示す。図5Lは、(例えば、最近受信した電子メールの通知を提供する)電子メールコンテンツ524及び(例えば、次に発生するイベントの通知を提供する)イベントコンテンツ520を含む通知インタフェース511を更に示す。
【0136】
いくつかの実施形態では、第1の入力を検出したことに応じて(606)、第1の入力がタッチ感知面の第1の端部と異なるタッチ感知面の第2の端部において始まった(例えば、第1の接触が最初に検出された)ときに満たされる基準を含む、マルチタスキングインタフェースの表示基準を第1の入力が満たすという判定に従って、デバイスが、複数の開いているアプリケーションの表現を含むマルチタスキングインタフェースを表示する(612)。いくつかの実施形態では、マルチタスキングインタフェースの表示基準が、タッチ感知面の第2の端部から既定の距離(例えば、0.1~1.0mm)以内又は既定の画素数(例えば、1~20画素)以内など、タッチ感知面の第2の端部に近接する場所において第1の入力が始まったときに満たされる基準を含む。いくつかの実施形態では、開いているアプリケーションを切り替える、かつ/又は開いているアプリケーションを閉じるために、マルチタスキングインタフェースを使用することができる。いくつかの実施形態では、マルチタスキングインタフェースが、選択されたときにデバイスにマルチページアプリケーション起動インタフェースの対応するページを表示させる、マルチページアプリケーション起動インタフェースの対応するページの縮小表現を(例えば、複数の開いているアプリケーションの表現の行の一方の端部において)含む。例えば、図5Mは、タッチスクリーン112の右端部上の接触及びそれに続くタッチスクリーン112上の接触の右への移動を検出することを含む、デバイス100が入力508を検出することを示す。図5N図5Oは、デバイス100が、ユーザインタフェース503(例えば、ページ1)の表示を、図5Nのマルチタスキングインタフェース513の表示及び図5Oのマルチタスキングインタフェース515の表示と置き換えることを示す。図5Oは、複数の開いているアプリケーション(例えば、ブラウザウィンドウ528及び電子メールウィンドウ530)を含むマルチタスキングインタフェース515を更に示す。
【0137】
タッチ感知面上の第1の入力を検出したことに応じて(606)、デバイスは、第1の接触が第1の方向に垂直な第2の所定の方向(例えば、下)に所定量(例えば、10、20、30、50、又は100画素)を超えて移動したときに満たされる基準を含む、検索インタフェースの表示基準を第1の入力が満たすという判定に従って、検索条件を入力するための検索入力フィールドを含む検索インタフェースを表示する(614)。例えば、図5Eは、タッチスクリーン112上の接触及びその後の(例えば、図5Bに示す入力502の移動に垂直な)下方向への接触の移動を検出することを含む、デバイス100が入力504を検出することを示す。図5F図5Gは、デバイス100が、ユーザインタフェース503(例えば、ページ1)の表示を、検索フィールド514を含む検索インタフェース507の表示と少なくとも部分的に置き換える(例えば、検索フィールド514を表示するために壁紙及びアプリケーションアイコン501を下方向に摺動する)ことを示す。いくつかの実施形態では、検索フィールドが、現在時刻並びにバッテリ状態及び他のデバイス状態情報を含むデバイス状態バーの「下」から引き出される。図5H図5Iは、類似の実施例を示す。図5H図5Iでは、デバイス100が、入力518を検出し、かつユーザインタフェース505(例えば、ページ2)の表示を検索インタフェース509の表示と少なくとも部分的に置き換える。
【0138】
いくつかの実施形態では、検索インタフェースを表示することが、検索入力フィールド内にテキストを入力するためのキーボードを表示することを含む(616)。いくつかの実施形態では、第1の入力を検出したことに応じて、キーボード及び検索入力フィールドの両方が表示される。いくつかの実施形態では、検索入力フィールドの(例えば、タップジェスチャを使用した)選択/アクティブ化を検出したことに応じて、キーボードが表示される。例えば、図5Gは、デバイス100が、キーボード516を含む検索インタフェース507を表示することを示す。
【0139】
いくつかの実施形態では、検索インタフェースを表示することが、第1のページのアプリケーションアイコンのセットを、ディスプレイの対応する端部から離れるように第2の既定の方向に並進移動させることと、検索入力フィールドをディスプレイの対応する端部(例えば、上端部)とアプリケーションアイコンとの間に表示することと、を含む(618)。例えば、図5E図5Gは、アプリケーションアイコン501を下方向に並進移動させ、かつそれらの上に検索フィールド514を表示することを含む、デバイス100がユーザインタフェース503から検索インタフェース507へと遷移することを示す。
【0140】
いくつかの実施形態では、検索インタフェースを表示することが、少なくとも第1のページ上のアプリケーションアイコンのサブセットを表示することを中止することを含む(620)。いくつかの実施形態では、全てのアプリケーションアイコンがフェードアウトするか、覆われるか、又はさもなければディスプレイから削除される。いくつかの実施形態では、一部のアプリケーションアイコンがキーボード又は検索インタフェースの他の部分によって覆われ、その間、他のアプリケーションアイコンは、検索インタフェースと同時に、引き続きディスプレイ上に表示される。例えば、図5E図5Gは、図5Gにおいてアプリケーションアイコン501-13~501-16を表示することを中止することを含む、デバイス100がユーザインタフェース503から検索インタフェース507へと遷移することを示す。
【0141】
いくつかの実施形態では、第1の入力を検出したことに応じて(606)、デバイスが、検索インタフェースを表示する間に、マルチページユーザインタフェースの第1のページのアプリケーションアイコンのうちの1つ以上の表示を維持する(622)。例えば、図5E図5Gは、デバイス100が、ユーザインタフェース503から検索インタフェース507へと遷移し、かつ検索インタフェース507においてアプリケーションアイコン501-1~501-12の表示を維持することを示す。
【0142】
いくつかの実施形態では、マルチページアプリケーション起動インタフェースが、複数のアプリケーションアイコンを含む固定アイコン領域(例えば、アプリケーションドック)を含み、かつ固定アイコン領域(例えば、同じアイコンを内部に含む同じ固定アイコン領域)が、複数ページにわたるアプリケーションアイコンの各ページと同時に表示される(624)。いくつかの実施形態では、第1の入力を検出したことに応じて検索インタフェースを表示することが、固定アイコン領域を表示することを中止する(例えば、検索入力フィールドがディスプレイ上に現れるように第2の方向に摺動するときに、アプリケーションドックをディスプレイ上から消えるように第2の方向に摺動させる)ことを含む。例えば、図5E図5Gは、デバイス100がユーザインタフェース503から検索インタフェース507へと遷移することを示す。図5Eは、デバイス100が、トレイ408(例えば、アプリケーションドック)を含むユーザインタフェース503を表示することを示し、図5Gは、デバイス100が、ユーザインタフェース507を表示し、かつトレイ408を表示することを中止することを示す。いくつかの実施形態では、キーボードが表示された(例えば、タッチスクリーン112の下部から上方向に摺動した)ときに、トレイ408が覆われる。いくつかの実施形態では、検索フィールド514が(例えば、現在時刻及びバッテリ状態を含むデバイス状態バーの下から)下方向に摺動してタッチスクリーン112上に現れる間に、トレイ408が下方向に摺動してタッチスクリーン112上から消える。
【0143】
いくつかの実施形態では、検索入力フィールドを表示する間に(626)、デバイスが検索入力フィールド内でテキスト入力(例えば、複数の文字キー押下動作又はカットアンドペースト動作に対応するテキスト)を受け取り(628)、テキスト入力に対応する検索結果を取得し(630)、取得した検索結果のうちの1つ以上をディスプレイ上に表示する(632)。いくつかの実施形態では、検索結果が、デバイス上に記憶されたアプリケーション及びコンテンツに対応する検索結果である。いくつかの実施形態では、検索結果が、デバイスからリモートに記憶されたコンテンツ(例えば、デバイスへのストリーミングが可能なウェブページ又はメディアストリーム)に対応する検索結果である。いくつかの実施形態では、テキスト入力を受け取ることに応じて、検索結果が自動的に取得される。いくつかの実施形態では、検索ユーザインタフェース内に表示される検索実行アフォーダンス(例えば、検索フィールド内にテキスト入力を入力するために使用されるキーボード上の「検索」ボタン)の選択を検出したことに応じて、検索結果が取得される。いくつかの実施形態では、それぞれの検索結果の選択を検出したことに応じて、デバイスが、それぞれの検索結果に対応するコンテンツを表示する(例えば、デバイスが、選択されたアプリケーション又は選択された検索結果に対応するコンテンツのためのユーザインタフェースを表示する)。
【0144】
いくつかの実施形態では、第1の入力を検出したことに応じて(606)、第1の入力がタッチ感知面の第1の端部及びタッチ感知面の第2の端部と異なるタッチ感知面の第3の端部において始まった(例えば、第1の接触が最初に検出された)ときに満たされる基準を含む、設定インタフェースの表示基準を第1の入力が満たすという判定に従って、デバイスが、複数のデバイス設定を変更するためのコントロールを含む設定インタフェースを表示する(634)。いくつかの実施形態では、設定インタフェースの表示基準が、タッチ感知面の第3の端部から既定の距離(例えば、0.1~1.0mm)以内又は既定の画素数(例えば、1~20画素)以内など、タッチ感知面の第3の端部に近接する場所において第1の入力が始まったときに満たされる基準を含む。いくつかの実施形態では、スクリーンの明度、音量、航空機モード、及び無線通信のオン/オフなどのよく使用されるデバイス設定を変更するために、設定インタフェースを使用することができる。例えば、図5Pは、デバイス100が、タッチスクリーン112の下端部上の接触及びそれに続くタッチスクリーン112上の接触の上方向への移動を含む、入力510を検出することを示す。図5Q図5Rは、デバイス100が、ユーザインタフェース503(例えば、ページ1)の表示を設定インタフェース517(例えば、制御センターインタフェース)の表示と少なくとも部分的に置き換えることを示す。図5Rは、デバイス設定を変更するための複数のコントロール(例えば、明度スライダ536、音楽コントロール538、及びデバイスアイコン534)を含む設定インタフェース517を更に示す。
【0145】
いくつかの実施形態では、検索インタフェースの表示基準が、タッチ感知面の第1の端部(例えば、上部)から離れた場所において第1の入力が始まった(例えば、第2の接触が最初に検出された)ときに満たされる追加基準を含む(636)。例えば、検索インタフェースの表示基準は、接触が第1の方向に所定量を超えて移動したときに満たされる第1の基準と、接触がタッチ感知面の第1の端部から離れた場所において始まったときに満たされる第2の基準と、を少なくとも含む。いくつかの実施形態では、第1の端部から既定の距離(例えば、0.1~1.0mm)を超えて離れた場所又は第1の端部から既定の数の画素(例えば、1~20画素)を超えて離れた場所において第1の入力が始まった(例えば、第1の入力における接触が最初に検出された)ときに、第1の入力が第1の端部「から離れた」場所において始まったと判定される。いくつかの実施形態では、タッチ感知面の第1の端部(例えば、上部)において第1の入力が始まった(例えば、第1の接触が最初に検出された)ときに満たされる基準を含む、通知インタフェースの表示基準を第1の入力が満たすという判定に従って、デバイスが、最近受信した通知(例えば、インスタントメッセージ、電子メール、ソーシャルネットワークメッセージ、アプリケーション状態の更新など)を含む通知インタフェースを表示する。いくつかの実施形態では、通知インタフェースの表示基準が、タッチ感知面の第1の端部から既定の距離(例えば、0.1~1.0mm)以内又は既定の画素数(例えば、1~20画素)以内など、タッチ感知面の第1の端部に近接する場所において第1の入力が始まったときに満たされる基準を含む。例えば、図5Jは、デバイス100が、タッチスクリーン112の上端部において始まる入力506を検出することを含む。図5K図5Lは、その結果として、デバイス100が、ユーザインタフェース503の表示を通知インタフェース511と置き換えることを示す。対象的な実施例では、図5Eは、デバイス100が、タッチスクリーン112の上端部から離れた場所において始まる入力504を検出することを示す。図5F図5Gは、その結果として、デバイス100が、ユーザインタフェース503の表示を検索インタフェース507と置き換えることを示す。
【0146】
いくつかの実施形態では、マルチページアプリケーション起動インタフェースの対応するページを表示する間に、デバイスがタッチ感知面上で第2の入力(例えば、指ジェスチャ)を検出することを含み、第2の接触(第1の接触と異なる)を検出することと、第2の方向(例えば、下方向)への第2の接触の所定量(例えば、10、20、30、50、又は100画素)を超える移動を検出することと、を含む(638)。
【0147】
いくつかの実施形態では、タッチ感知面上の第2の入力を検出したことに応じて(640)、タッチ感知面の第1の端部(例えば、上部)から離れた(例えば、近接していない)場所において第2の入力が始まった(例えば、第2の接触が最初に検出された)ときに満たされる基準を含む、検索インタフェースの表示基準を第2の入力が満たすという判定に従って、デバイスが検索インタフェースを表示する(642)。いくつかの実施形態では、第1の端部から既定の距離(例えば、0.1~1.0mm)を超えて離れた場所又は第1の端部から既定の数の画素(例えば、1~20画素)を超えて離れた場所において第1の入力が始まった(例えば、第1の入力における接触が最初に検出された)ときに、第1の入力が第1の端部「から離れた」場所において始まったと判定される。
【0148】
いくつかの実施形態では、タッチ感知面上の第2の入力を検出したことに応じて(640)、タッチ感知面の第1の端部(例えば、上部)において第2の入力が始まった(例えば、第1の接触が最初に検出された)ときに満たされる基準を含む、通知インタフェースの表示基準を第2の入力が満たすという判定に従って、デバイスが、最近受信した通知(例えば、インスタントメッセージ、電子メール、ソーシャルネットワークメッセージ、アプリケーション状態の更新など)を含む通知インタフェースを表示する(644)。いくつかの実施形態では、通知インタフェースの表示基準が、タッチ感知面の第1の端部から既定の距離(例えば、0.1~1.0mm)以内又は既定の画素数(例えば、1~20画素)以内など、タッチ感知面の第1の端部に近接する場所において第2の入力が始まったときに満たされる基準を含む。例えば、第1の入力(例えば、次ページの表示基準を満たす、図5Bにおける接触502の移動)を検出したことに応じて、デバイスは、図5B図5Dに示されるように、マルチページアプリケーション起動ユーザインタフェースの第1のページをマルチページアプリケーション起動ユーザインタフェースの第2のページと置き換え、かつデバイスは、第1の入力を検出することの後に、第2の入力(例えば、タッチスクリーン112の端部から離れた場所において始まり、かつ検索インタフェースの表示基準を満たす、接触518の下方向への移動)を検出し、デバイスは、図5H-5Iに示されるように、検索入力インタフェースを表示する。
【0149】
図6A~6Dにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者には、本明細書で説明される動作を再順序付けするための、様々な方法が認識されるであろう。
【0150】
いくつかの実施形態によれば、図7は、説明される様々な実施形態の原理に従って構成された、電子デバイス700の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図7で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に、支持する。
【0151】
図7に示されるように、電子デバイス700は、アプリケーションを起動するための複数ページにわたるアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第1のページを表示するように構成された表示ユニット701を含み、第1のページは第1の複数のアプリケーションアイコンを含む。電子デバイス700は、ユーザのジェスチャを受け取るように構成されたタッチ感知面ユニット703、並びに表示ユニット701及びタッチ感知面ユニット703に結合された処理ユニット702も含む。いくつかの実施形態では、処理ユニット702が、検出ユニット704、置換ユニット706、表示可能化ユニット708、受信ユニット710、及び取得ユニット712を含む。
【0152】
処理ユニット702は、タッチ感知面ユニット上で第1の入力を(例えば、検出ユニット704を使用して)検出するように構成され、第1の接触を検出することと、タッチ感知面ユニット上の第1の接触の移動を検出することと、を含む。処理ユニット702は、タッチ感知面ユニット上で第1の入力を検出したことに応じて、第1の接触がタッチ感知面上で第1の所定の方向に所定量を超えて移動したときに満たされる基準を含む、次ページの表示基準を第1の入力が満たすという判定に従って、マルチページアプリケーション起動インタフェースの第1のページの表示を、第1の複数のアプリケーションアイコンと異なる第2の複数のアプリケーションアイコンを含む、マルチページアプリケーション起動インタフェースの第2のページの表示と(例えば、置換ユニット706を使用して)置き換え、かつ、第1の接触が第1の方向に垂直な第2の所定の方向に所定量を超えて移動したときに満たされる基準を含む、検索インタフェースの表示基準を第1の入力が満たすという判定に従って、検索条件を入力するための検索入力フィールドを含む検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように更に構成される。
【0153】
いくつかの実施形態では、第1の入力を検出したことに応じて、第1の入力がタッチ感知面ユニットの第1の端部において始まったときに満たされる基準を含む、通知インタフェースの表示基準を第1の入力が満たすという判定に従って、最近受信した通知を含む通知インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0154】
いくつかの実施形態では、第1の入力を検出したことに応じて、第1の入力がタッチ感知面ユニットの第1の端部と異なるタッチ感知面ユニットの第2の端部において始まったときに満たされる基準を含む、マルチタスキングインタフェースの表示基準を第1の入力が満たすという判定に従って、複数の開いているアプリケーションの表現を含むマルチタスキングインタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0155】
いくつかの実施形態では、第1の入力を検出したことに応じて、第1の入力がタッチ感知面ユニットの第1の端部及びタッチ感知面ユニットの第2の端部と異なるタッチ感知面ユニットの第3の端部において始まったときに満たされる基準を含む、設定インタフェースの表示基準を第1の入力が満たすという判定に従って、複数のデバイス設定を変更するためのコントロールを含む設定インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0156】
いくつかの実施形態では、検索インタフェースの表示基準が、タッチ感知面ユニットの第1の端部から離れた場所において第1の入力が始まったときに満たされる追加基準を含む。いくつかの実施形態では、第1の入力がタッチ感知面ユニットの第1の端部において始まったときに満たされる基準を含む、通知インタフェースの表示基準を第1の入力が満たすという判定に従って、最近受信した通知を含む通知インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0157】
いくつかの実施形態では、マルチページアプリケーション起動インタフェースの対応するページの表示を可能にする間に、タッチ感知面ユニット上で第2の入力を(例えば、検出ユニット704を使用して)検出するように処理ユニット702が更に構成され、第2の接触を検出することと、第2の方向への第2の接触の所定量を超える移動を検出することと、を含む。いくつかの実施形態では、タッチ感知面ユニット上で第2の入力を検出したことに応じて、第2の入力がタッチ感知面ユニットの第1の端部から離れた場所において始まったときに満たされる基準を含む、検索インタフェースの表示基準を第2の入力が満たすという判定に従って、検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にし、かつ、第2の入力がタッチ感知面ユニットの第1の端部において始まったときに満たされる基準を含む、通知インタフェースの表示基準を第2の入力が満たすという判定に従って、最近受信した通知を含む通知インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0158】
いくつかの実施形態では、検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にすることが、検索入力フィールド内にテキストを入力するためのキーボードの表示を可能にすることを含む。
【0159】
いくつかの実施形態では、検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にすることが、第1のページのアプリケーションアイコンのセットを、表示ユニットの対応する端部から離れるように第2の既定の方向に並進移動させることと、表示ユニットの対応する端部とアプリケーションアイコンとの間への検索入力フィールドの表示を可能にすることと、を含む。
【0160】
いくつかの実施形態では、検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にすることが、少なくとも第1のページ上のアプリケーションアイコンのサブセットを表示することを中止することを含む。
【0161】
いくつかの実施形態では、第1の入力を(例えば、検出ユニット704を使用して)検出したことに応じて、検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にする間に、マルチページユーザインタフェースの第1のページのアプリケーションアイコンのうちの1つ以上の表示を(例えば、表示可能化ユニット718を使用して)維持するように、処理ユニット702が更に構成される。
【0162】
いくつかの実施形態では、マルチページアプリケーション起動インタフェースが、複数のアプリケーションアイコンを含む固定アイコン領域を含み、固定アイコン領域は、複数ページにわたるアプリケーションアイコンの各ページと同時に表示され、かつ、第1の入力を検出したことに応じて検索インタフェースの表示を(例えば、表示可能化ユニット708を使用して)可能にすることが、固定アイコン領域を表示することを中止することを含む。
【0163】
いくつかの実施形態では、検索入力フィールドの表示を可能にする間に、検索入力フィールド内へのテキスト入力を(例えば、受信ユニット710を使用して)受け取り、テキスト入力に対応する検索結果を(例えば、取得ユニット712を使用して)取得し、取得した検索結果のうちの1つ以上の表示ユニット上への表示を(例えば、表示可能化ユニット708を使用して)可能にするように、処理ユニット702が更に構成される。
【0164】
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【0165】
図6A図6Dを参照して上述された動作は、図1A図1B、又は図7に示される構成要素によって、任意選択的に実施される。例えば、表示動作602及び614、検出動作604、並びに置換動作608は、イベントソータ170、イベント認識部180及びイベントハンドラ190によって、任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136-1に配信する。アプリケーション136-1の対応のイベント認識部180は、そのイベント情報を対応のイベント定義186と照会し、タッチ感知面上の第1の場所での第1の接触(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ1100をアクティブ化する。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、対応するGUIアップデータ178にアクセスする。同様に、当業者にとって、他の処理が図1A図1Bに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
【0166】
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、及び想到される特定の用途に好適な様々な改良で本発明及び様々な実施形態を最良な形で使用することを可能とするために、これらの実施形態を選択し説明した。
図1A
図1B
図2
図3
図4A
図4B
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図5I
図5J
図5K
図5L
図5M
図5N
図5O
図5P
図5Q
図5R
図6A
図6B
図6C
図6D
図7