(57)【要約】【課題】タッチパネルの正確な操作が困難な環境下であっても、誤操作の可能性の低い情報処理装置を提供する。【解決手段】タッチパネル１０２を備えた情報処理装置は、タッチパネル１０２の振動を検出する振動センサ１０７と、タッチパネル１０２から入力される処理指示に応じて処理を実行するとともに、振動センサ１０７が振動を検出中に、実行結果が取り消せない特定の処理指示が入力されると該処理の実行を保留するＵＩ操作実行保留部２０３と、ＵＩ操作実行保留部２０３が保留した特定の処理指示に応じた処理を実行をユーザに確認し、ユーザから実行の指示があれば当該処理を実行するＵＩ操作確認実行部２０４と、を備える。【選択図】図２
2014142755.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルを備えた情報処理装置であって、
前記タッチパネルの振動を検出する振動検出手段と、
前記タッチパネルから入力される処理指示に応じた処理を実行するとともに、前記振動検出手段が振動を検出中に、実行結果を取り消せない特定の処理指示が入力されると該処理の実行を保留する実行手段と、
前記実行手段が保留した旨を報知し、前記特定の処理指示に応じた処理を実行する指示が入力された場合に当該処理を前記実行手段に実行させる確認手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記振動検出手段が振動を検出中に入力された前記処理指示を記録する記録手段を備えており、
前記確認手段は、ユーザから前記特定の処理指示に応じた処理の実行を取り消す指示があれば、前記特定の処理の入力前に前記記録手段に記録された前記処理指示に応じた処理の実行結果をユーザに確認し、取り消しの指示のある処理の実行結果を取り消すことを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記記録手段は、前記処理指示を入力された順に記録し、
前記確認手段は、前記記録手段が記録した順に従って前記処理指示に応じた処理の実行結果をユーザに確認させ、取り消しの指示のあった処理以降に記録された処理指示に応じた処理の実行結果を取り消すことを特徴とする、
請求項２記載の情報処理装置。
【請求項４】
前記実行手段は、前記特定の処理指示が一定の実行条件を満たして入力されていれば、該処理を保留せずに実行することを特徴とする、
請求項１〜３のいずれか１項記載の情報処理装置。
【請求項５】
前記振動検出手段は、前記タッチパネルの振動量を検出する振動センサ及び位置を検出する位置センサを備え、前記位置の時間変化と前記振動量とから前記タッチパネルの振動を検出することを特徴とする、
請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記確認手段は、前記ユーザからの実行の指示あるいは実行を取り消す指示を、音声による受け付けることを特徴とする、
請求項１〜５のいずれか１項記載の情報処理装置。
【請求項７】
タッチパネルを備えた情報処理装置により実行される方法であって、
前記タッチパネルの振動を検出するステップと、
前記タッチパネルを用いて入力される処理指示に応じて処理を実行するステップと、
振動の検出中に、実行結果を取り消せない特定の処理指示が入力されると該処理の実行を保留するステップと、
保留した前記特定の処理指示に応じた処理を実行するか否かをユーザに確認するステップと、
ユーザから実行の指示があれば、前記特定の処理指示に応じた処理を実行するステップと、
ユーザから実行を取り消す指示があれば、前記特定の処理の入力前に、振動の検出中に実行された前記処理指示に応じた処理の実行結果をユーザに確認させ、取り消しの指示のある処理の実行結果を取り消すステップと、を含むことを特徴とする、
情報処理方法。
【請求項８】
タッチパネルを備えたコンピュータを、
前記タッチパネルの振動を検出する振動検出手段、
前記タッチパネルから入力される処理指示に応じた処理を実行するとともに、前記振動検出手段が振動を検出中に、実行結果を取り消せない特定の処理指示が入力されると該処理の実行を保留する実行手段、
前記実行手段が保留した前記特定の処理指示に応じた処理の実行をユーザに確認し、ユーザから実行の指示があれば当該処理を実行する確認手段、
として機能させるためのコンピュータプログラム。
【請求項９】
請求項８記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルを入力装置として備える情報処理装置に関する。
【背景技術】
【０００２】
グラフィカル・ユーザ・インタフェース（以下、「ＧＵＩ」という。）を採用した情報処理装置では、ディスプレイと入力部とが一体に構成されたタッチパネルを入力装置に用いることが多くなっている。特に、カーナビゲーションシステムやスマートフォンなどの情報処理装置においては、タッチパネルを用いたタッチ操作による入力が主流である。タッチパネルのディスプレイに表示されるＧＵＩオブジェクトをタッチ操作することで、ＧＵＩオブジェクトに関連づけされた処理が実行される。
【０００３】
ユーザは、車載が前提のカーナビゲーションシステムはもとより、携帯性のあるスマートフォンを、自動車などの車両に乗車中に操作することがある。走行中の車両内は、車両の揺れにより振動が発生しやすい環境にある。そのために走行中の車両内では、タッチパネルの正確なタッチ操作が難しく、ユーザの意図しない操作が行われることがある。
特許文献１には、車両の振動（揺れ）を検出して、その振動量に応じてＧＵＩオブジェクトであるボタンオブジェクトの表示の大きさを変える発明が開示される。振動量が大きいときにボタンオブジェクトを拡大表示することで、ユーザによる誤操作を防止して、タッチパネルの操作性を向上させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１９０９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、タッチパネルのディスプレイには、複数のＧＵＩオブジェクトが表示される。そのために、ＧＵＩオブジェクトを拡大表示しても、誤操作の可能性は残る。
【０００６】
また、ＧＵＩオブジェクトには、一度操作したら、取り消すことができない処理に関連づけされたものがある。例えば、処理を取り消して元の画面に戻るための「戻る」ボタンオブジェクトが用意されていない画面への遷移を行うためのＧＵＩオブジェクトを操作すると、元の画面に戻ることができなくなる。また、電子メールの送受信においては、メール作成中に誤操作により送信処理のためのＧＵＩオブジェクトをタッチすることで、作成途中の電子メールが送信されてしまうことがある。また、インターネットを介した商取引においては、誤操作により課金処理や商品の売買が行われてしまい、別途、取り引きを取り消すための処理を行う必要がある。このような誤操作は、利便性の低下を招く。
【０００７】
本発明は、以上のような問題に鑑み、例えば走行中の車両内のようなタッチパネルの正確な操作が困難な環境下であっても、誤操作の可能性の低い情報処理装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決する本発明は、タッチパネルを備えた情報処理装置であって、前記タッチパネルの振動を検出する振動検出手段と、前記タッチパネルから入力される処理指示に応じた処理を実行するとともに、前記振動検出手段が振動を検出中に、実行結果を取り消せない特定の処理指示が入力されると該処理の実行を保留する実行手段と、前記実行手段が保留した旨を報知するとともに、前記特定の処理指示に応じた処理を実行する指示が入力された場合に当該処理を前記実行手段に実行させる確認手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、タッチパネルの正確な操作が困難な環境下であっても、誤操作の可能性を低下させることができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置の機能ブロック図。
【図３】ＧＵＩの例示図。
【図４】（ａ）〜（ｄ）は、ＧＵＩによりタッチ入力を行う場合の従来の表示の遷移例示図。
【図５】振動検出中にＵＩ操作を受け付けた場合の処理手順を表すフローチャート。
【図６】（ａ）〜（ｅ）は、ＧＵＩによりタッチ入力を行う場合の表示の遷移例示図。
【図７】（ａ）〜（ｄ）は、個々の処理をユーザに確認する際のＧＵＩの例示図。
【図８】振動検出中にＵＩ操作を受け付けた場合の処理手順を表すフローチャート。
【図９】（ａ）〜（ｃ）は、ＧＵＩによりタッチ入力を行う場合の表示の遷移例示図。
【図１０】振動検出中にＵＩ操作を受け付けた場合の処理手順を表すフローチャート。
【図１１】（ａ）〜（ｄ）は、ＧＵＩによりタッチ入力を行う場合の表示の遷移例示図。
【図１２】情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照しつつ詳細に説明する。
【００１２】
［第１実施形態］
図１は、タッチパネルを搭載した第１実施形態の情報処理装置のＧＵＩに関する部分のハードウェア構成図である。
【００１３】
情報処理装置１００は、スマートフォンやタブレットＰＣなどのコンピュータにより実現可能であり、タッチパネル１０２の他に、コントローラ部１０１、ハードディスク１０３、及び振動センサ１０７を備える。コントローラ部１０１は、ＣＰＵ（Central Processing Unit）１０４、ＲＯＭ（Read Only Memory）１０５、及びＲＡＭ（Random Access Memory）１０６を備える。
【００１４】
ＣＰＵ１０４は、ＲＯＭ１０５に記憶されるコンピュータプログラムやデータを読み出し、ＲＡＭ１０６を作業領域に用いて実行することで、情報処理装置１００全体の動作を制御する。ＣＰＵ１０４で実行されるコンピュータプログラムやデータは、コンピュータ読み取り可能な外部記録媒体であるハードディスク１０３にも記憶されており、ＣＰＵ１０４は、ハードディスク１０３からもコンピュータプログラムやデータを読み出して実行する。通常は、ＲＯＭ１０５に情報処理装置１００の基本動作を制御するためのコンピュータプログラムが記憶され、ハードディスク１０３には、アプリケーションソフトが記憶される。
ＣＰＵ１０４のこのような処理により、タッチパネル１０２の表示部であるディスプレイには、ＧＵＩオブジェクトなどが表示される。ＧＵＩオブジェクトをユーザが操作することで、ＣＰＵ１０４は、該ＧＵＩオブジェクトに関連付けられた処理を実行する。
なお、ハードディスク１０３は、ＳＳＤ（Solid State Drive）などの他の大容量記憶装置であってもよい。
【００１５】
タッチパネル１０２は、ディスプレイと入力装置とが一体に構成された入出力装置である。ディスプレイにはＧＵＩオブジェクトが表示される。ディスプレイにはタッチセンサが設けられており、ユーザのタッチ位置が検出可能である。タッチ位置は、ディスプレイ上の座標として検出される。検出されたタッチ位置と、ディスプレイ上のＧＵＩオブジェクトの表示位置とから、タッチされたＧＵＩオブジェクトが特定される。特定されたＧＵＩオブジェクトが、ユーザにより選択された操作対象のＧＵＩオブジェクトになる。ディスプレイに表示されるＧＵＩオブジェクトには、パネルオブジェクト、ボタンオブジェクト、テキストフィールドなどがある。
【００１６】
タッチパネル１０２は、ユーザによる入力操作によってコントローラ部１０１に所定の処理を命じる処理指示を入力する。例えば、ユーザがディスプレイに表示されたＧＵＩオブジェクトであるボタンオブジェクトを１回タッチ操作した場合、タッチパネル１０２は、そのボタンオブジェクトをユーザに選択されたＧＵＩオブジェクトとして特定する。タッチパネル１０２は、特定したボタンオブジェクトを識別するためのオブジェクトＩＤと、１回のタッチ操作があったことを表す情報とを含む処理指示を、コントローラ部１０１に入力する。コントローラ部１０１は、送られてきた処理指示から、当該ボタンオブジェクトが１回タッチ操作されたことに関連付けられた処理を実行する。
【００１７】
なお、タッチパネル１０２のディスプレイを軽くタッチする操作を「タップ」、ディスプレイに触れた状態で指をそのまま滑らせる操作を「スワイプ」という。また、ＧＵＩオブジェクトに対するこれらの操作を、以降、「ＵＩ操作」という。
【００１８】
振動センサ１０７は、情報処理装置１００本体の振動を検出する。振動センサ１０７には、例えば圧電素子を用いることができる。振動センサ１０７で検出した振動は、電気信号としてコントローラ部１０１に送られる。コントローラ部１０１では、振動センサ１０７から送られてきた電気信号から、情報処理装置１００本体の変位量、速度、加速度などのパラメータで表される振動量を生成する。振動量により、振動センサ１０７が振動を検出中であるか否かがわかる。
【００１９】
本実施形態では、タッチパネル１０２が情報処理装置１００の本体と一体に構成された場合について説明するが、タッチパネル１０２が情報処理装置１００から分離した状態で用いられることもある。この場合、振動センサ１０７は、タッチパネル１０２の振動検出のために設けられる。タッチパネル１０２の振動が、ユーザによる誤操作の原因となるためである。
【００２０】
図２は、情報処理装置１００に実現される機能を表す機能ブロック図である。コントローラ部１０１のＣＰＵ１０４がプログラムを実行することにより、情報処理装置１００内に、振動判定部２０１、ＵＩ操作記録部２０２、ＵＩ操作実行保留部２０３、及びＵＩ操作確認実行部２０４が実現される。
【００２１】
振動判定部２０１は、振動センサ１０７の検出結果から生成される振動量により、振動センサ１０７が情報処理装置１００の振動を検出中であるか否かを判定する。タッチパネル１０２が情報処理装置１００から分離している場合には、タッチパネル１０２の振動を検出中であるか否かを判定する。以下、振動判定部２０１が、振動センサ１０７が振動を検出中であると判定した場合を、単に、「振動検出中」という。
振動とは、例えば、ユーザが大きな揺れと感じるような１周期あたりの最大の変位量が一定量以上である状態、ユーザが急激な揺れと感じるような時間軸に対する最大振幅の変位量が一定量以上である状態などである。なお、変位量が大きい揺れであっても、１周期が長い場合は、ユーザの入力に影響を与えないとして、振動の判定から除外してもよい。
【００２２】
ＵＩ操作記録部２０２は、振動検出中にタッチパネル１０２から入力される処理指示を、操作履歴としてＲＡＭ１０６やハードディスク１０３に記録する。ＵＩ操作記録部２０２は、例えば、振動検出中にユーザがボタンオブジェクトをタップした場合、該ボタンオブジェクトを識別するためのオブジェクトＩＤと「タップ」というＵＩ操作を、操作履歴として記録する。ＵＩ操作記録部２０２は、操作順がわかるように処理指示を記録する。例えば、操作順、逆順、或いは操作した時間を記録する。
【００２３】
ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理を実行するが、振動検出中は、特定のＧＵＩオブジェクトに対するＵＩ操作に応じた処理の実行を保留する。ＵＩ操作実行保留部２０３は、実行を保留する場合に、ＵＩ操作確認実行部２０４に対してその旨を通知する。以下、特定のＧＵＩオブジェクトに対するＵＩ操作による処理指示を「特定のＵＩ操作」という。
「特定のＵＩ操作」の対象となる特定のＧＵＩオブジェクトは、例えば、一度実行すると取り消せない、もしくは取り消しが困難な処理を実行するためのＧＵＩオブジェクトである。このような処理は、具体的には、メールの送信処理やインターネットを介した商取引などの通信を伴う処理である。また、ファイルの削除、ファイルの上書き、アプリケーションのアンインストール、情報処理装置１００の設定変更などの、実行すると情報が消えて再現できない、もしくは再現が困難な処理である。さらに、例えば、ウィザード方式により画面遷移を伴って処理を進めるアプリケーションにおいて、元の画面に戻るためのボタンオブジェクトが無い場合もあり、そのように戻ることができない画面への遷移を実行する処理などである。
【００２４】
そのためにＵＩ操作実行保留部２０３は、「特定のＵＩ操作」の対象となるＧＵＩオブジェクトを識別するオブジェクトＩＤを予め記憶する。ＵＩ操作実行保留部２０３は、ＧＵＩオブジェクトに対するＵＩ操作が行われた場合、該ＧＵＩオブジェクトのオブジェクトＩＤが、記憶している特定のＧＵＩオブジェクトのオブジェクトＩＤと一致するか否かを判断する。ＵＩ操作実行保留部２０３は、オブジェクトＩＤの一致の判断結果と、振動判定部２０１による振動検出中の判定結果とにより、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理を実行するか、或いは保留するかを決める。
ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトのオブジェクトＩＤが、特定のＧＵＩオブジェクトのオブジェクトＩＤに一致し、かつ振動検出中の場合に、該ＧＵＩオブジェクトに関連付けられた処理の実行を保留する。ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトのオブジェクトＩＤが特定のＧＵＩオブジェクトのオブジェクトＩＤとは相違する、あるいは振動検出中ではない場合に、該ＧＵＩオブジェクトに関連付けられた処理を実行する。
【００２５】
ＵＩ操作確認実行部２０４は、振動検出中の処理指示に応じた処理が有効なものであるか否かをユーザに確認する。そのために、ＵＩ操作確認実行部２０４は、振動が検出されなくなった後に、処理が有効なものであるか否かをユーザに報知し、実行するか否かを確認するための確認画面をタッチパネル１０２のディスプレイに表示する。確認画面には、振動検出中に実行された処理のすべてについて確認を行う全体確認画面と、個々の処理についての実行結果の確認を行う個別確認画面とがある。
振動検出中であっても、ＵＩ操作に応じた処理は、「特定のＵＩ操作」でない限り、通常と同様にＵＩ操作実行保留部２０３により実行される。そのために、ユーザがＵＩ操作に応じた処理の実行を承認した場合、ＵＩ操作確認実行部２０４は、既に実行されている処理を承認することになる。逆に、ユーザが処理の実行を承認しない場合、ＵＩ操作確認実行部２０４は、ＵＩ操作記録部２０２で記録された操作履歴を読み込み、ユーザに個々のＵＩ操作に応じた処理の実行を一つずつ確認する。
【００２６】
ＵＩ操作確認実行部２０４は、「特定のＵＩ操作」があり、ＵＩ操作実行保留部２０３から実行を保留した旨の通知を受け取ると、保留したＵＩ操作がある旨を報知し、その操作による処理を実行するか否かユーザに確認する。また、ＵＩ操作確認実行部２０４は、「特定のＵＩ操作」の入力前に操作履歴に記録されたすべてのＵＩ操作による処理の実行結果が有効なものであるか否かをユーザに確認する。そのためにＵＩ操作確認実行部２０４は、全体確認画面をタッチパネル１０２のディスプレイに表示する。
ユーザが「特定のＵＩ操作」に応じた処理の実行を承認した場合、ＵＩ操作確認実行部２０４は、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理を実行する。
逆に、ユーザが「特定のＵＩ操作」に応じた処理の実行を承認しない場合、ＵＩ操作確認実行部２０４は、ＵＩ操作記録部２０２で記録された操作履歴を読み込み、ユーザに個々のＵＩ操作に応じた処理を実行するか否か一つずつ確認する。この場合、ＵＩ操作実行保留部２０３で実行が保留された「特定のＵＩ操作」に応じた処理は取り消される。
【００２７】
ＵＩ操作確認実行部２０４は、ユーザに操作履歴に記録された個々のＵＩ操作に応じた処理の実行を一つずつ確認する場合、操作履歴に記録された順、或いはその逆の順に確認を行う。操作履歴に記録された順、つまり古い順に行う確認処理をリドゥ（redo）方向の確認処理と呼ぶ。その逆、つまり最後に行われたＵＩ操作から遡って行う確認処理をアンドゥ（undo）方向の確認処理と呼ぶ。これらの処理の詳細は後述する。
【００２８】
なお、本実施形態では、ＵＩ操作実行保留部２０３及びＵＩ操作確認実行部２０４において、ＵＩ操作に応じた処理を実行することになるが、いずれか一方でのみ処理を実行するように構成してもよい。
ＵＩ操作実行保留部２０３でのみ処理を実行する場合、ＵＩ操作確認実行部２０４は、ユーザに対して処理の確認を行い、その確認結果をＵＩ操作実行保留部２０３に通知する。通知結果に応じて、ＵＩ操作実行保留部２０３は、処理を実行する。
ＵＩ操作確認実行部２０４でのみ処理を実行する場合、ＵＩ操作実行保留部２０３は、「特定のＵＩ操作」が有る場合にＵＩ操作確認実行部２０４にその旨を通知する。通知結果に応じて、ＵＩ操作確認実行部２０４は、処理を実行する。
また、ＵＩ操作に応じた処理を実行するＵＩ操作実行部を別に設けてもよい。ＵＩ操作実行部は、ＵＩ操作に応じた処理を、ＵＩ操作実行保留部２０３及びＵＩ操作確認実行部２０４からの通知に応じて実行することになる。
【００２９】
図３は、タッチパネル１０２のディスプレイに表示される、アプリケーションのＧＵＩの例示図である。本実施形態では、文字の入力と電子メールの送信を行うアプリケーションのＧＵＩを例として説明するが、これに限るものでは無い。
【００３０】
アプリケーションのＧＵＩは、入力された文字列を表示するテキストエリア１００１、電子メールの送信を行うための送信ボタンオブジェクト１００２、文字列の入力を行うボタンオブジェクト群１００３を備える。文字入力は、携帯電話で広く用いられている文字入力と同様のＵＩ操作により行われる。
例えば、平仮名の「あ段」の文字が表示されている「あ」ボタンオブジェクトのタップ回数に応じて、「あ段」、「い段」、「う段」、「え段」、「お段」の平仮名がテキストエリア１００１に表示、入力される。送信ボタンオブジェクト１００２には、テキストエリア１００１に表示されている文字列を、指定されたメールアドレス宛てに送信する処理が関連付けられる。送信ボタンオブジェクト１００２をタップすることで、電子メールが送信される。
【００３１】
図４（ａ）〜（ｄ）は、図３に示すアプリケーションのＧＵＩによりタッチ入力を行う場合の従来の表示の遷移例示図である。図４（ａ）〜（ｄ）では、テキストエリア１００１に文字列「きの」まで入力された状態から、「あ」ボタンオブジェクトを２回タップして、送信ボタンオブジェクト１００２をタップする場合を示す。
【００３２】
図４（ａ）は、テキストエリア１００１に文字列「きの」まで入力された状態から１回「あ」ボタンオブジェクトがタップされた状態を表す。図４（ｂ）は、図４（ａ）の後に、更に１回「あ」ボタンオブジェクトがタップされた状態を表す。図４（ｃ）は、図４（ｂ）の後に、送信ボタンオブジェクト１００２がタップされた状態を表す。図４（ｄ）は、電子メールの送信処理が実行されて、電子メールを送信した旨のメッセージ（「送信しました」）が、メッセージボックス１００４に表示された状態を表す。
【００３３】
なお、図４（ａ）〜（ｄ）は、本来、「きの」に続けて「う」の文字を入力するために「あ」ボタンオブジェクトを３回連続でタップすべきところを、振動のためにユーザが誤って送信ボタンオブジェクト１００２をタップした誤操作の例である。
【００３４】
図５は、本実施形態の情報処理装置１００が、振動検出中にユーザのＵＩ操作を受け付けた場合の処理手順を表すフローチャートである。
【００３５】
情報処理装置１００では、振動センサ１０７の検出結果により振動判定部２０１が、振動検出中の判定を行う（Ｓ７０１）。振動判定部２０１が振動検出中と判定した場合、タッチパネル１０２がＵＩ操作による入力を確認する（Ｓ７０１：Y、Ｓ７０２）。ＵＩ操作による入力がある場合、ＵＩ操作による処理指示がタッチパネル１０２からコントローラ部１０１に送られる。コントローラ部１０１では、振動検出中であるので、ＵＩ操作記録部２０２が、送られてきたＵＩ操作の処理指示を操作履歴として記録する（Ｓ７０２：Y、Ｓ７０３）。なお、ＵＩ操作による入力がない場合、ステップＳ７０１に戻り、振動判定部２０１が、振動検出中の判定を行う（Ｓ７０２：N、Ｓ７０１）
【００３６】
ＵＩ操作実行保留部２０３は、ＵＩ操作が「特定のＵＩ操作」であるか否かを判断する（Ｓ７０４）。「特定のＵＩ操作」ではない場合、ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理を実行する（Ｓ７０４：N、Ｓ７０５）。処理の実行後、ステップＳ７０１に戻り、振動判定部２０１が、振動検出中の判定を行う。
【００３７】
「特定のＵＩ操作」である場合、ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理の実行を保留して、その旨をＵＩ操作確認実行部２０４に通知する（Ｓ７０４：Y、Ｓ７０６）。
【００３８】
ＵＩ操作確認実行部２０４は、ＵＩ操作実行保留部２０３から処理の保留の通知があると、タッチパネル１０２のディスプレイに全体確認画面を表示する（Ｓ７０７）。全体確認画面は、ユーザの入力を受け付けるＧＵＩオブジェクトであり、操作履歴に記録しているすべてのＵＩ操作による処理の実行を承認するか否かについてのユーザの指示を受け付ける。
【００３９】
ＵＩ操作確認実行部２０４は、全体確認画面によるユーザの指示により、操作履歴に記録されたＵＩ操作に応じた処理の実行が承認されたか否かを確認する（Ｓ７０８）。承認された場合にＵＩ操作確認実行部２０４は、ＵＩ操作実行保留部２０３で保留されたＵＩ操作に応じた処理を実行して、操作履歴を消去する（Ｓ７０８：Y、Ｓ７１６、Ｓ７１５）。この場合、ＵＩ操作確認実行部２０４は、「特定のＵＩ操作」された特定のＧＵＩオブジェクトに関連付けられる処理を実行する。
【００４０】
承認されない場合、ＵＩ操作確認実行部２０４は、操作履歴に含まれる個々のＵＩ操作に応じた処理を実行するか否かユーザに確認するために、操作履歴を読み込む（Ｓ７０８：N、Ｓ７０９）。ＵＩ操作確認実行部２０４は、まず、操作履歴に記録されるＵＩ操作に応じた処理を取り消し、ＧＵＩの状態を振動検出前の状態に戻す（Ｓ７１０）。操作履歴に記録されているＵＩ操作による処理の結果を、最後に記録されたＵＩ操作から順に遡って取り消していくことで振動検出前の状態に戻すことができる。
【００４１】
ＵＩ操作確認実行部２０４は、操作履歴に最初に記録されているＵＩ操作から、一つずつ実行の可否をユーザに確認するための個別確認画面を、ディスプレイに表示する（Ｓ７１１）。個別確認画面は、ユーザの入力を受け付けるＧＵＩオブジェクトであり、操作履歴に記録されたＵＩ操作による処理の実行を承認するか否かについてのユーザの指示を、個々のＵＩ操作について受け付ける。
【００４２】
ユーザが個別確認画面からＵＩ操作を承認する旨の指示を行うと、ＵＩ操作確認実行部２０４は、この指示を受け付けて、当該ＵＩ操作されたＧＵＩオブジェクトに関連付けられた処理を実行する（Ｓ７１２：Y、Ｓ７１３）。ＵＩ操作確認実行部２０４は、処理の実行後、操作履歴に、ユーザにより確認されていないＵＩ操作があれば、ステップＳ７１１に戻って個別確認画面をディスプレイに表示する（Ｓ７１４：Y、Ｓ７１１）。操作履歴にユーザにより確認されていないＵＩ操作が無ければ、ＵＩ操作確認実行部２０４は、操作履歴を消去する（Ｓ７１４：N、Ｓ７１５）。
ユーザが個別確認画面からＵＩ操作を取り消す旨の指示を行うと、ＵＩ操作確認実行部２０４は操作履歴を消去して（Ｓ７１２：N、Ｓ７１５）、処理を終了する。
以上のようにＵＩ操作確認実行部２０４は、個別確認画面により、「特定のＵＩ操作」の入力前に操作履歴に記録されたＵＩ操作に応じた処理の実行結果を一つずつユーザに確認することができる。また、取り消しの指示のあった処理以降に記録された処理指示に応じた処理の実行結果を取り消すことができる。
【００４３】
なお、振動検出中でない場合、ＵＩ操作確認実行部２０４は、操作履歴の有無を確認し、操作履歴が有ればステップＳ７０７以降の処理を行う（Ｓ７０１：N、Ｓ７１７：Y、Ｓ７０７）。操作履歴が無ければ、ステップＳ７０１に戻り、コントローラ部１０１は、振動検出中であるか否かを判定する（Ｓ７１７：N、Ｓ７０１）。そのために、「特定のＵＩ操作」がない場合であっても、ユーザは、振動検出中のＵＩ操作に応じた処理の実行結果を確認することができる。
以上の処理は、ＵＩ操作確認実行部２０４にてリドゥ方向の確認処理を行う例である。
【００４４】
図６（ａ）〜（ｅ）は、図３に示すＧＵＩにより振動検出中にタッチ入力を行う場合の本実施形態の表示の遷移例示図である。図６（ａ）〜（ｅ）では、「きの」まで入力した状態において振動が検出され、振動検出中に「あ」ボタンオブジェクトを２回タップした後、送信ボタンオブジェクト１００２をタップした際のＧＵＩの様子を示している。本来、「あ」ボタンオブジェクトを３回タップして「う」を入力する予定であるので、これは誤入力である。送信ボタンオブジェクト１００２のＵＩ操作は、「特定のＵＩ操作」の一例である。
【００４５】
図６（ａ）は、テキストエリア１００１に文字列「きの」まで入力した状態を表す。図６（ｂ）は、図６（ａ）の後に、１回「あ」ボタンオブジェクトがタップされた状態を表す。図６（ｃ）は、図６（ｂ）の後に、更に１回「あ」ボタンオブジェクトがタップされた状態を表す。図６（ｄ）は、図６（ｃ）の後に、送信ボタンオブジェクト１００２がタップされた状態を表す。図６（ｅ）は、振動検出中にユーザが行ったＵＩ操作による処理結果をユーザに確認させるための全体確認画面の一例であるメッセージボックス１００５が表示された状態を表す。
図６（ａ）〜（ｅ）は、図５のフローチャートのステップＳ７０１〜Ｓ７０７までの処理でディスプレイに表示されるＧＵＩである。図５のフローチャートとの関係は、以下のようになる。
【００４６】
図６（ａ）の段階では、振動が検出されず通常の入力状態である。図６（ｂ）のＵＩ操作の際に振動が検出される（Ｓ７０１）。振動検出中に「あ」ボタンオブジェクトがタップされると、ＵＩ操作記録部２０２は、「あ」ボタンオブジェクトのオブジェクトＩＤと「タップ」を操作履歴として記録する（Ｓ７０２：Y、Ｓ７０３）。「あ」ボタンオブジェクトへのＵＩ操作は、「特定のＵＩ操作」ではない。そのためにＵＩ操作実行保留部２０３は、「あ」ボタンオブジェクトに関連付けられた処理を実行する（Ｓ７０４：N、Ｓ７０５、Ｓ７０１）。その結果、テキストエリア１００１に「あ」が表示される（図６（ｂ））。
情報処理装置１００は、２回目の「あ」ボタンオブジェクトのタップでも同様の処理を行い、その結果、テキストエリア１００１に「あ」に替わって「い」が表示される（図６（ｃ））。
【００４７】
次に、送信ボタンオブジェクト１００２がタップされると（図６（ｄ））、ＵＩ操作記録部２０２が操作履歴に記録後、ＵＩ操作実行保留部２０３が「特定のＵＩ操作」であると判断する（Ｓ７０２：Y、Ｓ７０３、Ｓ７０４：Y）。そのために、ＵＩ操作実行保留部２０３は、送信ボタンオブジェクト１００２に関連付けられた処理であるメール送信処理の実行を保留して、その旨をＵＩ操作確認実行部２０４に通知する（Ｓ７０６）。ＵＩ操作確認実行部２０４は、この通知を受け付けてメッセージボックス１００５を表示することにより、ユーザに報知する（Ｓ７０７、図６（ｅ））。
【００４８】
このように、送信ボタンオブジェクト１００２が振動検出中にタップされているために、電子メールの送信が保留される。また、メッセージボックス１００５により、振動検出中に行われたすべてのＵＩ操作を承認するか否かが確認される。
【００４９】
メッセージボックス１００５の内容に応じてユーザが操作を行うことにより、ＵＩ操作に応じた処理の実行又は取り消しが行われる。ユーザは、振動検出中に行ったすべてのＵＩ操作を承認する場合、メッセージボックス１００５上を左から右にスワイプする（図５のＳ７０８：Y）。この操作もＵＩ操作である。左から右へのスワイプにより、ＵＩ操作確認実行部２０４は、保留していた送信ボタンオブジェクト１００２に関連付けられた処理を実行する（図５のＳ７１６）。つまり、振動検出中に入力されたＵＩ操作である、「あ」ボタンオブジェクトへの２回のタッチと送信ボタンオブジェクト１００２へのタッチに応じた処理が実行され、本文が文字列「きのい」の電子メールが送信される。
【００５０】
ユーザは、振動検出中に行ったすべてのＵＩ操作を取り消す場合に、メッセージボックス１００５上を右から左にスワイプする（図５のＳ７０８：N）。ここで、操作履歴を消去して振動検出中の処理をすべて元に戻し、図６（ａ）の状態に戻してもよいが、本実施形態では、上述の通り、図５のフローチャートのステップＳ７０９〜Ｓ７１５の処理を行う。
振動検出中に行ったすべてのＵＩ操作を取り消す場合には、振動検出前のＧＵＩの状態までＵＩ操作の処理を戻す。この例では、図６（ｄ）の状態から、図６（ａ）に示すように振動検出前までに入力された文字列「きの」がテキストエリア１００１に表示された状態まで戻す（Ｓ７１０）。
【００５１】
図７（ａ）〜（ｄ）は、操作履歴に基づいて個々のＵＩ操作に応じた処理をユーザに確認する際にディスプレイに表示されるＧＵＩの例示図である。図５では、ステップＳ７１０〜Ｓ７１５までの処理において表示される。
【００５２】
図７（ａ）は、振動検出中の最初のＵＩ操作である「あ」ボタンオブジェクトのタッチについての実行確認を行うメッセージボックス１００６を表示した状態を表す。メッセージボックス１００６は、個別確認画面の一例である。メッセージボックス１００６は、確認対象となるＵＩ操作されたＧＵＩオブジェクトを指示し、そのＧＵＩオブジェクトに関連付けられた処理を実行するか否かを問うメッセージを表示する。本実施形態では、確認対象となるＧＵＩオブジェクトに関連付けられた処理を実行する場合は右から左にスワイプを行い、実行しない場合は左から右にスワイプさせるメッセージを表示する。
本実施形態では、ユーザが、メッセージボックス１００６上を右から左にスワイプすることでＵＩ操作による処理の実行を承認することを入力する。逆にユーザがメッセージボックス１００６上を左から右にスワイプすることで、ＵＩ操作による処理の実行を承認しないことを入力する。
【００５３】
図７（ｂ）、（ｃ）も、図７（ａ）と同様に、振動検出中にＵＩ操作されたＧＵＩオブジェクトを指示し、そのＧＵＩオブジェクトに関連付けられた処理を実行するか否かを問うメッセージボックス１００６を表示する。
図７（ｄ）は、図７（ｃ）の状態で、ユーザがＵＩ操作を承認しなかった場合の表示例示図である。
【００５４】
図７（ａ）〜（ｃ）と図５のフローチャートとの関係は、以下のようになる。
ＵＩ操作確認実行部２０４は、リドゥ方向の確認処理のために、ＵＩ操作記録部２０２で記録した操作履歴を読み込み（ステップＳ７０９）、操作履歴を用いてＧＵＩを図６（ａ）の状態に戻す（ステップＳ７１０）。本実施形態の場合、操作履歴として「あ」ボタンオブジェクトのオブジェクトＩＤと「タップ」操作の情報が２回、送信ボタンオブジェクト１００２のオブジェクトＩＤと「タップ」操作の情報が１回記録されている。操作履歴の各ＵＩ操作に応じた処理を取り消すことにより図６（ａ）の状態に戻す。その上で図７（ａ）に示すように、最初の「あ」ボタンオブジェクトのタップに関して、実行するか否かについてのユーザ入力を受け付けるメッセージボックス１００６を表示する（ステップＳ７１１）。
【００５５】
メッセージボックス１００６上で右から左へのスワイプが入力としてあると、「あ」ボタンオブジェクトボタンのタップが承認され、ＵＩ操作確認実行部２０４は、「あ」ボタンオブジェクトに関連付けされた処理を実行する（Ｓ７１２：Y、Ｓ７１３）。その結果、テキストエリア１００１には、「きのあ」が表示される。
【００５６】
ＵＩ操作確認実行部２０４は、操作履歴に次のＵＩ操作の履歴があるかを確認する（Ｓ７１４）。操作履歴には、２回目の「あ」ボタンオブジェクトのタップが記録されているため、ＵＩ操作確認実行部２０４は、図７（ｂ）に示すように、２回目の「あ」ボタンオブジェクトのタップに関するメッセージボックス１００６を表示する（Ｓ７１１）。メッセージボックス１００６上で右から左へのスワイプが入力としてあると、２回目の「あ」ボタンオブジェクトボタンのタップが承認され、ＵＩ操作確認実行部２０４は、「あ」ボタンオブジェクトに関連付けされた処理を実行する（Ｓ７１２：Y、Ｓ７１３）。その結果、テキストエリア１００１には、「きのい」が表示される。
【００５７】
ＵＩ操作確認実行部２０４は、引き続き、操作履歴の次のＵＩ操作を確認する（Ｓ７１４）。操作履歴には、送信ボタンオブジェクト１００２のタップが記録されているため、ＵＩ操作確認実行部２０４は、図７（ｃ）に示すように、送信ボタンオブジェクト１００２のタップに関するメッセージボックス１００６を表示する（Ｓ７１１）。送信処理の実行について、ユーザがメッセージボックス１００６上で拒否を意味する左から右へのスワイプを行うと（Ｓ７１２：N）、送信ボタンオブジェクト１００２に関連付けされた送信処理は実行されない。これにより、図７（ｄ）に示すように２回の「あ」ボタンオブジェクトがタップされた状態が確定する。
この後、ＵＩ操作確認実行部２０４は、操作履歴を消去する（Ｓ７１５）。
【００５８】
このようにして、振動検出中に行われたＵＩ操作についてリドゥ方向で実行を確認する処理が終了する。
本実施形態では、ユーザが本来入力する予定の文字列が「きのう」であるために、振動検出中に行われたＵＩ操作の確認の後に、「あ」ボタンオブジェクトがタップされることで、正しく「きのう」が入力される。
【００５９】
なお、送信ボタンオブジェクト１００２の確認において、ユーザが承認した場合には、「きのい」が本文の電子メールが送信される。これにより操作履歴に次のＵＩ操作が無くなるため、操作履歴を消去して振動検出中に行われたＵＩ操作についてリドゥ方向で実行を確認する処理が終了する。
【００６０】
図６（ａ）〜（ｅ）及び図７（ａ）〜（ｄ）では、「特定のＵＩ操作」が振動検出中に行われる場合の例を示す。しかし、振動検出中に「特定のＵＩ操作」が行われない場合もある。この場合は、振動が収まったタイミングで、振動検出中のすべてのＵＩ操作に対する実行確認を行うことになる。図５のフローチャートでは、ステップＳ７０１、Ｓ７１７、Ｓ７０７以降の処理に相当する。
【００６１】
例えば、図６（ａ）〜（ｅ）における２回の「あ」ボタンオブジェクトのタップ後に振動が収まった場合には、振動判定部２０１がステップＳ７０１で振動が収まったと判断する。操作履歴には、１回目、２回目の「あ」ボタンオブジェクトのタップの操作記録があるため、前述のように振動検出中の全操作の実行を確認する処理に移行する（Ｓ７０１：N、Ｓ７１７：Y、Ｓ７０７）。
【００６２】
このように、第１実施形態では、振動検出中に行われたＵＩ操作を操作履歴として記録する。振動が収まった後にユーザが操作履歴を確認することで、記録されたＵＩ操作の実行の可否を決める。また、振動が収まる前であっても、「特定のＵＩ操作」があれば、実行を保留して、その時点でユーザに操作履歴を確認させる。そのために、振動検出中にユーザにより誤操作があった場合でも、誤操作による処理の実行を防止して、ユーザの利便性を向上させることができる。
【００６３】
［第２実施形態］
第１実施形態ではリドゥ方向に確認処理を行うが、第２実施形態では、アンドゥ方向に確認処理を行う。情報処理装置１００の構成は、第１実施形態と同様であるので説明を省略する。
【００６４】
図８は、情報処理装置１００が、振動検出中にユーザのＵＩ操作を受け付けた場合のアンドゥ方向の確認処理の処理手順を表すフローチャートである。図８のステップＳ７０１〜Ｓ７０９の処理は、第１実施形態の図５のステップＳ７０１〜Ｓ７０９の処理と同様の処理である。そのために、この部分の処理の説明は省略する。
【００６５】
ＵＩ操作確認実行部２０４は、ステップＳ７０９で読み込んだ操作履歴のうち一つのＵＩ操作についての実行の可否をユーザに確認するための個別確認画面を、タッチパネル１０２のディスプレイに表示する（Ｓ１２０１）。この処理では、アンドゥ方向の確認処理を行うため、最後に行ったＵＩ操作による処理から遡る順に一つずつＵＩ操作の実行確認を行う。
【００６６】
ユーザが個別確認画面からＵＩ操作を承認する旨の指示を行うと、ＵＩ操作確認実行部２０４は、この指示を受け付けて、当該ＵＩ操作されたＧＵＩオブジェクトに関連付けられた処理を実行する（Ｓ１２０２：Y、Ｓ１２０５）。ＵＩ操作確認実行部２０４は、処理の実行後、操作履歴を消去する（Ｓ７１５）。
【００６７】
ユーザが個別確認画面からＵＩ操作を取り消す旨の指示を行うと、ＵＩ操作確認実行部２０４は、操作履歴のアンドゥ方向（より古い操作）に次のＵＩ操作が記録されているか否かを確認する（Ｓ１２０２：N、Ｓ１２０３）。記録されている場合、ＵＩ操作確認実行部２０４は、確認した次のＵＩ操作に応じた処理を取り消して、画面表示を一つ前の状態に戻す（Ｓ１２０３：Y、Ｓ１２０４）。その後、次のＵＩ操作に対して、ステップＳ１２０１以降の処理を、操作履歴にユーザが未確認のＵＩ操作が無くなるまで繰り返す。操作履歴に次のＵＩ操作が記録されていない場合、ＵＩ操作確認実行部２０４は、操作履歴を消去する（Ｓ１２０３：N、Ｓ７１５）。
【００６８】
図９（ａ）〜（ｃ）は、図３に示すアプリケーションのＧＵＩにより振動検出中にタッチ入力を行う場合の第２実施形態の表示の遷移例示図である。図９（ａ）〜（ｃ）と、図８のフローチャートとの関係は、以下のようになる。
【００６９】
図９（ａ）は、操作履歴で最後に記録された送信ボタンオブジェクト１００２の操作を確認するための個別確認画面である、メッセージボックス１００６が表示された状態を表す（Ｓ１２０１）。図９（ａ）は、図６（ｅ）に表示したメッセージボックス１００５上をユーザが右から左へスワイプを行うことで表示される（Ｓ７０８：N）。
【００７０】
送信ボタンオブジェクト１００２のタップは、ユーザの意図した操作ではないため、ユーザは、ＵＩ操作を取り消す旨を示すメッセージボックス１００６上の左から右へのスワイプを行う。これによりＵＩ操作確認実行部２０４は、ＵＩ操作に応じた処理を取り消し、操作履歴の一つ前のＵＩ操作の有無を確認する（Ｓ１２０２：N、Ｓ１２０３）。操作履歴には、一つ前のＵＩ操作として、２回行われた「あ」ボタンオブジェクトのタップのうちの２回目のＵＩ操作が記憶される。そのために、ＵＩ操作確認実行部２０４は、２回目の「あ」ボタンオブジェクトのタップについての確認を行う（Ｓ１２０３：Y、Ｓ１２０４、Ｓ１２０１）。
【００７１】
図９（ｂ）は、操作履歴で最後から２つ目に記録された２回目の「あ」ボタンオブジェクトの操作を確認するための個別確認画面であるメッセージボックス１００６が表示された状態を表す（Ｓ１２０１）。図９（ｂ）では、２回目の「あ」ボタンオブジェクトのタップに関連付けられた処理を取り消して、テキストエリア１００１の表示が「きのい」から「きのあ」に戻してある。
【００７２】
２回目の「あ」ボタンオブジェクトのタップは、ユーザの意図した操作であるため、ユーザは、ＵＩ操作の承認する旨を示すメッセージボックス１００６上の右から左へのスワイプを行う（１２０２：Y）。これによりＵＩ操作確認実行部２０４は、２回目の「あ」ボタンオブジェクトのタップに応じた処理を実行する（Ｓ１２０５）。テキストエリア１００１の表示が「きのあ」から「きのい」に変更される。図９（ｃ）は、この状態を表す。
２回目の「あ」ボタンオブジェクトに対する処理の実行が確定したので、操作履歴に記載されたそれ以前のＵＩ操作についても実行した状態として確定する。そのために、１回目の「あ」ボタンオブジェクトへのＵＩ操作に対する確認処理は行わない。操作履歴に記録されたＵＩ操作について処理が確定したため、操作履歴は消去される（ステップＳ７１５）。
【００７３】
このように、第２実施形態では、アンドゥ方向に確認処理を行うことを除いて、第１実施形態と同じ構成、処理である。そのために、第１実施形態と同様の効果が得られる。
【００７４】
［第３実施形態］
第１、第２実施形態では、振動検出中に「特定のＵＩ操作」が検知された場合、処理を保留してユーザに処理を実行するか否かの確認を行っている。例えば、送信ボタンオブジェクト１００２がタップされた場合、電子メールの送信を行う前にユーザに「電子メールを送信するか否か」の確認の処理を行っている。
第３実施形態では、振動検出中に「特定のＵＩ操作」が検知された場合でも、そのＵＩ操作自体が一定の実行条件を満たすことで処理を保留せずに実行する。一定の実行条件とは、例えばボタンオブジェクトの長押しである。また、複数回のタップやその際の時間間隔を実行条件としてもよい。
【００７５】
第３実施形態においても、第１、第２実施形態の情報処理装置１００と同様の構成の情報処理装置１００により処理が可能である。ただし、ＵＩ操作実行保留部２０３が、実行条件をＲＡＭ１０６に記憶しており、振動検出中に「特定のＵＩ操作」があれば、実行条件を満たしているか否かを確認する。
【００７６】
図１０は、第３実施形態の振動検出中にＵＩ操作を受け付けた場合の情報処理装置１００の処理手順を表すフローチャートである。第１実施形態の処理手順である図５のフローチャートとは、ステップＳ８０１、Ｓ８０２の処理が追加されたことで相違し、他の処理については同じである。そのために、同じ処理については説明を省略し、ステップＳ８０１、Ｓ８０２の処理について説明する。
【００７７】
ＵＩ操作実行保留部２０３は、「特定のＵＩ操作」があった場合に、このＵＩ操作が、振動検出中であっても「特定のＵＩ操作」に応じた処理を実行するための実行条件に合致しているか否かを判断する（Ｓ７０４：Y、Ｓ８０１）。実行条件に合致している場合、ＵＩ操作実行保留部２０３は、ＵＩ操作されたＧＵＩオブジェクトに関連付けられる処理を実行する（Ｓ８０１：Y、Ｓ８０２）。処理の終了後、ＵＩ操作確認実行部２０４は、操作履歴を消去する（Ｓ７１５）。実行条件が合致しない場合、ＵＩ操作実行保留部２０３はＵＩ操作による処理を保留する（Ｓ８０１：N、Ｓ７０６）。以降の処理は、第１実施形態と同様である（図５のステップＳ７０６以降の処理）。
【００７８】
図１１（ａ）〜（ｄ）は、図３に示すＧＵＩにより、振動検出中にＧＵＩによりタッチ入力を行う場合の第３実施形態の表示の遷移例示図である。
図１１（ａ）は、「きの」の入力後に「あ」ボタンオブジェクトが１回タップされた状態を表す。テキストエリア１００１には、「きのあ」が表示される。図１１（ｂ）は、図１１（ａ）の状態後に、「あ」ボタンオブジェクトが再度１回タップされた状態を表す。テキストエリア１００１には「きのい」が表示される。図１１（ｃ）は、図１１（ｂ）の状態後に送信ボタンオブジェクト１００２がタップされた状態を表す。図１１（ｄ）は、実行条件が満たされて電子メールの送信が行われた状態を表す。
【００７９】
コントローラ部１０１は、振動判定部２０１にて振動検出中と判断した場合に、「特定のＵＩ操作」とその実行条件に基づいて、振動検出中の実行条件を表示する。これにより、「特定のＵＩ操作」に関して振動検出中にどのような入力を行えば処理を実行可能かを、ユーザに報知できる。図１１（ａ）〜（ｃ）の例では、「特定のＵＩ操作」に対する実行条件である「長押し２秒以上」をユーザに伝えるために、送信ボタンオブジェクト１００２に対して「長押し２秒」というメッセージボックス１００７を表示している。
【００８０】
そのために、情報処理装置１００は、図１１（ｃ）で送信ボタンオブジェクト１００２が２秒以上長押しされることで、振動検出中であっても電子メールを送信する（図１０のＳ８０１：Y、Ｓ８０２）。送信ボタンオブジェクト１００２が２秒以上長押しされない場合には、電子メールの送信が保留される（図１０のＳ８０１：Y、Ｓ７０６）。
【００８１】
以上のように、実行条件を満たす場合は「特定のＵＩ操作」されたＧＵＩオブジェクトに関連付けられた処理を、保留せずに実行する。振動検出中であっても、ユーザが正確に入力しやすいＵＩ操作を実行条件とすることによって、「特定のＵＩ操作」を必ずしも保留しないで実行することができ、ユーザの利便性が向上する。
【００８２】
［第４実施形態］
第１〜第３実施形態では、振動判定部２０１が振動センサ１０７からの振動量に基づいて、振動検出中の判断を行っている。第４実施形態では、これに加えて、情報処理装置１００の位置の時間変化から、情報処理装置１００が移動中であることを検出する構成とする。コントローラ部１０１の振動判定部２０１は、移動中であることから振動検出中であると判定する。
【００８３】
図１２は、第４実施形態の情報処理装置３００のハードウェア構成図である。情報処理装置３００は、第１〜第３実施形態の情報処理装置１００の構成に、位置センサの一例であるＧＰＳ（Global Positioning System）受信センサ１０８を追加した構成である。
【００８４】
コントローラ部１０１の振動判定部２０１は、振動センサ１０７が一定量以上の振動量を検出し、ＧＰＳ受信センサ１０８から一定時間毎に取得する現在位置の変化量が一定量以上である場合に振動検出中であると判定する。振動の検出に位置情報を加えること以外に、第１〜第３実施形態との差異は無い。そのために、第１〜第３実施形態の情報処理装置１００と同様の処理により、振動によるユーザを誤操作を防止できる。
これにより、特に情報処理装置３００を保持して移動中するユーザの揺れによる誤操作を防止することができる。
【００８５】
以上の実施形態によれば、振動検出中に実行結果を取り消せない特定の処理指示が入力されると、その処理の実行を保留してユーザに実行を確認する。そのために、タッチパネルの正確な操作が困難な環境下であっても、誤操作の可能性を低下させることができる。
【００８６】
［その他の実施形態］
第１〜第４実施形態では、電子メールの送信ボタンオブジェクト１００２を「特定のＵＩ操作」とする例を示した。また、インターネットを介した商取引の指示、ファイルの削除、上書き、アプリケーションのアンインストール、前画面に戻ることが不可能な画面への遷移など、実行すると復元が困難な処理を行うＵＩ操作を「特定のＵＩ操作」の例として挙げた。
【００８７】
一般的に、アプリケーションのＧＵＩにおいて「ＯＫ」ボタンオブジェクト、「キャンセル」ボタンオブジェクトを持つダイアログを表示させ、前の段階で行ったＵＩ操作についてユーザの意思を確認することが行われている。
「ＯＫ」ボタンオブジェクトが操作された場合は、前の段階で行ったＵＩ操作に関連付けられた処理を実行し、「キャンセル」ボタンオブジェクトが操作された場合は実行を取りやめる。このようなユーザの意思を確認する処理は、重要な処理の実行確認である。
そのため、前の段階で行ったＵＩ操作に関連付けられた処理が復元困難なものか否かにかかわらず、「ＯＫ」、「キャンセル」ボタンオブジェクトを持つダイアログに対するＵＩ操作を、「特定のＵＩ操作」としてもよい。
この場合、「特定のＵＩ操作」として、固有のＧＵＩオブジェクトを指すオブジェクトＩＤとしてもよく、また、「ＯＫ」、「キャンセル」ボタンオブジェクトを表示させるＧＵＩオブジェクトのオブジェクトＩＤとしてもよい。
【００８８】
「特定のＵＩ操作」として、操作対象のＧＵＩオブジェクトのオブジェクトＩＤの他に、その処理指示を記録してもよい。ＧＵＩオブジェクトに対する複数の処理指示（タップ、スワイプ）に対して異なる処理が関連付けられている場合に、オブジェクトＩＤ及び処理指示から、「特定のＵＩ操作」であるか否かを判断することができる。
【００８９】
第１〜第４実施形態では、ＵＩ操作確認実行部２０４がＧＵＩオブジェクトとして全体確認画面、個別確認画面を表示する。ユーザは、振動検出中に全体確認画面、個別確認画面から実行の可否を入力することになる。そのために、振動検出中であっても、ユーザが正確に実行の可否を入力可能な方法がよい。
【００９０】
第１〜第４実施形態では、スワイプにより実行の可否を入力する例を示した。スワイプは、時間を要してタッチ位置を移動する操作であるために、振動に対する耐性が強い。
タップは、瞬間的にディスプレイをタッチする操作であるために、振動検出中にユーザの指がディスプレイ付近にある場合に、揺れにより瞬間的に意図しない操作を行うことがある。そのために、タップは振動に対する耐性が弱く、実行の可否の入力に向いていない。
【００９１】
ただし、単発のタップではなく、複数回のタップにより実行の可否を入力する場合には、振動に対する耐性が強くなる。例えば、タップの回数や、タップの時間間隔をかえることで、実行の可否を入力することができる。
また、ディスプレイ上のタップやスワイプではなく、音声ＵＩを用いて実行の可否を入力するようにしてもよい。例えば、全体確認画面、個別確認画面上のメッセージを音声出力し、それに対してユーザからの可否の入力を音声入力として受け付けるようにしてもよい。
【図１】
2014142755.tif 000003
【図２】
2014142755.tif 000004
【図３】
2014142755.tif 000005
【図４】
2014142755.tif 000006
【図５】
2014142755.tif 000007
【図６】
2014142755.tif 000008
【図７】
2014142755.tif 000009
【図８】
2014142755.tif 000010
【図９】
2014142755.tif 000011
【図１０】
2014142755.tif 000012
【図１１】
2014142755.tif 000013
【図１２】
2014142755.tif 000014