(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-12
(45)【発行日】2025-03-21
(54)【発明の名称】層状構造を用いたカードの表現の表示
(51)【国際特許分類】
G09G 5/377 20060101AFI20250313BHJP
G06F 3/0481 20220101ALI20250313BHJP
G09G 5/00 20060101ALI20250313BHJP
G09G 5/36 20060101ALI20250313BHJP
G09G 5/373 20060101ALI20250313BHJP
G09G 5/38 20060101ALI20250313BHJP
【FI】
G09G5/377 100
G06F3/0481
G09G5/00 550C
G09G5/36 400
G09G5/373
G09G5/38 100
【外国語出願】
(21)【出願番号】P 2022013919
(22)【出願日】2022-02-01
【審査請求日】2022-02-18
【審判番号】
【審判請求日】2023-08-22
(32)【優先日】2021-02-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100210239
【氏名又は名称】富永 真太郎
(72)【発明者】
【氏名】ニコラス ヴイ キング
(72)【発明者】
【氏名】ステーシー レベッカ エイブラムス
【合議体】
【審判長】濱本 禎広
【審判官】小島 寛史
【審判官】素川 慎司
(56)【参考文献】
【文献】米国特許出願公開第2020/0302518(US,A1)
【文献】特開2000-270264号公報(JP,A)
【文献】特開2003-125366号公報(JP,A)
【文献】特開2005-352679号公報(JP,A)
【文献】特開2014-174649号公報(JP,A)
【文献】米国特許出願公開第2014/0362093(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00-5/42
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
方法であって、
表示生成構成要素と通信するコンピュータシステムにおいて、
前記表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示することであって、前記カードの前記表現が、同時に表示される複数の層を含み、前記複数の層が、
第1の視覚アセットを有する第1の層と、
第2の視覚アセットを有する第2の層と、を含む、ことと、
視覚効果の第1のセットを前記第2の視覚アセットに適用することなく、視覚効果の前記第1のセットを前記第1の視覚アセットに適用することと、
視覚効果の前記第1のセットとは異なる、視覚効果の第2のセットを、前記第2の視覚アセットに適用することと、を含み、
動的データ構造が、前記第1の視覚アセットが前記第1の層に割り当てられ、前記第2の視覚アセットが前記第2の層に割り当てられることを指定し、前記動的データ構造が、視覚効果の前記第1のセットが前記第1の層に割り当てられ、視覚効果の前記第2のセットが前記第2の層に割り当てられることを指定する、方法。
【請求項2】
視覚効果の前記第2のセットが、前記第1の視覚アセットに適用されている、請求項1に記載の方法。
【請求項3】
前記複数の層のうちの少なくとも1つの層が、少なくとも1つの視覚アセットを含み、前記少なくとも1つの層が、前記少なくとも1つの層に割り当てられた視覚アセットに適用される視覚効果なしに表示される、請求項1
又は2に記載の方法。
【請求項4】
コンピュータに前記請求項1~
3のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項5】
コンピュータシステムであって、
請求項
4に記載のコンピュータプログラムを格納するメモリと、
前記メモリに格納された前記コンピュータプログラムを実行可能な1以上のプロセッサと、
を備え、
前記コンピュータシステムは、表示生成構成要素と通信する、
コンピュータシステム。
【請求項6】
表示生成構成要素と、
請求項1~
3のいずれか一項に記載の方法を実行する手段と、
を備える、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、コンピュータユーザインタフェースに関し、より具体的には、コンピュータユーザインタフェースにおいて層状構造を用いたカードの表現を表示するための技法に関する。
【背景技術】
【0002】
コンピュータシステムを使用して、カード、パス、又はアカウントに関連する情報にアクセスすることができる。次いで、情報を使用して、商品又はサービスをユーザに提供することができ、例えば、会場へのエントリを得るか、又はトランザクションを完了することができる。典型的には、カード、パス、又はアカウントに関連する情報は、コンピュータシステムのユーザに関連付けられている。
【発明の概要】
【0003】
しかしながら、コンピュータシステムを使用してカード、パス、又はアカウントを使用するためのいくつかの技法は、概して面倒で非効率的である。例えば、いくつかの既存の技法は、カード、パス、又はアカウントの表現の外観をカスタマイズするために、制限されたオプションを提供する。加えて、いくつかの既存の技法では、複数のキーの押圧又はキーストロークを含み得る、複雑で時間のかかるユーザインタフェースを使用して、カード、パス、又はアカウントを使用する。既存の技法は、必要以上の時間を要し、ユーザの時間及びデバイスのエネルギーを浪費する。後者の問題は、バッテリ動作デバイスにおいては特に重要である。
【0004】
したがって、本技法は、カード、パス、又はアカウントの表現と共にカード、パス、又はアカウントを使用するための、より速く、より効率的な方法及びインタフェースをコンピュータシステムに提供する。そのような方法及びインタフェースは、カード、パス、又はアカウントを使用するための他の方法を、任意選択的に補完し又は置き換える。そのような方法及びインタフェースは、ユーザにかかる認識的負担を低減し、より効率的なヒューマン-マシンインタフェースを生成する。バッテリ動作コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、バッテリ充電の間隔を長くする。
【0005】
例示的な方法を本明細書に開示する。例示的な方法は、表示生成構成要素と通信するコンピュータシステムにおいて、表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示することであって、カードの表現が、第1の視覚アセットを有する第1の層と、第2の視覚アセットを有する第2の層とを含む、同時に表示される複数の層を含む、ことと、視覚効果の第1のセットを第2の視覚アセットに適用することなく、視覚効果の第1のセットを第1の視覚アセットに適用することと、視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、第2の視覚アセットに適用することと、を含む。
【0006】
例示的な非一時的コンピュータ可読記憶媒体が本明細書で説明される。例示的な非一時的コンピュータ可読記憶媒体は、表示生成構成要素と通信するコンピュータシステムの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶し、1つ以上のプログラムは、表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示し、カードの表現が、第1の視覚アセットを有する第1の層と、第2の視覚アセットを有する第2の層とを含む、同時に表示される複数の層を含み、視覚効果の第1のセットを第2の視覚アセットに適用することなく、視覚効果の第1のセットを第1の視覚アセットに適用し、視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、第2の視覚アセットに適用する、命令を含む。
【0007】
例示的な一時的コンピュータ可読記憶媒体が本明細書で説明される。例示的な非一時的コンピュータ可読記憶媒体は、表示生成構成要素と通信するコンピュータシステムの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶し、1つ以上のプログラムは、表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示し、カードの表現が、第1の視覚アセットを有する第1の層と、第2の視覚アセットを有する第2の層とを含む、同時に表示される複数の層を含み、視覚効果の第1のセットを第2の視覚アセットに適用することなく、視覚効果の第1のセットを第1の視覚アセットに適用し、視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、第2の視覚アセットに適用する、命令を含む。
【0008】
例示的なコンピュータシステムが、本明細書で説明される。例示的なコンピュータシステムは、表示生成構成要素と、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリとを含み、1つ以上のプログラムは、表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示し、カードの表現が、第1の視覚アセットを有する第1の層と、第2の視覚アセットを有する第2の層とを含む、同時に表示される複数の層を含み、視覚効果の第1のセットを第2の視覚アセットに適用することなく、視覚効果の第1のセットを第1の視覚アセットに適用し、視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、第2の視覚アセットに適用する、命令を含む。
【0009】
例示的なコンピュータシステムは、表示生成構成要素と、表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示する手段であって、カードの表現が、第1の視覚アセットを有する第1の層と、第2の視覚アセットを有する第2の層とを含む、同時に表示される複数の層を含む、手段と、視覚効果の第1のセットを第2の視覚アセットに適用することなく、視覚効果の第1のセットを第1の視覚アセットに適用する手段と、視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、第2の視覚アセットに適用する手段と、を含む。
【0010】
これらの機能を実行する実行可能命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品に含まれる。これらの機能を実行する実行可能命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品に含まれる。
【0011】
したがって、コンピュータシステムに、カード、パス、又はアカウントの表現と共に、カード、パス、又はアカウントを使用するための、より高速でより効率的な方法及びインタフェースが提供され、それによって、そのようなコンピュータシステムの有効性、効率、及びユーザ満足度を向上させる。そのような方法及びインタフェースは、カード、パス、又はアカウントを使用するための他の方法を補完し又は置き換えることができる。
【図面の簡単な説明】
【0012】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図の全てを通じて、対応する部分を指す。
【0013】
【
図1A】いくつかの実施形態に係る、タッチ感知ディスプレイを有するポータブル多機能デバイスを示すブロック図である。
【
図1B】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【
図2】いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す。
【
図3】いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
【
図4A】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューの例示的なユーザインタフェースを示す。
【
図4B】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を有する多機能デバイスの例示的なユーザインタフェースを示す。
【
図5A】いくつかの実施形態に係る、パーソナル電子デバイスを示す。
【
図5B】いくつかの実施形態に係る、パーソナル電子デバイスを示すブロック図である。
【
図6A】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6B】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6C】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6D】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6E】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6F】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6G】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6H】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図6I】いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。
【
図7】いくつかの実施形態に係る、コンピュータシステムを使用してカードの表現を表示するための方法を示すフロー図である。
【発明を実施するための形態】
【0014】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、むしろ例示的な実施形態の説明として提供されることを認識されたい。
【0015】
カード、パス、又はアカウントを共有及び使用するための効率的な方法及びインタフェースを提供する電子デバイスの必要性が存在する。例えば、電子デバイスと関連付けられたカード情報を使用してトランザクションを完了するときに、カードの表現が電子デバイスによって表示される。ユーザが、カードの表現がトランザクションで使用するために選択されたカードに対応していることを容易かつ効率的に認識できる、及びカードの表現が真正であることを検証できる、必要性が存在する。そのような技法により、トランザクションに対してカード、パス、又はアカウントを使用するユーザの認識的負担を軽減し、それによって生産性を向上させることができる。更に、そのような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及びバッテリの電力を低減することができる。
【0016】
以下、
図1A~
図1B、
図2、
図3、
図4A~
図4B、及び
図5A~
図5Bは、イベント通知を管理する技法を実行するための例示的なデバイスの説明を提供する。
図6A~
図6Iは、カードの表現を表示するための例示的な技法及びユーザインタフェースを示す。
図7は、いくつかの実施形態に係る、カードの表現を表示する方法を示すフロー図である。
図6A~
図6Iのユーザインタフェースは、
図7の処理を含む、後述する処理を示すために使用される。
【0017】
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
【0018】
本明細書で説明される様々な実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目的とし、限定することは意図されていない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上の全ての考えられる任意の組み合わせを指し、且つこれを含むことをもまた理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループ、の存在又は追加を除外しないことが更に理解されるであろう。
【0019】
「~の場合(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])」を意味すると解釈される。
【0020】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連する処理の実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることも理解されたい。いくつかの実施形態では、電子デバイスは、表示生成構成要素と通信する(例えば、有線通信を介して、無線通信を介して)コンピュータシステムである。表示生成構成要素は、CRTディスプレイを介したディスプレイ、LEDディスプレイを介したディスプレイ、又は画像投影を介したディスプレイなどの視覚的な出力を提供するように構成されている。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムと一体化される。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムとは別個である。本明細書で使用するとき、「表示する」コンテンツは、コンテンツを視覚的に生成するために、有線又は無線接続で、データ(例えば、画像データ又はビデオデータ)を、一体型又は外部の表示生成構成要素に送信することによって、コンテンツ(例えば、ディスプレイコントローラ156によってレンダリング又はデコードされたビデオデータ)を表示させることを含む。
【0021】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【0022】
デバイスは、通常、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートする。
【0023】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又は対応するアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的且つ透明なユーザインタフェースを備える様々なアプリケーションをサポートする。
【0024】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。
図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を介して通信する。
【0025】
本明細書及び特許請求において使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装では、複数の力センサからの力測定値を組み合わせて(例えば、加重平均)、接触力の推定値を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装では、接触の力又は圧力の代替測定値が、強度閾値を上回っているか否かを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装では、接触力又は圧力の代替測定値は、推定される力又は圧力に変換され、推定される力又は圧力を使用して、強度閾値を上回っているか否かを判定する(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的制御部を介して)受け取るための、面積が限られている、低減されたサイズのデバイス上で、他の方法ではユーザによってアクセスすることが不可能であり得る、追加的なデバイス機能へのユーザのアクセスが可能となる。
【0026】
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触知感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの移動により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触知感を感じるであろう。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものとして記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0027】
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有し、任意選択的に、2つ以上の構成要素を組み合わせる、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有することを理解されたい。
図1Aに示す様々な構成要素は、1つ以上の信号処理回路、及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組み合わせとして実装される。
【0028】
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリも含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
【0029】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる又は実行して、デバイス100のための様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別個のチップ上に任意選択的に実装される。
【0030】
RF(radio frequency、無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を、電磁信号に/電磁信号から変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、及び/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)などの無線ネットワーク、及び/又はメトロポリタンエリアネットワーク(metropolitan area network、MAN)などのネットワーク、及び他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field Communication、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+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Bluetoothローエネルギー(Bluetooth Low Energy、BTLE)、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.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)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含む、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用する。
【0031】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号も受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理するために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/又はRF回路108から取得され、及び/又は、メモリ102及び/又はRF回路108に送信される。いくつかの実施形態では、オーディオ回路110はまた、ヘッドセットジャック(例えば、
図2の212)を含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの、着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0032】
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、深度カメラコントローラ169、強度センサコントローラ159、触感フィードバックコントローラ161、及び、他の入力デバイス若しくは制御デバイス用の1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116からの電気信号の受信/他の入力コントロールデバイス116への電気信号の送信を行う。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、
図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、
図2の206)を含む。いくつかの実施形態では、電子デバイスは、1つ以上の入力デバイスと通信する(例えば、有線通信を介して、無線通信を介して)コンピュータシステムである。いくつかの実施形態では、1つ以上の入力デバイスは、タッチ感知面(例えば、タッチ感知ディスプレイの一部としてのトラックパッド)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、入力としてユーザのジェスチャ(例えば、ハンドジェスチャ)を追跡するためなどの、1つ以上のカメラセンサ(例えば、1つ以上の光センサ164及び/又は1つ以上の深度カメラセンサ175)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムと一体化される。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムとは別個である。
【0033】
全体が参照により本明細書に組み込まれる、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押圧は、任意選択的に、タッチスクリーン112のロックを解放し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除する処理を開始する。プッシュボタン(例えば、206)のより長い押圧は、任意選択的に、デバイス100の電源をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン、及び1つ以上のソフトキーボードを実装するために使用される。
【0034】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号を受信し、及び/又はタッチスクリーン112への電気信号を送信する。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【0035】
タッチスクリーン112は、触覚及び/又は触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は、(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0036】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性技術、抵抗性技術、赤外線技術、及び表面音波技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びその接触のあらゆる移動又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
【0037】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体が参照により本明細書に組み込まれる、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/又は第6,677,932号(Westerman)、及び/又は米国特許公報第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0038】
タッチスクリーン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」で説明されている。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
【0039】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの、任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、主として指ベースの接触及びジェスチャによって動作するように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でない可能性がある。一部の実施形態では、デバイスは、指ベースの粗い入力を、正確なポインタ/カーソルの位置、又はユーザによって所望されているアクションを実行するためのコマンドに変換する。
【0040】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブにする又は非アクティブにするためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
【0041】
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0042】
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。
図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通して投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、任意選択的に、静止画像又はビデオをキャプチャする。いくつかの実施形態では、光センサは、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することができるように、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対側である、デバイス100の背面に配置される。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、ユーザの画像が、任意選択的に、テレビ会議のために得られるように、光センサはデバイスの前面に配置される。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができ、それにより、単一の光センサ164が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又はビデオの取得にも使用される。
【0043】
デバイス100は、任意選択的に、1つ以上の深度カメラセンサ175もまた含む。
図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内の対象物(例えば、顔面)の3次元モデルを作成する。いくつかの実施形態では、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされた画像の異なる部分の深度マップを決定するために使用される。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、任意選択的に、深度情報を有するユーザの画像をテレビ会議のために得られるように、及び、深度マップデータを有する自撮り画像をキャプチャするために、デバイス100の前面に深度カメラセンサが配置される。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面に、あるいはデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、それにより、深度カメラセンサ175が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又はビデオの取得にも使用される。
【0044】
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗歪ゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報、又は圧力情報の代用物)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)に配置される、又はそれに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
【0045】
また、デバイス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をオフにして無効化する。
【0046】
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。
図1Aは、I/Oサブシステム106内の触感フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを含む。接触強度センサ165は、触知フィードバック生成命令を触感フィードバックモジュール133から受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
【0047】
また、デバイス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又は他のグローバルナビゲーションシステム)受信部を任意選択的に含む。
【0048】
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、
図1A及び
図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力制御デバイス116から取得した情報を含むセンサ状態、及び、デバイスの位置及び/又は姿勢に関する位置情報のうちの1つ以上を含む。
【0049】
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorksなどの組込み型オペレーティングシステム)は、全般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【0050】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIREなど)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ、若しくは同様の、及び/又はそれと互換性のあるマルチピン(例えば、30ピン)コネクタである。
【0051】
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と連携して)タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指ダウンイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指アップイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表現される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0052】
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するために(例えば、ユーザがアイコン上で「クリック」したか否かを判定するために)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変更することなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく、広範囲の既定閾値のうちのいずれかに設定することができる。加えて、いくつかの実装では、デバイスのユーザに、(例えば、個々の強度閾値を調整することによって、及び/又は、システムレベルのクリック「強度」パラメータにより、複数の強度閾値を一度に調整することによって)強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される。
【0053】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
【0054】
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、「グラフィック」という用語は、それだけに限定されるものではないが、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
【0055】
いくつかの実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
【0056】
触覚フィードバックモジュール133は、触知出力生成器167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、触知出力生成器167は、ユーザのデバイス100との対話に応じて、デバイス100上の1つ以上の位置での触知出力を生成する。
【0057】
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)内でテキストを入力するためのソフトキーボードを提供する。
【0058】
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138に、写真/ビデオのメタデータとしてカメラ143に、及び、気象ウィジェット、地域の職業別電話帳ウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションに)提供する。
【0059】
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)、又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(Instant messaging、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。
【0060】
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0061】
連絡先モジュール137は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に使用されて、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶された)アドレス帳又は連絡先リストを管理し、この管理には、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始する、及び/又は容易にすること、などが含まれる。
【0062】
電話モジュール138は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、対応する電話番号のダイヤル、会話の実行、並びに会話終了時に接続を切断する、又は電話を切るために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用する。
【0063】
テレビ会議モジュール139は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの指示に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
【0064】
電子メールクライアントモジュール140は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
【0065】
インスタントメッセージングモジュール141は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)対応するインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書で使用するとき、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)、及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
【0066】
トレーニングサポートモジュール142は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼の目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示し、記憶し、及び送信するための実行可能な命令を含む。
【0067】
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(ビデオストリームを含む)ビデオをキャプチャしてメモリ102内に記憶し、静止画像若しくはビデオの特性を修正し、又はメモリ102からの静止画像若しくはビデオを削除するための実行可能な命令を含む。
【0068】
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくはビデオを配置し、修正(例えば、編集)し、又はその他の方法で操作し、ラベル付けし、削除し、(例えば、デジタルスライドショー若しくはアルバムにおいて)提示する、及び記憶するための実行可能な命令を含む。
【0069】
ブラウザモジュール147は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索し、リンク付けし、受信し、及び表示することを含む、ユーザの指示に従ってインターネットをブラウジングするための実行可能な命令を含む。
【0070】
カレンダーモジュール148は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの指示に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダーエントリ、to-doリストなど)を作成し、表示し、修正し、及び記憶するための実行可能な命令を含む。
【0071】
ウィジェットモジュール149は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、目覚まし時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されたミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
【0072】
ウィジェットクリエータモジュール150は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットに変える)ために、ユーザによって使用される。
【0073】
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内のテキスト、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索するための実行可能な命令を含む。
【0074】
ビデオ及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びにビデオを(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
【0075】
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従って、メモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
【0076】
地図モジュール154は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転の方向、特定の場所又はその付近の店舗及び他の見どころのデータ、並びに他の位置ベースのデータ)を受信し、表示し、修正し、及び記憶するために使用される。
【0077】
オンラインビデオモジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが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」に見出すことができる。
【0078】
上記で特定されたモジュール及びアプリケーションのそれぞれは、前述した1つ以上の機能を実行する実行可能な命令のセット及び本出願に記載した方法(例えば、コンピュータにより実装される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は別の方法で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、
図1Aのビデオ及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0079】
いくつかの実施形態では、デバイス100は、そのデバイス上の所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100の動作に関する主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
【0080】
タッチスクリーン及び/又はタッチパッドのみを介して実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
【0081】
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、イベントソータ170(例えば、オペレーティングシステム126内)、及び対応するアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)を含む。
【0082】
イベントソータ170は、イベント情報を受信し、イベント情報を配信するアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
【0083】
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている、又は表示する準備ができていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
【0084】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112でのユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0085】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る、及び/又は所定の持続時間を超える入力を受ける)があるときのみ、イベント情報を送信する。
【0086】
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0087】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示しているときに、サブイベントが1つ以上のビュー内のどこで起きたかを判定するための、ソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及びユーザがディスプレイ上で見ることができる他の要素から構成される。
【0088】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する最初のタッチのヒットビューに少なくとも部分的に基づいて判定される。
【0089】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に編成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとしてのヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントのシーケンスにおける第1のサブイベント)が発生する最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、通常、ヒットビューとして特定されたタッチ又は入力ソースと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
【0090】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含む全てのビューがアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられたエリアに完全に限定されたとしても、階層内の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
【0091】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、対応するイベント受信部182によって取得されるイベント情報をイベントキューに記憶する。
【0092】
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102内に記憶されている別のモジュールの一部分である。
【0093】
いくつかの実施形態では、アプリケーション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は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。あるいは、アプリケーションビュー191のうちの1つ以上が、1つ以上の対応するイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上も、対応するアプリケーションビュー191に含まれる。
【0094】
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットを含む。
【0095】
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた、任意選択的に、サブイベントの速さ及び方向を含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
【0096】
イベント比較部184は、イベント情報を所定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187-1)及びイベント2(187-2)などのイベントの定義(例えば、サブイベントの所定のシーケンス)を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
【0097】
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示された各オブジェクトが、対応するイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、サブイベント及びヒットテストをトリガするオブジェクトに関連付けられたイベント処理部を選択する。
【0098】
いくつかの実施形態では、それぞれのイベント187の定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか、又は対応しないかが判定されるまで、イベント情報の伝送を遅らせる、遅延アクションも含む。
【0099】
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントを追跡及び処理し続ける。
【0100】
いくつかの実施形態では、それぞれのイベント認識部180は、構成可能なプロパティ、フラグ、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行すべきかを示すリスト、を有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はイベント認識部が互いにどのように対話するか、若しくはイベント認識部が互いにどのように対話することが可能となるかを示すリスト、を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層若しくはプログラム階層における多様なレベルに配信されるか否かを示すリスト、を含む。
【0101】
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、所定の処理を実行する。
【0102】
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
【0103】
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新し、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成する、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
【0104】
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含む、又はそれらへのアクセスができる。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0105】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、それらの全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若又は保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
【0106】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には縮尺通りに描かれていない)又は1つ以上のスタイラス203(図には縮尺通りに描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断した場合に生じる。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/又は下向きに)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上向きに及び/又は下向きに)を、任意選択的に含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択しない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に選択しない。
【0107】
デバイス100は、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンもまた含む。前述したように、メニューボタン204は、任意選択的に、デバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されたGUI内のソフトキーとして実装される。
【0108】
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするためのプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除処理を開始するために、使用される。代替の実施形態では、デバイス100は、マイクロフォン113を介して、いくつかの機能をアクティブ化又は非アクティブ化するための口頭入力もまた受け入れる。デバイス100は、任意選択的に、タッチスクリーン112上の接触の強度を検出するための1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器167もまた含む。
【0109】
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、通常、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を備える入出力(I/O)インタフェース330を含み、ディスプレイ340は、通常、タッチスクリーンディスプレイである。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は、任意選択的に、これらのモジュールを記憶しない。
【0110】
図3の上記で特定された要素のそれぞれは、任意選択的に、前述したメモリデバイスのうちの1つ以上に記憶される。上記で特定されたモジュールはそれぞれ、前述した機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットが、任意選択的に組み合わされ、又は他の方法で再構成される。いくつかの実施形態では、メモリ370は、上記で特定されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0111】
次に、任意選択的に、例えばポータブル多機能デバイス100に実装されるユーザインタフェースの実施形態に注意を向ける。
【0112】
図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。
【0113】
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0114】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を有するデバイス(例えば、
図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対して触知出力を生成するための1つ以上の触知出力生成器357を含む。
【0115】
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112上の入力(タッチ感知面及びディスプレイが組み合わされている場合)を参照して与えられるが、いくつかの実施形態では、デバイスは、
図4Bに示すように、ディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、
図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、
図4Bの453)に対応する1次軸(例えば、
図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、
図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、
図4Bの460及び462)を検出する。このようにして、タッチ感知面がディスプレイとは別個であるとき、タッチ感知面(例えば、
図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの移動)は、多機能デバイスのディスプレイ(例えば、
図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【0116】
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられる一方、いくつかの実施形態では、指入力のうちの1つ以上が、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに、)マウスクリックと置き換えられ、その後に(例えば、接触の移動の代わりに)スワイプの経路に沿ったカーソルの移動が行われる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置上に位置する間は、(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)マウスクリックによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用される、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【0117】
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、
図1A~
図4B)に関して説明された特徴のうちのいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下ではタッチスクリーン504、を有する。タッチスクリーン504の代わりに、又はタッチスクリーン504に加えて、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチ(複数)に、その強度に基づいて応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
【0118】
タッチ強度を検出し処理するための例示的な技法は、例えば、それぞれ全体が参照により本明細書に組み込まれる関連出願である、国際公開第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際公開第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」に見出される。
【0119】
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的であり得る。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、眼鏡類、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
【0120】
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、
図1A、
図1B、及び
図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、連絡先強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信するための通信ユニット530と接続することができる。デバイス500は、入力機構506及び/又は入力機構508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押し下げ可能かつ回転可能な入力デバイスである。いくつかの実施例では、入力機構508は、任意選択的にボタンである。
【0121】
いくつかの実施例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はそれらの組み合わせなどの様々なセンサを含み、それらの全ては、I/Oセクション514に動作可能に接続することができる。
【0122】
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶する、1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されたときに、例えば、コンピュータプロセッサに、処理700(
図7)を含む、後述される技法を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それらに限定されるものではないが、磁気的、光学的、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの永続ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、
図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
【0123】
本明細書で使用するとき、「アフォーダンス」という用語は、任意選択的に、デバイス100、300、及び/又は500(
図1A、
図3、及び
図5A~
図5B)のディスプレイスクリーンに表示されるユーザ対話グラフィックユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
【0124】
本明細書で使用するとき、「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、入力(例えば、押圧入力)がタッチ感知面(例えば、
図3のタッチパッド355又は
図4Bのタッチ感知面451)上で検出されたとき、特定のユーザインタフェース要素は、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を可能にするタッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112、又は
図4Aのタッチスクリーン112)を含むいくつかの実装では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置で入力(例えば、接触による押圧入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによって)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動され、これらの実装では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる具体的な形態にかかわらず、フォーカスセレクタは、一般に、ユーザが意図するユーザインタフェースとの対話について(例えば、ユーザがそれを通じて対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)伝えるために、ユーザによって制御されるユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
【0125】
本明細書及び特許請求の範囲において使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、所定の数の強度サンプル、すなわち、所定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)に関連して所定の時間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大値の2分の1の値、接触の強度の最大値の90パーセントの値などのうちの1つ以上に基づく。一部の実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。一部の実施形態では、特性強度は、ユーザによって動作が実行されたか否かを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を上回るが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するか、それとも第2の動作を実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するか、それともそれぞれの動作を実行するのを見送るか)を判定するために使用される。
【0126】
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始位置から遷移して終了位置に到達し、そのポイントで接触の強度が増大している、連続するスワイプ接触を受信する。この例では、終了位置での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了位置の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触強度の幅の狭いスパイク又は下落を排除する。
【0127】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。一部の実施形態では、軽い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。一部の実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、且つ、それを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、タッチ感知面上の接触の移動に従い、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、フォーカスセレクタを移動させる。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェースの図の様々なセットの間で一貫している。
【0128】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」の入力と呼ばれることがある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
【0129】
本明細書に記載するいくつかの実施形態では、それぞれの押圧入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押圧入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押圧入力は、押圧入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに、少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、対応する接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る対応する接触の強度の増大、及びそれに続く押圧入力強度閾値を下回る接触の強度の減少を含み、対応する動作は、それに続く押圧入力閾値を下回る対応する接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)を検出したことに応じて実行される。
【0130】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低い、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくはなんらかの妥当な割合である)。したがって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る対応する接触の強度の増大、及びそれに続く押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応する動作は、それに続くヒステリシス強度閾値を下回る対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)を検出したことに応じて実行される。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、対応する動作は、押圧入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
【0131】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又は押圧入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるものとして動作が説明される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、且つそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
【0132】
ここで、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連付けられた処理の実施形態に注意を向ける。
【0133】
図6A~
図6Iは、いくつかの実施形態に係る、層状構造を用いたカードの表現の例を示す。これらの図は、
図7の処理を含む、後述の処理を例示するために使用される。
【0134】
図6Aは、カード606の表現のための層状構造を示す。いくつかの実施形態では、カード606の表現は、5つの層608a~608eを含む。第1の層608aは、カード606の表現の他の層の後ろに表示される背景層である。いくつかの実施形態では、第1の層608aは、単一の(例えば、均一な)色である。いくつかの実施形態では、第1の層608aは、色のグラデーションを含む。いくつかの実施形態では、第1の層608aは、画像を含む。いくつかの実施形態では、第1の層608aは、視覚効果(例えば、動き、移動、アニメーション)を含まない静的層である。
【0135】
第2の層608bは、第1の層608aの上に表示される。
図6Aに示されるように、第2の層608bは、アセット610b(例えば、星の画像)を割り当てられる。いくつかの実施形態では、第2の層608bに割り当てられたアセット610bは、それらに適用される視覚効果を有する(例えば、星がきらめいて見える)。いくつかの実施形態では、アセット610bに適用される視覚効果は、他の層に割り当てられたアセットに適用される視覚効果とは異なる。
【0136】
第3の層608cは、第1の層608a及び第2の層608bの上に表示される。
図6Aに示されるように、第3の層608cは、アセット610c(例えば、船の画像)を割り当てられる。各層に異なるアセットを割り当てることにより、各層に割り当てられたアセットを互いに重畳して表示することができる(例えば、第3の層608cに割り当てられた船の画像は、第2の層608bに割り当てられた星の画像と重畳して表示される)。例えば、第3の層608cに割り当てられた船の画像は、第2の層608bに割り当てられた開始部分の表示を任意選択的に妨害する。いくつかの実施形態では、第3の層608cに割り当てられたアセット610cは、それに適用される視覚効果(例えば、船が上下に動くようなアニメーション及び/又は移動)を有する。いくつかの実施形態では、アセット610cに適用される視覚効果は、他の層に割り当てられたアセットに適用される視覚効果とは異なる。
【0137】
第4の層608dは、第1、第2、及び第3の層608a~608cの上に表示される。
図6Aに示されるように、第4の層608dは、アセット610d(例えば、まんがキャラクタの画像)を割り当てられる。いくつかの実施形態では、第4の層608dに割り当てられたアセット610dは、それに適用される視覚効果を有する(例えば、まんがキャラクタが異なるポーズ間でアニメーションする)。いくつかの実施形態では、アセット610dに適用される視覚効果は、他の層に割り当てられたアセットに適用される視覚効果とは異なる。
【0138】
第5の層608eは、第1、第2、第3、及び第4の層608a~608dの上に表示される。
図6Aに示されるように、第5の層608eは、アセット610e(例えば、カード606の表現(例えば、「アミューズメントパーク」)と関連付けられたサービスプロバイダを説明するテキスト)、及びカード606の表現(例えば、「Amy」)と関連付けられた識別情報を割り当てられる。いくつかの実施形態では、第5の層608eは、視覚効果を含まない静的層である。他の層の上の第5の層608eに割り当てられたアセット610eを表示することによって、カード606の表現を表示する際に、アセット610eは常に見えている(他の下位層の任意のアセットによって妨げられない)。
【0139】
いくつかの実施形態では、動的データ構造(例えば、動的JSONオブジェクト)を使用して、色、アセット、及びテキストを対応する層に割り当てる。いくつかの実施形態では、動的データ構造はまた、視覚効果をアセットに割り当てるために使用される。例えば、動的データ構造は、第1の層608aに割り当てられる色、(例えば、星の画像のサイズ及び/又は位置を特定する)第2のアセット610bとして第2の層608bに割り当てられる第1の画像ファイル(例えば、星の画像)、第3のアセット610cとして第3の層608cに割り当てられる第2の画像ファイル(例えば、船の画像)、第4のアセット610dとして第4の層608dに割り当てられる第3の画像ファイル(例えば、まんがキャラクタの画像)、並びにアセット610eとして第5の層608eに割り当てられるテキスト、を指定する。視覚効果を有する層に対して、動的データ構造はまた、アセットに適用される視覚効果を指定する。このようにして、カード606の表現の視覚的特徴は、異なるサービスプロバイダ及び/又はユーザと共に使用するための容易に再構成可能なフォーマットで記憶することができる。
【0140】
いくつかの実施形態では、動的データ構造は、カード606の表現の属性、及びそれらの属性に関連付けられた値を表すキーバリューペアを含むJSONオブジェクトである。いくつかの実施形態では、JSONオブジェクトは、視差効果がカード606の表現に対して有効化されるか否か(例えば、第2の層608b及び第4の層608dがデバイス600の向きに基づいて反対方向に移動するか否か)を示す値を有する視差効果用のキーを含む。いくつかの実施形態では、背景視差層(例えば、第2の層608b)に位置するアセットの視覚効果(例えば、きらめき)を説明するキーバリューペアが存在する。これらのアセットは、視差効果によって定義される移動に加えて、それら自体の視覚効果(例えば、きらめき)を有し得る。いくつかの実施形態では、視差層の間の層(例えば、第3の層608c)に割り当てられたアセットの視覚効果を説明するキーバリューペアが存在する。いくつかの実施形態では、前景視差層(例えば、第4の層608d)に割り当てられたアセットの視覚効果を説明するキーバリューペアが存在する。これらのアセットは、視差効果によって定義される移動に加えて、独自の視覚効果を有し得る。いくつかの実施形態では、他の全ての層の上(例えば、第5の層608e)に位置するアセットの視覚効果を説明するキーバリューペアが存在する。いくつかの実施形態では、成功したトランザクションに応じて表示される追加のアセットの視覚効果を説明するキーバリューペアが存在する。キーバリューペアを有するJSONオブジェクトとして記載されているが、他の実装では、カードは、上述の特性のうちの1つ以上を表現する変数及び属性を用いた他の方法で表現することができる。
【0141】
図6Bは、ディスプレイ602(例えば、タッチスクリーンディスプレイ)を含むデバイス600を示す。いくつかの実施形態では、デバイス600は、スマートフォンなどのポータブル多機能デバイスである。いくつかの実施形態では、デバイス600は、スマートウォッチなどのウェアラブルデバイスである。
図6Bでは、デバイス600は、カード606の表現を含むユーザインタフェース604を表示する。いくつかの実施形態では、カード606の表現は、サービスプロバイダ(例えば、「アミューズメントパーク」)でパスを使用し又はパスを引き換えるために(例えば、パスリーダ端末に)送信され得るデータと関連付けられたデジタルパスである。いくつかの実施形態では、カード606の表現は、金融アカウント(例えば、バンクアカウント、クレジットカードアカウント、デビットカードアカウント、決済アカウント、及び/又はキャッシュアカウント)と関連付けられている。いくつかの実施形態では、サービスプロバイダは、サービス(例えば、アミューズメントパーク、コンサート会場、メンバーシップを有する商店)へのアクセスを提供するビジネスである。いくつかの実施形態では、サービスプロバイダは、デバイス600及び/又はデバイス600上で実行されているオペレーティングシステムを開発した、及び/又は提供するエンティティ(例えば、ファーストパーティ)とは異なるエンティティ(例えば、会社、サードパーティ)である。いくつかの実施形態では、ユーザインタフェース604は、ベンダーアプリケーション(例えば、サードパーティアプリケーション)、ベンダーウェブサイト(例えば、サードパーティウェブサイト)、又はウォレットアプリケーション(例えば、デバイス600のオペレーティングシステムに含まれるファーストパーティウォレットアプリケーション)用のユーザインタフェースである。いくつかの実施形態では、カード606の表現は、電子チケット、メンバーシップカード、アクセスバッジ、クレジットカード、デビットカード、ストアカード、及び/又は物理的なカードの別のデジタル表現である。
図6Bに示される実施形態では、カード606の表現は、アミューズメントパークと呼ばれる会場へのアクセスを提供するデジタルパスである。
【0142】
図6Bに示されるように、(
図6Aに示される)第1、第2、第3、第4、及び第5の層608a~608eは、互いに重なり合い同時に表示されて、カード606の表現を作成する。層608b~608eにそれぞれ割り当てられたアセット610b~610eは、層が同時に表示されている間、少なくとも部分的に見える。いくつかの実施形態では、第1の層608aに割り当てられた背景色は、他の層の後ろに見える。いくつかの実施形態では、層608b~608eにそれぞれ割り当てられたアセット610b~610eは、様々なサイズのスクリーン上(例えば、ウォッチなどのウェアラブルデバイスのスクリーン上)にカード606の表現を表示するために、異なるサイズにスケーリングすることができる。
【0143】
いくつかの実施形態では、カード606の表現がユーザインタフェース604に表示されている間、視覚効果が、層のサブセットに割り当てられたアセットに適用される。例えば、粒子効果が、他の層に割り当てられたアセットに粒子効果を適用することなく、アセット610bに適用される。いくつかの実施形態では、粒子効果は、挙動成分、密度成分、及び物理成分のうちの1つ以上(例えば、全て)を含む。挙動成分は、アセットが経時的に移動又は変化する方法を定義する。いくつかの実施形態では、挙動成分は、きらめき、落下、開花、上昇、及び/又は(例えば、弧状経路で移動する)流れを含む。密度成分は、割り当てられた層上に現れるアセットのコピー数を定義する。いくつかの実施形態では、密度成分はまた、アセットのサイズを定義する(例えば、より小さいアセットがより高い密度で使用されるため、割り当てられた層上にアセットのより多くのコピーが適合することになる)。物理成分は、アセットの移動に影響を及ぼすシミュレーションされた力を定義する。例えば、シミュレーションされた風力は、(例えば、落下挙動と組み合わされたときに)アセットをより荒く移動させ得る。いくつかの実施形態では、視覚効果の構成要素のそれぞれは、動的データ構造で指定される。動的データ構造により、視覚効果の構成要素、したがってカード606の表現の視覚的外観を、容易に修正することを可能にする。
【0144】
図6Cは、視差効果を表示するデバイス600を示す。視差効果は、第2の層608bに割り当てられたアセット610b(例えば、星の画像)、及び第4の層608dに割り当てられたアセット610d(例えば、まんがキャラクタの画像)に適用される。視差効果は、任意選択的に、カード606の表現の他の層に適用されない。デバイス600が基準点に対して第1の向きに傾けられる(例えば、デバイスがディスプレイ602を見ているユーザに対して右に傾斜される)と、
図6Cの左の図に示されるように、アセット610bは右に移動し、アセット610dは左に移動する。デバイス600が基準点に対して第2の向きに傾けられる(例えば、デバイスがディスプレイ602を見ているユーザに対して左に傾斜される)と、
図6Cの右の図に示されるように、アセット610bは左に移動し、アセット610dは右に移動する。デバイス600が向きを変えても、アセット610c及び610eは静止したままである。基準点に対するデバイス600の向きに基づいて、アセットを反対方向に移動させることによって、カード606の表現に強化された深さ(又は3次元)の外観を与える視差効果が、カード606の表現に適用される。視差効果はまた、カード606の表現が静的オブジェクトではないという視覚的フィードバックをユーザに提供し、それによってカード606の表現がアカウントに対応することをユーザに示す。
【0145】
いくつかの実施形態では、視差効果は、別の視覚効果と併せてアセットに適用される。例えば、視差効果及び粒子効果の両方が、アセット610bに(例えば、同時に)適用される。
【0146】
図6Dは、アセット610bに適用される視覚効果の修正を示す。
図6Dに示されるように、アセット610bに適用されている粒子効果は、アセット610bのより高い密度を表示させるように修正されており、これによりまた、アセット610bのサイズを減少させる(例えば、星の画像がより小さくなり、表示される星がより多くなる)。いくつかの実施形態では、視覚効果は、動的データ構造における視覚効果の構成要素を変更することによって修正される。例えば、粒子効果の密度成分が、高密度に変更される。したがって、カード606の表現の構成は、アセット及び/又は効果の様々な密度レベルを可能にする。
【0147】
図6Eは、層に割り当てられたアセットに対する修正を示す。
図6Eに示されるように、(例えば、
図6Dに示されるような)第2の層608bに割り当てられたアセット610bは、異なるアセット610gに変更される(例えば、星の画像は、花の画像に変更される)。いくつかの実施形態では、アセット610bは、第2の層608bの動的データ構造で指定された画像ファイルを変更することによってアセット610gに変更される(例えば、動的データ構造は、第2の層608bに割り当てられる新しい画像ファイルを参照するように更新される)。
【0148】
図6Fは、カード606の表現の層状構造に追加された追加の第6の層608fを示す。第6の層608fは、トランザクションで使用されているカード606の表現と関連付けられたデータを検出したことに応じて(例えば、デバイス600がパスリーダ端末に近接して保持されるときに)追加される。第6の層608fは、第1、第2、第3、第4、及び第5の層608a~608eの上に表示される。
図6Fに示されるように、第6の層608fは、アセット610f(例えば、ハート形状に配置された星の画像)を割り当てられる。いくつかの実施形態では、追加の視覚効果は、トランザクションを検出したことに応じて(例えば、トランザクションで使用するためのクレデンシャルを送信することに応じて、及び/又はトランザクションを完了することに応じて)、追加の効果を他の層に割り当てられたアセットに適用することなく、(
図6G~
図6Iに関して説明されているように)アセット610fに適用される。いくつかの実施形態では、動的データ構造は、トランザクションが検出されたときに、第6の層608fに追加されるアセット及び/又は視覚効果を指定するために使用される。
【0149】
図6Gは、パスリーダ端末614に近接して保持されているデバイス600を示す。
図6Gでは、デバイス600は、カード606の表現に関連付けられたデータ(例えば、アカウントのクレデンシャル)がデバイス600によってパスリーダ端末614に提供されたこと、及び/又はカード606の表現に関連付けられたデータ(例えば、アカウントのクレデンシャル)がパスリーダ端末614によって受け入れられた(例えば、成功したトランザクションを示す)ことを検出する。いくつかの実施形態では、カード606の表現に関連付けられたデータは、NFC送受信機及び/又は光学スキャンからの信号を介して、デバイス600によって提供される。いくつかの実施形態では、デバイス600によって受信された通信(例えば、リモートサーバからの確認メッセージ)は、バーコード又はQRコードなどのカード606の表現に対応する視覚要素が光学的にスキャンされた(及び任意選択的に、成功したトランザクションによって受け入れられた)ことを示す。いくつかの実施形態では、デバイス600は、デバイス600におけるユーザ入力(例えば、承認、ディスプレイ602上の接触、デバイス600の動き、回転可能な入力デバイスの回転、生体情報若しくは認証(例えば、指紋データ、顔データ、及び/若しくは虹彩データ)、並びに/又はデバイス600上のハードウェアボタンの押圧)を受信したこと(例えば、検出したこと)に応じて、カード606の表現に関連付けられたデータをパスリーダ端末614に提供する。
【0150】
カード606の表現に関連付けられたデータがデバイス600によってパスリーダ端末614に提供されたこと、及び/又はカード606の表現に関連付けられたデータ(例えば、アカウントのクレデンシャル)がパスリーダ端末614によって受け入れられた(例えば、成功したトランザクションを示す)ことを検出した後(例えば、それに応じて)、デバイス600は、他の層に割り当てられたアセットの上に同時に表示される、(
図6Fに示されるような)追加の第6の層608fに割り当てられたアセット610fと共に、カード606の表現を表示する。アセット610fの表示は、カード606の表現と関連付けられたデータがデバイス600によってパスリーダ端末614に提供されたこと、及び/又はカード606の表現に関連付けられたデータがパスリーダ端末614によって受け入れられたことの通知を提供する。いくつかの実施形態では、追加の第6の層608fに割り当てられたアセット610fが表示されるときに(例えば、トランザクションの検出に応じて)、他の層(及びそれらの割り当てられたアセット)は、
図6Gに示されるように、暗く(又は他の方法で非強調)される。
【0151】
いくつかの実施形態では、追加の確認アイコン616(例えば、チェックマークアイコン)もまた、ユーザインタフェース604に表示されて、カード606の表現と関連付けられたデータがデバイス600によってパスリーダ端末614に提供され、及び/又はカード606の表現に関連付けられたデータがパスリーダ端末614によって受け入れられたことを示す。いくつかの実施形態では、カード606の表現に関連付けられたデータがデバイス600によってパスリーダ端末614に提供されたこと、及び/又はカード606の表現に関連付けられたデータがパスリーダ端末614によって受け入れられたことを検出した後(例えば、それに応じて)、デバイス600は、
図6Gのデバイス600のコーナーの周りの波線によって示されるように、触知及び/又は可聴出力を提供する。
【0152】
いくつかの実施形態では、トランザクションを検出したことに応じて、アセット610fに視覚効果が適用される。いくつかの実施形態では、アセット610fに適用される視覚効果は、経路効果である。経路効果は、アセット610fの1つ以上の定義済みの経路を経時的に移動させるように指定する。例えば、
図6G~
図6Iに示されるように、定義済みの経路は、610fのアセットを互いに遠ざけるように移動させて、アセット610fによって形成されるハートのズーム効果を作成する。いくつかの実施形態では、経路効果はまた、経時的なアセットのサイズを定義する(例えば、アセット610fのアセットは、ズーム効果を高めるために定義済みの経路に沿って移動するにつれて大きくなる)。いくつかの実施形態では、経路効果は、動的データ構造で指定される。動的データ構造は、トランザクションが検出されたときに、アセットに適用される視覚効果の容易な修正を可能にする。
【0153】
いくつかの実施形態では、
図6G~
図6Iに示されるように、アセット610fに経路効果が適用されている間に、カード606(及びそれらの割り当てられたアセット)の表現の他の層は、暗い状態から元の輝度に遷移する。これにより、トランザクションがデバイス600によって検出されたことの追加の通知を提供する。トランザクションが検出される前に様々なタイプの視覚フィードバックをユーザに提供することによって(例えば、デバイス600が1つ以上の動きセンサを介して、デバイス600の向きが変化したことを検出するときに視差効果を適用することによって)、かつトランザクションが検出された後に(例えば、それに応じて)(例えば、クレデンシャルを送信すること、及び/又はトランザクションを完了することによって)、デバイス600は、カード606の表現が有効なアカウントに関連付けられていること、及びトランザクションが検出されていること(例えば、安全に実行されていること)の通知をユーザに提供する。
【0154】
図7は、いくつかの実施形態に係る、コンピュータシステムを使用してカードの表現を表示するための方法を示すフロー図である。方法700は、ディスプレイ生成構成要素を有するコンピュータシステム(例えば、100、300、500、及び/又は600)において実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0155】
後述するように、方法700は、カードの表現を表示するための直感的な方法を提供する。この方法は、カードの表現を認識するための、及びカードの表現が真正であることを検証するための、ユーザでの認知負担を軽減し、それによってより効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、ユーザがより速く、より効率的にカードの表現を認識できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
【0156】
方法700では、コンピュータシステム(例えば、600)(例えば、スマートフォン又はスマートウォッチなどのスマートデバイス、モバイルデバイス)は、表示生成構成要素(例えば、602)を介して、カード(例えば、決済カード、アクセスパス)の表現(例えば、606)を含む(例えば、ウォレットアプリケーション用の)ユーザインタフェース(例えば、604)を表示し(702)、ここでカードの表現が、同時に表示される複数の層(例えば、608a~608e)を含む。複数の層は、第1の視覚アセット(例えば、610b)(例えば、第1の層上に使用される画像、星)を有する第1の層(例えば、608b)を含み(704)、及び第2の視覚アセット(例えば、610d)(例えば、第2の層で使用される画像、まんがキャラクタ)を有する第2の層(例えば、608d)を含む(706)。
【0157】
コンピュータシステムは、視覚効果の第1のセットを第2の視覚アセット(例えば、610d)に適用することなく、視覚効果の第1のセット(例えば、アセットの挙動を定義する命令、きらめく星)を第1の視覚アセット(例えば、610b)に適用する(708)。
【0158】
コンピュータシステムは、視覚効果の第1のセットとは異なる、視覚効果の第2のセット(例えば、アセットの挙動を定義する命令、視差移動)を第2の視覚アセット(例えば、610d)に適用する(710)。
【0159】
異なるアセットに、視覚効果の、異なるセットを適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、視覚効果なしのカードの表現が、カードが不正であることを示し得る)。異なるアセットに、視覚効果の、異なるセットを適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0160】
いくつかの実施形態では、動的データ構造(例えば、動的JSONオブジェクト)は、第1の視覚アセットが第1の層に割り当てられ、第2の視覚アセットが第2の層に割り当てられることを指定する。動的データ構造を使用して、どの層に視覚アセットが割り当てられるかを指定することは、カードの表現の外観にわたって追加のコントロールをユーザに提供する。コンピュータシステムの追加のコントロールをユーザに提供することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0161】
いくつかの実施形態では、動的データ構造は、視覚効果の第1のセットが第1の層に割り当てられ、視覚効果の第2のセットが第2の層に割り当てられることを指定する。動的データ構造を使用して、どの層の視覚効果のセットが割り当てられるかを指定することは、カードの表現の外観にわたって追加のコントロールをユーザに提供する。コンピュータシステムの追加のコントロールをユーザに提供することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0162】
いくつかの実施形態では、動的データ構造は、カードの表現(例えば、606)の属性、及びそれらの属性に関連付けられた値を表すキーバリューペアを含むJSONオブジェクトである。いくつかの実施形態では、JSONオブジェクトは、視差効果がカードの表現に対して有効化されるか否か(例えば、第2の層608b及び第4の層608dがデバイス600の向きに基づいて反対方向に移動するか否か)を示す値を有する視差効果のキーを含む。いくつかの実施形態では、背景視差層(例えば、第2の層608b)に位置するアセットの視覚効果(例えば、きらめき)を説明するキーバリューペアが存在する。これらのアセットは、視差効果によって定義される移動に加えて、それら自体の視覚効果(例えば、きらめき)を有し得る。いくつかの実施形態では、視差層の間の層(例えば、第3の層608c)に割り当てられたアセットの視覚効果を説明するキーバリューペアが存在する。いくつかの実施形態では、前景視差層(例えば、第4の層608d)に割り当てられたアセットの視覚効果を説明するキーバリューペアが存在する。これらのアセットは、視差効果によって定義される移動に加えて、独自の視覚効果を有し得る。いくつかの実施形態では、他の全ての層の上(例えば、第5の層608e)に位置するアセットの視覚効果を説明するキーバリューペアが存在する。いくつかの実施形態では、成功したトランザクションに応じて表示される追加のアセットの視覚効果を説明するキーバリューペアが存在する。キーバリューペアを有するJSONオブジェクトとして記載されているが、他の実装では、カードは、上述の特性のうちの1つ以上を表現する変数及び属性を用いた他の方法で表現することができる。
【0163】
いくつかの実施形態では、視覚効果の第2のセット(例えば、視差移動)が、第1の視覚アセット(例えば、610b)に適用される。異なるアセットに、視覚効果の、異なるセットを適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、視覚効果なしのカードの表現が、カードが不正であることを示し得る)。異なるアセットに、視覚効果の、異なるセットを適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0164】
いくつかの実施形態では、視覚効果の第2のセットは、視覚効果の第1のセットのサブセットである(例えば、視覚効果の第1及び第2のセットの両方が、第1のアセット(例えば、610b)に適用される)。異なるアセットに、視覚効果の、異なるセットを適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、視覚効果なしのカードの表現が、カードが不正であることを示し得る)。異なるアセットに、視覚効果の、異なるセットを適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0165】
いくつかの実施形態では、視覚効果の第1のセットは、視覚アセットのアニメーション化された視覚的特徴を指定する粒子効果を含む。特定のアセットに粒子効果を適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、粒子効果なしのカードの表現が、カードが不正であることを示し得る)。特定のアセットに粒子効果を適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0166】
いくつかの実施形態では、粒子効果は、挙動成分(例えば、アセットの移動のスタイルである、きらめき、落下、開花、上昇、及び/又は(例えば、弧状経路で移動する)流れ)、密度成分(例えば、割り当てられた層の一部として現れるアセットのコピー数)のうちの少なくとも1つを含む。いくつかの実施形態では、密度成分はまた、アセットのサイズ(例えば、より小さいアセットがより高い密度で使用されるため、アセットのより多くのコピーが割り当てられた層に適合することになる)、又は物理成分(例えば、アセット(例えば、風)の移動に影響を及ぼすシミュレーションされた力)を定義する。特定のアセットに対する挙動、密度、及び/又は物理成分と共に粒子効果を適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、粒子効果なしのカードの表現が、カードが不正であることを示し得る)。特定のアセットに対する挙動、密度、及び/又は物理成分と共に粒子効果を適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0167】
いくつかの実施形態では、視覚効果の第2のセットは、(例えば、
図6Cに示されるように)視差効果を含み、コンピュータシステムは、複数の層のサブセットに割り当てられた視覚アセットに視差効果を適用する(例えば、視差は、第2の層608b及び第4の層608dに割り当てられたアセットに適用される)。特定のアセットに視差効果を適用することは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、視差効果なしのカードの表現が、カードが不正であることを示し得る)。特定のアセットに視差効果を適用することはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0168】
いくつかの実施形態では、複数の層のサブセットに割り当てられた視覚アセットは、少なくとも第2の視覚アセット(例えば、610b)を含む。いくつかの実施形態では、視差効果を適用することは、カード(例えば、606)の表現を表示している間に、表示生成構成要素(例えば、602)の向きの変化を検出することを含む。いくつかの実施形態では、向きの変化が第1の向きにであることの判定に従って、コンピュータシステムは、第2の視覚アセット(例えば、610b)を第1の方向に移動させ、第2の視覚アセットとは異なる少なくとも1つの視覚アセット(例えば、610d)を、(例えば、
図6Cの左側に示されるように)第1の方向とは反対の第2の方向に移動させる。いくつかの実施形態では、向きの変化が第2の向きにであることの判定に従って、コンピュータシステムは、第2の視覚アセット(例えば、610b)を第2の方向に移動させ、第2の視覚アセットとは異なる少なくとも1つの視覚アセット(例えば、610d)を、(例えば、
図6Dの左側に示されるように)第2の方向とは反対の第1の方向に移動させる。視差効果と共に反対方向に特定のアセットを移動させることは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する(例えば、視差効果なしのカードの表現が、カードが不正であることを示し得る)。視差効果と共に反対方向に特定のアセットを移動させることはまた、カードの表現をコピーすることを困難にすることによって、セキュリティを強化する。改善された視覚的フィードバックをユーザに提供し、セキュリティを強化することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0169】
いくつかの実施形態では、複数の層のうちの少なくとも1つの層(例えば、608e)(例えば、上位層)は、少なくとも1つの視覚アセット(例えば、610e)(例えば、会社ロゴ及び/又はユーザの名前)を含む。いくつかの実施形態では、少なくとも1つの層は、少なくとも1つの層に割り当てられた視覚アセットに適用される視覚効果なしに表示される(例えば、少なくとも1つの層上のアセットに適用されるアニメーションなし、移動なし、及び/又は他の視覚効果なしで、少なくとも1つの層上の視覚アセットが、他の層のアセットの上に静的に表示される)。少なくとも1つの層に視覚効果を適用しないことは、カードの表現が真正であることの視覚的フィードバックをユーザに提供する。少なくとも1つの層に視覚効果を適用しないことはまた、少なくとも層上に含まれるテキスト又は他の視覚アセットの視認性を向上し、カードの表現を見る際のユーザエクスペリエンスを向上させる。改善された視覚的フィードバックをユーザに提供することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0170】
いくつかの実施形態では、コンピュータシステムは、カードの表現(例えば、606)と関連付けられたデータが使用されてトランザクションを完了した(例えば、デバイス600がパスリーダ614に近接して保持され、データがトランザクションに対して正常に転送及び検証された)ことを検出する(712)。いくつかの実施形態では、カードの表現と関連付けられたデータが使用されてトランザクションを完了したことを検出することに応じて、コンピュータシステムは、追加の層(例えば、608f)と共にカードの表現を表示し(714)、ここで、追加の層に追加の視覚アセット(例えば、610f)(例えば、(例えば、スマイリーフェイス、ハート)形状に配置された1つ以上の画像)が割り当てられる。いくつかの実施形態では、カードの表現を表示する要求が受信される。いくつかの実施形態では、カードの表現を表示する要求がトランザクションの完了に対応するという判定に従って、コンピュータシステムは、追加の層と共にカードの表現を表示する。いくつかの実施形態では、カードの表現を表示する要求がトランザクションの完了に対応しないという判定に従って、コンピュータシステムは、追加の層なしでカードの表現を表示する。トランザクションを完了することに応じて追加の視覚アセットを有する追加の層を表示することは、カードに対応するデータが正常に提供された(例えば、パスリーダに正常に送信された)ことを確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0171】
いくつかの実施形態では、カードの表現(例えば、606)と関連付けられたデータが使用されてトランザクションを完了したことを検出することに応じて、コンピュータシステムは、視覚効果の第3のセットを第1及び第2の視覚アセット(例えば、610b及び610d)に適用することなく、視覚効果の第3のセット(例えば、アニメーション化されたズーム効果)を追加の視覚アセット(例えば、610f)に適用する。いくつかの実施形態では、カードの表現を表示する要求が受信される。いくつかの実施形態では、カードの表現を表示する要求がトランザクションの完了に対応するという判定に従って、コンピュータシステムは、追加の層と共にカードの表現を表示し、視覚効果の第3のセットを追加のアセットに適用する。いくつかの実施形態では、カードの表現を表示する要求がトランザクションの完了に対応しないという判定に従って、コンピュータシステムは、追加の層なしでカードの表現を表示し、及び/又は視覚効果の第3のセットを追加のアセットに適用する。トランザクションを完了したことに応じて、視覚効果の第3のセットを追加のアセットに適用することは、カードに対応するデータが正常に提供された(例えば、パスリーダに正常に送信された)ことを確認する視覚的フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0172】
いくつかの実施形態では、視覚効果の第3のセットは、追加の視覚アセット(例えば、610f)を経時的に移動させるための定義済みの経路を指定する経路効果を含む。トランザクションを完了したことに応じて、経路効果を追加のアセットに適用することは、カードに対応するデータが正常に提供された(例えば、パスリーダ端末に正常に送信された)ことを確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0173】
いくつかの実施形態では、追加の視覚アセット(例えば、610f)の用の定義済みの経路は、ズーム効果を作成する経路である(例えば、追加のアセットは他のアセットから離れて移動し、及び/又はアセットが経路に沿って経時的に移動するにつれて追加のアセットが拡大される)。トランザクションを完了したことに応じて、ズーム効果を追加のアセットに適用することは、カードに対応するデータが正常に提供された(例えば、パスリーダ端末に正常に送信された)ことを確認する視覚的フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0174】
いくつかの実施形態では、動的データ構造(例えば、動的JSONオブジェクト)は、定義済みの経路が追加の視覚アセット(例えば、610f)に割り当てられることを指定する。動的データ構造を使用して、定義済みの経路が追加のアセットに割り当てられることを指定することは、カードの表現の外観にわたって追加のコントロールをユーザに提供する。コンピュータシステムの追加のコントロールをユーザに提供することは、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより迅速かつ効率的に使用できるようにすることによって、電力使用量を削減し、コンピュータシステムのバッテリ寿命を改善する。
【0175】
いくつかの実施形態では、追加の層(例えば、608f)は、複数の層の上に表示される(例えば、追加の層上のアセットは、ディスプレイ上の同じ場所に表示される下位層上のアセットの表示を少なくとも部分的にブロックする)。トランザクションを完了することに応じて他の層の上に追加の層を表示することは、カードに対応するデータが正常に提供された(例えば、パスリーダ端末に正常に送信された)ことを確認する視覚的フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0176】
いくつかの実施形態では、カードの表現(例えば、606)と関連付けられたデータが使用されてトランザクションを完了したことを検出することに応じて、コンピュータシステムは、暗くされた状態で複数の層(例えば、608a~608e)の各層に割り当てられた視覚アセット(例えば、610b~610e)を表示する。いくつかの実施形態では、複数の層に割り当てられたアセットは、暗くされた状態からそれらの元の輝度に経時的に遷移する。トランザクションを完了したことに応じて暗くされた状態でアセットを表示することは、カードに対応するデータが正常に提供された(例えば、パスリーダ端末に正常に送信された)ことを確認する視覚的フィードバックをユーザに提供する。改善された視覚フィードバックを提供することは、コンピュータシステムの操作性が向上し、(例えば、コンピュータシステムを操作する/コンピュータシステムと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザデバイスインタフェースがより効率的になり、これにより更に、ユーザがデバイスをより素早くかつ効率的に使用可能になることによって、コンピュータシステムの電力使用量が削減されバッテリ寿命が改善される。
【0177】
いくつかの実施形態では、コンピュータシステムは、視覚アセットを表示する要求を受信し、表示生成構成要素の特性(例えば、サイズ及び/又は解像度)が決定される。いくつかの実施形態では、第1の特性(例えば、第1のディスプレイサイズ及び/又は第1の解像度、スマートフォンディスプレイ)である特性に従って、コンピュータシステムは、第1のサイズで視覚アセットを表示する。いくつかの実施形態では、第1の特性とは異なる第2の特性(例えば、第2のディスプレイサイズ及び/又は第2の解像度、ウォッチディスプレイ)である特性に従って、コンピュータシステムは、第1のサイズとは異なる第2のサイズで視覚アセットを表示する(例えば、アセットは、ディスプレイのサイズに基づいてスケーリングされる)。
【0178】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本技法の原理、及びそれらの実際の適用を最も良く説明するために、実施形態が選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技法及び様々な実施形態を最も良好に利用することが可能となる。
【0179】
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
【0180】
上述したように、本技術の一態様は、様々なソースから利用可能なデータを収集及び使用して、トランザクションのために、カードの表現を表示し、カードに関連付けられたデータを使用することである。本開示は、いくつかの例において、この収集されたデータが、特定の人を一意的に特定する個人情報データ、又は特定の人に連絡する、若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを考察する。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康若しくはフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、又は任意の他の特定情報若しくは個人情報を挙げることができる。
【0181】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益のために使用し得る点を認識するものである。例えば、個人情報データを使用して、カードのカスタマイズされた表現を表示することができる。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求する技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【0182】
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守することを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実装し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的且つ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を受けた後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、エンティティのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって統御されることができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、しかるべく対応されるべきである。それゆえ、各国において、異なる個人データのタイプに関して異なるプライバシー慣行が保たれるべきである。
【0183】
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態を想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、カードの表現を表示する場合、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能にするように構成することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
【0184】
更には、本開示の意図は、個人情報データを、非意図的若しくは無許可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションを含めて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルではなく都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)及び/又は他の方法によって、容易にすることができる。
【0185】
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示は、それらの様々な実施形態がまた、そのような個人情報データにアクセスすることを必要とせずに実装されることも可能であることを想到する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、ユーザに関連付けられたデバイスにより要求されたコンテンツ、サービスプロバイダで利用可能な他の非個人情報、若しくは公的に利用可能な情報などの、非個人情報データ又は個人情報の最小限の量のみに基づいて、カードの表現を表示することができる。
[項目1]
方法であって、
表示生成構成要素と通信するコンピュータシステムにおいて、
前記表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示することであって、前記カードの前記表現が、同時に表示される複数の層を含み、前記複数の層が、
第1の視覚アセットを有する第1の層と、
第2の視覚アセットを有する第2の層と、を含む、ことと、
視覚効果の第1のセットを前記第2の視覚アセットに適用することなく、視覚効果の前記第1のセットを前記第1の視覚アセットに適用することと、
視覚効果の前記第1のセットとは異なる、視覚効果の第2のセットを、前記第2の視覚アセットに適用することと、を含む、方法。
[項目2]
動的データ構造が、前記第1の視覚アセットが前記第1の層に割り当てられ、前記第2の視覚アセットが前記第2の層に割り当てられることを指定する、項目1に記載の方法。
[項目3]
前記動的データ構造が、視覚効果の前記第1のセットが前記第1の層に割り当てられ、視覚効果の前記第2のセットが前記第2の層に割り当てられることを指定する、項目2に記載の方法。
[項目4]
視覚効果の前記第2のセットが、前記第1の視覚アセットに適用されている、項目1~3のいずれか一項に記載の方法。
[項目5]
視覚効果の前記第2のセットが、視覚効果の前記第1のセットのサブセットである、項目1~4のいずれか一項に記載の方法。
[項目6]
視覚効果の前記第1のセットが、視覚アセットのアニメーション化された視覚的特徴を指定する粒子効果を含む、項目1~5のいずれか一項に記載の方法。
[項目7]
前記粒子効果が、挙動成分、密度成分、又は物理成分のうちの少なくとも1つを含む、項目6に記載の方法。
[項目8]
視覚効果の前記第2のセットが、視差効果を含み、前記方法が、
前記視差効果を前記複数の層のサブセットに割り当てられた視覚アセットに適用することと、を更に含む、項目1~7のいずれか一項に記載の方法。
[項目9]
前記複数の層の前記サブセットに割り当てられた前記視覚アセットが、少なくとも前記第2の視覚アセットを含み、前記視差効果を適用することが、
前記カードの前記表現を表示している間に、前記表示生成構成要素の向きの変化を検出することと、
前記向きの変化が第1の向きにであることの判定に従って、
前記第2の視覚アセットを第1の方向に移動させることと、
前記第2の視覚アセットとは異なる少なくとも1つの視覚アセットを、前記第1の方向とは反対の第2の方向に移動させることと、
前記向きの変化が第2の向きにであることの判定に従って、
前記第2の視覚アセットを前記第2の方向に移動させることと、
前記第2の視覚アセットとは異なる少なくとも1つの視覚アセットを、前記第2の方向とは反対の前記第1の方向に移動させることと、を含む、項目8に記載の方法。
[項目10]
前記複数の層のうちの少なくとも1つの層が、少なくとも1つの視覚アセットを含み、前記少なくとも1つの層が、前記少なくとも1つの層に割り当てられた視覚アセットに適用される視覚効果なしに表示される、項目1~9のいずれか一項に記載の方法。
[項目11]
前記カードの前記表現と関連付けられたデータが使用されてトランザクションを完了したことを検出することと、
前記カードの前記表現と関連付けられた前記データが使用されて前記トランザクションを完了したことを検出することに応じて、追加の層と共に前記カードの前記表現を表示することであって、前記追加の層に追加の視覚アセットが割り当てられている、ことと、を更に含む、項目1~10のいずれか一項に記載の方法。
[項目12]
前記カードの前記表現と関連付けられた前記データが使用されて前記トランザクションを完了したことを検出することに応じて、視覚効果の第3のセットを前記第1の視覚アセット及び前記第2の視覚アセットに適用することなく、視覚効果の前記第3のセットを前記追加の視覚アセットに適用すること、を更に含む、項目11に記載の方法。
[項目13]
視覚効果の前記第3のセットが、前記追加の視覚アセットを経時的に移動させるための定義済みの経路を指定する経路効果を含む、項目12に記載の方法。
[項目14]
前記追加の視覚アセットのための前記定義済みの経路が、ズーム効果を作成する経路である、項目13に記載の方法。
[項目15]
動的データ構造が、前記定義済みの経路が前記追加の視覚アセットに割り当てられることを指定する、項目13又は14に記載の方法。
[項目16]
前記追加の層が、前記複数の層の上に表示される、項目11~15のいずれか一項に記載の方法。
[項目17]
前記カードの前記表現と関連付けられた前記データが使用されて前記トランザクションを完了したことを検出することに応じて、暗くされた状態で前記複数の層の各層に割り当てられた視覚アセットを表示することを更に含む、項目11~16のいずれか一項に記載の方法。
[項目18]
表示生成構成要素と通信するコンピュータシステムの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、項目1~17のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
[項目19]
表示生成構成要素と、
1つ以上のプロセッサと、
を備えるコンピュータシステムであって、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、前記1つ以上のプログラムが、項目1~17のいずれか一項に記載の方法を実行する命令を含む、コンピュータシステム。
[項目20]
表示生成構成要素と、
項目1~17のいずれか一項に記載の方法を実行する手段と、
を備える、コンピュータシステム。
[項目21]
表示生成構成要素と通信するコンピュータシステムの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、
前記表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示し、前記カードの前記表現が、同時に表示される複数の層を含み、前記複数の層が、
第1の視覚アセットを有する第1の層と、
第2の視覚アセットを有する第2の層と、を含み、
視覚効果の第1のセットを前記第2の視覚アセットに適用することなく、視覚効果の前記第1のセットを前記第1の視覚アセットに適用し、
視覚効果の前記第1のセットとは異なる、視覚効果の第2のセットを、前記第2の視覚アセットに適用する、命令を含む、非一時的コンピュータ可読記憶媒体。
[項目22]
表示生成構成要素と、
1つ以上のプロセッサと、
を備えるコンピュータシステムであって、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、前記1つ以上のプログラムが、
前記表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示し、前記カードの前記表現が、同時に表示される複数の層を含み、前記複数の層が、
第1の視覚アセットを有する第1の層と、
第2の視覚アセットを有する第2の層と、を含み、
視覚効果の第1のセットを前記第2の視覚アセットに適用することなく、視覚効果の前記第1のセットを前記第1の視覚アセットに適用し、
視覚効果の前記第1のセットとは異なる、視覚効果の第2のセットを、前記第2の視覚アセットに適用する、命令を含む、コンピュータシステム。
[項目23]
表示生成構成要素と、
前記表示生成構成要素を介して、カードの表現を含むユーザインタフェースを表示する手段であって、前記カードの前記表現が、同時に表示される複数の層を含み、前記複数の層が、
第1の視覚アセットを有する第1の層と、
第2の視覚アセットを有する第2の層と、を含む、手段と、
視覚効果の第1のセットを前記第2の視覚アセットに適用することなく、前記視覚効果の前記第1のセットを前記第1の視覚アセットに適用する手段と、
視覚効果の第1のセットとは異なる、視覚効果の第2のセットを、前記第2の視覚アセットに適用する手段と、
を備える、コンピュータシステム。