(第1実施形態)
図1は、第1実施形態に係る携帯電話機100の外観を示す。携帯電話機100は、通話機能を有するとともに、各種アプリケーションプログラム(以下、単にアプリケーションという)の実行が可能な端末装置である。携帯電話機100は、本発明に係る情報処理装置の一例である。
携帯電話機100は、筐体110、ディスプレイ120、および各種入力ボタン130を備える。筐体110は、電源、CPU、メモリー、ディスプレイ120、各種入力ボタン130、マイク、スピーカー、通信アンテナなど、携帯電話機100が有する各種ハードウェアを収容する。また、携帯電話機100は、複数のアプリケーションを、メモリー等の記憶媒体に格納している。携帯電話機100が有するアプリケーションとしては、通話、電子メール、インターネット、ゲーム、音楽プレイヤー、動画プレイヤー、管理ツールなどを実現するプログラムが一例として挙げられる。
ディスプレイ120は、筐体110の表面の開口部から表示面が露出しており、この表示面に各種情報を表示する表示装置である。たとえば、ディスプレイ120は、文字、図形、画像、管理情報、ボタン、アイコンなどを表示する。ディスプレイ120としては、液晶ディスプレイ、有機ELディスプレイなどが一例として挙げられる。
各種入力ボタン130は、筐体110の表面の開口部から露出しており、各種操作の入力を受け付ける入力装置である。携帯電話機100が備える入力装置としては、各種入力ボタン130以外に、ディスプレイ120の表示面に重ねて設けられたタッチパネルなどが一例として挙げられる。
このような携帯電話機100に対し、ユーザは、各種入力ボタン130を操作することにより、携帯電話機100が有する複数のアプリケーションの中から、所望のアプリケーションを選択し、選択したアプリケーションを携帯電話機100に起動させることができる。また、携帯電話機100が有する複数のアプリケーションの多くは、複数の機能を有する。ユーザは、起動されたアプリケーションに対し、ディスプレイ120に表示されたメニュー画面を見ながら、各種入力ボタン130を操作し、メニュー操作をおこなうことにより、当該アプリケーションが有する複数の機能の中から所望の機能を選択し、選択した機能を携帯電話機100に起動させることができる。ここで、メニュー画面とは、アプリケーションが提供する各々の機能乃至各々の機能群に対応するメニュー項目(例えば機能や機能群の名称)が列挙された画面であり、メニュー操作とは、メニュー画面に含まれるメニュー項目のうちのいずれかをユーザが選択乃至指定する操作のことである。
図2は、携帯電話機100のディスプレイ120に表示されたメニュー画面の一例を示す。画面200は、電子メールアプリケーションのメニュー画面であり、電子メールアプリケーションが有する複数の機能が示されている。たとえば、画面200には、電子メールアプリケーションが有する複数の機能乃至機能群(以下、単に機能という)として、「受信ボックス」機能、「送信ボックス」機能、「新着メール問い合わせ」機能、「各種設定」機能のそれぞれが示されている。ユーザはこれらの機能の中に、携帯電話機100に実行させたい所望の機能がある場合には、各種入力ボタン130を操作することで、所望の機能を選択し、選択した機能を携帯電話機100に実行させることができる。
携帯電話機100は、ユーザによって選択された機能がさらなるサブ機能を有しない場合には選択された機能を起動するが、選択された機能がさらなるサブ機能を有する場合には、このサブ機能が示されたメニュー画面をさらに表示する。たとえば、図2に示す例では、画面200において「各種設定」機能が選択されたことにより、ディスプレイ120には、「各種設定」機能が有する複数のサブ機能が示された画面210が表示されている。たとえば、画面210には、「各種設定」機能が有する複数のサブ機能として、「着信拒否設定」機能、「着信許可設定」機能、「パスワード設定」機能、「メールセンター」機能のそれぞれが示されている。ユーザはこれらサブ機能の中に、携帯電話機100に実行させたい所望のサブ機能がある場合には、各種入力ボタン130を操作することで、所望のサブ機能を選択することができる。
携帯電話機100は、ユーザに選択されたサブ機能がさらなるサブ機能を有しない場合には選択されたサブ機能を起動するが、選択されたサブ機能がさらなるサブ機能を有する場合にはこのさらなるサブ機能が示されたメニュー画面をさらに表示する。このように、携帯電話機100が有する多くのアプリケーションにおいては、メニュー画面が階層的に構成されている。このため、ユーザは、所望の機能を利用するまで、いくつものメニュー操作をおこなわなければならず、間違い操作の要因となっている。
そこで、本実施形態の携帯電話機100は、予め定められたパターンのメニュー操作がおこなわれた場合に、ユーザが操作に迷っているとみなし、自動的に、アプリケーションの操作補助機能を起動することとした。これにより、初心者に対しては適切なタイミングで操作補助機能を提供することができる。また、熟練者に対しては操作補助機能が安易に起動されないため、操作補助機能が頻繁に起動されてしまうという煩わしさを防止することができる。
図3は、携帯電話機100の機能構成を示す。携帯電話機100は、格納部300、入力受付部302、判断部304、および起動部306を備える。
格納部300は、携帯電話機100が有する各々のアプリケーションが実行されているときのメニュー操作の操作パターンを、各アプリケーションに対応付けて格納する。この操作パターンとは、ユーザが操作に迷っていると判断できるような操作パターンであり、例えば、操作の種類と、操作の順番または回数と、操作に要する時間からなる。たとえば、格納部300は、所定の時間内に、同一のメニュー操作を、所定回数繰り返しおこなう操作パターンを格納する。同一のメニュー操作を頻繁に繰り返す場合には、ユーザが操作に迷っているとみなすことができるからである。また、格納部300は、所定の時間内に、異なるメニュー操作を、所定回数繰り返しおこなうという操作パターンを格納する。異なるメニュー操作を繰り返す場合であっても、ユーザが操作に迷っているとみなせる場合があるからである。ただし、ユーザが迷わずに操作を行っている場合においても、短期間の間に異なるメニュー操作を複数回行うことがあるから、このような場合に、ユーザが操作に迷っていると誤認識しないようにする必要がある。そこで、各々のアプリケーションプログラムが実行されているときの複数のメニュー操作がアプリケーションプログラム毎に1または複数のグループに予め区分しておき、格納部300は、所定の時間内に、同一の前記グループに属するメニュー操作を、所定回数繰り返しおこなうという操作パターンを格納する。例えば、或るメニュー画面に含まれる複数のメニューのうち、異なるメニューを次々と選択するような場合、ユーザが操作に迷っていると判断してもよい。このため、同一のメニュー画面に含まれる複数のメニューを1つのグループとし、このグループに属するメニューが頻繁に選択されるような場合に備えて、格納部300は、所定の時間内に、同一の前記グループに属するメニュー操作を、所定回数繰り返しおこなうという操作パターンを格納している。格納部300に格納されている操作パターンは各々のアプリケーションプログラム毎に異なっていることもあるから、アプリケーションプログラムに対応付けられている。なお、各々のアプリケーションには、例えばヘルプボタンを選択するなどのように、利用者が操作補助機能そのものを意図的に呼び出す機能を実現するための手順が記述されている。本実施形態では操作補助機能そのものを意図的に呼び出す操作を行わなくても操作補助機能を起動することができるようにするものであるから、格納部300に格納されている操作パターンには、このような操作補助機能そのものを呼び出すための操作パターンは除外されている。
入力受付部302は、各種入力ボタン130による利用者のメニュー操作の入力を受け付ける。判断部304は、格納部300を参照することにより、アプリケーションが実行されているときに入力受付部302によって受け付けられたメニュー操作の操作パターンが、当該アプリケーションに対応付けられて格納部300に格納されている操作パターンに合致するか否かを判断する。ここで、判断部304は、格納部300の格納内容と完全に一致するもののほか、格納部300の格納内容から予め許容された類似範囲に収まるものを「合致する」と判断してもよい。ただし、格納部300の格納内容が、予め許容された類似範囲をも含むような内容で表現されている場合には、判断部304は、格納部300の格納内容と完全に一致するものを「合致する」と判断すればよい。
起動部306は、入力受付部302によって受け付けられたメニュー操作の操作パターンが格納部300に格納されている操作パターンに合致すると判断部304が判断した場合、当該メニュー操作がおこなわれたときに実行されているアプリケーションの操作補助機能を起動する。ここでいう操作補助機能とは、利用者の操作を補助する機能であり、例えば、いわゆるヘルプ画面を表示してユーザからの質問に答えるといった具合に操作の補助となる情報を提示したり、ユーザからの質問を受け付けるサイトやテレホンセンタに誘導したり、さらには、ユーザの要求を判断してそのユーザの代理となって操作を行うなどの、操作の補助となり得る全ての機能が含まれる。
たとえば、当該メニュー操作がおこなわれたアプリケーションに対して、「所定の時間内に、同一のメニュー操作を、所定回数繰り返しおこなう」操作パターンが対応付けられている場合において、各種入力ボタン130によるメニュー操作の操作パターンが、この「所定の時間内に、同一のメニュー操作を、所定回数繰り返しおこなう」ものである場合、起動部306は、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。
また、当該メニュー操作がおこなわれたアプリケーションに対して、「所定の時間内に、同一グループに属するメニュー操作を、所定回数繰り返しおこなう」操作パターンが対応付けられている場合において、各種入力ボタン130によるメニュー操作の操作パターンが、この「所定の時間内に、同一グループに属するメニュー操作を、所定回数繰り返しおこなう」ものである場合、起動部306は、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。
図4は、格納部300に格納されている操作パターンの一例を示す。図4に示すテーブル400は、格納部300に格納されているデータベース・テーブルである。テーブル400は、項目「アプリケーション」および項目「操作パターン」を有する。
項目「アプリケーション」には、携帯電話機100が有するアプリケーションの識別情報が格納される。図4に示す例では、テーブル400には、この識別情報としてアプリケーション名が格納されているが、これに限らず、アプリケーションIDなどを格納してもよい。項目「操作パターン」には、項目「アプリケーション」に格納されているアプリケーションに対応付けて、入力装置による操作パターンが格納される。図4に示す例では、項目「操作パターン」は、項目「操作」、項目「繰り返し回数」、および項目「判定時間」を含んでいる。
たとえば、テーブル400において、アプリケーション「Eメール」の、項目「操作」には「同一のメニュー操作によるメニュー画面の往復移動」が、項目「繰り返し回数」には「3回」が、項目「判定時間」には「10秒」が対応付けられて格納されている。また、アプリケーション「インターネット」の、項目「操作」には「同一のグループに属するメニュー操作によるメニュー画面の往復移動」が、項目「繰り返し回数」には「3回」が、項目「判定時間」には「15秒」が対応付けられて格納されている。
このようにテーブル400が設定されている場合、携帯電話機100は、この設定に基づいて、アプリケーション「Eメール」に対する入力操作として、「同一のメニュー操作」が、「10秒」以内に、「3回」繰り返しおこなわれた場合、アプリケーション「Eメール」の操作補助機能を起動する。また、アプリケーション「インターネット」に対する入力操作として、「同一グループのメニュー操作」が、「15秒」以内に、「3回」繰り返しおこなわれた場合、アプリケーション「インターネット」の操作補助機能を起動する。
図5は、第1実施形態に係る携帯電話機100による処理の手順を示す。まず、携帯電話機100は、各種入力ボタン130によっておこなわれた操作にしたがって、当該携帯電話機100が備える複数のアプリケーションの中から、一のアプリケーションを起動する(ステップS502)。そして、入力受付部302が、各種入力ボタン130によるメニュー操作の入力の受け付けを開始する(ステップS504)。
その後、各種入力ボタン130によるメニュー操作がおこなわれ、当該メニュー操作を入力受付部302が受け付けると(ステップS506)、携帯電話機100は、ステップS506で受け付けたメニュー操作がステップS502で起動されたアプリケーションを終了させるためのものであるか否かを判断する(ステップS508)。
ステップS508において、「ステップS506で受け付けたメニュー操作がステップS502で起動されたアプリケーションを終了させるためのものである」と判断した場合(ステップS508:Yes)、携帯電話機100は、一連の処理を終了する。一方、ステップS508において、「ステップS506で受け付けたメニュー操作がステップS502で起動されたアプリケーションを終了させるためのものではないと」判断した場合(ステップS508:No)、携帯電話機100は、処理をステップS510へ進める。
ステップS510では、携帯電話機100は、ステップS506で受け付けたメニュー操作によって、何らかの機能の起動が指示されたか否かを判断する(ステップS510)。ステップS510において、「ステップS506で受け付けたメニュー操作によって、何らかの機能の起動が指示された」と判断した場合(ステップS510:Yes)、携帯電話機100は、ステップS506で受け付けたメニュー操作によって指示された機能を起動して(ステップS512)、処理をステップS506へ戻す。一方、ステップS510において、「ステップS506で受け付けたメニュー操作によって、何らかの機能の起動が指示されていない」と判断した場合(ステップS510:No)、携帯電話機100は、処理をステップS514へ進める。
ステップS514では、判断部304が、格納部300を参照することにより、ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致するか否かを判断する(ステップS514)。
ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致する」と判断した場合(ステップS514:Yes)、起動部306が、ステップS502で起動されたアプリケーションの操作補助機能を起動して(ステップS516)、処理をステップS506へ戻す。一方、ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致しない」と判断した場合(ステップS514:No)、携帯電話機100は、処理をステップS506へ戻す。
図6は、メニュー操作の一例を示す。図6に示す例では、アプリケーション「Eメール」のメニュー画面である画面200において「各種設定」機能が選択されたことにより、ディスプレイ120には、選択された「各種設定」機能が有する複数のサブ機能が示された画面210が表示されている。そして、これらのサブ機能の中に所望する機能がないなどの理由から、画面210において「戻る」ボタンが選択され、これにより、ディスプレイ120には、改めて画面200が表示されている。さらに、携帯電話機100に対しては、この「各種設定」機能を選択し「戻る」ボタンを選択する、というように、「各種設定」を選択するという同一のメニュー操作によるメニュー画面の往復移動が、10秒以内に3回続けて行われている。
ここで、図4に示したように、アプリケーション「Eメール」に対するメニュー操作として、「同一のメニュー操作によるメニュー画面の往復移動」が、「10秒」以内に、「3回」繰り返しおこなわれた場合、アプリケーション「Eメール」の操作補助機能を起動するという条件が格納部300に対して設定されている場合、上記したメニュー操作は、この条件に合致する。このため、携帯電話機100は、上記したメニュー操作がおこなわれた場合、アプリケーション「Eメール」の操作補助機能を自動的に起動する。
図7は、メニュー操作の他の一例を示す。図7に示す例では、アプリケーション「インターネット」のメニュー画面である画面700において「お気に入り」機能が選択されたことにより、ディスプレイ120には、選択された「お気に入り」機能が有する複数のサブ機能が示された画面710が表示されている。そして、これらのサブ機能の中に所望する機能がないなどの理由から、画面710において「戻る」ボタンが選択され、これにより、ディスプレイ120には、改めて画面700が表示されている。さらに、携帯電話機100に対しては、上記と同様に、画面700において「URL入力」機能を選択した後に、画面720において「戻る」ボタンを選択するというメニュー操作、画面700において「履歴」機能を選択した後に、画面730において「戻る」ボタンを選択するというメニュー操作、すなわち、「同一グループに属するメニュー操作によるメニュー画面の往復移動」が、連続しておこなわれて、メニュー画面の往復移動が繰り返されている。ここで、アプリケーション「インターネット」のメニュー画面700に含まれる、「お気に入り」、「URL入力」、「履歴」が同一のグループに属しているものとする。
ここで、図4に示したように、アプリケーション「インターネット」に対するメニュー操作として、「同一グループに属するメニュー操作によるメニュー画面の往復移動」をさせる操作が、「15秒」以内に、「3回」繰り返しおこなわれた場合、アプリケーション「インターネット」の操作補助機能を起動するという条件が格納部300に対して設定されている場合、上記したメニュー操作は、この条件に合致する。このため、携帯電話機100は、上記したメニュー操作がおこなわれた場合、アプリケーション「インターネット」の操作補助機能を自動的に起動する。
図8は、補助操作機能によって携帯電話機100に表示される内容の一例を示す。図8の例では、携帯電話機100においては、これまで説明したように、予め定められた操作パターンのメニュー操作がおこなわれたことにより、補助操作機能が自動的に起動されている。これにより、ディスプレイ120には、補助操作機能に対するUI(User Interface)として機能する画像800が表示されている。ユーザは、自動的に起動された補助操作機能を利用する場合には、各種入力ボタンを操作し、画像800に対して何らかの指示を入力することで、補助操作機能を利用することができる。一方、ユーザは、自動的に起動された補助操作機能を利用しない場合には、各種入力ボタンを操作し、画像800に対して補助操作機能を終了させる旨の指示を入力するか、もしくは画像800に対する指示を一定時間おこなわないことで、補助操作機能を終了させることができる。
図9は、携帯電話機100のハードウェア構成の一例を示す。携帯電話機100は、これまでに説明した各種入力ボタン130およびディスプレイ120に加え、CPU1505、ROM1510、RAM1520、HD(ハードディスク)ドライブ1525、通信インターフェース1530、外部メモリードライブ1540、外部メモリー1542、およびスピーカー1570を備える。
ROM1510、RAM1520、およびHDドライブ1525は、各種データおよび各種プログラムを格納する。CPU1505は、ROM1510、RAM1520、またはHDドライブ1525に格納されたプログラムを実行することで、各種データ処理および各種ハードウェア制御をおこなう。
通信インターフェース1530は、通信ネットワークに接続し、通信ネットワークを介して外部との通信をおこなう。外部メモリードライブ1540は、外部メモリー1542に接続し、外部メモリー1542に対するデータの送受信をおこなう。外部メモリー1542としては、たとえば、メモリーカードが挙げられる。スピーカー1570は、各種音声データに応じた音を発する。
CPU1505が実行するプログラムは、たとえば、コンピュータ読み取り可能な記録媒体に格納されて携帯電話機100に提供され、携帯電話機100に格納される。CPU1505が実行するプログラムは、携帯電話機100に予め格納されていてもよい。また、CPU1505が実行するプログラムは、外部装置から通信ネットワークを介して携帯電話機100に提供され、携帯電話機100に格納されてもよい。
たとえば、携帯電話機100が備えるROM1510、RAM1520、HDドライブ1525、または外部メモリー1542により、携帯電話機100は、格納部300として機能する。また、携帯電話機100が備えるCPU1505が、ROM1510、RAM1520、HDドライブ1525、または外部メモリー1542に格納されているプログラムを実行することにより、携帯電話機100は、入力受付部302、判断部304、および起動部306として機能する。
以上説明したように、本実施形態の携帯電話機100は、アプリケーションごとに操作パターンを予め対応付けて格納しておき、各種入力ボタン130によってなされたメニュー操作の操作パターンが、当該メニュー操作がおこなわれたアプリケーションに対応付けられている操作パターンに合致する場合、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動することとした。これにより、同種の操作を繰り返すような初心者に対しては適切なタイミングで操作補助機能を提供することができる。また、あまり操作に迷わない熟練者に対しては操作補助機能が安易に起動されないため、操作補助機能が頻繁に起動されてしまうという煩わしさを防止することができる。
特に、本実施形態の携帯電話機100は、アプリケーションごとに操作パターンを予め対応付けて格納しておくため、たとえば、メニュー操作の複雑度に応じて適切な操作パターンを格納しておくことで、メニュー操作が複雑なアプリケーションについては、頻繁にヘルプ画面を起動したり、メニュー操作が簡単なアプリケーションについて、ヘルプ画面の起動を抑えるなどというように、アプリケーションごとにより適切なタイミングで操作補助機能を起動することができる。
(第2実施形態)
次に、第2実施形態を説明する。この第2実施形態では、第1実施形態のように操作パターンが格納部300の格納内容を合致したとしても、操作補助機能を起動しない例について説明する。
図10は、第2実施形態に係る携帯電話機100の機能構成を示す。第2実施形態に係る携帯電話機100は、履歴格納部1000をさらに備える点で、第1実施形態に係る携帯電話機100と異なる。以下、第1実施形態に係る携帯電話機100と異なる点を中心に説明する。
履歴格納部1000は、アプリケーションごとに、起動部306によって起動された操作補助機能が利用者によって利用された利用頻度に関する情報を格納する。たとえば、本実施形態では、履歴格納部1000は、アプリケーションごとに、起動部306によって操作補助機能が起動された起動回数、および起動部306によって起動された操作補助機能がユーザによって利用された利用回数を格納する。利用回数を起動回数で除すと、操作補助機能がユーザによって利用された利用頻度が得られる。つまり、履歴格納部1000は、操作補助機能がユーザによって利用された利用頻度に関する情報を記憶していると言える。起動部306は、履歴格納部1000に格納されている、当該メニュー操作がおこなわれたアプリケーションの起動回数および利用回数に基づいて、当該メニュー操作がおこなわれたアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも低いと判断した場合には、例え第1実施形態のように操作パターンが格納部300の格納内容を合致したとしても、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動しない。たとえば、起動部306は、起動回数に対する利用回数の割合が、所定の基準値よりも低いと判断した場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動しない。
図11は、履歴格納部1000に格納されている情報の一例を示す。図11に示すテーブル1100は、履歴格納部1000に格納されているデータベース・テーブルである。テーブル1100は、項目「アプリケーション」、項目「起動回数」、および項目「利用回数」を有する。
項目「アプリケーション」には、携帯電話機100が有するアプリケーションの識別情報が格納される。図11に示す例では、テーブル1100には、この識別情報としてアプリケーション名が格納されているが、これに限らず、アプリケーションIDなどを格納してもよい。項目「起動回数」には、起動部306によって操作補助機能が起動された起動回数が格納される。項目「起動回数」に格納されている起動回数は、起動部306によって操作補助機能が起動されるごとに「1」ずつ増加する。項目「利用回数」には、起動部306によって起動された操作補助機能が利用された利用回数が格納される。項目「利用回数」に格納されている利用回数は、起動部306によって起動された操作補助機能が利用されるごとに「1」ずつ増加する。
たとえば、テーブル1100において、アプリケーション「Eメール」の、項目「起動回数」には「100回」が、項目「利用回数」には「50回」が格納されている。また、アプリケーション「インターネット」の、項目「起動回数」には「100回」が、項目「利用回数」には「25回」が格納されている。
このようにテーブル1100が設定されている場合、起動部306は、この設定に基づいて、操作補助機能を起動するか否かを判断する。たとえば、操作補助機能の利用頻度が30%以上であることを、操作補助機能の起動条件とした場合、起動部306は、アプリケーション「Eメール」については、操作補助機能の利用頻度が「50%(50/100)」であるため、操作補助機能を起動する。一方、起動部306は、アプリケーション「インターネット」については、操作補助機能の利用頻度が「25%(25/100)」であるため、操作補助機能を起動しない。
なお、本実施例では、起動部306は、起動回数に対する利用回数の割合が、所定の基準値よりも低いか否かによって、アプリケーションの操作補助機能の利用頻度が所定の基準値よりも低いか否かを判断することとした。これに限らず、起動部306は、これ以外の方法によって、アプリケーションの操作補助機能の利用頻度が所定の基準値よりも低いか否かを判断してもよい。
たとえば、起動部306は、起動回数に対する利用回数の割合が100%以外の場合、すなわち、操作補助機能が一度でも利用されなかった場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動しないようにしてもよい。また、起動部306は、利用していない回数(起動回数−利用回数)が、所定の基準値よりも高いと判断した場合に、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動しないようにしてもよい。他の例として、起動部306は、所定回数以上連続して利用していないと判断した場合に、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動しないようにしてもよい。なお、いずれの場合であっても、「所定の期間内において」、「所定の起動回数について」などの、さらなる条件を加えてもよい。
図12は、第2実施形態に係る携帯電話機100による処理の手順を示す。第2実施形態に係る携帯電話機100による処理の手順は、ステップS514とステップS516との間に、以下に説明するステップS1200の処理が設けられている点で、第1実施形態に係る携帯電話機100による処理の手順と異なる。以下、第1実施形態に係る携帯電話機100による処理の手順と異なる点を中心に説明する。
ステップS514では、判断部304が、格納部300を参照することにより、ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致するか否かを判断する(ステップS514)。
ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致する」と判断した場合(ステップS514:Yes)、携帯電話機100は、処理をステップS1200へ進める。一方、ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致しない」と判断した場合(ステップS514:No)、携帯電話機100は、処理をステップS506へ戻す。
ステップS1200では、起動部306が、履歴格納部1000に格納されている、ステップS502で起動されたアプリケーションの起動回数および利用回数に基づいて、ステップS502で起動されたアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも低いか否かを判断する(ステップS1200)。
ステップS1200において、「ステップS502で起動されたアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも低い」と判断した場合(ステップS1200:Yes)、携帯電話機100は、処理をステップS506へ戻す。一方、ステップS1200において、「ステップS502で起動されたアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも低くない」と判断した場合(ステップS1200:No)、起動部306が、ステップS502で起動されたアプリケーションの操作補助機能を起動して(ステップS516)、携帯電話機100は、処理をステップS506へ戻す。
このように、第2実施形態の携帯電話機100は、アプリケーションごとに、操作補助機能の利用頻度に関する情報を履歴格納部1000に格納し、この履歴格納部1000に格納されている情報に基づき、操作補助機能の利用頻度に応じて、操作補助機能を起動する/しないを制御することとした。これにより、過去に提供した操作補助機能の利用頻度が高い初心者に対しては適切なタイミングで操作補助機能を提供することができる。また、過去に提供した操作補助機能の利用頻度が低い熟練者に対しては操作補助機能が安易に起動されないため、操作補助機能が頻繁に起動されてしまうという煩わしさを防止することができる。
特に、本実施形態の携帯電話機100は、アプリケーションごとに、操作補助機能の利用頻度に関する情報を履歴格納部1000に格納しておくため、たとえば、同一のユーザに対して、操作補助機能の利用頻度が高いアプリケーションについては、頻繁にヘルプ画面を起動したり、操作補助機能の利用頻度が低いアプリケーションについては、ヘルプ画面の起動を抑えるなどというように、アプリケーションごとにより適切なタイミングで操作補助機能を起動することができる。
(第3実施形態)
次に、第3実施形態を説明する。この第3実施形態では、第1実施形態のように操作パターンが格納部300の格納内容を合致したときに操作補助機能を起動することに加えて、その他の契機で操作補助機能を起動する例について説明する。
図13は、第3実施形態に係る携帯電話機100の機能構成を示す。第3実施形態に係る携帯電話機100は、操作履歴格納部1300をさらに備える点で、第1実施形態に係る携帯電話機100と異なる。以下、第1実施形態に係る携帯電話機100と異なる点を中心に説明する。
操作履歴格納部1300は、アプリケーションごとに、各種入力ボタン130によってなされたメニュー操作の操作時刻を含む操作履歴を格納する。起動部306は、操作パターンが合致したときに操作補助機能を起動することに加えて、操作履歴格納部1300に格納されている操作履歴に基づいて、各々のメニュー操作の操作間隔が、過去のメニュー操作の操作間隔から決められる基準値よりも大きいと判断した場合には、当該メニュー操作がおこなわれたときに実行されているアプリケーションプログラムの操作補助機能を起動する。
たとえば、起動部306は、過去のメニュー操作の操作間隔の平均値を求め、求められた平均値を基準値とするか、もしくは求められた平均値に所定の重み値を加算または乗じることによって基準値を求め、当該メニュー操作の操作間隔が、この基準値よりも大きい場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。他の例として、起動部306は、過去のメニュー操作の操作間隔の最大値を求め、求められた最大値を基準値とするか、もしくは求められた最大値に所定の重み値を加算または乗じることによって基準値を求め、当該メニュー操作の操作間隔が、この基準値よりも大きい場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。
図14は、操作履歴格納部1300に格納されている操作履歴の一例を示す。図14に示すテーブル1400は、操作履歴格納部1300に格納されているデータベース・テーブルである。テーブル1400は、項目「アプリケーション」および項目「操作履歴」を有する。項目「操作履歴」は、項目「操作」、および項目「操作時刻」を有する。
項目「アプリケーション」には、携帯電話機100が有するアプリケーションの識別情報が格納される。図14に示す例では、テーブル1400には、この識別情報としてアプリケーション名が格納されているが、これに限らず、アプリケーションIDなどを格納してもよい。項目「操作」には、各種入力ボタン130によってなされたメニュー操作が一操作ごとに格納され、項目「操作時刻」には、その操作がおこなわれた時刻が格納される。テーブル1400には、各種入力ボタン130によって1のメニュー操作がなされるごとに、操作履歴が1行づつ追加される。
たとえば、テーブル1400において、アプリケーション「Eメール」の、項目「操作」には、順に、「「各種設定」選択」、「「戻る」選択」、「「各種設定」選択」、「「戻る」選択」、「「各種設定」選択」、「「戻る」選択」、・・・が格納されている。また、項目「操作時刻」には、順に、「10:00:00」、「10:00:01」、「10:00:03」、「10:00:04」、「10:00:06」、「10:00:07」、・・・が格納されている。これらの格納値から、アプリケーション「Eメール」の操作間隔の平均値は「1.4秒」であり、最大値は「2秒」であることがわかる。
たとえば、起動部306は、上記平均値「1.4秒」を基準値とするか、もしくは上記平均値「1.4秒」に所定の重み値を加算または乗じることによって基準値を求め、当該メニュー操作の操作間隔が、この基準値よりも大きい場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。他の例として、起動部306は、上記最大値「2秒」を基準値とするか、もしくは上記最大値「2秒」に所定の重み値を加算または乗じることによって基準値を求め、当該メニュー操作の操作間隔が、この基準値よりも大きい場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動する。
図15は、第3実施形態に係る携帯電話機100による処理の手順を示す。第3実施形態に係る携帯電話機100による処理の手順は、ステップS514とステップS516との間に、以下に説明するステップS1500の処理が設けられている点で、第1実施形態に係る携帯電話機100による処理の手順と異なる。以下、第1実施形態に係る携帯電話機100による処理の手順と異なる点を中心に説明する。
ステップS514では、判断部304が、格納部300を参照することにより、ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致するか否かを判断する(ステップS514)。
ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致する」と判断した場合(ステップS514:Yes)、携帯電話機100は、処理をステップS1500へ進める。一方、ステップS514において、「ステップS506で受け付けたメニュー操作の操作パターンが、ステップS502で起動されたアプリケーションに対応付けられている操作パターンに合致しない」と判断した場合(ステップS514:No)、携帯電話機100は、処理をステップS506へ戻す。
ステップS1500では、起動部306が、操作履歴格納部1300に格納されている操作履歴に基づいて、ステップS506で受け付けたメニュー操作の操作間隔が過去のメニュー操作の操作間隔を基準とする基準値よりも大きいか否かを判断する(ステップS1500)。
ステップS1500において、「ステップS506で受け付けたメニュー操作の操作間隔が過去のメニュー操作の操作間隔を基準とする基準値よりも小さい」と判断した場合(ステップS1500:No)、携帯電話機100は、処理をステップS506へ戻す。一方、ステップS1500において、「ステップS506で受け付けたメニュー操作の操作間隔が過去のメニュー操作の操作間隔を基準とする基準値よりも大きい」と判断した場合(ステップS1500:Yes)、起動部306が、ステップS502で起動されたアプリケーションの操作補助機能を起動して(ステップS516)、携帯電話機100は、処理をステップS506へ戻す。
このように、第3実施形態の携帯電話機100は、アプリケーションごとに、操作履歴を操作履歴格納部1300に格納し、この操作履歴格納部1300に格納されている操作履歴に基づき、メニュー操作の操作間隔に応じて、操作補助機能を起動する/しないを制御することとした。これにより、過去のメニュー操作の操作間隔よりも当該メニュー操作の操作間隔が大きい場合は、すなわち、いつもよりもメニュー操作に時間がかかっている場合には、ユーザがメニュー操作に迷っているとみなして、このユーザに対して適切なタイミングで操作補助機能を提供することができる。
特に、本実施形態の携帯電話機100は、アプリケーションごとに、操作履歴を操作履歴格納部1300に格納に格納しておくため、たとえば、同一のユーザに対して、当該メニュー操作の操作間隔が同じであったとしても、いつもメニュー操作の操作間隔が大きいアプリケーションについては、操作補助機能を起動せず、いつもメニュー操作の操作間隔が小さいアプリケーションについては、操作補助機能を起動するというように、アプリケーションごとにより適切なタイミングで操作補助機能を起動することができる。
なお、本発明は、上記した形態での実施に限らず、以下のように変形させて実施してもよい。また、以下の変形例を組み合わせてもよい。
(変形例1)
第2実施形態において、起動部306は、履歴格納部1000に格納されている、当該メニュー操作がおこなわれたアプリケーション以外の他のアプリケーションの起動回数および利用回数に基づいて、当該メニュー操作がおこなわれたアプリケーション以外の他のアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも高いと判断した場合には、当該メニュー操作がおこなわれたアプリケーションの操作補助機能を起動するようにしてもよい。
たとえば、起動部306は、新たなアプリケーションが起動された場合において、当該新たなアプリケーション以外の他のアプリケーションの起動回数および利用回数に基づいて、当該新たなアプリケーション以外の他のアプリケーションの操作補助機能の利用頻度が、所定の基準値よりも高いと判断した場合、当該新たなアプリケーションの起動時に、当該新たなアプリケーションの操作補助機能を起動してもよい。新たなアプリケーションとは、初めて起動されるアプリケーションであってもよく、起動された回数が所定値よりも少ないアプリケーションであってもよい。
図16は、履歴格納部1000に格納されている情報の他の一例を示す。たとえば、図16に示すテーブル1100においては、アプリケーション「Eメール」の、項目「起動回数」には「100回」が、項目「利用回数」には「80回」が格納されている。また、アプリケーション「インターネット」の、項目「起動回数」には「100回」が、項目「利用回数」には「75回」が格納されている。これらの格納値から、アプリケーション「Eメール」の操作補助機能の利用頻度が「80%」であり、アプリケーション「インターネット」の操作補助機能の利用頻度が「75%」であることがわかる。
たとえば、上記した所定の基準値を「70%」とした場合、いずれの利用頻度もこの基準値よりも高いため、起動部306は、新たなアプリケーションが起動された場合、この起動時に操作補助機能を起動する。また、上記した所定の基準値を「77%」とした場合、アプリケーション「インターネット」の操作補助機能の利用頻度は、この基準値よりも低いため、起動部306は、新たなアプリケーションが起動された場合、この起動時に操作補助機能を起動しない。
操作補助機能をよく利用するユーザにとって、新たなアプリケーションは特に操作補助機能を必要とする傾向がある。一方、操作補助機能をあまり利用しないユーザにとっては、新たなアプリケーションであろうとも、操作補助機能を必要とせず、新たなアプリケーションは使いこなすことができる傾向がある。新たなアプリケーションについては、利用頻度に関する情報や履歴情報がないため、これらの情報で、操作補助機能をよく利用するか否かを判断することができない。そこで、本実施形態の携帯電話機100は、他のアプリケーションの操作補助機能の利用頻度を参考にすることで、アプリケーション全般として、操作補助機能をよく利用するユーザか否かを大別し、これに応じて新たに起動されたアプリケーションの操作補助機能を提供する/しないを制御することとした。これにより、アプリケーション全般として操作補助機能をよく利用するユーザに対しては、新たなアプリケーションが起動されるごとに操作補助機能を提供するといった適切なタイミングで操作補助機能を提供し、操作補助機能をあまり利用しないユーザに対しては、新たなアプリケーションが起動されるごとに操作補助機能を提供されてしまうといった煩わしさを解消することができる。
(変形例2)
第2実施形態において、アプリケーションごとに、アプリケーションが初めて起動されたときに操作補助機能が利用されたことを示す情報(以下、「初回利用フラグ」と示す。)を履歴格納部1000に格納するようにしてもよい。この場合、起動部306は、新たなアプリケーションが起動された場合において、履歴格納部1000に格納されている初回利用フラグの総数、または割合(初回利用フラグの総数/アプリケーションの総数)が所定の基準値よりも多いと判断した場合、当該新たなアプリケーションの起動時に、当該新たなアプリケーションの操作補助機能を起動してもよい。
(変形例3)
各実施形態では、本発明の情報処理装置を携帯電話機に適用した例を示したが、これに限らず、本発明の情報処理装置は、PDA(Personal Digital Assistant)、携帯音楽再生装置、携帯動画再生装置、携帯ナビゲーション装置、パーソナルコンピュータなどにも適用することができる。また、本発明の情報処理装置は、少なくとも、メニュー操作機能および操作補助機能を有している装置であればよく、テレビ、ビデオデッキなどの家電製品などにも適用することができる。
(変形例4)
各実施形態では、格納部300には、一のアプリケーションに対して、一の操作パターンが対応付けられて格納されているが、これに限らず、一のアプリケーションに対して、複数の操作パターンが対応付けられて格納されてもよい。また、一の操作パターンに対して、複数のアプリケーションが対応付けられて格納されてもよい。
(変形例5)
各実施形態では、格納部300には、アプリケーション単位で、操作パターンを格納することとしたが、アプリケーションが有する機能単位で、操作パターンを格納してもよい。この場合、各実施形態において、「アプリケーション」を「機能」に読み替えて、各種入力ボタン130によってなされたメニュー操作の操作パターンが、当該メニュー操作がおこなわれた機能に対応付けられている操作パターンに合致する場合、当該メニュー操作がおこなわれた機能の操作補助機能を起動するようにしてもよい。ただし、この場合であっても、操作パターンはアプリケーションに対応付けられて格納される。
(変形例6)
第3実施形態では、メニュー操作の履歴を格納部300に格納し、各種入力ボタン130によってなされたメニュー操作の操作間隔が、過去のメニュー操作の操作間隔を基準とする基準値よりも大きい場合に、当該メニュー操作がおこなわれた機能の操作補助機能を起動することとした。これに限らず、メニュー操作以外の他の操作(たとえば、文字入力操作など)の履歴を格納部300に格納し、各種入力ボタン130によってなされた他の操作の操作間隔が、過去の他の操作の操作間隔を基準とする基準値よりも大きい場合に、当該他の操作操作がおこなわれた機能の操作補助機能を起動するようにしてもよい。