(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024180639
(43)【公開日】2024-12-26
(54)【発明の名称】情報処理装置、その制御方法、プログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20241219BHJP
G03G 21/00 20060101ALI20241219BHJP
【FI】
H04N1/00 350
G03G21/00 386
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2024182303
(22)【出願日】2024-10-17
(62)【分割の表示】P 2020048200の分割
【原出願日】2020-03-18
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】吉田 廣義
(57)【要約】
【課題】 ボタンをレコメンド表示する場合の精度を高める。
【解決手段】 複数のボタンを含む操作画面を表示する画像形成装置であって、前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記複数のボタンのうち前記画像形成装置が原稿をスキャンするための状態で使用された第1のボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
複数のボタンを含む操作画面を表示する画像形成装置であって、
前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記複数のボタンのうち前記画像形成装置が原稿をスキャンするための状態で使用された第1のボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示する
ことを特徴とする画像形成装置。
【請求項2】
前記画像形成装置が原稿をスキャンするための状態とは、前記画像形成装置のスキャナに原稿が載置された状態である
請求項1に記載の画像形成装置。
【請求項3】
前記画像形成装置のスキャナに原稿が載置された状態で使用される前記複数のボタンのそれぞれの使用回数を記憶する
ことを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
前記画像形成装置のスキャナに原稿が載置された状態で使用される前記複数のボタンのそれぞれの使用回数を、前記画像形成装置にログイン中のユーザ情報に対応して記憶する
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像形成装置。
【請求項5】
前記画像形成装置が、印刷していないジョブを有する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記ジョブを印刷するためのボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンよりも上位の順番となるように前記ジョブを印刷するためのボタンを表示する
ことを特徴とする請求項1乃至4のいずれか一項に記載の画像形成装置。
【請求項6】
前記操作画面において新たなボタンが登録された場合、前記新たなボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンよりも上位の順番となるように前記新たなボタンを表示する
ことを特徴とする請求項1乃至5のいずれか一項に記載の画像形成装置。
【請求項7】
前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記第2のボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンと前記第2のボタンが同一ページに表示される場合、前記第1のボタンと前記第2のボタンの順番が変化しないように表示する
ことを特徴とする請求項1乃至6のいずれか一項に記載の画像形成装置。
【請求項8】
複数のボタンを含む操作画面を表示する画像形成装置であって、
前記画像形成装置が、印刷していないジョブを有する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記画像形成装置が印刷していないジョブを有する状態で使用された第1のボタンが、前記画像形成装置が印刷していないジョブを有する状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示する
ことを特徴とする画像形成装置。
【請求項9】
前記画像形成装置が印刷していないジョブを有する状態で使用される前記複数のボタンのそれぞれの使用回数を記憶する
ことを特徴とする請求項8に記載の画像形成装置。
【請求項10】
前記画像形成装置が印刷していないジョブを有する状態で使用される前記複数のボタンのそれぞれの使用回数を、前記画像形成装置にログイン中のユーザ情報に対応して記憶する
ことを特徴とする請求項8または9に記載の画像形成装置。
【請求項11】
前記画像形成装置が印刷していないジョブを有する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記ジョブを印刷するためのボタンが、前記画像形成装置が印刷していないジョブを有する状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンよりも上位の順番となるように前記ジョブを印刷するためのボタンを表示する
ことを特徴とする請求項8乃至10のいずれか一項に記載の画像形成装置。
【請求項12】
前記操作画面において新たなボタンが登録された場合、前記新たなボタンが、前記画像形成装置が印刷していないジョブを有する状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンよりも上位の順番となるように前記新たなボタンを表示する
ことを特徴とする請求項8乃至11のいずれか一項に記載の画像形成装置。
【請求項13】
前記画像形成装置が印刷していないジョブを有する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記第2のボタンが、前記画像形成装置が印刷していないジョブを有する状態で使用された回数が前記第1のボタンよりも少ない場合であっても、前記第1のボタンと前記第2のボタンが同一ページに表示される場合、前記第1のボタンと前記第2のボタンの順番が変化しないように表示する
ことを特徴とする請求項8乃至12のいずれか一項に記載の画像形成装置。
【請求項14】
複数のボタンを含む操作画面を表示する画像形成装置であって、
前記画像形成装置が、原稿をスキャンすることに関する状態であり、かつ印刷していないジョブを有する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ印刷していないジョブを有する状態で使用された第1のボタンが、前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ印刷していないジョブを有する状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示する
ことを特徴とする画像形成装置。
【請求項15】
複数のボタンを含む操作画面を表示する画像形成装置の制御方法であって、
前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記複数のボタンのうち前記画像形成装置が原稿をスキャンするための状態で使用された第1のボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示する
ことを特徴とする制御方法。
【請求項16】
請求項1から14のいずれか1項に記載の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、その制御方法、プログラムに関する。
【背景技術】
【0002】
近年、オフィスに設置される画像形成装置(例えばMFP)は、画面を備えるものが一般的になってきている。画面には設定を変更するボタン等が複数表示される。例えばメニュー画面には、MFPにインストールされている複数のアプリケーション(以下、「アプリ」と呼ぶ)に対応するボタンが一覧表示される。ユーザーはこれらのボタンを押下することで、アプリを初期設定で呼び出したり、特定の設定を伴ってアプリを呼び出したり、ボタン押下のタイミングでアプリの処理を実行させたりすることができる。
【0003】
ここでは、前述の初期設定でアプリを呼び出すボタンをアプリボタン、特定の設定を伴ってアプリを起動するボタンをカスタムボタン、ボタン押下のタイミングで処理を実行するボタンを即実行ボタンと呼ぶことにする。カスタムボタンや即実行ボタンはユーザーによる登録も可能である。
【0004】
このようにメニュー画面には数多くのボタンが配置されることになり、ユーザーは多数のボタンの中から所望のボタンを選択しなければならないため操作性が低下していた。そのため、特許文献1に示すようにユーザーの使用回数が多い順にボタンを並べてレコメンド表示することで、ユーザーが所望するボタンを見つけやすくする方法が有る。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ユーザーが所望するボタンは状況に応じて変わるため、従来の技術のように使用回数が多いボタンを一様にレコメンド表示しても、ユーザーに対して精度よくボタンをレコメンドできない可能性が有る。本発明の目的は、ユーザーにボタンをレコメンドする場合の精度を高めることである。
【課題を解決するための手段】
【0007】
複数のボタンを含む操作画面を表示する画像形成装置であって、前記画像形成装置が原稿をスキャンすることに関する状態であり、かつ前記画像形成装置の前記操作画面に対する表示要求を受け付けた場合、前記複数のボタンのうち前記画像形成装置が原稿をスキャンするための状態で使用された第1のボタンが、前記画像形成装置が原稿をスキャンするための状態で使用された回数が前記第1のボタンよりも少ない第2のボタンよりも上位の順番となるように表示することを特徴とする画像形成装置。
【発明の効果】
【0008】
本開示によれば、ボタンをレコメンド表示する場合の精度を高めることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態における情報処理システムの構成を示す図である。
【
図2】本発明の実施形態におけるMFPのハードウェア構成を示すブロック図である。
【
図3】本発明の実施形態におけるファイルサーバおよびユーザーPCのハードウェア構成を示すブロック図である。
【
図4】本発明の実施形態におけるMFPのソフトウェア構成を示すブロック図である。
【
図5】本発明の実施形態におけるボタン情報テーブルの例である。
【
図6-1】本発明の実施形態におけるメニュー画面の例である。
【
図6-2】本発明の実施形態におけるメニュー画面の例である。
【
図7】本発明の実施形態におけるMFPの一連の処理の流れを示したシーケンス図である。
【
図8】本発明の実施形態におけるMFPの処理を示すフローチャートである。
【
図9】本発明の実施形態におけるMFPの処理を示すフローチャートである。
【
図10】本発明の本実施例にかかる利用ポイント管理テーブルの例である。
【
図11】本発明の利用ポイント管理テーブルの更新処理のフロー図である。
【
図12】本発明の第2の実施例におけるMFPの処理を示すフローチャートである。
【
図13】本発明の第2の実施例における利用ポイント管理テーブルの例である。
【
図14】本発明の第2の実施例におけるメニュー画面の例である。
【
図15】本発明の第3の実施例における利用ポイント管理テーブルの例である。
【
図16】本発明の第3の実施例におけるMFPの処理を示すフローチャートである。
【
図17】本発明の第3の実施例におけるボタン情報テーブルの例である。
【
図18】本発明の第3の実施例におけるメニュー画面の例である。
【
図19】本発明の第4の実施例におけるMFPの処理を示すフローチャートである。
【
図20】本発明の第4の実施例における利用ポイント管理テーブルの例である。
【
図21】本発明の第5の実施例におけるMFPの処理を示すフローチャートである。
【
図22】本発明の実施形態におけるアプリケーション設定画面の例である。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための最良の形態について図面を用いて説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0011】
(第1の実施形態)
図1は、本実施形態の情報処理システムのシステム構成の一例を示す図である。本システムは、LAN(Local Area Network)110を介して接続されるMFP101、ファイルサーバ102、ユーザーPC103から構成される。LAN110上の装置は、相互に通信可能である。
図1は典型的なネットワーク構成の例であり、各装置がLAN110ではなくWAN(Wide Area Network 不図示)に接続されていても構わない。また各装置の数は一台とは限らず、台数が増減してもよい。
【0012】
MFP101は、スキャナ、プリンタ機能を有する画像形成装置の一例である。ファイルサーバ102は、MFP101およびユーザーPC103からアクセスできるネットワークフォルダを有するサーバであり、MFP101がスキャンした画像データの送信先となりうる。ユーザーPC103は、情報処理装置の一例であってPCに限らず、スマートフォン等のモバイル端末であっても良い。ユーザーPC103は、ユーザーが業務を行うために使用するPCであり、ユーザーの操作により、プリンタドライバ等を用いて印刷データをMFP101に送信することができる。
【0013】
図2は、MFP101のハードウェア構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212やHDD214に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや各種プログラムを記憶する。
【0014】
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する操作画面を提供する液晶表示部やキーボードなどが備えられている。プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の他の装置との間で各種情報を送受信する。
【0015】
図3は、ファイルサーバ102およびユーザーPC103のハードウェア構成を示すブロック図である。CPU311を含む制御部310は、装置全体の動作を制御する。CPU311は、ROM312やHDD314に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、各種のプログラムやデータを記憶する。表示部I/F315は、表示部318と制御部310とを接続する。キーボードI/F316は、キーボード319と制御部310とを接続する。CPU311は、キーボード319を介したユーザーからの指示を認識し、認識した指示に応じて表示部318に表示する画面を遷移させる。ネットワークI/F317は、制御部310をLAN110に接続する。ネットワークI/F317は、LAN110上の他の装置との間で各種情報を送受信する。
【0016】
図4は、本実施形態のMFP101におけるソフトウェア構成図である。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、実行することで、後述の処理が実行される。
【0017】
ボタン管理部401は、MFP101のメニュー画面を含む操作画面に表示するボタンを管理する。ボタン情報テーブル402は、MFP101のメニュー画面に表示するボタンの情報を保持するテーブルであり、RAM213またはHDD214に記録される。メニュー表示部403は、操作部219にボタンが並んだメニュー画面を表示する。メニュー表示部403は、ボタン情報テーブル402が保持しているボタン情報を基にメニュー画面を表示する。コピーアプリケーション(アプリ)404は、コピー機能を提供するアプリケーションである。プリントアプリ405は、印刷機能を提供するアプリケーションである。プリントアプリ405は、ユーザー指示でPC103等の外部装置から送信された印刷ジョブを、受信したタイミングで印刷するのではなく、いったんHDD214に保存しておく。そして、別途ユーザーからMFP101上で指示を受け付けることによって、印刷処理を行う機能(以降、留め置き印刷と呼ぶ)を有する。送信アプリ406は、スキャンした画像データを送信する機能を提供するアプリケーションである。送信先のひとつとしてファイルサーバ102のネットワークフォルダを指定することができる。ファクスアプリ407は、ファクス機能を提供するアプリケーションである。404から407のアプリケーションは一例であり、これに限らない。MFP101は、他のアプリケーションがインストールされていても良い。ユーザー認証部409は、MFP101を使用するユーザーを特定、認証する。
【0018】
利用ポイント管理テーブル408はメニュー画面に表示されたボタンの利用頻度に基づく利用ポイントをユーザーごと、MFP101の状態ごとに管理する。ここでMFP101の状態とは、例えばMFP101が未プリントの印刷ジョブ(留め置き印刷ジョブ)を保持している状態、MFP101のスキャナに原稿が載置されている状態、MFP101が未プリントの印刷ジョブを保持し尚且つスキャナに原稿が載置されている状態、初期状態(留め置き印刷ジョブを保持していない尚且つスキャナに原稿が載置されていない)等を指す。このようなMFP101の状態に応じて、ユーザーが所望するボタンは変わる。例えば、MFP101のスキャナに原稿が載置されている状態であれば、ユーザーは原稿をスキャンする処理に基づくアプリボタンを所望する可能性が高い。
【0019】
本実施形態では、MFP101の状態毎にボタンの使用回数に基づく利用ポイントを記憶し、各状態で利用ポイントが高いボタンを並び順が上位となるように表示(レコメンド)する。そうすることで、MFP101の状態を考慮せず一様にボタンの使用回数のみを用いてボタンのレコメンドを行う場合より、精度よくユーザーにボタンのレコメンドを行うことができる。以下の説明では、MFP101の状態は原稿載置の有無と未プリントの印刷ジョブの有無の二つを例に示すが、これに限らない。例えばMFP101が受信したFAX文書を保持しているか否かの状態等であっても良い。
【0020】
図5に本実施形態に係るボタン情報テーブル402の一例を示す。一行でひとつのボタンを定義しており、
図5のボタン情報テーブル500では一例として511行~517行の7つのボタンが定義されている。
【0021】
ボタン情報テーブル402は、501列~504列の4つの列を持つ。ボタンID501列は、ボタンを一意に識別するための識別子を定義する列である。ボタン名称502列は、ボタンに表示する名称を定義する列である。呼び出しアプリ503列は、ユーザーによってボタンが選択された際に呼び出されるアプリを定義する列である。設定値504列は、アプリを呼び出す際にパラメータとして付与する設定値を定義する列である。設定値504列に値が設定されているボタン(例えば511行)は、以降カスタムボタンと呼ぶ。カスタムボタンは、押下されると設定値504を反映した状態で呼び出しアプリ503が開かれる。カスタムボタンは、例えばユーザーが所望の設定値を定め、MFP101に登録することで作成される。一方、設定値504の値が設定されていないボタン(例えば514行)は、アプリにパラメータを付与せず初期状態のまま呼び出すためのボタン(以降、アプリボタンと呼ぶ)である。これらのボタンは処理の実行が可能な状態であれば押下されると、即処理が実行されても良い。ボタンIDがB001の「自分へ送信する」ボタンは、スキャンした原稿自分のPC等に送信するボタンである。B006の「全てプリントする」ボタンは、MFP101に記憶されている、ユーザーが送信した複数の印刷ジョブを一括でプリント処理するボタンである。ボタン情報テーブルに含まれる情報はこれらに限らず他の情報が含まれていても良い。ユーザー毎に異なるボタン情報を保持する場合はユーザー情報を含めたり、ボタンに有効期限を示す情報を含めたりしてもよい。その場合、ボタン情報テーブル402に列を追加して、必要な情報をボタン毎に管理するようにすればよい。
【0022】
図6-1、6-2に本実施形態に係るMFP101のメニュー画面の一例を示す。
【0023】
画面610、611にメニュー画面の概略を示す。ユーザー認証部409がログイン処理等によりMFP101のユーザーを特定できた場合、ユーザー名表示領域601に特定できたユーザー名を表示する。また本実施例では、メニュー画面が2ページ構成であり、1ページ目が画面610、2ページ目が画面611である。ページを遷移させる場合には、ユーザーはページスクロールバー602を操作する。ボタン表示領域603-609は1から順に優先度の高いアプリボタンもしくはカスタムボタンが表示される領域であり、最も高い表示優先度を持つボタンをボタン領域601に表示し、2番目の表示優先度を持つボタンはボタン領域604に、順次表示される。
【0024】
図10を用いてボタンの表示優先度情報に関して説明する。
図10は本実施形態にかかる利用ポイント管理テーブル408を表しており、MFP101の各状態におけるユーザーのボタン使用履歴に基づく利用ポイントを管理するために用いられる。利用ポイントとはボタンが押下もしくは使用されるたびに値が加算され、所定のルールに即して変更されるポイントであり、利用ポイントが高いと、メニュー画面に表示するボタンの表示優先度が高くなる。以降、利用ポイント管理テーブル408は、ユーザーの数分あり、ユーザーごとに管理する例を示すが、全ユーザーの使用履歴を1つのテーブルでまとめて管理しても良い。利用ポイント管理テーブル1000、1100、1200を具体例として説明を行う。各テーブルの(j=0)、(j=500)、(j=501)は、それぞれ今まで行われたジョブの実行回数を示している。管理テーブル1000(j=0)は一度もジョブを実行していない初期状態の管理テーブルでありデフォルトの利用ポイントが設定されている。管理テーブル1100(j=500)は500回ジョブを実行した状態の管理テーブルである。
【0025】
管理テーブル1000を用いてテーブルの詳細な説明を行う。状態1001列、原稿載置1002列、未プリント1003列はMFP101の状態を示す列である。1002列が「0」であればMFP101に原稿が載置されていないこと示し、「1」であれば原稿載置されていることを示す。同様に1003列が「0」であればMFP101が未プリントの印刷ジョブを保持していないことを示し、「1」であれば印刷ジョブを保持していることを示す。これらの状態を基に状態1001列でMFP101の状態が定義される。例えば1033行のように、「原稿載置なし」「未プリントの印刷ジョブを保持なし」の場合は状態s=S00と定義される。
【0026】
ボタン1004-1010列は各ボタンの情報が示され、各状態に対応付いた利用回数に基づく利用ポイントが示される。ここでは、
図5のボタン情報テーブルで定義されたボタンが示されている。ボタンが押下もしくは実行されると、ボタンが使用された時のMFP101の状態における当該ボタンの利用ポイントに所定値が加算される。管理テーブル1000は初期状態であるため、デフォルトの利用ポイントが示されている。デフォルトの利用ポイントは工場出荷時に予め設定されていても良いし、MFP101の管理者が設定しても良いし、ユーザーが設定できるようにしても良い。この利用ポイントが高い、つまりボタンの利用頻度が高いボタンの表示優先度が高くなる。例えば、MFP101の状態が「原稿載置あり」「未プリントの印刷ジョブを保持なし」(s=S10)の場合、「自分へ送信する」「片面白黒コピーする」ボタン等、スキャン処理を行うボタンの利用ポイントがデフォルトで高く設定されている。ユーザーがスキャナに原稿を載置したということは、ユーザーがスキャン処理を行うボタンを所望する可能性が高いため、これらのボタンの表示優先度が高くなるようにしている。このようにMFP101の状態に応じてボタンの表示優先度は変わり、MFP101の状態が変化するとメニュー画面に表示されるボタンの並び順も変わるようになっている。
【0027】
500回ジョブ実行を実行したときの管理テーブル1100を例にして、MFP101の状態が「原稿載置があり」「未プリント印刷ジョブなし」(s=S10)である場合のボタン表示優先度について説明する。この場合、ボタンの表示優先度は、利用ポイントの高い「片面白黒コピー」「自分へ送信」「コピー」といった順になり、この優先度順にボタンがメニュー画面の左から順に並ぶ。このようにMFP101がどのような状態であるときに、どのボタンの使用回数が多いかを管理し、それを基にボタンの表示を行うので、ユーザーに精度よくボタンをレコメンドすることができる。
【0028】
図6の説明に戻り、利用ポイント管理テーブル408を基に表示されるメニュー画面の具体例を示す。画面620、621は管理テーブル1000(j=0、)を基に、MFP101の状態が「原稿載置なし」「未プリントの印刷ジョブを保持なし」(s=S00)である場合に表示されるメニュー画面である。画面630、631は、管理テーブル1000(j=0)を基に、状態がs=S01である場合に表示されるメニュー画面を表している。画面640、641は、管理テーブル1100(j=500)を基に、状態がs=S00である場合に表示されるメニュー画面の例を表している。MFPの状態は同じであるが、画面620、621とボタンの並び順が変わっており、使用頻度の高い「コピー」ボタンが一番前に表示されている。画面650、651は管理テーブル1100(j=500)を基に、状態がs=S10である場合に表示されるメニュー画面の例を表している。画面660、661は、管理テーブル1200(j=501)を基に、状態がs=S10である場合に表示されるメニュー画面の例を表している。
図6に表示されているメニュー画面のボタンは、それぞれ
図5のボタン情報テーブル402で定義されているボタン511からボタン517の中の6つのボタンが対応する。ボタン情報テーブル402で定義されているようにボタン511、512、513、516はカスタムボタンであり、ボタン514、515、517はアプリボタンである。カスタムボタンとアプリボタンは設定値の表示の有無など見た目上の差を設け識別しやすくしている。見た目の差はこれに限らず、ボタンの形や色を変えて識別できるようにしても良い。本実施例ではアプリボタンにはアプリを示すアイコンとアプリ名称を表示し、カスタムボタンには実行するアプリを示すアイコンとボタン名称のほかに設定値のサマリを表示している。
【0029】
なお、本実施例ではアプリケーションを呼び出すための部品としてボタンを用いているが、他の部品を用いてもよい。例えばリストを用いて表示してもよい。その場合は上から最優先のものを表示し、一つ下に下がるごとに一つ下の優先順位を持つものを表示する。
【0030】
図22は、ユーザーがメニュー画面でボタン512を押下した際に呼び出されるアプリの設定画面の一例である。ボタン512の呼び出しアプリ503は「コピーアプリ404」と定義されているため、呼び出されているアプリはコピーアプリ404である。また
図22は、ボタン512の設定値504列で定義した設定値が設定された状態となっている。
【0031】
ラベル2001は、呼び出されたアプリケーションの名称を表示している。領域2002~2006は、コピーアプリ404の現在の設定値を表示している。ボタン512の設定値504列で定義されている設定値は「1部」「白黒」「両面」であるため、領域2005には「1部」、領域2002には「白黒」、領域2006には「両面」が設定され表示されている。設定値504列に定義されていない設定値(領域2003、2004)にはデフォルト値が表示されている。
【0032】
領域2002~2006において、デフォルト値から変更されている設定値の場合、領域を示す枠を二重の線で表現しデフォルト値が設定されている領域と区別可能になっている。
図40では領域2002(カラー選択のデフォルト値は「カラー」)および領域2006(読取のデフォルト値は「片面」)がデフォルト値とは異なる設定値となっているため、二重線の枠で表現されている。なお、ボタン512の設定値504列には「1部」が設定されているが、部数のデフォルト値は「1部」であり、デフォルト値と同じであるため、領域2005は一本の線で表現されている。ここではボタンの枠線の本数で区別できるようにしているが、ボタンの色や形で区別できるようにしても良い。
【0033】
なお、領域2002~2006は、それぞれ押下されると各設定値を変更するためのダイアログを表示する。
【0034】
リセットボタン2007は、各設定値をデフォルト値に戻すためのボタンである。ボタン2008は、現在の設定されている設定値でジョブを開始するためのボタンである。
【0035】
図7は、本実施形態における一連の処理の流れを示したシーケンス図である。ボタンの登録から、メニュー画面(ボタン)の表示、ボタン押下によるアプリ呼び出しまでの一例を示す。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、実行することで、
図7のシーケンスの処理および後述するフローチャートの各ステップが実行される。
【0036】
最初にステップS701で、各アプリ(404~407)は、予めボタン管理部401にボタンの登録指示を行う。ボタンを登録するタイミングは、MFP101起動時、アプリ起動時等、メニュー画面を表示する前であれば、どのタイミングであってもよい。ボタンの登録指示にはボタン情報テーブル402の各列の情報(ボタン名称、呼び出しアプリ、設定値)の登録が含まれている。
【0037】
ステップS702で、ボタンの登録指示を受け取ったボタン管理部401は、受け取ったボタン情報をボタン情報テーブル402に保存する。
【0038】
ステップS703で、メニュー表示部403は、ユーザーからメニュー画面の表示指示を受け取る。ステップS704で、メニュー表示部403は、ボタン管理部401にボタン情報の取得依頼を行う。この時、ユーザーがMFP101にログインしている場合は、ログインしているユーザーに対応付いたボタン情報を取得する。ステップS705で、ボタン管理部401は、ステップS704に対するレスポンスとして、ボタン情報をメニュー表示部403に返す。ステップS706で、メニュー表示部403は、ステップS705で受け取ったボタン情報をもとにメニュー画面を操作部219に表示する。
【0039】
ステップS707で、メニュー表示部403は、ユーザーが行った操作(ボタン押下)を受け取る。ステップS708で、メニュー表示部403は、ステップS707で受け取ったユーザーの操作を基に呼び出すアプリと呼び出しに際して付与するパラメータを決定する。ステップS709で、メニュー表示部は、ステップS708の決定に従いアプリの呼び出しを行う。ステップS710で、呼び出されたアプリは、呼び出しに際して付与されたパラメータに従って処理を行う。
【0040】
図8は、本実施形態におけるMFP101の処理を説明するためのフローチャートである。ユーザーからのメニュー画面の表示要求を受けて、メニュー画面を操作部219に表示するまでの処理を記載する。また、
図8のフローチャートは、
図7のシーケンス図のステップS703からS706の処理に相当する。
【0041】
ステップS801で、メニュー表示部403はメニュー画面の表示要求を受け取る。メニュー画面の表示要求とは、例えばユーザーがMFP101にログインする操作や、ユーザーがメニュー画面を表示するボタンを押下する操作であったり、システムの通知(例えば一定時間ユーザーの操作がない場合にメニュー画面を表示する)であったりする。次にステップS802で、メニュー表示部403はMFP101の状態を取得する。取得したMFP101の状態と
図10に示す利用ポイント管理テーブル408を参照し、利用順位リストを作成する。利用順位リストとは、ボタンIDを利用ポイントが高い順に並べたリストである。
【0042】
例えば、ジョブを500回実行しており(j=500)、利用ポイント管理テーブルが
図10の1100である場合を例にして説明する。取得したMFP101の状態がs=S10であれば、1041行を参照し、利用ポイントが高いボタンを順に並べる。ここで作成する利用順位リストは以下のようである。
利用順位リスト={B002,B001,B005,B003,B004,B006,B007}
【0043】
メニュー表示部403は作成した利用順位リストから利用ポイントが最大のボタンID(ここではB002)を取得する。
【0044】
次にステップS803でメニュー表示部403は、ステップS802で取得したボタンIDの情報をボタン情報テーブル402から取得する。ここではボタンID=B002のボタン情報をボタン情報テーブル402から取得する。
【0045】
次にステップS804で表示部403は、取得したボタンID=B002の情報を表示する。これにより
図6の650で示すようにメニュー画面の一番目(
図6のボタン表示領域603)にカスタムボタン512「片面白黒コピーする」を表示する。
【0046】
次にS805で表示部403は、ステップS802で取得した利用順位リストに含まれるボタンIDの情報を全て取得したかどうかを確認する。取得していた場合は処理を終了し、取得していない場合はS806に進む。ここではボタンID=B002のみの情報しか取得していないため、S806に進む。
【0047】
S806で、次に利用ポイントが高いボタンIDB001を表示部403は取得する。表示部403はステップS803を再び実行し、今度はボタンID=B001のボタン情報をボタン情報テーブル402から取得する。そしてS804で表示部403は取得したボタンID=B001の情報を表示する。これにより
図6の650で示すようにメニュー画面の2番目(
図6のボタン表示領域604)にカスタムボタン511「自分へ送信する」が表示される。同様にして、利用順位リストから順々にボタンIDを取得し、
図6のボタン表示領域605、606、607に順次ボタンを表示する。ボタンID=B007まで表示しおえるとステップS805で表示部403は利用順位リストを全て読み込んだと判断し、処理を終了する。以上のフローにより、
図6のメニュー画面に示すような画面が表示される。ここでは、利用ポイントが、そのまま優先度情報として機能しているが、利用ポイントを用いて表示優先度を別途算出するような構成にしてもよい。
【0048】
図9は、本実施形態におけるMFP101の処理を説明するためのフローチャートである。
図8のフローチャートで表示したメニュー画面において、ユーザーの操作を検知し、ユーザー操作に応じてアプリを呼び出す処理を説明する。また、
図9のフローチャートは、
図7のシーケンス図のステップS707からS710の処理に相当する。
【0049】
ステップS901で、メニュー表示部403はメニュー画面に対するユーザーの操作を検知する。ステップS902で、メニュー表示部403はステップS901で検知したユーザー操作がボタンの押下であるか否かを判定する。メニュー表示部403は、ユーザー操作がボタンの押下であると判定した場合ステップS903へ処理を進め、そうでなければ処理を終了する。以降の説明において、ステップS901でユーザーが押下したボタンを「押下ボタン」と呼ぶ。
【0050】
ステップS903で、メニュー表示部403は、押下ボタンに紐づけられたボタンID501からボタンを一意に特定し、ボタン情報をボタン情報テーブル402から取得する。以降の説明において、単に「ボタン情報」と記載した場合、ステップS903で取得したボタン情報を指すものとする。
【0051】
ステップS904で、メニュー表示部403は、押下ボタンがカスタムボタンであるか否かを判定する。カスタムボタンであるか否かの判定は、設定値504列に値が定義されているか否かで判定する。メニュー表示部403は、押下ボタンがカスタムボタンの場合ステップS906へ処理を進め、そうでなければステップS905へ処理を進める。
【0052】
ステップS905で、メニュー表示部403は、押下ボタンに対応するアプリをパラメータを付与せずに呼び出す。呼び出すアプリはボタン情報の呼び出しアプリ503列に定義されているアプリである。その後、メニュー表示部403はステップS909に処理を進める。ステップS909の処理は後述する。
【0053】
ステップS906で、メニュー表示部403は、ステップS901でユーザーがボタンのどの領域を押下したかを判定する。判定の例として、
図6のボタン511を用いて説明する。メニュー表示部403は、ユーザーが押下した領域が「設定領域」(すなわちサマリ表示部)の場合ステップS907へ処理を進め、ユーザーが押下した領域が「実行領域」(すなわち「設定領域」以外)の場合ステップS908へ処理を進める。
【0054】
ステップS907で、メニュー表示部403は、押下ボタンに対応するアプリにパラメータを付与して呼び出す。呼び出すアプリはボタン情報の呼び出しアプリ503列に定義されているアプリである。付与するパラメータは、ボタン情報の設定値504列に定義されている設定値および呼び出し時にジョブの実行を行わずに設定画面を表示するという指示(実行フラグOFF)である。その後、メニュー表示部403はステップS909に処理を進める。
【0055】
ステップS908で、メニュー表示部403は、押下ボタンに対応するアプリにパラメータを付与して呼び出す。呼び出すアプリはボタン情報の呼び出しアプリ503列に定義されているアプリである。付与するパラメータは、ボタン情報の設定値504列に定義されている設定値および呼び出し時にジョブの実行を開始するという指示(実行フラグON)である。その後、メニュー表示部403はステップS909に処理を進める。
【0056】
ステップS909で、呼び出されたアプリは呼び出し時に付与されたパラメータに従って処理を行う。例えば、パラメータが何も付与されていなければ、アプリを初期状態で表示する。つまりアプリのデフォルトの設定がなされた画面が表示される。アプリのデフォルト設定は管理者等の権限のあるユーザーによる操作で設定することが可能である。また、パラメータに設定値および実行フラグOFFが付与されていれば、アプリは設定値を反映した設定画面を表示する。パラメータに設定値および実行フラグONが付与されていれば、アプリは渡された設定値でジョブの実行を開始する。このようにカスタムボタンは押下された領域に応じて処理を即実行するか設定画面を開くか切り替えることができる。
【0057】
図11は本実施形態にかかる利用ポイント管理テーブルの更新処理のフローチャートである。ユーザーがジョブを500回実行しており(j=500)、利用ポイント管理テーブルが1011である場合に、装置の状態(s)が「原稿載置あり」、「未プリントの印刷ジョブの保持なし」(S10)で、ボタンID=B001のボタンが押下されたとして具体的に説明する。j=500は一例であり、j=0、501等、どの実行回数であっても行われる処理である。
【0058】
ステップS1101で、ボタンが押下もしくは実行されたことを検知すると、ボタン管理部401は、ボタンが押下された時の装置の状態(s)=S10と、押下されたボタンID(b)=B001を取得する。次にステップS1102で利用ポイント管理テーブル408から装置の状態(s)=S10に対応するボタンID(b)=B001の利用ポイント(ここでは管理テーブル1100を参照し、利用ポイント=77)を取得する。
【0059】
ステップS1103で、利用ポイント管理テーブル408は、取得した利用ポイントに加算値=10を加え、(s)=S10、ボタンID(b)=B001の利用ポイント=87に更新する。これで利用ポイント管理テーブルは1200に示す(j=501)状態に更新される。この更新によって、
図6の画面650、651で示されるメニュー画面から、画面660、661で示されるメニュー画面にボタンが並び替えられる。画面650で2番目に表示されていた「自分へ送信する」ボタンが使用されたことによって、利用ポイントが、1番目に表示されていた「片面白黒コピーする」ボタンを上回ったため、画面660では2つのボタンの表示順が入れ替わっている。
【0060】
以上の実施形態により、MFPの状態毎にボタンの使用回数を記憶しておき、検知したMFPの状態において使用回数の多いボタンを並び順の上位に表示することができる。つまりユーザーがMFPに対してどのような操作を行なった時に、どのようなボタンをよく使うかを記憶し、それを基にボタンをレコメンド表示するため、一様に使用回数のみでレコメンドを行うよりも、精度の高いレコメンドを行うことができる。
【0061】
(第2の実施形態)
第一の実施形態では、利用ポイント管理テーブル408を基にMFP101の状態における利用回数が多いボタンを一様に優先表示していた。本実施形態では、一様に利用回数が多いボタンを優先的に表示するではなく、ある特定のMFP101の状態においては、ボタンの利用回数によらず特定のボタンを優先表示する例を示す。例えば、MFP101が未プリントの印刷ジョブを保持している状態の時は、ボタンの使用回数に関係なく、プリントジョブを実行するボタンを優先表示するようにする。こうすることで、ユーザーに未プリントの印刷ジョブが有ることを気づかせることができる。本実施例では、MFP101が未プリントの印刷ジョブを保持しており、原稿載置されていない(S01)状態ではプリントジョブ実行のボタンであるアプリボタン517「プリント」とカスタムボタン516「すべてプリントする」を使用頻度によらず必ず最優先表示する場合を例にとって具体的に説明する。本実施形態の利用ポイント管理テーブルは
図13に示す(j=1000)ものとする。本実施形態の基本構成は実施形態1と同じであるため、差分のみ示す。
【0062】
図12は本実施形態におけるMFP101の処理を説明するためのフローチャートである。ユーザーからのメニュー画面の表示要求を受けて、メニュー画面を操作部219に表示するまでの処理を記載する。なお本フローチャートは
図8のフローチャートと基本構成は同じであるため、差分のみ示す。
【0063】
ステップS802で、メニュー表示部403は装置の状態を取得し、利用順位リストを作成する。ここでは装置の状態がs=S01であるので、利用ポイント管理テーブル1300の1314行を参照し利用順位リストを生成する。具体的に利用順位リストは以下のようである。
利用順位リスト={B002,B001,B006,B007,B005,B003,B004}
【0064】
メニュー表示部403はステップS802で取得した利用順位リストと最大の利用ポイントを持つボタンID=B002を得る。そしてステップS1201に進む。
【0065】
ステップS1201でメニュー表示部403はS802で取得した状態(s)がS01であるかどうかを判断する。もしS01でない場合は、ステップS803に移る。メニュー表示部403はステップS1201で状態(s)がS01であると判断した場合には、ステップS1202に進む。
【0066】
S1202でプリントジョブ実行ボタンであるアプリボタン517「プリント」とカスタムボタン516「すべてプリントする」が最優先表示されるように利用順位リストを補正する。具体的にはアプリボタン517「プリント」のボタンID=B007と、カスタムボタン516「すべてプリントする」のボタンID=B006を、利用順位リストの先頭に移動して以下のように補正する。
利用順位リスト={B006,B007,B002,B001,B005,B003,B004}
【0067】
そして、リストで一番目に表示されているB006のボタンIDを取得して、S803に進む。
【0068】
以上のフローチャートにより、
図14に示すようにプリントジョブを実行するボタンが優先表示されたメニュー画面が表示される。このようにMFPが特定の状態の場合は、ボタンの使用履歴を基に一様にボタンを優先表示するのは無く、使用頻度によらず特定のボタンを必ず優先表示させることができる。こうすることで、ユーザーにMFPが特定の状態であることを通知できる。
【0069】
(第3の実施形態)
第一の実施形態のように、使用回数を基に優先表示を行うと、新しく登録されたボタンは使用回数が0であるため、優先表示されなくなる。本実施例では、新しく登録されたボタンは、使用回数が少なくても優先表示する例を示す。本実施形態の基本構成は、第一の実施形態と同じであるため、差分のみ示す。
図16は本実施形態におけるボタン登録の処理を示すフローチャートである。
【0070】
ユーザーが新しくボタン[見積報告を格納する]ボタンを登録した場合を例に説明を行う。説明を行うためのボタン情報テーブル402は
図5、利用ポイント管理テーブルは
図15に示す(j=1000)ものとする。
【0071】
ユーザーが[見積報告を格納する]ボタンを登録すると、
図16に示すボタン登録フローが開始する。まずステップS1601で
図5のボタン情報テーブル402から最大のボタンID(bmax)=B007を得る。次にステップS1602で取得したbmax(B007)+1のボタンID(=B008)を作成する。登録する[見積報告を格納する]ボタンにS1602で作成したボタンID(=B008)を付与する。この時点のボタン情報テーブル402を
図17に示す。1718行に示すようにボタンIDがB008の[見積報告を格納する]ボタンが登録されている。
【0072】
最後にステップS1603にて、[見積報告を格納する]ボタンを利用ポイント管理テーブル408に登録する。このとき各状態における最大利用ポイントをボタンID=B008に設定する。具体的には状態(s)=S00の場合はボタンID(b)=B005のポイント263が最大の利用ポイントであるため、ID=B008に利用ポイント263を設定する。同様に状態(s)=S01の場合はボタンID(b)=B002のポイント2534を設定する。状態(s)=S10の場合はボタンID(b)=B001のポイント87を設定する。状態(s)=S11の場合はボタンID(b)=B002のポイント404を設定する。設定を終えた後の、ポイント管理テーブルを
図15に示す。新規に登録されたボタンは1504で示され、各状態における利用ポイントは他のボタンの中で最大となっている。つまり、新しくボタンを登録した直後は、MFP101がどのような状態であっても登録したボタンが最優先で表示されるようになる。
【0073】
図15のポイント管理テーブルを用いてボタンを表示する一例を
図18を用いて示す。例えば原稿載置が有り、未プリントの印刷ジョブが無い状態であれば(s=S10)、
図18の1800、1801に示すメニュー画面を表示する。s=00の場合は
図18の1820、1821に示す画面を表示する。いずれの状態の場合も、新しく登録したボタンが一番前に表示されている。
【0074】
なお本実施例では、ユーザーが登録したボタンを優先表示する例を示したが、これに限らず、装置が自動生成したボタンや、システムの管理者が登録したボタンなどでも同様に優先表示してよい。
【0075】
(第4の実施形態)
本実施例では利用ポイント管理テーブル408における各状態(s)の利用ポイントの総和(以下これをPsum(s)と表す)を一定になるように補正する実施形態について説明する。
【0076】
本実施形態の基本構成は第一の実施形態と同じであるため差分のみ示す。
図19は利用ポイント管理テーブルの更新処理を示すフローチャートであり、基本構成は
図11と同じであるため差分のみ説明する。
【0077】
ここでは一例としてPsum(s)がPsumMAX(=100)を超えないように補正する例を説明する。
【0078】
ジョブを500回実行しており、利用ポイント管理テーブルは
図20に示す2000(j=500 normalized by 100)であり、装置の状態(s)は原稿載置があり、未プリント印刷ジョブを保持していない状態(S10)でボタンID=B001が押下されたとして具体的に説明する。
【0079】
ステップS1102でボタン管理部401は利用ポイント管理テーブル2000から装置の状態(s)=S10に対応するボタンID(b)=B001の利用ポイント=35を取得する。
【0080】
ステップS1103で、ボタン管理部401は取得した利用ポイントに加算値=10を加え利用ポイント管理テーブルの装置の状態(s)=S10におけるボタンID(b)=B001の利用ポイント=45に更新する。これで利用ポイント管理テーブルは2100(j=501 before normalized by 100)となる。
【0081】
次に、利用ポイント管理テーブル408はステップS1901で、装置の状態(s)=S10の各ボタンの利用ポイントの合計値Psum(S10)=106がPsumMax(=100)より大きいと判断し、次のステップS1902に進む。ここで利用ポイント管理テーブル408はステップS1901で、Psum(s)がPsumMaxより大きくないと判断した場合には補正を行わず、処理を終了する。
【0082】
利用ポイント管理テーブル408はステップS1902で装置の状態(s)=S10の各ボタンの利用ポイントを以下の値に補正する。
【0083】
【0084】
例えば、今回押下されたボタンID=B001を例にとると、以下のようになる。
p(S10,B001)=[45x100/106]=[42.425…]=42
【0085】
同様に、今回押下されていないボタンID=B002を例にとると、以下のようになる。
p(S10,B002)=[39x100/106]=[36.792…]=36
【0086】
これにより最終的に、利用ポイント管理テーブルは
図20に示す2200(j=501 after normalized by 100)になり、Psum(S10)=97でPsumMAX以下になる。
【0087】
この利用ポイントの更新に基づいてメニューを表示すると、前述の
図8で説明したフローに従い、
図6の650、651(j=500、s=S10)から660,661(j=501、s=S10)の画面表示になり、第1の実施形態と同様にカスタムボタン511とカスタムボタン512が入れ替わるようになる。
【0088】
本実施例のように、この総和Psum(s)を一定の値以下に維持する補正は、過去に高頻度で利用し、最近使用頻度が低下しているボタンが優先表示されるのを防ぐ効果が有る。つまり過去のボタン使用頻度より、最近のボタン使用頻度に重きを置いて利用ポイントを設定することができる。
【0089】
先ほど示したように、各ボタンの利用ポイントは以下の値に補正される。
【0090】
【0091】
Psum(s10は)がPsumMAXより大きい場合にしか上記補正を行わないため、以下の不等式が成り立つ。
【0092】
【0093】
ボタンが押下されるたびに、各ボタンの利用ポイントに1以下の数字が乗算されるため、過去に使用頻度が高く、利用ポイントが高かったボタンも、使用頻度が低下すると自動で利用ポイントが低下する。またPsumの値を一定の値以下に保つことで、無制限に利用ポイントが加算されるのに比べ、データ容量を節約することができる。
【0094】
以上のように、過去のボタン使用回数によるボタンの並べ替えの影響を下げ、直近の使用回数によるボタン並べ替えに重み付けすることができる。これにより精度の高いレコメンドを行うことができる。過去のボタン使用回数によるボタンの並べ替えの影響を下げる方法は上記に示した方法に限らず、ボタン実行毎に各ボタンの利用ポイントに1以下の所定の定数を乗算するようにしても良い。
【0095】
(第5の実施形態)
第一の実施形態のようにMFP101の状態とボタンの使用履歴を基にボタンの並べ替えをする場合、ボタンの位置を場所で覚えているユーザーにとっては、勝手にボタンの並び順が変更されてしまうと煩わしい。そこで本実施形態では、使用履歴を基にボタンの並べ替えが起こる場合でも、同じページ内でのボタン並べ替えであればボタンの並べ替えを行わない例を示す。
【0096】
例えば第1の実施形態の利用ポイント管理テーブル1200の場合、MFP101の状態がs=S10であれば、[自分へ送信する]ボタンと[片面白黒コピーする]ボタンの利用ポイントの差が加算値(10)以内であるため、その2つのボタンを交互に使用すると2つのボタンが毎回入れ替わることになる。これではユーザーにとってわずらわしい。
【0097】
本実施例では利用ポイント加算前の利用順位リストを保持しておき、これと利用ポイント加算後の利用順位リストを比較し、ページをまたいだ並び替えが発生する場合のみ利用順位リストを更新するという処理を行う。本実施形態の基本構成は第一の実施形態と同じであるため差分のみ示す。
【0098】
図21は本実施形態におけるボタン表示の処理を示すフローチャートで基本構成は
図8のフローチャートと同じであるため差分のみ示す。
【0099】
利用ポイント管理テーブルは
図10の1200(j=501)でMFP101の状態はs=S10であるとして以降の説明を行う。
【0100】
S802で状態利用順位リストを取得する。具体的に取得する状態利用順位リストは以下である。本実施形態ではメニュー画面1ページに最大4つのボタンを表示できるため、ボタン4つごとのページグループ[]で区切って表す。
作成した利用順位リスト={[B001,B002,B005,B003],[B004,B006,B007]}
【0101】
ステップS2101で、メニュー表示部403は保持している利用順位リスト(S10)と作成した利用順位リストでページをまたぐボタンはあるかを判断する。保持している利用順位リストとは、たとえば前回(j=500)取得した利用順位リストのことであり、ここでは、
図10の管理テーブル1100(s=S10)を基に作成された利用順位リストである。
保持している利用順位リスト(S10)={[B002,B001,B005,B003],[B004,B006,B007]]
【0102】
保持している利用順位リストは、現在メニュー画面に表示されているボタンを表示順にリスト化したものでもよい。
【0103】
メニュー表示部403は,ページをまたぐ変更はないと判断するとステップS2102に処理を進める。ページをまたぐ変更が有ればS803に進む。ここでは、ページをまたぐ変更は無いためS2102に進む。
【0104】
ステップS2102では、作成した利用順位リストを保持している利用順位リストで上書きする。つまり
作成した利用順位リスト(S10)={[B002,B001,B005,B003],[B004,B006,B007]]
と上書きされる。この利用順位リストを基にボタンを表示すると、ボタンの使用前後でボタンの並べ替えは起こらない。つまり同じページ内でのボタンの並べ替えは行わず、ページをまたぐボタンの並べ替えが発生した場合だけボタンを並び替えることができる。
【0105】
(その他の実施形態)
以上の実施形態では、利用ポイントを基にボタンの表示順を決めるようにしていた。しかし、これには限らず利用ポイントを基に、ボタンの表示形態を決めても良い。たとえばMFPのある状態における利用ポイントが一番高いボタンをメニュー画面に一番大きく表示し、2番目に高い利用ポイントを持つボタンをメニュー画面に2番目に大きく表示するといった構成にしても良い。こうすることでユーザーがよく使うボタンが大きく表示されるため、ユーザーは所望のボタンが見つけやすくなる。ボタンの表示形態は大きさに限らず、ボタンの形、色、を変えても良いし、アニメーションをつけて優先表示するようにしても良い。また、表示形態を変えたうえで、更に表示順が上位となるよう優先表示にしても良い。
【0106】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。または、上述した実施例の機能を実現するハードウェア(ASICやFPGA)を装置に搭載し、実行する処理である。