本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンを備える装置の例として、スマートフォンについて説明する。
(実施形態)
図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は、スマートフォン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は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、タッチスクリーンディスプレイ2が顔に近付けられたことを検出する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。照度センサ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つ又は複数をサポートしていてもよい。通信ユニット6は、有線による通信をサポートしてもよい。有線による通信は、例えば、イーサネット(登録商標)、ファイバーチャネル等を含む。
レシーバ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、プリセットアプリリスト9V、連係アプリデータ9W、候補アプリデータ9X、データタイプリスト9Y、及び設定データ9Zを記憶する。
メールアプリケーション9Bは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。電話アプリケーション9Dは、他の電子機器との間で通話を行うための通話機能を提供する。すぐ文字アプリケーション9Eは、入力された文字の用途を入力後に決めて他のアプリケーションで利用することを可能にするデータ連係機能を提供する。
スマートフォン1にインストールされるアプリケーションは、それぞれ属性情報を有する。属性情報は、アプリケーション毎に個別に管理されてもよいし、データベース又はリポジトリ内で一括して管理されてもよい。メールアプリケーション9Bの属性情報の例を図5に示す。図5に示す属性情報は、XML(eXnsible Markup Language)形式で記述されている。
図5に示す属性情報は、nameタグと、titleタグと、iconタグと、cooperationタグとを含んでいる。nameタグには、アプリケーションの正式な名前が設定される。titleタグには、ホーム画面等にアイコンを表示する際に付加されるアプリケーションのタイトルが設定される。iconタグには、ホーム画面等にアイコンとして表示される画像の識別情報が設定される。
cooperationタグには、データ連係に関する情報が設定される。cooperationタグは、0ないし複数のdataTypeタグを含むことができる。dataTypeタグには、他のアプリケーションがデータ連係によってデータを渡す場合にデータの用途を指定するためのデータタイプが設定される。例えば、アプリケーションが処理する情報又は画面に複数の項目が含まれ、どの項目の値としてデータを利用するかを、データを渡すアプリケーションが指定できる場合、データタイプは、項目を指定するために用いられる。
図5に示す例では、TEXT_DESTが設定されたdataTypeタグと、TEXT_SUBJECTが設定されたdataTypeタグと、TEXT_BODYが設定されたdataTypeタグとが、cooperationタグに含まれる。TEXT_DESTは、データ連係によって渡されたテキストを、送信するメールの宛先メールアドレスとして使用すべきことを指定する値である。TEXT_SUBJECTは、データ連係によって渡されたテキストを、送信するメールの件名として使用すべきことを指定する値である。TEXT_BODYは、データ連係によって渡されたテキストを、送信するメールの本文として使用すべきことを指定する値である。
プリセットアプリリスト9Vは、スマートフォン1に予めインストールされているアプリケーションのリストである。スマートフォン1に予めインストールされているアプリケーションには2つの種類がある。1つは、予めアプリケーションの実体がインストールされているアプリケーションである。この種類のアプリケーションは、アプリケーションに対応するアイコンが利用者によって選択されると、すぐに実行を開始する。
もう1つは、アプリケーションの実体は予めインストールされておらず、アプリケーションをインストールするための機能が代わりにインストールされているアプリケーションである。この種類のアプリケーションは、アプリケーションに対応するアイコンが利用者によって選択されると、アプリケーションの実体をインストールする処理を開始させる。そして、実体がインストールされた後は、アプリケーションに対応するアイコンが利用者によって選択されると、アプリケーションがすぐに実行を開始するようになる。このように、アプリケーションをインストールする機能を実体の代わりにインストールしておくことにより、スマートフォン1のストレージの容量を圧迫することなく、有用なアプリケーションを利用者に提供することができる。
プリセットアプリリスト9Vの例を図6に示す。図6に示す例では、「メールアプリケーション」、「ブラウザアプリケーション」、「電話アプリケーション」、及び「操作ガイドアプリケーション」という4つのアプリケーションの名称が、プリセットアプリリスト9Vに登録されている。プリセットアプリリスト9Vに登録される情報は、アプリケーションを識別することができる情報であればよく、アプリケーションの名称でなくてもよい。
連係アプリデータ9Wには、すぐ文字アプリケーション9Eとデータ連係するように選択されているアプリケーションに関する情報が登録される。連係アプリデータ9Wの例を図7Aに示す。図7Aに示すように、連係アプリデータ9Wは、アプリケーション、タイトル、アイコン、データタイプ、ステータスといった項目を有する。
アプリケーションの項目には、アプリケーションの識別情報が設定される。タイトルの項目には、ホーム画面等にアイコンを表示する際に付加されるアプリケーションのタイトルが設定される。アイコンの項目には、ホーム画面等にアイコンとして表示される画像の識別情報が設定される。データタイプの項目には、データ連係によってデータを渡す場合にデータの用途を指定するための値が設定される。ステータスの項目には、「有効」又は「無効」が設定される。「有効」は、アプリケーションの実体がインストールされていることを示す。「無効」は、アプリケーションの実体がインストールされていないことを示す。
図7Aに示す連係アプリデータ9Wには、プリセットアプリリスト9Vに登録されている4つのアプリケーションに対応する情報が登録されている。1件目の情報では、アプリケーションの項目に「メールアプリケーション」が設定され、タイトルの項目に「Mail」が設定され、アイコンの項目に「mail.png」が設定され、データタイプの項目に「TEXT_BODY」が設定され、ステータスの項目に「有効」が設定されている。この情報は、メールアプリケーション9Bがすぐ文字アプリケーション9Eとデータ連係するように選択されていること、及びメールアプリケーション9Bのアイコンは、mail.pngという画像と「Mail」というタイトルを組み合わせてなることを示している。さらに、この情報は、データ連係によってメールアプリケーション9Bに渡されたテキストが送信メールの本文として利用されること、及びメールアプリケーション9Bの実体がインストール済みであることを意味している。
4件目の情報では、アプリケーションの項目に「操作ガイドアプリケーション」が設定され、タイトルの項目に「Guide」が設定され、アイコンの項目に「guide.png」が設定され、データタイプの項目に「TEXT_QUERY_STRING」が設定され、ステータスの項目に「無効」が設定されている。この情報は、操作ガイドアプリケーションがすぐ文字アプリケーション9Eとデータ連係するように選択されていること、及び操作ガイドアプリケーションのアイコンは、guide.pngという画像と「Guide」というタイトルを組み合わせてなることを示している。さらに、この情報は、データ連係によって操作ガイドアプリケーションに渡されたテキストが検索用の文字列として利用されること、及び操作ガイドアプリケーションの実体がインストールされていないことを意味している。
候補アプリデータ9Xには、すぐ文字アプリケーション9Eとデータ連係可能だが、データ連係するように選択されていないアプリケーションに関する情報が登録される。候補アプリデータ9Xは、連係アプリデータ9Wと同様のデータ形式を有する。すぐ文字アプリケーション9Eとデータ連係可能なアプリケーションがスマートフォン1にインストールされると、スマートフォン1は、そのアプリケーションに関する情報を候補アプリデータ9Xに登録する。
候補アプリデータ9Xの例を図8Aに示す。図8Aに示す例では、カレンダアプリケーション及びSMSアプリケーションの2つのアプリケーションに関する情報が候補アプリデータ9Xに登録されている。
データタイプリスト9Yは、すぐ文字アプリケーション9Eが他のアプリケーションとのデータ連係においてデータを渡すときに指定することができるデータタイプのリストである。データタイプリスト9Yの例を図9に示す。図9に示す例では、データタイプは、優先順位及び解説と対応付けてデータタイプリスト9Yに登録されている。優先順位は、新たにインストールされたアプリケーションに関する情報を候補アプリデータ9Xに登録する場合に、データタイプの項目の値を決定するために用いられる。解説は、連係アプリデータ9Wのデータタイプを利用者に変更させる場合に用いられる。
設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。制御プログラム9Aが提供する機能は、メールアプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、及びFPGA(Field−Programmable Gate Array)を含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、レシーバ7、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、及びジャイロスコープ17を含むが、これらに限定されない。
カメラ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の位置及び姿勢の変化を検出するために、組み合わせて利用される。
図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、通信ユニット6による通信で他の装置からダウンロードされてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、CD(登録商標)、DVD(登録商標)、Blu−ray(登録商標)等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、及びソリッドステート記憶媒体を含むが、これらに限定されない。
図4に示したスマートフォン1の構成は例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図4の例に限定されない。スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに代えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。図4に示した例では、スマートフォン1が2つのカメラを備えるが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図4に示した例では、スマートフォン1が位置及び姿勢を検出するために3種類のセンサを備えるが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよい。あるいは、スマートフォン1は、位置及び姿勢の少なくとも1つを検出するための他の種類のセンサを備えてもよい。
次に、図10から図15を参照しながら、すぐ文字アプリケーション9Eが提供するデータ連係機能に関連するスマートフォン1の動作について説明する。図10は、すぐ文字アプリケーションの実行の仕方の例を示す図である。図10のステップS11で、スマートフォン1は、ロック画面30をタッチスクリーンディスプレイ2に表示している。ロック画面30は、スマートフォン1の起動が完了した場合、スマートフォン1がロック状態(省電力状態)から復帰する場合等に表示される。
ロック画面30は、錠前アイコン31と、すぐ文字アイコン32と、ミュートアイコン33とを有する。錠前アイコン31は、ロック画面30を閉じて、ホーム画面等の他の画面を表示するための操作において用いられる。すぐ文字アイコン32は、すぐ文字アプリケーション9Eを実行するための操作において用いられる。ミュートアイコン33は、スピーカ11からの音の出力を禁止又は許可するための操作において用いられる。
ステップS12では、利用者が指F1を用いて、すぐ文字アイコン32を錠前アイコン31の方向へフリック又はドラッグする操作を行っている。スマートフォン1は、このような操作を検出すると、すぐ文字アプリケーション9Eを実行する。その結果、ステップS13のように、すぐ文字画面60が、タッチスクリーンディスプレイ2に表示される。
すぐ文字画面60は、入力された文字を表示する文字表示領域61と、データ連係するアプリケーションとして選択されているアプリケーションのアイコン63が配列されるアイコン領域62と、設定アイコン64とを有する。アイコン領域62には、連係アプリデータ9Wに登録されている情報に対応するアプリケーションのアイコン63のリストが表示される。アイコン63は、連係アプリデータ9Wに登録されている情報におけるステータスの値が「有効」であるか「無効」であるかに応じて、異なる態様で表示されてもよい。すぐ文字画面60の下方には、文字入力のための仮想キーボード70が表示されている。
このように、すぐ文字アプリケーション9Eは、ロック画面30から直接実行することができる。このため、利用者は、何かの文字を用いた処理を行う必要が生じた場合に、その文字を入力するために、すぐ文字アプリケーション9Eを迅速に実行することができる。そして、すぐ文字画面60において文字を入力した後は、すぐ文字アプリケーション9Eのデータ連係機能を用いて、入力した文字を他のアプリケーションによる所望の処理に利用することができる。
すぐ文字アプリケーション9Eは、他のアプリケーションと同様のやり方でも実行することができる。例えば、ステップS14のように、ロック画面30がタッチスクリーンディスプレイ2に表示されているときに、利用者が錠前アイコン31を任意の方向へフリック又はドラッグしたものとする。スマートフォン1は、このような操作を検出すると、他の画面をタッチスクリーンディスプレイ2に表示する。
他の画面は、ロック状態へ遷移する前に表示されていた画面又はホーム画面である。ホーム画面は、スマートフォン1にインストールされているアプリケーションのうち、どのアプリケーションを実行するかを利用者に選択させる画面である。ホーム画面は、デスクトップ、待受画面、アイドル画面又は標準画面と呼ばれることもある。
スマートフォン1は、ステップS15として、ホーム画面40をタッチスクリーンディスプレイ2に表示している。ホーム画面40には、スマートフォン1にインストールされているアプリケーションに対応する複数のアイコン50が配置されている。ホーム画面40に配置されるアイコン50は、すぐ文字アプリケーション9Eに対応するすぐ文字アイコン50aを含んでいる。
ステップS16では、利用者がすぐ文字アイコン50aをタップしている。スマートフォン1は、このような操作を検出すると、すぐ文字アイコン50aに対応するすぐ文字アプリケーション9Eを実行する。その結果、ステップS13のように、すぐ文字画面60が、タッチスクリーンディスプレイ2に表示される。
図11は、データ連係の例を示す図である。図11のステップS21では、図10のステップS13と同様に、すぐ文字画面60が、タッチスクリーンディスプレイ2に表示されている。すぐ文字画面60は、コントローラ10が、すぐ文字アプリケーション9Eを実行することによって表示される。ステップS22では、利用者による仮想キーボード70の操作によって入力された「明日会いましょう。」のテキストが文字表示領域61に表示されている。
ステップS23では、利用者が、アイコン領域62内のメールアプリケーション9Bに対応するアイコン63をタップしている。スマートフォン1は、このような操作を検出すると、文字表示領域61に表示されているテキストを用いて、メールアプリケーション9Bとのデータ連係を実行する。データ連係によってメールアプリケーション9Bが実行され、ステップS24のように、メール作成画面80が、タッチスクリーンディスプレイ2に表示される。メール作成画面80は、メールアプリケーション9Bが提供する機能に基づいて表示される画面である。
メール作成画面80は、宛先メールアドレスを入力するための入力項目81と、件名を入力するための入力項目82と、本文を入力するための入力項目83とを有する。図5に示したように、メールアプリケーション9Bは、データ連係によって渡されたデータを、これらの3つの入力項目のいずれにも利用することができる。図7Aに示した連係アプリデータ9Wでは、メールアプリケーション9Bに対応するデータタイプとして「TEXT_BODY」が設定されている。このような設定がなされている場合、データ連係によって渡された「明日会いましょう。」のテキストは、入力項目83に設定される。
図12は、データ連係するアプリケーションのアイコンを追加する例を示す図である。図12のステップS31では、利用者が、すぐ文字画面60の設定アイコン64をタップしている。スマートフォン1は、このような操作を検出すると、ステップS32に示すように、すぐ文字画面60を連係アプリ設定画面65へ切り替える。連係アプリ設定画面65は、データ連係するアプリケーションとして選択されているアプリケーションのアイコン63が配列されるアイコン領域66と、追加ボタン67と、削除領域68とを有する。
ステップS33では、利用者が、追加ボタン67をタップしている。スマートフォン1は、このような操作を検出すると、ステップS34に示すように、アプリケーション選択リスト69をタッチスクリーンディスプレイ2に表示する。アプリケーション選択リスト69は、候補アプリデータ9Xに登録されているアプリケーションのリストである。
ステップS35では、利用者が、アプリケーション選択リスト69のカレンダアプリケーションに対応する項目をタップしている。スマートフォン1は、このような操作を検出すると、カレンダアプリケーションを、すぐ文字アプリケーション9Eとデータ連係するアプリケーションとして選択する。具体的には、スマートフォン1は、カレンダアプリケーションに対応する情報を候補アプリデータ9Xから連係アプリデータ9Wへ移動する。さらに、スマートフォン1は、ステップS36に示すように、カレンダアプリケーションに対応するアイコン63を、アイコン領域62及び66に追加する。
図13は、データ連係において指定されるデータタイプを変更する例を示す図である。図13のステップS41では、利用者が、連係アプリ設定画面65上でメールアプリケーション9Bに対応するアイコン63をタップしている。スマートフォン1は、このような操作を検出すると、ステップS42に示すように、データタイプ選択リスト63aをタッチスクリーンディスプレイ2に表示する。
データタイプ選択リスト63aは、データ連係においてデータを渡す側及び渡される側の両方が対応しているデータタイプのリストである。具体的には、データタイプリスト9Yに含まれ、且つタップされたアイコン63に対応するアプリケーションの属性情報において指定可能なデータタイプとして設定されているデータタイプがデータタイプ選択リスト63aに含まれる。
ステップS43では、利用者が、データタイプ選択リスト63aの「件名」の項目をタップしている。スマートフォン1は、このような操作を検出すると、選択された「件名」に対応する「TEXT_SUBJECT」を、ステップS41でタップされたアイコン63に対応するアプリケーションがデータ連係時に指定されるデータタイプとして、連係アプリデータ9Wに設定する。
その後、ステップS44としてすぐ文字画面60へ戻り、ステップS45に示すように、「明日会いましょう。」と入力された状態でメールアプリケーション9Bに対応するアイコン63がタップされたものとする。この場合、メールアプリケーション9Bに対応する連係アプリデータ9Wの情報のデータタイプの項目の値が変更されているため、ステップS46では、ステップS24と異なり、データ連係によって渡された「明日会いましょう。」のテキストは、件名として、入力項目82に設定される。
図14は、データ連係するアプリケーションのアイコンを削除する例を示す図である。図14のステップS51では、利用者が、連係アプリ設定画面65において、メールアプリケーション9Bに対応するアイコン63を削除領域68にドロップしている。「ドロップ」とは、アイコン等のオブジェクトをドラッグした後、リリースを行うジェスチャである。
スマートフォン1は、このような操作を検出すると、ドロップされたアイコン63に対応するアプリケーションをデータ連係するアプリケーションから除外する。具体的には、スマートフォン1は、メールアプリケーション9Bに対応する情報を連係アプリデータ9Wから候補アプリデータ9Xへ移動する。その結果、例えば、連係アプリデータ9Wは、図7Aから図7Bのように変化し、候補アプリデータ9Xは、図8Aから図8Bのように変化する。さらに、スマートフォン1は、ステップS52及びステップS53に示すように、メールアプリケーション9Bに対応するアイコン63を、アイコン領域62及び66から削除する。
その後、ステップS54で、利用者が、すぐ文字画面60の設定アイコン64をタップすると、スマートフォン1は、すぐ文字画面60を連係アプリ設定画面65へ切り替える。そして、ステップS55で、利用者が、連係アプリ設定画面65の追加ボタン67をタップすると、スマートフォン1は、ステップS56に示すように、アプリケーション選択リスト69をタッチスクリーンディスプレイ2に表示する。
ステップS51でメールアプリケーション9Bに対応する情報が連係アプリデータ9Wから候補アプリデータ9Xへ移動されているため、アプリケーション選択リスト69には、メールアプリケーション9Bに対応する項目が含まれる。アプリケーション選択リスト69においてメールアプリケーション9Bに対応する項目が選択されると、スマートフォン1は、メールアプリケーション9Bに対応する情報を候補アプリデータ9Xから連係アプリデータ9Wへ移動する。その結果、例えば、連係アプリデータ9Wは、図7Bから図7Aのように戻り、候補アプリデータ9Xは、図8Bから図8Aのように戻る。さらに、スマートフォン1は、メールアプリケーション9Bに対応するアイコン63を、アイコン領域62及び66に追加する。
このように、データ連係するアプリケーションから削除されたアプリケーションは、簡単な操作によって、データ連係するアプリケーションへ戻される。さらに、データ連係するアプリケーションから削除される前に連係アプリデータ9Wに設定されていた情報は、候補アプリデータ9Xにそのまま残っているため、削除前と同じ設定が容易に再現される。例えば、図13に示したように、データ連係において指定されるデータタイプを変更していても、変更後の設定が再現される。
図15は、実体がインストールされていないアプリケーションがデータ連係するアプリケーションとして選択された場合の動作の例を示す図である。図15に示すステップS61では、ステップS13と同様のすぐ文字画面60が表示されている。利用者は、「動画再生」と入力した後、ステップS62で、操作ガイドアプリケーションに対応するアイコン63をタップしている。
図7Aに示す連係アプリデータ9Wにおいて、操作ガイドアプリケーションに対応する情報のステータスの項目には、「無効」が設定されている。これは、操作ガイドアプリケーションの実体はインストールされていないことを示している。
この場合、スマートフォン1は、操作ガイドアプリケーションのインストールを実行する。アプリケーションのインストールは、実体の代わりにインストールされている機能を用いて実現してもよいし、アプリケーションマーケットからアプリケーションをダウンロードしてインストールする機能を用いて実現してもよい。アプリケーションのインストールのために、ステップS63に示すようなインストール画面90が表示される。インストール画面90は、インストールを開始するためのインストールボタン91と、インストールを中止するためのキャンセルボタン92とを有する。スマートフォン1は、インストール画面90を表示してインストールの可否を利用者に確認することなく、インストールを開始してもよい。
ステップS64では、利用者がインストールボタン91をタップしている。この場合、スマートフォン1は、ステップS65として、操作ガイドアプリケーションの実体のインストールを開始する。インストールが完了すると、スマートフォン1は、ステップS62で指定されたデータ連係を実行する。具体的には、スマートフォン1は、インストールされた操作ガイドアプリケーションの実体を実行し、「動画再生」を検索用の文字列として利用する操作ガイドの検索処理を、操作ガイドアプリケーションが提供する機能に基づいて実行する。そして、スマートフォン1は、ステップS66として、検索結果画面を表示する。
このように、スマートフォン1は、データ連係するアプリケーションの実体がインストールされていない場合、実体のインストールを行う。そして、スマートフォン1は、インストールの完了後、データ連係の処理を実行する。このため、データ連係するアプリケーションとして選択されているアプリケーションの実体がインストールされていない場合であっても、利用者の不都合は小さい。
次に、図16から図18を参照しながら、すぐ文字アプリケーション9Eが提供するデータ連係機能に関連してスマートフォン1が実行する処理手順について説明する。図16は、アプリケーションインストール処理の処理手順を示すフローチャートである。図16に示す処理手順は、アプリケーションの実体がインストールされるときに実行される。
ステップS101として、コントローラ10は、指定されたアプリケーションのインストールを実行する。続いて、コントローラ10は、ステップS102として、プリセットアプリリスト9Vを参照して、インストールしたアプリケーションが、予めインストールされているアプリケーションであるかを判定する。
インストールしたアプリケーションが、予めインストールされているアプリケーションである場合(ステップS102,Yes)、コントローラ10は、ステップS103へ進む。ステップS103として、コントローラ10は、連係アプリデータ9W又は候補アプリデータ9Xに登録されている対応する情報のステータスの値を「無効」から「有効」へ変更する。
インストールしたアプリケーションが、予めインストールされているアプリケーションでない場合(ステップS102,No)、コントローラ10は、ステップS104へ進む。コントローラ10は、ステップS104として、すぐ文字アプリケーション9Eが、インストールしたアプリケーションとデータ連係可能であるかを判定する。アプリケーションの属性情報に含まれるデータタイプとデータタイプリスト9Yに登録されているデータタイプに重複があれば、コントローラ10は、データ連係が可能であると判定する。
データ連係が可能な場合(ステップS104,Yes)、コントローラ10は、ステップS105として、連係するデータタイプを、インストールしたアプリケーションの属性情報から取得する。取得されるデータ対応は、データタイプリスト9Yに登録されているデータタイプと重複するデータタイプのうち、データタイプリスト9Yにおける優先順位が最も高いデータタイプである。そして、コントローラ10は、ステップS106として、取得したデータタイプを含む情報を候補アプリデータ9Xに追加する。データ連係が可能でない場合(ステップS104,No)、コントローラ10は、特に処理を行わない。
図17は、アプリケーションアンインストール処理の処理手順を示すフローチャートである。図17に示す処理手順は、アプリケーションの実体がアンインストールされるときに実行される。
ステップS201として、コントローラ10は、指定されたアプリケーションのアンインストールを実行する。続いて、コントローラ10は、ステップS202として、プリセットアプリリスト9Vを参照して、アンインストールしたアプリケーションが、予めインストールされているアプリケーションであるかを判定する。
アンインストールしたアプリケーションが、予めインストールされているアプリケーションである場合(ステップS202,Yes)、コントローラ10は、ステップS203へ進む。ステップS203として、コントローラ10は、連係アプリデータ9W又は候補アプリデータ9Xに登録されている対応する情報のステータスの値を「有効」から「無効」へ変更する。
アンインストールしたアプリケーションが、予めインストールされているアプリケーションでない場合(ステップS202,No)、コントローラ10は、ステップS204へ進む。コントローラ10は、ステップS204として、連係アプリデータ9W又は候補アプリデータ9Xに登録されている対応する情報を削除する。
図16及び図17に示すように、スマートフォン1は、予めインストールされているアプリケーションに関しては、アプリケーションがアンインストールされても、連係アプリデータ9W又は候補アプリデータ9Xに登録されている情報を削除しない。このため、アプリケーションを再インストールした場合に、アンインストール前の設定が再現される。さらに、図15に示したように、アプリケーションの実体のインストールは、すぐ文字画面60から容易に実行できる。このため、利用者は、予めインストールされているアプリケーションのアンインストール及び再インストールを気軽に行うことができる。
スマートフォン1は、予めインストールされているアプリケーション以外のアプリケーションについても、アンインストールされた場合に、連係アプリデータ9W又は候補アプリデータ9Xに登録されている情報を削除せずに、ステータスを「無効」に設定してもよい。スマートフォン1は、連係アプリデータ9Wの情報のステータスを無効にする場合に、その情報を候補アプリデータ9Xへ移動させてもよい。すなわち、スマートフォン1は、アンインストールされたアプリケーションがアイコン63としては表示されず、アプリケーション選択リスト69に表示されるように設定してもよい。
図18は、すぐ文字アプリケーション9Eの実行時の処理手順を示すフローチャートである。図18に示す処理手順は、すぐ文字アプリケーション9Eの実行中、繰り返して実行される。コントローラ10は、ステップS301として、行われた操作を判定する。行われた操作が文字入力である場合(ステップS302,Yes)、コントローラ10は、ステップS303へ進む。ステップS303で、コントローラ10は、入力された文字を表示する。
行われた操作がアイコン領域62のアイコン63の選択(アイコン63のタップ)である場合(ステップS302,No、且つステップS304,Yes)、コントローラ10は、ステップS305へ進む。ステップS305で、コントローラ10は、連係アプリデータ9Wから、選択されたアイコン63に対応するアプリケーションの情報のステータスの値を取得する。
取得したステータスの値が「無効」でない場合(ステップS306,No)、コントローラ10は、ステップS308へ進む。取得したステータスの値が「無効」である場合(ステップS306,Yes)、コントローラ10は、ステップS307へ進む。ステップS307で、コントローラ10は、図16に示したアプリケーションインストール処理を実行する。その後、コントローラ10は、ステップS308へ進む。
ステップS308として、コントローラ10は、連係アプリデータ9Wから、選択されたアイコン63に対応するアプリケーションの情報のデータタイプの値を取得する。そして、コントローラ10は、ステップS309として、データタイプと入力文字を指定して、選択されたアイコン63に対応するアプリケーションを実行する。これにより、データ連係が実現される。
行われた操作がアイコン領域62にアイコン63を追加する操作である場合(ステップS304,No、且つステップS310,Yes)、コントローラ10は、ステップS311へ進む。ステップS311で、コントローラ10は、追加されたアイコン63に対応する候補アプリデータ9Xの情報を連係アプリデータ9Wへ移動させる。
行われた操作がアイコン領域62からアイコン63を削除する操作である場合(ステップS310,No、且つステップS312,Yes)、コントローラ10は、ステップS313へ進む。ステップS313で、コントローラ10は、削除されたアイコン63に対応する連係アプリデータ9Wの情報を候補アプリデータ9Xへ移動させる。
行われた操作がデータタイプを変更する操作である場合(ステップS312,No、且つステップS314,Yes)、コントローラ10は、ステップS315へ進む。ステップS315で、コントローラ10は、対応する連係アプリデータ9Wの情報のデータタイプを変更する。
行われた操作がその他の操作である場合については(ステップS314,No)、この処理手順では特に規定しない。
本出願の開示する実施形態は、発明の要旨及び範囲を逸脱しない範囲で変更することができる。さらに、本出願の開示する実施形態及びその変形例は、適宜組み合わせることができる。例えば、上記の実施形態は、以下のように変形してもよい。
例えば、図4に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。上記の実施形態で示した画面の構成及びその操作方法は、適宜変更してよい。
上記の実施形態では、タッチスクリーンを備える装置の例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、スマートフォン以外の携帯電子機器であってもよい。携帯電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機を含むが、これらに限定されない。添付の請求項に係る装置は、据え置き型の電子機器であってもよい。据え置き型の電子機器は、例えば、デスクトップパソコン、自動預入支払機(ATM)、及びテレビ受像器を含むが、これらに限定されない。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。