(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-25
(45)【発行日】2022-05-09
(54)【発明の名称】複数のアプリケーションから受信した通知を表示するためのシステムおよび方法
(51)【国際特許分類】
G06F 3/0481 20220101AFI20220426BHJP
H04M 1/00 20060101ALI20220426BHJP
【FI】
G06F3/0481
H04M1/00 R
【外国語出願】
(21)【出願番号】P 2019234184
(22)【出願日】2019-12-25
(62)【分割の表示】P 2018071908の分割
【原出願日】2012-06-05
【審査請求日】2020-01-14
(32)【優先日】2011-06-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】チャウドリ, イムラン,エー.
(72)【発明者】
【氏名】ブロック, イライザ
【審査官】菅原 浩二
(56)【参考文献】
【文献】米国特許出願公開第2011/0088003(US,A1)
【文献】米国特許出願公開第2010/0146384(US,A1)
【文献】米国特許出願公開第2010/0162169(US,A1)
【文献】米国特許出願公開第2008/0220752(US,A1)
【文献】特表2012-511282(JP,A)
【文献】中国特許出願公開第101625620(CN,A)
【文献】特開平06-202842(JP,A)
【文献】特開2011-043401(JP,A)
【文献】特表2009-521753(JP,A)
【文献】米国特許出願公開第2010/0257490(US,A1)
【文献】米国特許出願公開第2010/0020035(US,A1)
【文献】欧州特許出願公開第02219105(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0481
H04M 1/00
(57)【特許請求の範囲】
【請求項1】
接触感知式ディスプレイを有する電子機器において、
前記電子機器がロック状態であることを検出することと、
前記電子機器上の
第1のアプリケーションから第1の通知を
、前記電子機器上の第2のアプリケーションから第2の通知を受信することと、
ここで前記第1のアプリケーションは前記第2のアプリケーションと異なり、
前記電子機器の前記接触感知式ディスプレイに前記第1の通知
および前記第2の通知を
同時に表示することと、
ここで、表示された前記第1の通知
および前記第2の通知は選択可能であり
、
前記第1の通知
および前記第2の通知を同時に表示しており、かつ前記電子機器が前記ロック状態である間に、前記第1の通知を対象としたユーザ入力を検出することと、
前記第1の通知を対象とした前記ユーザ入力の検出に応答して、かつ前記電子機器が前記ロック状態である間に、
前記第2の通知を同時に表示しながら前記第1の通知に関連付けられた動作を実行することに関連付けられたコントロールを表示することと、
前記電子機器が前記ロック状態であり、かつ前記第1の通知に関連付けられた前記動作を実行することに関連付けられた前記コントロールを表示している間に、前記コントロールを対象とした入力を検出することと、
前記コントロールを対象とした前記入力の検出に応答して、前記第1の通知に関連付けられた前記動作を実行することと、を有する方法。
【請求項2】
前記第1の通知がスヌーズボタンを有し、前記動作が所定時間についてのアラームを停止することを含む、請求項1に記載の方法。
【請求項3】
前記第1の通知が少なくとも1つの埋め込みイメージを有する、請求項1または2に記載の方法。
【請求項4】
前記第1の通知が、時間に基づくトリガーイベントに応答して表示される、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記
第1のアプリケーション
および前記第2のアプリケーションがサードパーティーアプリケーションである、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記第1の通知を対象とした前記ユーザ入力を検出することの後に、スライダーを表示するために前記第1の通知をアニメーション表示することと、
ユーザが前記スライダーをアクティベートしたことを検出することと、
をさらに有する、請求項1から5のいずれか1項に記載の方法。
【請求項7】
プルダウンオプションを表示することと、
前記プルダウンオプションをユーザが選択したことを検出することと、
通知のリストを表示することと、をさらに有し、
前記通知のリストが、先に受信した通知のリストを有し、前記先に受信した通知のリストが、互いに積み重ねられる、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記第2の通知をユーザが選択しなかったことを検出することと、
前記第2の通知を前記通知のリストに追加することと、をさらに有する、請求項7に記載の方法。
【請求項9】
請求項1から8のいずれか1項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納したメモリと、
前記メモリに格納された前記コンピュータプログラムを実行可能な1つ以上のプロセッサと、を有する電子機器。
【請求項11】
請求項1から8のいずれか1項に記載の方法を実行するために手段を有する電子機器。
【請求項12】
前記第2の通知を表示しながら、前記第1の通知に関連付けられた前記動作を実行することに関連付けられ、かつ前記電子機器が前記ロック状態である間に前記第1の通知を対象とした前記ユーザ入力を検出したことに応答して表示される前記コントロールが、前記
第1の通知が含むコンテンツの少なくとも一部と同時に表示される、請求項1から8のいずれか1項に記載の方法。
【請求項13】
前記第2の通知を表示しながら、前記第1の通知に関連付けられた前記動作を実行することに関連付けられ、かつ前記電子機器が前記ロック状態である間に前記第1の通知を対象とした前記ユーザ入力を検出したことに応答して表示される前記コントロールを表示することが、前記
第1の通知が含むコンテンツの少なくとも一部の表示を中止することを含む、請求項1から8および12のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示される実施形態は主に電子機器に関し、特には、複数のアプリケーションから受信した通知を表示する電子機器に関する。
【背景技術】
【0002】
今日のポータブル型電子機器は複数の機能を統合することができる。これらの機器は複数のアプリケーションを実行する能力を有している。特に、これらアプリケーションのいくつかは通知を表示させうるトリガーイベントを生成するであろう。
【0003】
電子機器は多くのアプリケーションを格納できるので、特に、ユーザがアプリケーション固有の通知を見るために個々のアプリケーションにアクセスする必要がある場合には、アプリケーションに基づく通知も多数かつ手に負えなくなる可能性がある。従って、これら通知を整理し、すぐにアクセスできるようにするための、より効率的かつ直感的なアプローチが求められている。
【発明の概要】
【0004】
複数のアプリケーションから受信した通知を表示するためのシステムおよび方法が開示される。電子機器は、グラフィカルユーザインターフェース(GUI)を用いる接触感知式入出力(I/O)デバイス(例えばタッチスクリーン)と、1つ以上のプロセッサと、メモリと、多数の機能を実行するためにメモリに格納される1つ以上のモジュール、プログラム、または命令群とを有することができる。
【0005】
特に、電子機器は、機器がロック状態でもロック解除状態でも様々なタイプの通知を生成するための1つ以上のアプリケーションプログラミングインターフェース(API)と相互作用可能な通知モジュールを含むことができる。さらに、通知モジュールは通知設定をカスタマイズするためのオプションを提供することができる。
【0006】
いくつかの実施形態で通知モジュールは、複数のアプリケーションから受信した通知を監視することができる。通知の受信に応答して、通知モジュールは電子機器がロックまたはロック解除状態で動作している際に通知を表示する方法を制御することができる。いくつかの実施形態で電子機器は、電子機器がロックおよび/またはロック解除状態にある際に通知をどのように表示するかをユーザがカスタマイズすることを可能にする。
【0007】
いくつかの実施形態では、電子機器がロック状態で動作している際、通知モジュールは、受信済みの通知をユーザが見ることを可能にするプルダウンメニューを表示することができる。
【0008】
いくつかの実施形態で通知モジュールは、受信した通知をまとめることができ、まとめた通知を通知センタ内の複数ペインとして提供することができる。従って、通知センタの各ペインは異なるアプリケーションに関連づけることができる。さらに、通知モジュールは異なるアプリケーションから受信した1つ以上の通知に対応するバナーを表示することができる。
【0009】
通知モジュールと相互作用する1つ以上のAPIは、呼び出しプログラムが、呼び出されている他のプログラムコードと1つ以上のインターフェースを通じてやりとりする環境に存在することができる。様々な種類のパラメータを含みうる様々なファンクションコール、メッセージまたは他のタイプの呼び出しが、APIを介して呼び出しプログラムと呼び出されているコードとの間で転送されてよい。さらに、あるAPIは呼び出しプログラムに、そのAPIで定義され、呼び出されるプログラムコードに実装されているデータタイプまたはクラスを用いる能力を提供してもよい。
【0010】
少なくともいくつかの実施形態は、呼び出しソフトウェアコンポーネントが呼び出されるソフトウェアコンポーネントとAPIを通じてやりとりする環境を含む。この環境でAPIを通じて操作する方法は、1つ以上のファンクションコール、メッセージ、および/または他のタイプの呼び出しまたはパラメータを、そのAPIを通じて転送する工程を含む。
【0011】
本発明の上述した態様および他の態様は、以下の詳細な説明を、同様の参照文字が同様の部分を参照する添付図面とともに考察することによってより明らかになるであろう。
【図面の簡単な説明】
【0012】
【
図1】本発明の様々な実施形態に従って構成された電子機器のブロック図である。
【
図2】本発明の様々な実施形態に従って構成された電子機器のブロック図である。
【
図3】本発明の様々な実施形態に係るアプリケーションプログラミングインタフェース(API)アーキテクチャのブロック図である。
【
図4】本発明の様々な実施形態に係るアプリケーションプログラミングインタフェース(API)アーキテクチャのブロック図である。
【
図5】本発明の様々な実施形態に係る電子機器のホーム画面に関連づけられた表示画面を示す図である。
【
図6A】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6B】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6C】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6D】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6E】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6F】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6G】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図6H】本発明の様々な実施形態に係る例示的な通知センターに関連づけられた表示画面を示す図である。
【
図7A】本発明の様々な実施形態に係る例示的なバナーに関する表示画面の図である。
【
図7B】本発明の様々な実施形態に係る例示的なバナーに関する表示画面の図である。
【
図7C】本発明の様々な実施形態に係る例示的なバナーに関する表示画面の図である。
【
図7D】本発明の様々な実施形態に係る例示的なバナーに関する表示画面の図である。
【
図7E】本発明の様々な実施形態に係る例示的なバナーに関する表示画面の図である。
【
図8A】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図8B】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図8C】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図8D】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図8E】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図8F】電子機器がロック状態で動作している際に通知を表示する、本発明の様々な実施形態に係る表示画面の図である。
【
図9A】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図9B】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図9C】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図9D】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図9E】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図9F】本発明の様々な実施形態に係る、通知設定のカスタマイズに関する表示画面の図である。
【
図10A】本発明の様々な実施形態に係る通知に関する表示画面の図である。
【
図10B】本発明の様々な実施形態に係る通知に関する表示画面の図である。
【
図10C】本発明の様々な実施形態に係る通知に関する表示画面の図である。
【
図11】本発明の様々な実施形態に係る、複数の通知の受信に応じてプルダウンオプションを表示するための例示的な処理のフローチャートである。
【
図12】本発明の様々な実施形態に係る、通知センターを表示するための例示的な処理のフローチャートである。
【
図13】本発明の様々な実施形態に係る、バナーを提供するための例示的な処理のフローチャートである。
【
図14】本発明の様々な実施形態に係る、通知設定を提供するための例示的な処理のフローチャートである。
【発明を実施するための形態】
【0013】
複数のアプリケーションから受信した通知を表示するためのシステムおよび方法が提供される。
【0014】
図1は、優先または無線通信チャネル106を通じてコンピューティングシステム104とやりとりするためのタッチ入力を受け付け可能なタッチI/Oデバイス102を含む、電子機器100のブロック図を示す。タッチI/Oデバイス102は、キーボードやマウスなどの他の入力デバイスの代わりに、あるいはそれらと組み合わせて、コンピューティングシステム104にユーザ入力を提供するために用いることができる。コンピューティングシステム104にユーザ入力を提供するために、1つ以上のタッチI/Oデバイス102が用いられてよい。タッチI/Oデバイス102は(例えばノート型コンピュータのタッチスクリーンのような)コンピューティングシステム104の内蔵部品であってもよいし、コンピューティングシステム104と別個であってもよい、
【0015】
タッチI/Oデバイス102は、全体または部分的に透明、半透明、非透明、不透明、またはそれらを任意に組み合わせた状態を有する接触感知式パネルを含んでよい。タッチI/Oデバイス102はタッチスクリーン、タッチパッド、タッチパッドとして機能するタッチスクリーン(例えばノート型コンピュータのタッチパッドを置き換えるタッチスクリーン)、他の入力デバイスと組み合わせられたまたは一体化されたタッチスクリーンまたはタッチパッド(例えばキーボード上に配置されたタッチスクリーンまたはタッチパッド)、またはタッチ入力を受け付けるための接触感知面を有する任意の多次元物体として実施されうる。
【0016】
一例において、タッチスクリーンとして実施されるタッチI/Oデバイス102は、ディスプレイの少なくとも一部の上にその一部または全部が配置された透明および/または半透明の接触感知式パネルを含んでよい。この実施形態によれば、タッチI/Oデバイス102は、コンピューティングシステム104(および/または他のソース)から送信された画像データを表示したり、ユーザ入力を受け付けたりするように機能する。別の実施形態においてタッチI/Oデバイス102は、接触感知部品/デバイスがディスプレイ部品/デバイスと一体化された一体型タッチスクリーンとして実施されてよい。さらに別の実施形態において、タッチスクリーンは主画面と同じ画像データまたは追加画像データを表示する補助または追加表示画面として用いられてもよい。
【0017】
タッチI/Oデバイス102は、自身に対する1つ以上のタッチまたはニアタッチの位置を、容量、抵抗、光学、音響、誘導、機械、化学測定、またはタッチI/Oデバイス102の近傍における1つ以上のタッチやニアタッチの発生に関して測定可能な任意の現象に基づいて検出するように構成されてよい。1つ以上のジェスチャを特定し追跡するために、検出されたタッチの測定結果を、ソフトウェア、ハードウェア、ファームウェアまたはそれらの組み合わせを用いて処理することができる。ジェスチャは、タッチI/Oデバイス102上の移動しない、あるいは移動する、1つまたは多数の、タッチまたはニアタッチに対応してよい。ジェスチャは1つ以上の指または他の物体を、実質的に同時に、続けて、あるいは継続して、タップしたり、押しつけたり、揺り動かしたり、こすったり、ひねったり、向きを変えたり、圧力を変えながら押しつけたり、といった特定の方法でタッチI/Oデバイス102上で動かすことによって実施されてよい。ジェスチャは他の1つ以上の指との間のピンチ、スライド、スワイプ、回転、曲げ(flex)、ドラッグ、またはタッピング動作によって特徴付けられてよいが、これらに限定されない。1つのジェスチャは1つ以上の手で、1人以上のユーザによって、またはそれらの組み合わせによって実行されてもよい。
【0018】
コンピューティングシステム104はグラフィカルユーザインターフェース(GUI)を表示するため、画像データを用いてディスプレイを駆動することができる。GUIはタッチI/Oデバイス102を通じてタッチ入力を受け付けるように構成されてよい。タッチスクリーンとして実施される場合、タッチI/Oデバイス102はGUIを表示してもよい。あるいは、GUIはタッチI/Oデバイス102とは別個のディスプレイに表示されてもよい。GUIはインターフェース内の特定の位置に表示される画像要素を含んでよい。画像要素は、仮想スクロールホイール、仮想キーボード、仮想ノブ、仮想ボタン、任意の仮想UIなどの、様々な表示される仮想入力デバイスを含むことができるが、これらに限定されない。ユーザはタッチI/Oデバイス102のGUIの画像要素に関連づけられてよい1つ以上の特定の位置でジェスチャを行うことができる。別の実施形態では、ユーザはGUIの画像要素とは関係ない1つ以上の位置でジェスチャを行ってもよい。タッチI/Oデバイス102で行われたジェスチャは、GUI内のカーソル、アイコン、メディアファイル、リスト、テキスト、画像の全体または一部などを、直接的または間接的に操作、制御、変更、移動、作動、開始したり、一般的に影響を与えたりすることができる。例えば、タッチスクリーンの場合、ユーザはタッチスクリーン上の画像要素の上でジェスチャを行うことにより、その画像要素と直接やりとりすることができる。代わりに、タッチパッドは一般に間接的なやりとりを提供する。ジェスチャはまた、(例えばユーザインターフェースを表示させるGUI要素のような)表示されていないGUI要素に影響を与えてもよいし、(例えばGUI、アプリケーション、OSの状態やモードに影響を与えるような)コンピューティングシステム104内の他の動作に影響を与えてもよい。ジェスチャは、表示されているカーソルと併用してタッチI/Oデバイス102上で実行されてもよいし、されなくてもよい。例えば、ジェスチャがタッチパッド上で行われた場合、カーソル(またはポインタ)がディスプレイ画面またはタッチスクリーンに表示されてよく、また、ディスプレイ画面上の画像要素とやりとりするためにそのカーソルがタッチパッド上のタッチ入力を通じて制御されてもよい。タッチスクリーン上で直接ジェスチャが行われる別の実施形態では、ユーザはタッチスクリーン上に表示されているカーソルやポインタを用いて、あるいは用いずに、タッチスクリーン上のオブジェクトと直接やりとりすることができる。
【0019】
タッチI/Oデバイス102上でのタッチまたはニアタッチに応答して、あるいは基づいて、フィードバックが通信チャネル106を通じて提供されてよい。フィードバックは、光学的、機械的、電気的、嗅覚的、聴覚的等もしくはそれらの任意の組み合わせによって、変化する方法または変化しない方法で送信されてよい。
【0020】
次に、通信装置(例えば携帯電話機、スマートフォン)、マルチメディア機器(例えばMP3プレーや、TV、ラジオ)、ポータブルまたはハンドヘルドコンピュータ(例えばタブレット、ノートブック、ラップトップ)、デスクトップコンピュータ、オールインワンデスクトップ、周辺機器、またはシステムアーキテクチャ2000を含むように適合可能な任意の他のシステムまたは機器や、これらの機器の二つ以上の組み合わせを含む、任意のポータブルまたは非ポータブル機器で実施されてよいシステムアーキテクチャの実施形態について説明する。
図2は、1つ以上のコンピュータ読み取り可能媒体201と、処理システム204と、入力/出力(I/O)サブシステム206と、無線周波数(RF)回路208と、音声回路210とを含むことのできるシステム200のブロック図である。これらの構成要素は1つ以上の通信バスまたは信号線203によって接続されてよい。システム200は電子機器100(
図1)と同一もしくは類似するものであってよい。
【0021】
図2に示したアーキテクチャがシステム200のアーキテクチャの一例であること、またシステム200が図示されたものより多い、またはより少ない構成要素や、構成要素の異なる構成を有しうることは明らかである。
図2に示した様々な構成要素は、1つ以上の信号処理および/または特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせによって実施することができる。
【0022】
RF回路208は、無線リンクまたはネットワーク上で1つ以上の他の機器と情報を送受信するために用いられ、その機能を実施するための周知の回路を有している。RF回路208および音声回路210は、周辺インターフェース216を通じて処理システム204に接続されてよい。インターフェース216は、周辺機器と処理システム204との通信を確立したり維持したりするための様々な既知の構成要素を含むことができる。音声回路210は音声スピーカ250およびマイク252に接続されることができ、またユーザが他のユーザとリアルタイムに通信できるよう、インターフェース216から受信した音声信号を処理するための既知の回路を含んでいる。いくつかの実施形態において、音声回路210はヘッドフォンジャック(不図示)を含む。
【0023】
周辺インターフェース216は、システムの入力および出力周辺機器をプロセッサ218およびコンピュータ読み取り可能媒体201に接続することができる。1つ以上のプロセッサ218はコントローラ220を通じて1つ以上のコンピュータ読み取り可能媒体201と通信することができる。コンピュータ読み取り可能媒体201は1つ以上のプロセッサ218が使用するためのコードおよび/またはデータを格納可能な任意のデバイスまたは媒体であってよい。媒体201はキャッシュ、主メモリ、従メモリを含むメモリ階層を有してもよいが、これらに限定されない。メモリ階層はRAM(例えばSRAM, DRAM, DDRAM)、ROM、フラッシュ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)およびDVD(デジタルビデオディスク)のような磁気および/または光学記憶装置の任意の組み合わせを用いて実施することができる。媒体201はまた、コンピュータ命令やデータを示す、情報を保持する信号を搬送するための伝送媒体を含んでもよく、信号を変調する搬送波が用いられても用いられなくてもよい。例えば、伝送媒体は、インターネット(ワールドワイドウェブとも呼ばれる)、1以上のイントラネット、複数のローカルエリアネットワーク(LANs)、複数のワイドローカルエリアネットワーク(WLANs)、複数のストレージエリアネットワーク(SANs)、複数のメトロポリタンエリアネットワーク(MAN)などを含む通信ネットワークを含んでよいが、これらに限定されない。
【0024】
1つ以上のプロセッサ218は、システム200のための様々な機能を実行するため、媒体201に格納されている様々なソフトウェアコンポーネントを実行することができる。いくつかの実施形態において、ソフトウェアコンポーネントは、オペレーティングシステム222,通信モジュール(または命令セット)224、タッチ処理モジュール(または命令セット)226、グラフィクスモジュール(または命令セット)228,1つ以上のアプリケーション(または命令セット)230、および通知モジュール238を含む。これらモジュールのそれぞれおよび上述したアプリケーションは上述した1つ以上の機能および本出願に記載される方法(例えばコンピュータが実行する方法および、ここで説明される他の情報処理方法)を実行するための命令セットに対応する。これらのモジュール(例えば命令セット)は別個のソフトウェアプログラム、手続きまたはモジュールとして実施されなくてもよく、したがって様々な実施形態ではこれらモジュールの様々なサブセットが組み合わされたり再構成されたりしてもよい。いくつかの実施形態において媒体201は、上述した複数のモジュールおよびデータ構造のサブセットを格納してよい。さらに、媒体201は上述されていないさらなるモジュールおよびデータ構造を格納してもよい。
【0025】
オペレーティングシステム222は、一般的なシステムタスク(例えばメモリ管理、記憶装置制御、電力管理など)を制御並びに管理するための様々な手続き、命令セット、ソフトウェアコンポーネント、および/またはドライバを含むことができ、様々なハードウェアおよびソフトウェアコンポーネント間の通信を助ける。
【0026】
通信モジュール224は1つ以上の外部ポート236またはRF回路208を通じた他の機器との通信を助けるとともに、RF回路208および/または外部ポート236から受信したデータを取り扱うための様々なソフトウェアコンポーネントを含んでいる。
【0027】
グラフィクスモジュール228は表示面上にグラフィカルオブジェクトをレンダリング、アニメーティング、および表示するための様々な既知のソフトウェアコンポーネントを含むことができる。タッチI/Oデバイス102が接触感知式ディスプレイ(例えばタッチスクリーン)である実施形態において、グラフィクスモジュール228は接触感知式ディスプレイ上でオブジェクトをレンダリング、表示、およびアニメーティングするためのコンポーネントを含んでいる。
【0028】
1つ以上のアプリケーション230は、ブラウザ、アドレス帳、連絡先、電子メール、インスタントメッセージャ、文書作成、キーボードエミュレーション、ウィジット、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、音声合成、(GPSによって提供されるような)位置判定能力、ミュージックプレーヤなどを含む、システム200にインストールされている任意のアプリケーションを含むことができるが、これらに限定されない。
【0029】
タッチ処理モジュール226は、タッチI/Oデバイスコントローラ232を介してI/Oデバイス212から受信されるタッチ入力の受信並びに処理を含む、タッチI/Oデバイス212に関する様々なタスクを実行するための様々なソフトウェアコンポーネントを含むが、これらに限定されない。例えば、タッチ処理モジュール226は他のI/Oデバイス214に関するタスクを実行するためのソフトウェアコンポーネントをさらに含むことができる。すなわち、タッチ処理モジュール226は他のI/Oコントローラ234を介してI/Oデバイス214から受信した入力を受信ならびに処理することができる。
【0030】
システム200はさらに、
図5~
図14とともに本明細書で説明するような方法/機能を実行するための通知モジュール238を含んでもよい。通知モジュール238は、複数のアプリケーション(例えばシステム200上の複数のアプリケーションや、システム200にデータを送信しているデータプロバイダ)から受信した通知を少なくとも監視するように機能する。例えば、通知モジュール238は、非サードパーティアプリケーションおよびサードパーティアプリケーションの両方から通知を受信することができる。さらに、通知モジュール238は、プッシュベースの通知、トリガーベースの通知、および/または他のタイプのパーソナル通知を受信することができる。
【0031】
通知の受信に応答して、通知モジュール238は、システム200がロック状態またはロック解除状態で動作している際に通知を表示する方法を制御することができる。例えば、システム200がロック状態で動作している際、通知モジュール238は通知をバナーに表示することができ、またこれらの通知を表示する方法を制御することができる。別の例として、通知モジュール238は受信した複数の通知をまとめることができ、まとめた通知を通知センター内に複数ペインとして提供することができる。したがって、各ペインは異なるアプリケーションに関連づけられてよい。いくつかの実施形態において、通知モジュール238は通知をシステム200にどのように表示するかをユーザがカスタマイズできるようにしてもよい。
【0032】
ロック状態において、システム200は所定の機能へのユーザアクセスを制限してもよい。例えば、ロック状態では、ユーザが通話を行ったり、電子メールを入力したりといった様々な装置の機能を起動できないようにされてもよい。つまり、ロック状態とは、システム200への意図しないアクセスを防止するように作られている。システム200がロック解除状態の際、ユーザはシステムのすべての機能にフルアクセス可能である。
【0033】
さらに、通知モジュール238は、データプロバイダが様々なユーザに対して特定の通知を宛てることを可能とするような特定形式のデータ様式をデータプロバイダに提供することができる。本技術分野に属する当業者は、任意の好適な形式の様式も利用できることを理解するであろう。例えば、システム200に通知を表示するために、通知モジュール238はデータプロバイダにタイトル(例えばユーザ名)、サブタイトル(例えば入来メッセージまたは警告のサブタイトル)、および本文(例えばメッセージの本文)を特定するように要求することができる。
【0034】
通知モジュール238はさらに、ユーザ入力を受信するため、タッチ処理モジュール226とやりとりしてもよい。さらに、通知モジュール238は、ディスプレイに様々なグラフィカルオブジェクトを表示するため、グラフィクスモジュール228とやりとりすることができる。通知モジュール238はハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして実施されてよい。通知モジュール238は媒体201の内部に存在するものとして図示しているが、通知モジュール238の全てまたは一部はシステム200内の他の構成要素の内部で実施されてもよいし、その全体がシステム200内の別個の構成要素として実施されてもよい。
【0035】
I/Oサブシステム206は様々な機能を制御または実行するため、タッチI/Oデバイス212および1つ以上の他のI/Oデバイス214と接続されている。タッチI/Oデバイス212はタッチI/Oデバイスコントローラ232を介して処理システム204と通信し、ユーザタッチ入力を処理するための様々な部品を含んでいる(例えばスキャン用ハードウェア)。他の入力コントローラ234の1つ以上は、他のI/Oデバイス214からの/への電気信号を受信/送信する。他のI/Oデバイス214は物理的なボタン、ダイヤル、スライドスイッチ、スティック、キーボード、タッチパッド、追加表示画面、あるいはそれらの任意の組み合わせを含んでよい。
【0036】
タッチスクリーンとして実施された場合、タッチI/Oデバイス212はGUIでユーザに視覚的な出力を表示する。視覚的な出力はテキスト、グラフィックス、映像およびそれらの任意の組み合わせを含んでよい。視覚的な出力の一部または全部はユーザインターフェースオブジェクトに対応してもよい。タッチI/Oデバイス212は、ユーザからのタッチ入力を受け付ける接触感知面を形成する。(媒体201内の関連づけられたモジュールおよび/または命令セットとともに)タッチI/Oデバイス212およびタッチスクリーンコントローラ232は、タッチI/Oデバイス212上のタッチまたはニアタッチ(およびそのタッチの移動または解除)を検出ならびに追跡し、検出されたタッチ入力をユーザインターフェースオブジェクトの1つ以上のようなグラフィカルオブジェクトとのやりとりに変換する。デバイス212がタッチスクリーンとして実施される場合、ユーザはタッチスクリーン上に表示されるグラフィカルオブジェクトと直接やりとりすることができる。一方、デバイス212がタッチスクリーン以外のタッチデバイス(例えばタッチパッド)として実施される場合、ユーザはI/Oデバイス214として実施される別個のディスプレイ画面上に表示されるグラフィカルオブジェクトと間接的にやりとりすることができる。
【0037】
タッチI/Oデバイス212はWestermanらに対する米国特許第6,323,846号、6,570,557号、および/またはWestermanに対する米国特許第6,677,932号、および/または米国特許公開第2002/001502A1に記載されているマルチタッチ感知面に類似したものであってよく、これらの特許文献のそれぞれを参照により本明細書に組み入れる。
【0038】
タッチI/Oデバイス212がタッチスクリーンである実施形態で、タッチスクリーンはLCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)、OLED(有機LED)、またはOEL(有機電界発光)を用いることができるが、別の実施形態では別のディスプレイ技術が用いられてもよい。
【0039】
現在表示されているもの、および/またはコンピューティングシステムの状態またはステータスと、ユーザのタッチ入力とに基づき、タッチI/Oデバイス212によってフィードバックが提供されてもよい。フィードバックは光学的(例えば光信号または表示画像)、機械的(例えば触覚フィードバック、タッチフィードバック、フォースフィードバックのようなもの)、電気的(例えば電気刺激)、嗅覚的、聴覚的(例えばビープなど)などや、それらの任意の組み合わせによって、変化する方法または変化しない方法で伝達されてよい。
【0040】
システム200は様々なハードウェア部品に電力を供給するための電力システム244を含むことができ、また電力管理システム、1つ以上の電力源、充電システム、電源故障検出回路、電力コンバータまたはインバータ、電源状態インジケータおよび、携帯機器内の電力の生成、管理および分配に特に関連する任意の他の構成要素を含んでもよい。
【0041】
いくつかの実施形態において、周辺インタフェース216、1つ以上のプロセッサ218、およびメモリコントローラ220は、処理システム204のような1つのチップに実装されてもよい。別のいくつかの実施形態において、それらは別個のチップに実装されてもよい。
【0042】
通知モジュール238は、システム200がロック状態またはロック解除状態にある場合に様々なタイプの通知を生成可能な通知センターを提供するため、1つ以上のアプリケーションプログラミングインタフェース(API)とやりとりすることができる。さらに、通知モジュール238は通知センターをカスタマイズするための複数の設定を提供することができる。
【0043】
APIはプログラムコードコンポーネントまたはハードウェア部品(以下、API実施コンポーネント)によって実施されるインターフェースであり、異なるプログラムコードコンポーネントまたはハードウェア部品(以下、API呼び出しコンポーネント)が、API実施コンポーネントの提供する1つ以上の機能、方法、手順、データ構造、クラス、および/または他のサービスにアクセスしたり用いたりすることを可能にする。APIはAPI呼び出しコンポーネントとAPI実施コンポーネントとの間で受け渡される1つ以上のパラメータを定義することができる。
【0044】
APIは(サードパーティ開発者であってよい)API呼び出しコンポーネントの開発者が、API実施コンポーネントによって提供される特定の機能を利用することを可能にする。API呼び出しコンポーネントは1つであってもよいし、複数存在してもよい。APIはアプリケーションからのサービス要求をサポートするための、コンピューティングシステムまたはプログラムライブラリが提供するソースコードインターフェースであってもよい。オペレーティングシステム(OS)は、OS上で稼働するアプリケーションがその1つ以上を呼び出し可能な複数のAPIを有することができ、(プログラムライブラリのような)サービスは、そのサービスを用いるアプリケーションがその1つ以上を呼び出し可能な複数のAPIを有することができる。APIは、アプリケーションがビルドされる際に翻訳またはコンパイルすることのできるプログラミング言語に関して規定されてよい。
【0045】
いくつかの実施形態において、API実施コンポーネントは複数のAPIであって、その各々が、API実施コンポーネントによって実装される機能の異なる態様にアクセスする異なる態様もしくはその異なるビューを提供する複数のAPIを提供してよい。例えば、API実施コンポーネントの1つのAPIは、機能の第1セットを提供することができるほか、サードパーティ開発者に開示されてよい。また、API実施コンポーネントの別のAPIは、隠され(開示されなく)て、機能の第1セットのサブセットに加えてテストやデバッグ機能など、機能の第1セットに含まれない別の機能セットを提供することができる。別のいくつかの実施形態において、API実施コンポーネントはそれ自身が下層のAPIを介して1つ以上の他のコンポーネントを呼び出してもよく、従ってそのAPI実施コンポーネントはAPI呼び出しコンポーネントを兼ねている。
【0046】
APIは、API呼び出しコンポーネントがそのAPI実施コンポーネントの指定された機能にアクセスして使用する際に用いる言語およびパラメータを規定する。例えば、API呼び出しコンポーネントは、API実施コンポーネントの指定された機能に(例えばファンクションまたはメソッド呼び出しによって実施される)APIが開示している1つ以上のAPI呼び出しまたは起動を通じてアクセスし、API呼び出しまたは起動を通じたパラメータを用いてデータおよび制御情報を受け渡す。API実施コンポーネントはAPI呼び出しコンポーネントからのAPI呼び出しに応答して、APIを通じて値を返すことができる。APIはAPI呼び出しの文法および結果(例えば、そのAPIをどうやって起動するか、およびそのAPI呼び出しが何を行うか)を規定する一方、APIはAPI呼び出しがそのAPI呼び出しで特定される機能をどのように達成するかは見せなくてよい。様々なAPI呼び出しが、呼び出し(API呼び出しコンポーネント)とAPI実施コンポーネントとの間の1つ以上のアプリケーションプログラミングインタフェースを介して転送される。API呼び出しの転送は、発行、開始、起動、呼び出し、受信、返信、またはファンクション呼び出しまたはメッセージへの応答を含んでよい。つまり、転送はAPI呼び出しコンポーネントまたはAPI実施コンポーネントのいずれかによる動作を記述することができる。ファンクション呼び出しまたはAPIの他の起動は、パラメータリストまたは他の構造を通じて1つ以上のパラメータを送信または受信してよい。パラメータは定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データタイプ、ポインタ、配列、またはAPIを介して受け渡されるべきデータへ参照するためのファンクション、メソッド、または他の方法へのリストまたはポインタであってよい。
【0047】
さらに、データタイプまたはクラスはAPIによって提供され、またAPI実施コンポーネントによって実施されてよい。従って、API呼び出しコンポーネントはAPIに提供されている規定を用いて、変数を宣誓し、ポインタを使用し、そういったタイプまたはクラスの定数を使用もしくはインスタンスを生成してよい。
【0048】
一般に、APIはAPI実施コンポーネントによって提供されるサービスまたはデータにアクセスするためや、API実施コンポーネントによって提供される操作または計算の実行を開始するために用いることができる。例として、API実施コンポーネントおよびAPI呼び出しコンポーネントはそれぞれ、オペレーティングシステム、ライブラリ、デバイスドライバ、API、アプリケーションプログラム、または他のモジュールのいずれか1つであってよい(API実施コンポーネントおよびAPI呼び出しコンポーネントは互いに同じまたは異なるタイプのモジュールであってもよいことを理解すべきである)。API実施コンポーネントはいくつかの場合において少なくともその一部をファームウェア、マイクロコード、または他のハードウェアロジックで実施されてもよい。いくつかの実施形態において、APIはクライアントプログラムがソフトウェア開発キット(SDK)ライブラリによって提供されるサービスを用いることを可能にする。別の実施形態において、アプリケーションまたは他のクライアントプログラムはアプリケーションフレームワークが提供するAPIを用いてもよい。いくつかの実施形態において、アプリケーションまたはクライアントプログラムは、SDKによって提供されるとともにAPIによって提供されるファンクションまたはメソッドへの呼び出しを合体したり、SDKで規定されAPIが提供するデータタイプまたはオブジェクトを使用したりしてよい。これら実施形態においてアプリケーションフレームワークは、フレームワークで規定される様々なイベントに応答するプログラムのための主イベントループを提供してもよい。APIはアプリケーションがイベントを指定することを可能とするとともに、アプリケーションフレームワークを用いてそのイベントへ応答することを可能にする。いくつかの実施形態において、API呼び出しはアプリケーションに対して、入力能力および状態、出力能力および状態、処理能力、電力状態、記憶容量および状態、通信能力などといった態様に係るハードウェアデバイスの能力または状態をレポートすることができ、APIは部分的に、ハードウェア部品上で一部を実行するファームウェア、マイクロコード、または他の低レベルロジックで実施されてよい。
【0049】
API呼び出しコンポーネントは(例えばAPI実施コンポーネントと同じデータ処理システム上にある)ローカルコンポーネントであってもよいし、API実施コンポーネントとネットワーク上でAPIを通じて通信する、(例えばそのAPI実施コンポーネントとは異なるデータ処理システム上にある)リモートコンポーネントであってもよい。API実施コンポーネントはAPI呼び出しコンポーネントとして振る舞ってもよく(例えば別のAPI実施コンポーネントによって開示されているAPIへのAPI呼び出しを行ってもよい)、またAPI呼び出しコンポーネントが別のAPI呼び出しコンポーネントへ開示されているAPIを実施することによってAPI実施コンポーネントとして振る舞ってもよいことを理解すべきである。
【0050】
APIは特定のプログラミング言語に関して実施されてもよいが、APIは異なるプログラミング言語で記述される複数のAPI呼び出しコンポーネントがAPI実施コンポーネントと通信することを可能にしてもよい(従ってAPIはAPI実施コンポーネントおよびAPI呼び出しコンポーネントの間で呼び出しおよび応答を翻訳するための機能を含んでよい)。一実施形態においてAPI呼び出しコンポーネントは、OSプロバイダからあるAPIセット、プラグインプロバイダから別のAPIセット、他のプロバイダ(例えばソフトウェアライブラリのプロバイダ)または別のAPIセットの作成者から別のAPIセットといったように、異なるプロバイダから複数のAPIを呼び出すことができる。
【0051】
図3は本発明のいくつかの実施形態において使用することのできる例示的なAPIアーキテクチャ300を示すブロック図である。
図3に示すように、APIアーキテクチャ300は、API304を実施するAPI実施コンポーネント302(例えば、オペレーティングシステム、ライブラリ、デバイスドライバ、API、アプリケーションプログラム、ソフトウェアまたは他のモジュール)を含んでいる。API304は、API呼び出しコンポーネント306によって使用されてよい1つ以上のファンクション、メソッド、クラス、オブジェクト、プロトコル、データ構造、フォーマットおよび/またはAPI実施コンポーネント302の他の機能を規定する。API304はAPI実施コンポーネント302内のファンクションがAPI呼び出しコンポーネント30からのパラメータを受け取るか、およびファンクションがどのように結果をAPI呼び出しコンポーネント306に返すかという呼び出し規則を少なくとも1つ規定することができる。API呼び出しコンポーネント306(例えばオペレーティングシステム、ライブラリ、デバイスドライバ、API、アプリケーションプログラム、ソフトウェアまたは他のモジュール)は、API304によって規定されているAPI実施コンポーネント302の機能にアクセスして使用するため、API304を通じてAPI呼び出しを行う。API実施コンポーネント302はAPI呼び出しに応答して、API304を通じてAPI呼び出しコンポーネント306に値を返すことができる。
【0052】
API実施コンポーネント302は、API304を通じて規定されておらず、API呼び出しコンポーネント306が利用可能でない、さらなるファンクション、メソッド、クラス、データ構造、および/または他の機能を含んでよいことは明らかであろう。API呼び出しコンポーネント306はAPI実施コンポーネント302と同じシステム上にあってもよいし、あるいは離れて配置され、API304を用いてネットワークを通じてAPI実施コンポーネント302にアクセスしてもよいことを理解されたい。
図3にはAPI304とやりとりするただ1つのAPI呼び出しコンポーネント306を示しているが、API呼び出しコンポーネント306と他の言語(または同じ言語)で記述されてもよい他のAPI呼び出しコンポーネントが、API304を用いてもよいことを理解されたい。
【0053】
API実施コンポーネント302、API304,およびAPI呼び出しコンポーネント306は機械が読み取り可能な媒体に格納されてよく、機械が読み取り可能な媒体は情報を機械(例えばコンピュータまたは他のデータ処理システム)が読み取り可能な形式で格納するための任意のメカニズムを含んでいる。例えば、機械が読み取り可能な媒体は磁気ディスク、光学ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ(登録商標)デバイスなどを含む。
【0054】
例示的な実施形態である
図4(ソフトウェアスタック)において、アプリケーションはいくつかのサービスAPIを用いてサービスAまたはBに、またいくつかのOS APIを用いてオペレーティングシステム(OS)に、呼び出しを行うことができる。サービスAおよびBは、いくつかのOS APIを用いてOSに呼び出しを行うことができる。
【0055】
サービス2は2つのAPIを有し、その1つ(サービス2API1)はアプリケーション1からの呼び出しを受信して値をアプリケーション1に返し、もう一方(サービス2API2)はアプリケーション2からの呼び出しを受信して値をアプリケーション2に返す。サービス1(例えばソフトウェアライブラリであってよい)はOS API1へ呼び出しを行い、OS API1から返値を受信する。サービス2(例えばソフトウェアライブラリであってよい)はOS API1とOS API2の両方へ呼び出しを行い、OS API1とOS API2の両方から返値を受信する。アプリケーション2はOS API2へ呼び出しを行い、OS API2から返値を受信する。
【0056】
上述したように、電子機器の通知モジュール(例えば
図2の通知モジュール238)は、アプリケーションから通知を受け取り、ユーザに通知を提供する方法を制御することができる。例えば、通知モジュール異なるアプリケーションから受信した複数の通知をまとめることができ、まとめた通知を通知センター内に一連のペイン(またはリスト)として提供することができる。従って、通知センターにアクセスすることにより、ユーザは最近受信した通知のリストを見ることができる。いくつかの場合において、通知センターは電子機器がロック解除状態で動作している際にのみアクセス可能であってもよい。
【0057】
任意の好適な手法を、通知センターを起動するために用いることができる。例えば、ユーザは電子機器のボタンを押下することにより通知センターを起動してよい。別の例として、電子機器(例えば
図1の電子機器100または
図2のシステム200)が、機器のあらかじめ定められた機能群の操作がタッチスクリーンおよび/またはタッチパッド(例えばタッチI/Oデバイス212)を通じて実行される機器である場合、ユーザはタッチスクリーン上の画像に触ったりタッチしたりすることによって通知センターを起動することができる。
【0058】
例えば、
図5を参照すると、電子機器のホーム画面の表示画面500が示されている。表示画面500は
図2のタッチI/Oデバイス212と同じものであってもよいし、タッチI/Oデバイス212とやりとり可能であってもよい。表示画面500は複数の選択可能なアイコン502を含むことができる。
【0059】
通知モジュールは通知センターを起動するための複数のジェスチャーを受け付けるように構成されてもよい。例えば、ユーザは1本以上の指を画面500の一番上から下方向へ素早くフリックするグロススワイプジェスチャーを実行することができる。別の例として、ユーザは画面500の一番上から下方向に1本以上の指をゆっくりドラッグすることができる。
【0060】
通知モジュールは画面500の特定領域(例えば、画面500の一番上の20ピクセル領域)におけるユーザによるスワイプまたはドラッグを検出可能である。具体的には、通知モジュールが20ピクセル領域内の複数ピクセルで動きがあったことを検出すると、通知モジュールは通知センターの表示を開始することができる。
【0061】
いくつかの実施形態において、通知モジュールは通知センターを起動するユーザの方法とは無関係な同一方法で通知センターを表示することができる。別の実施形態において通知モジュールは、ユーザが行ったジェスチャーに応じた異なる応答を行ってもよい。例えば、ユーザがグロススワイプジェスチャーを実行した場合、通知モジュールは通知センターを画面500の最下部へ直ちにプルダウンすることができる。代わりに、ユーザが1本以上の指をゆっくりと下方にドラッグした場合、通知モジュールは通知センターを画面500上にリアルタイムでプルダウンしてよい。
【0062】
いくつかの場合において、通知センターの存在を示すために、表示画面500の最上部に視覚的な目安が表示されてもよい。他の実施形態において(そして表示画面500に示されるように)、通知センターの存在を示す視覚的な目安がなくてもよい。そうすることで、ユーザが電子機器を使用している際に気を散らされることを回避できるほか、画面の貴重なスペースを節約することができる。
【0063】
本技術分野に属する当業者は、表示画面500の最上部に代わって、表示画面500の任意の好適な部分(例えば表示画面500の右、左、または最下部)から通知センターにアクセス可能であることを理解するであろう。さらに、通知モジュールは、表示画面500のどの部分を通知センターの起動に用いるかをユーザが指定することを可能にしてもよい。
【0064】
本技術分野に属する当業者はまた、
図5がホーム画面を示しているけれども、任意の好適な時点で通知センターを起動することが可能であることを理解するであろう。特に、通知センターは機器が特定のアプリケーションを表示している際に起動されてもよい。
【0065】
図6A~6Eには、電子機器の通知センターの表示画面が示されている。本技術分野に属する当業者は、電子機器がポートレートモードで動作している際の通知センターが
図6A~6Eに示されているが、電子機器がランドスケープモードで動作している際にも通知センターを表示できることを理解するであろう。
【0066】
まず
図6Aを参照すると、ユーザが表示画面600の最上部から1本以上の指を下方向にドラッグしたことに応答して、通知モジュールは通知センター602を表示画面600の最下部(bottom)に向かってプルダウンすることができる。通知センター602は最下部にタブ604を含むことができる。
【0067】
いくつかの場合において、表示画面600から通知センター602を取り除くため、ユーザは通知センター602を表示画面の上方かつ画面外へドラッグする必要があるかもしれない。本技術分野に属する当業者は、表示画面600から通知センター602を取り除くために他の好適な手法のいずれか(例えば、ホームまたはオン/オフボタンの押下)を用いてもよいことを理解するであろう。
【0068】
次に、
図6Bには、通知センター602が表示画面606の最下部まで完全にプルダウンされている状態が示されている。通知センター602は1つ以上のペインを含むことができ、各ペインは電子機器の異なるアプリケーションを表すウィジットを含むことができる。例えば、通知センター602は天気ペイン608,株ペイン610、ソーシャルネットワークペイン612、およびメールメイン614を含むことができる。
【0069】
通知センター602は、より少ない、あるいはさらなる通知を見るために、ユーザが通知センター602に触って上下方向にドラッグできるよう、スクロール可能であってよい。いくつかの実施形態では、通知センター602の所定部分だけがスクロール可能にされてもよい。その結果、1つ以上のペイン(例えば天気ペイン608と株ペイン612)は固定されたままで、他のペインはスクロール可能であってよい。
【0070】
天気ペイン608は電子機器の現在位置についての天気を表示することができる。あるいは、天気ペイン608はユーザが指定した任意のデフォルト位置についての天気を表示してもよい。ユーザは機器の天気アプリケーションを開くために天気ペイン608をタッチしてもよい。さらに、ユーザは、別の都市の天気を見るために、天気ペイン608を左または右にスワイプしてもよい。
【0071】
株ペイン610は例えばユーザによる操作とは無関係に右から左にスクロールするスクロール可能な株ティッカーを含むことができる。ユーザは他の隠れた、または一部が表示されている株を見るため、株ペイン610を左または右にドラッグすることができてもよい。いくつかの場合において、ユーザはティッカー(例えば株ティッカー617~619の1つ)をタッチすることにより、それぞれの株ティッカーの任意の1つを選択してもよい。ユーザの選択に応答して、通知モジュールは株ウィジェットを開くことができる。株ウィジェットは文脈上選択された株ティッカーに基づくことができる(例えば、株ウィジェットは選択された会社に対応する詳細な株情報を表示することができる)。
【0072】
ユーザはそのペインに関連づけられたアプリケーションにアクセスするため、通知センター602の任意のペインを選択(例えばタッチ)してよい。例えば、ソーシャルネットワークペイン612をユーザが選択したことに応答して、通知モジュールはソーシャルネットワークアプリケーションをユーザに提供することができる。
【0073】
ペイン608~614のそれぞれは、ユーザがそのペインから通知を手動で消去できるようにするオプションと関連づけられてよい。例えば、ボタン616は、ペイン612について、通知センター602からユーザが通知を消去することを可能にしてもよい。具体的には、ユーザがボタン616を選択したことに応答して、通知モジュールは「消去」ボタンを表示することができる(例えばボタン616が裏返しになって「消去」になったり、拡大して「消去」ボタンになったり、および/または「消去」ボタンに遷移したりすることができる)。その後、ユーザが「消去」ボタンを選択すると、ユーザは通知センター602から1つ以上の通知を手動で消去することができる。
【0074】
いくつかの場合において、ボタン616はユーザが特定のペイン(またはアプリケーション)における全ての通知を消去することを可能にしてもよい。その結果、対応するペインを通知センター602から除去してもよい。しかし、そのアプリケーションについての新たな通知が受信されると、そのアプリケーションに対応したペインが通知センター602に再度表示されてもよい。
本技術分野に属する当業者は、通知センター602から消去された通知であっても、それらの通知を生成したアプリケーションからは依然としてアクセス可能であることを理解するであろう。従って、通知センター602から消去された通知をユーザが見たい場合、ユーザは対応するアプリケーションにアクセスすることでそれらの通知を見ることができるであろう。
【0075】
ペイン612および614のようないくつかのペインは、関連づけられた1つ以上の通知のリストを有することができる。例えば、ソーシャルネットワークペイン612は、1つの通知を提示するリスト613を有し、電子メールペイン614は2つの電子メール通知を提示するリスト615を有している。関連づけられたリストの一部として、任意の好適な数の通知をリストアップすることができる。表示されている各通知は選択可能であってよく、選択されると、その通知が、関連づけられたペインに対応するアプリケーションで開かれる。例えば、ユーザがリスト615の最初の電子メール通知を選択したとすると、そのメールがメールアプリケーションで閲覧するために開かれる。
【0076】
関連づけられたリストを有するペインは、垂直方向にスクロール可能であってよい(例えばユーザはそれぞれに関連づけられたリストをみるため、次から次へとペインをスクロールすることができる)。それらのペインは、水平方向にスクロール可能なペイン608および610とは対照的である。ユーザは、ペイン608および610のようなペインはその場に維持した状態で、リストが関連づけられたペインからリストが関連づけられたペインまでスクロールすることができる。従って、ユーザはいつでもペイン608および610を水平方向にスクロール可能であり、またリストが関連づけられたペインを垂直方向にスクロール可能である。
【0077】
図6Cを参照すると、カレンダーペイン622を含むことのできる通知センター602を示す表示画面620が示されている。カレンダーペイン622は、ユーザのカレンダーのあらかじめ定められた期間(例えば今後24時間)における通知(例えば近づきつつあるイベント)のリストを表示することができる。いくつかの場合において、カレンダーペイン622は近づきつつあるイベントを時系列で整理することができる。例えば、最も差し迫ったイベントを通知リストの一番上に表示し、その次に到来するイベントを次に、といった順序で表示することができる。あるいは、最も差し迫ったイベントを通知リストの一番下に表示することもできる。
【0078】
カレンダーペイン622はあるイベントが進行中である間、リアルタイムで調整されてもよい。例えば、
図6Cに示すように、通知621はイベント「ヨガ」が40分前に開始していることを示すテキスト623(40m ago)を含むことができる。通知モジュールは、イベントの継続中、テキスト623を継続的に更新することができる。
【0079】
いくつかの実施形態において、ユーザは各プリケーションについてあらかじめ定められた数の通知が表示されるように設定することができる。その結果、表示可能な通知の数があらかじめ定められた数を超える場合、通知モジュールはカレンダーペイン622から自動的に通知を取り除くことができる。通知のあらかじめ定められた数を指定するための通知設定については、
図9Eおよび
図9Fとともにより詳細に説明する。
【0080】
図6Cに示すように、通知のあらかじめ定められた数は5に設定されてよい。従って、新たな通知を受信すると、通知モジュールはカレンダーペイン622に現在表示されている通知を自動的に除去することができる。例えば、今度は
図6Dを参照すると、カレンダーアプリケーションから新たな通知626を受信すると、通知モジュールは新しい通知626をカレンダーペイン622の一番上に追加することができる。しかし、表示することのできる通知の数が通知のあらかじめ定められた数を超えるため、通知モジュールは通知628をカレンダーペイン622から除去することができる。いくつかの場合において、通知628はカレンダーペイン622に表示される他のイベントと比較して最も遅い開始時刻を有するイベントに関連づけられていてもよい。その後、カレンダーペイン622から別の通知が除去されると(例えば通知626が完了したり、取り消されたりすると)、通知628はカレンダーペイン622に戻されることができる。
【0081】
カレンダーイベントの時間が経過すると、そのイベントに対応する1つ以上の通知は自動的にカレンダーペイン622から除去されてよい。例えば、イベント「ヨガ」が1時間続くとすると、「ヨガ」に対応する通知621(
図6C)は、イベントが完了次第カレンダーペイン622から除去されてよい。例えば、
図6Eに示すように、「ヨガ」イベントの時間が経過すると、通知モジュールは通知621を通知センター602から自動的に除去することができる。通知621の除去に加え、通知モジュールは新たな通知632をカレンダーペイン622に追加することができる。
【0082】
本技術分野に属する当業者は、
図6A~
図6Eに含まれるペインが単なる例示であることを理解するであろう。従って、通知センター602には、機器の1つ以上のアプリケーションに関連づけられた任意の好適なペインが含まれてよい。いくつかの場合において、通知センター602は機器がロック状態で動作している際に表示される通知を含んでもよい。それらタイプの通知について、
図8A~
図8Fとともに詳細に説明する。
【0083】
図6F~
図6Hを参照すると、ユーザがゲームのようなサードパーティアプリケーションに現在アクティブに参加している際の通知センターの表示を示すいくつかの例示的な表示画面が示されている。
図6Fにおいて表示画面640は、ゲームのような、アクティブに稼働中のサードパーティアプリケーションを示している。アクティブなサードパーティアプリケーションに参加しながら、ユーザは本発明の一実施形態に従って通知センターにアクセスすることができる。ユーザはまず、タブ654が
図6Gの画面650に表示されるように指を画面の一番上から下方向に指をスワイプさせる。タブ654が表示されると、ユーザは指をタブ654の上に置き、
図6Hの画面660に部分的に示されているように、タブ654を下にドラッグして通知センター662が現れるようにする。ユーザがタブ654を画面660の一番下までドラッグすると、通知センター662の全体が表示される。
【0084】
いくつかの実施形態において、電子機器がロック解除状態で動作している間、通知モジュールは様々なアプリケーションから受信した通知に対応することのできる1つ以上のバナーを表示することができる。通知モジュールは例えば、表示画面にバナーを回転させて表示することができる。
【0085】
ユーザがそのバナーを所定時間(例えば5、6秒)内に選択しないと、通知モジュールはそのバナーを表示画面から除去することができる。例えばバナーを表示画面外へ回転させてもよい。あるいは、ユーザはバナーをスワイプしたり押し返したりすることによってバナーを追い払うことができる。
【0086】
いくつかの実施形態において、ほぼ同時に通知モジュールが2つ以上のバナーを受信した場合、それらのバナーは同時期に表示画面に回転されてよい。つまり、表示画面に複数のバナーが同時に回転されうる。あるいは、できるだけユーザの気を散らさないようにするため、通知モジュールはバナーが常に1つだけ表示されるようにバナーの表示タイミングを調整してもよい。
【0087】
本技術分野に属する当業者は、バナーを表示するために好適な視覚的方法のいずれを用いてもよいことを理解するであろう。例えば、バナーは表示画面を横切ってスクロールしたり、跳ね上がる/落下したり、はらはらと表示画面に入ってきたりしてもよい。さらに、バナーは同様の機能で除去されてもよい。通知モジュールはバナーが許される表示および/または除去方法をユーザが指定できるようにしてもよい。
【0088】
いくつかの場合、ユーザがバナーにアクセスすることなくそのバナーを無視もしくは除去した場合、通知モジュールはそのバナーに関連づけられた通知を通知センター(例えば
図6A~
図6Eの通知センター602)に追加してもよい。その結果、ユーザがその後通知センターを見るために選択すると、通知センターはユーザがアクセスしていない、累積した全ての通知をユーザに提供することができる。
【0089】
図7A~
図7Eを参照すると、電子機器に表示可能な様々なタイプのバナーを示す表示画面が示されている。本技術分野に属する当業者は、機器がロック解除状態で動作している間(例えば機器がホーム画面を表示している間や特定のアプリケーションを表示している間)、任意の適切なタイミングでバナーを表示することが可能であることを理解するであろう。例えば、ユーザがビデオゲームで遊んでいる間、ウェブサイトにアクセスしている間、システム設定を変更している間、動画を見ている間などにバナーが表示されてよい。本技術分野に属する当業者は、
図7A~
図7Eには電子機器がポートレートモードで動作している間のバナー表示が示されているが、電子機器がランドスケープモードで動作している間にもバナーが表示されてよいことを理解するであろう。本技術分野に属する当業者は、表示画面の任意な好適な位置(例えば右、左、最上部、または最下部)にバナーを表示可能であることを理解するであろう。さらに、通知モジュールはバナーが表示画面のどの部分に表示されてよいかをユーザが指定できるようにしてもよい。
【0090】
まず
図7Aを参照すると、バナー702を含むことのできる表示画面700が示されている。バナー702は最近受信した通知(例えばユーザのアドレス帳から受信したテキストメッセージ)を提示することができる。
図7Aに示すように、バナー702はユーザがビデオゲームを遊んでいる最中に表示することができる。
【0091】
バナー702は、アイコン704、テキスト706およびメディア708を含むことができる。アイコン704は通知を生成したアプリケーションのタイプを示すことができる。テキスト706はアドレス情報および/または受信したテキストメッセージの1つ以上の部分を含むことができる。いくつかの場合、テキスト706は通知のフルテキストの短縮バージョンであってもよい(例えばテキスト706はテキストまたは電子メールの本文の一部を含んでよい)。メディア708はテキストメッセージに関連づけられた埋め込みメディア(例えばアドレス帳の写真やテキストメッセージに添付されたメディアファイル)であってよい。
【0092】
いくつかの実施形態において、通知モジュールはユーザが(例えばバナー702をタッチすることで)ユーザがバナー702を選択するとそれを検出することができる。ユーザの選択に応答して通知モジュールは、その通知を生成したアプリケーションで関連づけられた通知を提示することができる。例えば、ユーザがバナー702を選択したことに応答して、通知モジュールはバナー702に対応する特定のテキストメッセージをテキストメッセージアプリケーションで表示することができる。
【0093】
いくつかの実施形態において、ユーザはそのアプリケーションに関連づけられている別の通知を見るためにバナー702を下にドラッグしてもよい。あるいは、ユーザがバナー702を下方にドラッグしたことに応じて、通知モジュールは通知センターを表示することができる。例えば、通知モジュールは、バナー702に関連づけられたアプリケーションパネルを含んだ通知センターの部分を表示することができる。別の例として、通知モジュールはそのテキストメッセージが中心になるような通知センターの部分を表示することができる。
【0094】
図7Bを参照すると、バナー710を含むことのできる表示画面710が示されている。バナー710は通知に添付されていた映像であってもよいメディア712を含むことができる。本技術分野に属する当業者は、メディア712が例えば静止画、動画、音声ファイル、地図、電子名刺など、任意の好適なメディアを表示可能なことを理解するであろう。
【0095】
さらに、バナー710は、通知が複数の静止画および動画に関連づけられており、テキストには関連づけられていないことを示すテキスト713を含むことができる。具体的には、テキスト713はメディア712のほかに2つの添付ファイルが存在することを示すことができる。従って、テキスト713はバナー710に表示されていない添付ファイルの数に応じて変化しうる。
【0096】
図7Cはバナー718を含むことのできる表示画面716を示している。バナー718は、地
図URLに関連づけられた通知に基づいて生成することのできる地
図720を含むことができる。例えば、地
図720は、地
図URLに関連づけられた場所のすぐ近くの場所のローカライズされた地図であってよい。さらに、地
図720は地
図URLに関連づけられた特定の場所(例えばレストランや映画館の場所)に埋め込まれたピンを含むことができる。
【0097】
図7Dを参照すると、バナー724を含むことのできる表示画面722が示されている。バナー724は合体バナーであってよい。つまり、バナー724は特定のアプリケーションについて待ち行列に入れられている複数の通知に関する情報であってもよい。例えば、
図7Dに示すように、バナー724はメールアプリケーションに関して7つの新規メール通知が存在することを示している。
【0098】
通知モジュールは他のいかなる手法をもちいて合体バナーを生成してもよい。例えば、通知モジュールは、少なくとも1つの共通パラメータ(例えば特定の対象)に関連づけられた2つ以上の通知を検出することができる。2つ以上の通知が少なくとも1つの共通パラメータに関連づけられていることを検出すると、通知モジュールはそれら2つ以上の通知を合体バナー内の1つのメッセージに追加することができる。別の例として、通知モジュールはそれら2つ以上の通知を合体バナー内の1つのメッセージに短縮(例えば要約)することができる。
【0099】
いくつかの場合において、通知モジュールはそれぞれのバナーが1つのメッセージを表示してよい複数の合体バナー(例えばバナーのグループ)を同時表示することができる。これらバナーは複数のアプリケーションに関して新たな通知が待ち行列に存在することを示す。
【0100】
通知モジュールは、1つ以上のトリガーイベント(例えば時間または場所に基づく1つ以上のトリガーイベント)の発生に基づいてバナーを提供することもできる。例えば、通知モジュールが時間に基づくトリガーイベントに関連づけられた通知(例えば特定の時刻にタスクを実行するためのリマインダー)を受信すると、通知モジュールはそのイベントに関連づけられたバナーをそのイベントの開始時または開始時よりあらかじめ定められた時間だけ前に表示することができる。
【0101】
別の例として、位置に基づくトリガーイベント(例えば食料雑貨店でミルクを買うというリマインダー)に関連づけられた通知の受信に応答して、通知モジュールは電子機器が食料雑貨店の場所で検出された際にそのイベントに関連づけられたバナーを表示することができる。いくつかの実施形態において、これらのアラームバナーはユーザが所定時刻についてのアラームを停止することを可能にする「スヌーズ」ボタンを含むことができる。
【0102】
電子機器に表示されるバナーは控えめであってよい。すなわち、バナーは表示画面上で重なり合っている制御領域(controls)へのユーザアクセスを邪魔しないようにすることができる。例えば、
図7Eを参照すると、バナー728を含むことのできる表示画面726が示されている。バナー728は「通知(Notifications)」ボタン730に重畳されてよい。バナー728は控えめなバナーなので、バナー728が「通知」ボタン730の最上部に位置している間もユーザは依然として「通知」ボタン730を押下することができる。いくつかの実施形態では、バナー728が重畳していても「通知」ボタン730が依然として選択可能であることをユーザに示すことが可能な1つ以上の視覚的目安をさらに表示することができる。
【0103】
いくつかの実施形態において通知モジュールは、電子機器がロック状態(例えば電子機器が使用中でない場合)に通知を表示する方法を制御することができる。具体的には、機器がロック状態で動作している際、1つ以上の通知を様々なアプリケーションから受信することができる。具体的には、電子機器は1つ以上のプッシュイベント(例えば電話、ボイスメール、電子メール、またはサードパーティプッシュイベント)や機器の警告(例えばリマインダーやアラーム)を受信してもよい。
【0104】
通知の受信に応答して、電子機器はウェイクアップすることができ(例えばプロセッサはグラフィックスモジュールをウェイクアップすることができる)、通知モジュールは受信した通知を表示画面に表示することができる。いくつかの場合において、通知は大きな様式(large format)の通知として表示されてもよい。
図8A~
図8Fを参照すると、電子機器がロック状態で動作している間に表示可能な様々なタイプの通知を示す表示画面が示されている。
【0105】
まず
図8Aを参照すると、通知802を含むことのできる表示画面800が示されている。通知802は電子機器がロック状態で動作している間にサードパーティアプリケーションから受信した後に表示されてよい。具体的には、通知802は、通知802を生成したアプリケーションを示すアイコン804を含むことができる。さらに、通知802は、関連づけられたテキストもしくはアプリケーションから受信したテキストの一部を提供することができるテキスト806を含むことができる。
【0106】
通知802を見るとユーザは通知802に関連づけられたメッセージへ直接飛ぶことを選択することができる。例えば、ユーザは通知をタップした状態を維持することで、通知802にアクセスすることができる。ユーザの操作に応答して、通知モジュールは(例えば通知802をアニメーション表示することにより)表示画面上にスライダーを(例えば通知を裏返すことにより)表示することができる。例えば
図8Bを参照すると、通知802の裏側の構成要素として埋め込まれてよいスライダー810を含むことのできる表示画面808が示されている。ユーザはスライダーボタン812を特定の方向(例えば右)にドラッグすることにより、スライダー810を操作してよい。
【0107】
スライダー810が操作されたことを検出すると、通知モジュールは電子機器を直接ロック解除することができる。機器のロック解除後、通知モジュールは、その通知を生成したアプリケーションで、通知を提示することができる。いくつかの場合では、電子機器が特定のアプリケーションから複数の通知を受信していても、通知モジュールは他の通知を無視して、ユーザが明示的に要求した特定の通知を提示することができる。
【0108】
図8Cを参照すると、通知816を含むことのできる表示画面814が示されている。通知816は電子機器によって受信された画像テキストメッセージ(image text message)に応答して表示されてよい。特に、通知816は埋め込まれた画像818を含むことができる。さらに、通知816は、そのテキストメッセージの送信者の識別情報を提供するテキスト819を含んでもよい。さらに、通知816は画像に添えられたテキストであってよいテキスト820を含むことができる。
図8Cに示すように、画像818は通知816内に目立つように表示されてよい(例えば画像818はテキスト819や820と比較して拡大されてもよい)。
【0109】
図8Aおよび
図8Bと同様に、ユーザが通知816にアクセスするために(例えば通知816をタップした状態を維持することにより)選択を行うと、通知モジュールはスライダーを表示することができる。そしてユーザがスライダーをドラッグしてスライダーを操作すると通知モジュールは機器をロック解除し、(例えば画像818をチャットアプリケーションの画像ビューに表示するなどにより)画像818を直接ユーザに提供することができる。
【0110】
本技術分野に属する当業者は、通知モジュールが通知内のどのような好適なタイプのメディアを表示してもよいことを理解するであろう。例えば、通知は1以上の音声、1以上の電子名刺、1以上の映像、および1以上の地
図URL(例えば通知モジュールはそのURLの場所の地図を表示することができる)の1つ以上を含むことができる。さらに、合体バナーと同様に、通知モジュールはある特定のアプリケーションに関して待ち行列に入れられている複数の通知に関連づけられた上方を1つの通知で表示することができる。
【0111】
さらに、通知は1つ以上のトリガーイベント(例えば時間ベースまたは場所ベースのトリガーイベント)に応答して表示されてもよい。例えば、位置に基づくトリガーイベントに関連づけられた通知の受信に応答して、通知モジュールは電子機器がそのトリガーイベントの場所で検出された際にそのイベントに関連づけられた通知を表示することができる。
【0112】
別の例として、通知モジュールが時間に基づくトリガーイベントに関連づけられた通知を受信すると、通知モジュールはそのイベントに関連づけられた通知をそのイベントの開始時または開始時よりあらかじめ定められた時間だけ前に表示することができる。例えば、
図8Dを参照すると、通知824とともに表示画面822が示されている。通知824は、通知824が時間ベースのトリガーイベント(例えばアラーム)に応答して表示されたことを示してもよいテキスト826を含むことができる。さらに、テキスト826はアラームの説明を提供することができる。
【0113】
通知824はさらに「スヌーズ(Snooze)」ボタン828を含んでもよい。ユーザによる「スヌーズ」ボタン828の選択に応答して、通知モジュールは所定の期間アラームを停止することができる。この機能により、ユーザは電子機器をロック解除することなしにアラームを制御することが可能である。
【0114】
表示画面800(
図8A)、808(
図8B)、814(
図8C)、および822(
図8D)は、表示されている通知の上に配置されるプルダウンオプション830を含むことができる。本技術分野に属する当業者は、
図8A~
図8Dにおいてプルダウンオプション830が通知の上に示されているが、プルダウンオプション830を表示画面のいかなる好適な位置(例えば表示画面の左、右、または最下部)に位置させることが可能であることを理解するであろう。加えて、電子機器がスリープモードにある場合、電子機器のボタン(例えばオン/オフボタンおよび/またはホームボタン)を押下することによりプルダウンオプション830をユーザが見ることができるようにしてもよい。
【0115】
プルダウンオプション830は、過去に受信した通知(例えば電子期機器がロック状態で動作していた間に受信した全ての通知)をユーザが見ることを可能にする。ユーザはオプション830を表示画面上で下方向にドラッグする動作により、プルダウンオプション830を選択することができる。
【0116】
図8Eを参照すると、過去に受信した通知のリストであってよい通知リスト834を示す表示画面832が示されている。具体的には、通知リスト834の各通知が最初に受信された際、その通知は(例えば
図8A~
図8Dに示されるように)大きな様式の通知として表示されていてもよい。しかし、その通知にユーザが応答しなかったため、通知は通知リスト834に個別の要素として追加された。いくつかの実施形態において、ロックモードにおける通知の最初の表示は、同じ通知が通知リスト834で表示される場合よりも大きくすることができる。例えば、通知802(
図8B)、816(
図8C)、824(
図8D)は要素835、837、838よりもそれぞれ大きくすることができる。つまり、要素835、837、838は小さい様式で表示されてよい。
【0117】
通知リスト834の各要素は互いに積み重ねられてもよい。例えば、通知モジュールは、電子機器が受信した複数のテキストメッセージを、通知リスト834の個々の要素として表示することができる。
【0118】
いくつかの実施形態において、通知リスト834は、各通知が受信された時刻に基づいて(例えば時系列に基づいて)配列されてよい。つまり、受信した通知のうち最新のものを、通知リスト834の一番上に追加することができる。あるいは、受信した通知のうち最新のものを、通知リスト834の一番下に追加することができる。例えば
図8Eに示すように、通知リスト834は最新の通知がリスト834の一番上にくるように時系列で配列される。
【0119】
別の実施形態では、通知リスト834はユーザが選択したパラメータに基づいて配列されてもよい。例えば、ユーザはどのアプリケーションの通知が最初、2番目、3番目、…に表示されるべきかを指定することができる。ユーザが選択したパラメータに基づいて、通知モジュールは受信した通知を並び替えることができる。例えば、各アプリケーションに対応する通知をまずグループ化してから、あらかじめ定められた順序でアプリケーションを配列することができる。例えば、ボイスメールに対応する通知を最初にリストアップすることができ、電子メールに対応する通知を2番目にリストアップすることができ、テキストメッセージに対応する通知を3番目にリストアップすることができる、…といった具合である。通知リスト834を配列する方法のユーザによる選択について、
図9Bとともにより詳細に説明する。
【0120】
通知リスト834はスクロール可能であってよい。具体的には、ユーザが領域830の一部をスワイプまたはドラッグした際に、通知リスト834が上または下に移動できるよう、表示画面832の領域836がスクロール可能に構成されてよい。その結果、通知リスト834は多数の通知(例えば、機器がロック状態で動作している間に受信された全ての通知)を表示する能力を有する。いくつかの実施形態において通知リストは、プルダウンオプション830が表示されてユーザによって操作されたかどうかとは無関係に自動的に表示されてもよい。
【0121】
さらに、通知リスト834の各通知は個別にアクセス可能であってよい。例えば、各通知は個々のスライダーに関連づけられてよい。上述したように、ユーザは通知をタップした状態を保つことにより、通知リスト834内の通知にアクセスするために選択することができる。例えば、ユーザは通知838をタップし続けることができ、このユーザの動作に応答して通知は通知リスト834内にスライダーを(例えば通知838を裏返すことにより)表示することができる。
【0122】
図8Fを参照すると、表示画面840は、通知838の裏側とともに通知リスト834を示している。特に、通知838はスライダー842を含むことができる。スライダー810(
図8B)と同様、スライダー842は通知838に埋め込まれた構成であってよい。ユーザはスライダーボタン844を一方向(例えば表示画面840の右方向)にドラッグすることにより、スライダー842を操作してよい。
【0123】
スライダー842が操作されると、通知モジュールはスライダー844が操作されたことを検出することができ、通知モジュールは電子機器のロックを解除することができる。機器のロック解除後、通知モジュールは、その通知を生成したアプリケーションで、通知を提示することができる。
【0124】
いくつかの実施形態において、ユーザは機器のロックを解除するための選択を行ってもよい。例えば、ボタン(例えばオン/オフボタンまたはホームボタン)を押下したり「ロック解除(unlock)」スライダー846をスライドさせたりすることにより、ユーザは機器のロックを解除するための選択を行ってもよい。ユーザの操作に応答して、通知モジュールは(例えば
図6A~
図6Eの通知センター602と同様の)通知センターを表示画面上に表示することができる。別の実施形態において、ユーザが機器のロックを解除したことに応じて、通知モジュールは、ユーザが通知センターを明示的に起動するまで通知センターを表示しなくてもよい。いくつかの実施形態において、「ロック解除(unlock)」スライダー846(または他のユーザ入力ロック解除領域)は、いつ通知が受信されたかに基づいて変化する、コンテキスト依存テキストを含むことができる。例えば、電子メールが受信されて通知リスト834に表示される場合、テキストは「スライドして読む」である。別の例として、リマインダー通知を受信した場合、テキストは「スライドして見る」であってよい。
【0125】
いくつかの場合、通知モジュールはユーザがプライバシー設定を指定できるようにしてもよい。従って、ユーザがプライバシー設定をオンにした場合、電子機器がロック状態にある際に受信された1つ以上の通知または通知のタイプ(例えばテキストメッセージに関連づけられた通知)は、機器がロック状態のままである限り表示されない。そして、ユーザが機器のロックを解除することを選択すると、通知モジュールは受信した通知を(例えば
図7A~
図7Eのバナーと同様の)1つ以上のバナーで表示することができる。
【0126】
上述したとおり、通知をどのように表示したいかについてのユーザの好みは様々であろうから、電子機器は通知設定のカスタマイズをユーザに許すようにすることができる。具体的には、ユーザはロック状態(例えば通知)およびロック解除状態(例えば通知センターおよびバナー)について通知設定をカスタマイズできてよい。
【0127】
図5に戻ると、表示画面500は「設定(Settings)」オプション504を含むことができる。具体的には、電子機器の1つ以上の設定を変更するため、ユーザは「設定」オプション504を選択してよい。従って、ユーザが「設定」オプション504を選択したことに応じて、電子機器はシステム設定をユーザが変更することを可能にする表示画面を提供することができる。例えば、
図9A~
図9Fを参照すると、通知設定のカスタマイズに関する表示画面が示されている。
【0128】
まず
図9Aを参照すると、ユーザが「設定」オプション504(
図5)を選択した後に表示されてよい設定リスト902を含んだ表示画面900が示されている。設定リスト902は「通知(Notifications)」オプション904を含むことができる。ユーザは1つ以上の通知設定にアクセスして変更するため、(例えば「通知」オプション904をタップすることにより)「通知」オプション904を選択してよい。
【0129】
ユーザが「通知」オプション904を選択したことの検出に応答して、電子機器は表示画面に1つ以上の通知設定を提供することができる。これらの通知設定はユーザが1つ以上のバナーオプションまたは通知センターオプション(例えば電子機器がロック解除状態の場合)や、1つ以上の通知オプション(例えば電子機器がロック状態の場合)をユーザが変更することを可能にしてよい。例えば、
図9Bを参照すると、複数の通知設定を含むことのできる表示画面906が示されている。
【0130】
例えば、表示画面906は手動並び替えオプション908および自動並び替えオプション910を含むことができる。並び替えオプション908および910は、例えば通知リスト(例えば
図8Eおよび
図8Fの通知リスト834)のような1つ以上のコンテキストに通知がどのような順序で表示されるかを指定することが可能なユーザ選択パラメータである。
【0131】
ユーザが並び替えオプション908を選択すると、通知モジュール(例えば
図2の通知モジュール238)は、通知リスト内に通知が表示される順序を手動で指定することをユーザに許す(例えばユーザにオプションを提供する)ことができる。つまり、ユーザは、どのアプリケーションの通知が最初に、また2番目に、(以下同様)表示されるべきかを指定することができる。並び替えオプション908のユーザ選択に基づいて、通知モジュールは受信した通知をユーザが指定した順序に並び替えることができる。
【0132】
いくつかの実施形態において、アプリケーションが並び替えられる順序は「通知センターに含める(In Notification Center)」グループ911でアプリケーションがリストアップされる順序に対応してもよい。別の実施形態において電子機器はユーザがアプリケーションの並び順を指定することを可能にすることのできる別の表示画面(不図示)を表示してもよい。
【0133】
通知モジュールが対応するアプリケーションに基づくグループに通知を分類すると、通知はあらかじめ定められた順序を各グループに割り当てることができる。例えば、各グループについて通知モジュールは、関連づけられた通知を各通知の受信時刻に基づいて(例えば時系列順に基づいて)配列することができる。本技術分野に属する当業者は、他のあらかじめ定められた順序を代わりに用いることが可能であることを理解するであろう。
【0134】
対照的に、ユーザが並び替えオプション910を選択した場合、通知モジュールは通知リストに通知を表示するためにあらかじめ定められた順序を割り当てることができる。具体的には、通知モジュールは、受信した通知を各通知の受信時刻に基づいて(例えば時系列順に基づいて)配列することができる。つまり、受信した通知のうち最新のものを、通知リストの一番上(または一番下)に追加することができる。より新しい通知が受信されると、一番上の通知は通知リスト内で押し下げられてよい。
【0135】
表示画面906はさらに、通知センター(例えば
図6A~
図6Eの通知センター602)にどのアプリケーションを表示するかをユーザが指定できるようにすることのできるオプション912を含んでもよい。表示画面906に示されるように、オプション912は複数の対話式リスト(例えば「通知センターに含める」グループ911および「通知センターに含めない」グループ913)を含むことができる。「通知センターに含める」グループ911に含まれるアプリケーションに関する通知は、通知センターに表示される。一方、「通知センターに含めない」グループ913に含まれるアプリケーションに関する通知は、通知センターから除外される。
【0136】
ユーザは任意かつ好適な手法を用いて、どのアプリケーションを通知センターに含めるかを指定することができる。例えば、ユーザは「編集(Edit)」オプション914を選択してオプション912を手動で調整してもよい。ユーザが「編集」オプション914を選択すると、電子機器はグループ911および913へ/からユーザがアプリケーションを手動で移動することを可能にする表示画面を提供することができる。
【0137】
図9Cを参照すると、「編集」オプション914(
図9B)をユーザが選択したことに応じて表示されてよい表示画面920が示されている。表示画面920に示されるように、ユーザは「通知センターに含める(In Notification Center)」グループ911および「通知センターに含めない(Not In Notification Center)」グループ913へ/からオプション912のそれぞれを移動することができる。例えばユーザは、オプション922をタップして「通知センターに含めない」グループ913から「通知センターに含める」グループ911にドラッグすることができる。
【0138】
図9Dは、ユーザが「通知センターに含める」グループ911の一番下にオプション922が移動された際に表示されてよい表示画面924を示している。いくつかの場合において、「通知センターに含める」グループ911内でアプリケーションを配列する順番が、通知センター内でアプリケーションペインが表示される順序を決定づけてもよい。例えば、
図9Dの「通知センターに含める」グループ911に基づいて、通知センターは天気パネルを一番上に、次いでメールパネル、…、といった順序で含むことができる。従って、ユーザは各オプション922、926、928または930を(例えば各オプションをタップしてドラッグすることにより)上または下に移動させることで、通知センターに表示されるアプリケーションペインの順序を調整してもよい。
【0139】
ユーザは、通知センターに表示すべきアプリケーションの編集を終えると、「完了(Done)」オプション932を選択することができる。ユーザの選択後、電子機器は表示画面を
図9Bの表示画面906と同様の表示画面に戻すことができる。
【0140】
別の例として、ユーザは、オプション912内のオプションをタップすることにより、通知センターに表示されるべきアプリケーションを指定してもよい。例えば、
図9Bを参照すると、ユーザは「メール」オプション916を選択することができる。ユーザの選択に応答して、電子機器は「メール」アプリケーションについての表示オプションの詳細画面を提供することができる。
【0141】
図9Eを参照すると、「メール」アプリケーションについての表示オプションの詳細画面を提供することのできる表示画面940が示されている。表示画面940は、「メール」アプリケーションから受信された通知を通知センターに含めるか否かをユーザが指定することを可能にすることができるスイッチ941を含むことができる。具体的には、ユーザがスイッチ941を「ON」に設定すると、「メール」アプリケーションから受信した通知は通知センターに表示されるであろう。一方、ユーザがスイッチ941を「OFF」に設定すると、「メール」アプリケーションから受信した通知は通知センターに表示されないであろう。
【0142】
あるアプリケーションからの通知が、通知センターに含められるべきものと選択されている場合、ユーザは「表示(Show)」オプション942を選択することにより、そのアプリケーションについて表示されるべき通知のあらかじめ定められた数を指定してもよい。
【0143】
図9Fを参照すると、電子機器は、ユーザが「表示」オプション942を選択したことに応答して表示されてよい表示画面950を提供することができる。表示画面950は、オプションリスト952を含むことができる。オプションリスト952に含まれるオプションはそれぞれ異なる数(例えば1,5,10)の通知が通知センター内でアプリケーションについて表示されるようにユーザが指定することを可能にしてよい。例えば、ユーザがオプション954を選択すると、メールアプリケーションに対応するアプリケーションペイン(例えば
図6Bのアプリケーションペイン614)は、最大で10の通知を表示することができる。いくつかの場合において、更新の頻度に基づいて、一部のアプリケーション(例えば電子メールやソーシャルネットワークアプリケーション)についてはより多い数がセットされ、他のアプリケーション(例えば天気アプリケーション)についてはより少ない数がセットされてもよい。
【0144】
本技術分野に属する当業者は、オプションリスト952で提供されているオプションが単なる例示であることを理解するであろう。具体的には、電子機器は、任意のあらかじめ定められた数(例えば1,5,10,20またはそれより多い数、など)の通知をユーザが指定することを可能にする1つ以上のオプションを代わりに提供してもよい。
【0145】
あらかじめ定められた通知の数に基づき、表示可能な通知の数があらかじめ定められた数を超える場合、通知モジュールは(例えば
図6Cおよび
図6Dに示されるように)アプリケーションペインから自動的に通知を除去することができる。通知モジュールがあらかじめ定められた通知の数を超える1つ以上の通知を自動的に除去できるため、通知モジュールは通知センターにおいて通知の簡潔な提示を提供することができる。さらに、この手法は(例えば
図6Bのボタン616を選択することによって)ユーザが通知を通知センターから消去する必要がないので、ユーザにとって便利である。
【0146】
図9Eに戻って、表示画面940は、電子機器がロック状態で動作している際に(例えば
図8A~
図8Fの表示画面に)、そのアプリケーションに関連づけられた通知を表示するかどうかをユーザが選択することを可能にすることのできるオプション943(View in Lock Screen)をさらに含むことができる。いくつかの実施形態において、ユーザはオプション943を選択することができる。つまり、電子機器がロック状態で受信した通知はロック状態が解除されるまで表示されないよう、オプション943はデフォルト状態が「OFF」であってよい。
【0147】
この設定は、ユーザがプライバシーの観点から通知の表示をカスタマイズすることを可能にするため、利点を有するであろう。例えば、電子機器がロック状態で動作している間は、新たな電子メールメッセージが表示画面に現れるのをユーザが望まないかもしれない。しかし、ユーザが電子機器のロックを解除すると、ユーザは通知センターを起動するか、1つ以上のバナーを通じて、受信済みの電子メールメッセージを見ることができることを望むであろう。しかし、ユーザがオプション943を「ON」に設定することを選択した場合、通知モジュールは電子機器がロック状態にある間でも、受信した新たな通知を直ちに表示することができる。
【0148】
オプション944は電子機器がロック解除状態で動作している際に通知がどのように表示されるべきかをユーザが指定できるようにすることができる。例えば、オプション944は「なし(None)」オプション945、「バナー(Banners)」オプション946,および「警告(Alerts)」オプション947を含むことができる。
【0149】
ユーザが「なし」オプション945を選択すると、通知モジュールは特定のアプリケーションについて視覚的な通知を行わなくすることができる。しかし、通知は依然として通知センターに表示されてもよい。あるいは、ユーザが「バナー」オプション946を選択すると、通知モジュールは受信した通知を1つ以上のバナー(例えば
図7A~
図7Eに示したバナー)として表示画面に表示することができる。ユーザは例えば、特定のアプリケーションが重要ではあるが生成頻度が高い通知を送信する場合に、「バナー」オプション946を選択することができる。
【0150】
ユーザが「警告」オプション947を選択すると、通知モジュールは受信した通知をユーザの応答が必要なメッセージとして表示することができる(例えば、ユーザはアプリケーションのタイプに応じて「却下」オプションまたは「閲覧」オプションを選択することを要求される)。
【0151】
表示画面940はさらに、受信された通知に対応するバナーに、アプリケーションの画像を表示するか否かを示すことのできる「アプリケーションアイコンバッジを表示」オプション948を含んでよい。例えば、「アプリケーションアイコンバッジを表示」オプション948が「ON」に設定されている場合、通知モジュールはその通知を生成したアプリケーションを表すアイコン(例えば
図7Aのアイコン704)を表示することができる。「アプリケーションアイコンバッジを表示」オプション948が「OFF」に設定されている場合、通知モジュールはそのアプリケーションに対応したバナーにアイコンを表示しないであろう。本技術分野に属する当業者は、「アプリケーションアイコンバッジを表示」オプションが、アプリケーションの画像に加え、あるいはその代わりに、他の任意の視覚的な装飾を、通知モジュールがバナーに追加することを可能にしてもよいことを理解するであろう。
【0152】
「通知音(Sounds)」オプション949は、そのアプリケーションに関する通知の受信時の発音を許可するか否かを示すことができる。「通知音」オプション949が「OFF」に設定された場合、そのアプリケーションについての通知が受信された際に何の音も再生されないであろう。一方、「通知音」オプション949が「ON」に設定された場合、そのアプリケーションについて新しい通知が受信されると、通知は音声警報を再生することができる。その結果、「なし」オプション945が特定のアプリケーションについて選択されていたとしても(例えば、視覚的通知がない場合であったとしても)、ユーザはそのアプリケーションについて新たな通知が受信された際に依然として音声警報を聞くことができる。音声警報を聞いた結果としてユーザは、通知へアクセスするため、後で通知センターの起動を選択することができる。本技術分野に属する当業者は、
図9A~
図9Fにおいて検討した通知設定が単なる例示であって、それ以外の任意の好適な通知設定をカスタマイズ可能にすることができることを理解するであろう。
【0153】
上述したように、通知モジュールは任意の好適な電子機器において実施されてよい。例えば、通知モジュールは大型ディスプレイおよび/またはタッチスクリーン(例えば
図2のタッチI/Oデバイス212)を備えた電子機器で実施されてよい。そのような実施形態において通知センターは、より小さな機器における実施形態と同様、画面全体を満たさなくてもよい。
【0154】
例えば、
図10A~
図10Cを参照すると、大型ディスプレイを備える電子機器のための表示画面が示されている。まず
図10Aを参照すると、表示画面1000は、通知センター1002が表示画面1000の全体を満たさないことを示している。
【0155】
さらに、大型ディスプレイを備えた機器について、通知モジュールは通知センターが新たな通知を含んでいない場合に視覚的な目安を表示してもよい。例えば、
図10Bの表示画面1004に示されるように、通知モジュールは、通知センター1002が現在新しい通知を格納していないことを示すことを知らせることができる。本技術分野に属する当業者は、そのような目安が、より小さなディスプレイを備えた電子機器においても提供されてよいことを理解するであろう。
【0156】
図10Cを参照すると、表示画面1006は大型画面を有する電子機器がロック状態かつランドスケープモードである場合に表示されてよい通知のタイプを示している。従って、
図8A~
図8Fとは対照的に、受信された新規の通知は、表示画面にまず大きな様式の個別通知として表示されない。むしろ、新規の通知はスクロール可能な通知リスト1008に表示される。その結果、通知モジュールは、
図8A~
図8Dのプルダウンオプション830のようなプルダウンオプションを表示する必要がないであろう。本技術分野に属する当業者は、通知リスト1008は、電子機器がポートレートモードにある場合も同様に表示されてよいことを理解するであろう。
【0157】
本技術分野に属する当業者は、通知リスト1008内の通知の各々は、通知リスト834(
図8Eおよび
図8F)内の通知と同様の特性を示してもよい。加えて、本技術分野に属する当業者は、
図10A~
図10Cに示す表示画面が通知センターの一実施形態に過ぎないことを理解するであろう。従って、大型ディスプレイを備える電子機器で実施される通知モジュールは、(例えば
図6A~
図6E、
図7A~
図7E、
図8A~
図8F、および
図9A~
図9Fに示される通知の提示方法と同様な)任意の適切な方法で通知を表示することができる。
【0158】
図11~
図14は、本発明のいくつかの実施形態に従った例示的な処理のフローチャートを示している。これらの処理は、電子機器(例えば
図1の機器100や
図2のシステム200)の1つ以上の構成要素によって実行されてよい。例えば、
図11~
図14の処理におけるステップの少なくとも一部は、通知モジュール(例えば
図2の通知モジュール238)によって実行されてもよい。さらに、本技術分野に属する当業者は、ステップの一部が、タッチ処理モジュール(例えば、
図2のタッチ処理モジュール226)および/またはグラフィクスモジュール(例えば
図2のグラフィクスモジュール228)と連携して実施されてよいことを理解するであろう。
【0159】
まず
図11を参照すると、複数の通知の受信に応答してプルダウンオプションを表示するための処理1100が示されている。処理1100はステップ1102で開始してよく、ステップ1104で、通知モジュールは少なくとも1つのアプリケーションから複数の通知を受信することができる。
【0160】
そして、ステップ1106で通知モジュールは、電子機器がロック状態で動作していることを検出することができる。次のステップ1108で通知モジュールは、複数の通知に関連づけられた(例えば
図8A~
図8Dのプルダウンオプション830のような)プルダウンオプションを提供することができる。さらに、通知モジュールは、表示画面に通知(例えば
図8Aおよび
図8Bの通知802、
図8Cの通知816、
図8Dの通知824)をさらに提供することができる。この通知は、直近に受信された1つの通知であってよい。
【0161】
プルダウンオプションを提供した後、処理1100はステップ1110へ移行してよい。ステップ1110で通知モジュールは、ユーザがプルダウンオプションを選択したことを判定することができる。そして、ステップ1112で通知モジュールは複数の通知のリスト(例えば
図8Eおよび
図8Fの通知リスト834)を提供することができる。そして、処理1110は、ステップ1114で終わってもよい。
【0162】
図12には、通知センターを表示するための処理1200が示されている。処理1200は、ステップ1202で始まってよく、そしてステップ1204で通知モジュールは、プッシュベースの通知(例えば非サードパーティまたはサードパーティアプリケーションからの通知)およびトリガーベースの通知(例えばアラームまたはリマインダー)の少なくとも1つを含んだ複数の通知を受信することができる。
【0163】
そして、ステップ1206で通知モジュールは、電子機器がロック解除状態にあることを検出することができる。電子機器がロック解除状態にあることを検出した後、処理1200はステップ1208へ移行してよい。
【0164】
ステップ1208で通知モジュールは、ユーザが通知センターにアクセスすることを選択したことを検出することができる。例えば、通知モジュールは、ユーザが(例えば1本以上の指を表示画面の一番上から下方向へ素早くフリックすることによって)グロススワイプジェスチャーを実行したことを検出することができる。別の例として、通知モジュールは、ユーザが表示画面の一番上から下方向に1本以上の指をゆっくりドラッグしたことを検出することができる。
【0165】
ステップ1210へ続き、通知モジュールは、通知センターを表示することができる。通知センターは、複数の通知に関連づけられた複数のペイン(例えば
図6Bのペイン608~614)を含むことができる。そして、処理1200は、ステップ1212で終わってよい。
【0166】
図13は、バナーを提供するための例示的な処理1300のフローチャートを示している。処理1300はステップ1302で開始してよく、ステップ1304で、通知モジュールは少なくとも1つのアプリケーションから通知を受信することができる。ステップ1306で通知モジュールは、電子機器がロック解除状態にあることを検出することができる。
【0167】
ステップ1308へ続き、通知モジュールはその通知に関連づけられたバナーを提供することができる。このバナーは、ユーザがそのバナーと重なり合っている少なくとも1つの操作領域(control)にアクセスすることを可能にする。例えば、
図7Eに示すように、通知モジュールは、「通知」ボタン730に重畳するバナー728を提供することができる。しかし、通知モジュールは依然としてユーザが「通知」ボタン730にアクセスできるようにすることができる。バナーを提供した後、方法1300はステップ1310で終わってよい。
【0168】
図14は、通知設定を提供するための例示的な処理1400のフローチャートを示している。処理1400はステップ1402で始まってよく、ステップ1404で通知モジュールは、機器通知の設定を変更するためのオプション(例えば
図9Aの「通知」オプション904)を提供することができる。そして、ステップ1406で通知モジュールは、ユーザがそのオプションを選択したことを検出することができる。
【0169】
ステップ1408へ続いて、通知モジュールは複数の通知設定を提供することができる。この複数の通知設定は、通事順序オプション(例えば
図9Bのオプション912)、通知数オプション(例えば
図9Fのオプションリスト952)、および警告スタイルオプション(例えば
図9Eの警告スタイルオプション944)の1つ以上に関連づけられたオプションを含むことができる。そして、処理1400は、ステップ1410で終わってよい。
【0170】
なお、
図11~
図14の処理1100、1200、1300、および1400は、単なる例示であることを理解すべきである。本発明の範囲を外れることなく、これらステップのいずれもが、除去、変更、または組み合わされてよく、また、任意の追加ステップが追加されてよい。
【0171】
本発明の説明された実施形態は例証を目的として提示されたものであって、限定を目的として提示されたものではない。