図1を参照して、この発明の一実施例の携帯電話機10は、一例としてスマートフォン(smartphone)であり、縦長の扁平矩形のハウジング12を含む。ただし、この発明は、タッチパネルを有する、タブレット端末、タブレットPC、ノートPCおよびPDAなど任意の携帯端末に適用可能であることを予め指摘しておく。
ハウジング12の一方主面(表面)には、表示装置とも呼ばれる、たとえば液晶や有機ELなどのディスプレイ14が設けられる。ディスプレイ14の上には、タッチパネル16が設けられる。
ハウジング12の縦方向一端の主面側にスピーカ18が内蔵され、縦方向他端の主面側にマイク20が内蔵される。
ハウジング12の一方主面には、タッチパネル16と共に入力操作手段を構成するハードキーとして、この実施例では、通話キー22a、終話キー22bおよびメニューキー22cが設けられる。
たとえば、ユーザは、ディスプレイ14に表示されたダイヤルパッドに対して、タッチパネル16によってタッチ操作を行うことで電話番号を入力でき、通話キー22aを操作して音声通話を開始することができる。終話キー22bを操作すれば、音声通話を終了することができる。なお、ユーザは終話キー22bを長押しすることによって、携帯電話機10の電源をオン/オフすることができる。
また、メニューキー22cを操作すれば、ディスプレイ14にホーム画面が表示され、その状態でディスプレイ14に表示されているオブジェクトなどに対して、タッチパネル16によるタッチ操作を行うことによってオブジェクトを選択し、その選択を確定させることができる。
なお、携帯電話機10は、電話機能以外に、メール機能およびブラウザ機能などを実行可能である。また、以下の説明では、ディスプレイ14に表示されるキーなどのGUIおよびアイコンなどは、まとめてオブジェクトと言うことがある。
図2を参照して、図1に示す実施例の携帯電話機10は、コンピュータまたはCPUと呼ばれるプロセッサ30などを含む。プロセッサ30には、無線通信回路32、A/D変換器36、D/A変換器38、入力装置40、表示ドライバ42、フラッシュメモリ44、RAM46、タッチパネル制御回路48および姿勢センサ50などが接続される。
プロセッサ30は、携帯電話機10の全体制御を司る。RAM46には、フラッシュメ
モリ44に予め設定されているプログラムの全部または一部が使用に際して展開され、プロセッサ30はこのRAM46上のプログラムに従って動作する。また、RAM46はさらに、プロセッサ30のワーキング領域ないしバッファ領域として用いられる。
入力装置40は、図1に示すハードキー22を含むものである。そのため、ハードキー22に対するユーザからのキー操作を受け付ける操作受付部を構成する。ユーザが操作したハードキーの情報(キーデータ)はプロセッサ30に入力される。
無線通信回路32は、アンテナ34を通して、音声通話やメールなどのための電波を送受信するための回路である。実施例では、無線通信回路32は、CDMA方式での無線通信を行うための回路である。たとえば、ユーザがタッチパネル16を操作して発呼(音声発信)を指示すると、無線通信回路32は、プロセッサ30の指示の下、音声発信処理を実行し、アンテナ34を介して音声発信信号を出力する。音声発信信号は、基地局および通信網を経て相手の電話機に送信される。そして、相手の電話機において音声着信処理が行われると、通信可能状態が確立され、プロセッサ30は通話処理を実行する。
A/D変換器36には図1に示すマイク20が接続され、上述のようにマイク20からの音声信号はこのA/D変換器36でディジタルの音声データに変換され、プロセッサ30に入力される。一方、D/A変換器38にはスピーカ18が接続される。D/A変換器38は、ディジタルの音声データを音声信号に変換して、アンプを介してスピーカ18に与える。したがって、音声データに基づく音声がスピーカ18から出力される。そして、通話処理が実行されている状態では、マイク20によって集音された音声が相手の電話機に送信され、相手の電話機で集音された音声が、スピーカ18から出力される。
なお、プロセッサ30は、たとえばユーザによるボリューム調整操作に応答して、D/A変換器38に接続されるアンプの増幅率を制御することによって、スピーカ18から出力される音声の音量を調整することが出来る。
表示ドライバ42には図1に示すディスプレイ14が接続され、したがって、ディスプレイ14はプロセッサ30から出力される映像または画像データに従って映像または画像を表示する。表示ドライバ42は表示する画像データを一時的に記憶するビデオメモリを含んでおり、プロセッサ30から出力されたデータはこのビデオメモリに記憶される。そして、表示ドライバ42は、ビデオメモリの内容に従って、ディスプレイ14に画像を表示する。つまり、表示ドライバ42は、プロセッサ30の指示の下、当該表示ドライバ42に接続されたディスプレイ14の表示を制御する。そのため、プロセッサ30は表示制御部と呼ばれることもある。なお、ディスプレイ14には、バックライトが設けられており、表示ドライバ42はプロセッサ30の指示に従って、そのバックライトの明るさや、点灯/消灯を制御する。
タッチパネル制御回路48には、図1に示すタッチパネル16が接続される。タッチパネル制御回路48は、タッチパネル16に必要な電圧などを付与するとともに、タッチパネル16に対するユーザによるタッチの開始を示すタッチ開始信号、ユーザによるタッチの終了を示す終了信号、およびユーザがタッチしたタッチ位置を示す座標データをプロセッサ30に入力する。したがって、プロセッサ30はこの座標データに基づいて、ユーザがどのオブジェクトに対してタッチしたかを判断することが出来る。
実施例では、タッチパネル16は、その表面と指などの物体との間に生じる静電容量の変化を検出する静電容量方式のタッチパネルである。タッチパネル16は、たとえば1本または複数本の指がタッチパネル16に触れたことを検出する。そのため、タッチパネル16はポインティングデバイスとも呼ばれる。タッチパネル制御回路48は、タッチパネ
ル16のタッチ有効範囲内でのタッチ操作を検出して、そのタッチ操作の位置を示す座標データをプロセッサ30に出力する。つまり、ユーザは、タッチパネル16の表面に対してタッチ操作を行うことによって、操作位置や、操作方向などを携帯電話機10に入力する。
本実施例のタッチ操作には、タップ操作、ロングタップ操作、フリック操作、スライド操作などが含まれる。
タップ操作は、タッチパネル16の表面に指を接触(タッチ)させた後、短時間のうちにタッチパネル16の表面から指を離す(リリースする)操作である。ロングタップ操作は、所定時間以上、指をタッチパネル16の表面に接触させ続けた後、指をタッチパネル16の表面から離す操作である。フリック操作は、タッチパネル16の表面に指を接触させ、任意の方向へ所定速度以上で指を弾く操作である。スライド操作は、タッチパネル16の表面に指を接触させたまま任意の方向へ移動させた後、タッチパネル16の表面から指を離す操作である。
また、上記のスライド操作には、ディスプレイ14の表面に表示された表示オブジェクトに指を触れ、表示オブジェクトを移動させるスライド操作、いわゆるドラッグ操作も含まれる。また、ドラッグ操作の後、タッチパネル16の表面から指を離す操作をドロップ操作と呼ぶ。
なお、以下の説明では、タップ操作、ロングタップ操作、フリック操作、スライド操作、ドラッグ操作およびドロップ操作は、それぞれ「操作」を省略して記述されることがある。また、タッチ操作はユーザの指だけに限らず、スタイラスペンなどによって行われてもよい。
姿勢センサ50は携帯電話機10の動きを検出するために用いられる。たとえば、姿勢センサ50は圧電型ジャイロであり、3軸(x,y、z)の角速度を検出し、その検出結果をプロセッサ30に出力する。プロセッサ30は姿勢センサ50が検出した各軸の角速度に基づいて、携帯電話機10の動きや、傾きを検出する。そして、プロセッサ30は、検出した動きに基づいて、ディスプレイ14の表示方向などを制御する。なお、姿勢センサ50はジャイロセンサに代えて加速度センサが利用されてもよい。
図3はディスプレイ14に表示されるホーム画面の一例を示す図解図である。ディスプレイ14の表示範囲は状態表示領域60および機能表示領域62を含む。状態表示領域60には、アンテナ34による電波受信状態を示すピクト、二次電池の残電池容量を示すピクトおよび時刻が表示される。機能表示領域62には、機能と対応するタイル状のオブジェクト(以下、単にタイルと言う。)を含むホーム画面が表示されている。
タイルは機能のショートカットとして機能し、ユーザはタイルにタップすることで、タイルと対応する機能を実行することが出来る。また、タイルと対応する機能がバックグラウンドで実行されている場合などは、その機能の状態がライブ情報としてタイルに示される。さらに、ユーザは、任意の機能のタイルをホーム画面に追加することも出来る。なお、本実施例の「機能」には、携帯電話機10にインストールされているアプリケーションが含まれると共に、携帯電話機10の設定を変更する設定機能なども含まれる。
図3のホーム画面では、Twitter(登録商標)やFacebook(登録商標)などのSNS(social networking service)のアプリケーションと対応するSNSタイル、電話機能と対応する電話タイル、メール機能と対応するメールタイル、ブラウザ機能と対応するブラウザタイル、アラーム機能と対応するアラームタイルなどが表示されている。また、ホーム
画面では上下方向にスクロールすることが可能であり、ユーザはスクロールすることで他のタイルを表示することが出来る。
タイルに対してロングタップを行うと、タイルの表示状態が編集可能な状態になる。この状態では、タイルの表示サイズおよび表示位置が変更可能になると共に、タイルを削除することも出来る。ただし、タイルが削除されたとしても、アプリケーションがアンインストールされるわけではない。
メールタイルには、ライブ情報としてメール機能がバックグラウンドで受信した新着メールの件数(「8」)と、新着メールの題名(Meeting)が表示されている。また、ライ
ブ情報は所定時間(たとえば、2−3秒)毎に更新される。たとえば、メールタイルにおいて新着メールを受信した場合、メールタイルのライブ情報は新着メールの件数と新着メールの題名とが更新される。新着メールを受信しなかった場合、メールタイルのライブ情報は、新着メールの件数は変化しないが、他の新着メールの題名が表示されるように更新される。
また、ユーザがメールタイルにタップすると、メール機能が実行される。このとき、メール機能はライブ情報に基づいて実行される。たとえば、ライブ情報として新着メールの題名が示されている場合、その新着メールの題名と対応する新着メールの本文等がディスプレイ14に表示されるように、メール機能が実行される。
ここで、多くのタイルがホーム画面に追加された場合、ユーザは機能を実行する際に、目的のタイルを検索するのに時間がかかるようになる。そこで、本実施例ではタイルをフォルダに格納し、格納されたタイルと対応する機能を容易に実行できるようにする。
図4(A)を参照して、2ヶ所に略同時にタッチ操作(マルチタッチ操作)がされ、そのときのタッチ位置がSNSタイルにおける第1タッチ位置Tp1とメールタイルにおける第2タッチ位置Tp2とであれば、それらのタッチ位置に基づいて矩形が定義される。定義された矩形は選択線Lによって示され、選択線Lの内側に含まれる3つのタイル、つまりSNSタイル、電話タイルおよびメールタイルが選択された状態となる。
図4(B)に示すように、ユーザが第1タッチ位置Tp1および第2タッチ位置Tp2のそれぞれを所定距離以上動かし、第1タッチ位置Tp1および第2タッチ位置Tp2が近づくと、選択されたタイルの表示が消去される。そして、タイルの数に基づいてフォルダが作成され、そのフォルダに選択されたタイルが格納される。そして、図4(C)に示すように、タイルが格納されたフォルダが、定義された矩形の重心位置に基づいて表示される。また、作成されたフォルダはタイルとは異なる表示態様で表示され、格納されているタイルのサムネイル画像がフォルダの表示範囲に表示される。
なお、以下の説明では、マルチタッチ操作がされた後に2つのタッチ位置を近づける操作を「ピンチイン操作」と呼ぶ。
なお、その他の実施例では、マルチタッチ操作がされたときにフォルダが作成されてもよい。また、本実施例では定義された矩形にタイルの一部が含まれていればタイルが選択されるようにしたが、さらにその他の実施例ではタイルの全てが定義された矩形に含まれていなければ選択されないようにしてもよい。
図5(A)−図5(C)を参照して、選択されたタイルの数によってフォルダの表示サイズが変わる場合について説明する。たとえば、5つのタイルが選択されるようにピンチイン操作がされると、フォルダが作成され、当該フォルダには5つのタイルが格納される
。このとき、図4に示すフォルダの表示サイズでは、5つのタイルのサムネイル画像を一度に表示することができない。そのため、格納されるタイルの数が5つより大きい場合は、図5(C)に示す表示サイズのフォルダが表示される。
本実施例では、図5(C)に示すフォルダの表示サイズは大サイズであり、図4(C)に示すフォルダの表示サイズは中サイズである。そして、格納されるタイルの数が2−4つの場合は中サイズでフォルダが表示され、格納されるタイルの数が5−8つの場合は大サイズでフォルダが表示される。そして、大サイズのフォルダで表示可能なサムネイル画像は8つであり、中サイズのフォルダで表示可能なサムネイル画像は4つである。また、詳細については後述するが、フォルダの表示サイズは変更可能であり、表示可能なサムネイル画像が1つの小サイズでフォルダを表示することも可能である。
このように、ユーザは、複数のタイルをまとめて選択したうえで、それらのタイルをまとめてフォルダに格納すること出来る。そのため、ユーザは、ホーム画面に表示されているタイルを容易に整理できるようになる。
なお、本実施例では、フォルダに格納できるタイルの最大数は、大サイズのフォルダで表示可能なサムネイル画像の数(「8」)と一致するようにしている。ただし、他の実施例では、フォルダに格納できるタイルの数は、大サイズのフォルダで表示可能なサムネイル画像の数よりも大きくてもよいし、制限を設けなくてもよい。また、1つのタイルに対してピンチイン操作された場合、小サイズのフォルダが作成される。
図6(A)−(C)を参照して、フォルダに対してタイルを追加する場合について説明する。本実施例では、追加するタイルとフォルダとを選択してピンチイン操作を行うことで、フォルダにタイルを追加することが出来る。たとえば、電話タイルとフォルダとにピンチイン操作がされると、フォルダに電話タイルが追加される。このように、ユーザは、任意のタイルをフォルダに追加することが出来る。
なお、上記実施例では追加するタイルが1つであったが、2つ以上のタイルがピンチイン操作によってフォルダに追加されてもよい。また、他の実施例では、ピンチイン操作がされたフォルダとタイルとが格納される新たなフォルダが作成されてもよい。
図7はフォルダ情報が記憶されるフォルダテーブルの一例を示す。フォルダテーブルは、フォルダID、名称、表示サイズ、表示位置、タイルの数、機能、サムネイル画像および切替の列などを含み、1つのフォルダのフォルダ情報がフォルダIDに対応する行に記憶される。フォルダIDの欄には、複数のフォルダを識別するためのIDが記憶される。名称の欄には、フォルダの名称が記憶される。表示サイズの欄には、上述した「大サイズ」、「中サイズ」、「小サイズ」のいずれかが記憶される。表示位置の欄には、フォルダの表示範囲(表示座標)が記憶される。また、表示位置の情報はタッチ操作がされたときにフォルダに対するものであるかを判断するために利用される。タイルの数の欄には、フォルダに格納されるタイルの数が記憶される。サムネイル画像の欄はさらに第1サムネイル画像の欄などに分かれており、この欄にはフォルダに表示されるサムネイル画像に対応するタイルとサムネイル画像の表示範囲(表示座標)とが記憶される。切替の欄には、後述するサムネイル画像の切り替えが有効か無効かを示す情報が記憶される。そして、フォルダに対するタッチ操作は、このフォルダテーブルに基づいて判断される。
たとえば、フォルダIDが「0001」のフォルダのフォルダ情報において、名称は「メイン」であり、表示サイズは「中サイズ」であり、表示位置は「(X1,Y1)-(X2,Y2)」で
あり、格納されるタイルの数は「4」であり、そのタイルと対応する機能は「SNN、メール」などであり、フォルダの表示範囲に表示されるサムネイル画像は第1サムネイル画
像が「SNS/(x1,y1)-(x2,y2)」であり、切替が無効(「×」)に設定されている。
図8(A),(B)を参照して、フォルダに対するタップ操作について説明する。本実施例では、フォルダにタップ操作がされ、そのときのタッチ位置がフォルダの表示範囲に表示されるサムネイル画像の表示範囲に含まれている場合、そのサムネイル画像に対応するタイルに基づいてアプリケーションが実行される。たとえば、メールタイルのサムネイル画像に対してタップ操作Ttがされると、メール機能が実行される。このとき、メールタイルのサムネイル画像は、メールタイルと同様、ライブ情報を表している。そのため、メール機能が実行されると、メールタイルのサムネイル画像が表示していたライブ情報に基づいて、新着メールがディスプレイ14に表示される。
このように、ユーザは、フォルダに格納したタイルと対応する機能を容易に実行することが出来る。また、ユーザは、ライブ情報を確認することで、機能を実行する必要があるかを判断することも出来る。
図9(A),(B)を参照して、フォルダに対するダブルタップ操作について説明する。フォルダに対してダブルタップ操作がされると、フォルダが開かれ、中に格納されているタイルが表示される。たとえば、フォルダに対してダブルタップ操作Tdがされると、展開フォルダ画像OFが表示される。この展開フォルダ画像OFの中には、対応するフォルダに格納されているSNSタイル、電話タイル、メールタイルおよびブラウザタイルと、フォルダの名称とが表示される。そして、展開フォルダ画像OFの中に表示されるタイルに対してタップ操作がされると、そのタイルに対応する機能が実行される。したがって、ユーザはフォルダを開いたうえで、タイルと対応する機能を実行することも出来る。
なお、フォルダに格納されたタイルを表示する際には、各タイルの表示状態は格納される前の表示状態で表示される。また、他の実施例では、フォルダの表示範囲にタッチしたまま携帯電話機10を振る操作がされたときに、当該フォルダが開かれるようにしてもよい。
また、図10(A)を参照して、フォルダが開かれた状態では、フォルダに格納されているタイルをフォルダから出すことが可能になる。たとえば、ブラウザタイルをフォルダから出す場合、ユーザはフォルダの外側に向けたフリック操作Tfを、ブラウザタイルに対して行えばよい。そうすると、図10(B)に示すように、フォルダに格納されているタイルの表示から、ブラウザタイルの表示が消去される。そして、フォルダを閉じる操作がされると、フォルダと共にブラウザタイルが表示される。ここで、フォルダは、メニューキー22cが押下されたときに閉じられる。このように、ユーザは、不要なタイルをフォルダから出すことが出来る。
なお、開かれたフォルダは、展開フォルダ画像OFの表示範囲の外にタップ操作がされた場合も閉じられる。
図11(A)、図11(B)を参照して、フォルダに対するロングタップ操作について説明する。フォルダに対してロングタップ操作Tlがされると、フォルダの表示位置、表示サイズが編集可能な状態となる。フォルダが編集可能な状態になると、フォルダの表示態様(たとえば色)が変わると共に、編集アイコンとしてサイズ変更アイコンおよび削除アイコンがフォルダに重ねて表示される。
図12(A)、図12(B)を参照して、上述した編集状態でフォルダに対してタッチした後にスライド操作が行われると、タッチ位置に追従してフォルダの表示位置が変更される。たとえば、上方向にスライド操作Tsがされた場合、フォルダの表示位置は元の表
示位置に対して上側に変更される。つまり、ユーザは、フォルダの表示位置を任意に変更することが出来る。なお、図示は省略しているが、スライド操作の方向は上方向だけに限らず、下方向、左右方向および斜め方向であってもよい。
また、図13(A)、図13(B)を参照して、ユーザは、サイズ変更アイコンに対してタッチした後にスライド操作を行うことで、フォルダの表示サイズを変更できる。たとえば、フォルダの内側に向けてスライド操作Tsがされると、中サイズのフォルダは小サイズに変更される。また、図示は省略しているが、フォルダの外側に向けてスライド操作がされると、中サイズのフォルダは大サイズに変更される。つまり、フォルダの内側に向けたスライド操作によって表示サイズを小さくすることができ、フォルダの外側に向けたスライド操作によって表示サイズを大きくすることが出来る。ただし、小サイズのフォルダさらに小さくするスライド操作および大サイズのフォルダをさらに大きくスライド操作は無効にされる。したがって、ユーザはフォルダの表示サイズを変更することが出来る。
なお、フォルダの表示位置の変更および表示サイズの変更は、メニューキー22cが押下されると確定される。つまり、ユーザは、メニューキー22cを押下することで、フォルダの編集状態を終了させることが出来る。
また、図14(A),(B)を参照して、フォルダの編集状態では、フォルダの削除を行うことが出来る。たとえば、ユーザが削除アイコンに対してタップ操作Ttを行うと、フォルダが削除され、格納されていたタイルが格納される前の表示状態で表示される。つまり、ユーザは不要なフォルダを削除することが出来る。なお、他の実施例では、編集状態ではないフォルダに対してマルチタッチ操作をした後に、2つのタッチ位置を外側に広げるタッチ操作(ピンチアウト操作)がされたときに、フォルダが削除されてもよい。
図15(A)−図15(C)を参照して、格納されているタイルと対応するサムネイル画像を一度に表示しきれない場合について説明する。たとえば、図13(A)に示すようにフォルダの表示サイズが小サイズに変更された場合、そのフォルダの表示範囲には1つのサムネイル画像しか表示されない。そのため、サムネイル画像の切り替えが有効になり、所定時間毎にサムネイル画像が切り替えられる。たとえば、このフォルダでは、SNSタイルのサムネイル画像、メールタイルのサムネイル画像および電話タイルのサムネイル画像の順番で、サムネイル画像が所定時間毎に切り替えられる。また、電話タイルのサムネイル画像の次には、再びSNSタイルのサムネイル画像が表示される。ここで、メールタイルのサムネイル画像はライブ情報を表しているため、サムネイル画像の切り替えによってメールタイルのサムネイル画像が再び表示される場合、メールタイルのサムネイル画像が表すライブ情報が変更(更新)される。
図16(A)−図16(C)を参照して、複数のサムネイル画像を表示するフォルダにおけるサムネイル画像の切り替えの一例を示す。たとえば、中サイズのフォルダに対して5つのタイルが格納されている状態では、全てのタイルと対応するサムネイル画像を一度に表示することが出来ない。そのため、初期状態では4つのサムネイル画像を表示し、所定時間が経過すると残りのサムネイル画像が表示される。そして、さらに所定時間が経過すると、再び4つのサムネイル画像が表示される。また、サムネイル画像がライブ情報を表している場合は、サムネイル画像の切り替えに伴い、ライブ情報が更新(変更)される。
ここで、フォルダの表示範囲に表示されるサムネイル画像を「表示セット」と言う。そのため、「サムネイル画像を切り替える」ことを、「表示セットを切り替える」と言うことがある。たとえば、小サイズのフォルダに対応する表示セットの数は1−8つであり、小サイズの表示セットには1つのサムネイル画像が含まれる。また、中サイズのフォルダ
に対応する表示セットの数は1−2つであり、中サイズの表示セットに対して1−4つのサムネイル画像が含まれる。さらに、大サイズのフォルダに対応する表示セットの数は1つであり、表示セットには1−8のサムネイル画像が含まれる。また、大サイズのフォルダでは全てのサムネイル画像が表示されるため、大サイズの表示セットは切り替えられない。そして、ライブ情報は、表示セットが切り替えられたときに更新される。ただし、表示セットが切り替えられない場合、ライブ情報は所定時間毎に更新される。
このように、表示されていないサムネイル画像があったとしても、ユーザは任意のタイルと対応するサムネイル画像が表示されるのを待てば、任意の機能を実行することが出来る。
図17(A),(B)を参照して、フォルダに対するフリック操作について説明する。まず、上方向のフリック操作Tfがフォルダに対してされると、フォルダの名称が編集可能な状態になる。フォルダの名称が編集可能な状態では、そのフォルダの上に現在の名称が書かれた文字入力領域が表示されると共に、機能表示領域62の下側にはキーボードが表示される。そして、ユーザは、このキーボードを利用してフォルダの名称を任意に変更することが出来る。なお、新たに作成されたフォルダには、「新規フォルダ」という名称が設定される。
次に、図18(A)、図18(B)を参照して、左右方向のフリック操作(特定のタッチ操作)がされると、表示セットを強制的に切り替えることが出来る。たとえば、メールタイルのサムネイル画像を表示しているフォルダに対して左方向のフリック操作Tfがされた場合、次に表示される表示セット、つまり電話タイルのサムネイル画像が表示される。また、図示は省略しているが、右方向のフリック操作がされた場合は、前に表示されていた表示セット(上記実施例では、SNSタイルのサムネイル画像)が表示される。このように、ユーザは、目的のサムネイル画像を任意に表示させることが出来るため、フォルダに格納されているタイルと対応する機能を実行しやすくなる。
また、図示は省略しているが、表示セットの切り替えが有効なフォルダに対して下方向のフリック操作がされた場合、表示セットの切り替えが停止される。このように、ユーザは、頻繁に利用する機能と対応するタイルのサムネイル画像を常に表示させておくことが出来ようになる。そのため、フォルダに格納したタイルと対応する機能を実行するときの利便性が向上する。なお、切り替えが停止された状態のフォルダに対して、再び下方向のフリック操作がされると表示セットの切り替えが再開される。
以上の説明から分かるように、本実施例によれば、ユーザはフォルダに関する操作を容易に行うことが出来る。
上述では本実施例の特徴を概説した。以下では、図19、図20に示すメモリマップおよび図21−図30に示すフロー図を用いて詳細に説明する。
図19を参照して、RAM46には、プログラム記憶領域302とデータ記憶領域304とが形成される。プログラム記憶領域302は、先に説明したように、フラッシュメモリ44(図2)に予め設定しているプログラムデータの一部または全部を読み出して記憶(展開)しておくための領域である。
プログラム記憶領域302には、タッチ操作に応じてフォルダが作成されるときに実行されるフォルダ作成プログラム310、フォルダに対してタッチ操作がされたときに実行されるフォルダ制御プログラム312、サムネイル画像の切り替えおよび更新を制御するためのサムネイル画像制御プログラム314およびサムネイル画像を作成するためのサム
ネイル画像作成プログラム316が記憶される。また、フォルダ制御プログラム312のサブルーチンとして、タップ操作プログラム312a、ダブルタップ操作プログラム312b、ロングタップ操作プログラム312cおよびフリック操作プログラム312dもプログラム記憶領域302に記憶される。
なお、プログラム記憶領域302には、メール機能、ブラウザ機能などのアプリケーションおよび機能を実行するためのプログラムも記憶される。
続いて、図20を参照して、RAM46のデータ記憶領域304には、タッチバッファ330、選択バッファ332およびサムネイルバッファ334が設けられると共に、タッチ座標マップ336およびフォルダテーブル338が記憶される。また、データ記憶領域304には、タッチフラグ340、強制切替フラグ342、左フリックフラグ344、停止フラグ346および更新カウンタ348などが設けられる。
タッチバッファ330には、タッチパネル制御回路48が出力するタッチ座標のデータが記憶される。選択バッファ332には、マルチタッチ操作によって選択されたタイルの情報が一時的に記憶される。サムネイルバッファ334には、表示セットの切り替えおよびライブ情報(表示状態)の更新に必要なサムネイル画像が一時的に記憶される。
タッチ座標マップ336は、タッチ操作におけるタッチ座標とディスプレイ14の表示座標とを対応付けるためのデータである。つまり、タッチパネル16に対して行われたタッチ操作の結果が、タッチ座標マップ336に基づいてディスプレイ14の表示に反映される。
フォルダテーブル338は、たとえば図7に示す構成のテーブルであり、フォルダに関する情報が記憶される。
タッチフラグ340は、タッチパネル16に対してタッチされているか否かを判断するためのフラグである。たとえば、タッチフラグ340は、1ビットのレジスタで構成される。タッチフラグ340がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、タッチフラグ340がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、タッチフラグ340は、タッチパネル制御回路48の出力に基づいてオン/オフが切り換えられる。
強制切替フラグ342は、フォルダに対してフリック操作がされたことを示すためのフラグである。左フリックフラグ344は、左方向のフリック操作がされたことを示すためのフラグである。停止フラグ346は、切り替えを停止する下方向のフリック操作がされたことを示すためのフラグである。
更新カウンタ348は、サムネイル画像の切り替えおよびライブ情報を変更するときの所定時間を計測するためのカウンタである。この更新カウンタ348は、は初期化されると、カウントを開始し、所定時間(たとえば2−3秒)が経過すると満了する。そして、更新カウンタ348は、更新タイマと呼ばれることもある。
なお、データ記憶領域304には、姿勢センサ50の出力が一時的に記憶されたり、プログラムの実行に必要な、他のフラグやタイマ(カウンタ)が設けられたりする。
プロセッサ30は、Windows(登録商標)ベースのOSや、Android(登録商標)およびiOS(登録商標)などのLinux(登録商標)ベースのOSなどその他のOSの制御下で、図21、図22に示すフォルダ作成処理、図23に示すフォルダ制
御処理、図24に示すタップ操作処理、図25に示すダブルタップ操作処理、図26に示すロングタップ操作処理、図27に示すフリック操作処理、図28、図29に示すサムネイル画像制御処理および図30に示すサムネイル画像作成処理などを含む、複数のタスクを並列的に処理する。
フォルダ作成処理は、たとえばホーム画面が表示されると開始される。ステップS1でプロセッサ30は、マルチタッチ操作か否かを判断する。つまり、プロセッサ30は、タッチフラグ340がオンとなった状態で、2つのタッチ位置の座標がタッチバッファ330に記憶されているかを判断する。ステップS1で“NO”であれば、つまりマルチタッチ操作がされていなければ、ステップS3でプロセッサ30は、終了か否かを判断する。ホーム画面の表示を消去する操作がされたかが判断される。ステップS3で“YES”であれば、たとえばホーム画面から他の画面に遷移する操作がされると、プロセッサ30はフォルダ作成処理を終了する。一方、ステップS3で“NO”であれば、つまりホーム画面の表示が継続していれば、プロセッサ30はステップS1の処理に戻る。
ステップS1で“YES”であれば、つまりマルチタッチ操作がされると、ステップS5でプロセッサ30は、2つのタッチ位置に基づいて矩形を定義する。たとえば、図4(A)に示すように、2つのタッチ位置に基づいて矩形が定義される。続いて、ステップS7でプロセッサ30は、定義した矩形にタイルが含まれているか否かを判断する。ステップS7で“NO”であれば、タイルが矩形に含まれていなければ、プロセッサ30はステップS1の処理に戻る。一方、ステップS7で“YES”であれば、タイルが定義した矩形に含まれていれば、プロセッサ30はステップS9の処理に進む。
続いて、ステップS9でプロセッサ30は、定義した矩形にフォルダが含まれているか否かが判断される。ステップS9で“NO”であれば、つまり図4(A)に示すように矩形の中にフォルダが含まれていなければ、ステップS11でプロセッサ30は定義した矩形に含まれるタイルを選択する。つまり、タイルの情報が選択バッファ332に記憶される。また、選択されたタイルは、表示態様(たとえば、色)が変更される。なお、ステップS11の処理を実行するプロセッサ30は選択部として機能する。続いて、ステップS13でプロセッサ30は、タイルの数を記憶する。つまり、選択バッファ332に記憶されているタイルの数が記憶される。なお、ステップS13の処理が終了すれば、プロセッサ30はステップS21の処理に進む。
また、ステップS9で“YES”であれば、たとえば図6(A)に示すように矩形の中にフォルダが含まれていれば、ステップS15でプロセッサ30は、定義した矩形に含まれるタイルとフォルダとを選択する。たとえば、図6(A)では電話タイルとフォルダとが選択され、それらの情報が選択バッファ332に記憶される。続いて、ステップS17でプロセッサ30は、選択されたフォルダ内のタイルの数を取得する。つまり、フォルダテーブル338から選択されたフォルダを特定し、そのフォルダに格納されている「タイルの数」を読み出す。続いて、ステップS19でプロセッサ30は、タイルの総数を記憶する。つまり、フォルダに格納されているタイルの数と、選択されたタイルの数との和(総数)が算出される。
続いて、ステップS21でプロセッサ30は、選択されているタイルの数がフォルダに格納可能なタイルの数の最大値よりも大きいかを判断する。ステップS21で“YES”であれば、つまり選択されたタイルが多過ぎてフォルダに格納することが出来なければ、ステップS23でプロセッサ30は、エラーメッセージを通知して、ステップS1の処理に戻る。たとえば、「選択されたタイルをフォルダに格納できません。」などの文字列がディスプレイ14に表示される。一方、ステップS21で“NO”であれば、つまり選択されたタイルをフォルダに格納可能な状態であれば、ステップS25でプロセッサ30は
、2つのタッチ位置が近づいたか否かを判断する。つまり、ピンチイン操作がされたかが判断される。なお、ステップS25では、2つのタッチ位置の各移動距離が閾値より大きいときにピンチイン操作がされたかが判断される。
ステップS25で“NO”であれば、たとえば2つのタッチ位置が変化していなければ、ステップS27でプロセッサ30は、リリースされたか否かを判断する。つまり、タッチフラグ340がオフに切り替わったかが判断される。ステップS27で“YES”であれば、たとえばユーザがマルチタッチ操作を行っている指をタッチパネル16から離せば、プロセッサ30はステップS1の処理に戻る。一方、ステップS27で“NO”であれば、つまり、ユーザがマルチタッチ操作を継続していれば、プロセッサ30はステップS25の処理に戻る。
続いて、ステップS25で“YES”であれば、つまりピンチイン操作がされると、ステップS29でプロセッサ30は、フォルダが選択されているかが判断される。つまり、矩形の中にフォルダの少なくとも一部が含まれているかが判断される。ステップS29で“NO”であれば、たとえば図4(A)に示すようにフォルダが選択されていなければ、ステップS31でプロセッサ30は、選択されたタイルの表示を消去する。つまり、選択されたタイルはフォルダに格納されるため、表示が消去される。続いて、ステップS33でプロセッサ30は、タイルの数に基づいてフォルダを作成する。たとえば、選択されたタイルが3つであれば、中サイズのフォルダが作成される。また、フォルダが作成されると、フォルダテーブル338にもフォルダ情報が追加される。続いて、ステップS35でプロセッサ30は、タイルをフォルダに格納する。つまり、選択バッファ332に記憶されているタイルの情報に基づいて、作成されたフォルダに選択されたタイルを格納する。なお、タイルが格納されると、格納されたタイルの情報がフォルダテーブル338に追加される。続いて、ステップS37でプロセッサ30は、矩形の重心位置に基づいてフォルダを表示する。つまり、作成されたフォルダの表示範囲に矩形の重心位置が含まれるように、フォルダがディスプレイ14に表示される。そして、ステップS37の処理が終了すれば、プロセッサ30はステップS1の処理に戻る。なお、ステップS33の処理を実行するプロセッサ30は作成部として機能し、ステップS35の処理を実行するプロセッサ30は格納部として機能し、ステップS37の処理を実行するプロセッサ30は第1表示制御部として機能する。
また、ステップS29で“YES”であれば、たとえば図6(A)に示すようにフォルダが選択されていれば、ステップS39でプロセッサ30は、選択されたタイルの表示を消去する。つまり、選択されたタイルはフォルダに追加されるため、選択されたタイルの表示は消去される。続いて、ステップS41でプロセッサ30は、フォルダの総数に基づいてフォルダの表示サイズを設定する。たとえば、フォルダの総数が5つであり、現時点の表示サイズが中サイズである場合、フォルダの表示サイズは大サイズに変更(設定)される。続いて、ステップS43でプロセッサ30は、タイルをフォルダに追加する。つまり、選択バッファ332に記憶されているタイルの情報に基づいて、フォルダにタイルが追加(格納)される。また、ステップS41およびステップS43でフォルダの表示サイズが設定されタイルが追加されると、その結果がフォルダテーブル338に反映される。そして、ステップS43の処理が終了すれば、プロセッサ30はステップS1の処理に戻る。なお、ステップS43の処理を実行するプロセッサ30は追加部として機能する。
図23はフォルダ制御処理のフロー図である。フォルダ制御処理は、フォルダを含むホーム画面が表示されると開始される。ステップS61でプロセッサ30は、タップ操作か否かを判断する。つまり、フォルダに対してタップ操作がされたかが判断される。ステップS61で“YES”であれば、つまりフォルダに対してタップ操作がされると、ステップS63でプロセッサ30は、タップ操作処理を実行する。続いて、ステップS65でプ
ロセッサ30は、終了か否かを判断する。たとえば、ホーム画面の表示を終了する操作がされたかが判断される。ステップS65で“YES”であれば、たとえばホーム画面から他の画面に遷移する操作がされると、プロセッサ30はフォルダ制御処理を終了する。一方、ステップS65で“NO”であれば、つまりホーム画面の表示が継続していれば、プロセッサ30はステップS61の処理に戻る。なお、ステップS63のタップ操作処理については図24のフロー図を用いて詳細に説明するため、ここでの説明は省略する。
また、ステップS61で“NO”であれば、つまりタップ操作がされていなければ、ステップS67でプロセッサ30は、ダブルタップ操作か否かを判断する。つまり、フォルダに対してダブルタップ操作がされたかが判断される。ステップS67で“YES”であれば、つまりフォルダに対してダブルタップ操作がされると、ステップS69でプロセッサ30は、ダブルタップ操作処理を実行し、ステップS65の処理に進む。なお、ダブルタップ操作処理については図25のフロー図を用いて詳細に説明するため、ここでの説明は省略する。
また、ステップS67で“NO”であれば、つまりダブルタップ操作がされていなければ、ステップS71でプロセッサ30は、ロングタップ操作がされたか否かを判断する。つまり、フォルダに対してロングタップ操作がされたかが判断される。ステップS71で“YES”であれば、つまりフォルダに対してロングタップ操作がされると、ステップS73でプロセッサ30は、ロングタップ操作処理を実行し、ステップS65の処理に進む。なお、ロングタップ操作処理については図26のフロー図を用いて詳細に説明するため、ここでの説明は省略する。
また、ステップS71で“NO”であれば、つまりロングタップ操作がされていなければ、ステップS75でプロセッサ30は、フリック操作か否かを判断する。つまり、フォルダに対してフリック操作がされたかが判断される。ステップS75で“YES”であれば、つまりフォルダに対してフリック操作がされると、ステップS77でプロセッサ30は、フリック操作処理を実行し、ステップS65の処理に進む。なお、フリック操作処理については図27のフロー図を用いて詳細に説明するため、ここでの説明は省略する。
また、ステップS75で“NO”であれば、つまりフォルダに対してフリック操作がされていなければ、プロセッサ30はステップS65の処理に進む。
図24はタップ操作処理のフロー図である。図23に示すフォルダ制御処理でステップS63の処理が実行されると、プロセッサ30はステップS91で、タッチ位置にサムネイル画像が存在するか否かを判断する。つまり、サムネイル画像に対してタップ操作がされたかが判断される。また、ステップS91の処理では、タッチバッファ330に記憶されているタッチ位置と、フォルダテーブル338に記憶されているサムネイル画像の表示範囲とに基づいて判断される。
ステップS91で“YES”であれば、つまりサムネイル画像に対してタップ操作がされると、ステップS93でプロセッサ30は、サムネイル画像と対応するタイルを特定する。具体的には、プロセッサ30は、フォルダテーブル338におけるサムネイル画像の欄に基づいて、タップ操作がされたサムネイル画像と対応するタイルを特定する。続いて、ステップS95でプロセッサ30は、特定されたタイルと対応する機能を実行する。たとえば、図8(A)に示すようにメール機能のサムネイル画像にタップ操作がされていた場合、メールタイルが特定され、メール機能が実行される。そして、ステップS95の処理が終了すれば、プロセッサ30はタップ操作処理を終了して、フォルダ制御処理に戻る。また、ステップS91で“NO”であれば、つまりサムネイル画像に対してタップ操作がされていない場合、プロセッサ30はタップ操作処理を終了して、フォルダ制御処理に
戻る。なお、ステップS95の処理を実行するプロセッサ30は実行部として機能する。
図25はダブルタップ操作処理のフロー図である。ステップS23に示すフォルダ制御処理でステップS69の処理が実行されると、プロセッサ30はステップS101でフォルダに格納されたタイルを表示する。つまり、図9(B)に示すように、フォルダに格納されているタイルの画像を含む展開フォルダ画像OFが表示される。なお、ステップS101の処理を実行するプロセッサ30はオブジェクト表示部として機能する。続いて、ステップS103でプロセッサ30は、タイルにフリック操作がされたか否かを判断する。つまり、タイルをフォルダの外に出す操作がされたかが判断される。ステップS103で“YES”であれば、たとえば図10(A)に示すようにタイルにフリック操作がされると、ステップS105でプロセッサ30は、フリックされたタイルをフォルダの外に出す。つまり、展開フォルダ画像OFの中から、フリック操作されたタイルの画像が消去される。また、フォルダテーブル338から外に出されたタイルの情報が削除される。なお、ステップS105の処理が終了すると、プロセッサ30はステップS111の処理に進む。
また、ステップS103で“NO”であれば、つまりタイルに対してフリック操作がされていなければ、ステップS107でプロセッサ30は、タイルにタップ操作がされたかが判断される。ステップS107で“YES”であれば、つまり展開フォルダ画像OFに含まれるタイルに対してタップ操作がされると、ステップS109でプロセッサ30は、タイルに対応する機能を実行する。つまり、図9(B)に示すメールタイルに対してタップ操作がされると、メール機能が実行される。そして、ステップS109で機能を実行する処理が終了すれば、プロセッサ30はダブルタップ操作処理を終了して、フォルダ制御処理に戻る。なお、アプリケーションが実行されている状態であるため、プロセッサ30は、フォルダ制御処理に戻った後、フォルダ制御処理を終了させる。
また、ステップS107で“NO”であれば、つまりタイルに対してタップ操作がされていなければ、ステップS111でプロセッサ30は、フォルダを閉じる操作か否かを判断する。たとえば、メニューキー22cが押下されたかが判断される。ステップS111で“NO”であれば、つまりフォルダを閉じる操作がされていなければ、プロセッサ30はステップS101の処理に戻る。一方、ステップS111で“YES”であれば、つまりフォルダを閉じる操作がされると、プロセッサ30はダブルタップ操作処理を終了して、フォルダ制御処理に戻る。
図26はロングタップ処理のフロー図である。図23に示すフォルダ制御処理でステップS73の処理が実行されると、プロセッサ30はステップS131で、編集アイコンを表示する。たとえば、図11(B)に示すように、サイズ変更アイコンおよび削除アイコンがフォルダに重ねて表示される。また、編集アイコンが表示されるとフォルダの表示態様も変化する。
続いて、ステップS133でプロセッサ30は、表示位置の変更操作か否かを判断する。つまり、フォルダに対してスライド操作がされたかが判断される。ステップS133で“YES”であれば、たとえば図12(A)に示すようにスライド操作がされると、ステップS135でプロセッサ30は、表示位置を変更する。つまり、スライド操作に応じてフォルダの表示位置が変更される。そして、ステップS135の処理が終了すれば、プロセッサ30はステップS141の処理に進む。なお、ステップS135の処理を実行するプロセッサ30は表示位置変更部として機能する。
また、ステップS133で“NO”であれば、つまり表示位置の変更操作がされなければ、ステップS137でプロセッサ30は、表示サイズの変更操作がされたか否かを判断
する。たとえば、サイズ変更アイコンに対してタッチされ、その後にスライド操作がされたかが判断される。ステップS137で“YES”であれば、たとえば図13(A)に示すように表示サイズの変更操作がされると、ステップS139でプロセッサ30は、表示サイズを変更する。つまり、スライド操作の方向およびスライド量に基づいて、フォルダの表示サイズが変更される。なお、ステップS139の処理を実行するプロセッサ30は表示サイズ変更部として機能する。
続いて、プロセッサ30は、ステップS141でフォルダテーブル338を更新し、ステップS143でフォルダの表示状態を変更する。つまり、表示位置または表示サイズが変更されたため、その変更結果がフォルダテーブル338とフォルダの表示状態に反映される。そして、ステップS143の処理が終了すれば、プロセッサ30はステップS153の処理に進む。
また、ステップS137で“NO”であれば、つまり表示サイズの変更操作がされていなければ、ステップS145でプロセッサ30は、フォルダの削除操作か否かを判断する。つまり、削除アイコンに対してタップ操作がされたかが判断される。ステップS145で“YES”であれば、たとえば図14(A)に示すように削除アイコンに対してタップ操作がされると、ステップS147でプロセッサ30は、フォルダの表示を消去する。つまり、削除アイコンと対応するフォルダの表示が削除される。続いて、ステップS149でプロセッサ30は、フォルダテーブル338からフォルダ情報を削除する。つまり、表示が消去されたフォルダと対応するフォルダ情報が削除される。続いて、ステップS151でプロセッサ30は、フォルダに格納されていたタイルを再表示する。たとえば、図14(B)に示すように、フォルダに格納されていたSNSタイル、電話タイルおよびメールタイルが、フォルダに格納される前の状態と略同じ状態で表示される。そして、ステップS151の処理が終了すれば、つまりフォルダが削除されれば、プロセッサ30はロングタップ処理を終了して、フォルダ制御処理に戻る。なお、ステップS149の処理を実行するプロセッサ30は削除部として機能する。
また、たとえばステップS145で“NO”であれば、つまりフォルダの削除操作がされなければ、ステップS153でプロセッサ30は、編集を終了するか否かを判断する。つまり、フォルダの編集を終了する操作がされたかが判断される。また、具体的には、メニューキー22cが操作されたかが判断される。ステップS153で“NO”であれば、つまり編集を終了する操作がされなければ、プロセッサ30はステップS131の処理に戻る。また、ステップS153で“YES”であれば、つまり編集を終了する操作がされると、プロセッサ30はロングタップ操作処理を終了して、フォルダ制御処理に戻る。
図27はフリック操作のフロー図である。図23に示すフォルダ制御処理でステップS77の処理が実行されると、プロセッサ30はステップS171で、上方向か否かを判断する。つまり、フリック操作が上方向であるかが判断される。ステップS171で“YES”であれば、たとえばフォルダの名称を変更するためにフォルダに対して上方向のフリック操作がされた場合、ステップS173でプロセッサ30は、名称変更処理を実行する。たとえば、名称変更処理が実行されると、図17(B)に示すように、文字入力領域およびキーボードが表示される。そして、名称変更処理が終了すると、プロセッサ30はフリック操作処理を終了して、フォルダ制御処理に戻る。なお、ステップS173の処理を実行するプロセッサ30は名称変更部として機能する。
また、ステップS171で“NO”であれば、つまりフリック操作の方向が上方向でなければ、ステップS175でプロセッサ30は、左方向か否かを判断する。つまり、フリック操作の方向が左右方向であるかが判断される。ステップS175で“YES”であれば、たとえば表示セットを強制的に切り替えるために左右方向のフリック操作がされた場
合、ステップS177でプロセッサ30は、左方向か否かを判断する。つまり、前の表示セットを表示するフリック操作あるかが判断される。ステップS177で“YES”であれば、つまりフリック操作の方向が左方向であれば、ステップS179でプロセッサ30は、左フリックフラグ344がオンにされる。つまり、前の表示セットを表示するフリック操作がされたため、左フリックフラグ344がオンにされる。また、ステップS177で“NO”であれば、つまり右方向のフリック操作がされた場合、プロセッサ30はステップS179の処理を省略して、ステップS181の処理に進む。そして、ステップS181でプロセッサ30は、強制切替フラグ342をオンにする。つまり、表示セットを強制的に切り替えるフリック操作がされたため、強制切替フラグ342がオンにされる。そして、ステップS181の処理が終了すれば、プロセッサ30はフリック操作処理を終了して、フォルダ制御処理に戻る。
また、ステップS175で“NO”であれば、フリック操作の方向が左右方向でなければ、ステップS183でプロセッサ30は、下方向か否かを判断する。つまり、フリック操作の方向が下方向であるかが判断される。ステップS183で“YES”であれば、たとえば表示セットの切り替えを停止または再開するために下方向のフリック操作がれると、ステップS185でプロセッサ30は、停止フラグ346がオンであるかが判断される。つまり表示セットの切り替えが停止されている状態であるかが判断される。ステップS185で“YES”であれば、つまり表示セットの切り替えが停止されていれば、ステップS187でプロセッサ30は、停止フラグ346をオフにする。つまり、表示セットの切り替えを再開するために、停止フラグ346がオフにされる。一方、ステップS185で“NO”であれば、つまり停止フラグ346がオフであれば、ステップS189でプロセッサ30は、停止フラグ346をオンにする。つまり、表示セットの切り替えを停止するために、停止フラグ346がオンにされる。なお、ステップS189の処理を実行するプロセッサ30は停止部として機能する。
また、フリック操作の方向が正常に判定できずステップS183で“NO”と判断されるか、停止フラグ346のオン/オフが切り替えられると、プロセッサ30はフリック操作処理を終了して、フォルダ制御処理に戻る。
図28、図29はサムネイル画像制御処理のフロー図である。サムネイル画像制御処理は、たとえばホーム画面が表示されると開始される。ステップS201でプロセッサ30は、サムネイルを表示する。つまり、プロセッサ30は、表示されているフォルダに対応するサムネイル画像(表示セット)を、サムネイルバッファ334から読み出し、読み出したサムネイル画像をフォルダの表示範囲に表示する。なお、ステップS201の処理を実行するプロセッサ30は第2表示制御部として機能する。
続いて、ステップS203でプロセッサ30は、更新タイマを実行する。つまり、サムネイル画像が表示されてからの時間を計測するために、更新カウンタ348が初期化される。
続いて、ステップS205でプロセッサ30は、フォルダテーブル338を読み出す。続いて、ステップS207でプロセッサ30は、表示セットの切り替えが有効か否かを判断する。つまり、プロセッサ30は、フォルダテーブル338の切り替えの欄において表示セットの切り替えが有効にされているかを判断する。ステップS207で“NO”であれば、つまり表示セットの切り替えが無効に設定されていれば、ステップS209でプロセッサ30は、更新タイマが満了したかが判断される。つまり、サムネイル画像が表示されてから所定時間が経過したかが判断される。ステップS209で“YES”であれば、つまりサムネイル画像が表示されてから所定時間が経過していれば、ステップS211でプロセッサ30は、サムネイル画像を取得する。つまり、プロセッサ30は、サムネイル
バッファ334から現在の表示セットと対応するサムネイル画像のデータを読み出す。続いて、ステップS213でプロセッサ30は、サムネイル画像の表示状態を更新する。つまり、取得されたサムネイル画像によって現在の表示セットが更新される。このとき、ライブ情報を表すサムネイル画像がある場合は、そのサムネイル画像が次のライブ情報を表す。そして、ステップS213の処理が終了すれば、プロセッサ30はステップS203の処理に戻る。
また、ステップS209で“NO”であれば、つまりサムネイル画像が表示されてから所定時間が経過していなければ、プロセッサ30はステップS207の処理に戻る。ステップS207で“YES”であれば、つまり表示セットの切り替えが有効に設定されていれば、ステップS215でプロセッサ30は、停止フラグ346がオンであるか否かを判断する。つまり、表示セットの切り替えが停止されているかが判断される。ステップS215で“YES”であれば、つまり表示セットの切り替えが停止されていれば、プロセッサ30はステップS209の処理に進む。
一方、ステップS215で“NO”であれば、つまり表示セットの切り替えが停止されていなければ、ステップS217でプロセッサ30は、ステップS209と同様、更新タイマが満了したか否かを判断する。ステップS217で“NO”であれば、つまりサムネイル画像が表示されてから所定時間が経過していなければ、ステップS219でプロセッサ30は、強制切替フラグ342がオンであるか否かを判断する。つまり、表示セットを強制的に切り替える左右方向のフリック操作がフォルダに対してされたかが判断される。ステップS219で“YES”であれば、ステップS221でプロセッサ30は、更新タイマを強制満了させる。つまり、表示セットを強制的に切り替えるフリック操作がされ、更新タイマによる所定時間の計測が不要になったため、更新タイマが強制的に満了させられる。続いて、ステップS223でプロセッサ30は、強制切替フラグ342をオフにする。つまり、強制切替フラグ342がオンのままでは、次回の処理で更新タイマによる所定時間の計測が行われなくなってしまうため、強制切替フラグ342がオフにされる。そして、ステップS223の処理が終了すれば、プロセッサ30はステップS225の処理に進む。
また、ステップS219で“NO”であれば、つまり左右方向のフリック操作がされていなければ、プロセッサ30はステップS217の処理に戻る。また、ステップS217で“YES”であれば、つまりサムネイル画像が表示されてから所定時間が経過すれば、プロセッサ30はステップS225の処理に進む。
続いて、ステップS225でプロセッサ30は、左フリックフラグ344がオンであるか否かを判断する。つまり、前の表示セットを表示するために左方向のフリック操作がされた状態であるかが判断される。ステップS225で“NO”であれば、つまり更新タイマが満了したか、右方向のフリック操作がされた場合は、ステップS227でプロセッサ30は、次の表示セットを取得する。つまり、次に表示する表示セットがサムネイルバッファ334から取得される。そして、ステップS227の処理が終了すれば、プロセッサ30はステップS233の処理に進む。
一方、ステップS225で“YES”であれば、つまり左方向のフリック操作がされた場合、ステップS229でプロセッサ30は、前の表示セットを取得する。つまり、前に表示されていた表示セットを再び表示するために、サムネイルバッファ334から前の表示セットが取得される。続いて、ステップS231でプロセッサ30は、左フリックフラグ344をオフにする。つまり、次回の処理で左方向のフリック操作がされたと誤判定されないようにするために、左フリックフラグ344がオフにされる。そして、ステップS231の処理が終了すれば、プロセッサ30はステップS233の処理に進む。
このようにして表示セットが取得されると、ステップS233でプロセッサ30は、表示セットを切り替える。たとえば、サムネイル画像が表示されてから所定時間が経過するか右方向のフリック操作がされた場合は、次の表示セットのサムネイル画像が表示される。一方、左方向のフリック操作がされた場合は、前の表示セットのサムネイル画像が表示される。また、ライブ情報を表すサムネイル画像が、前または次に表示される表示セットに含まれている場合、そのサムネイル画像が表すライブ情報は更新される。そして、ステップS233の処理が終了すれば、プロセッサ30はステップS203の処理に戻る。なお、ステップS233の処理を実行するプロセッサ30は切替部として機能する。
図30は、サムネイル画像作成処理のフロー図である。サムネイル画像作成処理は、たとえばホーム画面が表示されると開始される。ステップS251でプロセッサ30は、フォルダテーブル338を読み出す。つまり、表示するサムネイル画像を作成するためにフォルダテーブル338が読み出される。続いて、ステップS253でプロセッサ30は、フォルダに対応する表示セットを作成する。たとえば、図16(A)に示すフォルダの場合、図16(A)に示す表示セットと図16(B)に示す表示セットとが予め作成される。そして、作成された各表示セットはサムネイルバッファ334に記憶される。なお、ステップS253で作成された表示セットに基づいて、サムネイル画像制御処理でサムネイル画像が表示されたり、表示セットが切り換えられたりする。
続いて、ステップS255でプロセッサ30は、ライブ情報を示すサムネイル画像が表示されているか否かを判断する。たとえば、新着メールの情報をライブ情報として示すメールタイルのサムネイル画像が表示されているかが判断される。ステップS255で“NO”であれば、ライブ情報を示すサムネイル画像が表示されていなければ、プロセッサ30はステップS255の処理を繰り返す。
一方、ステップS255で“YES”であれば、たとえば図16(A)に示すようにライブ情報を示すメールタイルのサムネイル画像が表示されていれば、ステップS257でプロセッサ30は、次に示されるライブ情報を作成する。たとえば、図16(A)に示すメールタイルのサムネイル画像が表示されている場合、次の新着メールを示すライブ情報が作成される。そして、作成されたライブ情報を含むメールタイルのサムネイル画像がサムネイルバッファ334に記憶される。なお、この処理で作成されたライブ情報に基づいて、表示セットが切り換えられたり、サムネイル画像の表示状態が更新されたりしたときに、サムネイル画像が表すライブ情報が更新される。
続いて、ステップS259でプロセッサ30は、サムネイル画像の表示状態を更新する処理が実行されたかが判断される。つまり、サムネイル画像の表示状態の更新(S213)または表示セットの切り替え(S233)の処理が実行され、ライブ情報を示すサムネイル画像の表示状態が変更されたかが判断される。
ステップS255で“NO”であれば、つまりサムネイル画像の表示状態が変化していなければ、プロセッサ30はステップS259の処理を繰り返す。一方、ステップS259で“YES”であれば、たとえばライブ情報を表示するサムネイル画像が表示されている状態で、そのサムネイル画像の表示状態を更新する処理が実行されると、プロセッサ30はステップS255の処理に戻る。このとき、ライブ情報を示すサムネイル画像が再び表示された場合は、次に表示されるライブ情報が再び作成される。一方、ライブ情報を示すサムネイル画像が表示されていなければ、プロセッサ30はステップS255の処理を繰り返すことになる。
なお、他の実施例では、2つ以上のフォルダがピンチイン操作によって1つのフォルダ
にまとめられてもよい。このとき、2つのフォルダをまとめたフォルダの名称は、各フォルダの名称をそれぞれ並べたものか、2つ以上のフォルダがまとめられたことを示す名称(たとえば、「結合したフォルダ」など)などとされる。
また、フォルダを表示しているホーム画面から他の画面に遷移したり、画面がオフにされたりするときは、そのときのフォルダの表示状態が記憶される。そして、次にホーム画面が表示されるときは、前の状態でフォルダが表示される。
また、ホーム画面には、他のアプリケーション(たとえば、SMSなど)に対応するタイルがさらに含まれていてもよい。
また、他の実施例では、1つのフォルダの表示範囲に表示されるサムネイル画像は、ユーザが任意に設定することが出来てもよい。
また、その他の実施例では、フォルダの表示サイズは、サムネイル画像を2つ表示可能なサイズ、6つ表示可能なサイズおよび9つ以上表示可能なサイズに変更することが出来てもよい。
また、さらにその他の実施例では、フォルダの表示範囲に対してタッチ操作によって文字を書くことで、格納されているタイルを検索することが出来てもよい。
また、音声認識が可能な携帯電話機であれば、フォルダが開かれた状態になれば音声認識機能が実行され、音声入力によってタイルを指定してそのタイルと対応する機能を実行することが出来てもよい。
また、フォルダの表示範囲に対してジェスチャ操作(たとえば、円を描く)をタッチ操作で入力することで、格納されているタイルを特定し、そのタイルと対応する機能が実行されるようにしてもよい。また、上述の処理は、ジェスチャ操作ではなく、フォルダの表示範囲にタッチしたまま携帯電話機10を振る操作であってもよい。
また、上述の実施例では、閾値に対して「より大きい」の言葉を用いたが「閾値より大きい」とは「閾値以上」の意味も含まれる。また、「閾値よりも小さい」とは「閾値以下」および「閾値未満」の意味も含まれる。
また、本実施例で用いられたプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して携帯電話機10に配信されてもよい。また、CD,DVD,BD(Blue-Ray Disk)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒
体に複数のプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、プログラムが本実施例と同等の構成の携帯電話機にインストールされた場合、本実施例と同等の効果が得られる。
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。