以下、本発明の実施の形態について、図面に基づき詳細に説明する。
図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からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、画面Sに表示される。
表示部14は、液晶表示パネルや有機EL表示パネル等、画像を表示する各種のデバイスであってよい。表示部14の画面Sは、図3に示すように、略矩形の形状をしている。以下では、画面Sの外周を構成する各辺を、上辺L1、右辺L2、左辺L3、及び下辺L4と表記する。また、画面Sの横方向(すなわち、上辺L1及び下辺L4に沿った方向)をX軸方向とし、右辺L2に向かう方向をX軸正方向とする。また、画面Sの縦方向(すなわち、右辺L2及び左辺L3に沿った方向)をY軸方向とし、上辺L1に向かう方向をY軸正方向とする。
タッチセンサ15は、画面Sに対応する形状及び大きさの略矩形の検出面を備えており、この検出面上に物体が接触した場合に、当該物体の接触位置を検出する。タッチセンサ15の検出面は、画面Sと重なるように配置されている。なお、以下では説明の便宜のために、ユーザは自分の指をタッチセンサ15に接触させて操作入力を行うこととするが、これに限らず、ユーザはスタイラスなど手で持った物体を検出面に触れさせることとしてもよい。また、タッチセンサ15は、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。タッチセンサ15は、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。
操作ボタン16は、タッチセンサ15とともに、ユーザが情報処理装置10に対する操作入力に用いる操作部材の一種である。ユーザは、操作ボタン16を押下することで、情報処理装置10に対する操作入力を行う。なお、図1では1個の操作ボタン16のみが示されているが、情報処理装置1は、複数の操作ボタンを備えてもよい。また、スイッチやアナログスティックなど、その他の操作部材を備えてもよい。
本実施形態では、制御部11は、ユーザの指示操作を受け付けるために、メニュー画像やアプリケーションプログラムAPに関する画像など、各種の画像を画面Sに表示する。そして、これらの画像が表示された状態におけるタッチセンサ15の検出結果を用いて、各種の情報処理を実行する。具体的に、制御部11は、タッチセンサ15によるユーザの指の位置の検出結果を用いて、ユーザの操作入力の内容を判断する。そして、当該判断された操作入力の内容に応じた処理を実行し、処理結果を画面Sに表示することで、ユーザに提示する。
ここで、記憶部12に記憶されている、情報処理装置10が実行対象とするアプリケーションプログラムAPについて、説明する。なお、以下ではアプリケーションプログラムAPは、後述するメニュー画像Im又はボード画像Ibが表示された状態において、ユーザの選択に応じて起動されるプログラムであることとする。情報処理装置10は、これらのアプリケーションプログラムAP以外にも各種のプログラムを実行してもよい。
本実施形態では、アプリケーションプログラムAPは、2種類のいずれかに分類される。すなわち、フルモードでのみ動作するフルモードプログラムAP1と、フルモード以外での動作が可能なライトプログラムAP2である。ここで、フルモードとは、画面Sの全体を一つのプログラムが単独で占有して動作するモードである。フルモードプログラムAP1は、その実行中はフルモードの状態で動作し、その処理結果を画面S全体に表示する。一方、ライトプログラムAP2は、後述するボード画像Ib内にその処理結果を表示する。
また、記憶部12は、これらのアプリケーションプログラムAPのそれぞれに関連づけて、当該アプリケーションプログラムAPを表すメニュー項目画像Ic、及び背景画像Iw(壁紙画像)を記憶している。さらに、記憶部12は、フルモードプログラムAP1のそれぞれに関連づけて、当該プログラムに関連するプログラム関連画像を記憶している。このプログラム関連画像には、ユーザが当該プログラムを起動する操作の対象となる起動用画像が含まれる。本実施形態では、この起動用画像は、起動ボタンを表す起動ボタン画像ILであることとする。
以下、本実施形態に係る情報処理装置10が実現する機能について、説明する。図4は、情報処理装置10が実現する機能を示す機能ブロック図である。同図に示すように、情報処理装置10は、機能的に、操作受付部20と、メニュー画像表示制御部21と、ボード画像表示制御部22と、選択順管理部23と、画像切替部24と、スクロール制御部25と、シンボル画像表示部26と、プログラム起動部27と、を含んで構成される。これらの機能は、制御部11が記憶部12に格納されたプログラムを実行することで、実現される。このプログラムは、例えば光ディスク等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて情報処理装置10に提供されてよい。また、インターネット等の通信ネットワークを介して情報処理装置10に提供されてもよい。
操作受付部20は、タッチセンサ15や操作ボタン16に対するユーザの指示操作を受け付ける。特に本実施形態において、ユーザは、例えばタッチセンサ15の検出面上に自分の指を接触させたり、検出面上に指を接触させた状態で指をスライドさせたりすることで、情報処理装置10に対する操作入力を行う。具体的に、以下では、ユーザが検出面上の一点に短い時間だけ指を接触させる動作をタップ操作という。タップ操作が行われた場合、操作受付部20は、タップ操作の位置(すなわち、ユーザが指を接触させた検出面内の位置)を出力する。また、ユーザが検出面上の一点に指を接触させ、その位置を始点として検出面上のいずれかの方向に直線的に指を動かしてから指を離す動作を、スライド操作という。スライド操作が行われた場合、情報処理装置10は、当該操作においてユーザが指を移動させた方向に応じて、各種の情報処理を行う。すなわち、スライド操作は、ユーザが情報処理装置10に対して方向を指示する操作である。後述するメニュー画像Imやボード画像Ibが表示された状態でスライド操作が行われた場合、操作受付部20は、その始点及び終点の位置から、ユーザが指示する方向を特定する。ここで特定される方向は、例えば、画面Sの上下左右の4方向のいずれかであってよい。あるいは操作受付部20は、特定の画像が表示された状態で特定の領域内の位置を始点及び/又は終点とするスライド操作があった場合、当該スライド操作の始点及び終点の位置から、スライド操作の方向が所定の範囲内にあるか否かを判定してもよい。後述する各機能部は、操作受付部20が受け付けたタップ操作やスライド操作の内容に応じて、各種の情報処理を実行する。
メニュー画像表示制御部21は、例えば情報処理装置10の起動時や、ユーザがメニュー表示を指示した時など、所定のタイミングで、メニュー画像Imを画面Sに表示する。このメニュー画像Imは、ユーザにメニューを選択させるために提示される画像であって、ユーザによる選択対象となる複数のメニュー項目画像Icが表された画像である。具体的に、本実施形態では、メニュー画像Imは、アプリケーションプログラムAPをユーザに選択させるための画像であって、各メニュー項目画像Icは、前述したように、これらのアプリケーションプログラムAPのいずれかに関連づけられて記憶部12に記憶されている。なお、各メニュー項目画像Icは、対応するアプリケーションプログラムAPを表すアイコン画像であってよい。また、本実施形態ではメニュー項目画像Icは予め記憶部12に記憶されていることとしたが、メニュー画像表示制御部21は、例えば各アプリケーションプログラムAPのプログラム名を示す文字列に基づいて当該アプリケーションプログラムAPに対応するメニュー項目画像Icを生成してもよい。
図5は、メニュー画像Imが表示された画面Sの一例を示す図である。この図においては、それぞれアプリケーションプログラムAPに関連づけられた10個のメニュー項目画像Ic1〜Ic10が、メニュー画像Imに含まれている。また、この図5では、画面Sの上辺L1に沿って細長い矩形のステータスバー表示領域Asが設けられており、このステータスバー表示領域Asにステータスバーが表示されている。ステータスバー内には、後述するシンボル画像Isが表示されており、その他に、例えば電池残量や通信状態などの情報処理装置10の状態を示す各種の情報や、現在時刻等が表示されてもよい。また、画面S内のメニュー画像Imが表示される領域をボード表示領域Abという。図5の例では、ボード表示領域Abは画面Sのステータスバー表示領域Asを除いた領域になっているが、ステータスバーを常時表示させる必要がない場合には、ボード表示領域Abは画面Sの全体であってもよい。
メニュー画像Imが表示された状態において、ユーザは、いずれかのメニュー項目画像Icが表示された位置をタップすることで、メニューの選択操作を行う。すなわち、ユーザは、いずれかのメニュー項目画像Icを選択することによって、当該選択されたメニュー項目画像Icに関連づけられたアプリケーションプログラムAPに関する画像の表示を指示する。ユーザのタップ操作を受け付けた場合、メニュー画像表示制御部21は、ユーザがタップした画面S内の位置に表示されているメニュー項目画像Icを特定する。そして、そのメニュー項目画像Icに関連づけられたアプリケーションプログラムAPを特定する情報(ここでは当該アプリケーションプログラムAPのプログラムIDとする)をボード画像表示制御部22及び選択順管理部23に対して出力する。
なお、図5の例ではメニュー画像Imは画面Sのボード表示領域Ab内に収まるサイズの画像であることとしたが、メニュー画像Imは、ボード表示領域Abを超えるサイズであってもよい。この場合、ユーザは後述するスクロール指示を行うことにより、ボード表示領域Abに表示されているメニュー画像Imをスクロールさせて、メニュー画像Imのうちの自分が希望するメニュー項目画像Icを含む部分をボード表示領域Ab内に表示させる。そして、表示されたメニュー項目画像Icの選択操作を行う。また、メニュー画像Imの内容は、ユーザによってカスタマイズ可能としてもよい。具体的に、情報処理装置10は、ユーザの指示に応じて、例えばメニュー画像Im内に表示するメニュー項目画像Icを追加/削除したり、各メニュー項目画像Icのメニュー画像Im内における配置位置を変更したりしてもよい。
ボード画像表示制御部22は、メニュー画像表示制御部21がメニュー画像Imを画面Sに表示した状態で、メニュー画像Imに含まれるいずれかのメニュー項目画像Icがユーザにより選択された場合に、この選択されたメニュー項目画像Icに関連する画像(選択対象画像)を画面Sに表示する。特に本実施形態では、ボード画像表示制御部22は、ユーザにより選択されたメニュー項目画像Icに関連づけられたアプリケーションプログラムAPに関連する画像を選択対象画像として取得し、画面Sに表示する。具体的に、ボード画像表示制御部22は、ユーザが選択したアプリケーションプログラムAPのプログラムIDをメニュー画像表示制御部21から受け付けると、当該アプリケーションプログラムAPに関連するプログラム関連画像を記憶部12から読み出したり、通信ネットワーク経由で当該アプリケーションプログラムAPに関する情報を受信したりする。なお、ボード画像表示制御部22は、起動ボタン画像ILを含むプログラム関連画像も、通信ネットワーク経由で外部のサーバから取得してもよい。そして、これらのアプリケーションプログラムAPに関連する情報を含んだ選択対象画像を生成する。この選択対象画像は、プログラムボードB内の様子を表す画像である。プログラムボードBは、選択されたアプリケーションプログラムAPに関連する複数の表示要素が配置された仮想的な領域である。また、以下ではプログラムボードB内の様子を表す選択対象画像をボード画像Ibという。ボード画像Ibは、メニュー画像表示制御部21がメニュー画像Imを表示していたのと同じボード表示領域Ab内に表示される。
プログラムボードBは、ボード表示領域Ab内に収まるサイズの領域であってもよいが、以下では、所定のスクロール方向(ここではY軸方向とする)に沿って延びる矩形の領域であって、そのY軸方向に沿って延びる辺は、ボード表示領域Abの同じ向きの一辺よりも長いものとする。そのため、ボード画像表示制御部22は、プログラムボードBの全体を一度にボード表示領域Ab内に表示することはできず、プログラムボードBの一部の範囲だけをボード画像Ibとしてボード表示領域Ab内に表示することになる。ここで、プログラムボードB内の実際に画面Sに表示される範囲(以下、表示対象範囲Rという)は、後述するスクロール制御部25の制御に応じて、所定のスクロール方向(Y軸方向)に沿ってプログラムボードB内を移動する。ボード画像Ibは、プログラムボードBのうち、スクロール制御部25の制御によって移動する表示対象範囲R内の様子を表す画像である。なお、表示対象範囲Rのサイズ及び形状は、ボード表示領域Abのサイズ及び形状に対応している。具体的に、本実施形態では、表示対象範囲Rは矩形の形状をしており、そのY軸方向に沿った辺の長さは、ボード表示領域AbのY軸方向に沿った辺の長さと一致する。一方、表示対象範囲RのX軸方向に沿った辺の長さは、ボード表示領域AbのX軸方向に沿った辺の長さより、後述する2つの表象画像In1及びIn2の分だけ短くなっている。なお、表示対象範囲Rは、最初にボード画像表示制御部22がボード画像Ibを表示する際には、例えばプログラムボードBの最上端など、所定の位置に配置されることとする。
図6は、アプリケーションプログラムAPのうち、フルモードプログラムAP1に対応するプログラムボードBの一例を示す図である。この図に例示するように、本実施形態では、プログラムボードBは、互いに異なる種類の情報を表す表示要素がそれぞれ配置された複数の部分領域を含む場合がある。図6では、プログラムボードBはプログラム情報領域P1及びコミュニケーション領域P2の2つの部分領域を含んで構成されている。プログラム情報領域P1は、アプリケーションプログラムAPの提供元によって用意された情報が提示される領域であり、その大きさは、表示対象範囲Rの大きさと対応している。また、コミュニケーション領域P2は、ユーザ同士の情報交換等に利用される領域である。
具体的に、プログラム情報領域P1には、記憶部12に記憶されているプログラム関連画像が表示要素として配置される。特に図6の例では、プログラム情報領域P1の中央に、当該アプリケーションプログラムAPを起動する操作の対象となる起動ボタン画像ILが含まれている。また、起動ボタン画像ILの周囲には、アプリケーションプログラムAPの提供元が用意した、当該プログラムに関連する各種の関連情報が含まれている。この関連情報は、予めアプリケーションプログラムAPや起動ボタン画像ILとともに記憶部12にプログラム関連画像として記憶されていてもよいし、インターネット等の通信ネットワークを介して動的に情報処理装置10に提供される情報であってもよい。後者の場合、記憶部12には、プログラム情報領域P1に含めるべき関連情報の提供元を示す情報(例えばURLなど)が当該プログラムと関連づけられて予め記憶されている。ボード画像表示制御部22は、この情報を用いて通信ネットワーク経由でアプリケーションプログラムAPの提供元などが用意したコンテンツ配信サーバにアクセスし、当該コンテンツ配信サーバが提供する関連情報を取得する。そして、取得した関連情報の内容を表す表示要素と、記憶部12に記憶されている起動ボタン画像ILとを含むプログラム情報領域P1の画像をプログラムボードBの一部として生成する。こうすれば、アプリケーションプログラムAPの提供元は、コンテンツ配信サーバに格納された関連情報を随時更新することで、アプリケーションプログラムAPに関する最新の関連情報を情報処理装置10に配信し、ユーザがアプリケーションプログラムAPを起動しようとする際にこのような関連情報をユーザに提示することができる。
なお、プログラム情報領域P1は、当該プログラムボードBに対応するアプリケーションプログラムAPに固有の情報だけでなく、他のアプリケーションプログラムAPに対応するプログラムボードBと共通する内容の表示要素を含んでもよい。
コミュニケーション領域P2は、アプリケーションプログラムAPに関して複数のユーザが投稿したメッセージの内容を提示する領域になっている。具体的に、例えば情報処理装置10のユーザは、アプリケーションプログラムAPに関するメッセージを、インターネット等の通信ネットワークを経由して、所定のコミュニケーションサーバに投稿できるようになっている。このような投稿処理を実現するため、情報処理装置10は、アプリケーションプログラムAPと関連づけて、メッセージの投稿先となるコミュニケーションサーバを特定する情報(URLなど)を記憶部12に記憶しており、この情報を参照してユーザが入力したメッセージをコミュニケーションサーバに送信する。また、ボード画像表示制御部22は、当該アプリケーションプログラムAPに関連づけられたプログラムボードBを生成する際には、コミュニケーションサーバにアクセスし、このアプリケーションプログラムAPに関して過去に投稿されたメッセージ情報を取得する。そして、取得したメッセージ内容やメッセージの発言者を表す表示要素を配置したコミュニケーション領域P2の画像を、プログラムボードBの一部として生成する。
図8は、ボード画像Ibが表示された画面Sの一例を示す図であって、図6に示すプログラムボードBのプログラム情報領域P1と重なる位置に表示対象範囲Rが設定されている場合のボード画像Ibの例を示している。この図の例では、ボード画像Ibは、所定の背景画像Iwの上にプログラムボードB内の表示要素を重ね合わせて生成されている。図7は、背景画像Iwの一例を示す図である。ここで、背景画像Iwは、前述したように、複数のアプリケーションプログラムAPのそれぞれに関連づけて予め記憶部12に記憶されており、各アプリケーションプログラムAPに関連するプログラムボードB内の様子を示すボード画像Ibを生成する際には、当該アプリケーションプログラムAPに関連づけられた背景画像Iwが用いられることとする。
また、ボード画像Ibが画面Sに表示された状態において、ユーザが後述する表示終了操作及び表示終了制限操作を行う対象となる画面S内の所定領域(以下、操作対象領域Acという)には、操作位置案内画像Igが表示されている。この操作位置案内画像Igは、操作対象領域Acの画面S内における位置をユーザに案内するための画像であって、操作対象領域Acに対応する位置に表示される。なお、操作位置案内画像Igが表示される位置は、必ずしも操作対象領域Acそのものと完全に一致しなくともよい。図8の例では、操作対象領域Acはボード表示領域Abの右上隅に設定されており、操作位置案内画像Igは、この位置で背景画像Iwが一部めくれている様子を示す画像となっている。
ボード画像Ibが画面Sに表示された状態において、ユーザは画像切り替え操作を行うことによって、表示されるボード画像Ibの切り替えを行うことができる。また、スクロール操作を行うことで、プログラムボードBに設定された表示対象範囲Rを移動させ、ボード画像Ibとして表示される内容をスクロールさせることができる。これらの操作については、後に詳しく説明する。
また、フルモードプログラムAP1に対応するボード画像Ibが画面Sに表示された状態において、ユーザは当該フルモードプログラムAP1の起動を指示する操作を行うことができる。具体的に、ユーザは、起動ボタン画像ILを含むボード画像Ibが画面S内に表示された状態において、この起動ボタン画像ILの表示位置をタップすることにより、対応するフルモードプログラムAP1の起動を指示する。当該起動指示を受け付けると、プログラム起動部27がフルモードプログラムAP1をフルモードで起動する。これにより、そのプログラムが生成する処理結果の画像が画面S全体に表示されるようになる。この状態において、例えば操作ボタン16を押下するなどの操作によってユーザがフルモードの終了を指示すると、ボード画像表示制御部22は、フルモードプログラムAP1の起動直前に表示されていたボード画像Ibを再表示する。このとき、情報処理装置10は、必ずしもそれまで実行されていたフルモードプログラムAP1を終了する必要はなく、当該プログラムの実行を一時停止した状態でボード画像Ibを再表示してもよい。こうすれば、再度起動ボタン画像ILをタップするなどの方法で、ユーザが当該フルモードプログラムAP1の再実行を指示することで、情報処理装置10は、一時停止されていた当該プログラムの実行を再開できる。
このように、フルモードプログラムAP1に対応するメニュー項目画像Icが選択された場合に、直ちに当該プログラムを起動するのではなく、まず起動ボタン画像ILを含んだボード画像Ibを表示することで、当該プログラムに関する各種の情報をユーザに提示できる。また、後述するように、ボード画像Ibが表示された状態においてユーザはこれまで表示したボード画像Ibの切り替えを指示する画像切り替え操作を行うことができる。しかしながら、フルモードで動作中のプログラムは、このような画像切り替え操作に相当する操作を、当該プログラムの処理に関する他の操作として受け付ける場合があり得る。そこで、情報処理装置10は、フルモードプログラムAP1に対応するメニュー項目画像Icが選択された場合に、まずボード画像Ibを表示することで、処理実行中は画面全体を占有するフルモードプログラムAP1も、画像切り替え操作による切り替えの対象に含めることができる。
なお、メニュー項目画像Icが表示された状態においてユーザが選択したメニュー項目画像Icに対応するアプリケーションプログラムAPが、フルモードプログラムAP1ではなくライトプログラムAP2である場合、プログラム起動部27が、ライトプログラムAP2を直ちに起動してもよい。この場合、ボード画像表示制御部22は、これまで説明したような起動ボタン画像ILを含むプログラムボードBではなく、ライトプログラムAP2の処理結果を含むプログラムボードBを生成し、その一部をボード画像Ibとしてボード表示領域Abに表示する。この場合に生成されるプログラムボードBも、フルモードプログラムAP1の場合と同様に、その横幅(X軸方向に沿った辺の長さ)がボード表示領域Abの横幅に対応し、Y軸方向に沿って延びる矩形の領域であってよい。特に、ライトプログラムAP2の処理結果が表示されるプログラムボードBについても、その横幅が表示対象範囲Rの横幅を超えないようにすることで、当該プログラムボードBの全体を確認するために横方向(X軸方向)に表示対象範囲Rを移動させるスクロール制御を行う必要がなくなる。そのため、X軸方向へのスライド操作をスクロール操作ではなく後述する画像切り替え操作として受け付けることができるようになる。
選択順管理部23は、ユーザによって過去に選択されたメニュー項目画像Icの選択順を管理する。具体的に、選択順管理部23は、ユーザがメニュー項目画像Icを選択した際にメニュー画像表示制御部21が出力するプログラムIDを受け付けて、当該受け付けたプログラムIDを記憶部12に用意した記憶領域(以下、選択順記憶領域Mという)内に順次格納していく。これにより、過去にユーザが選択したアプリケーションプログラムAPを特定するプログラムIDが、ユーザに選択された順序で記憶部12に記憶されることになる。なお、選択順管理部23は、この選択順記憶領域Mに格納されるプログラムIDを、予め定められた所定数(以下、上限数Nとする)までに制限する。具体的に、本実施形態において選択順管理部23は、先入れ先出し方式でプログラムIDを選択順記憶領域Mに追加していく。すなわち、既にユーザが上限数Nに一致する数のメニュー項目画像Icを選択し、これらN個のメニュー項目画像Icのそれぞれに対応するボード画像Ibがこれまでに表示された状態において、ユーザが新たに別のメニュー項目画像Icを選択した場合、選択順管理部23は、当該新たに選択されたメニュー項目画像Icに対応するアプリケーションプログラムAPのプログラムIDを選択順記憶領域Mに追加するとともに、選択順記憶領域Mに記憶されているプログラムIDのうち、最初に選択順記憶領域Mに格納されたプログラムIDを削除する。なお、本実施形態では、上限数Nは7であることとしている。
図9A〜図9Cは、選択順記憶領域Mに記憶されるデータ内容の一例を示す図である。図9Aでは、これまでにプログラムAPa、プログラムAPc、及びプログラムAPbの3個のアプリケーションプログラムAPがこの順にユーザによって選択されたことが示されている。その後、ユーザがプログラムAPd、プログラムAPh、プログラムAPf、及びプログラムAPgをこの順に選択した場合、選択順記憶領域Mに記憶されるデータ内容は図9Bに示すものになる。さらにその後、メニュー画像Imが表示された状態においてユーザがプログラムAPeを選択した場合、選択順記憶領域Mに記憶されているN個のプログラムIDのうち、最初に選択順記憶領域Mに格納されたプログラムAPaのプログラムIDが選択順記憶領域Mから削除され、プログラムEのプログラムIDが選択順記憶領域Mに追加される。その結果、選択順記憶領域M内のデータ内容は図9Cに示すものになる。
ここで、選択順記憶領域Mに記憶されているプログラムIDは、後述する画像切替部24による切り替え対象となるボード画像Ibを特定するために用いられる。すなわち、選択順記憶領域Mに記憶されている各プログラムIDに対応するボード画像Ibが、画像切替部24による切り替えの対象となり、選択順記憶領域Mから削除されたプログラムIDに対応するボード画像Ibは、画像切替部24による切り替え対象から除外されることになる。そこで、メニュー画像表示制御部21は、選択順記憶領域Mに上限数Nと同数のプログラムIDが既に格納された状態で新たなメニュー項目画像Icの選択を受け付けた場合、新たなメニュー項目画像Icの選択によって切り替え対象から除外されるボード画像Ibが存在することを警告するメッセージを画面Sに表示するなどして出力してもよい。さらにこの場合、当該メッセージに対してユーザが切り替え対象からのボード画像Ibの除外を許可する応答を行った場合に、選択順記憶領域MからのプログラムIDの削除と、新たに選択されたメニュー項目画像Icに対応するボード画像Ibの表示が行われることとし、このような応答が行われなかった場合、選択順管理部23は、選択順記憶領域MからプログラムIDを削除しないこととしてもよい。この場合には、新たに選択されたメニュー項目画像Icに対応するプログラムIDの選択順記憶領域Mへの追加が行われないことになる。
なお、ここでは新たにメニュー項目画像Icの選択が行われた場合に削除されるプログラムIDは、最初に選択順記憶領域Mに格納されたプログラムIDであることとしたが、削除対象となるプログラムIDは他の方法で決定されてもよい。具体的に、選択順管理部23は、画像切替部24によって切り替え対象となっている各ボード画像が最後に表示されたタイミングを記憶しておく。すなわち、画像切替部24による画像切り替えが行われた結果、あるボード画像Ibの表示が一旦終了した場合、選択順管理部23は、そのタイミングを示すタイミング情報を当該ボード画像Ibに関連づけて記憶しておく。そして、選択順記憶領域Mに上限数Nと同数のプログラムIDが既に格納された状態で新たなメニュー項目画像Icの選択を受け付けた場合、選択順管理部23は、これまでに記憶されたタイミング情報を参照して、最後に画面Sに表示されたタイミングが最も古いボード画像Ibを特定し、当該特定されたボード画像Ibに対応するプログラムIDを削除対象とする。なお、この場合において、あるボード画像Ibが画面Sに一旦表示されたものの、その表示時間が所定時間未満だった場合、前述のタイミング情報を更新しないこととしてもよい。これは、表示時間が極端に短い場合、ユーザはそのボード画像Ibを閲覧しようとして画面Sに表示させたのではなく、画像切り替えを行う過程でたまたま表示させたに過ぎないと考えられるからである。なお、このように削除対象のプログラムIDを決定する場合にも、プログラムIDを実際に削除する前に、前述したのと同様の警告メッセージを出力し、当該メッセージに対してユーザの許可応答があった場合に、プログラムIDの削除を実行してもよい。
また、選択順管理部23は、選択順記憶領域Mに記憶された複数のプログラムIDのうち、どのプログラムIDによって特定されるアプリケーションプログラムAPのボード画像Ibが現在画面Sに表示されているかを示すポインタ情報を管理している。新たなメニュー項目画像Icがユーザによって選択され、これに応じて対応するプログラムIDが選択順記憶領域Mに追加される際には、選択順管理部23は、新たに追加されるプログラムIDを指し示すようにポインタ情報を更新する。また、後述する画像切替部24によって画面Sに表示される画像の切り替えが行われる場合には、選択順管理部23は、この切り替えに応じてポインタ情報を更新する。
なお、ボード画像表示制御部22は、ユーザが所定の表示終了操作を行った場合に、現在表示中のボード画像Ibの表示を終了する。この場合、選択順管理部23は、当該表示の終了処理の対象となったボード画像Ibに対応するプログラムIDを、選択順記憶領域Mから削除する。また、ボード画像表示制御部22は、ユーザが所定の表示終了制限操作を行った場合に、現在表示中のボード画像Ibを、上述した終了処理の対象とならないよう制限する状態に遷移する。図9Aから図9Cに示したように、選択順記憶領域Mには、各プログラムIDに関連づけて、当該プログラムIDに対応するボード画像Ibが表示終了制限状態にあるか否かを示すフラグ(表示終了制限フラグ)が格納されている。選択順管理部23は、ユーザが表示終了制限操作を行った場合には、現在表示中のボード画像Ibに対応するプログラムIDに関連づけられた表示終了制限フラグを、表示終了が制限されたことを示す値に更新する。このボード画像Ibの表示終了処理、及び表示終了制限処理については、後に詳しく説明する。
画像切替部24は、ボード画像表示制御部22が既に表示したボード画像Ibを切り替え対象として、当該切り替え対象のボード画像Ibの中からユーザの指示に応じて選択される画像を、画面Sのボード表示領域Abに再表示させる。具体的に、画像切替部24は、ユーザが所定の画像切り替え操作を行った場合に、選択順記憶領域Mに記憶されているプログラムIDと、当該画像切り替え操作の内容と、に応じて、現在表示中のボード画像Ibとは別の過去に表示されたボード画像Ibを再表示対象として選択する。そして、当該選択された再表示対象のボード画像Ibを再表示するよう、ボード画像表示制御部22に指示する。さらに本実施形態において、この画像切替部24による切り替え対象の画像には、メニュー画像Imも含まれることとする。すなわち、画像切替部24は、選択順記憶領域Mに記憶された各プログラムIDに対応するボード画像Ib、及びメニュー画像Imの中から、ユーザの画像切り替え操作の内容に応じて、再表示対象の画像を選択する。そして、再表示対象の画像としてメニュー画像Imを選択した場合には、メニュー画像表示制御部21に対してメニュー画像Imの再表示を指示する。なお、ボード画像表示制御部22は、このような再表示に備えて、画面Sに過去に表示したボード画像Ibの画像データを記憶部12内に一時的に記憶しておいてもよい。あるいは、画像切替部24から再表示の指示を受けた場合に、その都度、再表示すべきボード画像Ibを再生成してもよい。
本実施形態において、画像切り替え操作は、画面Sの一辺に沿った方向を指示する操作である。具体的に、メニュー画像Im又はボード画像Ibが表示された状態において、画面Sの上辺L1及び下辺L4に沿った方向(X軸正方向又はX軸負方向)を指示するスライド操作をユーザが行った場合に、画像切替部24は、このスライド操作を画像切り替え操作として受け付ける。そして、指示された方向がX軸正方向及び負方向のいずれであるかと、選択順記憶領域Mに記憶されているプログラムIDの記憶順序と、に応じて、再表示する画像を決定する。
以下、切り替え対象の決定方法について詳しく説明する。切り替え対象となるボード画像Ibのいずれかが画面Sに表示されている状態でX軸負方向への指示が行われた場合、画像切替部24は、選択順記憶領域Mに記憶されているプログラムIDのうち、現在表示中のボード画像Ibに対応するプログラムIDの一つ前に選択順記憶領域Mに格納されたプログラムIDを取得し、当該取得されたプログラムIDに対応するボード画像Ibを再表示の対象として選択する。なお、現在表示中のボード画像Ibは、選択順管理部23が管理するポインタ情報を参照することにより、特定できる。一方、指示された方向がX軸正方向であった場合、画像切替部24は、現在表示中のボード画像Ibに対応するプログラムIDの一つ後に選択順記憶領域Mに格納されたプログラムIDを取得し、当該取得されたプログラムIDに対応するボード画像Ibを再表示の対象として選択する。特に、最初に選択順記憶領域Mに格納されたプログラムIDに対応するボード画像Ibが表示された状態でX軸負方向への指示がなされた場合には、これより前に選択順記憶領域Mに格納されたプログラムIDは存在しないので、画像切替部24は、画像の切り替えを行わない。
また、最後に選択順記憶領域Mに格納されたプログラムIDに対応するボード画像Ib(すなわち、最後にユーザが選択したメニュー項目画像Icに関連するボード画像Ib)が表示された状態でX軸正方向への指示がなされた場合、画像切替部24は、メニュー画像Imを再表示の対象として選択する。また、これとは逆方向の指示(すなわち、X軸負方向への指示)を、メニュー画像Imが表示された状態において受け付けた場合、画像切替部24は、最後に選択順記憶領域Mに格納されたプログラムIDに対応するボード画像Ibを再表示の対象とする。なお、メニュー画像Imが表示された状態でX軸正方向への指示がなされた場合、画像切替部24は、画像の切り替えを行わない。
以上説明した切り替え対象の選択方法によれば、情報処理装置10は、メニュー画像Im及びこれまでに表示された各ボード画像Ibがユーザの選択順に画面Sの横方向に沿って並んでいるかのように演出することができる。図10は、このようなメニュー画像Im及び各ボード画像Ibの仮想的な配列の一例を示す図であって、図9Aに例示した選択順記憶領域Mの記憶内容に対応している。上記の切り替え手順によれば、この仮想的な配列内においては、メニュー画像Imが常に左端に位置し、これまでにユーザが選択した各メニュー項目画像Icに対応する各ボード画像Ibは、ユーザが各メニュー項目画像Icを選択した順序に対応する順序で、横方向に並ぶことになる。具体的に、図10では、ユーザの選択順に応じて、向かって右側から順に、プログラムAPaに対応するボード画像IbA、プログラムAPcに対応するボード画像IbC、プログラムAPbに対するボード画像IbB、及びメニュー画像Imが並んでいる。なお、メニュー画像Im内でユーザが新たにメニュー項目画像Icを選択した場合、これに対応するボード画像Ibは、メニュー画像Imのすぐ右隣に挿入されることになる。ユーザは、各画像が表示された状態で右方向又は左方向へのスライド操作を行うことで、あたかも表示中の画像を当該操作の方向にすべらせるような感覚で、ボード表示領域Abに表示させる画像の切り替え指示を直感的に行うことができる。
このような直感的な操作をより容易にするため、ボード画像表示制御部22は、ボード表示領域Ab内にボード画像Ibを表示する際には、当該ボード画像Ibとともに2つの表象画像Inをボード表示領域Ab内に表示することとする。ここで、表象画像Inは、ボード画像Ibが表示された状態で画像の切り替えが指示された場合に、切り替え後に表示される他のボード画像Ib又はメニュー画像Imを表象する画像である。
具体的に、ボード画像表示制御部22は、画面Sの右辺L2に沿って、ボード表示領域Ab内に細長い矩形の第1表象画像In1を表示する。この第1表象画像In1は、X軸負方向へのスライド操作が行われた場合に再表示されるボード画像Ibを表象する画像である。この第1表象画像In1は、当該第1表象画像In1によって表象されるボード画像Ibの一部であってよい。より具体的には、当該表象されるボード画像Ibの左端の部分であってよい。この場合、ボード画像表示制御部22は、選択順記憶領域Mの記憶内容を参照してX軸負方向へのスライド操作が行われた場合に再表示されるボード画像Ibを特定し、当該ボード画像Ibの左端の領域をクリッピングする。そして、クリッピングした領域を第1表象画像In1としてボード表示領域Ab内に表示する。なお、ボード画像表示制御部22は、プログラムボードB内の表示要素が描画されたボード画像Ibそのものではなく、当該再表示されるボード画像Ibに含まれるべき背景画像Iwをクリッピング対象としてもよい。このような処理によっても、ボード画像Ibの一部を第1表象画像In1として表示することができる。
また、ボード画像表示制御部22は、画面Sの左辺L3に沿って、ボード表示領域Ab内に細長い矩形の第2表象画像In2を表示する。第2表象画像In2は、X軸正方向へのスライド操作が行われた場合に再表示される他のボード画像Ib又はメニュー画像Imを表象する画像である。第1表象画像In1と同様に、第2表象画像In2も、当該第2表象画像In2によって表象されるボード画像Ib又はメニュー画像Imの一部(より具体的には、当該表象される画像の右端の部分)であってよい。この場合、ボード画像表示制御部22は、前述した第1表象画像In1の場合と同様にして、切り替え後の画像を特定し、クリッピング処理を行うことで、第2表象画像In2をボード表示領域Ab内に表示できる。
以上説明したように、画面Sの上辺L1及び下辺L4(すなわち、ユーザが画像切り替え操作を行う方向に沿った辺)と連なる辺である右辺L2又は左辺L3に沿って表象画像Inを表示することで、情報処理装置10は、ユーザに、画像切り替え操作を行った際に表示される画像を案内することができる。例えば選択順記憶領域Mの記憶内容が図9Aに示すものであり、ボード表示領域Ab内にプログラムAPbに対応するボード画像IbBを表示する場合には、ボード画像表示制御部22は、第1表象画像In1としてボード画像IbCを表象する画像を、第2表象画像In2としてメニュー画像Imを表象する画像を、それぞれ表示する。これにより、ボード表示領域Ab内には、図10の一点鎖線で囲まれた矩形の領域に相当する画像が表示されることになる。そのため、ユーザは、図10のように仮想的に各画像が並んだ配列をイメージしやすくなる。
また、メニュー画像表示制御部21は、ボード画像表示制御部22がボード画像Ibを表示する場合と同様に、メニュー画像Imを表示する際に、最後に選択されたメニュー項目画像Icに対応するボード画像Ibを表象する第1表象画像In1を、画面Sの右辺L2に沿って表示してもよい。
また、ボード画像表示制御部22は、選択順記憶領域Mに記憶されているプログラムIDのうち、最初に格納されたプログラムIDに対応するボード画像Ibを表示する際には、画面Sの右辺L2に沿って、第1表象画像In1の代わりに、所定の背景画像を表示してもよい。こうすれば、ユーザは、当該ボード画像Ibが表示された状態では、X軸負方向へのスライド操作を行って画像の切り替えを行うことができないことを、容易に把握することができる。
スクロール制御部25は、ボード画像Ibが表示された状態でユーザがスクロールを指示する操作を行った場合に、当該操作に応じたスクロール制御を行う。具体的に、本実施形態では、スクロール指示の方向はY軸に沿った方向であることとし、ユーザは、ボード画像Ibが表示された状態において、Y軸正方向又はY軸負方向へのスライド操作を行うことで、スクロールを指示する。すなわち、スクロール制御部25は、Y軸正方向へのスライド操作を受け付けた場合には、表示対象範囲RをプログラムボードB内のY軸負方向へ移動させ、Y軸負方向へのスライド操作を受け付けた場合には、表示対象範囲RをY軸正方向へ移動させる。これにより、ユーザは、画像切り替え操作の場合と同様に、ボード表示領域Ab内に表示されている画像を当該スライド操作の方向にすべらせるような感覚で、表示中の画像をスクロールさせることができる。このスクロール指示によって、最初に表示されたボード画像Ibに関連する画像として、最初にボード画像Ibが表示された際には表示されていなかったプログラムボードB内の表示要素を示す画像が画面Sに表示される。
さらにスクロール制御部25は、表示対象範囲RのプログラムボードB内における位置に応じて、ユーザのスクロール指示に応じた表示対象範囲Rの移動量を変化させる。特に本実施形態では、スクロール制御部25は、フルモードプログラムAP1に対応するプログラムボードBが表示中の場合において、当該プログラムボードB内の所定の範囲が表示対象範囲Rに含まれる場合と含まれない場合とで、スクロール指示に応じた表示対象範囲Rの移動量を変化させる。なお、ここでの所定の範囲は、プログラム情報領域P1を含む範囲であることとする。本実施形態では、プログラム情報領域P1の大きさは、ボード表示領域Abの大きさと一致している。そのため、プログラム情報領域P1のY軸方向(すなわちスクロール指示の方向)に沿った長さは、表示対象範囲RのY軸方向に沿った長さに対応している。
具体的に、スクロール制御部25は、表示対象範囲Rにプログラム情報領域P1が含まれていない間は、スクロール指示の指示量に応じた移動量で表示対象範囲Rを移動させる。なお、スクロール指示の指示量は、例えばユーザがスライド操作を行った際における、タッチセンサ15の検出面上を移動するユーザの指の移動距離など、ユーザが行った操作量に応じた値であってよい。あるいは、この操作量に代えて、又はこれに加えて、ユーザが指を移動させる速さや、ユーザが検出面を押さえる強さに応じて算出される値であってもよい。また、所定の条件を満たす操作をユーザが行った回数に応じた値であってもよい。例えばスクロール指示の指示量がスライド操作におけるユーザの指の移動距離である場合、ユーザが指を動かした分だけ、表示対象範囲RがプログラムボードB内を移動することになる。一方、ユーザが行ったスクロール指示の操作が、プログラム情報領域P1を表示対象範囲Rに含めるようなスクロール指示である場合、スクロール制御部25は、このプログラム情報領域P1の全体を含むように表示対象範囲Rを移動させる。これにより、スクロール指示が完了した時点では、表示対象範囲Rは、常に、プログラム情報領域P1の全体を含む位置か、又はプログラム情報領域P1を全く含まず、コミュニケーション領域P2だけを含む位置か、のいずれかに移動していることになり、プログラム情報領域P1からコミュニケーション領域P2にまたがった位置(すなわち、プログラム情報領域P1の一部とコミュニケーション領域P2の一部とを含むような位置)で停止することはなくなる。ここで、プログラム情報領域P1は、その全体が画面Sに表示されるようにデザインされているので、このようなスクロール制御を行うことで、プログラム情報領域P1がデザイナーの意図通り表示されるようにすることができる。
また、スクロール制御部25は、ユーザが行うスクロール指示が、プログラム情報領域P1を表示対象範囲Rの全体に対して所定の割合以上含めるような指示量のスクロール指示である場合、当該プログラム情報領域P1の全体を含むように表示対象範囲Rを移動させることとしてもよい。この場合、プログラム情報領域P1を表示対象範囲Rの全体に対して所定の割合未満しか含めないような指示量のスクロール指示であれば、スクロール制御部25は、スクロール制御を行わない(すなわち、表示対象範囲Rをスクロール指示前の位置から動かさない)こととしてもよい。
スクロール制御部25は、ユーザがスライド操作を終えてタッチセンサ15から指を離した後に、指を離すまでに行われたスライド操作の操作量に応じてスクロール後の表示対象範囲Rの位置を決定し、当該決定した位置まで表示対象範囲Rを移動させるスクロール制御を実行してもよい。あるいは、ユーザがタッチセンサ15に指を接触させたままスライド操作を継続している間も、当該指の接触位置の移動に応じて表示対象範囲Rを移動させるスクロール制御を行ってもよい。この場合、スクロール制御部25は、スクロール指示の完了を受け付けた時点(すなわち、ユーザがタッチセンサ15の検出面から指を離した時点)で、当該時点の表示対象範囲Rの位置に応じて、さらに表示対象範囲Rを移動させる。具体的に、例えばスクロール制御部25は、スクロール指示を受け付けている途中の状態(すなわち、ユーザがタッチセンサ15の検出面に指を接触させながら動かしている状態)においては、表示対象範囲Rの位置に関わらず、スクロール指示の指示量に応じた移動量で表示対象範囲Rを移動させる。そして、スクロール指示の完了を受け付けた時点で、表示対象範囲Rに所定の割合以上プログラム情報領域P1が含まれる場合(すなわち、ユーザのスクロール指示が表示対象範囲Rの全体に対してプログラム情報領域P1を所定の割合以上含めるような指示量のスクロール指示であった場合)、そこからさらにプログラム情報領域P1の全体を含むように表示対象範囲Rを移動させる。こうすると、ユーザは、途中までスクロール指示を行うことによってプログラム情報領域P1が徐々に画面S内に表示されていく様子を確認しながら、ある程度プログラム情報領域P1がボード表示領域Ab内に含まれた時点でタッチセンサ15の検出面から指を離すことで、プログラム情報領域P1の全体を含めるような指示量のスクロール指示を行うまでもなく、プログラム情報領域P1の全体を画面S内に表示させることができる。なお、この場合において、ユーザが指を離した時点で表示対象範囲Rに所定の割合未満だけしかプログラム情報領域P1が含まれない場合、スクロール制御部25は、スクロール指示の途中に移動させた表示対象範囲Rを、プログラム情報領域P1を含まない位置まで戻すこととする。こうすれば、プログラム情報領域P1が部分的にしかボード表示領域Abに含まれない状態でスクロールが停止しないようにすることができる。
また、スクロール制御部25は、プログラム情報領域P1の全体がボード画像Ibとして表示された状態において、コミュニケーション領域P2を含めるようなスクロール指示を受け付けた場合にも、当該スクロール指示の指示量がコミュニケーション領域P2を表示対象範囲Rの所定割合以上含めようとするものか否かに応じて、スクロール制御の方法を変化させてもよい。具体的には、コミュニケーション領域P2を所定の割合以上含めるような指示量のスクロール指示を受け付けた場合には、プログラム情報領域P1の全体を含まない(すなわち、コミュニケーション領域P2だけを含む)位置まで表示対象範囲Rを移動させることとし、コミュニケーション領域P2を所定の割合未満だけしか表示対象範囲Rに含めないような指示量のスクロール指示を受け付けた場合には、元のプログラム情報領域P1だけを表示する位置まで表示対象範囲Rを戻すこととする。
なお、以上説明したようなある部分領域を所定の割合以上含むか、又は所定の割合未満しか含まないかの判定は、スクロール指示の指示量に応じた移動量で表示対象範囲Rがスクロール方向に沿って移動した場合の、当該表示対象範囲RのプログラムボードBに対する位置を表す座標値(ここではY座標値)が所定の範囲内にあるか否かによって判定されることとしてよい。
以上説明したスクロール制御の具体例を、図11A〜図11Fの各図を用いて説明する。なお、これらの図は、いずれも図6に示すプログラムボードBの一部分がボード画像Ibとして画面Sに表示された状態を示しており、図中の破線の矢印は検出面上におけるユーザの指の移動経路を示している。
まず、図8に示すようにプログラム情報領域P1がボード画像Ibとして表示された状態において、ユーザがY軸正方向へのスライド操作を行ったとする。このとき、ユーザが指を検出面に接触させている間は、ユーザの指の移動量と同じ量だけ表示対象範囲RがプログラムボードB内をY軸負方向に向かって移動する。これにより、図11Aに示すように、ボード表示領域A2内にコミュニケーション領域P2の上端の内容が徐々に表示されていく。ここで、所定の割合を50%とすると、図11Aの状態では、コミュニケーション領域P2の内容はボード表示領域Abの下半分を占めるほどには表示されていない。そのため、この状態でユーザが指を離した場合、表示対象範囲Rは再度プログラム情報領域P1に一致する位置まで戻っていき、図8に示すボード画像Ibが再表示される。一方、図11Aの状態からさらにユーザが指をY軸正方向に向かって移動させていくと、図11Bに示すように、ボード表示領域Abの過半をコミュニケーション領域P2が占める状態になる。この状態でユーザが指を離してスクロール指示を完了した場合、スクロール制御部25は、そこからさらにプログラム情報領域P1を含まなくなる位置まで表示対象範囲Rを移動させる。その結果、図11Cに示すように、ボード表示領域Abにはコミュニケーション領域P2の上端の部分が表示される。
この状態でさらにユーザがY軸正方向へのスライド操作を行った場合、スクロール制御部25は、当該スライド操作の操作量(すなわち、検出面上における指の移動量)に応じた量だけ表示対象範囲Rを移動させる。これにより、ユーザは、プログラムボードB内の下方に含まれる情報を、任意に閲覧することができる。図11Dは、このようなコミュニケーション領域P2内のスライド操作によるスクロール制御の様子を示している。
また、図11Cに示す状態で、ユーザが指をY軸負方向に移動させるスライド操作を行った場合、ユーザが指を検出面に接触させている間は、表示対象範囲RがY軸正方向に移動して、プログラム情報領域P1が下端側から徐々にボード表示領域Ab内に表示されていき、図11Eに示す状態になる。この状態でユーザが指を離した場合、プログラム情報領域P1は50%以上表示対象範囲Rに含まれているわけではないので、画面Sの表示は図11Cに示す状態に戻ることになる。一方、さらにユーザが指をY軸正方向にスライドさせて、図11Fに示す状態までプログラム情報領域P1の内容がボード表示領域Ab内に表示されてから、ユーザが指を離したとする。この場合、そこからさらに表示対象範囲RはY軸正方向に移動して、図8に示すように再びプログラム情報領域P1の全体がボード表示領域Abに表示される。
なお、以上の説明では、プログラム情報領域P1を一つの単位領域として、この単位領域の全体がボード表示領域Abに表示されるか、又は単位領域の全体がボード表示領域Abに表示されないか、のいずれかの状態となるようスクロール制御を行うこととしている。しかしながら、このような制御の対象となる単位領域は、複数連続してプログラムボードB内に配置されてもよい。この場合にも、いずれかの単位領域の一部範囲を新たに表示対象範囲Rに含めるようなスクロール指示を受け付けた場合、スクロール制御部25は、当該単位領域の全体を表示対象範囲Rに含めるように表示対象範囲Rを移動させてよい。こうすれば、各単位領域が、全体としてボード表示領域Ab内に表示されるか、又は完全にボード表示領域Ab内に表示されないか、のいずれかの状態となるようスクロール制御を行うことができ、いずれかの単位領域の一部だけがボード表示領域Abに表示された状態でスクロールが停止してしまわないようにすることができる。なお、この場合の単位領域は、少なくともそのスクロール指示の方向(Y軸方向)に沿った長さが、表示対象範囲RのY軸方向に沿った長さと対応するような大きさの領域である。
また、スクロール制御部25は、プログラムボードBに含まれる複数の部分領域の境界位置を含めるような指示量のスクロール指示を受け付けた場合、当該指示量に応じた移動量で移動させた後の表示対象範囲Rの位置と当該境界位置との関係に応じて決まる移動量で表示対象範囲Rを移動させてもよい。具体的には、表示対象範囲R内の所定の範囲(例えば中央近傍の範囲)に境界位置が含まれるような移動量のスクロール指示を受け付けた場合に、当該所定の範囲外に境界位置が位置するように、さらに表示対象範囲Rを移動させることとしてもよい。また、境界位置が表示対象範囲Rの外周と一致するように表示対象範囲Rを移動させてもよい。前述した単位領域に応じたスクロール制御も、プログラム情報領域P1とコミュニケーション領域P2の境界位置を表示対象範囲Rの外周と一致させるようなスクロール制御となっている。あるいは、スクロール制御部25は、境界位置が表示対象範囲Rの外周から所定距離だけ表示対象範囲Rの中央よりに近づいた場所に位置するように表示対象範囲Rを移動させてもよい。この場合、隣接する部分領域の境界位置に近い端部だけが表示対象範囲Rに含まれることになる。
なお、図11A〜図11Fにも示したように、本実施形態でスクロール制御部25がスクロール制御の対象とするのは、プログラムボードB内に配置された表示要素だけであり、背景画像Iwについてはスクロール制御の対象としていない。すなわち、スクロール制御部25によってボード表示領域Ab内に表示される画像のスクロールが行われても、背景画像Iwの表示位置は変化しない。これにより、前述した画像切り替え操作を行ってボード画像Ibの切り替えを行う際に、ユーザは切り替え後の画像をイメージしやすくなっている。これにつき、以下に説明する。
本実施形態では、スクロール指示の方向(Y軸方向)と交差する方向(X軸方向)への指示がボード画像Ibの切り替え指示の方向となっている。そのため、ユーザは、図10に示したように、切り替え対象の画像がX軸方向に並んでいる様子をイメージすることで、画像切り替え操作を行いやすくなっている。ところが、この切り替え対象の画像が、Y軸方向に延びる表示領域の一部分を示す画像である場合、Y軸方向に沿ったスクロール制御が行われると、そのままでは図10に示すような画像配列がイメージしにくくなってしまう。具体的に、例えば選択順記憶領域M内に図9Aに示す情報が格納されており、プログラムAPbに対応するプログラムボードBb内の様子を示す画像がボード画像Ibbとして表示されたとする。このとき、最初にプログラムボードBbのプログラム情報領域P1bが表示されてから、スクロールが行われることなく画像切り替え操作が行われてプログラムAPcに対応するプログラムボードBc内の様子を示すボード画像Ibcが表示された場合と、スクロールが行われて、プログラムボードBbのコミュニケーション領域P2b内の画像が表示されてから画像切り替え操作が行われてボード画像Ibcが表示された場合とで、同じボード画像Ibcが表示されると、ユーザはプログラムAPbに対応するプログラムボードBbとプログラムAPcに対応するプログラムボードBcとの間の空間的なつながりが把握しにくくなる。かといって、プログラムボードBc内の表示対象範囲Rを、プログラムボードBb内の表示対象範囲Rの移動に応じて移動させることとすると、画像切り替え操作が行われたときに、プログラムボードBc内のユーザの意図しない場所を示すボード画像Ibが表示されてしまう。そこで本実施形態では、画像切り替え操作が行われた際にボード画像Ibとして表示されるプログラムボードB内の範囲(初期表示範囲)は、画像切り替え操作前のスクロール制御による表示対象範囲Rの移動の有無に関わらずに定められた範囲であることとする。そして、スクロール制御によっても背景画像Iwの表示位置を変化させないようにすることで、このようなスクロール制御があったとしても、プログラムボードBcの背景画像Iwcと、プログラムボードBbの背景画像Iwbとは、図10に例示したように画像切り替え操作の方向(X軸方向)に沿って並んでいるようにユーザにイメージさせることができる。そのため、ユーザは、違和感なくY軸方向に沿った方向を指示するスクロール操作、及びX軸方向に沿った方向を指示する画像切り替え操作を行うことができる。
なお、画像切り替え操作が行われた際に表示されるボード画像Ibに含まれるプログラムボードB内の初期表示範囲は、例えばプログラムボードBの最上端の範囲(フルモードプログラムAP1の場合にはプログラム情報領域P1)など、固定された位置の範囲(以下、デフォルト範囲という)であってよい。図12は、この場合に、画像切り替え操作によって表示されるボード画像Ibを含む画面Sの一例を示している。この図は、選択順記憶領域M内に図9Aに示すデータが記憶されており、プログラムAPaに対応するプログラムボードB内の様子を示すボード画像Ibが表示されている状態において、X軸正方向を指示する画像切り替え操作が行われた場合の表示例を示している。ここで、例えば図8に示すようなプログラム情報領域P1内の様子を示すボード画像Ibが表示されている状態で画像切り替え操作が行われたとしても、あるいは図11Cに示すようなコミュニケーション領域P2内の様子を示すボード画像Ibが表示されている状態で画像切り替え操作が行われたとしても、ボード画像表示制御部22は、図12に示すように、プログラムAPcに対応するプログラムボードBのうちのデフォルト範囲(ここではプログラム情報領域P1)内の様子を示すボード画像Ibを画面Sに表示する。すなわち、プログラムAPaに対応するプログラムボードB内のどの範囲が画面Sに表示されていたとしても、画像切り替え後には、プログラムAPcに対応するプログラムボードBの同じ位置がボード画像Ibとして表示されることになる。
また、再表示対象となるプログラムボードB内の様子を示す画像が過去にもボード画像Ibとして表示されていた場合、画像切り替え操作後の初期表示範囲は、当該プログラムボードBの直近の過去に表示されていた範囲であってもよい。この場合、画像切替部24は、画像切り替え操作が行われる際には、画像切り替えの直前に表示されていたプログラムボードB内の表示対象範囲Rの位置を記憶しておく。そして、画像切り替え操作によって、当該プログラムボードBがボード画像Ibとして再表示される対象として選択された場合、この記憶されていた表示対象範囲Rの位置に基づいて、ボード画像Ibを生成する。
あるいは、初期表示範囲は、画像切り替え操作が行われるまで表示されていたプログラムボードB内の部分領域に応じて決定されてもよい。具体的に、本実施形態では、フルモードプログラムAP1に対応するプログラムボードBは、どのフルモードプログラムAP1についても、プログラム情報領域P1及びコミュニケーション領域P2という2つの部分領域を含むこととしている。そこで、例えばプログラムAPcのプログラムボードBcの様子を示すボード画像Ibcから、プログラムAPbのプログラムボードBbの様子を示すボード画像Ibbへの画像切り替え操作が行われる場合、画像切り替え操作の直前にプログラムボードBcのプログラム情報領域P1cが表示されていれば、このプログラム情報領域P1cに対応する部分領域(ここでは、プログラム情報領域P1cと同種の情報を含む部分領域)であるプログラムボードBbのプログラム情報領域P1bが表示される。また、画像切り替え操作の直前にプログラムボードBcのコミュニケーション領域P2cが表示されていた場合には、画像切り替え操作後は、当該コミュニケーション領域P2cに対応する部分領域であるプログラムボードBbのコミュニケーション領域P2cのうち、その最上端の範囲が表示される。このようにすることで、画像切り替え操作の対象となる複数のプログラムボードB間で、同種の情報が表示される部分領域同士を交互に切り替えて表示させることが容易になる。なお、本実施形態ではプログラムボードBは2つの部分領域を含むこととしたが、これに限らず、複数のプログラムボードBは、それぞれ、互いに対応する複数の部分領域を含み、これらの部分領域同士が相互に切り替えて表示されることとしてもよい。
ここで、画像切り替え操作後の初期表示範囲をどのように決定するかは、予めユーザが行った指示に応じて変化させてもよい。例えば情報処理装置10は、画像切り替え後の初期表示範囲を、デフォルト範囲とするか、当該プログラムボードBの直近の過去に表示されていた範囲とするか、あるいは画像切り替えの直前に表示されていた他のプログラムボードBの部分領域に応じて決定される範囲とするか、をユーザに選択させてもよい。
シンボル画像表示部26は、所定数のシンボル画像Isを画面S内に表示する。ここで、シンボル画像表示部26が表示するシンボル画像Isの数は、画像切替部24によって切り替え対象となる画像の上限数に対応する数であってよい。本実施形態では、前述したように、選択順記憶領域Mに記憶されるプログラムIDの上限数Nは7であり、これに応じて、最大7個のボード画像Ibが画像切替部24による切り替え対象となる。そこで、シンボル画像表示部26は、少なくとも7個のシンボル画像Isを表示する。さらにシンボル画像表示部26は、これらのシンボル画像Isのうち、画像切替部24による切り替えの対象となるボード画像Ibと同数のシンボル画像Isについては、他のシンボル画像Isと異なる態様で表示する。具体的に、例えば図9Aに示す情報が選択順記憶領域Mに記憶されている場合、3個のボード画像Ibが画像切替部24による切り替え対象となる。そこでシンボル画像表示部26は、3個のシンボル画像Isを、他の4個のシンボル画像Isと異なる態様で表示する。ここで、3個のシンボル画像Isは、それぞれ画像切替部24の切り替え対象になっている3個のボード画像Ibに対応するシンボル画像(以下、ボード対応シンボル画像Isbという)であり、他の4個のシンボル画像Isは、ボード画像Ibと対応しないシンボル画像(以下、非対応シンボル画像Isnという)である。このようなシンボル画像Isの表示を行うことで、ユーザは、現在いくつのボード画像Ibが画像切替部24による切り替え対象となっており、上限数N(=7)に達するまでに、さらに後いくつのボード画像Ibを画像切替部24による切り替え対象に追加できるかを把握することができる。例えば4個の非対応シンボル画像Isnが表示されている場合、後4個のボード画像Ibを画像切り替えの対象に追加できることになる。前述したように、選択順記憶領域Mに上限数Nと同数のプログラムIDが格納された状態で新たなプログラムIDが格納されようとした場合、最初に選択順記憶領域Mに格納されたプログラムIDが削除される。その結果、削除されるプログラムIDに対応するボード画像Ibは、画像切替部24による切り替え対象から除外されてしまう。そこでユーザは、シンボル画像Isを確認しながら新たなメニュー項目画像Icの選択を行うことで、過去に表示されたボード画像Ibを画像切替部24による切り替え対象から意図せずに除外してしまうことを避けられる。
なお、ボード対応シンボル画像Isbは、それぞれ対応するボード画像Ibを表象する画像であることとしてもよい。この場合、各ボード対応シンボル画像Isbは、単に非対応シンボル画像Isnと異なる態様で表示されるだけでなく、他のボード対応シンボル画像Isbとも異なる態様で表示されることになる。あるいは、各ボード対応シンボル画像Isbは、他のボード対応シンボル画像Isbと同じ態様で表示されてもよい。また、非対応シンボル画像Isnは、それぞれ他の非対応シンボル画像Isnと同じ態様で表示されてよい。また、本実施形態では、メニュー画像Imも画像切替部24による画像切り替えの対象となっているので、シンボル画像表示部26は、このメニュー画像Imに対応するシンボル画像Is(以下、メニュー対応シンボル画像Ismという)も表示してもよい。この場合、シンボル画像表示部26は、同時に8個のシンボル画像Isを表示することになる。この場合、メニュー対応シンボル画像Ismは、少なくとも非対応シンボル画像Isnと異なる態様で表示される。さらに、メニュー対応シンボル画像Ismは、メニュー画像Imを表象する固有の画像であって、ボード対応シンボル画像Isbとも異なる態様で表示される画像であってもよい。あるいは、画像切替部24による画像切り替えの対象となる画像の一種として、ボード対応シンボル画像Isbと同じ態様で表示されてもよい。
さらに、これらのシンボル画像Isは、画像切り替え操作の方向(ここではX軸方向)に沿って配列された状態で画面Sに表示されてもよい。こうすれば、図10に例示したようなメニュー画像Im及び各ボード画像Ibの仮想的な配列と対応するように各シンボル画像Isが表示されることになるので、ユーザにとって各シンボル画像Isが何を表しているかを把握しやすくなる。
本実施形態では、すでに述べたように、ステータスバー表示領域As内に8個のシンボル画像Isが表示されることとしている。このようにボード画像Ibやメニュー画像Imとともにシンボル画像Isを画面内に表示する場合、画面S内に現在表示されているボード画像Ib又はメニュー画像Imに対応するシンボル画像Isは、他と識別して表示してもよい。すなわち、シンボル画像表示部26は、複数のボード対応シンボル画像Isb及びメニュー対応シンボル画像Ismそれぞれの表示態様を、対応するメニュー画像Im又はボード画像Ibがボード表示領域Abに表示されているときと、表示されていないときとで変化させることにより、表示中のボード画像Ib又はメニュー画像Imに対応するシンボル画像Isを、他と識別して表示してもよい。具体的に、例えばシンボル画像表示部26は、表示中の画像に対応するシンボル画像Isの大きさや明度を変化させたり、表示中の画像に対応することを示す所定の画像(例えば枠線を表す画像)をシンボル画像Isに付加したりすることで、表示中の画像に対応するシンボル画像Isを他と識別して表示する。これにより、ユーザはシンボル画像Isを閲覧することで、現在表示中の画像と他の切り替え対象の画像との仮想的な位置関係を把握できる。
例えば図5では、メニュー画像Imが表示され、ボード画像Ibはまだ一つも表示されていない(すなわち、画像切替部24による切り替え対象のボード画像Ibは存在しない)場合のシンボル画像Isの表示態様が例示されている。ここでは、向かって左端のメニュー画像Imに対応するシンボル画像Isだけが、現在表示中の画像であることを示す態様で表示されている(具体的には、例えば他のシンボル画像Isとは異なる色や形状で表示される)。一方、残り7個のシンボル画像Isは、メニュー画像Imやボード画像Ibと対応しないことを示す態様で表示されている(例えば、所定の色で表示される)。また、図8では、切り替え対象のボード画像Ibが現在表示中の画像一つだけの場合のシンボル画像Isの表示態様が例示されている。ここでは、現在表示中のボード画像Ibに対応する左から2番目のシンボル画像Isが、他のシンボル画像Isと異なる態様で表示されるとともに、画像切替部24による切り替え対象となるメニュー画像Imに対応する左端のシンボル画像Isも、他の6個のシンボル画像Is(対応する画像のない非対応シンボル画像Isn)と異なる態様で表示されている。
また、図12は、図8Aに示す情報が選択順記憶領域Mに記憶され、プログラムAPcに対応するボード画像Ibcがボード表示領域Abに表示されている場合のシンボル画像Isの表示態様の一例を示している。この場合、図7の例と同様に、現在表示中のボード画像Ibcに対応する左端から3番目のシンボル画像Isが他のシンボル画像Isと異なる態様で表示されるとともに、画像切替部24による切り替え対象となるその他3個の画像(すなわち、メニュー画像Im、ボード画像Ib、及びボード画像Iba)に対応する3個のシンボル画像Isも、残り4個のシンボル画像Isとは異なる態様で表示されている。このようなシンボル画像Isを閲覧することで、ユーザは、画像切替部24による切り替え対象の画像を後4個増やせることや、X軸負方向への画像切り替え操作を後1回できること、またX軸正方向への画像切り替え操作を後2回繰り返すことでメニュー画像Imが表示されることなどを把握できる。
また、図13は、以上説明したようなステータスバー表示領域As内の表示とは別のシンボル画像Isの表示例を示している。この図の例では、シンボル画像表示部26は、ユーザの所定の操作(例えば操作ボタン16を押下する操作)に応じて表示内容を切り替えることにより、ボード表示領域Abにこれまで表示していたボード画像Ib又はメニュー画像Imをいったん消去して、ボード表示領域Ab内に計8個のシンボル画像Isを表示している。この図の例では、各シンボル画像Isは、Y軸方向に沿って延びる矩形の領域であって、X軸方向に沿って並んで配列されている。これらのシンボル画像Isのうち、画像切替部24による切り替え対象のボード画像Ibに対応するボード対応シンボル画像Isbは、その内部に、当該ボード対応シンボル画像Isbに対応するボード画像Ibに関連する画像を含んでいる。具体的に、図13の例では、これらのボード対応シンボル画像Isbは、対応するアプリケーションプログラムAPのメニュー項目画像Icを含んでいる。さらに、その背景画像として、ボード画像Ibに含まれる背景画像Iwの一部を含んでいる。なお、ボード対応シンボル画像Isbは、背景画像Iwではなく、対応するボード画像Ibそのものの一部を含んでもよい。また、これらのボード対応シンボル画像Isbは、いずれもピン画像Ipを含んでいる。このピン画像Ipは、各ボード対応シンボル画像Isbに対応するボード画像Ibが、表示終了制限状態にあるか否かを示す画像である。なお、表示終了制限状態については後述する。一方、切り替え対象のボード画像Ibと対応しない右側の4個の非対応シンボル画像Isnは、非対応シンボル画像Isnであることを示す、中に何も含まれない円形の画像を含んでいる。また、非対応シンボル画像Isn内の背景画像は、所定のデフォルト画像であってもよい。なお、メニュー画像Imに対応する右端のメニュー対応シンボル画像Ismについては、対応するメニュー項目画像Icが存在しないので、単にメニュー画像Imの背景画像の一部が表示されている。
なお、この図13に示すシンボル画像Isの表示例では、各シンボル画像Isの表示位置をタップすることで、ユーザは、画像の切り替えを指示できることとしてもよい。この場合、タップされたシンボル画像Isに対応するメニュー画像Im又はボード画像Ibがボード表示領域Abに表示される。また、ユーザがいずれかのシンボル画像Isの表示位置に指を接触させた場合、そのシンボル画像Isの表示範囲を一時的に他のシンボル画像Isより広げて、例えば背景画像Iwのより広い範囲を確認できるようにしてもよい。さらに、その状態でユーザが検出面上において指を移動させると、当該指が移動した先の位置を含むシンボル画像Isに順にフォーカスが移り、フォーカスされたシンボル画像Isの表示範囲が広がるようにしてもよい。なお、本実施形態に係る情報処理装置10がカーソルキーなどの方向指示キーを備えている場合、シンボル画像Isの選択操作はこの方向指示キーによって可能であることとしてもよい。この場合、ユーザは、方向指示キーを操作してシンボル画像Isに対するフォーカスを切り替えることで、表示対象としたいメニュー画像Im又はボード画像Ibを選択する。この例では、それまでメニュー画像Im又はボード画像Ibが表示されていた状態から、ユーザの指示によりシンボル画像Isを表示する画面に遷移した際に、それまで表示されていたメニュー画像Im又はボード画像Ibに対応するシンボル画像Isがフォーカスされた状態で、各シンボル画像Isを表示してもよい。
また、この図13の表示例では、ボード表示領域Ab内に8個のシンボル画像Isが表示される代わりに、ステータスバー表示領域As内には、画像切替部24による切り替え対象となるメニュー画像Im及びボード画像Ibのそれぞれを表す、これらの画像と同数のシンボル画像だけが表示されている。なお、他の画面Sの表示例においても、ステータスバー表示領域As内にはこれと同様の表示形態でシンボル画像を表示してもよい。
プログラム起動部27は、ユーザの指示操作に応じて、アプリケーションプログラムAPの起動処理を実行する。具体的に、これまでに説明したように、プログラム起動部27は、メニュー画像Imが表示された状態でユーザがライトプログラムAP2に対応するメニュー項目画像Icを選択した場合、当該ライトプログラムAP2の起動処理を行う。また、フルモードプログラムAP1に対応するボード画像Ibが表示された状態でユーザが起動ボタン画像ILをタップする操作を行った場合、当該フルモードプログラムAP1の起動処理を行う。
さらにプログラム起動部27は、ボード画像Ibが表示された状態で、ボード画像Ib内の所定の表示要素に対するユーザの操作が受け付けられた場合に、当該表示要素に関連づけられたアプリケーションプログラムAPの起動処理を実行してもよい。例えば、あるフルモードプログラムAP1に対応するプログラムボードBのプログラム情報領域P1内に、当該フルモードプログラムAP1に関連する情報を表示するウェブページへのリンクを表す画像が配置される場合がある。ユーザがこのようなリンクを表す画像をタップする操作を行った場合、プログラム起動部27は、ブラウザプログラムを起動するとともに、タップされた画像に関連づけられた情報(URL等)を例えば起動パラメタとして当該ブラウザプログラムに提供する。これにより、ブラウザプログラムの処理結果を表すボード画像Ibが新たに生成され、ボード表示領域Ab内に表示される。
このようにボード画像Ibが表示された状態において、当該ボード画像Ibに対応するアプリケーションプログラムAP以外の別のプログラムの起動が指示された場合、選択順管理部23は、このような起動指示に応じて起動されたプログラムのプログラムIDを、元のボード画像Ibに対応するプログラムのプログラムIDと関連づけて管理してもよい。具体例として、プログラムAPaに対応するボード画像Ibが表示された状態において、ユーザの操作に応じて新たにプログラムAPbが起動されたとする。この場合、選択順管理部23は、プログラムAPaに対応するボード画像Ibを呼び出し元画像(親画像)とし、プログラムAPbに対応するボード画像Ibを呼び出し先画像(子画像)として、両者を関連づける親子関係情報を記憶する。既に述べたように、上限数Nを超える数のボード画像Ibが表示されようとした場合、選択順管理部23は所定の条件に基づいて決定されるいずれかのプログラムIDを削除する。また、ユーザが後述する表示終了操作を行った場合にも、選択順管理部23は、当該表示終了操作の対象となったボード画像Ibに対応するプログラムIDを削除する。しかしながら、選択順管理部23は、この親子関係情報を参照することにより、所定のプログラムIDの削除を制限することとしてもよい。具体的に、例えば選択順管理部23は、ある子画像に対応するプログラムIDが削除対象の条件を満たす場合であっても、当該子画像に対して親画像として関連づけられたボード画像Ibに対応するプログラムIDがまだ選択順記憶領域Mに残っている場合には、当該子画像に対応するプログラムIDを削除対象とせず、それ以外のプログラムIDの中から削除対象を選出してもよい。これとは逆に、ある親画像に対応するプログラムIDが削除対象の条件を満たす場合であっても、当該親画像の子画像であるボード画像Ibに対応するプログラムIDが削除されていなければ、当該親画像に対応するプログラムIDを削除対象とせず、それ以外のプログラムIDの中から削除対象を選出してもよい。
次に、ボード画像Ibの表示終了処理、及び表示終了制限処理について、説明する。これまで説明したように、所定の上限数Nを超える数のメニュー項目画像Icが選択されると、過去に選択されたメニュー項目画像Icに対応するボード画像Ibは、古いものから順に、画像切替部24の切り替え対象から除外されていく。しかし、これ以外にも、ユーザは自分が表示させたボード画像Ibの表示を明示的に終了させたい場合がある。そこで、いずれかのボード画像Ibが表示された状態においてユーザが所定の表示終了操作を行った場合には、ボード画像表示制御部22が当該ボード画像Ibの表示を終了するとともに、選択順管理部23が当該ボード画像Ibに対応するプログラムIDを選択順記憶領域Mから削除する。これにより、当該ボード画像Ibは画像切替部24による切り替え対象から除外されることになる。なお、ボード画像Ibの表示を終了する際には、ボード画像表示制御部22は、当該表示を終了するボード画像Ibが表示されていたときに所定方向(例えばX軸正方向)への画像切り替え操作が行われた場合と同様に、当該表示を終了するボード画像Ibに対応するプログラムIDの一つ後に選択順記憶領域Mに格納されたプログラムIDに対応するボード画像Ib又はメニュー画像Imを再表示することとする。
一方で、画像切替部24による切り替え対象となるボード画像Ibの中には、ユーザが表示を終了させたくないものが含まれる場合もある。このようなボード画像Ibについては、ユーザが誤って前述の表示終了操作を行ったり、所定の上限数Nを超える数のメニュー項目画像Icを選択したりすることで、その表示が終了されてしまわないように、ユーザは、当該ボード画像Ibの表示の終了を制限する指示操作を行うことができる。具体的に、ボード画像表示制御部22は、ユーザから所定の表示終了制限操作を受け付けた場合、当該操作の対象となったボード画像Ibの表示の終了を制限する状態に遷移する。すなわち、ボード画像表示制御部22の要求に応じて、選択順管理部23は、当該指示の対象となったボード画像Ibに対応するプログラムIDに関連付けられた表示終了制限フラグの値を、表示の終了が制限されることを示す値に更新する。それ以後は、ボード画像表示制御部22は、当該ボード画像Ibに対する表示終了操作を受け付けた場合であっても、その表示終了処理を実行しないこととする。また、選択順記憶領域Mに上限数Nに等しい数のプログラムIDが格納された状態で、新たなメニュー項目画像Icの選択が行われた場合、選択順管理部23は、表示終了制限フラグの値が表示の終了を制限しないことを示す値になっているプログラムIDの中から、最初に選択順記憶領域Mに格納されたプログラムIDを特定し、当該プログラムIDを選択順記憶領域Mから削除する。具体例として、図9Cに示す情報が選択順記憶領域Mに記憶されている状態において、新たなメニュー項目画像Icの選択が行われた場合、選択順記憶領域Mに格納されているプログラムIDのうち、最初に選択順記憶領域Mに格納されたプログラムID(プログラムAPc)には、表示の終了を制限するフラグ値が関連付けられているので、当該プログラムAPcに対応するボード画像Ibcは表示終了の対象としない。その代わりに、プログラムAPcの次に選択順記憶領域Mに格納されたプログラムIDであるプログラムAPbを、削除対象とする。
ここで、表示終了操作は、操作の対象となるボード画像Ibがボード表示領域Abに表示された状態において、所定の操作対象領域Acに対して、第1の方向を指示する操作である。具体的に、本実施形態では、表示終了操作は、ボード表示領域Abの右上隅に設けられた操作対象領域Acに対して、斜め左下方向(すなわち、操作対象領域Acから画面Sの中央に向かう方向)を指示するスライド操作であることとする。さらに、表示終了操作は、この操作対象領域Ac内の一点を始点として、当該始点から操作対象領域Ac外へ向かうスライド操作になっている。
また、表示終了制限操作は、操作の対象となるボード画像Ibがボード表示領域Abに表示された状態において、表示終了操作と同じ操作対象領域Acに対して、表示終了操作の指示方向である第1の方向とは異なる第2の方向を指示する操作である。具体的に、本実施形態では、表示終了制限操作は、操作対象領域Acに対して、表示終了操作の指示方向とは反対方向である斜め右上方向を指示するスライド操作であることとする。さらに、表示終了操作は、この操作対象領域Ac内の一点を終点として、操作対象領域Ac外から当該終点へ向かうスライド操作になっている。
このように、表示終了操作と表示終了制限操作とは、互いに同じ操作対象領域Acに対して方向を指示する操作である。そのため、ユーザは、表示終了操作と表示終了制限操作とを互いに関連付けて覚えることができる。さらに、これらの操作を互いに反対方向を指示する操作としたり、一方の操作が操作対象領域Ac内を始点とする操作であって、他方の操作が操作対象領域Ac内を終点とする操作であることしたりすることにより、互いに同じ操作対象領域Acに対する操作であるにもかかわらず、これらの一方の操作を行うつもりで他方の操作を行ってしまうといった誤操作を起こしにくくできる。なお、以上の説明では、表示終了操作は操作対象領域Ac内を始点とする操作であって、表示終了制限操作は操作対象領域Ac外を始点とする操作であることとしたが、いずれの操作も、操作対象領域Ac内の一点を始点とする操作であってもよい。
また、前述の通り、この操作対象領域Acを案内する操作位置案内画像Igが画面S内に表示される。そのため、ユーザは容易に操作対象領域Acの位置を把握できる。さらに、本実施形態ではこの操作位置案内画像Igは、ボード表示領域Abの右上隅から左下方向(すなわち、表示終了操作の指示方向)に向かって背景画像Iwがめくれている様子を示す画像になっている。そのため、ユーザはこの位置から開始してあたかも背景画像Iwを画面Sからはがすかのように画面S上をなぞるスライド操作を行うことで、ボード画像Ibの表示を終了させることができる。なお、図11A〜図11F等に示すように、スクロール制御部25によって表示対象範囲Rの移動が行われても、操作位置案内画像Ig及び操作対象領域Acの画面S内における位置は変化しない。そのため、スクロールの状態に関わらず、ユーザはいつでもこの操作対象領域Acに対して表示終了操作を行って、ボード画像Ibの表示を終了させることができる。また、ボード画像Ib内における背景画像Iwの表示位置もスクロールの状態に関わらず変化しないので、操作位置案内画像Igの位置が変化せずとも、ユーザに違和感を感じさせないようにすることができる。
また、ボード画像表示制御部22は、ユーザによる表示終了操作が開始されたと判定した場合に、当該操作が開始されたことを示す操作中画像Ig2を画面Sに表示させてもよい。そして、ボード画像表示制御部22は、操作中画像Ig2が表示された後、ユーザが左下方向へのスライド操作をさらに続けて実行した場合に、表示中のボード画像Ibの表示を終了してもよい。具体例として、ボード画像表示制御部22は、ユーザが操作対象領域Ac内の始点から開始して左下方向へのスライド操作を行った場合、ユーザの指がタッチセンサ15の検出面に接触している間、スライド操作の操作量に応じて、徐々に変化する操作中画像Ig2を表示する。そして、ユーザが指を離した時点におけるスライド操作の操作量に応じて、ボード画像Ibの表示を終了させる処理を実行するか否かを判定する。すなわち、ボード画像表示制御部22は、スライド操作の操作量が所定の条件を満たすか否かの判定を行い、所定の条件を満たす場合に、ボード画像Ibの表示を終了する。例えば、スライド操作の操作量が所定の閾値を超えていれば表示終了操作が完了したと判定し、表示中のボード画像Ibの表示を終了する。一方、所定の閾値以下であれば、表示終了操作は完了しなかったと判定し、ボード画像Ibの表示を終了させずに、元の操作位置案内画像Igを再表示する。あるいは、操作対象領域Ac内の始点から開始されたスライド操作の終点の位置が、操作対象領域Ac内の基準点(例えばボード表示領域Abの右上隅に対応する点)から所定距離以上離れている場合に、表示終了操作の完了条件を満たすと判定してもよい。こうすれば、ユーザは、誤って表示終了操作を開始してしまった場合に、表示終了操作を完了してしまう前にそのことを知ることができる。そして、操作中画像Ig2が表示された段階ですぐにスライド操作を中断すれば、表示終了操作を中止することができる。なお、この操作中画像Ig2は、操作位置案内画像Igを変化させたものであってもよい。図14は、このような表示終了操作の途中の状態を示す図である。同図の例では、操作中画像Ig2として、操作位置案内画像Igよりも背景画像Iwが大きくめくれた様子を示す画像が表示されている。特にこの操作中画像Ig2は、ユーザがスライド操作を継続するにしたがって、その操作量に応じてより背景画像Iwが大きくめくれていくように更新されてよい。こうすれば、ユーザは、直感的に表示終了操作が行われようとしていることを理解できる。
また、ボード画像表示制御部22は、表示終了制限操作が行われた場合、その対象となったボード画像Ibが、表示の終了が制限された状態に遷移していることを示す画像を表示することとする。具体的に、本実施形態では、ボード画像表示制御部22は、操作位置案内画像Igの表示位置に、表示終了制限状態であることを示すピン画像Ipを表示する。このピン画像Ipは、ピンが画面Sに刺さっている様子を示す画像である。図15は、このような表示終了制限状態にあるボード画像Ibを表示する画面Sの一例を示す図である。この図においては、操作位置案内画像Igが消去され、操作対象領域Ac内にも背景画像Iwが表示されるとともに、当該操作対象領域Ac内にピンが刺さっている様子を示すピン画像Ipが表示されている。ユーザは、表示終了操作を行おうとする際には操作位置案内画像Igの表示位置に目を向けると考えられるので、このような位置に表示終了制限状態にあることを示す画像を表示することで、ユーザが制限されている表示終了操作を実行しようとしてしまうことを防ぐことができる。なお、この場合において、操作対象領域Ac内に表示されたピン画像Ipをタップする操作を受け付けた場合、ボード画像表示制御部22は、当該ボード画像Ibの表示終了制限状態を解除してもよい。
また、ボード画像表示制御部22は、これまで説明した操作対象領域Acに対する操作以外の表示終了制限操作を受け付けてもよい。例えばプログラム情報領域P1内に、前述のピン画像Ipとは別に、画面Sに刺さっていない状態のピンを表す画像を表示することとし、ユーザから当該ピンを表す画像に対するタップ操作を受け付けることによって、表示終了制限状態への遷移を行ってもよい。この場合、当該ピンを表す画像を図15と同様のピンが刺さっている様子を示す画像に更新し、当該更新された画像がタップされた場合には、表示終了制限状態を解除してもよい。また、シンボル画像表示部26が図13に例示したようなシンボル画像Isを表示する場合、このシンボル画像Is内に含まれるピン画像Ipをタップする操作を受け付けることによって、ボード画像表示制御部22は、当該ピン画像Ipを含むシンボル画像Isに対応するボード画像Ibを表示終了制限状態に遷移させたり、また表示終了制限状態を解除したりしてもよい。なお、図13では、プログラムAPcのボード画像Ibcに対応するボード対応シンボル画像Isb内のピン画像Ipが、他のピン画像Ipと異なりピンが刺さった状態を表す画像となっている。これは、ボード画像Ibcが表示終了制限状態にあることを示している。
なお、本発明の実施の形態に係る情報処理装置は、以上説明したものに限られない。例えば情報処理装置10は、画面Sに重ねて配置されるタッチセンサ15に代えて、又はこれに加えて、情報処理装置10の筐体の裏面側(画面Sが配置された面の裏側)にタッチセンサを備えてもよい。この場合、この裏面側のタッチセンサも、画面Sに対応した検出面を備えており、当該タッチセンサ上でユーザは指などを移動させるスライド操作を行うことで、スクロール指示や画像切り替えの指示などを行うことができる。
また、これまでの説明ではユーザはタッチセンサを用いて方向を指示する操作を行うこととしたが、ユーザはこれ以外にも各種の操作デバイスを用いて情報処理装置10に対する方向の指示を行ってよい。具体的には、例えばユーザはマウスのドラッグやホイール操作によって方向を指示してもよいし、カーソルキー等の方向指示キーを押下することにより方向を指示してもよい。なお、例えばマウスのホイール操作やカーソルキー等を用いて方向を指示する場合、タッチセンサ上のスライド操作やマウスのドラッグ操作の場合とは、ユーザの指示方向とスクロール方向や画像の切り替え方向との関係を逆にしてもよい。これは、スライド操作やマウスのドラッグ操作を行う場合、ユーザは画面Sに表示されている画像を動かす感覚で方向を指示するが、カーソルキー等を操作する場合、画像に対する視点を移動させる感覚で方向を指示することが一般的だからである。
また、情報処理装置10は、スクロールバーを表示することにより、当該スクロールバーに対するタッチセンサやマウスを用いたユーザの操作を、方向を指示するスクロール操作として受け付けてもよい。この場合、情報処理装置10は、スクロール方向に沿って延びるスクロールバー内に、現在表示中の領域(すなわち、表示対象範囲Rの位置)を表象する操作対象オブジェクトを表示する。ユーザは、この操作対象オブジェクトの表示位置を起点としてタッチセンサ15に対してスライド操作を行ったり、操作対象オブジェクトをマウスでドラッグしたりことにより、スクロール操作を行うことができる。
また、以上の説明では画像切り替え操作はX軸方向に沿った方向を指示する操作であって、スクロール操作はY軸方向に沿った方向を指示する操作であることとしたが、指示対象の方向はこれとは異なってもよい。具体的に、例えば画像切り替え操作とスクロール操作とで、指示する方向を入れ替えてもよい。
また、以上の説明では、画像切替部24が切り替え対象とする画像は、ボード画像表示制御部22が新たなボード画像Ibを表示対象とした場合に、最初にボード画像表示制御部22が表示対象とした画像が切り替え対象から除外されることで、所定の上限数N以下に制限されることとしている。しかしながら、画像切替部24が切り替え対象とする画像の上限は、他の方法で制御されてもよい。例えばボード画像表示制御部22は、所定の上限数Nに相当するボード画像Ibがすでに切り替え対象となっている状態で新たなメニュー項目画像Icがユーザによって選択された場合、当該選択された新たなメニュー項目画像Icに対応する新たなボード画像Ibの表示を制限してもよい。
また、以上の説明では、画像切替部24が切り替え対象とする画像は、一つのメニュー画像Imと、それぞれプログラムに関連づけられた複数のボード画像Ibであることとしたが、画像切替部24はこれ以外の画像を切り替え対象としてもよい。例えば、画像切替部24は、所定の常駐画像を常に切り替え対象に含めてもよい。以上の説明では、メニュー画像Imが表示された状態からX軸負方向への画像切り替え操作を行うと、複数のボード画像Ibが順次表示されることとし、逆にメニュー画像Imが表示された状態でX軸正方向へのスライド操作が行われても、画像の切り替えは行われないこととした。そこで、このような常駐画像は、メニュー画像Imが表示された状態でX軸正方向へのスライド操作が行われた場合に画面Sに表示されることとしてもよい。
また、以上の説明では、本実施形態で関連画像を表示する対象となるアプリケーションプログラムAPは、フルモードプログラムAP1及びライトプログラムAP2のいずれかであることとしたが、これ以外のプログラムを含んでもよい。また、本実施形態で関連画像を表示する対象となるアプリケーションプログラムAPは、ライトプログラムAP2だけでもよい。この場合、メニュー画像Imが表示された状態でユーザがメニュー項目画像Icを選択する指示を行うと、当該ユーザの指示に従って選択されたメニュー項目画像Icに対応するライトプログラムAP2が順次起動され、その処理結果を示す画像がボード画像Ibとして表示される。この場合、情報処理装置10で利用可能なメモリ等のコンピュータリソース等に応じて、同時起動可能なライトプログラムAP2の数が所定の上限数N2以下に制限される。このような場合に、シンボル画像表示部26は、画像切替部24が切り替え対象とする画像の上限数Nに応じて図13に例示するようなシンボル画像Isを表示した例と同様に、所定の上限数N2と同数のシンボル画像Isを画面S内に表示させてもよい。このとき、既に起動されているライトプログラムAP2の数と同数のシンボル画像Isは、他のシンボル画像Isとは異なる態様で表示することとすれば、ユーザは、これらのシンボル画像Isにより、現在何個のライトプログラムAP2が起動中で、後何個のライトプログラムAP2を起動できるのかを、容易に把握できる。
なお、この場合、上限数N2に相当するライトプログラムAP2が起動されていれば、起動中のライトプログラムAP2のうち最初に起動されたプログラムの実行を強制終了することで、情報処理装置10は同時起動されるライトプログラムAP2の数を上限数N2以下に制限してもよい。あるいは、情報処理装置10は、起動中のライトプログラムAP2のそれぞれについて、ユーザが最後に当該ライトプログラムAP2にアクセスしたタイミングを記録しておき、上限数N2を超えるライトプログラムAP2の起動が指示された場合には、最後にアクセスされたタイミングが最も古いプログラムの実行を強制終了することとしてもよい。なお、これらの場合において、情報処理装置10は、最初に起動されたプログラム、又は最後にアクセスされたタイミングが最も古いプログラムの実行を強制終了する前に、当該プログラムの実行を強制終了してもよいか確認するメッセージを、例えば画面Sに表示することによって出力してもよい。そして、当該メッセージに対して、ユーザが強制終了を許可する応答を行った場合、当該応答に応じてプログラムの実行を強制終了する。一方、ユーザがこのような応答を行わなかった場合、プログラムの実行の強制終了を中止し、逆に新たに起動が指示されたライトプログラムAP2の起動を制限することとする。また、既に上限数N2に相当するライトプログラムAP2が起動されている場合に、無条件に新たなライトプログラムAP2の起動を制限することで、情報処理装置10は同時起動されるライトプログラムAP2の数を上限数N2以下に制限することとしてもよい。
なお、以上説明したシンボル画像の表示処理や、表示終了操作、及び表示終了制限操作に応じた処理は、以上説明したようなそれぞれプログラムに関連するボード画像Ibに限らず、種々の画像を切り替えて表示する情報処理装置に適用可能である。一例として、複数のタブを切り替えて表示するタブブラウザにこのような技術を適用した場合について、以下に説明する。図16Aは、このようなタブブラウザの表示画面の一例を示している。この例におけるタブブラウザは、最大8個のページ画像(ウェブページの内容を表す画像)を切り替えて表示することができるようになっており、それを超える数のページ画像を生成することは制限されている。そして、このページ画像の上限数に対応して、画面上方に、計8個のタブ(シンボル画像)が横方向に並んで表示されている。しかしながら、これらの全てがページ画像に関連づけられているわけではない。これらのシンボル画像のうち、左端のシンボル画像(表示中シンボル画像Isc)は、現在表示中のページ画像に対応するタブを表すシンボル画像である。この表示中シンボル画像Iscは、下部のページ画像表示領域との間の境界線が削除されることにより、表示中のページ画像に対応していることを示している。また、左から数えて2〜4番目のシンボル画像は、現在表示中でないページ画像に対応するタブを表すページ対応シンボル画像Ispである。これら表示中シンボル画像Isc及びページ対応シンボル画像Ispには、対応するページ画像を表象する画像(例えばアイコン画像等)が含まれている。また、表示の終了が制限されるページ画像に対応するシンボル画像には、表示の終了が制限される状態にあることを示すピン画像Ipが表示されている。一方で、右半分の4個のシンボル画像は、ページ画像に関連づけられていない非対応シンボル画像Isnであって、そのことをユーザに提示するために、ページ対応シンボル画像Ispや表示中シンボル画像Iscとは異なる態様で表示されている。具体的に、これらのシンボル画像内には、ページ画像を表象する画像が含まれておらず、それによってタブに関連づけられていないことを示している。このような非対応シンボル画像Isnが4個表示されることにより、ユーザは、後4個のページ画像をタブにより切り替え可能なページとして表示可能であることを把握できる。
さらにこの図16Aでは、表示中シンボル画像Iscが表示された領域に対して、ユーザが所定の方向(ここでは上方向)へのスライド操作を行っている様子が示されている。タブブラウザは、このような所定の方向へのスライド操作を表示終了操作として受け付け、表示中のページ画像の表示を終了する。図16Bは、このようにして表示終了操作が行われた後の表示例を示している。この例では、表示中シンボル画像Iscに対応するページ画像の表示が終了した結果、非対応シンボル画像Isnの数が1個増え、それまで表示中シンボル画像Iscに隣接して表示されていたページ対応シンボル画像Ispに対応するページ画像が新たにページ画像表示領域に表示されている。なお、ここでは表示中シンボル画像Iscを表示終了操作の対象としたが、他のページ対応シンボル画像Ispを同様の表示終了操作の対象としてもよい。この場合、ページ画像表示領域内の表示は変化しないが、操作の対象となったページ対応シンボル画像Ispに対応するページ画像が、タブ切り替えの対象から除外されることになる。
また、図17Aは、図16Aと同様の表示画面において、表示中シンボル画像Iscが表示された領域に対して、表示終了操作とは逆方向(ここでは下方向)へのスライド操作が行われている様子を示している。タブブラウザは、このような表示終了操作の指示方向とは異なる方向への指示操作を、表示終了制限操作として受け付けて、当該表示中のページ画像の表示の終了を制限する状態に遷移する。図17Bは、このような表示終了操作が行われた状態を示しており、表示中シンボル画像Isc内に、当該シンボル画像に対応するページ画像の表示の終了が制限されていることを示すピン画像Ipが表示されている。なお、表示終了制限操作についても、表示中シンボル画像Iscだけでなく、他のページ対応シンボル画像Ispを対象として実行されてもよい。また、ここではシンボル画像に対する表示終了操作、及び表示終了制限操作は、ユーザが表示画面に重ねて配置されたタッチセンサの検出面上で指を移動させるスライド操作であることとしたが、これに限らず、表終了操作や表示終了制限操作は、マウスのドラッグ操作等であってもよい。