(57)【要約】【課題】異なるパラメーターで同じアプリを起動することを可能にする画像形成装置及びデータ構造を提供すること。【解決手段】実施形態の画像形成装置は、インストール部、関連付け部及び実行部を含む。インストール部は、アプリケーションと、前記アプリケーション用の異なる複数の起動パラメーターとをインストールする。関連付け部は、オブジェクトに、前記複数の起動パラメーターから選択される１の起動パラメーターと、前記アプリケーションとを関連付ける。実行部は、前記オブジェクトに対する操作入力に応じて、前記オブジェクトに関連付けられた前記起動パラメーターで前記オブジェクトに関連付けられた前記アプリケーションを実行する。【選択図】図６
2020101989.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトに対する操作入力を受けるインターフェースと、
アプリケーションと、前記アプリケーション用の起動パラメーターを１以上含む複数のパラメーターセットとをインストールし、
前記オブジェクトに、前記複数のパラメーターセットから選択される１のパラメーターセットと、前記アプリケーションとを関連付け、
前記オブジェクトに対する操作入力に応じて、前記オブジェクトに関連付けられた前記パラメーターセットに含まれる前記起動パラメーターで前記オブジェクトに関連付けられた前記アプリケーションを実行する、
処理部と、を備え、
前記複数のパラメーターセットは、それぞれ異なる起動パラメーターを含む、画像形成装置。
【請求項２】
前記処理部は、前記画像形成装置が対応していない起動パラメーターを含むパラメーターセットを、前記オブジェクトと関連付けしない、請求項１に記載の画像形成装置。
【請求項３】
前記処理部は、パラメーターセットに、前記画像形成装置が対応していない起動パラメーターが含まれる場合、前記画像形成装置が対応していない起動パラメーターを予め定められた他の起動パラメーターに書き換える、請求項１に記載の画像形成装置。
【請求項４】
前記処理部は、オブジェクトに関連付けようとするパラメーターセット及びアプリケーションと同じ起動パラメーター及びアプリケーションが関連付けられたオブジェクトがあることを判定する、請求項１乃至請求項３のいずれか１項に記載の画像形成装置。
【請求項５】
画像形成装置にインストールされるアプリケーションのインストールに必要なデータと、
前記アプリケーション用の起動パラメーターを１以上含む複数のパラメーターセットと、を含み、
前記複数のパラメーターセットは、それぞれ異なる起動パラメーターを含み、
前記画像形成装置に、前記複数のパラメーターセットから選択される１のパラメーターセットに含まれる起動パラメーターで前記アプリケーションを実行可能なように前記アプリケーション及び前記複数のパラメーターセットをインストールさせるためのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像形成装置及びデータ構造に関する。
【背景技術】
【０００２】
画像形成装置は、内蔵アプリケーション（以下「アプリ」という。）をインストールすることができるものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１２２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような画像形成装置は、アプリの起動時にアプリにパラメーターを渡すことができない。このため、画像形成装置は、異なるパラメーターで同じアプリを起動することができない。
【０００５】
本発明の実施形態が解決しようとする課題は、異なるパラメーターで同じアプリを起動することを可能にする画像形成装置及びデータ構造を提供することである。
【課題を解決するための手段】
【０００６】
実施形態の画像形成装置は、インストール部、関連付け部及び実行部を含む。インストール部は、アプリケーションと、前記アプリケーション用の異なる複数の起動パラメーターとをインストールする。関連付け部は、オブジェクトに、前記複数の起動パラメーターから選択される１の起動パラメーターと、前記アプリケーションとを関連付ける。実行部は、前記オブジェクトに対する操作入力に応じて、前記オブジェクトに関連付けられた前記起動パラメーターで前記オブジェクトに関連付けられた前記アプリケーションを実行する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る画像形成装置についての要部回路構成の一例を示すブロック図。
【図２】図１中のタッチパネルに表示されるホーム画面の一例を示す図。
【図３】図１中のホームＤＢに含まれるホームテーブルの一例を示す図。
【図４】図１中のアプリＤＢに含まれるアイコンテーブルの一例を示す図。
【図５】図１中のアプリＤＢに含まれるアプリテーブルの一例を示す図。
【図６】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図７】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図８】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図９】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図１０】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図１１】図１中の画像形成装置のプロセッサーによる処理の一例を示すフローチャート。
【図１２】実施形態に係る第１種アプリの属性ファイルのファイル内容の一例を示す図。
【図１３】実施形態に係る３つのパラメーターファイルのファイル名及びファイル内容を並べて示した図。
【図１４】実施形態に係る第２種アプリの属性ファイルのファイル内容の一例を示す図。
【図１５】図１中のタッチパネルに表示される選択画面の一例を示す図。
【図１６】図１中のタッチパネルに表示されるボタン画面の一例を示す図。
【図１７】図１中のタッチパネルに表示される追加画面の一例を示す図。
【図１８】図１中のタッチパネルに表示される設定画面の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、実施形態に係る画像形成システムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、図中、同様の要素には同一の符号を付している。
図１は、実施形態に係る画像形成システム１及び画像形成システム１に含まれる構成要素についての要部回路構成の一例を示すブロック図である。画像形成システム１は、一例として、画像形成装置１０及び端末装置２０を含む。
【０００９】
画像形成装置１０及び端末装置２０は、ネットワークＮＷに接続する。ネットワークＮＷは、典型的にはイントラネットなどのプライベートネットワークを含む通信網である。ネットワークＮＷは、典型的にはＬＡＮ（local area network）を含む通信網である。ネットワークＮＷは、インターネットを含む通信網であっても良い。ネットワークＮＷは、ＷＡＮ（wide area network）を含む通信網であっても良い。また、ネットワークＮＷは、無線回線でも良いし有線回線でも良く、無線回線と有線回線とが混在していても良い。また、ネットワークＮＷは、専用線又は公衆携帯電話網などを含む通信網であっても良い。
【００１０】
画像形成装置１０は、例えば、ＭＦＰ（multifunction peripheral）、コピー機、プリンター又はファクシミリなどである。画像形成装置１０は、例えば、印刷機能、スキャン機能、コピー機能、消色機能及びファクシミリ機能などを備える。印刷機能は、画像形成媒体Ｐなどに対してトナー又はインクなどの記録材を用いて画像を形成する機能である。画像形成媒体Ｐは、例えば、シート状の紙などである。スキャン機能は、画像が形成された原稿などから画像を読み取る機能である。コピー機能は、スキャン機能を用いて原稿などから読み取った画像を、印刷機能を用いて画像形成媒体Ｐに印刷する機能である。消色機能は、画像形成媒体Ｐ上に消色可能な記録材で形成された画像を消色する機能である。
【００１１】
画像形成装置１０は、予め登録されたユーザーによるログインが可能である。画像形成装置１０は、ユーザーによってログイン中である場合、ユーザーごとに定められた設定で動作する。なお、画像形成装置１０にユーザーがログイン中である状態を、以下「ログイン状態」という。そして、画像形成装置１０にユーザーがログイン中でない状態を、以下「非ログイン状態」という。
【００１２】
画像形成装置１０は、一例として、プロセッサー１１、ＲＯＭ（read-only memory）１０２、ＲＡＭ（random-access memory）１０３、補助記憶デバイス１４、通信インターフェース１５、操作パネル１６、画像形成部１７及び画像読取部１８を含む。そして、これら各部がバス１９などによって接続される。
【００１３】
プロセッサー１１は、画像形成装置１０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、画像形成装置１０の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー１１の回路内に組み込まれていても良い。プロセッサー１１は、例えば、ＣＰＵ（central processing unit）、ＭＰＵ（micro processing unit）、ＳｏＣ（system on a chip）、ＤＳＰ（digital signal processor）、ＧＰＵ（graphics processing unit）、ＡＳＩＣ（application specific integrated circuit）、ＰＬＤ（programmable logic device）又はＦＰＧＡ（field-programmable gate array）などである。あるいは、プロセッサー１１は、これらのうちの複数を組み合わせたものである。
プロセッサー１１は、処理部の一例である。あるいは、プロセッサー１１を中枢とするコンピューターは、処理部の一例である。
【００１４】
また、プロセッサー１１を中枢とするコンピューターは、プログラムに基づき、ＲＡＭ１３と協働して、ユーザー管理部１１１、ホーム管理部１１２及びアプリ管理部１１３として機能する。
ユーザー管理部１１１は、後述のユーザーＤＢ１４１を管理する。ホーム管理部１１２は、後述のホームＤＢ（database）１４２を管理する。アプリ管理部１１３は、後述のアプリＤＢ１４３を管理する。
【００１５】
ＲＯＭ１２は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ１２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ１２は、上記のプログラムを記憶する。また、ＲＯＭ１２は、プロセッサー１１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００１６】
ＲＡＭ１３は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ１３は、データの読み書きに用いられるメモリである。ＲＡＭ１３は、プロセッサー１１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００１７】
補助記憶デバイス１４は、プロセッサー１１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス１４は、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）又はｅＭＭＣ（embedded MultiMediaCard）などである。補助記憶デバイス１４は、上記のプログラムを記憶する場合もある。また、補助記憶デバイス１４は、プロセッサー１１が各種の処理を行う上で使用するデータ、プロセッサー１１での処理によって生成されたデータ又は各種の設定値などを保存する。なお、画像形成装置１０は、補助記憶デバイス１４として、メモリカード又はＵＳＢ（universal serial bus）メモリなどの記憶媒体を挿入可能なインターフェースを備えていてもよい。当該インターフェースは、当該記憶媒体に情報を読み書きする。
【００１８】
また、補助記憶デバイス１４は、ユーザーＤＢ１４１、ホームＤＢ１４２及びアプリＤＢ１４３を記憶する。
【００１９】
ユーザーＤＢ１４１は、ユーザーに関する情報を管理するデータベースである。ユーザーＤＢ１４１は、ユーザーＩＤ（identifier）と、当該ユーザーＩＤについての認証情報とを関連付けて記憶する。ユーザーＩＤは、ユーザーごとにユニークに付与される識別符号である。認証情報は、ユーザーのログイン時の認証に用いられる情報である。例えば、認証情報は、ログインに係る認証において、入力されるパスワードが正しいか否かを判定するために用いられる情報である。あるいは、認証情報は、ログインに係る生体認証において、入力される生体情報が正しいか否かを判定するために用いられる情報である。
【００２０】
ホームＤＢ１４２は、ホーム画面を管理するデータベースである。ホーム画面は、ユーザーごとにカスタマイズが可能である。ホームＤＢ１４２は、各ユーザーのホーム画面の設定について記憶する。当該設定は、ホーム画面に表示されるアイコンの種類及び位置などを含む。また、ホームＤＢ１４２は、非ログイン状態で表示されるホーム画面の設定についても記憶する。
【００２１】
ホーム画面は、一例として図２に示すようなものである。図２は、タッチパネル１６１に表示されるホーム画面ＳＣ１の一例を示す図である。ホーム画面ＳＣ１は、複数のアイコンボタンＢ１１、登録ボタンＢ１２、領域ＡＲ１１を含む。領域ＡＲ１１は、ログイン中のユーザーを特定する文字列などが表示される。当該文字列は、例えば、ユーザー名又はユーザーＩＤなどである。各アイコンボタンＢ１１は、それぞれが特定の機能などに対応する。各アイコンボタンＢ１１は、操作者が当該機能などの実行を画像形成装置１０に指示するためのボタンである。各アイコンボタンＢ１１は、画像ＩＭ１１及び文字列ＳＴ１１を含む。画像ＩＭ１１及び文字列ＳＴ１１は、例えば、アイコンボタンＢ１１に対応する機能がどのようなものであるかを示す。なお、ホーム画面に表示されるアイコンボタンＢ１１の数は、限定しない。アイコンボタンＢ１１は、オブジェクトの一例である。登録ボタンＢ１２は、ホーム画面にアイコンボタンを登録する場合に操作者が操作するためのボタンである。
【００２２】
ホームＤＢ１４２は、一例として、ホームテーブルを含む。図３は、ホームＤＢ１４２に含まれるホームテーブルＴ１の一例を示す図である。ホームテーブルＴ１は、ユーザーＩＤに、ホームボタンＩＤ及びアイコンＩＤを関連付ける。
【００２３】
ホームテーブルＴ１中のユーザーＩＤは、当該ユーザーＩＤを含むレコードが、どのユーザーのホーム画面のアイコンについての情報を示すレコードであるかを特定する。
ホームボタンＩＤは、ホーム画面中の位置を特定する識別符号である。ホームテーブルＴ１中のホームボタンＩＤは、当該ホームボタンＩＤを含むレコードが、どの位置に表示されるアイコンについての情報を示すレコードであるかを特定する。
アイコンＩＤは、アイコンボタンを特定する識別符号である。アイコンＩＤで特定されるアイコンボタンについての設定などは、アプリＤＢ１４３で定義される。
【００２４】
すなわち、ホームテーブルＴ１は、ユーザーＩＤで特定されるユーザーのホーム画面の、ホームボタンＩＤで特定される位置に、アイコンＩＤで特定されるアイコンボタンが表示されることを示す。また、ホームテーブルＴ１は、アイコンボタンＢ１１にアイコンボタンを関連付ける。
【００２５】
なお、ホームテーブルＴ１は、非ログイン状態で表示されるホーム画面について、特定のユーザーＩＤにホームボタンＩＤ及びアイコンＩＤを関連付けて記憶する。当該特定のユーザーＩＤは、非ログイン状態であることを示す予め定められたユーザーＩＤである。例えば、画像形成装置１０は、Ｕ００００を当該特定のユーザーＩＤとして用い、Ｕ０００１以降を各ユーザーのユーザーＩＤとして用いる。
【００２６】
アプリＤＢ１４３は、アプリに関する情報を管理するデータベースである。アプリＤＢ１４３は、一例として、アイコンテーブル及びアプリテーブルを含む。図４は、アプリＤＢ１４３に含まれるアイコンテーブルＴ２の一例を示す図である。アイコンテーブルＴ２は、アイコンＩＤに、アプリボタン名、ボタンタイプ、編集可否情報、アプリケーションＩＤ、パラメーターファイル名及びボタン画像ファイル名を関連付ける。すなわち、アイコンテーブルＴ２は、アイコンＩＤにアイコンボタンについての設定などの情報を関連付ける。
【００２７】
アプリボタン名は、アイコンボタンの名称を示す。
ボタンタイプは、アイコンボタンがどのような種類の機能を実行するためのものであるかを示す。ボタンタイプは、例えば、アプリ、基本機能、及びＵＲＩ（uniform resource identifier）などがある。ボタンタイプがアプリであるアイコンボタンは、アプリを起動するためのボタンである。その他のボタンタイプについての説明は省略する。
【００２８】
編集可否情報は、アイコンボタンの設定を編集することが可能であるか否かを示す情報である。例えば、編集可否情報が「不可」であればアイコンボタンの設定を編集することが不可能であることを示す。そして、編集可否情報が「可」であればアイコンボタンの設定を編集することが可能であることを示す。
アプリケーションＩＤは、アプリを特定する識別符号である。アプリケーションＩＤは、アプリごとにユニークに付与される。
【００２９】
パラメーターファイル名は、アプリの設定が記述されたパラメーターファイルを特定する情報である。当該ファイルを特定する情報は、例えば、当該ファイルのファイル名又はファイルパスなどである。
ボタン画像ファイル名は、アイコンボタンに含まれる画像のファイルを特定する情報である。当該ファイルを特定する情報は、例えば、当該ファイルのファイル名又はファイルパスなどである。
【００３０】
図５は、アプリＤＢ１４３に含まれるアプリテーブルＴ３の一例を示す図である。アプリテーブルＴ３は、画像形成装置１０にインストールされたアプリのうち、アイコンボタンの設定を編集することが可能なアプリの一覧を示す。アプリテーブルＴ３は、アプリケーションＩＤに、アプリ名及び属性ファイル名を関連付ける。
アプリ名は、アプリの名称を示す。
属性ファイル名は、属性ファイルを特定する情報である。当該属性ファイルを特定する情報は、例えば、当該属性ファイルのファイル名又はファイルパスなどである。属性ファイルは、アプリのメタデータ（アプリ属性）設定を含むファイルである。
【００３１】
ＲＯＭ１２又は補助記憶デバイス１４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、画像形成装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で画像形成装置１０の管理者などへと譲渡される。しかしながら、画像形成装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶されない状態で当該管理者などに譲渡されても良い。また、画像形成装置１０は、当該プログラムとは別のプログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ１２又は補助記憶デバイス１４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷなどのネットワークなどを介したダウンロードにより実現できる。
【００３２】
また、補助記憶デバイス１４などに記憶されるプログラムは、画像形成装置１０に機能などを追加するアプリを含む。一例として、画像形成装置１０は、アプリがＲＯＭ１２又は補助記憶デバイス１４に記憶されない状態で画像形成装置１０の管理者などへと譲渡される。そして、別途に当該管理者などへと譲渡されるアプリが、当該管理者又はサービスマンなどによる操作の下に補助記憶デバイス１４などへと書き込まれる。しかしながら、画像形成装置１０は、アプリがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で当該管理者などへと譲渡されても良い。アプリの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークＮＷなどのネットワークを介したダウンロードにより実現できる。
【００３３】
通信インターフェース１５は、画像形成装置１０が上記のネットワークなどを介して通信するためのインターフェースである。
【００３４】
操作パネル１６は、画像形成装置１０と画像形成装置１０の操作者との間で入出力を行うマンマシンインターフェースなどを備える。操作パネル１６は、例えば、当該操作者が操作するためのタッチパネル１６１及び入力デバイス１６２などを備える。
【００３５】
タッチパネル１６１は、例えば、液晶ディスプレイ又は有機ＥＬディスプレイなどのディスプレイとタッチ入力によるポインティングデバイスとが積層されたものである。したがって、タッチパネル１６１は、当該操作者による操作を受け付ける入力デバイスとして機能する。また、タッチパネル１６１が備えるディスプレイは、当該操作者に各種情報を通知する表示デバイスとして機能する。
【００３６】
入力デバイス１６２は、画像形成装置１０の操作者による操作を受け付ける。入力デバイス１６２は、例えば、キーパッド又はキーボードなどである。
【００３７】
画像形成部１７は、記録材などを用いて画像を形成することで、画像形成媒体Ｐに対して画像を印刷する。画像形成部１７は、例えば、電子写真方式、インクジェット方式又はその他の方式のプリンターを備える。画像形成部１７は、当該プリンターによって印刷を行う。
【００３８】
画像読取部１８は、原稿から画像を読み取る。画像読取部１８は、原稿から画像を読み取るためのスキャナーを備える。当該スキャナーは、例えば、ＣＣＤ（charge-coupled device）イメージセンサーなどの撮像素子を備える光学縮小方式である。あるいは、当該スキャナーは、ＣＭＯＳ（complementary metal-oxide-semiconductor）イメージセンサーなどの撮像素子を備える密着センサー（ＣＩＳ（contact image sensor））方式である。あるいは、当該スキャナーは、その他の公知の方式であっても良い。
【００３９】
バス１９は、コントロールバス、アドレスバス及びデータバスなどを含み、画像形成装置１０の各部で授受される信号を伝送する。
【００４０】
端末装置２０は、ＰＣ（personal computer）、サーバー装置、タブレットＰＣ又はスマートホンなどである。端末装置２０は、一例として、プロセッサー２１、ＲＯＭ２２、ＲＡＭ２３、補助記憶デバイス２４、通信インターフェース２５、表示デバイス２６及び入力デバイス２７を含む。そして、これら各部がバス２８などによって接続される。
【００４１】
プロセッサー２１は、端末装置２０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー２１は、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、端末装置２０の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー２１の回路内に組み込まれていても良い。プロセッサー２１は、例えば、ＣＰＵ、ＭＰＵ、ＳｏＣ、ＤＳＰ、ＧＰＵ、ＡＳＩＣ、ＰＬＤ又はＦＰＧＡなどである。あるいは、プロセッサー２１は、これらのうちの複数を組み合わせたものである。
【００４２】
ＲＯＭ２２は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ２２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ２２は、上記のプログラムを記憶する。また、ＲＯＭ２２は、プロセッサー２１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００４３】
ＲＡＭ２３は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ２３は、データの読み書きに用いられるメモリである。ＲＡＭ２３は、プロセッサー２１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００４４】
補助記憶デバイス２４は、プロセッサー２１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス２４は、例えばＥＥＰＲＯＭ、ＨＤＤ、ＳＳＤ又はｅＭＭＣなどである。補助記憶デバイス２４は、上記のプログラムを記憶する場合もある。また、補助記憶デバイス２４は、プロセッサー２１が各種の処理を行う上で使用するデータ、プロセッサー２１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００４５】
ＲＯＭ２２又は補助記憶デバイス２４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で端末装置２０の管理者などへと譲渡される。しかしながら、端末装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶されない状態で当該管理者などに譲渡されても良い。また、端末装置２０は、当該プログラムとは別のプログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ２２又は補助記憶デバイス２４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷなどのネットワークを介したダウンロードにより実現できる。
【００４６】
通信インターフェース２５は、端末装置２０がネットワークＮＷなどを介して通信するためのインターフェースである。
【００４７】
表示デバイス２６は、端末装置２０の操作者に各種情報を通知するための画面を表示する。表示デバイス２６は、例えば、液晶ディスプレイ又は有機ＥＬ（electro-luminescence）ディスプレイなどのディスプレイである。
【００４８】
入力デバイス２７は、端末装置２０の操作者による操作を受け付ける。入力デバイス２７は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。また、表示デバイス２６及び入力デバイス２７としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス２６として用いることができる。そして、タッチパネルが備える、タッチ入力によるポインティングデバイスを入力デバイス２７として用いることができる。
【００４９】
バス２８は、コントロールバス、アドレスバス及びデータバスなどを含み、端末装置２０の各部で授受される信号を伝送する。
【００５０】
以下、実施形態に係る画像形成システム１の動作を図６〜図１１などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図６〜図１１は、画像形成装置１０のプロセッサー１１による処理の一例を示すフローチャートである。プロセッサー１１は、例えば、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこの処理を実行する。なお、プロセッサー１１がＡｃｔＮ（Ｎは、自然数。）の処理の後にＡｃｔ（Ｎ＋１）へと進む場合、このことを説明する記載を省略する場合がある。
【００５１】
プロセッサー１１は、例えば、画像形成装置１０が起動したことなどに応じて図６に示す処理を開始する。
図６のＡｃｔ１１において画像形成装置１０のプロセッサー１１は、図２に示すようなホーム画面ＳＣ１に対応する画像を生成する。すなわち、プロセッサー１１は、画像形成装置１０がログイン状態である場合、ホームテーブルＴ１及びアイコンテーブルＴ２などに基づき、ログイン中のユーザーに対応するホーム画面ＳＣ１に対応した画像を生成する。また、プロセッサー１１は、画像形成装置１０が非ログイン状態である場合、ホームテーブルＴ１及びアイコンテーブルＴ２などに基づき、非ログイン状態用のホーム画面ＳＣ１に対応した画像を生成する。プロセッサー１１は、上記のように生成した画像を表示するようにタッチパネル１６１に対して指示する。この指示を受けてタッチパネル１６１は、ホーム画面ＳＣ１を表示する。
【００５２】
図６のＡｃｔ１２においてプロセッサー１１は、ログイン操作が行われたか否かを判定する。画像形成装置１０にログインしたい操作者は、例えば次のようなログイン操作を行う。すなわち、当該操作者は、例えば、操作パネル１６などを操作して、ユーザーＩＤ及びパスワードなどを入力する。あるいは、当該操作者は、所持しているＩＤカードを画像形成装置１０が備えるカードリーダーに読み込ませる。当該ＩＤカードは、ユーザーＩＤなどのログインに必要な情報を記憶している。またあるいは、当該操作者は、生体認証によってログインするための操作をしても良い。なお、画像形成装置１０は、操作者が一定以上に近付いたことに応じて自動的に生体認証を行っても良い。この場合、プロセッサー１１は、ログイン操作が行われたとみなす。プロセッサー１１は、ログイン操作が行われないならば、Ａｃｔ１２においてＮｏと判定してＡｃｔ１３へと進む。
【００５３】
Ａｃｔ１３においてプロセッサー１１は、ログアウトするか否かを判定する。例えば、プロセッサー１１は、ログアウトするように指示する操作が行われた場合にログアウトすると判定する。また、プロセッサー１１は、例えば、無操作時間が一定時間以上継続した場合にログアウトすると判定する。なお、プロセッサー１１は、非ログイン状態である場合には、ログアウトすると判定しない。プロセッサー１１は、ログアウトすると判定しないならば、Ａｃｔ１３においてＮｏと判定してＡｃｔ１４へと進む。
【００５４】
Ａｃｔ１４においてプロセッサー１１は、アプリをインストールするか否かを判定する。例えば、プロセッサー１１は、アプリをインストールするように指示する操作が行われた場合などに、アプリをインストールすると判定する。プロセッサー１１は、アプリをインストールと判定しないならば、Ａｃｔ１４においてＮｏと判定してＡｃｔ１５へと進む。
【００５５】
Ａｃｔ１５においてプロセッサー１１は、選択画面を表示するように指示する操作が行われたか否かを判定する。プロセッサー１１は、例えば、図２に示す登録ボタンＢ１２が操作されたことに応じて、選択画面を表示するように指示する操作が行われたと判定する。プロセッサー１１は、選択画面を表示するように指示する操作が行われないならば、図６のＡｃｔ１５においてＮｏと判定してＡｃｔ１６へと進む。
【００５６】
Ａｃｔ１６においてプロセッサー１１は、アプリを実行するか否かを判定する。プロセッサー１１は、アプリを実行しないならば、Ａｃｔ１６においてＮｏと判定してＡｃｔ１７へと進む。
【００５７】
Ａｃｔ１７においてプロセッサー１１は、インストールされているアプリをアンインストールするか否かを判定する。例えば、プロセッサー１１は、アプリをアンインストールするように指示する操作が行われた場合などに、アプリをアンインストールすると判定する。プロセッサー１１は、アプリをアンインストールすると判定しないならば、Ａｃｔ１７においてＮｏと判定してＡｃｔ１２へと戻る。かくして、プロセッサー１１は、ログイン操作が行われるか、ログアウトすると判定するか、アプリをインストールすると判定するか、選択画面を表示するように指示する操作が行われるか、アプリを実行すると判定するか、アプリをアンインストールすると判定するまでＡｃｔ１２〜Ａｃｔ１７を繰り返す。
【００５８】
プロセッサー１１は、Ａｃｔ１２〜Ａｃｔ１７の待受状態にあるときにログイン操作が行われたならば、Ａｃｔ１２においてＹｅｓと判定してＡｃｔ１８へと進む。
Ａｃｔ１８においてプロセッサー１１は、ユーザーＤＢを参照して、ログインに係る認証に成功したか否かを判定する。例えば、プロセッサー１１は、入力されたユーザーＩＤとパスワードとの組み合わせが正しいならば、認証に成功したと判定する。あるいは、プロセッサー１１は、ＩＣカードから読み取られたユーザーＩＤなどが、認証情報に記憶されたユーザーＩＤなどと一致するならば、認証に成功したと判定する。あるいは、プロセッサー１１は、ユーザーから読み取られた生体情報が、認証情報に記憶された生体情報と一定以上一致するならば、認証に成功したと判定する。プロセッサー１１は、認証に成功しなかったと判定するならば、すなわち認証に失敗したと判定するならば、Ａｃｔ１８においてＮｏと判定してＡｃｔ１１へと戻る。対して、プロセッサー１１は、認証に成功したと判定するならば、Ａｃｔ１８においてＹｅｓと判定してＡｃｔ１９へと進む。
【００５９】
Ａｃｔ１９においてプロセッサー１１は、ログイン処理を実行する。例えば、プロセッサー１１は、どのユーザーがログイン中であるかを示す情報をＲＡＭ１３などに記憶する。このために、プロセッサー１１は、例えば、ＲＡＭ１３などに、ログイン中であるユーザーのユーザーＩＤを代入する。なお、ログイン中であるユーザーを、以下「ログイン中ユーザー」という。また、ログイン中ユーザーのユーザーＩＤを、以下「ログイン中ＩＤ」という。ログイン処理により、画像形成装置１０は、ログイン状態となる。なお、プロセッサー１１は、Ａｃｔ１９の処理の開始時に画像形成装置１０がログイン状態である場合には、ログアウト処理の後にログイン処理を行う。ログアウト処理については後述する。プロセッサー１１は、Ａｃｔ１９の処理の後、Ａｃｔ１１へと戻る。
【００６０】
プロセッサー１１は、Ａｃｔ１２〜Ａｃｔ１７の待受状態にあるときにログアウトすると判定するならば、Ａｃｔ１３においてＹｅｓと判定してＡｃｔ２０へと進む。
Ａｃｔ２０においてプロセッサー１１は、ログアウト処理を行う。例えば、プロセッサー１１は、どのユーザーもログイン中でないことを示す情報をＲＡＭ１３などに記憶する。ログアウト処理により、画像形成装置１０は、非ログイン状態となる。プロセッサー１１は、Ａｃｔ２０の処理の後、Ａｃｔ１１へと戻る。
【００６１】
プロセッサー１１は、Ａｃｔ１２〜Ａｃｔ１７の待受状態にあるときにインストールすると判定するならば、Ａｃｔ１４においてＹｅｓと判定してＡｃｔ２１へと進む。
Ａｃｔ２１においてプロセッサー１１は、アプリをインストールする。
【００６２】
アプリは、例えばアプリケーションパッケージとして提供される。アプリケーションパッケージは、データ構造の一例である。アプリケーションパッケージは、画像形成装置１０がアプリをインストールするために必要なデータを含むデータである。また、アプリケーションパッケージは、インストーラーを含む。プロセッサー２１は、当該インストーラーを実行することでアプリをインストールする。なお、アプリケーションパッケージは、複数に分割されていても良い。
以下、アイコンボタンについての設定を編集することが不可能なアプリと、アイコンボタンについての設定を編集することが可能なアプリとの２種類のアプリのそれぞれのインストールについて説明する。なお、アイコンボタンについての設定を編集することが不可能なアプリを以下「第１種アプリ」というものとする。そして、アイコンボタンについての設定を編集することが可能なアプリを以下「第２種アプリ」というものとする。
【００６３】
（１）第１種アプリのインストールについて
第１種アプリのアプリケーションパッケージは、属性ファイル及びボタン画像ファイルを含む。図１２は、第１種アプリの属性ファイルのファイル内容の一例を示す図である。なお、第１種アプリの属性ファイルを、以下「第１種属性ファイル」という。図１２に示す第１種属性ファイルは、一例として、ＸＭＬ（Extensible Markup Language）形式のテキストファイルである。しかしながら、第１種属性ファイルは、テキストファイルに限らず、バイナリファイルなどであっても良い。また、第１種属性ファイルは、ＸＭＬ形式に限らない。
【００６４】
第１種属性ファイルは、データ３０を含む。データ３０は、ＩＤ情報３１、名称情報３２、バージョン情報３３、日付情報３４、説明情報３５、及びアイコン情報３６を含む。
ＩＤ情報３１は、アプリケーションＩＤを含む。
名称情報３２は、アプリの名称を含む。
バージョン情報３３は、アプリのバージョンを含む。
日付情報３４は、アプリの作成日時又は更新日時を含む。
説明情報３５は、アプリの簡単な説明などを含む。
【００６５】
アイコン情報３６は、１又は複数の個別アイコン情報３７を含む。個別アイコン情報３７のそれぞれは、アイコンボタンについて定義する。第１種属性ファイルにおいて個別アイコン情報３７が定義するアイコンボタンは、当該第１種属性ファイル中のＩＤ情報３１で特定されるアプリケーションを起動するためのアイコンボタンである。個別アイコン情報３７は、ボタン名情報３７１、パラメーター情報３７２、及び画像情報３７３を含む。
【００６６】
ボタン名情報３７１は、アイコンボタンの名称を含む。
パラメーター情報３７２は、パラメーターファイルを特定する情報を含む。パラメーターファイルは、アイコンボタンの起動パラメーターを含む。当該パラメーターファイルを特定する情報は、例えば、当該パラメーターファイルのファイル名又はファイルパスなどである。パラメーターファイルの例を図１３に示す。図１３には、３つのパラメーターファイルのファイル名及びファイル内容を並べて示している。パラメーターファイルは、一例としてＪＳＯＮ（JavaScript（登録商標） Object Notation）形式のテキストファイルである。しかしながら、パラメーターファイルの形式は、ＪＳＯＮ形式に限らない。また、パラメーターファイルは、テキストファイルに限らずバイナリファイルなどであっても良い。パラメーターファイルは、データ４０を含む。データ４０は、アイコンボタンについての各種設定などを含む。一例として、図１３中のｐａｒａｍｅｔｅｒ１．ｊｓｏｎ〜ｐａｒａｍｅｔｅｒ３．ｊｓｏｎは、ＣｏｌｏｒＭｏｄｅ（カラーモード）、ＤｕｐｌｅｘＭｏｄｅ（両面／片面モード）、及びＩｓＩＤＣｏｐｙ（ＩＤコピー）の３つの設定項目を含む。一例として、ｐａｒａｍｅｔｅｒ１．ｊｓｏｎは、ＣｏｌｏｒＭｏｄｅの設定値（パラメーター）がＣｏｌｏｒ、ＤｕｐｌｅｘＭｏｄｅの設定値がＤｕｐｌｅｘ、ＩｓＩＤＣｏｐｙの設定値がｆａｌｓｅとなっている。なお、パラメーターファイルは、起動パラメーターを１以上含むパラメーターセットの一例である。
画像情報３７３は、アイコンボタン内に表示される画像を特定する情報を含む。当該画像を特定する情報は、例えば、画像ファイルのファイル名又はファイルパスなどである。
【００６７】
プロセッサー１１は、第１種アプリのインストール時に、アプリケーションパッケージに含まれる第１種属性ファイル及びボタン画像ファイルを補助記憶デバイス１４などにコピーする。
また、プロセッサー１１は、第１種アプリのインストール時に、個別アイコン情報３７それぞれに対応するレコードを、アイコンテーブルＴ２に追加する。すなわち、プロセッサー１１は、ユニークなアイコンＩＤを生成する。そして、プロセッサー１１は、当該アイコンＩＤを新規レコードのアイコンＩＤフィールドに書き込む。さらに、プロセッサー１１は、当該新規レコードのアプリボタン名フィールドにボタン名情報３７１内の名称を、ボタンタイプフィールドに「アプリ」を、編集可否に「不可」を、アプリケーションＩＤフィールドにＩＤ情報３１内のアプリケーションＩＤを、パラメーターファイル名フィールドにパラメーター情報３７２内のパラメーターファイルを特定する情報を、ボタン画像ファイル名フィールドに画像情報３７３内の画像を特定する情報を、それぞれ書き込む。以上のようにして、アイコンテーブルＴ２に、第１種属性ファイルに含まれる個別アイコン情報３７と同じ数のレコードが追加される。
【００６８】
ただし、プロセッサー１１は、パラメーターファイル内に、画像形成装置１０が対応していない設定値が含まれると判定した場合、当該パラメーターファイルについてのレコードをアイコンテーブルＴ２に追加しない。例えば、図１３に示すｐａｒａｍｅｔｅｒ３．ｊｓｏｎは、ＩｓＩＤＣｏｐｙの設定値がＴｒｕｅである。例えば、画像形成装置１０がＩＤコピー機能に対応していないなどの理由で、ＩｓＩＤＣｏｐｙの設定値をＴｒｕｅとした場合の動作ができない場合、プロセッサー１１は、パラメーターファイル名フィールドをｐａｒａｍｅｔｅｒ３．ｊｓｏｎを特定する情報とするレコードの追加をスキップする。
【００６９】
あるいは、プロセッサー１１は、パラメーターファイル内に、画像形成装置１０が対応していない設定値が含まれると判定した場合、当該設定値をパラメーターファイルから削除しても良い。
【００７０】
また、プロセッサー１１は、パラメーターファイル内に、画像形成装置１０が対応していない設定値が含まれると判定した場合、当該設定値を他の値に書き換えても良い。このとき、プロセッサー１１は、設定値だけでなく、設定項目及び設定値の組み合わせを別の設定項目及び設定値の組み合わせに書き換えても良い。なお、どのように設定値、又は設定項目及び設定値の組み合わせを書き換えるかは、例えば、画像形成装置１０の設計者又は管理者などによって予め定められる。
【００７１】
（２）第２種アプリのインストールについて
第２種アプリのアプリケーションパッケージは、属性ファイルを含む。図１４は、第２種アプリの属性ファイルのファイル内容の一例を示す図である。なお、第２種アプリの属性ファイルを、以下「第２種属性ファイル」という。図１４に示す第２種属性ファイルは、一例として、ＸＭＬ形式のテキストファイルである。しかしながら、第２種属性ファイルは、テキストファイルに限らず、バイナリファイルなどであっても良い。また、第２種属性ファイルは、ＸＭＬ形式に限らない。
【００７２】
第２種属性ファイルは、データ５０を含む。データ５０は、ＩＤ情報３１、名称情報３２、バージョン情報３３、日付情報３４、説明情報３５、及び設定情報５１を含む。
設定情報５１は、設定可能な項目の一覧を示す。設定情報５１は、１又は複数の設定項目５２を含む。設定項目５２のそれぞれは、設定可能な項目を示す。図１４に示す第２種属性ファイルは、ＣｏｌｏｒＭｏｄｅ（カラー／白黒）、ＤｕｐｌｅｘＭｏｄｅ（両目モード）、ＩｓＩＤＣｏｐｙ（ＩＤコピー）、ＣｏｐｙＭｏｄｅ（原稿モード）、及びＰｒｏｏｆＣｏｐｙ（お試しコピー）の５つの設定項目について設定を編集することが可能であることを示す。なお、各設定項目は、画像形成装置１０が予め備える機能又は動作などについてのものであっても良いし、第２種アプリのインストール時に画像形成装置１０に追加される機能又は動作などについてのものであっても良い。
【００７３】
プロセッサー１１は、第２種アプリのインストール時に、アプリケーションパッケージに含まれる第２種属性ファイルを補助記憶デバイス１４などにコピーする。
また、プロセッサー１１は、第２種アプリのインストール時に、第２種属性ファイルに基づき、アプリテーブルＴ３にレコードを追加する。すなわち、プロセッサー１１は、アプリテーブルＴ３の新規レコードのアプリケーションＩＤフィールドにＩＤ情報３１内のアプリケーションＩＤを、アプリ名フォールドに名称情報３２内のアプリの名称を、属性ファイル名フィールドに第２種属性ファイルを特定する情報を書き込む。なお、第２種属性ファイルを特定する情報は、例えば、当該第２種属性ファイルのファイル名又はファイルパスなどである。
【００７４】
プロセッサー１１は、図６のＡｃｔ２１の処理の後、Ａｃｔ１１へと戻る。
【００７５】
プロセッサー１１は、Ａｃｔ１２〜Ａｃｔ１７の待受状態にあるときに、選択画面を表示するように指示する操作が行われるならば、Ａｃｔ１５においてＹｅｓと判定して図７のＡｃｔ２２へと進む。
Ａｃｔ２２においてプロセッサー１１は、ＲＡＭ１３などに記憶されている第１選択リスト及び第２選択リストをリセットする。すなわち、プロセッサー１１は、第１選択リストにホームボタンＩＤが登録されていない状態にする。そして、プロセッサー１１は、第２選択リストにアイコンＩＤが登録されていない状態にする。
【００７６】
Ａｃｔ２３においてプロセッサー１１は、図１５に示すような選択画面ＳＣ２に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するようにタッチパネル１６１に対して指示する。この指示を受けてタッチパネル１６１は、選択画面ＳＣ２を表示する。
【００７７】
図１５は、タッチパネル１６１に表示される選択画面ＳＣ２の一例を示す図である。選択画面ＳＣ２は、アイコンボタンを登録する位置を選択するための画面である。選択画面ＳＣ２は、領域ＡＲ１１、複数の第１選択ボタンＢ２１、戻るボタンＢ２２及び確認ボタンＢ２３を含む。
【００７８】
第１選択ボタンＢ２１は、操作される度に選択状態と非選択状態が入れ替わるボタンである。第１選択ボタンＢ２１は、選択状態と非選択状態では外見が異なる。これにより、操作者は、第１選択ボタンＢ２１が選択状態であるか非選択状態であるか識別可能である。第１選択ボタンＢ２１のそれぞれは、１つのホームボタンＩＤが関連付けられている。前述したように、ホームボタンＩＤは、ホーム画面中の位置を特定するものである。したがって、各第１選択ボタンＢ２１は、ホーム画面中のいずれかの位置に対応する。
【００７９】
戻るボタンＢ２２は、選択画面ＳＣ２からホーム画面ＳＣ１に戻るように画像形成装置１０に指示するためのボタンである。
確認ボタンＢ２３は、ボタン画面ＳＣ３を表示するように画像形成装置１０に指示するために操作者が操作するためのボタンである。なお、確認ボタンＢ２３は、１つ以上の第１選択ボタンＢ２１が選択状態になっている場合でなければ操作できないようになっている。
【００８０】
Ａｃｔ２４においてプロセッサー１１は、戻るボタンＢ２２が操作されたか否かを判定する。プロセッサー１１は、戻るボタンＢ２２が操作されないならば、Ａｃｔ２４においてＮｏと判定してＡｃｔ２５へと進む。
【００８１】
Ａｃｔ２５においてプロセッサー１１は、第１選択ボタンＢ２１が操作されたか否かを判定する。プロセッサー１１は、第１選択ボタンＢ２１が操作されないならば、Ａｃｔ２５においてＮｏと判定してＡｃｔ２６へと進む。
【００８２】
Ａｃｔ２６においてプロセッサー１１は、確認ボタンＢ２３が操作されたか否かを判定する。プロセッサー１１は、確認ボタンＢ２３が操作されないならば、Ａｃｔ２６においてＮｏと判定してＡｃｔ２４へと戻る。かくして、プロセッサー１１は、戻るボタンＢ２２、第１選択ボタンＢ２１又は確認ボタンＢ２３が操作されるまでＡｃｔ２４〜Ａｃｔ２６を繰り返す。
【００８３】
プロセッサー１１は、Ａｃｔ２４〜Ａｃｔ２６の待受状態にあるときに戻るボタンＢ２２が操作されたならば、Ａｃｔ２４においてＹｅｓと判定して図６のＡｃｔ１１へと戻る。
【００８４】
プロセッサー１１は、図７のＡｃｔ２４〜Ａｃｔ２６の待受状態にあるときに第１選択ボタンＢ２１が操作されたならば、Ａｃｔ２５においてＹｅｓと判定してＡｃｔ２７へと進む。なお、最後に操作された第１選択ボタンＢ２１を、説明のため以下「第１対象ボタン」という。
Ａｃｔ２７においてプロセッサー１１は、第１対象ボタンが選択状態であるか否かを判定する。プロセッサー１１は、第１対象ボタンが選択状態でないならば、Ａｃｔ２７においてＮｏと判定してＡｃｔ２８へと進む。
【００８５】
Ａｃｔ２８においてプロセッサー１１は、第１対象ボタンを選択状態にする。さらに、Ａｃｔ２８においてプロセッサー１１は、第１対象ボタンに関連付けられたホームボタンＩＤを第１選択リストに登録する。このとき、プロセッサー１１は、例えば、第１選択リストに登録された順が分かるようにしてホームボタンＩＤを第１選択リストに登録する。プロセッサー１１は、Ａｃｔ２８の処理の後、Ａｃｔ２４へと戻る。
【００８６】
対して、プロセッサー１１は、第１対象ボタンが選択状態であるならば、Ａｃｔ２７においてＹｅｓと判定してＡｃｔ２９へと進む。
Ａｃｔ２９においてプロセッサー１１は、第１対象ボタンの選択を解除して非選択状態にする。さらに、Ａｃｔ２９においてプロセッサー１１は、第１対象ボタンに関連付けられているホームボタンＩＤを第１選択リストから削除する。プロセッサー１１は、Ａｃｔ２９の処理の後、Ａｃｔ２４へと戻る。
【００８７】
操作者は、アイコンボタンを登録したい位置に対応する第１選択ボタンＢ２１を選択状態にした状態で、確認ボタンＢ２３を操作する。
プロセッサー１１は、Ａｃｔ２４〜Ａｃｔ２６の待受状態にあるときに確認ボタンＢ２３が操作されたならば、Ａｃｔ２６においてＹｅｓと判定してＡｃｔ３０へと進む。
【００８８】
Ａｃｔ３０においてプロセッサー１１は、アイコンボタンの登録数が上限を超えるか否かを判定する。すなわち、プロセッサー１１は、アイコンテーブルＴ２において、ユーザーＩＤがログイン中ユーザーＩＤと同一であるレコードの数に、選択状態の第１選択ボタンの数を足した数が、登録上限数を超えているか否かを判定する。登録上限数は、各ユーザーのホーム画面に登録できるアイコンボタンの上限数を示す。なお、登録上限数は、画像形成装置１０の設計者、管理者又は各ユーザーなどによって予め設定される。また、登録上限数は、ユーザーごとに異なっていても良いし、ユーザーに拘らず同じ値であっても良い。プロセッサー１１は、アイコンボタンの登録数が上限を超えると判定するならば、Ａｃｔ３０においてＹｅｓと判定してＡｃｔ３１へと進む。
【００８９】
Ａｃｔ３１においてプロセッサー１１は、アイコンボタンの登録数が上限を超えることを報知する。例えば、プロセッサー１１は、アイコンボタンの登録数が上限を超えることを示す表示をするようにタッチパネル１６１を制御する。プロセッサー１１は、Ａｃｔ３１の処理の後、Ａｃｔ２４へと戻る。
【００９０】
プロセッサー１１は、アイコンボタンの登録数が上限を超えないと判定するならば、Ａｃｔ３０においてＮｏと判定してＡｃｔ３２へと進む。
Ａｃｔ３２においてプロセッサー１１は、図１６に示すようなボタン画面ＳＣ３に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するようにタッチパネル１６１に対して指示する。この指示を受けてタッチパネル１６１は、ボタン画面ＳＣ３を表示する。
【００９１】
図１６は、タッチパネル１６１に表示されるボタン画面ＳＣ３の一例を示す図である。ボタン画面ＳＣ３は、一例として、選択画面ＳＣ２上に領域ＡＲ３１がポップアップ表示されたものである。ボタン画面ＳＣ３は、領域ＡＲ３１、複数の第２選択ボタンＢ３１、閉じるボタンＢ３２、決定ボタンＢ３３、及び追加ボタンＢ３４を含む。
【００９２】
第２選択ボタンＢ３１は、操作される度に選択状態と非選択状態が入れ替わるボタンである。第２選択ボタンＢ３１は、選択状態と非選択状態では外見が異なる。これにより、操作者は、第２選択ボタンＢ３１が選択状態であるか非選択状態であるか識別可能である。
【００９３】
各第２選択ボタンＢ３１は、画像ＩＭ３１及び文字列ＳＴ３１を含む。また、第２選択ボタンＢ３１のそれぞれは、アイコンＩＤが関連付けられている。画像ＩＭ３１は、当該アイコンＩＤに、アイコンテーブルＴ２によって関連付けられたボタン画像ファイル名で特定される画像である。文字列ＳＴ３１は、当該アイコンＩＤに、アイコンテーブルＴ２によって関連付けられたアプリボタン名である。一例として、図１６のボタン画面ＳＣ３の一番上に表示された第２選択ボタンＢ３１は、アイコンＩＤ１００１が関連付けられている。そして、当該第２選択ボタンＢ３１中の画像ＩＭ３１は、「ＡｐｐＩｃｏｎ１．ｐｎｇ」で特定される画像ある。また、当該第２選択ボタンＢ３１中の文字列ＳＴ３１は、「コピーアプリ１（Ｃｏｌｏｒ）」である。
【００９４】
以上より、ボタン画面ＳＣ３は、アイコンテーブルＴ２に含まれるアイコンボタンの一覧が表示されることとなる。なお、当該一覧は、複数ページに渡るものであっても良い。また、当該一覧は、スクロールが可能なものであっても良い。
【００９５】
閉じるボタンＢ３２は、領域ＡＲ３１を閉じて、ボタン画面ＳＣ３から選択画面ＳＣ２に戻るように画像形成装置１０に指示するためのボタンである。
決定ボタンＢ３３は、選択画面ＳＣ２において選択された位置に、ボタン画面ＳＣ３において選択されたアイコンボタンを登録する場合に操作者が操作するためのボタンである。なお、決定ボタンＢ３３は、１つ以上の第２選択ボタンＢ３１が選択状態になっている場合でなければ操作できないようになっている。
追加ボタンＢ３４は、アイコンテーブルＴ２に登録されているアイコンボタンの編集、追加又は削除を行う場合に操作者が操作するためのボタンである。
【００９６】
Ａｃｔ３３においてプロセッサー１１は、閉じるボタンＢ３２が操作されたか否かを判定する。プロセッサー１１は、閉じるボタンＢ３２が操作されないならば、Ａｃｔ３３においてＮｏと判定してＡｃｔ３４へと進む。
【００９７】
Ａｃｔ３４においてプロセッサー１１は、第２選択ボタンＢ３１が操作されたか否かを判定する。プロセッサー１１は、第２選択ボタンＢ３１が操作されないならば、Ａｃｔ３４においてＮｏと判定してＡｃｔ３５へと進む。
【００９８】
Ａｃｔ３５においてプロセッサー１１は、決定ボタンＢ３３が操作されたか否かを判定する。プロセッサー１１は、決定ボタンＢ３３が操作されないならば、Ａｃｔ３５においてＮｏと判定してＡｃｔ３６へと進む。
【００９９】
Ａｃｔ３６においてプロセッサー１１は、追加ボタンＢ３４が操作されたか否かを判定する。プロセッサー１１は、追加ボタンＢ３４が操作されないならば、Ａｃｔ３６においてＮｏと判定してＡｃｔ３３へと戻る。かくして、プロセッサー１１は、閉じるボタンＢ３２、第２選択ボタンＢ３１、決定ボタンＢ３３又は追加ボタンＢ３４が操作されるまでＡｃｔ３３〜Ａｃｔ３６を繰り返す。
【０１００】
プロセッサー１１は、Ａｃｔ３３〜Ａｃｔ３６の待受状態にあるときに閉じるボタンＢ３２が操作されたならば、Ａｃｔ３３においてＹｅｓと判定してＡｃｔ２３へと戻る。
【０１０１】
プロセッサー１１は、Ａｃｔ３３〜Ａｃｔ３６の待受状態にあるときに第２選択ボタンＢ３１が操作されたならば、Ａｃｔ３４においてＹｅｓと判定して図８のＡｃｔ３７へと進む。なお、最後に操作された第２選択ボタンＢ３１を、説明のため以下「第２対象ボタン」という。
Ａｃｔ３７においてプロセッサー１１は、第２対象ボタンが選択状態であるか否かを判定する。プロセッサー１１は、第２対象ボタンが選択状態でないならば、Ａｃｔ３７においてＮｏと判定してＡｃｔ３８へと進む。
【０１０２】
Ａｃｔ３８においてプロセッサー１１は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みであるか否かを判定する。すなわち、プロセッサー１１は、ログイン中ＩＤと第２対象ボタンに関連付けられたアイコンＩＤとの組み合わせと同一の組み合わせのレコードがホームテーブルＴ１に含まれているか否かを判定する。プロセッサー１１は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みであるならば、Ａｃｔ３８においてＹｅｓと判定してＡｃｔ３９へと進む。
【０１０３】
Ａｃｔ３９においてプロセッサー１１は、警告ウインドウをボタン画面ＳＣ３上に表示するようにタッチパネル１６１を制御する。
警告ウインドウは、第１警告表示、Ｎｏボタン及びＹｅｓボタンを含む。第１警告表示は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みであることを示す文字列又は画像などを含む。また、第１警告表示は、第２対象ボタンを選択状態にして良いかを問う文字列又は画像などを含む。Ｙｅｓボタンは、第２対象ボタンを選択状態にする場合に操作者が操作するためのボタンである。Ｎｏボタンは、第２対象ボタンを選択状態にしない場合に操作者が操作するためのボタンである。なお、プロセッサー１１は、ディスプレイに表示する以外の方法で、第１警告表示と同様の内容を報知しても良い。
【０１０４】
Ａｃｔ４０においてプロセッサー１１は、Ｎｏボタンを操作するなどの、第２対象ボタンを選択状態にしないように画像形成装置１０に指示する操作が行われたか否かを判定する。プロセッサー１１は、第２対象ボタンを選択状態にしないように画像形成装置１０に指示する操作が行われないならば、Ａｃｔ４０においてＮｏと判定してＡｃｔ４１へと進む。
【０１０５】
Ａｃｔ４１においてプロセッサー１１は、Ｙｅｓボタンを操作するなどの、２対象ボタンを選択状態にするように画像形成装置１０に指示する操作が行われたか否かを判定する。プロセッサー１１は、第２対象ボタンを選択状態にするように画像形成装置１０に指示する操作が行われないならば、Ａｃｔ４１においてＮｏと判定してＡｃｔ４０へと戻る。かくして、プロセッサー１１は、第２対象ボタンを選択状態にしないように画像形成装置１０に指示する操作が行われるか、第２対象ボタンを選択状態にするように画像形成装置１０に指示する操作が行われるまでＡｃｔ４０及びＡｃｔ４１を繰り返す。
【０１０６】
プロセッサー１１は、Ａｃｔ４０及びＡｃｔ４１の待受状態にあるときに、第２対象ボタンを選択状態にしないように画像形成装置１０に指示する操作が行われたならば、Ａｃｔ４０においてＹｅｓと判定して図７のＡｃｔ３３へと戻る。
【０１０７】
対して、プロセッサー１１は、図８のＡｃｔ４０及びＡｃｔ４１の待受状態にあるときに、第２対象ボタンを選択状態にするように画像形成装置１０に指示する操作が行われたならば、Ａｃｔ４１においてＹｅｓと判定してＡｃｔ４２へと進む。また、プロセッサー１１は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みでないならば、Ａｃｔ３８においてＮｏと判定してＡｃｔ４２へと進む。
【０１０８】
Ａｃｔ４２においてプロセッサー１１は、第２対象ボタンを選択状態にする。さらに、Ａｃｔ３８においてプロセッサー１１は、第２対象ボタンに関連付けられたアイコンＩＤを第２選択リストに登録する。このとき、プロセッサー１１は、例えば、第２選択リストに登録された順が分かるようにしてアイコンＩＤを第２選択リストに登録する。
【０１０９】
Ａｃｔ４３においてプロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えているか否かを判定する。プロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えていないならば、Ａｃｔ４３においてＮｏと判定して図７のＡｃｔ３３へと戻る。対して、プロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えているならば、図８のＡｃｔ４３においてＹｅｓと判定してＡｃｔ４４へと進む。
【０１１０】
Ａｃｔ４４においてプロセッサー１１は、第２警告表示を表示するようにタッチパネル１６１を制御する。第２警告表示は、アイコンボタンを登録する位置として選択された数よりも、登録しようとしているアイコンボタンの数の方が多いことを示す画像又は文字列などである。プロセッサー１１は、操作者による操作などに基づいて第２警告表示の表示を終了する。第２警告表示の表示が終了することで、タッチパネル１６１の表示は図１６に示すようなボタン画面ＳＣ３に戻る。なお、プロセッサー１１は、ディスプレイに表示する以外の方法で、第２警告表示と同様の内容を報知しても良い。プロセッサー１１は、Ａｃｔ４４の処理の後、図７のＡｃｔ３３へと戻る。
【０１１１】
また、プロセッサー１１は、第２対象ボタンが選択状態であるならば、図８のＡｃｔ３７においてＹｅｓと判定してＡｃｔ４５へと進む。
Ａｃｔ４５においてプロセッサー１１は、第２対象ボタンの選択を解除して非選択状態にする。さらに、Ａｃｔ４５においてプロセッサー１１は、第２対象ボタンに関連付けられたアイコンＩＤを第２選択リストから削除する。プロセッサー１１は、Ａｃｔ４５の処理の後、図７のＡｃｔ３３へと戻る。
【０１１２】
プロセッサー１１は、Ａｃｔ３３〜Ａｃｔ３６の待受状態にあるときに決定ボタンＢ３３が操作されたならば、Ａｃｔ３５においてＹｅｓと判定してＡｃｔ４６へと進む。
Ａｃｔ４６においてプロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えているか否かを判定する。プロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えているならば、図８のＡｃｔ４３においてＹｅｓと判定してＡｃｔ４７へと進む。
【０１１３】
Ａｃｔ４７においてプロセッサー１１は、エラー表示を表示するようにタッチパネル１６１を制御する。エラー表示は、アイコンボタンを登録する位置として選択された数よりも、登録しようとしているアイコンボタンの数の方が多いことを示す画像又は文字列などである。プロセッサー１１は、操作者による操作などに基づいてエラー表示の表示を終了する。エラー表示の表示が終了することで、タッチパネル１６１の表示は図１６に示すようなボタン画面ＳＣ３に戻る。なお、プロセッサー１１は、ディスプレイに表示する以外の方法で、エラー表示と同様の内容を報知しても良い。プロセッサー１１は、Ａｃｔ４７の処理の後、Ａｃｔ３３へと戻る。
【０１１４】
対して、プロセッサー１１は、第２選択リストに登録されているアイコンＩＤの数が第１選択リストに登録されているホームボタンＩＤの数を超えていないならば、Ａｃｔ４６においてＮｏと判定して図９のＡｃｔ４８へと進む。
Ａｃｔ４８においてプロセッサー１１は、変数ｉの値を１にする。なお、変数ｉは、ＲＡＭ１３などに割り当てられる変数である。
【０１１５】
Ａｃｔ４９においてプロセッサー１１は、アイコンボタンをホーム画面に登録する。すなわち、プロセッサー１１は、第２選択リストに登録されているｉ番目のアイコンＩＤで特定されるアイコンボタンが、第１選択リストに登録されているｉ番目のホームボタンＩＤで特定される位置に表示されるように、ホームテーブルＴ１にレコードを追加する。すなわち、プロセッサー１１は、新規レコードのユーザーＩＤフィールドにログイン中ＩＤを、ホームボタンＩＤフィールドに第１選択リストに登録されているｉ番目のホームボタンＩＤを、アイコンＩＤフィールドに第２選択リストに登録されているｉ番目のアイコンＩＤを書き込む。なお、第１選択リスト及び第２選択リストは、１番目、２番目、３番目、…のように順序が分かるようにホームボタンＩＤ又はアイコンＩＤが登録されている。
【０１１６】
Ａｃｔ５０においてプロセッサー１１は、変数ｉの値が値ｎより小さいか否かを判定する。なお、値ｎは、第２選択リストに登録されているアイコンＩＤの数である。プロセッサー１１は、変数ｉの値が値ｎより小さいならば、Ａｃｔ５０においてＹｅｓと判定してＡｃｔ５１へと進む。
【０１１７】
Ａｃｔ５１においてプロセッサー１１は、変数ｉの値を１増やす。プロセッサー１１は、Ａｃｔ５１の処理の後、Ａｃｔ４８へと戻る。
【０１１８】
プロセッサー１１は、Ａｃｔ５０において変数ｉの値が値ｎ以上であるならば、Ｎｏと判定して図７のＡｃｔ２２へと戻る。
以上のようにして、Ａｃｔ４８〜Ａｃｔ５１の処理が繰り返されることで、第２選択リストに登録されているｎ個のアイコンＩＤで特定されるｎ個のアイコンボタンが、ログイン中ユーザーのホーム画面に登録される。
【０１１９】
プロセッサー１１は、Ａｃｔ３３〜Ａｃｔ３６の待受状態にあるときに追加ボタンＢ３４が操作されたならば、Ａｃｔ３６においてＹｅｓと判定して図１０のＡｃｔ５２へと進む。
Ａｃｔ５２においてプロセッサー１１は、図１７に示すような追加画面ＳＣ４に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するようにタッチパネル１６１に対して指示する。この指示を受けてタッチパネル１６１は、追加画面ＳＣ４を表示する。
【０１２０】
図１７は、タッチパネル１６１に表示される追加画面ＳＣ４の一例を示す図である。追加画面ＳＣ４は、複数の領域ＡＲ４１、追加ボタンＢ４１及びキャンセルボタンＢ４２を含む。なお、図１７には複数の領域ＡＲ４１を示すが、領域ＡＲ４１の数は限定しない。領域ＡＲ４１のそれぞれは、アイコンＩＤが関連付けられている。なお、領域ＡＲ４１に関連付けられているアイコンＩＤは、アイコンテーブルＴ２において編集可否情報が「可」となっているものである。したがって、追加画面ＳＣ４は、アイコンボタンのうち、第２種アプリを実行するためのアイコンボタンの一覧を示す。各領域ＡＲ４１は、画像ＩＭ４１、文字列ＳＴ４１、削除ボタンＢ４３及びエクスポートボタンＢ４４を含む。
【０１２１】
領域ＡＲ４１内の画像ＩＭ４１は、当該領域ＡＲ４１に関連付けられているアイコンＩＤに、アイコンテーブルＴ２において関連付けられているボタン画像ファイル名で特定される画像である。
領域ＡＲ４１内の文字列ＳＴ４１は、当該領域ＡＲ４１に関連付けられているアイコンＩＤに、アイコンテーブルＴ２において関連付けられているアプリボタン名である。
【０１２２】
領域ＡＲ４１内の削除ボタンＢ４３は、当該領域ＡＲ４１に関連付けられているアイコンＩＤで特定されるアイコンボタンをアイコンテーブルＴ２から削除する場合に操作者が操作するためのボタンである。
【０１２３】
領域ＡＲ４１内のエクスポートボタンＢ４４は、当該領域ＡＲ４１に関連付けられているアイコンＩＤで特定されるアイコンボタンについての設定をエクスポートする場合に操作者が操作するためのボタンである。
【０１２４】
追加ボタンＢ４１は、アイコンテーブルＴ２にアイコンボタンを追加する場合に操作者が操作するためのボタンである。
キャンセルボタンＢ４２は、追加画面ＳＣ４の表示を終了する場合に操作者が操作するためのボタンである。
【０１２５】
Ａｃｔ５３においてプロセッサー１１は、キャンセルボタンＢ４２が操作されたか否かを判定する。プロセッサー１１は、キャンセルボタンＢ４２が操作されないならば、Ａｃｔ５３においてＮｏと判定してＡｃｔ５４へと進む。
【０１２６】
Ａｃｔ５４においてプロセッサー１１は、削除ボタンＢ４３が操作されたか否かを判定する。プロセッサー１１は、削除ボタンＢ４３が操作されないならば、Ａｃｔ５４においてＮｏと判定してＡｃｔ５５へと進む。
【０１２７】
Ａｃｔ５５においてプロセッサー１１は、エクスポートボタンＢ４４が操作されたか否かを判定する。プロセッサー１１は、エクスポートボタンＢ４４が操作されないならば、Ａｃｔ５５においてＮｏと判定してＡｃｔ５６へと進む。
【０１２８】
Ａｃｔ５６においてプロセッサー１１は、追加ボタンＢ４１が操作されたか否かを判定する。プロセッサー１１は、追加ボタンＢ４１が操作されないならば、Ａｃｔ５６においてＮｏと判定してＡｃｔ５３へと戻る。かくして、プロセッサー１１は、キャンセルボタンＢ４２、削除ボタンＢ４３、追加ボタンＢ４１又はエクスポートボタンＢ４４が操作されるまでＡｃｔ５３〜Ａｃｔ５６を繰り返す。
【０１２９】
プロセッサー１１は、Ａｃｔ５３〜Ａｃｔ５６の待受状態にあるときにキャンセルボタンＢ４２が操作されたならば、Ａｃｔ５３においてＹｅｓと判定して図７のＡｃｔ３２へと戻る。
【０１３０】
プロセッサー１１は、Ａｃｔ５３〜Ａｃｔ５６の待受状態にあるときに削除ボタンＢ４３が操作されたならば、Ａｃｔ５４においてＹｅｓと判定してＡｃｔ５７へと進む。
Ａｃｔ５７においてプロセッサー１１は、操作された削除ボタンＢ４３が含まれる領域ＡＲ４１に関連付けられたアイコンＩＤについてのレコードを、アイコンテーブルＴ２から削除する。プロセッサー１１は、Ａｃｔ５７の処理の後、Ａｃｔ５２へと戻る。
【０１３１】
プロセッサー１１は、Ａｃｔ５３〜Ａｃｔ５６の待受状態にあるときに追加ボタンＢ４１が操作されたならば、Ａｃｔ５５においてＹｅｓと判定してＡｃｔ５８へと進む。
Ａｃｔ５７においてプロセッサー１１は、操作されたエクスポートボタンＢ４４が含まれる領域ＡＲ４１に関連付けられたアイコンＩＤで特定されるアイコンボタンについての設定などをエクスポートする。例えば、プロセッサー１１は、当該設定などを含むエクスポートファイル生成して出力する。エクスポートファイルの出力先は、例えば、画像形成装置１０が備えるインターフェースに挿入されたメモリカード又はＵＳＢなどの記憶媒体である。あるいは、エクスポートファイルの出力先は、端末装置２０である。出力先が端末装置２０である場合、プロセッサー１１は、エクスポートファイルを送信するように通信インターフェース１５に指示する。この指示を受けて通信インターフェース１５は、当該エクスポートファイルを端末装置２０に送信する。送信された当該エクスポートファイルは、端末装置２０の通信インターフェース２５によって受信される。なお、エクスポートファイルの出力先は、操作者による操作内容又は設定などに基づく。
端末装置２０のプロセッサー２１は、受信されたエクスポートファイルを補助記憶デバイス２４などに記憶する。
【０１３２】
なお、プロセッサー１１は、操作されたエクスポートボタンＢ４４が含まれる領域ＡＲ４１に関連付けられたアイコンＩＤについての、アイコンテーブルＴ２に含まれるレコードを含むようにエクスポートファイルを生成する。また、プロセッサー１１は、当該レコードのパラメーターファイル名フィールドにおいて特定されるパラメーターファイル、及び当該レコードのボタン画像ファイル名レコードにおいて特定される画像ファイルを含むようにエクスポートファイルを生成する。
プロセッサー１１は、Ａｃｔ５８の処理の後、Ａｃｔ５２へと戻る。
【０１３３】
プロセッサー１１は、Ａｃｔ５３〜Ａｃｔ５６の待受状態にあるときに追加ボタンＢ４１が操作されたならば、Ａｃｔ５４においてＹｅｓと判定してＡｃｔ５９へと進む。
Ａｃｔ５９においてプロセッサー１１は、アプリ選択画面に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するように操作パネル１６に対して指示する。この指示を受けて操作パネル１６は、アプリ選択画面を表示する。
【０１３４】
アプリ選択画面は、アプリを選択するための画面である。ただし、アプリ選択画面において選択可能なアプリは、第２種アプリである。アプリ選択画面は、第２種アプリの一覧を含む。なお、プロセッサー１１は、アプリテーブルＴ３を参照することで、第２種アプリの一覧を取得する。
操作者は、アプリ選択画面において、アイコンテーブルＴ２に追加したいアイコンボタンとして追加したいアプリを選択する。
【０１３５】
Ａｃｔ６０においてプロセッサー１１は、アプリ選択画面においてアプリが選択されるのを待ち受ける。プロセッサー１１は、アプリが選択されたならば、Ａｃｔ６０においてＹｅｓと判定して図１１のＡｃｔ６１へと進む。
【０１３６】
Ａｃｔ６１においてプロセッサー１１は、アプリテーブルＴ３を参照して、Ａｃｔ６０において選択されたアプリ（以下「第１対象アプリ」という。）の属性ファイルを特定する。そして、プロセッサー１１は、当該属性ファイルを取得する。
【０１３７】
Ａｃｔ６２においてプロセッサー１１は、Ａｃｔ６１において取得した属性ファイルに含まれる設定項目５２それぞれについて、設定可能であるか否かを判定する。各設定項目５２が設定可能であるか否かは、例えば、画像形成装置１０が備える機能に基づく。Ａｃｔ６２において設定可能であると判定された設定項目５２を、以下「設定可能項目」という。そして、Ａｃｔ６２において設定可能でないと判定された設定項目５２を、以下「非設定可能項目」という。
【０１３８】
Ａｃｔ６３においてプロセッサー１１は、図１８に示すような設定画面ＳＣ５に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するようにタッチパネル１６１に対して指示する。この指示を受けてタッチパネル１６１は、設定画面ＳＣ５を表示する。
【０１３９】
図１８は、タッチパネル１６１に表示される設定画面ＳＣ５の一例を示す図である。設定画面ＳＣ５は、アイコンテーブルＴ２に追加するアイコンボタンについての各種設定を編集するための画面である。設定画面ＳＣ５は、領域ＡＲ５１〜領域ＡＲ５４、登録ボタンＢ５１、キャンセルボタンＢ５２及びインポートボタンＢ５３を含む。
【０１４０】
領域ＡＲ５１は、第１対象アプリのアプリ名が表示される。
領域ＡＲ５２は、アプリボタン名を入力するための欄である。領域ＡＲ５２は、入力されたアプリボタン名が表示される。
領域ＡＲ５３は、ボタン画像ファイル名を入力するための欄である。領域ＡＲ５３は、入力されたボタン画像ファイル名が表示される。
【０１４１】
設定画面ＳＣ５は、設定可能項目と同じ数の領域ＡＲ５４を含む。各領域ＡＲ５４が、それぞれの設定可能項目に対応する。領域ＡＲ５４は、対応する設定可能項目の設定内容を入力するための欄である。領域ＡＲ５４は、入力された設定内容が表示される。
【０１４２】
登録ボタンＢ５１は、領域ＡＲ５１〜領域ＡＲ５４に表示されている設定内容のアイコンボタンをアイコンテーブルＴ２登録する場合に操作者が操作するためのボタンである。
キャンセルボタンＢ５２は、設定画面ＳＣ５の表示を終了して追加画面ＳＣ４に戻るように画像形成装置１０に指示する場合に操作者が操作するためのボタンである。
【０１４３】
インポートボタンＢ５３は、エクスポートファイルをインポートして、設定内容などを画像形成装置１０に読み込ませたい場合に操作者が操作するためのボタンである。
【０１４４】
Ａｃｔ６４においてプロセッサー１１は、キャンセルボタンＢ５２が操作されたか否かを判定する。プロセッサー１１は、キャンセルボタンＢ５２が操作されないならば、Ａｃｔ６４においてＮｏと判定してＡｃｔ６５へと進む。
【０１４５】
Ａｃｔ６５においてプロセッサー１１は、インポートボタンＢ５３が操作されたか否かを判定する。プロセッサー１１は、インポートボタンＢ５３が操作されないならば、Ａｃｔ６５においてＮｏと判定してＡｃｔ６６へと進む。
【０１４６】
Ａｃｔ６６においてプロセッサー１１は、登録ボタンＢ５１が操作されたか否かを判定する。プロセッサー１１は、登録ボタンＢ５１が操作されないならば、Ａｃｔ６６においてＮｏと判定してＡｃｔ６４へと戻る。かくして、プロセッサー１１は、キャンセルボタンＢ５２、インポートボタンＢ５３又は登録ボタンＢ５１が操作されるまでＡｃｔ６４〜Ａｃｔ６６を繰り返す。
【０１４７】
プロセッサー１１は、Ａｃｔ６４〜Ａｃｔ６６の待受状態にあるときにキャンセルボタンＢ５２が操作されたならば、Ａｃｔ６４においてＹｅｓと判定して図１０のＡｃｔ５２へと戻る。
【０１４８】
プロセッサー１１は、図１１のＡｃｔ６４〜Ａｃｔ６６の待受状態にあるときにインポートボタンＢ５３が操作されたならば、Ａｃｔ６５においてＹｅｓと判定してＡｃｔ６７へと進む。
【０１４９】
Ａｃｔ６７においてプロセッサー１１は、エクスポートファイルを読み込む。なお、どのエクスポートファイルを読み込むかは、操作者による操作などに基づく。ここで読み込まれるエクスポートファイルは、例えば、画像形成装置１０が備えるインターフェースに挿入されたメモリカード又はＵＳＢなどの記憶媒体に保存されているものである。あるいは、ここで読み込まれるエクスポートファイルは、端末装置２０から送信され、通信インターフェース２５によって受信されたものである。なお、エクスポートファイルは、他の画像形成装置で生成されたものであっても良い。
【０１５０】
Ａｃｔ６８においてプロセッサー１１は、Ａｃｔ６７で読み込んだエクスポートファイルに含まれるアプリケーションＩＤで特定されるアプリ（以下「第２対象アプリ」という。）が画像形成装置１０にインストールされているか否かを判定する。プロセッサー１１は、対象アプリがインストールされていないならば、Ａｃｔ６８においてＮｏと判定してＡｃｔ６９へと進む。
【０１５１】
Ａｃｔ６９においてプロセッサー１１は、インポートしようとしているエクスポートファイルに対応するアプリがインストールされていないことを報知する。例えば、プロセッサー１１は、タッチパネル１６１に表示させることで当該報知を行う。なお、報知の方法は、他の方法であっても良い。プロセッサー１１は、Ａｃｔ６９の処理の後、Ａｃｔ６３へと戻る。
【０１５２】
対して、プロセッサー１１は、第２対象アプリがインストールされているならば、Ａｃｔ６８においてＹｅｓと判定してＡｃｔ７０へと進む。
Ａｃｔ７０においてプロセッサー１１は、第２対象アプリの属性ファイルに含まれる設定項目５２それぞれについて、Ａｃｔ６２と同様に設定可能であるか否かを判定する。
【０１５３】
Ａｃｔ７１においてプロセッサー１１は、Ａｃｔ６２と同様に、図１８に示すような設定画面ＳＣ５を表示するようにタッチパネル１６１を制御する。ただし、ここで表示される設定画面ＳＣ５の各領域ＡＲ５４に対応する設定可能項目は、Ａｃｔ６２に代えてＡｃｔ７０において設定可能であると判定された設定項目５２である。そして、各領域ＡＲ５４には、エクスポートファイルに含まれるパラメーターファイルの内容が入力される。また、領域ＡＲ５１には、第２対象アプリのアプリ名が表示される。プロセッサー１１は、Ａｃｔ７１の処理の後、Ａｃｔ６４へと戻る。
【０１５４】
プロセッサー１１は、Ａｃｔ６４〜Ａｃｔ６６の待受状態にあるときに登録ボタンＢ５１が操作されたならば、Ａｃｔ６５においてＹｅｓと判定してＡｃｔ７２へと進む。
【０１５５】
Ａｃｔ７２においてプロセッサー１１は、各領域ＡＲ５４に入力されている設定内容と同一の設定のアイコンボタンがアイコンテーブルＴ２に登録されているか否か判定する。当該判定のために、プロセッサー１１は、パラメーターファイルを参照する。プロセッサー１１が参照するパラメーターファイルは、領域ＡＲ５１に表示されたアプリ名に対応する対象アプリについてのパラメーターファイルである。ここで、対象アプリは、第１対象アプリと第２対象アプリを総称したものである。プロセッサー１１は、アイコンテーブルＴ２において対象アプリのアプリケーションＩＤと関連付けられているパラメーターファイルそれぞれについて、各領域ＡＲ５４に入力されている設定内容と同一であるか否かを判定する。そして、プロセッサー１１は、全てのパラメーターファイルについて同一でないと判定するならば、各領域ＡＲ５４に入力されている設定内容と同一の設定のアイコンボタンがアイコンテーブルＴ２に登録されていないと判定する。対して、プロセッサー１１は、いずれかのパラメーターファイルについて同一であると判定するならば、各領域ＡＲ５４に入力されている設定内容と同一の設定のアイコンボタンがアイコンテーブルＴ２に登録されていると判定する。
【０１５６】
Ａｃｔ７３においてプロセッサー１１は、確認画面に対応した画像を生成する。そして、プロセッサー１１は、生成したこの画像を表示するように操作パネル１６に対して指示する。この指示を受けて操作パネル１６は、確認画面を表示する。
【０１５７】
確認画面は、設定画面ＳＣ５において入力された内容のアイコンボタンをアイコンテーブルＴ２に登録して良いか操作者に確認するための画面である。確認画面は、設定画面ＳＣ５において領域ＡＲ５１〜領域ＡＲ５４に表示されていた内容を含む。また、確認画面は、Ａｃｔ７２において、各領域ＡＲ５４に入力されている設定内容と同一の設定のアイコンボタンがアイコンテーブルＴ２に登録されていると判定されている場合、同一の設定のアイコンボタンが既に登録されていることを報知する表示を含む。当該表示は、例えば画像又は文字列などである。なお、プロセッサー１１は、このことを報知するために、ディスプレイに表示する以外の方法を用いても良い。さらに、確認ボタンは、登録確認ボタン及び登録キャンセルボタンを含む。登録確認ボタンは、設定画面ＳＣ５において領域ＡＲ５１〜領域ＡＲ５４に表示されていた内容のアイコンボタンをアイコンテーブルＴ２に登録する場合に操作者が操作するためのボタンである。登録キャンセルボタンは、アイコンボタンをアイコンテーブルＴ２に登録することをキャンセルする場合に操作者が操作するためのボタンである。
【０１５８】
Ａｃｔ７４においてプロセッサー１１は、登録キャンセルボタンが操作されたか否かを判定する。プロセッサー１１は、登録キャンセルボタンが操作されないならば、Ａｃｔ７４においてＮｏと判定してＡｃｔ７５へと進む。
【０１５９】
Ａｃｔ７５においてプロセッサー１１は、登録確認ボタンが操作されたか否かを判定する。プロセッサー１１は、登録確認ボタンが操作されないならば、Ａｃｔ７５においてＮｏと判定してＡｃｔ７４へと戻る。かくして、プロセッサー１１は、登録キャンセルボタン又は登録確認ボタンが操作されるまでＡｃｔ７４及びＡｃｔ７５を繰り返す。
【０１６０】
プロセッサー１１は、Ａｃｔ７４及びＡｃｔ７５の待受状態にあるときに登録キャンセルボタンが操作されたならば、Ａｃｔ７４においてＹｅｓと判定してＡｃｔ６４へと戻る。
【０１６１】
プロセッサー１１は、Ａｃｔ７４及びＡｃｔ７５の待受状態にあるときに登録確認ボタンが操作されたならば、Ａｃｔ７５においてＹｅｓと判定してＡｃｔ７６へと進む。
Ａｃｔ７６においてプロセッサー１１は、設定可能項目と、それぞれの設定可能項目に対応する設定内容を含むパラメーターファイルを作成する。当該設定内容は、設定画面ＳＣ５において各領域ＡＲ５４入力されている内容である。ここで生成されるパラメーターファイルは、例えば、ＪＳＯＮ形式のテキストファイルである。一例として、パラメーターファイルの内容は、「{"ColorMode" : "Color", "DuplexMode" : "Duplex", "IsIDCopy" : "false", "CopyMode" , "text/photo" , "ProofCopy" : "false"}」のようになる。ここで、「:」の左側において「""」で囲まれた部分が、設定可能項目の名称である。そして、「:」の右側において「""」で囲まれた部分が、当該設定項目の設定内容を示す設定値である。例として示したパラメーターファイルでは、ＣｏｌｏｒＭｏｄｅ（カラーモード）、ＤｕｐｌｅｘＭｏｄｅ（両面／片面モード）、ＩｓＩＤＣｏｐｙ（ＩＤコピー）、ＣｏｐｙＭｏｄｅ（原稿モード）及びＰｒｏｏｆＣｏｐｙ（お試しコピー）の５つの設定項目とその設定内容を示す設定値が示されている。
【０１６２】
Ａｃｔ７７においてプロセッサー１１は、設定画面ＳＣ５において入力された内容のアイコンボタンをアイコンテーブルＴ２に登録する。すなわち、プロセッサー１１は、アイコンテーブルＴ２に新規レコードを追加する。そして、プロセッサー１１は、ユニークなアイコンＩＤを生成して、当該新規レコードのアイコンＩＤフィールドに書き込む。さらに、プロセッサー１１は、当該新規レコードのアプリボタン名フィールドに領域ＡＲ５１に表示されている文字列を、ボタンタイプフィールドに「アプリ」を、編集可否に「可」を、アプリケーションＩＤフィールドに対象アプリのアプリケーションＩＤを、パラメーターファイル名フィールドにＡｃｔ７６で生成されたパラメーターファイルを特定する情報、ボタン画像ファイル名フィールドに領域ＡＲ５３に表示されている内容をそれぞれ書き込む。なお、Ａｃｔ７６で生成されたパラメーターファイルを特定する情報は、当該パラメーターファイルのファイル名又はファイルパスなどである。
プロセッサー１１は、Ａｃｔ７７の処理の後、図１０のＡｃｔ５２へと戻る。
【０１６３】
プロセッサー１１は、図６のＡｃｔ１２〜Ａｃｔ１７の待受状態にあるときにアプリを実行すると判定するならば、Ａｃｔ１６においてＹｅｓと判定してＡｃｔ７８へと進む。なお、プロセッサー１１は、例えば、アイコンボタンＢ１１のうち、ボタンタイプがアプリであるものが操作されたことに応じてアプリを実行すると判定する。ここで操作されたアイコンボタンＢ１１を以下「操作ボタン」という。
Ａｃｔ７８においてプロセッサー１１は、操作ボタンに関連付けられているパラメーターファイル名で特定されるパラメーターファイルを取得する。
【０１６４】
Ａｃｔ７９においてプロセッサー１１は、操作ボタンに関連付けられたアプリケーションＩＤで特定されるアプリケーションを実行する。このとき、プロセッサー１１は、Ａｃｔ７８において取得したパラメーターファイルに含まれる値を起動パラメーターとして当該アプリケーションに渡した状態で実行する。このときに渡される値は、例えば、コマンドライン引数として渡される。これにより、実行されるアプリケーションは、渡される値に応じて異なる動作をする。プロセッサー１１は、Ａｃｔ７９の処理の後、例えば、当該アプリケーションの実行を終了したことに応じてＡｃｔ１１へと戻る。
【０１６５】
プロセッサー１１は、Ａｃｔ１２〜Ａｃｔ１７の待受状態にあるときにアプリをアンインストールすると判定するならば、Ａｃｔ１７においてＹｅｓと判定してＡｃｔ８０へと進む。
Ａｃｔ８０にいてプロセッサー１１は、アプリをアンインストールする。なお、プロセッサー１１は、どのアプリをアンインストールするかは操作内容などに基づく。プロセッサー１１は、Ａｃｔ８０の処理の後、Ａｃｔ１１へと戻る。
【０１６６】
実施形態の画像形成装置１０は、第１種アプリのインストール時に、複数のパラメーターファイルを補助記憶装置１３などに保存する。当該複数のパラメーターファイルはそれぞれ、アプリを実行する際にアプリに渡す起動パラメーターを含む。また、実施形態の画像形成装置１０は、第１種アプリを起動するアイコンボタンに、パラメーターファイルを関連付ける。画像形成装置１０は、当該アイコンボタンが操作されたことに応じて、当該パラメーターファイルに含まれる起動パラメーターを第１種アプリに渡して当該アプリケーションを実行する。パラメーターファイルは、複数あり、含まれるパラメーターが異なる。したがって、実施形態の画像形成装置１０は、アイコンボタンに関連付けられたパラメーターファイルの内容に応じて異なる起動パラメーターで同じアプリケーションを起動することができる。
【０１６７】
また、実施形態の画像形成装置１０は、Ａｃｔ３８において、ユーザーＩＤとアイコンＩＤとの指定の組み合わせが同一のアイコンボタンがあるか否かを判定する。なお、当該指定の組み合わせは、例えば、ログイン中ＩＤと第２対象ボタンに関連付けられたアイコンＩＤとの組み合わせである。同一のアイコンボタンがある場合には、画像形成装置１０は、第１警告表示を表示する。これにより、画像形成装置１０は、同一のアイコンボタンを同一のユーザーのホーム画面に表示することを防ぐことができる。
【０１６８】
また、実施形態の画像形成装置１０は、画像形成装置１０が対応していない設定値が含まれるパラメーターファイルについてのレコードをアイコンテーブルＴ２に追加しない。あるいは、実施形態の画像形成装置１０は、パラメーターファイルから画像形成装置１０が対応していない設定値が含まれる設定値を削除する。このようにして、実施形態の画像形成装置１０は、画像形成装置１０が対応していない設定値を含むパラメーターファイルをアイコンボタンと関連付けないようにする。これにより、実施形態の画像形成装置１０は、実行不可能な起動パラメーターでアプリケーションを実行しようとすることを防ぐことができる。
【０１６９】
また、実施形態の画像形成装置１０は、アイコンボタンの登録数が上限を超えることを判定する。これにより、画像形成装置１０は、ホーム画面に登録上限数を超えてアイコンボタンを登録されることを防ぐことができる。
【０１７０】
また、実施形態の画像形成装置１０は、複数選択された第１選択ボタンＢ２１に関連付けられたホームボタンＩＤに、複数選択された第２選択ボタンＢ３１に関連付けられたアイコンＩＤを１対１で関連付ける。これにより、実施形態の画像形成装置１０は、複数のアイコンボタンを一度にホーム画面に登録することができる。
【０１７１】
上記の実施形態は以下のような変形も可能である。
上記の実施形態では、ホームボタンＩＤは、タッチパネル１６１に表示されるホーム画面中の位置を特定する。これにより、ホームテーブルＴ１によって、アイコンボタンがタッチパネル１６１に表示されるアイコンボタンＢ１１に関連付けられる。しかしながら、アイコンボタンは、入力デバイス１６２などが備えるボタンなどに関連付けられても良い。この場合、例えば、当該各ボタンにホームボタンＩＤが割り当てられる。そして、ホームテーブルＴ１によって、当該ボタンにアイコンＩＤが関連付けられる。アイコンボタンが関連付けられる物理ボタンは、オブジェクトの一例である。
【０１７２】
上記の実施形態では、複数の第１選択ボタンＢ２１が選択状態となることができる。ここで、画像形成装置１０は、選択状態にすることができる第１選択ボタンＢ２１の数を制限しても良い。例えば、画像形成装置１０は、選択状態にすることができる第１選択ボタンＢ２１の数を１個までとしても良い。選択状態にすることができる第１選択ボタンＢ２１の数は、例えば、画像形成装置１０の設計者、管理者又は操作者などによって予め定められる。
【０１７３】
上記の実施形態では、画像形成装置１０は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みである場合、その旨ことを報知する。そして、画像形成装置１０は、第２対象ボタンを選択状態にするか否かを操作者の操作に基づいて決定する。しかしながら、画像形成装置１０は、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みである場合、第２対象ボタンを選択状態にできないようにしても良い。この場合、画像形成装置１０のプロセッサー１１は、例えば、図８のＡｃｔ３９の処理の後、図７のＡｃｔ３３へと戻る。また、警告ウインドウは、第１警告表示、Ｎｏボタン及びＹｅｓボタンに代えて、第２対象ボタンに対応するアイコンボタンがログイン中ユーザーのホーム画面に登録済みであることを示す文字列又は画像などを含む。
以上のようにすることで、画像形成装置１０は、同一ユーザーのホーム画面に同じアイコンボタンが登録されることを防ぐことができる。
【０１７４】
上記の実施形態では、ホーム画面ＳＣ１、選択画面ＳＣ２、ボタン画面ＳＣ３、追加画面ＳＣ４及び設定画面ＳＣ５は、タッチパネル１６１に表示される。しかしながら、端末装置２０の表示デバイス２６がホーム画面ＳＣ１、選択画面ＳＣ２、ボタン画面ＳＣ３、追加画面ＳＣ４及び設定画面ＳＣ５のうちの少なくともいずれかと同様の画面を表示しても良い。この場合、画像形成装置１０は、例えば、各画面を表示するために必要な情報を端末装置２０に送信することで、端末装置２０に当該画面を表示させる。そして、端末装置２０は、各画面に対する入力デバイス２７を用いて行われた操作情報を画像形成装置１０に送信する。画像形成装置１０は、当該操作情報に基づき、上記の実施形態と同様の動作を実行する。以上のようにして、端末装置２０から画像形成装置１０を操作することが可能である。
【０１７５】
プロセッサー１１及びプロセッサー２１は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
【０１７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７７】
１……画像形成システム、１０……画像形成装置、１１，２１……プロセッサー、１２，２２……ＲＯＭ、１３，２３……ＲＡＭ、１４，２４……補助記憶デバイス、１５，２５……通信インターフェース、１６……操作パネル、１７……画像形成部、１８……画像読取部、１９，２８……バス、２０……端末装置、２６……表示デバイス、２７，１６２……入力デバイス、１１１……ユーザー管理部、１１２……ホーム管理部、１１３……アプリ管理部、１４１……ユーザーＤＢ、１４２……ホームＤＢ、１４３……アプリＤＢ、１６１……タッチパネル
【図１】
2020101989.tif 000003
【図２】
2020101989.tif 000004
【図３】
2020101989.tif 000005
【図４】
2020101989.tif 000006
【図５】
2020101989.tif 000007
【図６】
2020101989.tif 000008
【図７】
2020101989.tif 000009
【図８】
2020101989.tif 000010
【図９】
2020101989.tif 000011
【図１０】
2020101989.tif 000012
【図１１】
2020101989.tif 000013
【図１２】
2020101989.tif 000014
【図１３】
2020101989.tif 000015
【図１４】
2020101989.tif 000016
【図１５】
2020101989.tif 000017
【図１６】
2020101989.tif 000018
【図１７】
2020101989.tif 000019
【図１８】
2020101989.tif 000020