本出願に係る電子機器、制御方法、及び制御プログラムを実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、電子機器の例として、スマートフォンについて説明する。
(実施形態)
図1から図3を参照しながら、実施形態に係るスマートフォン1の全体的な構成について説明する。図1から図3に示すように、スマートフォン1は、ハウジング20を有する。ハウジング20は、フロントフェイス1Aと、バックフェイス1Bと、サイドフェイス1C1〜1C4とを有する。フロントフェイス1Aは、ハウジング20の正面である。バックフェイス1Bは、ハウジング20の背面である。サイドフェイス1C1〜1C4は、フロントフェイス1Aとバックフェイス1Bとを接続する側面である。以下では、サイドフェイス1C1〜1C4を、どの面であるかを特定することなく、サイドフェイス1Cと総称することがある。
スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3A〜3Cと、照度センサ4と、近接センサ5と、レシーバ7と、マイク8と、カメラ12とをフロントフェイス1Aに有する。スマートフォン1は、スピーカ11と、カメラ13とをバックフェイス1Bに有する。スマートフォン1は、ボタン3D〜3Fと、コネクタ14とをサイドフェイス1Cに有する。以下では、ボタン3A〜3Fを、どのボタンであるかを特定することなく、ボタン3と総称することがある。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。図1の例では、ディスプレイ2A及びタッチスクリーン2Bはそれぞれ略長方形状であるが、ディスプレイ2A及びタッチスクリーン2Bの形状はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、それぞれが正方形又は円形等のどのような形状もとりうる。図1の例では、ディスプレイ2A及びタッチスクリーン2Bは重ねて配置されているが、ディスプレイ2A及びタッチスクリーン2Bの配置はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、例えば、並べて配置されてもよいし、離して配置されてもよい。図1の例では、ディスプレイ2Aの長辺はタッチスクリーン2Bの長辺に沿っており、ディスプレイ2Aの短辺はタッチスクリーン2Bの短辺に沿っているが、ディスプレイ2A及びタッチスクリーン2Bの重ね方はこれに限定されない。ディスプレイ2Aとタッチスクリーン2Bとが重ねて配置される場合、例えば、ディスプレイ2Aの1ないし複数の辺がタッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触した位置を検出することができる。以下の説明では、タッチスクリーン2Bに対して接触する指、ペン、又はスタイラスペン等を、「接触オブジェクト」又は「接触物」と呼ぶことがある。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
スマートフォン1は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーン2Bに対して行われる操作である。スマートフォン1によって判別されるジェスチャは、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトを含むがこれらに限定されない。
「タッチ」は、タッチスクリーン2Bに指が触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が接触するジェスチャをタッチとして判別する。「ロングタッチ」は、タッチスクリーン2Bに指が一定時間より長く触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が一定時間より長く接触するジェスチャをロングタッチとして判別する。
「リリース」は、指がタッチスクリーン2Bから離れるジェスチャである。スマートフォン1は、指がタッチスクリーン2Bから離れるジェスチャをリリースとして判別する。「スワイプ」は、指がタッチスクリーン2Bに接触したままで移動するジェスチャである。スマートフォン1は、指がタッチスクリーン2Bに接触したままで移動するジェスチャをスワイプとして判別する。
「タップ」は、タッチに続いてリリースをするジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャをタップとして判別する。「ダブルタップ」は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャをダブルタップとして判別する。
「ロングタップ」は、ロングタッチに続いてリリースをするジェスチャである。スマートフォン1は、ロングタッチに続いてリリースをするジェスチャをロングタップとして判別する。「ドラッグ」は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャである。スマートフォン1は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャをドラッグとして判別する。
「フリック」は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャである。すなわち、「フリック」は、タッチに続いて指が移動しながらリリースが行われるジェスチャである。スマートフォン1は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャをフリックとして判別する。フリックは、指が一方方向へ移動しながら行われることが多い。フリックは、指が画面の上方向へ移動する「上フリック」、指が画面の下方向へ移動する「下フリック」、指が画面の右方向へ移動する「右フリック」、指が画面の左方向へ移動する「左フリック」等を含む。フリックにおける指の移動は、スワイプにおける指の移動よりも素早いことが多い。
「ピンチイン」は、複数の指が互いに近付く方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が短くなるジェスチャをピンチインとして判別する。「ピンチアウト」は、複数の指が互いに遠ざかる方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が長くなるジェスチャをピンチアウトとして判別する。
以下の説明では、1本の指により行われるジェスチャを「シングルタッチジェスチャ」と呼び、2本以上の指により行われるジェスチャを「マルチタッチジェスチャ」と呼ぶことがある。マルチタッチジェスチャは、例えば、ピンチインおよびピンチアウトを含む。タップ、フリックおよびスワイプ等は、1本の指で行われればシングルタッチジェスチャであり、2本以上の指で行われればマルチタッチジェスチャである。
スマートフォン1は、タッチスクリーン2Bを介して判別するこれらのジェスチャに従って動作を行う。このため、利用者にとって直感的で使いやすい操作性が実現される。判別されるジェスチャに従ってスマートフォン1が行う動作は、ディスプレイ2Aに表示されている画面に応じて異なることがある。以下の説明では、説明を簡単にするために、「タッチスクリーン2Bが接触を検出し、検出された接触に基づいてジェスチャの種別をスマートフォン1がXと判別すること」を、「スマートフォンがXを検出する」、又は「コントローラがXを検出する」と記載することがある。
図4を参照しながら、ディスプレイ2Aに表示される画面の例について説明する。図4は、ホーム画面の例を示している。ホーム画面40は、デスクトップ、待受画面、アイドル画面又は標準画面と呼ばれることもある。ホーム画面40は、ディスプレイ2Aに表示される。ホーム画面40は、スマートフォン1にインストールされているアプリケーションのうち、どのアプリケーションを実行するかを利用者に選択させる画面である。スマートフォン1は、ホーム画面40で選択されたアプリケーションをフォアグランドで実行する。フォアグランドで実行されるアプリケーションの画面は、ディスプレイ2Aに表示される。
スマートフォン1は、ホーム画面40にオブジェクトを配置することができる。図4に示すホーム画面40は、複数のオブジェクト50が配置されている。オブジェクト50は、ホーム画面40上で拡大縮小が可能に表示されている。オブジェクト50は、例えば、アイコン50A、ウィジェット50Bを含む。アイコン50A及びウィジェット50Bは、表示体が付されている。表示体は、例えば、文字、文字列、文章、絵文字、画像のうちの少なくとも1つを含む。以下では、アイコン50A及びウィジェット50Bを特定することなく、オブジェクト50と総称することがある。
アイコン50Aは、スマートフォン1にインストールされているアプリケーションと対応付けられている。スマートフォン1は、アイコン50Aに対するジェスチャを検出すると、ジェスチャが検出されたアイコン50Aに対応付けられているアプリケーションを実行する。例えば、スマートフォン1は、メールアプリケーションに対応付けられたアイコン50Aに対するタップが検出されると、メールアプリケーションを実行する。
ウィジェット50Bは、画面に埋め込み可能なアプリケーションソフトウェアである。ウィジェット50Bは、定期的に、又は利用者の操作に応じて、表示する内容が更新される画面である。ウィジェット50Bは、例えば、時計、カレンダー、画像、通知内容等を表示する。
オブジェクト50の背後には、壁紙41が表示される。壁紙41は、フォトスクリーン、バックスクリーン、アイドル画像又は背景画像と呼ばれることもある。スマートフォン1は、任意の画像を壁紙41として用いることができる。スマートフォン1は、壁紙41として表示する画像を利用者が選択できるように構成されてもよい。
オブジェクト50は、壁紙41の一部を覆い隠すパネルとして機能している。図4に示す例では、複数のオブジェクト50は、ホーム画面40(壁紙41)全体を覆っているが、これに限定されない。例えば、複数のオブジェクト50は、壁紙41全体を覆わないように配置されてもよい。
スマートフォン1は、複数のホーム画面を有していてよい。スマートフォン1は、例えば、ホーム画面40の数を利用者による設定に従って決定する。スマートフォン1は、ホーム画面40の数が複数であっても、選択された1つをディスプレイ2Aに表示する。
ディスプレイ2Aの上端には、領域42が設けられている。領域42には、電源の残量を示す残量マーク43、及び通信用の電波の電界強度を示す電波レベルマーク44が表示される。スマートフォン1は、領域42に、時刻、天気、実行中のアプリケーション、通信システムの種別、電話のステータス、装置のモード、装置に生じたイベント等を表示してもよい。このように、領域42は、利用者に対して各種の通知を行うために用いられる。領域42は、ホーム画面40以外の画面でも設けられることがある。領域42が設けられる位置は、ディスプレイ2Aの上端に限定されない。
ホーム画面40の上下方向について説明する。以下の説明では、ホーム画面40の上下方向は、ディスプレイ2Aに表示される文字または画像の上下方向を基準として決定されるものとする。したがって、図4に示すホーム画面40では、タッチスクリーンディスプレイ2の長手方向において領域42に近い側が上側であり、領域42から遠い側が下側である。そして、領域42において電波レベルマーク44が表示されている側が右側であり、領域42において残量マーク43が表示されている側が左側である。
図4に示したホーム画面40は、例であり、各種の要素の形態、各種の要素の配置、ホーム画面40の数、及びホーム画面40での各種の操作の仕方等は上記の説明の通りでなくてもよい。
本実施形態では、オブジェクト50は、四角形である場合について説明するが、これに限定されない。例えば、オブジェクト50は、三角形、円形等の他の形状としてもよい。オブジェクト50は、異なる形状を組み合わせてホーム画面40上に配置されてもよい。アイコン50Aとウィジェット50Bは、利用者の好みのサイズでホーム画面40上に配置することができる。
本実施形態では、オブジェクト50は、表示体が付されている場合について説明するが、これに限定されない。オブジェクト50は、表示体が付されていない、スマートフォン1にインストールされているアプリケーションと対応付けられていないものを含んでもよい。
図5は、スマートフォン1のブロック図である。スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。タッチスクリーン2Bは、接触を検出する。コントローラ10は、スマートフォン1に対するジェスチャを検出する。具体的には、コントローラ10は、タッチスクリーン2Bと協働することによって、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する操作(ジェスチャ)を検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Fを有する。コントローラ10はボタン3と協働することによってボタン3に対する操作を検出する。ボタン3に対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、プッシュ、及びマルチプッシュを含むが、これらに限定されない。
ボタン3A〜3Cは、例えば、ホームボタン、バックボタン又はメニューボタンである。ボタン3Dは、例えば、スマートフォン1のパワーオン/オフボタンである。ボタン3Dは、スリープ/スリープ解除ボタンを兼ねてもよい。ボタン3E及び3Fは、例えば、音量ボタンである。
照度センサ4は、スマートフォン1の周囲光の照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、タッチスクリーンディスプレイ2が顔に近付けられたことを検出する。照度センサ4及び近接センサ5は、一つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、2G、3G、4G等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。無線通信規格として、さらに、例えば、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)等がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
レシーバ7及びスピーカ11は、音出力部である。レシーバ7及びスピーカ11は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。マイク8は、音入力部である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに画面を表示させ、タッチスクリーン2Bを介して検出されるジェスチャに応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、メールアプリケーション9B、ブラウザアプリケーション9C、ナビゲートアプリケーション9D、音楽プレイヤーアプリケーション9E、カメラアプリケーション9F、計算機アプリケーション9G、テーブル9T、及び設定データ9Zを記憶する。メールアプリケーション9Bは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。ナビゲートアプリケーション9Dは、道案内等のためのナビゲーション機能を提供する。音楽プレイヤーアプリケーション9Eは、音楽を再生し、レシーバ7またはスピーカ11から出力するためのプレイヤー機能を提供する。カメラアプリケーション9Fは、カメラ12、13により撮影するための撮影機能を提供する。計算機アプリケーション9Gは、例えば四則演算を行うための計算機機能を提供する。設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。制御プログラム9Aが提供する機能は、メールアプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
制御プログラム9Aは、タッチスクリーンディスプレイ2に対するジェスチャによってオブジェクト50を拡大縮小する機能を提供する。コントローラ10は、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介してオブジェクト50に対する拡大縮小の操作を検出し、検出した操作に応じてオブジェクト50を拡大縮小させる。
制御プログラム9Aは、拡大縮小されたオブジェクト50のサイズに応じて、第1の制御状態と第2の制御状態とを遷移させる機能を含む。第1の制御状態は、オブジェクト50の表示体の数及び大きさを制御する状態である。第2の制御状態は、表示体の大きさを固定した状態で、表示体の数を制御する状態である。
例えば、オブジェクト50を拡大させる場合、スマートフォン1は、オブジェクト50のサイズが所定値まで拡大するまでは第1の制御状態で拡大制御を行う。拡大操作が継続された場合、スマートフォン1は、オブジェクト50のサイズが所定値を超えて拡大すると、第1の制御状態から第2の制御状態に遷移し、第2の制御状態で拡大制御を行う。
例えば、オブジェクト50を縮小させる場合、スマートフォン1は、オブジェクト50のサイズが所定値まで縮小するまでは第2の制御状態で縮小制御を行う。縮小操作が継続された場合、スマートフォン1は、オブジェクト50のサイズが所定値未満まで縮小すると、第2の制御状態から第1の制御状態に遷移し、第1の制御状態で縮小制御を行う。
テーブル9Tは、オブジェクト50に関するオブジェクトデータを含む。オブジェクトデータは、複数のオブジェクト50ごとに設けられている。オブジェクトデータは、例えば、アプリケーション、第1表示内容、第2表示内容、表示サイズ閾値といった項目を含む。アプリケーションの項目には、オブジェクト50に対応付けられたアプリケーションに関する情報が設定される。第1表示内容の項目には、オブジェクト50に固定で表示するデータが設定される。第2表示内容の項目には、オブジェクト50に対して追加削減するデータが設定される。追加削減するデータが複数存在する場合、変更表示内容の項目には、追加削減する複数のデータの各々に優先度が関連付けられる。表示サイズ閾値の項目には、第1の制御状態と第2の制御状態との遷移を判定するための表示サイズの閾値が設定される。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。コントローラ10は、複数の演算処理装置を含んでもよい。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、レシーバ7、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、及びジャイロスコープ17を含むが、これらに限定されない。
コントローラ10は、例えば、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を実行する。
カメラ12は、フロントフェイス1Aに面している物体を撮影するインカメラである。カメラ13は、バックフェイス1Bに面している物体を撮影するアウトカメラである。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
加速度センサ15は、スマートフォン1に働く加速度の方向及び大きさを検出する。方位センサ16は、地磁気の向きを検出する。ジャイロスコープ17は、スマートフォン1の角度及び角速度を検出する。加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果は、スマートフォン1の位置及び姿勢の変化を検出するために、組み合わせて利用される。
図5においてストレージ9が記憶するプログラム及びデータの一部又は全部は、通信ユニット6による無線通信で他の装置からダウンロードされてもよい。図5においてストレージ9が記憶するプログラム及びデータの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。図5においてストレージ9が記憶するプログラム及びデータの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、CD(登録商標)、DVD(登録商標)、Blu−ray(登録商標)等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、及びソリッドステート記憶媒体を含むが、これらに限定されない。
図5に示したスマートフォン1の構成は例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図5の例に限定されない。スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに代えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。図5に示した例では、スマートフォン1が2つのカメラを備えるが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図5に示した例では、スマートフォン1が位置及び姿勢を検出するために4種類のセンサを備えるが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよい。あるいは、スマートフォン1は、位置及び姿勢の少なくとも1つを検出するための他の種類のセンサを備えてもよい。
図6を参照しながら、スマートフォン1によるオブジェクト50の拡大に係る制御について説明する。図6は、スマートフォン1によるオブジェクト50の拡大に係る制御の例を示す図である。以下の説明においては、同様の構成要素には同一の符号を付し、重複する説明は省略することがある。
利用者は、スマートフォン1を操作して、ホーム画面40に対するウィジェット50Bの追加を要求する。スマートフォン1は、ステップS11として、複数のアイコン50Aと1つのウィジェット50Bとを含むホーム画面40を、テーブル9Tに基づいてタッチスクリーンディスプレイ2に表示する。ステップS11では、ウィジェット50Bは、表示体51、表示体52が付されている。表示体51は、時と分とを含む時刻である。表示体52は、ウィジェット50Bのシンボルマークである。表示体51及び表示体52は、初期のサイズで表示されている。
ステップS12では、利用者は、拡大可能なウィジェット50Bの右上の角を、指Fによって位置P1までドラッグさせている。位置P1は、ウィジェット50Bの表示サイズ閾値に対応したホーム画面40上の位置となっている。
スマートフォン1は、ステップS12として、タッチスクリーン2Bを介してウィジェット50Bを拡大する方向へのドラッグのジェスチャを検出すると、拡大操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズがテーブル9Tの表示サイズ閾値を超えたかを判定する。表示サイズが表示サイズ閾値を超えていない場合、スマートフォン1は、第1の制御状態で、ウィジェット50Bの拡大表示を制御する。スマートフォン1は、第1の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bを拡大するとともに、既に表示されている表示体51及び表示体52の大きさを拡大する。
ステップS13では、ウィジェット50Bは、表示サイズがホーム画面40上の位置P1まで拡大され、表示体51及び表示体52が予め定められた表示体最大サイズまで拡大されている。表示体最大サイズとは、文字や画像の識別性が損なわれないサイズである。表示体最大サイズは、文字等が大きくなり過ぎて、輪郭等が粗くなることを避けるためのサイズとなっている。
ステップS13では、利用者は、ウィジェット50Bに対する拡大方向へのドラッグ操作を継続している。利用者は、位置P1まで拡大したウィジェット50Bの右上の角を、指Fによって位置P2までドラッグさせている。位置P2は、ウィジェット50Bの表示サイズ閾値を超えたホーム画面40上の位置となっている。
スマートフォン1は、ステップS13として、タッチスクリーン2Bを介して位置P1から位置P2へのドラッグのジェスチャを検出すると、拡大操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズが表示サイズ閾値を超えたかを判定する。表示サイズが表示サイズ閾値を超えている場合、スマートフォン1は、第1の制御状態から第2の制御状態に遷移し、ウィジェット50Bの拡大表示を制御する。スマートフォン1は、第2の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bの表示サイズを拡大するとともに、既に表示されている表示体51及び52の大きさを固定した状態で、表示体51の数を増やす。具体的には、スマートフォン1は、テーブル9Tの優先度に基づいて、ウィジェット50Bの表示サイズを拡大させることによって生じたウィジェット50Bの空きの領域に、表示体51の表示していなかったデータを追加して表示する。なお、上記のステップS11からS13において、スマートフォン1が、表示体51及び52における表示体の数を増やす例については表示していない。
ステップS14では、ウィジェット50Bは、サイズがホーム画面40上の位置P2まで拡大され、表示体51及び52の表示サイズが固定された状態で、表示体51の数が増加されている。ステップS14に示す例では、表示体51は、「時」と「分」との2つのデータが表示されていた状態から、「時」と「分」と「秒」との3つのデータが表示された状態に変化している。
ステップS14では、利用者は、ウィジェット50Bに対する拡大方向へのドラッグ操作を継続している。利用者は、位置P2まで拡大したウィジェット50Bの右上の角を、指Fによって位置P3までドラッグさせている。位置P3は、ホーム画面40におけるウィジェット50Bの最大サイズに対応した位置となっている。
スマートフォン1は、ステップS14として、タッチスクリーン2Bを介して位置P2から位置P3へのドラッグのジェスチャを検出すると、拡大操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズが表示サイズ閾値を超えたかを判定する。表示サイズが表示サイズ閾値を超えている場合、スマートフォン1は、第2の制御状態を継続し、ウィジェット50Bの拡大表示を制御する。スマートフォン1は、第2の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bの表示サイズを拡大するとともに、既に表示されている表示体51及び表示体52の大きさを固定した状態で、新たな表示体53を追加する。具体的には、スマートフォン1は、テーブル9Tの優先度に基づいて、ウィジェット50Bの表示サイズを拡大させることによって生じたウィジェット50Bの空きの領域に、新たな表示体53を追加して表示する。
ステップS15では、ウィジェット50Bは、表示サイズがホーム画面40上の位置P3まで拡大され、表示体51及び表示体52の表示サイズが固定された状態で、新たな表示体53が増加されている。ステップS15に示す例では、表示体53は、日付と曜日とを示す。
ステップS15では、利用者は、ウィジェット50Bに対するドラッグ操作を終了している。スマートフォン1は、タッチスクリーン2Bを介してリリースのジェスチャを検出すると、ホーム画面40の編集を終了する。
このように、スマートフォン1は、ウィジェット50Bの表示サイズが表示サイズ閾値まで拡大するまでは、既に表示している表示体の数及び大きさを変化させ、ウィジェット50Bの表示サイズが表示サイズ閾値を超えて拡大すると、既に表示している表示体の大きさを固定する。これにより、スマートフォン1は、ウィジェット50Bにおける表示体の識別性を維持した状態で、表示体の拡大を制御することができる。
スマートフォン1は、ウィジェット50Bの表示サイズが表示サイズ閾値まで拡大するまでは、既に表示している表示体の数及び大きさを制御し、ウィジェット50Bの表示サイズが表示サイズ閾値を超えて拡大すると、表示されていない表示体をウィジェット50Bに表示する。スマートフォン1は、表示されていない表示体を優先度の高い順に追加することにより、複数の表示体が重なることなく、オブジェクト50に追加することができる。これにより、スマートフォン1は、ウィジェット50Bにおける表示体の識別性を損なうことなく、ウィジェット50Bにおける情報量を増やすことができる。
図7を参照しながら、スマートフォン1によるオブジェクト50の縮小に係る制御について説明する。図7は、スマートフォン1によるオブジェクト50の縮小に係る制御の例を示す図である。
ステップS21では、スマートフォン1は、複数のアイコン50Aと1つのウィジェット50Bで覆われたホーム画面40を、タッチスクリーンディスプレイ2に表示している。ウィジェット50Bは、表示体51、表示体52及び表示体53を表示している。利用者は、縮小可能なウィジェット50Bの右上の角を、指Fによって位置P4までドラッグさせている。位置P4は、ウィジェット50Bの表示サイズ閾値を超えたホーム画面40上の位置となっている。
スマートフォン1は、ステップS21として、タッチスクリーン2Bを介してウィジェット50Bを縮小する方向へのドラッグのジェスチャを検出すると、縮小操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズが表示サイズ閾値未満かを判定する。表示サイズが表示サイズ閾値未満まで縮小していない場合、スマートフォン1は、第2の制御状態で、ウィジェット50Bの縮小表示を制御する。スマートフォン1は、第2の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bの表示サイズを縮小するとともに、既に表示されている表示体52の大きさを固定した状態で、他の表示体の数を減少させる。具体的には、スマートフォン1は、ウィジェット50Bの表示サイズを縮小させることによってウィジェット50Bの表示領域が減少すると、テーブル9Tの優先度の低い順に、表示体53を削除する。
ステップS22では、ウィジェット50Bは、表示サイズがホーム画面40上の位置P4まで縮小され、表示体53が消去され、表示データの数が減少していない表示体51と表示体52とを表示している。
ステップS22では、利用者は、ウィジェット50Bに対する縮小方向へのドラッグ操作を継続している。利用者は、位置P4まで縮小したウィジェット50Bの右上の角を、指Fによって位置P5までドラッグさせている。位置P5は、ウィジェット50Bの表示サイズ閾値に対応したホーム画面40上の位置となっている。
スマートフォン1は、ステップS22として、タッチスクリーン2Bを介してウィジェット50Bを縮小する方向へのドラッグのジェスチャを検出すると、縮小操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズが表示サイズ閾値未満かを判定する。表示サイズが表示サイズ閾値未満まで縮小していない場合、スマートフォン1は、第2の制御状態で、ウィジェット50Bの縮小表示を制御する。スマートフォン1は、第2の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bの表示サイズを縮小するとともに、既に表示されている表示体52の大きさを固定した状態で、他の表示体の数を減少させる。具体的には、スマートフォン1は、ウィジェット50Bの表示サイズを縮小させることによってウィジェット50Bの表示領域が減少すると、テーブル9Tの優先度に基づいて表示体51の数を削除する。
ステップS23では、ウィジェット50Bは、表示サイズがホーム画面40上の位置P5まで縮小され、表示データの数が減少した表示体51と表示体52とを表示している。ステップS23に示す例では、表示体51は、「時」と「分」と「秒」との3つの表示データが表示されていた状態から、「時」と「分」との2つの表示データが表示された状態に変化している。
ステップS23では、利用者は、ウィジェット50Bに対する縮小方向へのドラッグ操作を継続している。利用者は、位置P5まで縮小したウィジェット50Bの右上の角を、指Fによって位置P6までドラッグさせている。位置P6は、ホーム画面40におけるウィジェット50Bの最小サイズに対応した位置となっている。
スマートフォン1は、ステップS23として、タッチスクリーン2Bを介してウィジェット50Bを縮小する方向へのドラッグのジェスチャを検出すると、縮小操作であると判定する。スマートフォン1は、指Fの接触位置に対応したウィジェット50Bの表示サイズを求め、その表示サイズが表示サイズ閾値未満であるかを判定する。表示サイズが表示サイズ閾値未満まで縮小している場合、スマートフォン1は、第2の制御状態から第1の制御状態に遷移し、ウィジェット50Bの縮小表示を制御する。スマートフォン1は、第1の制御状態として、利用者の指Fの接触位置とテーブル9Tとに基づいて、ウィジェット50Bの表示サイズを縮小し、既に表示されている表示体51及び表示体52の大きさを縮小する。
ステップS24では、ウィジェット50Bは、表示サイズがホーム画面40上の位置P6まで縮小され、大きさが縮小された表示体51及び表示体52が表示されている。ステップS24では、利用者は、ウィジェット50Bに対するドラッグ操作を終了している。スマートフォン1は、タッチスクリーン2Bを介してリリースのジェスチャを検出すると、ホーム画面40の編集を終了する。
このように、スマートフォン1は、ウィジェット50Bが表示サイズ閾値まで縮小するまでは、既に表示している表示体の大きさを固定し、ウィジェット50Bが表示サイズ閾値未満まで縮小されると、既に表示している表示体の数及び大きさを変化させる。なお、表示体の数を増やす例については図示していない。これにより、スマートフォン1は、ウィジェット50Bにおける表示体の識別性を維持した状態で、表示体の縮小を制御することができる。スマートフォン1は、ウィジェット50Bの表示サイズを縮小する際に、表示体の表示サイズを固定することにより、表示体の表示サイズが急激に小さくなることを防止することができる。
スマートフォン1は、ウィジェット50Bが表示サイズ閾値まで縮小するまでは、既に表示している表示体の数を削減し、ウィジェット50Bが表示サイズ閾値未満まで縮小されると、既に表示している表示体を縮小する。これにより、スマートフォン1は、オブジェクト50が小さくなっても、必要最低限の情報をオブジェクト50に表示することができる。スマートフォン1は、既に表示されている表示体を優先度の低い順に削減することにより、複数の表示体が重なることなく、オブジェクト50を縮小させることができる。
以上のように、スマートフォン1は、オブジェクト50における表示体の数、大きさを拡大縮小に応じて最適化することで、情報量を最適化するとともに、ホーム画面40における表示体の識別性、読みやすさを維持することができる。
上記の実施形態では、スマートフォン1は、ウィジェット50Bを拡大縮小する場合について説明したが、これに限定されない。スマートフォン1は、アイコン50Aを拡大縮小するように構成されてもよい。例えば、スマートフォン1は、第1の制御状態として、アイコン50Aのサイズの拡大縮小に応じて、表示体の拡大縮小及び数の増減を制御する。スマートフォン1は、第2の制御状態として、アイコン50Aのサイズの拡大縮小に応じて、表示体の大きさを固定した状態で、表示体の数の増減を制御する。
図8を参照しながら、スマートフォン1によるオブジェクト50の拡大に関する制御の処理手順について説明する。図8は、スマートフォン1によるオブジェクト50の拡大制御の例の処理手順を示すフローチャートである。図8に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図8に示す処理手順は、繰り返し実行される。
図8に示すように、スマートフォン1のコントローラ10は、ステップS101として、オブジェクト50の拡大操作があるかを判定する。具体的には、コントローラ10は、タッチスクリーン2Bを介してオブジェクト50を拡大するジェスチャを検出した場合に、拡大操作があると判定する。拡大操作がない場合(ステップS102,No)、コントローラ10は、図8に示す処理手順を終了する。
拡大操作がある場合(ステップS102,Yes)、コントローラ10は、ステップS103に進む。コントローラ10は、ステップS103として、接触位置に対応したオブジェクト50の表示サイズを特定する。具体的には、コントローラ10は、タッチスクリーン2Bを介して検出した接触位置まで、オブジェクト50を拡大させた場合の表示サイズを特定する。
コントローラ10は、ステップS104として、テーブル9Tに基づいて、表示サイズが表示サイズ閾値を超えたかを判定する。表示サイズが表示サイズ閾値を超えていない場合(ステップS105,No)、コントローラ10は、ステップS106に進む。
コントローラ10は、ステップS106として、ステップS103で特定した表示サイズにオブジェクト50を拡大する。コントローラ10は、ステップS107として、表示体の拡大および数の増加を制御する。具体的には、コントローラ10は、オブジェクト50を拡大した倍率等に基づいて表示体のサイズを拡大する。コントローラ10は、オブジェクト50が所定のサイズまで拡大されて、オブジェクト50に表示体の追加領域が生じた場合、テーブル9Tの優先度に基づいて表示体の数を増加する。
オブジェクト50のサイズが変更されると、コントローラ10は、ステップS108として、変更されたオブジェクト50が表示されるように、ディスプレイ2Aの表示を更新する。コントローラ10は、ステップS109として、オブジェクト50に対する拡大操作が継続中であるかを判定する。具体的には、コントローラ10は、タッチスクリーン2Bを介してオブジェクト50を拡大するジェスチャが継続中であることを検出した場合に、拡大操作が継続中であると判定する。
拡大操作が継続中である場合(ステップS110,Yes)、コントローラ10は、ステップS103以降の処理を再実行する。拡大操作が継続中ではない場合(ステップS110,No)、コントローラ10は、図8に示す処理手順を終了する。
オブジェクト50の表示サイズが表示サイズ閾値を超えた場合(ステップS105,Yes)、コントローラ10は、ステップS111に進む。コントローラ10は、ステップS111として、ステップS103で特定した表示サイズにオブジェクト50を拡大する。コントローラ10は、ステップS112として、拡大操作が行われているオブジェクト50に、既に表示されている表示体の大きさを固定した状態で、表示体の数の増加を制御する。具体的には、コントローラ10は、オブジェクト50が所定のサイズまで拡大されて、オブジェクト50に表示体の追加領域が生じた場合、テーブル9Tの優先度に基づいて表示体の数を増加する。その後、コントローラ10は、既に説明したステップS108以降の処理を実行する。
図9を参照しながら、スマートフォン1によるオブジェクト50の縮小に関する制御の処理手順について説明する。図9は、スマートフォン1によるオブジェクト50の縮小制御の例の処理手順を示すフローチャートである。図9に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図9に示す処理手順は、繰り返し実行される。
図9に示すように、スマートフォン1のコントローラ10は、ステップS201として、オブジェクト50の縮小操作があるかを判定する。具体的には、コントローラ10は、タッチスクリーン2Bを介してオブジェクト50を縮小するジェスチャを検出した場合に、縮小操作があると判定する。縮小操作がない場合(ステップS202,No)、コントローラ10は、図9に示す処理手順を終了する。
縮小操作がある場合(ステップS202,Yes)、コントローラ10は、ステップS203に進む。コントローラ10は、ステップS203として、接触位置に対応したオブジェクト50の表示サイズを特定する。具体的には、コントローラ10は、タッチスクリーン2Bを介して検出した接触位置まで、オブジェクト50を縮小させた場合の表示サイズを特定する。
コントローラ10は、ステップS204として、テーブル9Tに基づいて、表示サイズが表示サイズ閾値未満であるかを判定する。
オブジェクト50の表示サイズが表示サイズ閾値未満である場合(ステップS205,Yes)、コントローラ10は、ステップS211に進む。コントローラ10は、ステップS211として、ステップS203で特定した表示サイズにオブジェクト50を縮小する。コントローラ10は、ステップS212として、縮小操作が行われているオブジェクト50に、既に表示されている表示体の大きさを固定した状態で、表示体の数の削減を制御する。具体的には、コントローラ10は、オブジェクト50が所定のサイズまで縮小されたときに、テーブル9Tの優先度に基づいて表示体の数を削減する。
オブジェクト50のサイズが変更されると、コントローラ10は、ステップS208として、変更されたオブジェクト50が表示されるように、ディスプレイ2Aの表示を更新する。コントローラ10は、ステップS209として、オブジェクト50に対する縮小操作が継続中であるかを判定する。具体的には、コントローラ10は、タッチスクリーン2Bを介してオブジェクト50を縮小するジェスチャが継続中であることを検出した場合に、縮小操作が継続中であると判定する。
縮小操作が継続中である場合(ステップS210,Yes)、コントローラ10は、ステップS203以降の処理を再実行する。縮小操作が継続中ではない場合(ステップS210,No)、コントローラ10は、図9に示す処理手順を終了する。
表示サイズが表示サイズ閾値未満ではない場合(ステップS205,No)、コントローラ10は、ステップS206に進む。コントローラ10は、ステップS206として、ステップS203で特定した表示サイズにオブジェクト50を縮小する。コントローラ10は、ステップS207として、表示体の縮小および数の削減を制御する。具体的には、コントローラ10は、オブジェクト50を縮小した倍率等に基づいて表示体のサイズを縮小する。コントローラ10は、オブジェクト50が所定のサイズまで縮小されたときに、テーブル9Tの優先度に基づいて表示体の数を削減する。その後、コントローラ10は、既に説明したステップS208以降の処理を実行する。
本出願の開示する実施形態は、発明の要旨及び範囲を逸脱しない範囲で変更することができる。さらに、本出願の開示する実施形態及びその変形例は、適宜組み合わせることができる。例えば、上記の実施形態は、以下のように変形してもよい。
例えば、図5に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
上記の実施形態では、スマートフォン1は、ホーム画面40におけるオブジェクト50の全てに表示体が付される(表示される)場合について説明したが、これに限定されない。例えば、スマートフォン1は、表示体が付されたオブジェクト50と、表示体が付されていないオブジェクトとをホーム画面40に配置するように構成されてもよい。
上記の実施形態では、スマートフォン1は、ホーム画面40におけるオブジェクト50の拡大縮小を制御する場合について説明したが、これに限定されない。例えば、スマートフォン1の拡大縮小制御は、拡大縮小が可能なオブジェクトが配置される各種画面に適用することができる。
上記の実施形態では、電子機器の例として、スマートフォンについて説明したが、添付の請求項に係る電子機器は、スマートフォンに限定されない。添付の請求項に係る電子機器は、スマートフォン以外の電子機器であってもよい。電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機を含むが、これに限定されない。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。