以下、本発明の実施の形態について、図面に基づき詳細に説明する。
図1は、本発明の一実施形態に係る情報処理装置10の外観の一例を示す斜視図である。また、図2は、情報処理装置10の構成を示す構成ブロック図である。これらの図に示すように、情報処理装置10は、制御部11と、記憶部12と、画像処理部13と、表示装置14と、タッチセンサ15と、操作ボタン16と、を含んで構成される。
制御部11は、例えばCPU等であって、記憶部12に格納されているプログラムに従って、各種の情報処理を実行する。本実施形態において制御部11が実行する処理の具体例については、後述する。
記憶部12は、例えばRAMやROM等のメモリ素子や、ディスクデバイスなどであって、制御部11によって実行されるプログラムや各種のデータを格納する。また、記憶部12は、制御部11のワークメモリとしても機能する。特に本実施形態では、情報処理装置10は、ゲームアプリケーション等の複数のアプリケーションプログラムAPを実行対象としており、記憶部12は、これらのアプリケーションプログラムAPを記憶している。
画像処理部13は、例えばGPUとフレームバッファメモリとを含んで構成され、制御部11が出力する描画指示に従って、表示装置14の画面Sに表示する画像を描画する。具体例として、画像処理部13は画面Sに対応したフレームバッファメモリを備え、GPUは、制御部11からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、表示装置14に出力される。
表示装置14は、画面Sを備え、画像処理部13によって描画された画像を画面Sに表示する。なお、表示装置14は、液晶表示パネルや有機EL表示パネル等、画像を表示する各種のデバイスであってよい。また、本実施形態では表示装置14が情報処理装置10の筐体内に設けられているが、表示装置14は情報処理装置10とは独立した装置であってもよい。
タッチセンサ15は、表示装置14の画面Sに対応する形状及び大きさの略矩形の検出面を備えており、この検出面上に物体が接触した場合に、当該物体の接触位置を検出する。タッチセンサ15の検出面は、画面Sと重なるように配置されている。そのため、タッチセンサ15は、画面Sに対してユーザが自分の指や手で持ったスタイラスなどの物体を接触させるなどの操作を行った場合に、このユーザの操作を検知できる。なお、以下では説明の便宜のために、タッチセンサ15はユーザの指を検出対象とし、ユーザは自分の指をタッチセンサ15に接触させて操作入力を行うこととする。また、タッチセンサ15は、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。タッチセンサ15は、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。
操作ボタン16は、タッチセンサ15とともに、ユーザが情報処理装置10に対する操作入力に用いる操作部材の一種である。ユーザは、操作ボタン16を押下することで、情報処理装置10に対する操作入力を行う。さらに本実施形態では、操作ボタン16は、それ自身光を発する発光体になっている。具体的に、例えば操作ボタン16の内部にはLED等の発光素子が配置されており、かつ操作ボタン16のカバーは透明な部材で構成されている。これにより、情報処理装置10は操作ボタン16を発光させることができる。なお、図1では1個の操作ボタン16のみが示されているが、情報処理装置10は、複数の操作ボタンを備えてもよい。また、スイッチやアナログスティックなど、その他の操作部材を備えてもよい。
ここで、記憶部12に記憶されている、情報処理装置10が実行対象とするアプリケーションプログラムAPについて、説明する。なお、以下ではアプリケーションプログラムAPは、後述するメニュー画像Imが表示された状態でユーザが選択可能なプログラムであることとする。情報処理装置10は、これらのアプリケーションプログラムAP以外にも各種のプログラムを実行してもよい。
本実施形態では、アプリケーションプログラムAPは、2種類のいずれかに分類される。すなわち、フルモード(第1モード)でのみ動作するフルモードプログラムAP1と、フルモードとは異なるメニューモード(第2モード)での動作が可能なライトプログラムAP2である。本実施形態に係る情報処理装置10は、フルモード及びメニューモードを少なくとも含む複数の動作モードのいずれかで動作する。フルモードは、画面Sの全体を一つのプログラム(フルモードプログラムAP1)が単独で占有して動作する動作モードであって、フルモードでの動作中にタッチセンサ15が検知したユーザの操作内容は、実行中のフルモードプログラムAP1に対する入力として扱われる。フルモードプログラムAP1はフルモードでのみ実行され、その処理結果を示すプログラム出力画像は、画面Sの全体に表示される。なお、フルモードプログラムAP1は、その実行時に画面Sの全体を占有するという性質上、同時に1つしか実行できず、他のフルモードプログラムAP1の処理を実行する場合には、現在実行中のフルモードプログラムAP1の処理については、終了させるか、又は一時的に中断させる必要がある。一方、メニューモードは、後述するメニュー画像表示制御部21がメニュー画像Im、又はプログラム関連画像Ipを画面Sの所定領域内に表示する動作モードであって、ライトプログラムAP2は、その処理結果を示すプログラム出力画像をプログラム関連画像Ipとして画面Sの一部の領域に表示する。また、メニューモードにおいては、複数のアプリケーションプログラムAPのそれぞれに関するプログラム関連画像Ipを切り替えて表示することができるため、ライトプログラムAP2は、複数個同時に実行させることができる。
以下、本実施形態に係る情報処理装置10が実現する機能について、説明する。図3は、情報処理装置10が実現する機能を示す機能ブロック図である。同図に示すように、情報処理装置10は、機能的に、操作受付部20と、メニュー画像表示制御部21と、プログラム実行部22と、イベント情報受領部23と、イベント通知部24と、イベントリスト表示制御部25と、を含んで構成される。これらの機能は、制御部11が記憶部12に格納されたプログラムを実行することで、実現される。このプログラムは、例えば光ディスク等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて情報処理装置10に提供されてよい。また、インターネット等の通信ネットワークを介して情報処理装置10に提供されてもよい。
操作受付部20は、タッチセンサ15や操作ボタン16に対するユーザの指示操作を受け付ける。特に本実施形態において、ユーザは、例えばタッチセンサ15の検出面上に自分の指を接触させたり、検出面上に指を接触させた状態で指をスライドさせたりすることで、情報処理装置10に対する操作入力を行う。以下では、ユーザが検出面上の一点に短い時間だけ指を接触させる動作をタップ操作という。タップ操作が行われた場合、操作受付部20は、タップ操作の位置(すなわち、ユーザが指を接触させた検出面内の位置)を出力する。また、ユーザが検出面上の一点に指を接触させ、その位置を始点として検出面上のいずれかの方向に直線的に指を動かしてから指を離す動作を、スライド操作という。スライド操作が行われた場合、情報処理装置10は、当該操作においてユーザが指を移動させた方向に応じて、各種の情報処理を行う。すなわち、スライド操作は、ユーザが情報処理装置10に対して方向を指示する操作である。後述するメニュー画像Imやプログラム関連画像Ipが表示された状態でスライド操作が行われた場合、操作受付部20は、その始点及び終点の位置から、ユーザが指示する方向を特定する。ここで特定される方向は、例えば、画面Sの上下左右の4方向のいずれかであってよい。後述する各機能部は、操作受付部20が受け付けたタップ操作やスライド操作の内容に応じて、各種の情報処理を実行する。
メニュー画像表示制御部21は、例えば情報処理装置10の起動時や、ユーザがメニュー表示を指示した時など、所定のタイミングで、メニュー画像Imを画面Sに表示する。このメニュー画像Imは、実行対象とするアプリケーションプログラムAPをユーザに選択させるために提示される画像であって、ユーザによる選択対象となる複数のメニュー項目画像Icを含む画像である。複数のメニュー項目画像Icのそれぞれは、複数のアプリケーションプログラムAPのいずれかに関連づけられている。各メニュー項目画像Icは、対応するアプリケーションプログラムAPを表すアイコン画像などであってよい。
図4は、メニュー画像Imが表示された画面Sの一例を示す図である。この図においては、それぞれアプリケーションプログラムAPに関連づけられた10個のメニュー項目画像Ic1〜Ic10が、メニュー画像Imに含まれている。また、この図4では、画面Sの上辺に沿って細長い矩形のステータスバー表示領域Asが設けられており、このステータスバー表示領域Asにステータスバーが表示されている。ステータスバー内には、後述する通知画像Inが含まれている。また、ステータスバー内には、例えば電池残量や通信状態などの情報処理装置10の状態を示す各種の情報や、現在時刻等が含まれてもよい。さらに、画面S内のメニュー画像Imが表示される領域をプログラム表示領域Apという。図5の例では、プログラム表示領域Apは画面Sのステータスバー表示領域Asを除いた領域になっているが、ステータスバーを常時表示させる必要がない場合には、プログラム表示領域Apは画面Sの全体であってもよい。なお、前述したメニューモードは、メニュー画像表示制御部21がステータスバー表示領域Asにステータスバーを表示するとともに、プログラム表示領域Apにメニュー画像Im又はプログラム関連画像Ip(複数のアプリケーションプログラムAPのいずれかに関する画像)を表示している状態であるものとする。
メニュー画像Imが表示された状態において、ユーザは、いずれかのメニュー項目画像Icが表示された位置をタップすることで、メニューの選択操作を行う。すなわち、ユーザは、いずれかのメニュー項目画像Icを選択することによって、当該選択されたメニュー項目画像Icに関連づけられたアプリケーションプログラムAPに関するプログラム関連画像Ipの表示を指示する。ただし、本実施形態では、ユーザがメニュー項目画像Icを選択した際に、選択されたメニュー項目画像Icに対応するアプリケーションプログラムAPが直ちに起動されるとは限らない。具体的に、ユーザがフルモードプログラムAP1を選択した場合、メニュー画像表示制御部21は、当該選択されたフルモードプログラムAP1に対応するプログラム関連画像Ipをプログラム表示領域Apに表示させるだけで、その時点では当該フルモードプログラムAP1の起動は行わない。一方、ユーザがライトプログラムAP2を選択した場合、メニュー画像表示制御部21は、当該ライトプログラムAP2の起動をプログラム実行部22に指示し、当該ライトプログラムAP2が出力する画像を、当該ライトプログラムAP2に対応するプログラム関連画像Ipとしてプログラム表示領域Apに表示させる。
プログラム関連画像Ipは、対応するアプリケーションプログラムAPに関連する情報を含む画像であって、画面Sのプログラム表示領域Apに表示される。具体的に、フルモードプログラムAP1に対応するプログラム関連画像Ipは、ユーザが当該フルモードプログラムAP1の起動を指示する操作を行う対象となる起動用画像を含んでいる。本実施形態では、この起動用画像は、起動ボタンを表す起動ボタン画像ILであることとする。なお、フルモードプログラムAP1に対応するプログラム関連画像Ipは、フルモードプログラムAP1が起動する前から表示されるため、当然ながらフルモードプログラムAP1自身によって描画される画像ではなく、これとは別のプログラム(ここではメニュー画像表示制御部21を実現するプログラム)によって描画される。
図5は、フルモードプログラムAP1に対応するプログラム関連画像Ipを表示する画面の一例を示す図である。この図の例では、プログラム関連画像Ipの中央に、対応するフルモードプログラムAP1を起動する操作の対象となる起動ボタン画像ILが配置されている。また、起動ボタン画像ILの周囲には、当該フルモードプログラムAP1の提供元が用意した、当該プログラムに関連する各種の関連情報が含まれている。
一方、ライトプログラムAP2に対応するプログラム関連画像Ipは、当該ライトプログラムAP2の処理結果を示すプログラム出力画像そのものであってよい。この場合、ライトプログラムAP2に対応するプログラム関連画像Ipは、フルモードプログラムAP1の場合と異なり、ライトプログラムAP2自身によって描画されることになる。
また、メニュー画像表示制御部21は、ユーザの指示に応じて、プログラム表示領域Apに表示する画像をメニュー画像Im及びプログラム関連画像Ipの間で切り替えることとする。さらにメニュー画像表示制御部21は、ユーザが過去に複数のメニュー項目画像Icを順に選択した結果表示された複数のプログラム関連画像Ipを、ユーザの指示に応じて切り替えて表示してもよい。これによりユーザは、情報処理装置10がメニューモードで動作している間、メニュー画像Im、及び過去に表示された1又は複数のプログラム関連画像Ipを任意に切り替えてプログラム表示領域Apに表示させることができる。
プログラム実行部22は、制御部11が各種のプログラムを実行することにより実現される。ここで、プログラム実行部22が実行対象とするプログラムは、これまで説明したアプリケーションプログラムAPを含む。本実施形態では、プログラム実行部22は、メニュー画像Imが表示された状態でユーザがライトプログラムAP2を選択する操作を行った場合や、フルモードプログラムAP1に対応するプログラム関連画像Ipが表示された状態でユーザが当該フルモードプログラムAP1の起動を指示する操作を行った場合に、ユーザによる操作の対象となったプログラムを実行する。さらに、プログラム実行部22が実行対象とするプログラムには、その処理の実行中にイベント情報を出力するイベント出力プログラムが含まれる。なお、イベント出力プログラムは、アプリケーションプログラムAPを含んでよい。また、ユーザの明示の指示によらずに例えば基本システムの一部として実行される各種のシステムプログラムを含んでもよい。
特にプログラム実行部22がフルモードプログラムAP1を実行する場合、プログラム実行部22は情報処理装置10の動作モードをフルモードに切り替えて、フルモードでフルモードプログラムAP1を実行する。このとき、既に述べたように、フルモードプログラムAP1の処理結果を示すプログラム出力画像は、画面S全体に表示され、タッチセンサ15に対するユーザの操作入力は、全て実行中のフルモードプログラムAP1に対する入力として処理される。
なお、フルモードプログラムAP1の実行中にユーザが操作ボタン16を押下した場合、プログラム実行部22はフルモードプログラムAP1の処理を中断して、情報処理装置10の動作モードをフルモードからメニューモードへと切り替える。これにより、メニュー画像表示制御部21は、当該フルモードプログラムAP1の起動前に表示されていたプログラム関連画像Ipをプログラム表示領域Apに再表示する。
イベント出力プログラムの実行中に、プログラム実行部22は、その処理内容に応じて各種のイベント情報を出力する。このイベント情報は、例えば特定の処理の開始や終了をユーザに知らせる情報や、当該イベント出力プログラムの処理の進行や時間の経過に伴って特定の条件が成立したことを通知する情報などであってよい。このようなイベント情報の具体例としては、データのダウンロードを行うプログラムにおける、ダウンロードの開始や終了を通知する情報や、音楽再生プログラムにおける音楽の再生開始や一時停止を通知する情報などが挙げられる。また、プログラム実行部22は、定期的に現時点での状況を通知するイベント情報を出力してもよい。このようなイベント情報の具体例としては、電子メール受信プログラムにおける、現時点での未読のメール件数を通知する情報が挙げられる。また、プログラム実行部22は、アプリケーションプログラムAPの処理にエラーが発生した場合や、ユーザの要求する操作が何らかの条件で実行できない場合などに、このような不具合の内容を通知するイベント情報を出力してもよい。
イベント情報受領部23は、プログラム実行部22が出力するイベント情報を受領する。なお、同時期に複数のイベント出力プログラムが実行されている場合、イベント情報受領部23は、これら複数のイベント出力プログラムのそれぞれが出力するイベント情報を受領する。この場合、各イベント出力プログラムは、自分自身を識別するための情報(以下、プログラムIDという)とともにイベント情報を出力するものとする。こうすれば、イベント情報受領部23は、プログラムIDを参照してイベント情報の出力元のプログラムを特定することができる。
イベント通知部24は、イベント情報受領部23が新たなイベント情報を受領したタイミングで、当該イベント情報の受領をユーザに通知する。イベント通知部24によるイベントの通知は、何らかの出力デバイスからイベント情報の受領を知らせるための出力を行うことにより実現される。具体的に、このイベント通知は、表示装置14の画面Sに表示される表示内容の変化によって実現されてもよい。また、情報処理装置10の筐体表面に設けられた発光体の点灯や点滅、スピーカーからの音声出力などによって実現されてよい。また、これらの出力デバイスによる出力を組み合わせて実現されてもよい。このイベント通知によって、ユーザは、プログラム実行部22が実行中のイベント出力プログラムにおいて何らかのイベントが発生したことを知ることができる。
さらにイベント通知部24は、情報処理装置10がフルモードで動作中の場合とメニューモードで動作中の場合とで、イベント通知の態様を変化させてもよい。より具体的に、イベント通知部24は、イベント通知のために使用する出力デバイスを、情報処理装置10の動作モードに応じて変化させてもよい。
特に本実施形態では、フルモードにおいては単一のフルモードプログラムAP1が画面Sの全体を占有してプログラム出力画像の表示を行うこととしている。そのため、フルモードでの動作中は、画面S内にイベント発生を通知する画像を表示することは不都合な場合がある。そこでイベント通知部24は、メニューモードで動作中の場合には画面Sの表示を変化させることによってイベント通知を行い、フルモードで動作中の場合には画面Sの表示を変化させる以外の方法で(すなわち、表示装置14以外の出力デバイスにより)イベント通知を行うこととしてもよい。
以下では、このような動作モードに応じたイベント通知の具体例について、説明する。この具体例において、イベント通知部24は、メニューモードでの動作中にイベント情報の出力が行われた場合、画面Sに当該イベント情報の内容を示すバルーン画像Ibをポップアップ表示する。また、併せてイベント通知部24は、ステータスバー内の所定領域に表示されている通知画像Inを所定の色に変化させるとともに、通知画像In内に表示されている数字に1を加算する。この数字は、これまでに通知されたイベントの数を示しており、初期値は0である。なお、まだイベント通知が1件もされていない状態においては、通知画像In内に数字を表示せずともよい。また、この数字は、後述するイベント情報のリストが表示されたタイミングなど、所定のタイミングで0にリセットされてもよい。さらにイベント通知部24は、イベント通知が1件もされていない状態においては、第1の色(例えば灰色など)で通知画像Inを表示させることとし、最初にイベント情報の出力が行われた際には、通知画像Inを第2の色(例えば青色など)に変化させることによって当該イベントの通知を行う。そして、それ以降に新たなイベント通知がなされた際には通知画像Inの表示色は第2の色のまま変化させず、その代わりに通知画像Inを一定時間点滅させたりその形状を変化させたりするアニメーションを表示する。図6は、ここで説明したイベント情報を通知する画面の一例を示している。このバルーン画像Ibは、一定時間経過後に画面Sから消去してもよいし、ユーザの明示の操作(例えば画面S内のバルーン画像Ib以外の位置へのタップ操作)によって画面Sから消去してもよい。さらにバルーン画像Ibを消去する際には、通知画像Inの位置にバルーン画像Ibが吸い込まれるようなアニメーション表示を行ってもよい。
一方、フルモードでの動作中にイベント情報の出力が行われた場合、イベント通知部24は、画面Sの表示を変化させる代わりに、操作ボタン16を発光させることによってイベントを通知する。ここで、操作ボタン16の発光色は、メニューモードにおいて最初のイベント通知が行われた際に通知画像Inが変化する色(前述した第2の色)と同色であってもよい。こうすれば、メニューモードとフルモードとでイベント通知部24によるイベントの通知方法が異なるにもかかわらず、イベント通知の際における操作ボタン16の発光色と通知画像Inの色が同じなので、ユーザはどちらの場合にもイベント通知があったということを直感的に把握することができる。
さらに、操作ボタン16は、前述したようにフルモードからメニューモードへの復帰のために使用されるボタンであって、フルモードでの動作中にユーザが操作ボタン16を押下すると、画面Sにはそれまで表示されていなかったステータスバーが再表示されることになる。このメニューモードへの復帰時に、イベント通知部24は、メニューモードで動作中にイベント通知が行われる場合と同様に、直近の過去に出力されたイベント情報の内容を示すバルーン画像Ibを画面S内に表示させたり、通知画像Inをイベント通知が存在する旨を示す色(前述した第2の色)に変化させてもよい。こうすれば、ユーザはイベント通知のために発光した操作ボタン16そのものを操作することによって、当該通知されたイベント情報の内容を確認することができる。つまり、フルモードでの動作中にイベント通知が行われた場合には、当該イベント通知を行った出力デバイス(発光体)そのものを操作すればイベント情報の内容を確認できることになるので、ユーザはイベント情報の内容を確認するために操作すべき操作部材を容易に把握できる。なお、ここでは操作ボタン16を発光させることとしたが、これに代えて、例えば情報処理装置10の筐体表面において操作ボタン16の近傍に配置された発光体を発光させることによってイベントを通知してもよい。
また、イベント通知部24は、プログラム実行部22が現在実行結果を画面Sに表示中のアプリケーションプログラムAPがイベント情報を出力した場合、情報処理装置10の現在の動作モードに応じて、イベント情報受領部23が受領した当該イベント情報を通知するか否かを決定してもよい。例えばイベント通知部24は、情報処理装置10がフルモードで動作している場合には、画面Sにプログラム出力画像を表示中のフルモードプログラムAP1が出力したイベント情報については、イベント通知の対象としないこととする。このようなイベント情報は、ユーザが操作ボタン16を操作して情報処理装置10をメニューモードに遷移させることによってイベント情報の内容を確認せずとも、画面SにフルモードプログラムAP1自身が表示するプログラム出力画像によってユーザに提示されることが一般的だからである。なお、この場合、イベント通知部24が通知対象としないにも関わらず、イベント情報受領部23が受領したイベント情報は後述するイベントログに追加されてもよい。こうすれば、ユーザは後からイベントリスト表示制御部25が表示するイベントリストを閲覧することにより、通知されなかったイベントの発生を把握することができる。一方で、情報処理装置10がメニューモードで動作している場合には、イベント通知部24は、画面Sのプログラム表示領域Apにプログラム出力画像を表示中のライトプログラムAP2が出力したイベント情報を、通知画像Inを変化させたり、バルーン画像Ibをポップアップ表示させたりするなどの方法で通知してもよい。これにより、ユーザは他のライトプログラムAP2が生成するプログラム出力画像を表示中にイベントが通知される場合と同じように、イベントの発生を認識することができる。
イベントリスト表示制御部25は、ユーザの要求に応じて、イベント通知部24によって過去に通知の対象とされたイベント情報のリストを画面S内に表示する。なお、イベントリスト表示制御部25は、リストに含めるべきイベント情報を、過去に通知されたイベント情報の履歴(イベントログ)を参照して決定する。具体的に、例えばイベント情報受領部23は、プログラム実行部22からイベント情報を受領するごとに、受領したイベント情報の内容を記憶部12内のイベントログに追加する。イベントリスト表示制御部25は、この記憶部12に記憶されているイベントログを参照することで、リストに含めるべきイベント情報を取得する。図7は、このような記憶部12に記憶されるイベントログの一例を示している。なお、イベントログに記録されるイベント情報の総数には上限が設定され、この上限を超える古いイベント情報については順次削除されることとしてもよい。
ここで、イベントリスト表示制御部25による具体的なイベントリストの表示例について、説明する。例えばイベントリスト表示制御部25は、メニューモードにおいてステータスバー内に配置されている通知画像Inの表示位置をユーザがタップした場合に、簡易なイベント情報のリスト(以下、簡易リストL1という)をポップアップ表示する。なお、イベントログに記憶されているイベント情報の総数が所定の上限数(例えば5件)を超える場合、イベントリスト表示制御部25は、当該上限数のイベント情報だけを簡易リストL1に含めて表示してもよい。図8はこのようなポップアップ表示される簡易リストL1の一例を示す図であって、直近の過去に通知された5件のイベントの内容を示す5つの表示欄が、イベントの通知順に並んで簡易リストL1内に表示されている。なお、この図では、記憶部12のイベントログに実際には6件以上のイベント情報が記録されている場合の表示例が示されており、表示しきれないイベント情報があることを示す案内画像Igがリストの最下欄に表示されている。また、簡易リストL1内の各表示欄には、対応するイベント情報の出力元のプログラムを示すアイコン画像と、当該イベント情報の内容を示す文字列(イベント情報の出力元のプログラムが出力したイベントメッセージ)とが含まれている。これ以外に、各表示欄には、イベント情報の通知タイミングを示す情報(例えばイベント情報が通知された日時を示す情報や、イベント情報が通知された時期が現時点よりどれくらい前かを示す情報)などが含まれてもよい。
図8の簡易リストL1が表示された状態において、ユーザが案内画像Igの表示位置をタップした場合、イベントリスト表示制御部25は、イベントログに記録された全てのイベント情報を含んだリスト(以下、詳細リストL2という)を画面Sのプログラム表示領域Apに表示する。図9は、このような詳細リストL2を表示する画面の一例を示している。この図の例では、プログラム表示領域Ap内に一度に3件分のイベント情報しか表示されていないが、例えばユーザがプログラム表示領域Ap内で上下方向へのスライド操作を行うことによって、表示されているイベント情報をスクロールさせて、簡易リストL1に表示された件数より多くのイベント情報を表示させることができる。
なお、イベントリスト表示制御部25は、表示するイベント情報のリスト内にイベント情報だけでなくその他の表示項目を含めてもよい。図8及び図9の例では、情報処理装置10は通信ネットワーク経由で外部から各種のデータやプログラムをダウンロードすることとしており、このダウンロード対象となったデータのそれぞれについて、ダウンロードの状況を示す情報がイベント情報とともに一覧表示されている。具体的に、イベントリスト表示制御部25は、ダウンロード対象のデータについて、そのダウンロードが完了している場合にはダウンロード済みであることを示すメッセージを表示し、他のデータのダウンロードを実行中であるなどの理由で当該データのダウンロードが開始されていない場合には、ダウンロード待機中である旨を示すメッセージが表示する。また、当該データをダウンロード中の場合には、ダウンロードの進行度(当該データ全体の何%がダウンロード済みか)を示す情報を表示してもよい。また、この例では、イベントリスト表示制御部25は、ユーザの選択に応じて、ダウンロードの状況を示す情報だけを一覧表示したり、通知されたイベント情報だけを一覧表示してもよい。図9の例では、プログラム表示領域Ap内の上方に表示されている「すべて」ボタンをユーザがタップするとダウンロード状況を示す情報及び通知されたイベント情報の双方を含むリストが表示され、「お知らせ」ボタンをタップした場合にはイベント情報だけが、「ダウンロード」ボタンをタップした場合にはダウンロード状況を示す情報だけが、それぞれ一覧表示される。
なお、ダウンロードの開始や終了に関する情報は、イベントリスト表示制御部25が表示するリスト内に含まれて表示されるだけでなく、イベント通知部24による通知の対象としてもよい。この場合、データのダウンロード処理を実行するプログラム(ダウンロードプログラム)がイベント出力プログラムとして機能し、ダウンロードの開始や終了を知らせるイベント情報をイベント情報受領部23に対して出力する。イベント通知部24は、他のイベント出力プログラムが出力するイベント情報と同様に、ダウンロードプログラムがダウンロードの開始や終了を知らせるイベント情報を出力すると、そのことを画面Sの表示を変化させたり操作ボタン16を発光させたりしてユーザに通知する。
さらに、イベント通知部24は、ダウンロードプログラムがダウンロードを実行している間には、通知画像Inを変化させることによってダウンロード実行中であることをユーザに通知してもよい。例えばイベント通知部24は、ダウンロード開始のイベント情報をイベント情報受領部23が受領した場合、通知画像In内にダウンロード実行中であることを示すアイコン画像Idを表示する。図10は、このようなアイコン画像Idが表示された画面の一例を示している。なお、図10では、通知画像Inの形状及び大きさもこれまでの表示例とは異なっている。さらに、ダウンロード終了のイベント情報をイベント情報受領部23が受領した場合、イベント通知部24は、当該アイコン画像Idの表示を終了させ、その代わりにダウンロード終了のイベント情報をバルーン画像Ibとして表示させ、イベント情報を受領した旨を示す色に通知画像Inを変化させる。このアイコン画像Idは時間とともに変化する動画像であってもよい。こうすれば、よりダウンロードを実行中であることがユーザに分かり易くなる。なお、通知画像In内にアイコン画像Idを表示することによってダウンロード実行中であることをユーザに通知する場合、情報処理装置10がフルモードで動作している間は、このようなアイコン画像Idを表示させることができない。そのため、イベント通知部24は、情報処理装置10がフルモードで動作しているか、あるいはメニューモードで動作しているか、に応じて、ダウンロード実行中である旨の通知を行うか否かを切り替えることになる。
なお、図9の詳細リストL2が表示された状態においてユーザが「履歴の消去」ボタンをタップした場合、イベントログの内容が全て消去される。また、イベントリストが表示された状態か否かに関わらず、ユーザの指示に応じて特定のフルモードプログラムAP1を起動する場合、プログラム実行部22は当該フルモードプログラムAP1が過去に出力したイベント情報をイベントログから削除してもよい。
さらに、イベントリスト表示制御部25がイベント情報のリストを表示している状態において、いずれかのイベント情報の表示欄をタップすることによってリスト内のイベント情報を選択する操作をユーザが行った場合、情報処理装置10は、当該選択の対象となったイベント情報の出力元のプログラムの処理結果を画面Sに表示してもよい。より具体的に、フルモードプログラムAP1が出力したイベント情報が選択された場合には、プログラム実行部22が当該フルモードプログラムAP1の実行を再開し、当該フルモードプログラムAP1が描画するプログラム出力画像を画面Sの全体に表示する。また、ライトプログラムAP2が出力したイベント情報が選択された場合には、メニュー画像表示制御部21によってプログラム表示領域Apに表示される画像が当該ライトプログラムAP2の処理結果を示すプログラム出力画像に切り替えられる。こうすれば、ユーザは容易にイベント情報の出力元のプログラムを呼び出して、当該プログラムが描画するプログラム出力画像を閲覧することにより、通知されたイベントの詳細(例えば未読メール件数を通知するイベント情報の場合、未読メールの内容)を確認することができる。
また、本実施形態において、イベントリスト表示制御部25は、イベント情報の出力元となるイベント出力プログラムごとに、イベント情報のリストに含めるイベント情報の件数を制限することとしてもよい。このような制御の具体例について、以下に説明する。
前述したように、プログラム実行部22が実行するイベント出力プログラムは、それぞれ自分自身のプログラムIDとともにイベント情報を出力する。イベント情報受領部23は、新たなイベント情報を受領した場合、このプログラムIDを参照して当該イベント情報の出力元のプログラムを特定し、過去にイベント通知部24による通知対象となったイベント情報(すなわち、記憶部12のイベントログに記録済みのイベント情報)の中に、特定されたイベント出力プログラムと同じプログラムによって出力されたイベント情報が所定の件数含まれているかを確認する。そして、同じイベント出力プログラムが出力したイベント情報が既に所定の件数だけ含まれている場合には、新たに受領したイベント情報をイベントログに追加する際に、同じイベント出力プログラムが出力したイベント情報を1件分イベントログから削除する。なお、削除するイベント情報は、例えば当該イベント出力プログラムが出力した複数のイベント情報のうち、最も古い時期に出力されたイベント情報であってよい。ここで、所定の件数は、予め定められたイベント出力プログラムごとのリスト表示上限数であって、例えば1であってもよい。リスト表示上限数が1の場合には、1つのイベント出力プログラムにつき、1個のイベント情報だけがイベントログに含まれることになる。また、このリスト表示上限数は、イベント出力プログラムごとに異なる数であってもよい。
このような制御によれば、イベント情報を出力する複数のイベント出力プログラムのそれぞれについて、イベントログには常にリスト表示上限数を超えない数のイベント情報だけが含まれることになる。そのため、あるイベント出力プログラムが過去にリスト表示上限数を超える数のイベント情報を出力した場合であっても、当該イベント出力プログラムについては最大でもリスト表示上限数に等しい数のイベント情報だけしかリストに含まれないことになる。そのため、例えば特定のイベント出力プログラムが連続して多数のイベント情報を出力した場合であっても、この特定のイベント出力プログラムによるイベント情報だけでリストが埋め尽くされてしまうような状況を回避し、他のイベント出力プログラムが出力したイベント情報も併せて一覧表示させることができるようになる。さらに、イベントログからイベント情報を削除する際には、同じイベント出力プログラムが出力したイベント情報のうち、最も古い時期に出力されたイベント情報を削除することで、直近の過去に出力された順にリスト表示上限数のイベント情報がリストに含まれて表示されることになる。こうすれば、イベント出力プログラムごとに、より最新の処理状況を知らせるイベント情報を優先してユーザに提示することができる。
なお、このようにイベント出力プログラムごとにリスト表示されるイベント情報の件数の上限が設定されることによって、比較的最近通知されたばかりのイベント情報であっても、同じイベント出力プログラムが新たなイベント情報を出力するとイベントログから削除されてしまうことがある。しかしながら本実施形態では、上述したように、イベントリスト表示制御部25がイベント情報のリストを表示した状態で、ユーザがリスト中のイベント情報を選択した場合に、当該イベント情報の出力元のプログラムによる処理結果を表すプログラム出力画像を画面Sに表示することとしている。一般的に、イベント情報を出力するイベント出力プログラムは、過去に出力したイベント情報のうち、ユーザが把握する必要のある情報をユーザに提示するための機能を備えている。そのため、リスト表示上限数を超えて古いイベント情報がイベントログから削除されてしまった場合であっても、同じイベント出力プログラムが出力したイベント情報は必ず1件以上リスト内に残っているはずなので、当該イベント情報をリストから選択し、当該イベント出力プログラムの処理結果を確認することによって、ユーザは、イベントログから削除されてしまったイベント情報に関する情報を閲覧することができる。
また、これまでの説明では、リスト表示上限数を超える数のイベント情報をイベント出力プログラムが出力した場合、イベント情報受領部23が古いイベント情報をイベントログから削除することとした。しかしながら、イベントログからの削除は行わずに、単にイベントリスト表示制御部25がイベント情報のリストを表示する際に、リスト表示上限数を超えるイベント情報の表示を制限することとし、リスト表示上限数までのイベント情報だけを含めてリストを表示するようにしてもよい。この場合にも、イベント出力プログラムごとにリスト表示されるイベント情報の数はリスト表示上限数以下に抑えられる。さらにこの場合には、リスト表示の対象とならないイベント情報についてもイベントログ内には残っているので、例えばユーザの要求に応じて特定の1つのイベント出力プログラムが出力したイベント情報を一覧表示する場合には、イベントログに記録されているリスト表示上限数を超える数のイベント情報を表示することとしてもよい。
なお、本発明の実施の形態に係る情報処理装置は、以上説明したものに限られない。例えば情報処理装置10は、画面Sに重ねて配置されるタッチセンサ15に代えて、又はこれに加えて、情報処理装置10の筐体の裏面側(画面Sが配置された面の裏側)にタッチセンサを備えてもよい。この場合、この裏面側のタッチセンサも、画面Sに対応した検出面を備えており、ユーザは当該タッチセンサ上に指などを接触させることで、画面Sに対するタップ操作やスライド操作を行うことができる。そのため、この裏面側のタッチセンサに対する操作入力によって、イベント情報のリストを画面Sに表示させたり、表示されたリストをスクロールさせたりしてもよい。
また、以上の説明では、フルモードプログラムAP1は画面S全体を占有してフルモードでのみ動作することとし、ライトプログラムAP2は、メニュー画像表示制御部21がプログラム表示領域Apに表示される画像を複数のプログラム関連画像Ipの間で切り替え可能なメニューモードで動作することとした。しかしながら、情報処理装置10はフルモード及びメニューモード以外の動作モードで動作してもよい。このような動作モードの1つとして、両者の中間的な動作モード(中間動作モード)があってもよい。この中間動作モードでは、フルモードプログラムAP1のうち中間動作モードでの動作を想定して作成されたプログラムが動作する。このプログラムは、フルモードプログラムAP1の一種なので、他のフルモードプログラムAP1と同時期に実行することはできない。しかしながら、画面Sの全体を占有するわけではなく、その処理結果を示すプログラム出力画像は、画面S内においてステータスバーと同時に表示されることができる。このような動作モードにおいては、通知画像Inをステータスバー内に表示することができるので、メニューモードでの動作中と同様に通知画像Inの表示を変化させてイベント通知を行ってもよい。あるいは、フルモードでの動作中と同様に、操作ボタン16等の発光体を発光させてイベント通知を行ってもよい。
また、情報処理装置10は、例えばウィンドウなどの形式で複数のプログラムの処理結果を画面S内に同時に表示する動作モードで動作してもよい。この場合にも、情報処理装置10は、複数のウィンドウが画面S内に共存する動作モードで動作中には画面S内の表示を変化させてイベント通知を行い、単一のアプリケーションプログラムが画面S全体を占有するフルモードで動作している場合には画面S内の表示を変化させずに発光体を発光させるなど他の方法でイベント通知を行うことで、動作モードに応じた態様でのイベント通知を実現できる。