(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
G06F 3/0482 20130101AFI20240813BHJP
G06F 3/04817 20220101ALI20240813BHJP
H04N 1/00 20060101ALI20240813BHJP
B41J 29/38 20060101ALI20240813BHJP
B41J 29/42 20060101ALI20240813BHJP
【FI】
G06F3/0482
G06F3/04817
H04N1/00 350
B41J29/38 801
B41J29/42 F
(21)【出願番号】P 2020193237
(22)【出願日】2020-11-20
【審査請求日】2023-11-10
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】渡内 聡希
【審査官】三田村 陽平
(56)【参考文献】
【文献】特開2016-218620(JP,A)
【文献】特開2017-158001(JP,A)
【文献】特開2017-118456(JP,A)
【文献】特開2008-118346(JP,A)
【文献】特開2010-176460(JP,A)
【文献】特開2016-057926(JP,A)
【文献】米国特許出願公開第2007/0247643(US,A1)
【文献】特開2007-287091(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048- 3/04895
B41J 29/00 -29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
処理の実行を指示する複数の表示オブジェクトを操作画面に表示する表示手段と、
前記複数の表示オブジェクトの使用履歴を取得する取得手段と、
取得した前記使用履歴に基づいて前記操作画面に表示する表示オブジェクトの表示数を決定する決定手段と、
を有
し、
前記決定手段は、前記使用履歴に基づく前記複数の表示オブジェクトごとの使用割合を高い順に並べた際に、前後に並ぶ2つの表示オブジェクトを先頭から順次対象として、対象とした2つの表示オブジェクトのうちの後の表示オブジェクトの前記使用割合が、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトの前記使用割合と比較して第三の閾値以上低下している場合、先頭の表示オブジェクトから、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトまでの数を前記表示数に決定する
ことを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記取得手段により取得した
前記使用履歴を用いて前記複数の表示オブジェクトにおける表示オブジェクトごとの使用割合を算出するとともに、算出した前記使用割合に基づいて前記表示数を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示オブジェクトが、アプリケーションの呼び出す処理の実行を指示する表示オブジェクトであって、
前記複数の表示オブジェクトの其々に対して、呼び出し対象のアプリケーション、及びアプリケーションで用いる設定値が設定可能であることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記操作画面に対する操作に応じて、使用した表示オブジェクト、呼び出されたアプリケーション、及びアプリケーションで用いた設定値を前記使用履歴として記録する記録手段を更に有し、
前記決定手段は、前記使用履歴と前記表示オブジェクトに対する設定内容とを比較し、前記使用履歴に記録されるアプリケーション及び設定値が、前記表示オブジェクトに対して設定されるアプリケーション及び設定値と同一である場合に、比較対象とした前記使用履歴を、比較対象とした前記表示オブジェクトを使用したことを表す前記使用履歴とすることを特徴とする特徴とする請求項
3に記載の情報処理装置。
【請求項5】
前記表示手段は、設定されている前記表示数に
基づいて前記操作画面の前記表示数を変更することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記決定手段は、決定した前記表示数が設定されている前記表示数と異なる場合に、前記表示数の設定の変更可否をユーザに問い合わせることを特徴とする請求項
5に記載の情報処理装置。
【請求項7】
前記決定手段は、設定されている前記表示数を決定した前記表示数に変更した後で、前記表示数の設定を変更前に戻すか否かをユーザに問い合わせることを特徴とする請求項
6に記載の情報処理装置。
【請求項8】
前記表示手段は、表示対象の前記表示オブジェクトの数が前記表示数を超える場合に、設定されている表示オブジェクトの表示順に従って、表示対象の前記表示オブジェクトを複数ページに分けて表示することを特徴とする請求項
1に記載の情報処理装置。
【請求項9】
前記決定手段は、前記使用割合に基づいて前記操作画面の1ページ目に優先的に表示する優先表示オブジェクトを決定することを特徴とする請求項
8に記載の情報処理装置。
【請求項10】
前記決定手段は、前記優先表示オブジェクトが前記操作画面の1ページ目に表示されるように、設定されている前記表示順を変更することを特徴とする請求項
9に記載の情報処理装置。
【請求項11】
前記決定手段は、予め決められた上限値を上回らないように前記表示数を調整することを特徴とする請求項1乃至
10の何れか1項に記載の情報処理装置。
【請求項12】
前記決定手段は、予め決められた下限値を下回らないように前記表示数を調整することを特徴とする請求項1乃至
11の何れか1項に記載の情報処理装置。
【請求項13】
前記決定手段は、前記表示数として選択可能な数値群が予め決められている場合に、決定した前記表示数の値以上であって、かつ、前記数値群の中で最小の値を選択することを特徴とする請求項1乃至
12の何れか1項に記載の情報処理装置。
【請求項14】
前記情報処理装置は、画像を形成する画像形成手段を有する画像形成装置であることを特徴とする請求項1乃至
13の何れか1項に記載の情報処理装置。
【請求項15】
情報処理装置が実行する制御方法であって、
処理の実行を指示する複数の表示オブジェクトを操作画面に表示する表示工程と、
前記複数の表示オブジェクトの使用履歴を取得する取得工程と、
取得した前記使用履歴に基づいて前記操作画面に表示する表示オブジェクトの表示数を決定する決定工程と、
を含
み、
前記決定工程は、前記使用履歴に基づく前記複数の表示オブジェクトごとの使用割合を高い順に並べた際に、前後に並ぶ2つの表示オブジェクトを先頭から順次対象として、対象とした2つの表示オブジェクトのうちの後の表示オブジェクトの前記使用割合が、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトの前記使用割合と比較して第三の閾値以上低下している場合、先頭の表示オブジェクトから、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトまでの数を前記表示数に決定する
ことを特徴とする制御方法。
【請求項16】
請求項1乃至
14の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
情報処理装置はメニュー画面を有するものが多く存在する。情報処理装置の一種である画像形成装置(MFP)は、近年、メニュー画面を備えるものが一般的になってきている。メニュー画面は、MFPにインストールされている複数のアプリケーション(以下、「アプリ」と呼ぶ)の中からどのアプリを呼び出すかをユーザに選択させるための画面である。典型的には、メニュー画面においてアプリを表現する部品としてボタンが用いられる。
メニュー画面において、すべてのボタンが1画面に収まりきらない場合、ボタンの表示は複数ページに分割される。ユーザはページ送りを行うことによってメニュー画面に表示するボタンを切り替えることができる。特許文献1には、メニュー画面に表示するボタンの数(以降、表示ボタン数と呼ぶ)をユーザが設定できる技術が開示されている。ユーザは表示ボタン数を変更したり、よく使うボタンを1ページ目に並べたりといった設定を行うことによって、メニュー画面を使いやすいようにカスタマイズできる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、メニュー画面をカスタマイズするためにユーザ又は管理者が設定を行う必要がある。最適な設定を行うには、ユーザがよく使うボタンを把握した上で、それらのボタンがすべて1ページ目に表示されるように表示ボタン数やボタンの並び順をカスタマイズしなければならないため、面倒である。そこで、表示ボタン数をデフォルトの設定のままで使用することも考えられる。しかしながら、限られたボタンしか使わないユーザにとって1画面に表示される表示ボタン数が多いと、視認性が落ちる。また、複数のボタンを頻繁に使っているユーザにとって1ページ目に表示される表示ボタン数が少ないと、いつもページ送りを行って操作しなければならず使いにくい。
【0005】
本発明は、このような問題点を解決するためになされたものであって、操作画面に表示されるボタン数を最適化することにより、操作画面を操作する際のユーザの利便性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、情報処理装置であって、処理の実行を指示する複数の表示オブジェクトを操作画面に表示する表示手段と、前記複数の表示オブジェクトの使用履歴を取得する取得手段と、取得した前記使用履歴に基づいて前記操作画面に表示する表示オブジェクトの表示数を決定する決定手段と、を有し、前記決定手段は、前記使用履歴に基づく前記複数の表示オブジェクトごとの使用割合を高い順に並べた際に、前後に並ぶ2つの表示オブジェクトを先頭から順次対象として、対象とした2つの表示オブジェクトのうちの後の表示オブジェクトの前記使用割合が、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトの前記使用割合と比較して第三の閾値以上低下している場合、先頭の表示オブジェクトから、前記対象とした2つの表示オブジェクトのうちの前の表示オブジェクトまでの数を前記表示数に決定することを特徴とする。
【発明の効果】
【0007】
本発明によれば、操作画面に表示されるボタン数を最適化することにより、操作画面を操作する際のユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】情報処理システムの全体構成例を示す図である。
【
図2】MFPのハードウェア構成例を示す図である。
【
図3】ファイルサーバ及びユーザPCのハードウェア構成例を示す図である。
【
図8a】メニュー画面(表示ボタン数が3)の例を示す図である。
【
図8b】メニュー画面(表示ボタン数が6)の例を示す図である。
【
図9】第1の実施形態に係るメニュー画面表示処理を示すフロー図である。
【
図10】第1の実施形態に係る操作履歴記録処理を示すフロー図である。
【
図11】第2の実施形態に係るメニュー画面表示処理を示すフロー図である。
【
図14】第3の実施形態に係るメニュー画面表示処理を示すフロー図である。
【
図15】第3の実施形態に係る操作履歴記録処理を示すフロー図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の第1の実施形態について説明する。
【0010】
<第1の実施形態>
図1は、情報処理システムの全体構成を示す図である。本システムは、MFP(Multi Functional Printer)101、ファイルサーバ102、及びユーザPC103から構成される。MFP101、ファイルサーバ102、及びユーザPC103はLAN(Local Area Network)110を介して相互に通信可能である。なお、各装置がWAN(Wide Area Network)を介して通信可能に構成されてもよい。また
図1では、MFP101、ファイルサーバ102、及びユーザPC103が1台ずつで構成されているが、複数台の装置で構成されてもよい。本実施形態では、情報処理装置の一例として、MFP101について説明するが、操作画面を表示可能な構成の情報処理装置であれば適用可能である。
【0011】
MFP101は、スキャナ、プリンタ等を有する画像形成装置である。ファイルサーバ102は、MFP101及びユーザPC103から参照可能なネットワークフォルダを有するサーバであり、MFP101がスキャンした画像データの送信先となりうる。ユーザPC103は、ユーザが業務を行うために使用するPC(Personal Computer)であり、ユーザの操作により、プリンタドライバ等を用いて印刷データをMFP101に送信することができる。以下、単体のMFP101が後述する各フローチャートの処理を実行するものとして説明するが、LAN110を介して接続される複数の装置が各フローチャートの処理を分担する構成であってもよい。
【0012】
図2は、MFP101のハードウェア構成を示すブロック図である。CPU211を含む制御部210は、MFP101の全体の動作を制御する。CPU211は、ROM212やHDD214に記憶されたプログラムを読み出して実行することにより読取制御や送信制御等の各種制御処理を実行する。またCPU211は、操作部219に表示される表示内容を制御すると共に、操作部219を介して入力されたユーザの指示に応じた処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データやCPU211によって実行可能な各種プログラムの他、後述する各種データテーブルを記憶する。制御部210は、各種のI/Fとして、操作部I/F215、プリンタI/F216、スキャナI/F217、及びネットワークI/F218を有する。CPU211、ROM212、RAM213、HDD214、及び各種のI/F215~218が、バス230を介して接続される。
【0013】
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボード等が備えられており、CPU211の制御によりメニュー画面を表示するとともに、メニュー画面に対して操作されたユーザの指示を操作部I/F215を介して制御部210に入力する。プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、積載された原稿を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210をLAN110に接続する。制御部210は、ネットワークI/F218を介してLAN110上の他の装置との間で各種情報を送受信する。
CPU211がROM212やHDD214に記憶されたプログラムをRAM213に読み出して実行することにより、後述するMFP101の機能構成が実現される。また、CPU211がROM212やHDD214に記憶されたプログラムをRAM213に読み出して実行することにより、後述するフローチャートの処理が実現される。
【0014】
図3は、ファイルサーバ102及びユーザPC103のハードウェア構成を示すブロック図である。CPU311を含む制御部310は、装置の全体の動作を制御する。CPU311は、ROM312やHDD314に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、各種のプログラムやデータを記憶する。制御部310は、各種のI/Fとして、表示部I/F315、キーボードI/F316、及びネットワークI/F317を有する。CPU311には、ROM312、RAM313、HDD314、及び各種のI/Fが、バス320を介して接続される。
表示部I/F315は、表示部318と制御部310とを接続する。キーボードI/F316は、キーボード319と制御部310とを接続する。CPU311は、キーボード319を介したユーザからの指示を認識し、認識した指示に応じて表示部318に表示する画面を遷移させる。ネットワークI/F317は、制御部310をLAN110に接続する。制御部310は、ネットワークI/F317を介してLAN110上の他の装置との間で各種情報を送受信する。
【0015】
図4は、MFP101の機能構成を示すブロック図である。CPU211がROM212やHDD214に記憶されたプログラムを、RAM213に読み出し、解析、実行することで、ボタン管理部401、操作履歴管理部403、メニュー表示部405、及びユーザ管理部406の機能が実現される。
ボタン管理部401は、MFP101のメニュー画面に表示するボタンやキーといった表示オブジェクトの情報を管理する。ボタンは、MFP101のアプリケーションの呼び出しを指示する部品の一例である。ボタン管理テーブル402は、MFP101のメニュー画面に表示するボタンの情報を保持するデータテーブルであり、RAM213又はHDD214に記録される。
操作履歴管理部403は、MFP101のメニュー画面に対する操作履歴を管理する。操作履歴テーブル404は、MFP101のメニュー画面に対する操作履歴を保持するデータテーブルであり、RAM213又はHDD214に記録される。
メニュー表示部405は、ボタン管理テーブル402が保持しているボタンをメニュー画面に表示する。メニュー画面は、操作画面の一例である。
ユーザ管理部406は、MFP101におけるユーザを管理する。ユーザ管理テーブル407は、MFP101におけるユーザの情報(例えば、ユーザ毎の設定値)を保持するデータテーブルであり、RAM213又はHDD214に記録される。
【0016】
またCPU211がROM212やHDD214に記憶された各種アプリケーションのプログラムを、RAM213に読み出し、解析、実行することで、各種アプリケーションの機能が実現される。以下、「アプリケーション」を「アプリ」と呼ぶ。本実施形態においてMFP101は、コピーアプリ410、プリントアプリ411、送信アプリ412、ファクスアプリ413、ウェブブラウザー414、及びアドレス帳アプリ415の機能を有する。
【0017】
コピーアプリ410は、コピー機能を提供するアプリである。プリントアプリ411は、留め置き印刷機能を提供するアプリである。プリントアプリ411は、ユーザPC103から受け取った印刷データをいったんHDD214に保存しておき、別途ユーザからの指示によって印刷を行う。送信アプリ412は、スキャンした画像データを送信する機能を提供するアプリである。送信先のひとつとしてファイルサーバ102のネットワークフォルダを指定することができる。ファクスアプリ413は、ファクス機能を提供するアプリである。ウェブブラウザー414は、ネットワークI/F218を介してLAN110上のウェブサーバ(不図示)にアクセスし、ウェブサーバが提供するウェブページを操作部219に表示するアプリである。アドレス帳アプリ415は、送信アプリ412の送信先となる宛先を管理するアプリである。コピーアプリ410、プリントアプリ411、送信アプリ412、ファクスアプリ413、ウェブブラウザー414、及びアドレス帳アプリ415は、MFP101が持つアプリの一例であり、増減してもよい。
【0018】
図5は本実施形態に係るボタン管理テーブル402の一例を示す図である。
図5に示す例では、一行(1レコード)が一つのボタンを定義するボタン情報を表し、ボタン情報511からボタン情報518までの8つのボタン情報が保持される。ボタン情報は、ボタンID501、ボタン名称502、呼び出しアプリ503、及び設定値504の情報を含む。ボタンID501は、ボタンを一意に識別するための識別子である。ボタン名称502は、メニュー画面でボタンに表示する名称であり、呼び出されたアプリにより実行されるジョブの内容を表す。呼び出しアプリ503には、ユーザによってボタンが選択された際に呼び出し対象となるアプリが設定される。設定値504には、アプリを呼び出す際にパラメータとして付与する設定値が設定される。特定のパラメータが付与されて呼び出されたアプリは、アプリの設定画面を表示したり、アプリが持つ機能(ジョブ)を実行したり、付与されたパラメータに従って処理を行う。
【0019】
ボタン情報511で定義されるボタンは、ボタンID501が「b001」であり、ボタン名称502が「白黒両面コピー」であり、呼び出しアプリ503が「コピーアプリ410」であり、設定値504が設定されている。
ボタン情報512で定義されるボタンは、ボタンID501が「b002」であり、ボタン名称502が「folderAへ送信」であり、呼び出しアプリ503が「送信アプリ412」であり、設定値504が設定されている。
ボタン情報513で定義されるボタンは、ボタンID501が「b003」であり、ボタン名称502が「プリント」であり、呼び出しアプリ503が「プリントアプリ411」であり、設定値504が設定されていない。
ボタン情報514で定義されるボタンは、ボタンID501が「b004」であり、ボタン名称502が「コピー」であり、呼び出しアプリ503が「コピーアプリ410」であり、設定値504が設定されていない。
ボタン情報515で定義されるボタンは、ボタンID501が「b005」であり、ボタン名称502が「ファクス」であり、呼び出しアプリ503が「ファクスアプリ413」であり、設定値504が設定されていない。
ボタン情報516で定義されるボタンは、ボタンID501が「b006」であり、ボタン名称502が「スキャンして送信」であり、呼び出しアプリ503が「送信アプリ412」であり、設定値504が設定されていない。
ボタン情報517で定義されるボタンは、ボタンID501が「b007」であり、ボタン名称502が「ウェブブラウザー」であり、呼び出しアプリ503が「ウェブブラウザー414」であり、設定値504が設定されていない。
ボタン情報518で定義されるボタンは、ボタンID501が「b008」であり、ボタン名称502が「アドレス帳」であり、呼び出しアプリ503が「アドレス帳アプリ415」であり、設定値504が設定されていない。
【0020】
以降の説明では、設定値504が設定されるボタン情報で定義されるボタン、もしくはデフォルトの設定値(例えば工場出荷時の設定値)から変更された設定値が設定されているボタンを、カスタムボタンという。
図5ではボタン情報511,512の2つのボタンがカスタムボタンである。ボタン管理部401は、MFP101の管理者又はユーザの指示により、カスタムボタンに対して任意の設定値を設定可能である。一方、設定値504が設定されていないボタン情報で定義されるボタン、デフォルトの設定値が紐付いたボタンを、アプリボタンという。
図5ではボタン情報513~518の6つのボタンがカスタムボタンである。アプリボタンが選択された場合、初期設定でアプリが呼び出される。以降の説明では、ボタンを特定する場合、ボタンID501を用いる。例えば、ボタン情報511で定義されるボタンは、b001ボタンと記載する。
【0021】
図6は本実施形態に係る操作履歴テーブル404の一例を示す図である。
図6に示す例では、一行(1レコード)が一回の操作に対応する操作履歴を表し、操作履歴611から操作履歴618までの8つの操作履歴が記録されている。操作履歴は、操作日時601、ユーザID602及び操作ボタンID603の情報を含む。従って操作履歴は、使用したボタンの使用履歴を表す。操作日時601は、ユーザが操作を行った時間情報である。ユーザID602は、操作したユーザであり、次に説明するユーザ管理テーブル407のユーザID701に対応付く。操作ボタンID603は、使用したボタンであり、ボタン管理テーブル402のボタンID501に対応付く。
【0022】
図7は本実施形態に係るユーザ管理テーブル407の一例を示す図である。
図7に示す例では、一行(1レコード)が一人のユーザを定義するユーザ情報を表し、ユーザ情報711からユーザ情報714の4つのユーザ情報が保持される。ユーザ情報は、ユーザID701、表示ボタン数702、及びボタン表示順703の情報を含む。ユーザID701は、ユーザを一意に識別するための識別子である。表示ボタン数702には、メニュー画面の1ページに表示するボタンの数(以降、表示ボタン数と呼ぶ)が設定される。ボタン表示順703には、メニュー画面に表示するボタンの順番(以降、ボタン表示順と呼ぶ)が設定される。以降の説明では、ユーザを特定する場合、ユーザID701を用いる。例えば、ユーザ情報711で定義されるユーザは、ユーザu001と記載する。
【0023】
図8a及び
図8bには、本実施形態に係るMFP101のメニュー画面の例を示す。MFP101はメニュー画面をMFP101の操作部219に表示する。
図8a及び
図8bに示すように、メニュー画面の1画面には設定されている表示ボタン数に応じた個数のボタンが配置される。
図8aは表示ボタン数が3の例である。
図8aのメニュー画面に表示される3個のボタン801~803の其々には、ボタン管理テーブル402で保持されるボタン情報のうちの3個が紐づけられている。ボタン801~803の何れが押下されると、MFP101はボタン管理テーブル402を参照して、押下されたボタンに対応するアプリを呼び出す。インジケータ804は、メニュー画面の総ページ数と現在表示しているページを示す。
図8aの例では、メニュー画面が3ページあり、現在1ページ目が表示されていることを示している。ユーザは画面を左右にフリックすることで表示するページを変更することができる。このようにMFP101は、表示対象の部品の個数が設定されている表示ボタン数を超える場合に、表示対象の部品を複数のページに分けて表示する。
【0024】
図8bは表示ボタン数が6の例である。
図8bのメニュー画面に表示される6個のボタン811~816の其々には、ボタン管理テーブル402で保持されるボタン情報のうちの6個が紐づけられている。ボタン811~816の何れかが押下されと、MFP101はボタン管理テーブル402を参照して、押下されたボタンに対応するアプリを呼び出す。インジケータ817は、
図8aのインジケータ804と同様である。
図8bの例では、メニュー画面が2ページあり、現在1ページ目が表示されていることを示している。
以上のようにMFP101は、設定されている表示ボタン数に応じて操作画面の1ページに表示する部品の個数を変更する。
【0025】
図9は本実施形態に係るメニュー画面表示処理を示すフローチャートである。メニュー画面表示処理は、MFP101がメニュー画面を操作部219に表示する処理である。MFP101のROM212やHDD214に記憶されたプログラムを、CPU211がRAM213に読み出し、解析、実行することで、
図9のフローチャートの各ステップが実行される。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。
S901で、メニュー表示部405は、メニュー画面の表示要求を受け取る。メニュー画面の表示要求元は、ユーザの操作であったり、システムの通知であったりする。例えばメニュー表示部405は、一定時間ユーザの操作がない場合にメニュー画面を表示する。
【0026】
次にS902で、メニュー表示部405は、現在MFP101にログインしているユーザ(以降、ログインユーザと呼ぶ)のユーザ情報を、ユーザ管理部406を通してユーザ管理テーブル407から取得する。なお本実施形態では、MFP101がユーザにログインされて使用されることを前提に説明を行うが、必ずしもログインが必要ではない。ログインが不要なMFP101の場合は、使用するユーザが一人、つまり常に同一のログインユーザとして処理を行えばよい。
【0027】
次にS903で、メニュー表示部405は、メニュー画面に表示するボタンのボタン情報を、ボタン管理部401を通してボタン管理テーブル402から取得する。本実施形態では、ボタン管理テーブル402が全ユーザ共通のため、ボタン管理テーブル402に保持されているすべてのボタン情報を読み込む。一方メニュー表示部405は、ユーザ毎に異なるボタンを表示してもよい。その場合には、ボタン管理テーブル402で保持されるボタン情報に、そのボタンを表示対象とするユーザの情報を追加すればよい。以降の説明では、S903で取得したボタン情報群を「ボタンリスト」と呼ぶ。
【0028】
次にS904で、メニュー表示部405は、ログインユーザに対する操作履歴を、操作履歴管理部403を通して操作履歴テーブル404から取得する。ここでメニュー表示部405は、操作履歴テーブル404に保持されるすべての操作履歴のうち、ユーザID602がログインユーザのユーザIDと一致している操作履歴を抽出する。この場合にメニュー表示部405は、所定の条件を満たす操作履歴のみを抽出してもよい。例えばメニュー表示部405は、所定期間内(過去1ヶ月以内等)に記録された操作履歴のみを抽出したり、直近の所定件数(直近100件等)の操作履歴のみを抽出したりしてもよい。
【0029】
次にS905で、メニュー表示部405は、S904で取得した操作履歴を用いてボタン毎の使用割合を算出する。ボタン毎の使用割合は、総使用回数におけるボタン毎の使用回数の割合を表す。具体的にはメニュー表示部405は、操作履歴の件数をボタン毎にカウントし、カウントした件数を操作履歴の総件数で除算することにより、ボタン毎の使用割合を得る。以降、使用割合の算出結果が、b001ボタンは40%、b002ボタンは30%、b003ボタンは5%、b004ボタンは20%、b005ボタンは5%、それ以外のボタンは0%だった場合を例に説明を行う。
【0030】
S906からS910の処理は、ボタンリストに含まれるボタン毎の繰り返し処理である。ここでメニュー表示部405は、ボタンリストをS905で算出した使用割合の高い順(降順)に並び替えて、先頭のボタンから順に1件ずつ処理を行う。以降の説明において、処理の対象となっているボタンを「対象ボタン」と呼ぶ。
まずS907で、メニュー表示部405は、現在の対象ボタンをメニュー画面において優先的に表示するボタン(以降、優先表示ボタンと呼ぶ)としてRAM213に記録する。優先表示ボタンは、操作画面の1ページ目に優先的に表示する部品(優先表示オブジェクト)を意味する。即ちMFP101は使用割合の高い順に優先部品を決定する。次にS908で、メニュー表示部405は、処理した対象ボタンの使用割合の累積を算出する。具体的にはメニュー表示部405は、前回までの処理で対象としたボタンの使用割合の合算値に、今回の対象ボタンの使用割合を加算する。即ちMFP101は、部品毎の使用割合を高い順に加算していく。例えば、対象ボタンがb004ボタンの場合、累積の算出対象となるボタンはb001ボタン(使用割合40%)、b002ボタン(使用割合30%)、b004ボタン(使用割合20%)となるため、使用割合の累積は90%となる。
【0031】
次にS909で、メニュー表示部405は、S908で算出した使用割合の累積が閾値(第一の閾値)を超えているか否かを判定する。メニュー表示部405は使用割合の累積が閾値を超えていると判定した場合、繰り返し処理を終了してS911へ処理を進め、そうでない場合はS910へ処理を進める。閾値は固定の値でもよいし、設定可能な任意の値でもよい。ここでは閾値が80%であるとして説明を行う。例えば、対象ボタンがb002ボタンの場合は、使用割合の累積が70%なので閾値を超えていないと判定される。その後ボタンリストにおける次のボタン(b004ボタン)が対象ボタンとなって処理が行われる。この場合には、使用割合の累積が90%なので閾値を超えていると判定される。
次にS910で、メニュー表示部405は、繰り返し処理を終了するか否かを判定する。ボタンリストのすべてのボタンに対して処理し終えた場合は、メニュー表示部405は繰り返し処理を終了してS911へ処理を進める。ボタンリストに未処理のボタンがある場合は、メニュー表示部405はS907へ処理を進め、ボタンリストにおける次のボタンを対象ボタンにして繰り返し処理を続行する。
【0032】
続いてS911で、メニュー表示部405は、S907で優先表示ボタンとして記録されたボタンの数を、表示ボタン数として仮設定する。即ちMFP101は、部品毎の使用割合を高い順に加算して得られた累積が閾値を超えた場合に、加算の対象とした部品の数を表示ボタン数として保持する。なおここでは仮設定のため、まだメニュー画面に実際に表示するボタン数としては適用されていない。
次にS912で、メニュー表示部405は、仮設定した表示ボタン数が、S902で取得したログインユーザの表示ボタン数の設定と異なるか否かを判定する。メニュー表示部405は表示ボタン数が異なると判定した場合はS913へ処理を進め、そうでない場合はS919へ処理を進める。
S913で、メニュー表示部405は、表示ボタン数の変更を許可するか否かをユーザに尋ねるための確認ダイアログ(不図示)を操作部219に表示する。次にS914で、メニュー表示部405は、確認ダイアログに対するユーザの選択を受け付ける。
【0033】
続いてS915で、メニュー表示部405は、S914で受け付けたユーザの選択が、表示ボタン数の変更を許可するものであるか否かを判定する。メニュー表示部405は変更を許可するものであると判定した場合はS916へ処理を進め、変更を許可しないものであると判定した場合は表示ボタン数を変更せずにS919へ処理を進める。
S916で、メニュー表示部405は、表示ボタン数をS911で仮設定した値で決定し、ユーザ管理部406を通してログインユーザの表示ボタン数702を決定した値で更新する。以上のようにMFP101は、表示ボタン数の変更可否をユーザに問い合わせ、問い合わせの結果が変更を許可するものであった場合にのみ、表示ボタン数を変更する。
【0034】
次にS917で、メニュー表示部405は、優先表示ボタンがすべてメニュー画面の1ページ目に表示されるか否かを判定する。具体的にはメニュー表示部405は、ログインユーザのボタン表示順703で設定されているボタンの並びの上位から表示ボタン数702の値と同数のボタンを抽出して、抽出したボタンに優先表示ボタンがすべて含まれているか否かを判定する。メニュー表示部405は優先表示ボタンがすべて1ページ目に表示されると判定した場合はS919へ処理を進め、そうでない場合はS918へ処理を進める。
【0035】
S918で、メニュー表示部405は、メニュー画面に表示するボタンの並びを使用割合の高い順に並び替えたボタンリストの並びで決定し、ユーザ管理部406を通してログインユーザのボタン表示順703を決定した並びにして更新する。即ちMFP101は、メニュー画面の1ページ目にすべての優先部品が表示されるように、部品の表示順を変更する。
次にS919で、メニュー表示部405は、1ページに表示するボタンの数をユーザ管理テーブル407の表示ボタン数702の値とし、ボタンの並び順をボタン表示順703の並びとして、メニュー画面を表示する。その際メニュー表示部405は、メニュー画面に表示するボタンの大きさや配置を、表示ボタン数に応じて調整する。またメニュー表示部405は、ボタン表示順703に含まれるボタンの数と表示ボタン数702の値から総ページ数を算出して、ボタンを複数ページに分割して表示する。その後
図9の一連の処理が終了する。
【0036】
図10は本実施形態に係る操作履歴記録処理を示すフローチャートである。
図10に示す操作履歴記録処理は、MFP101が
図9のフローチャートでメニュー画面を表示した後、メニュー画面に対するユーザの操作を受けて、操作履歴テーブル404に操作履歴を記録する処理である。MFP101のROM212やHDD214に記憶されたプログラムを、CPU211がRAM213に読み出し、解析、実行することで、
図10のフローチャートの各ステップが実行される。
S1001で、メニュー表示部405は、メニュー画面に対するユーザの操作を検知する。次にS1002で、メニュー表示部405は、S1001で検知したユーザ操作がボタンの押下にあたるか否かを判定する。メニュー表示部405は、ユーザ操作がボタンの押下であると判定した場合S1003へ処理を進め、そうでない場合はS1010へ処理を進める。以降の説明において、S1001でユーザが押下したボタンを「押下ボタン」と呼ぶ。
【0037】
S1003で、メニュー表示部405は、押下ボタンに紐づけられたボタンID501のボタン情報をボタン管理テーブル402から取得する。
次にS1004で、操作履歴管理部403は、操作履歴テーブル404に操作履歴を記録する。操作履歴管理部403は、操作日時601にはシステム時間を、ユーザID602には操作したユーザ(ログインユーザ)のユーザIDを、操作ボタンID603には押下ボタンに紐づけられたボタンID501を記録する。
次にS1005で、メニュー表示部405は、ボタン管理テーブル402を参照して押下ボタンに対応する呼び出しアプリ503のアプリを呼び出す処理を行う。呼び出されたアプリは、アプリの設定画面を操作部219に表示したり、ジョブを実行したりする。その後
図10の一連の処理が終了する。
【0038】
一方S1002でメニュー表示部405が、ユーザ操作がボタンの押下ではないと判定した場合は、S1010でメニュー表示部405は、S1001で検知したユーザ操作がフリック操作であるか否かを判定する。メニュー表示部405は、ユーザ操作がフリック操作であると判定した場合はS1011へ処理を進め、そうでない場合はS1001へ戻り次のユーザ操作を待ち受ける。
S1011で、メニュー表示部405は、フリック操作に対応して表示するページがあるか否かを判定する。具体的にはメニュー表示部405は、最初のページを表示中に前のページを表示するフリック操作を検知した場合、表示するページがないと判定する。またメニュー表示部405は、最後のページを表示中に次のページを表示するフリック操作を検知した場合、表示するページがないと判定する。メニュー表示部405はフリック操作に対応して表示するページがあると判定した場合はS1012へ処理を進め、そうでない場合はS1001へ戻り次のユーザ操作を待ち受ける。
S1012で、メニュー表示部405は、フリック操作に応じて表示するページを変更する。その後メニュー表示部405は、S1001へ戻り次のユーザ操作を待ち受ける。
【0039】
以上のような第1の実施形態によれば、情報処理装置はユーザの操作履歴に基づいてメニュー画面を表示する。メニュー画面を表示する際に、情報処理装置はユーザの操作履歴に基づいて1ページに表示するボタンの表示数や優先表示するボタンを決定する。また情報処理装置は、1ページ目に優先表示するボタンがない場合にボタンの表示順を変更して1ページ目に必要なボタンが表示されるようにする。ユーザが所望するボタンが1ページ目に表示されるので、ユーザは、所望のボタンを選択するためにページを切り替える必要がなくなり、1ページ目に使用確率の低いボタンは表示されなくなるため画面が煩雑になることもない。つまり、ユーザがよく使うボタンが適切な数でメニュー画面の1ページ目に表示されるため、ユーザの利便性が向上する。
【0040】
なお
図9で、MFP101はボタン毎の使用割合に基づいてメニュー画面に表示するボタンの表示数や優先表示するボタンを決定していたが、このような構成に限定されない。MFP101がメニュー画面に対して行われた操作の対象、回数、時間、方法等に基づいてメニュー画面に表示するボタンの表示数や優先表示するボタンを決定する構成であれば、様々な形態を取りうる。
【0041】
また
図10で、MFP101は操作履歴として操作日時601を記録していたが、各ボタンの使用回数をユーザ毎にカウントする構成であってもよい。この場合MFP101は、ログインユーザの各ボタンのカウント値を用いて使用割合を算出することができる。
【0042】
<第2の実施形態>
第2の実施形態では、ボタンの使用割合の算出方法、優先表示ボタンの決定方法、及び表示ボタン数が変更になった場合の確認方法が、第1の実施形態とは異なる実施形態について説明する。MFP101がボタンの使用割合を算出する際に、第1の実施形態では、単純に総使用回数に対するボタン毎の使用回数の割合を算出していたが、第2の実施形態では、時系列で重みをつけて使用割合を算出する。またMFP101が優先表示ボタンを決定する際に、第1の実施形態では、使用割合の累積を用いていたが、第2の実施形態では、個々のボタンの使用割合を用いる。更にMFP101が表示ボタン数の変更許可をユーザに尋ねるための確認ダイアログを表示するタイミングは、第2の実施形態では、変更後のメニュー画面を表示した後にする。第2の実施形態は、第1の実施形態を変形したものであるため、差分のみを説明する。
【0043】
図11は本実施形態に係るメニュー画面表示処理を示すフローチャートである。
図11は
図9を変形したフローチャートである。
図11では、
図9のS902とS903の処理の間に、S1101の処理を実行する。また
図11では、
図9のS905~S911の処理に代えて、S1110~S1115の処理を実行する。更に
図11では、
図9のS912~S916の処理に代えて、S1120~S1125の処理を実行する。また
図11では、
図9のS917~S919の処理を、S1115とS1120の処理の間に実行する。以下、
図9との差分を中心に説明する。
【0044】
S1101で、メニュー表示部405は、S902で取得したログインユーザのユーザ情報をバックアップとしてRAM213に複製しておく。以降、複製した情報を「バックアップ情報」と呼ぶ。
S1110で、メニュー表示部405は、S904で取得した操作履歴を用いて、ボタン毎の使用割合を時系列の重みをつけて算出する。具体的にはメニュー表示部405は、各操作履歴に対して、その操作日時601に応じた重み(係数)を乗じる。この重みは、直近を1として、過去になるにつれて減少させることで、最近行った操作ほど使用割合に与える影響が大きくなるようにする。またメニュー表示部405は、最後にボタンの使用割合の総和が100%になるように調整を行う。
【0045】
S1111からS1114は、ボタンリストに含まれるボタン毎の繰り返し処理である。以降の説明において、処理の対象となっているボタンを「対象ボタン」と呼ぶ。第2の実施形態では、第1の実施形態のようにボタンリストを並び替える必要はない。
まずS1112で、メニュー表示部405は、対象ボタンの使用割合が閾値(第二の閾値)を超えているか否かを判定する。メニュー表示部405は使用割合が閾値を超えていると判定した場合、S1113へ処理を進め、そうでない場合はS1114へ処理を進める。閾値は固定の値(例えば10%)でもよいし、設定可能な任意の値でもよい。S1113で、メニュー表示部405は、対象ボタンを優先表示ボタンとしてRAM213に記録する。
【0046】
次にS1114で、メニュー表示部405は、繰り返し処理を終了するか否かを判定する。ボタンリストのすべてのボタンに対して処理し終えた場合は、メニュー表示部405は繰り返し処理を終了してS1115へ処理を進める。ボタンリストに未処理のボタンがある場合は、メニュー表示部405はS1111へ処理を進め、ボタンリストにおける次のボタンを対象ボタンにして繰り返し処理を続行する。
続いてS1115で、メニュー表示部405は、S1113で優先表示ボタンとして記録されたボタンの数を、表示ボタン数として決定する。即ちMFP101は、使用割合が閾値を超えた部品の数を表示ボタン数として保持する。次にメニュー表示部405は、ユーザ管理部406を通してユーザ管理テーブル407の表示ボタン数702を更新する。第2の実施形態では、ユーザに変更可否を問い合わせる前に表示ボタン数が決定される。従って変更後の画面を実際にユーザに提示することが可能である。
【0047】
S1120で、メニュー表示部405は、ユーザ管理テーブル407の表示ボタン数702がバックアップ情報の表示ボタン数と異なるか否かを判定する。メニュー表示部405は表示ボタン数が異なると判定した場合はS1121へ処理を進め、そうでない場合は
図11の一連の処理を終了する。
S1121で、メニュー表示部405は、変更後の表示ボタン数を用いるか、変更前に戻すかをユーザに尋ねるための確認ダイアログ(不図示)を操作部219に表示する。次にS1122で、メニュー表示部405は、確認ダイアログに対するユーザの選択を受け付ける。第2の実施形態では、変更後の画面がユーザに提示されるため、変更可否をユーザが意思決定しやすくなる。
【0048】
続いてS1123で、メニュー表示部405は、S1121で受け付けたユーザの選択が変更後の表示ボタン数を用いる選択だった場合は、
図11の一連の処理を終了する。変更後の表示ボタン数を用いる選択ではなかった場合は、処理はS1124へ進む。
S1124で、メニュー表示部405は、表示ボタン数及びボタン表示順の設定を
図11のフローチャートの開始時点の値に戻す。具体的にはメニュー表示部405は、ユーザ管理部406を通してユーザ管理テーブル407の表示ボタン数702及びボタン表示順703の値をバックアップ情報の値で更新する。次にS1125で、メニュー表示部405は、S1124で更新した表示ボタン数及びボタン表示順を用いてメニュー画面を更新する。即ちメニュー画面が変更前の状態に戻る。
【0049】
以上のような第2の実施形態によれば、ユーザが最近よく使うボタンが適切な数でメニュー画面の1ページ目に表示されるため、ユーザの利便性が向上する。
【0050】
<第3の実施形態>
第3の実施形態では、カスタムボタンが新規に追加された場合に、それまでに実行したジョブの設定値を基に使用割合を算出する実施形態について説明する。追加されたカスタムボタンの操作履歴は操作履歴テーブル404には記録されていないため、そのままでは優先表示ボタンにはならない。しかし、追加されたカスタムボタンと同じ設定値でこれまで何度も繰り返しジョブを実行していた場合、優先表示ボタンとしてメニュー画面の1ページ目に表示した方がユーザの利便性が向上する。また第1の実施形態では、優先表示ボタンを決定する際に、使用割合の累積を用いていたが、第3の実施形態では、ボタン毎の相対的な使用割合を用いる。更に第3の実施形態では、表示ボタン数の下限値及び上限値が設けられている。また第3の実施形態では、表示ボタン数の設定が予め定められた値(例えば3、6、9、12)から選択するように構成されている場合の処理を追加している。第3の実施形態は、第1の実施形態を変形したものであるため、差分のみを説明する。
【0051】
図12は本実施形態に係るボタン管理テーブル402の一例を示す図である。
図12では、
図5のボタン管理テーブル402で保持される8個のボタン情報511~518に、2個のボタン情報1201,1202が追加されている。
ボタン情報1201で定義されるボタンは、ボタンID501が「b009」であり、ボタン名称502が「カラー両面コピー」であり、呼び出しアプリ503が「コピーアプリ410」であり、設定値504が設定されている。
ボタン情報1202で定義されるボタンは、ボタンID501が「b010」であり、ボタン名称502が「folderCへ送信」であり、呼び出しアプリ503が「送信アプリ412」であり、設定値504が設定されている。ボタン情報1201,1202で定義されるボタンは何れもカスタムボタンである。
【0052】
図13は本実施形態に係る操作履歴テーブル404の一例を示す。
図13は
図6を変形したデータテーブルであるため、
図6との差分のみ説明する。
図13に示す例では、操作履歴1311から操作履歴1318までの8つの操作履歴が記録されている。操作履歴は、操作日時601、ユーザID602及び操作ボタンID603の情報に加えて、呼び出しアプリ1301及び設定値1303の情報を含む。呼び出しアプリ1301には、ボタン押下によって呼び出したアプリが記録される。設定値1302には、呼び出したアプリで実行したジョブの設定値が記録される。
【0053】
図14は本実施形態に係るメニュー画面表示処理を示すフローチャートである。
図14は
図9を変形したフローチャートである。
図14では、
図9のS904とS905の処理の間に、S1401の処理を実行する。また
図14では、
図9のS908~S909の処理に代えて、S1410~S1411の処理を実行する。更に
図14では、
図9のS911の処理に代えて、S1420~S1422の処理を実行する。以下、
図9との差分を中心に説明する。
【0054】
S1401で、メニュー表示部405は、操作履歴管理部403を通して、操作履歴テーブル404の操作ボタンID603を、同一の呼び出しアプリ及び同一の設定値が設定されるボタンのボタンIDに更新する。この場合にメニュー表示部405は、S903で取得したボタン情報に設定される呼び出しアプリ503及び設定値504と、S904で取得した操作履歴に記録される呼び出しアプリ1301及び設定値1302とを比較することにより同一か否かを判断する。例えば
図12のボタン管理テーブル402、及び
図13の操作履歴テーブル404を例にすると、操作履歴1313と操作履歴1316の操作ボタンID603は、「b004」から「b009」に更新される。また、操作履歴1315と操作履歴1318の操作ボタンID603は、「b006」から「b010」に更新される。即ちMFP101は、部品に対する設定内容と操作履歴とを比較し、操作履歴に記録される呼び出しアプリ1301及び設定値1302が、部品の呼び出しアプリ503及び設定値504と同一であるかを判定する。判定の結果同一の場合には、MFP101は比較対象とした操作履歴を、比較対象とした部品を使用したことを表す操作履歴として扱う。これにより、新たに追加されたカスタムボタン(ボタン情報1201,1202)と同じアプリを同じ設定値で実行した際の操作履歴を、そのカスタムボタンの操作履歴であると遡って判断することができる。これにより、新たに追加されたカスタムボタンについても優先表示の対象となり得る。
【0055】
S1410で、メニュー表示部405は、優先表示ボタンの数が下限値以上であるか否かを判定する。下限値は固定の値(例えば3)でもよいし、設定可能な任意の値でもよい。メニュー表示部405は優先表示ボタンの数が下限値以上であると判定した場合はS1411へ処理を進め、そうでない場合はS910へ処理を進める。即ちMFP101は、表示ボタン数が予め決められた下限値を下回らないように調整する。
【0056】
S1411で、メニュー表示部405は、対象ボタンの使用割合が前回の処理で対象としたボタンの使用割合と比較して大幅に低下しているか否かを判定する。大幅に低下していると判定する基準は、固定の閾値以上低下(例えば半分以上低下)としてもよいし、設定可能な任意の閾値以上低下としてもよい。メニュー表示部405は使用割合が大幅に低下していると判定した場合は繰り返し処理を終了してS1420へ処理を進め、そうでない場合はS910へ処理を進める。即ちMFP101は、ボタンを使用割合が高い順に並べた際に、前後に並ぶ2つのボタンを先頭から順次対象とする。そしてMFP101は、対象とした2つのボタンのうち後のボタンの使用割合が前のボタンの使用割合と比較して閾値(第三の閾値)以上低下している場合に、先頭のボタンから対象とした2つのボタンのうちの前のボタンまでを優先表示ボタンとする。これにより複数のボタン同士の相対的な使用割合により優先表示ボタンが決定されるようになる。
【0057】
S1420で、メニュー表示部405は、優先表示ボタンの数が上限値を超えるか否かを判定する。上限値は固定の値(例えば12)でもよいし、設定可能な任意の値でもよい。メニュー表示部405は優先表示ボタンの数が上限値を超えると判定した場合S1421へ処理を進め、そうでない場合はS1422へ処理を進める。即ちMFP101は、表示ボタン数が予め決められた上限値を上回らないよう調整にする。
S1421でメニュー表示部405は、表示ボタン数を設定可能な最大値に仮設定する。その後処理はS912へ進む。
【0058】
S1422でメニュー表示部405は、表示ボタン数を優先表示ボタンの数の値以上、かつ、表示ボタン数として選択可能な値の中で最も小さな値に仮設定する。例えば表示ボタン数として選択可能な値が3、6、9、12であって、優先表示ボタンの数が4の場合、4以上であって選択可能な値のうちの最小の値である6を表示ボタン数として仮設定する。このように表示ボタン数として設定可能な値が予め決められた数値群から選択する構成では、優先表示ボタンの数をそのまま表示ボタン数とすることができない。そこでMFP101は、優先表示ボタンの数の値以上であって、かつ、予め決められた数値群の中での最も小さな値を選択して、表示ボタン数とする。その後処理はS912へ進む。
【0059】
図15は本実施形態に係る操作履歴記録処理を示すフローチャートである。
図15に示す操作履歴記録処理は、
図14のフローチャートでメニュー画面を表示した後、メニュー画面及びアプリに対するユーザの操作を受けて、操作履歴テーブル404に操作履歴を記録する処理を記載している。
図15は
図10を変形したフローチャートである。
図15では、
図10のS1004の処理に代えて、S1501の処理を実行する。また
図15では、
図10のS1005の処理の後に、S1510~S1511の処理を実行する。以下、
図10との差分を中心に説明する。
【0060】
S1501で、操作履歴管理部403は、操作履歴テーブル404に操作履歴を記録する。操作履歴管理部403は、操作日時601にはシステム時間を、ユーザID602には操作したユーザ(ログインユーザ)のユーザIDを、操作ボタンID603には押下ボタンに紐づけられたボタンID501を記録する。また操作履歴管理部403は、呼び出しアプリ1301には押下ボタンに対応する呼び出しアプリを記録する。なお本ステップでは設定値1302には何も記録されない。
【0061】
S1510で、操作履歴管理部403は、S1005で呼び出されたアプリがジョブを実行するのを待ち受ける。操作履歴管理部403は、アプリがジョブを実行したことを検知した場合、S1511へ処理を進める。S1511で、操作履歴管理部403は、S1501で記録した操作履歴テーブル404の操作履歴を更新する。具体的には操作履歴管理部403は、設定値1302に実行されたジョブの設定値を記録する。
【0062】
以上のような第3の実施形態によれば、ユーザがよく使うボタンを適切な数でメニュー画面の1ページ目に表示することができる。また、新規に追加されたカスタムボタンと同じ設定値でこれまで何度も繰り返しジョブを実行していた場合には、追加されたカスタムボタンもメニュー画面の1ページ目に表示されるため、ユーザの利便性が向上する。
【0063】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0064】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0065】
101:MFP、210:制御部、211:CPU、219:操作部