(57)【要約】【課題】複数のアプリケーション間でユーザーインターフェイスのデザインを統一することができる画像形成装置を提供する。【解決手段】画像形成装置１００は、基準アプリとして設定されているアプリケーション１２１Ａと、アプリケーション１２１Ａのソースコード１２３Ａと、アプリケーション１２１Ｂと、アプリケーション１２１Ｂのソースコード１２３Ｂとを格納するための記憶装置と、基準アプリとして設定されていないアプリケーション１２１Ｂが実行されたことに基づいて、ソースコード１２３Ａのデザイン定義１２３Ａに合わせて、ソースコード１２３Ｂのデザイン定義１２３Ｂを書き換えるための書換部５２と、書き換え後のソースコード１２３Ｂに基づいてアプリケーション１２１Ｂのユーザーインターフェイスを構成するための構成部５４と、構成部５４によって構成されたユーザーインターフェイスを表示するためのディスプレイとを備える。【選択図】図４
2017173996.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションをインストールすることが可能な画像形成装置であって、
基準アプリケーションとして設定されている第１アプリケーションと、前記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、前記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを格納するための記憶装置と、
前記基準アプリケーションとして設定されていない前記第２アプリケーションが実行されたことに基づいて、前記第１ソースコード内における前記第１コントロールのデザインを規定している記述に合わせて、前記第２ソースコード内における前記第２コントロールのデザインを規定している記述を書き換えるための書換部と、
書き換え後の前記第２ソースコードに基づいて前記第２アプリケーションのユーザーインターフェイスを構成するための構成部と、
前記構成部によって構成されたユーザーインターフェイスを表示するためのディスプレイとを備える、画像形成装置。
【請求項２】
前記画像形成装置は、
前記画像形成装置にインストールされている複数のアプリケーションの中から前記基準アプリケーションを選択するための選択操作を受け付ける受付部と、
前記受付部が前記選択操作を受け付けた場合に、前記基準アプリケーションの設定を前記第１アプリケーションから前記選択操作によって選択されたアプリケーションに変更するための変更部とをさらに備える、請求項１に記載の画像形成装置。
【請求項３】
前記変更部は、新たな基準アプリケーションがインストールされた場合に、前記基準アプリケーションの設定を前記第１アプリケーションから前記新たな基準アプリケーションに変更する、請求項２に記載の画像形成装置。
【請求項４】
前記画像形成装置は、前記第２アプリケーションが実行されたことに基づいて、前記第１コントロールの属性と前記第２コントロールの属性とを比較するための比較部をさらに備え、
前記書換部によるソースコードの書き換えは、前記第１コントロールの属性と前記第２コントロールの属性とが一致する場合に実行される、請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記記憶装置は、第３アプリケーションをさらに格納し、
前記比較部による比較機能、前記書換部によるソースコードの書き換え機能、および前記構成部によるユーザーインターフェイスの構成機能は、前記第３アプリケーションに実装されている、請求項４に記載の画像形成装置。
【請求項６】
前記記憶装置は、第３アプリケーションをさらに格納し、
前記受付部による前記選択操作を受け付ける機能は、前記第３アプリケーションに実装されている、請求項２に記載の画像形成装置。
【請求項７】
前記画像形成装置は、
サーバーと通信するための通信装置と、
前記基準アプリケーションの更新情報が存在するか否かを前記サーバーに問い合わせ、前記更新情報が存在する場合に前記通信装置を介して前記更新情報を受信し、当該更新情報に基づいて前記基準アプリケーションを更新するための更新部とをさらに備える、請求項１〜６のいずれか１項に記載の画像形成装置。
【請求項８】
基準アプリケーションとして設定されている第１アプリケーションのユーザーインターフェイスのデザインに合わせて、第２アプリケーションのユーザーインターフェイスのデザインを変更するためのデザイン変更方法であって、
前記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、前記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを準備するステップと、
前記基準アプリケーションとして設定されていない前記第２アプリケーションが実行されたことに基づいて、前記第１ソースコード内における前記第１コントロールのデザインを規定している記述に合わせて、前記第２ソースコード内における前記第２コントロールのデザインを規定している記述を書き換えるステップと、
書き換え後の前記第２ソースコードに基づいて前記第２アプリケーションのユーザーインターフェイスを構成するステップと、
前記構成するステップで構成ユーザーインターフェイスを表示するステップとを備える、デザイン変更方法。
【請求項９】
基準アプリケーションとして設定されている第１アプリケーションのユーザーインターフェイスのデザインに合わせて、第２アプリケーションのユーザーインターフェイスのデザインを変更するためのデザイン変更プログラムであって、
前記デザイン変更プログラムは、コンピュータに、
前記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、前記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを準備するステップと、
前記基準アプリケーションとして設定されていない前記第２アプリケーションが実行されたことに基づいて、前記第１ソースコード内における前記第１コントロールのデザインを規定している記述に合わせて、前記第２ソースコード内における前記第２コントロールのデザインを規定している記述を書き換えるステップと、
書き換え後の前記第２ソースコードに基づいて前記第２アプリケーションのユーザーインターフェイスを構成するステップと、
前記構成するステップで構成されたユーザーインターフェイスを表示するステップとを実行させる、デザイン変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アプリケーションをインストールすることが可能な画像形成装置に関し、特に、アプリケーションのユーザーインターフェイスのデザインを変更するための技術に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional  Peripheral）などの画像形成装置の中には、サーバーなどからアプリケーションをインストールする機能が搭載されているものがある。近年、様々な種類のアプリケーションが開発されているため、アプリケーションのユーザーインターフェイスのデザインに統一性がないことが問題になっている。ユーザーインターフェイスのデザインに統一性がないと、画像形成装置のユーザーは、アプリケーションを誤操作する可能性がある。
【０００３】
ユーザーインターフェイスの操作性を改善するための技術に関し、特開２０１１−８８２８号公報（特許文献１）は、「入力画面の提供側による操作性の差異を吸収し、入力の効率を向上することができる」入力端末装置を開示している。特開平９−１１４６２１号公報（特許文献２）は、「ＧＵＩ（Graphical  User  Interface）画面を持つソフトウェアの開発効率を向上させとともに、ＧＵＩデザインの精度を高める」ソフトウェア開発支援方法を開示している。特開２０１５−１１８４９４号公報（特許文献３）は、「ユーザーの使い勝手がよく、操作性を向上させることのできる画像処理装置用のアプリケーションを作成することのできる」アプリケーション作成装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−８８２８号公報
【特許文献２】特開平９−１１４６２１号公報
【特許文献３】特開２０１５−１１８４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アプリケーションの操作性を改善するために、複数のアプリケーション間でユーザーインターフェイスのデザインを統一することが可能な技術が望まれている。特許文献１に開示される入力端末装置は、複数の異なる入力画面の入力フォームを統一するものであり、複数のアプリケーション間でユーザーインターフェイスのデザインを統一するものではない。特許文献２に開示されるソフトウェア開発支援方法と、特許文献３に開示されるアプリケーション作成装置は、アプリケーションの作成を支援するものであり、複数のアプリケーション間でユーザーインターフェイスのデザインを統一するものではない。
【０００６】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、複数のアプリケーション間でユーザーインターフェイスのデザインを統一することが可能な画像形成装置を提供することである。他の局面における目的は、複数のアプリケーション間でユーザーインターフェイスのデザインを統一することが可能なデザイン変更方法を提供することである。さらに他の局面における目的は、複数のアプリケーション間でユーザーインターフェイスのデザインを統一することが可能なデザイン変更プログラムを提供することである。
【課題を解決するための手段】
【０００７】
ある局面に従うと、アプリケーションをインストールすることが可能な画像形成装置は、基準アプリケーションとして設定されている第１アプリケーションと、上記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、上記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを格納するための記憶装置と、上記基準アプリケーションとして設定されていない上記第２アプリケーションが実行されたことに基づいて、上記第１ソースコード内における上記第１コントロールのデザインを規定している記述に合わせて、上記第２ソースコード内における上記第２コントロールのデザインを規定している記述を書き換えるための書換部と、書き換え後の上記第２ソースコードに基づいて上記第２アプリケーションのユーザーインターフェイスを構成するための構成部と、上記構成部によって構成されたユーザーインターフェイスを表示するためのディスプレイとを備える。
【０００８】
好ましくは、上記画像形成装置は、上記画像形成装置にインストールされている複数のアプリケーションの中から上記基準アプリケーションを選択するための選択操作を受け付ける受付部と、上記受付部が上記選択操作を受け付けた場合に、上記基準アプリケーションの設定を上記第１アプリケーションから上記選択操作によって選択されたアプリケーションに変更するための変更部とをさらに備える。
【０００９】
好ましくは、上記変更部は、新たな基準アプリケーションがインストールされた場合に、上記基準アプリケーションの設定を上記第１アプリケーションから上記新たな基準アプリケーションに変更する。
【００１０】
好ましくは、上記画像形成装置は、上記第２アプリケーションが実行されたことに基づいて、上記第１コントロールの属性と上記第２コントロールの属性とを比較するための比較部をさらに備える。上記書換部によるソースコードの書き換えは、上記第１コントロールの属性と上記第２コントロールの属性とが一致する場合に実行される。
【００１１】
好ましくは、上記記憶装置は、第３アプリケーションをさらに格納する。上記比較部による比較機能、上記書換部によるソースコードの書き換え機能、および上記構成部によるユーザーインターフェイスの構成機能は、上記第３アプリケーションに実装されている。
【００１２】
好ましくは、上記記憶装置は、第３アプリケーションをさらに格納する。上記受付部による上記選択操作を受け付ける機能は、上記第３アプリケーションに実装されている。
【００１３】
好ましくは、上記画像形成装置は、サーバーと通信するための通信装置と、上記基準アプリケーションの更新情報が存在するか否かを上記サーバーに問い合わせ、上記更新情報が存在する場合に上記通信装置を介して上記更新情報を受信し、当該更新情報に基づいて上記基準アプリケーションを更新するための更新部とをさらに備える。
【００１４】
他の局面に従うと、基準アプリケーションとして設定されている第１アプリケーションのユーザーインターフェイスのデザインに合わせて、第２アプリケーションのユーザーインターフェイスのデザインを変更するためのデザイン変更方法が提供される。上記デザイン変更方法は、上記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、上記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを準備するステップと、上記基準アプリケーションとして設定されていない上記第２アプリケーションが実行されたことに基づいて、上記第１ソースコード内における上記第１コントロールのデザインを規定している記述に合わせて、上記第２ソースコード内における上記第２コントロールのデザインを規定している記述を書き換えるステップと、書き換え後の上記第２ソースコードに基づいて上記第２アプリケーションのユーザーインターフェイスを構成するステップと、上記構成するステップで構成ユーザーインターフェイスを表示するステップとを備える。
【００１５】
さらに他の局面に従うと、基準アプリケーションとして設定されている第１アプリケーションのユーザーインターフェイスのデザインに合わせて、第２アプリケーションのユーザーインターフェイスのデザインを変更するための変更プログラムが提供される。上記変更プログラムは、コンピュータに、上記第１アプリケーションのユーザーインターフェイスを構成する第１コントロールのデザインを規定している第１ソースコードと、第２アプリケーションと、上記第２アプリケーションのユーザーインターフェイスを構成する第２コントロールのデザインを規定している第２ソースコードとを準備するステップと、上記基準アプリケーションとして設定されていない上記第２アプリケーションが実行されたことに基づいて、上記第１ソースコード内における上記第１コントロールのデザインを規定している記述に合わせて、上記第２ソースコード内における上記第２コントロールのデザインを規定している記述を書き換えるステップと、書き換え後の上記第２ソースコードに基づいて上記第２アプリケーションのユーザーインターフェイスを構成するステップと、上記構成するステップで構成されたユーザーインターフェイスを表示するステップとを実行させる。
【発明の効果】
【００１６】
ある局面において、複数のアプリケーション間でユーザーインターフェイスのデザインを統一することができる。
【００１７】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１８】
【図１】画像形成装置の外観を示す図である。
【図２】アプリケーションのユーザーインターフェイスの一例を示す図である。
【図３】メール送信アプリのユーザーインターフェイスを示す図である。
【図４】画像形成装置の機能構成の一例を示す図である。
【図５】ソースコードの一例を示す図である。
【図６】アプリ管理テーブルの内容を示す図である。
【図７】コントロールテーブルの内容を示す図である。
【図８】コントロールのデザイン定義の一例を示す図である。
【図９】ロゴのデザインを規定しているソースコードの一例を示す図である。
【図１０】アプリケーションの選択画面の一例を示す図である。
【図１１】アプリケーション間のデータの流れを示すシーケンス図である。
【図１２】画像形成装置の主要なハードウェア構成を示すブロック図である。
【図１３】画像形成装置の制御装置が実行する処理を表わすフローチャートである。
【図１４】履歴テーブルの内容を示す図である。
【図１５】ユーザーインターフェイスのバージョンを設定するための設定画面の一例を示す図である。
【図１６】ユーザーインターフェイスのバージョンが元に戻されている様子を示す図である。
【図１７】基準アプリのデザインの適用先を選択するための選択画面の一例を示す図である。
【図１８】各アプリケーションに対して特定の基準アプリを設定するための設定画面１６４の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２０】
＜第１の実施の形態＞
［画像形成装置１００］
図１および図２を参照して、第１の実施の形態に従う画像形成装置１００について説明する。図１は、画像形成装置１００の外観を示す図である。
【００２１】
画像形成装置１００は、ユーザーから操作を受け付けるための操作パネル１０６を有する。操作パネル１０６には、ディスプレイ１０７が設けられている。ディスプレイ１０７には、タッチパネルが重ねて設けられており、ディスプレイ１０７は、画像形成装置１００に対する印刷操作やスキャン操作などをタッチ操作で受け付ける。
【００２２】
ユーザーは、サーバーから画像形成装置１００にアプリケーションをインストールすることができる。ユーザーは、画像形成装置１００にインストールされているアプリケーションを実行することで、画像形成装置１００に備えられる各種機能（たとえば、印刷機能やスキャン機能）を実行することができる。
【００２３】
図２は、アプリケーションのユーザーインターフェイスの一例を示す図である。より具体的には、図２（Ａ）には、印刷サービスに関連するアプリケーションのユーザーインターフェイス１０７Ａが示されている。図２（Ａ）には、スキャンサービスに関連するアプリケーションのユーザーインターフェイス１０７Ｂが示されている。
【００２４】
ユーザーインターフェイス１０７Ａ，１０７Ｂでデザインが異なれば、画像形成装置１００のユーザーは、各アプリケーションを誤操作する可能性がある。そのため、画像形成装置１００は、ユーザーインターフェイス１０７Ａ，１０７Ｂを構成する各コントロールのデザインを統一する。コントロールとは、画像形成装置１００に対する操作を受け付けたり、情報を表示したりするための画像である。一例として、コントロールは、ウィジェット（Widget）やロゴ画像などを含む。ウィジェットは、たとえば、テキストボックス、プルダウンメニュー、ラジオボタン、チェックボックス、スライダー、ボタンなどを含む。
【００２５】
画像形成装置１００は、デザインの基準となるアプリケーションのユーザーインターフェイスに合わせて、他のユーザーインターフェイスのデザインを変更する。デザインの基準となるアプリケーションは、予め設定されている。以下では、デザインの基準となるアプリケーションを「基準アプリ」ともいう。たとえば、図２（Ａ）に示されるように、印刷サービスに関連するアプリケーションが基準アプリとして設定されているとする。
【００２６】
画像形成装置１００は、図２（Ｂ）に示されるスキャンサービスに関するアプリケーションが実行されたことに基づいて、ユーザーインターフェイス１０７Ｂの各コントロールについて、ユーザーインターフェイス１０７Ａの各コントロールの中から、対応するコントロールを特定する。ユーザーインターフェイス１０７Ａ，１０７Ｂ間でコントロールが対応しているか否かは、たとえば、コントロールに対応付けられている属性（たとえば、機能や種類など）が一致しているか否かで判断される。
【００２７】
一例として、画像形成装置１００は、ユーザーインターフェイス１０７Ｂのコントロール１３１Ａに対応するコントロールとして、ユーザーインターフェイス１０７Ａのコントロール１３０Ａを特定したとする。この場合、画像形成装置１００は、基準アプリのコントロール１３０Ａのデザインに合わせて、コントロール１３１Ａのデザインを変更する。これにより、コントロール１３１Ａがコントロール１３２Ａに変更される。図２の例では、プルダウンメニューのコントロール１３１Ａが、テキストボックスであるコントロール１３０Ａに合わせて、テキストボックスのコントロール１３１Ｂに変更されている。
【００２８】
同様に、画像形成装置１００は、ユーザーインターフェイス１０７Ｂのコントロール１３１Ｂに対応するコントロールとして、ユーザーインターフェイス１０７Ａのコントロール１３０Ｂを特定したとする。この場合、画像形成装置１００は、コントロール１３０Ｂのデザインに合わせてコントロール１３１Ｂのデザインを変える。これにより、コントロール１３１Ｂがコントロール１３２Ｂに変更される。図２の例では、小サイズのボタンであるコントロール１３１Ｂが、大サイズのボタンであるコントロール１３０Ｂに合わせて、大サイズのボタンのコントロール１３１Ｂに変更されている。
【００２９】
これにより、コントロールの種類やサイズなどのデザインがユーザーインターフェイス１０７Ａ，１０７Ｂ間で統一される。他にも、コントロールの色、コントロールの背景色、コントロールの形状などのデザインが統一されてもよい。ユーザーインターフェイスのデザインがアプリケーション間で統一されることで、アプリケーションに対する誤操作が少なくなる。結果として、各アプリケーションの操作性が改善される。
【００３０】
図３を参照して、コントロールのデザインを変更する他の例について説明する。図３は、メール送信アプリのユーザーインターフェイス１０７Ｃを示す図である。図３に示されるように、画像形成装置１００は、基準アプリのユーザーインターフェイスに表示されるロゴ画像に合わせて、ユーザーインターフェイス１０７Ｃに表示されるロゴ画像１３４Ａをロゴ画像１３４Ｂに変更してもよい。
【００３１】
［画像形成装置１００の機能構成］
図４および図５を参照して、画像形成装置１００の機能について説明する。図４は、画像形成装置１００の機能構成の一例を示す図である。図４に示されるように、画像形成装置１００には、アプリケーション１２１Ａ〜１２１Ｃがインストールされている。
【００３２】
アプリケーション１２１Ａ（第１アプリケーション）は、基準アプリとして設定されている。アプリケーション１２１Ａには、ソースコード１２３Ａが対応付けられている。ソースコード１２３Ａは、たとえば、ＨＴＭＬ（Hyper  Text  Markup  Language）やＣＳＳ（Cascading  Style  Sheets）で記述されている。図５は、ソースコード１２３Ａの一例を示す図である。ソースコード１２３Ａは、アプリケーション１２１Ａのユーザーインターフェイスを構成するコントロールのデザインを規定しているデザイン定義１２５Ａ（記述）を含む。
【００３３】
アプリケーション１２１Ｂ（第２アプリケーション）には、ソースコード１２３Ｂが対応付けられている。ソースコード１２３Ｂは、たとえば、ＣＳＳ（Cascading  Style  Sheets）で記述されている。ソースコード１２３Ｂは、アプリケーション１２１Ｂのユーザーインターフェイスを構成するコントロールのデザインを規定しているデザイン定義１２５Ｂ（記述）を含む。
【００３４】
アプリケーション１２１Ｃ（第３アプリケーション）は、ユーザーインターフェイスのデザインをアプリケーション間で統一する機能を有する。以下では、ユーザーインターフェイスのデザインをアプリケーション間で統一するためのアプリケーションを「変更アプリ」ともいう。
【００３５】
変更アプリであるアプリケーション１２１Ｃは、機能構成として、比較部５０と、書換部５２と、構成部５４と、受付部６０と、変更部６２と、更新部６４とを含む。
【００３６】
比較部５０は、基準アプリとして設定されていないアプリケーション１２１Ｂが実行されたことに基づいて、基準アプリであるアプリケーション１２１Ａのデザイン定義１２５Ａと、アプリケーション１２１Ｂのデザイン定義１２５Ｂとを比較する。これにより、比較部５０は、アプリケーション１２１Ａの各コントロールの属性と、アプリケーション１２１Ｂの各コントロールの属性とを比較する。比較部５０のさらに詳細な説明については後述する。比較部５０は、コントロールの属性の比較結果を書換部５２に出力する。
【００３７】
書換部５２は、比較部５０による比較結果に基づいて、ソースコード１２３Ａ（第１ソースコード）のデザイン定義１２５Ａに合わせてソースコード１２３Ｂ（第２ソースコード）のデザイン定義１２５Ｂを書き換える。一例として、書換部５２によるソースコードの書き換えは、アプリケーション１２１Ａのコントロールの属性（たとえば、機能や種類）とアプリケーション１２１Ｂのコントロールの属性（たとえば、機能や種類）とが一致または類似することを比較部５０による比較結果が示す場合に実行される。書換部５２のさらに詳細な説明については後述する。
【００３８】
構成部５４は、デザイン定義が書き換えられたソースコード１２３Ｂに基づいてアプリケーション１２１Ｂのユーザーインターフェイスを構成する。構成部５４によって構成されたユーザーインターフェイスは、ディスプレイ１０７（図１参照）に出力される。これにより、ディスプレイ１０７は、構成部５４によって構成されたユーザーインターフェイスを表示する。
【００３９】
受付部６０は、画像形成装置１００にインストールされている複数のアプリケーションの中から基準アプリを選択するための操作を受け付ける。受付部６０は、基準アプリの選択操作を受け付けたことに基づいて、基準アプリとして設定されたアプリケーションの識別情報（たとえば、アプリケーションＩＤ（Identification））を変更部６２に出力する。受付部６０のさらに詳細な説明については後述する。
【００４０】
変更部６２は、受付部６０が基準アプリの選択操作を受け付けた場合に、基準アプリの設定をアプリケーション１２１Ａから当該選択操作によって選択されたアプリケーションに変更する。
【００４１】
更新部６４は、基準アプリであるアプリケーション１２１Ａの更新情報が存在するか否かをサーバー（図示しない）に問い合わせ、更新情報が存在する場合に後述する通信インターフェイス（図１２参照）（通信装置）を介して更新情報を受信し、当該更新情報に基づいてアプリケーション１２１Ａを更新する。問い合わせ先のサーバーは、たとえば、Bizhub Market Placeなどのクラウドサーバーである。サーバーから受信する更新情報には、たとえば、新たなデザイン定義が含まれている。更新部６４は、サーバーから受信したデザイン定義で基準アプリのデザイン定義１２５Ａを置き換える。基準アプリの更新は、定期的に実行されてもよいし、予め定められたスケジュールに基づいて実行されてもよい。
【００４２】
なお、比較部５０によるソースコードの比較機能、書換部５２によるソースコードの書き換え機能、および構成部５４によるユーザーインターフェイスの構成機能、受付部６０による基準アプリの選択受付機能、変更部６２による基準アプリの変更機能、および更新部６４による基準アプリの更新機能は、図４に示されるように変更アプリであるアプリケーション１２１Ｃに実装されてもよいし、これらの機能の一部または全部が他のアプリケーションに実装されてもよい。あるいは、これらの機能の一部または全部が、画像形成装置１００ではなく、他の装置に実行されてもよい。
【００４３】
［比較部５０］
図６および図７を参照して、図４に示される比較部５０について説明する。図６は、比較部５０に参照されるアプリ管理テーブル１２４の内容を示す図である。図７は、比較部５０に参照されるコントロールテーブル１２６の内容を示す図である。
【００４４】
比較部５０は、アプリ管理テーブル１２４を参照して基準アプリを特定し、コントロールテーブル１２６を参照して基準アプリの各コントロールの属性と、他のアプリケーションの各コントロールの属性とを比較する。
【００４５】
まず、図６に示されるアプリ管理テーブル１２４について説明する。アプリ管理テーブル１２４は、たとえば後述する記憶装置１２０（図１２参照）に格納されている。アプリ管理テーブル１２４は、画像形成装置１００にインストールされているアプリケーションを識別するためのアプリケーションＩＤ１２４Ａと、アプリケーション名１２４Ｂと、各アプリケーションの機能１２４Ｃと、各アプリケーションについて基準アプリであるか否かを示すフラグ１２４Ｄと、各アプリケーションについてデザインの変更可否を示すフラグ１２４Ｅと、各アプリケーションのインストール日１２４Ｆと、各アプリケーションのデザインの変更日１２４Ｇとを含む。
【００４６】
基準アプリであるか否かは、フラグ１２４Ｄに基づいて特定される。一例として、フラグ１２４Ｄが「１」を示すアプリケーションは、基準アプリであることを示す。フラグ１２４Ｄが「０」を示すアプリケーションは、基準アプリでないことを示す。フラグ１２４Ｄは、予め設定されていてもよいし、後述するように基準アプリの選択操作で変更されてもよい。
【００４７】
次に、図７に示されるコントロールテーブル１２６について説明する。コントロールテーブル１２６は、たとえば後述する記憶装置１２０（図１２参照）に格納されている。コントロールテーブル１２６には、アプリケーションを構成する各コントロールの属性が規定されている。より具体的には、コントロールテーブル１２６は、画像形成装置１００にインストールされているアプリケーションを識別するためのアプリケーションＩＤ１２６Ａと、各アプリケーションを構成する各コントロールのコントロールＩＤ１２６Ｂと、各コントロールの機能１２６Ｃと、各コントロールの種類１２６Ｄと、変更適用グループ１２６Ｅと、各コントロールのデザインの変更可否を示すフラグ１２６Ｆと、各コントロールに関するＨＴＭＬや画像の保存先１２６Ｇとを含む。
【００４８】
比較部５０は、アプリ管理テーブル１２４のフラグ１２４Ｄを参照して、基準アプリを特定する。以下では、アプリケーション１２１Ａ（図４参照）が基準アプリとして設定されているとする。比較部５０は、コントロールテーブル１２６を参照して、基準アプリであるアプリケーション１２１Ａの各コントロールの属性と、アプリケーション１２１Ｂの各コントロールの属性とを比較する。比較対象の属性は、たとえば、コントロールテーブル１２６の変更適用グループ１２６Ｅである。すなわち、比較部５０は、アプリケーション１２１Ａの各コントロールの変更適用グループ１２６Ｅと、アプリケーション１２１Ｂの各コントロールの変更適用グループ１２６Ｅとを比較する。比較部５０は、コントロール間で属性が一致しているか否かを比較結果として書換部５２に出力する。
【００４９】
なお、比較対象の属性は、変更適用グループ１２６Ｅに限定されず、他の属性（たとえば、各コントロールの機能１２６Ｃや種類１２６Ｄなど）であってもよい。
【００５０】
［書換部５２］
図８および図９を参照して、図４に示される書換部５２について説明する。図８は、コントロールのデザイン定義の一例を示す図である。
【００５１】
上述したように、比較部５０による比較処理によって、基準アプリおよび他のアプリケーション間で属性が一致するコントロールの組が特定される。書換部５２は、属性が一致するコントロールセットについてソースコード（デザイン定義）の格納場所を特定する。当該格納場所は、たとえば、コントロールテーブル１２６（図７参照）の保存先１２６Ｇに基づいて特定される。
【００５２】
図８には、属性が一致すると判断されたコントロールセットのデザイン定義１２５Ａ，１２５Ｂの一例が示されている。図８（Ａ）には、基準アプリであるアプリケーション１２１Ａ（図４参照）を構成するコントロールのデザイン定義１２５Ａが示されている。図８（Ｂ）には、アプリケーション１２１Ｂ（図４参照）を構成するコントロールのデザイン定義１２５Ｂが示されている。
【００５３】
デザイン定義１２５Ａ，１２５Ｂは、コントロールの一例であるボタンのデザインを規定している。書換部５２は、デザイン定義１２５Ａに規定されているボタンＩＤ１２７Ａに一致する記述を、デザイン定義１２５Ｂ内の記述から探索する。図８の例では、デザイン定義１２５Ｂ内のボタンＩＤ１２７ＢがボタンＩＤ１２７Ａに一致すると判断される。
【００５４】
書換部５２は、ボタンＩＤ１２７Ａに対応するボタン画像の参照先１３３Ａに合わせて、ボタンＩＤ１２７Ｂに対応するボタン画像の参照先１３３Ｂを書き換える。これにより、ボタン画像の参照先１３３Ｂが参照先１３３Ａに書き換えられる。その結果、上述の図２に示されるように、小サイズのボタンであるコントロール１３１Ｂが、大サイズのボタンであるコントロール１３０Ｂに合わせて、大サイズのボタンのコントロール１３１Ｂに変更される。これにより、アプリケーション１２１Ａ，１２１Ｂ間でボタンのサイズが統一される。
【００５５】
図９には、他のソースコードの書き換え例が示されている。図９は、ロゴのデザインを規定しているソースコードの一例を示す図である。
【００５６】
図９に示されるように、書換部５２は、基準アプリのログのデザインに合わせて、アプリケーション１２１Ｂのロゴを表わす画像の参照先１４０Ａを参照先１４０Ｂに書き換える。これにより、上述の図３に示されるようにアプリケーション１２１Ｂのロゴ画像１３４Ａがロゴ画像１３４Ｂに変わり、アプリケーション１２１Ａ，１２１Ｂ間でロゴのデザインが統一される。
【００５７】
好ましくは、書換部５２によるソースコードの書き換えは、アプリケーション１２１Ｂが実行されたタイミングで実行される。あるいは、書換部５２によるソースコードの書き換えは、たとえば、基準アプリであるアプリケーション１２１Ａがインストールされたタイミングや、アプリケーション１２１Ｂがインストールされたタイミングに実行される。
【００５８】
［受付部６０］
図１０を参照して、図４に示される受付部６０について説明する。上述したように、受付部６０は、画像形成装置１００にインストールされているアプリケーションの中から基準アプリの選択を受け付ける。一例として、受付部６０は、アプリケーションの選択画面によって基準アプリの選択を受け付ける。
【００５９】
図１０は、アプリケーションの選択画面１２９の一例を示す図である。選択画面１２９には、画像形成装置１００にインストールされているアプリケーションのアイコンの一覧が表示される。図１０の例では、選択画面１２９には、アイコン１４３Ａとアイコン１４３Ｂとが表示されている。
【００６０】
ユーザーは、アイコン１４３Ａおよびアイコン１４３Ｂのいずれかをタッチ操作で選択する。ユーザーがアイコン１４３Ａ，１４３Ｂのいずれかを選択すると、選択されたアイコンは、仮選択状態になる。図１０の例では、アイコン１４３Ａが仮選択された状態になっている。アイコン１４３Ａが仮選択された状態で、ユーザーが登録操作（たとえば、登録ボタンの押下など）を行なうと、アイコン１４３Ａに対応するアプリケーションが基準アプリとして登録される。
【００６１】
基準アプリとして登録されたアプリケーションは、アプリ管理テーブル１２４（図６参照）に登録される。より具体的には、基準アプリとして選択されたアプリケーションについてのフラグ１２４Ｄ（図６参照）が「０」から「１」に書き換えられる。このとき、好ましくは、他のアプリケーションについてのフラグ１２４Ｄは「１」から「０」に書き換えられる。
【００６２】
なお、基準アプリは、必ずしも、画像形成装置１００にインストールされている既存のアプリケーションの中から選択される必要はない。サーバーなどからインストールされた新たなアプリケーションが基準アプリとして登録されてもよい。この場合、上述の変更部６２（図４参照）は、新たな基準アプリがインストールされた場合に、基準アプリの設定を既定のアプリケーションから新たな基準アプリに変更する。これにより、各企業が独自に開発した基準アプリのデザインが他のアプリケーションに反映される。
【００６３】
また、基準アプリは、機能を有さなくてもよい。この場合、各コントロールのデザイン定義が基準アプリの機能に拘束されないので、基準アプリのソースコードに定義するコントロールの自由度が増す。そのため、基準アプリのデザインが他の様々なアプリケーションに適用され得る。
【００６４】
［アプリケーション間のデーターフロー］
図１１を参照して、アプリケーション間におけるデータの流れについて説明する。図１１は、アプリケーション間のデータの流れを示すシーケンス図である。
【００６５】
ステップＳ１０において、ユーザーは、アプリケーション１２１Ｂを実行したとする。アプリケーション１２１Ｂは、たとえばＩＷＳ（Internal  Web  Server）アプリである。ＩＷＳアプリとは、ブラウザー上で動作するアプリケーションのことをいう。アプリケーション１２１Ｂは、ブラウザーに起動指示を出力する。
【００６６】
ステップＳ１２において、ブラウザーは、アプリケーション１２１Ｂから起動指示を受け付けたことに基づいて起動する。ブラウザーは、変更アプリであるアプリケーション１２１Ｃに起動指示を出力する。
【００６７】
ステップＳ１４において、アプリケーション１２１Ｃは、ブラウザーから起動指示を受け付けたことに基づいて起動する。
【００６８】
ステップＳ２０において、アプリケーション１２１Ｃは、基準アプリとして設定されているアプリケーション１２１Ａから、アプリケーション１２１Ａのソースコード１２３Ａ（図４参照）を取得する。同時に、アプリケーション１２１Ｃは、アプリケーション１２１Ｂから、アプリケーション１２１Ｂのソースコード１２３Ｂ（図４参照）を取得する。その後、アプリケーション１２１Ｃの比較部５０（図４参照）は、ソースコード１２３Ａにおいて規定されているコントロールのデザイン定義１２５Ａ（図４参照）と、ソースコード１２３Ｂにおいて規定されているコントロールのデザイン定義１２５Ｂ（図４参照）とを比較する。比較部５０による比較処理は上述の通りであるので、その説明については繰り返さない。
【００６９】
ステップＳ２２において、アプリケーション１２１Ｃの書換部５２（図４参照）は、ステップＳ２０における比較結果に基づいて、デザイン定義１２５Ａに合わせてデザイン定義１２５Ｂを書き換える。書換部５２による書換処理は上述の通りであるので、その説明については繰り返さない。
【００７０】
ステップＳ２４において、アプリケーション１２１Ｃは、アプリケーション１２１Ｂのソースコード１２３Ｂの書き換えが完了したことをブラウザーに出力する。
【００７１】
ステップＳ３０において、ブラウザーは、書き換え後のソースコード１２３Ｂを読み込み、アプリケーション１２１Ｂのユーザーインターフェイスを表示する。
【００７２】
なお、図１１では、アプリケーション１２１Ｂが実行されたタイミングでソースコード１２３Ｂの書き換え処理が実行される例（静的処理）について説明したが、ソースコード１２３Ｂの書き換えタイミングは、図１１に示される例に限定されない。たとえば、ソースコード１２３Ｂの書き換え処理は、定期的に実行されていてもよい（動的処理）。この場合、アプリケーション１２１Ｂが実行されたタイミングでソースコード１２３Ｂの書換処理が実行される必要がないので、アプリケーション１２１Ｃの処理時間が短縮される。
【００７３】
［画像形成装置１００のハードウェア構成］
図１２を参照して、画像形成装置１００のハードウェア構成の一例について説明する。図１２は、画像形成装置１００の主要なハードウェア構成を示すブロック図である。
【００７４】
図１２に示されるように、画像形成装置１００は、制御装置１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、通信インターフェイス１０４と、操作パネル１０６と、記憶装置１２０とを含む。
【００７５】
制御装置１０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central  Processing  Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはそれらの組み合わせなどによって構成される。
【００７６】
制御装置１０１は、変更アプリであるアプリケーション１２１Ｃ（デザイン変更プログラム）などの各種プログラムを実行することで画像形成装置１００の動作を制御する。制御装置１０１は、アプリケーション１２１Ｃの実行命令を受け付けたことに基づいて、記憶装置１２０からＲＯＭ１０２にアプリケーション１２１Ｃの実行プログラムを読み出す。ＲＡＭ１０３は、ワーキングメモリとして機能し、アプリケーション１２１Ｃの実行に必要な各種データを一時的に格納する。
【００７７】
通信インターフェイス１０４には、アンテナ（図示しない）などが接続される。画像形成装置１００は、当該アンテナを介して、外部の通信機器との間でデータをやり取りする。外部の通信機器は、たとえば、スマートフォンなどの携帯通信端末、サーバーなどを含む。画像形成装置１００は、サーバーからアンテナを介して、基準アプリであるアプリケーション１２１Ａや変更アプリであるアプリケーション１２１Ｃをダウンロードできるように構成されてもよい。
【００７８】
操作パネル１０６は、ディスプレイ１０７とタッチパネル（図示しない）とで構成されている。ディスプレイ１０７およびタッチパネルは互いに重ねられており、操作パネル１０６は、画像形成装置１００に対する印刷操作やスキャン操作などをタッチ操作で受け付ける。
【００７９】
記憶装置１２０は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。記憶装置１２０は、アプリケーション１２１Ａ〜１２１Ｃ、アプリケーション１２１Ａ〜１２１Ｃのソースコード１２３Ａ〜１２３Ｃ、上述のアプリ管理テーブル１２４（図６参照）、上述のコントロールテーブル１２６（図７参照）、および後述する履歴テーブル１２８（図１４参照）などを格納する。なお、これらの格納場所は、記憶装置１２０に限定されず、たとえば、制御装置１０１の記憶領域（たとえば、キャッシュなど）、ＲＯＭ１０２、ＲＡＭ１０３、外部機器（たとえば、サーバー）などであってもよい。
【００８０】
変更アプリであるアプリケーション１２１Ｃは、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う制御処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うアプリケーション１２１Ｃの趣旨を逸脱するものではない。さらに、アプリケーション１２１Ｃによって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバーがアプリケーション１２１Ｃの処理の一部を実行する所謂クラウドサービスのような形態で画像形成装置１００が構成されてもよい。
【００８１】
［画像形成装置１００の制御構造］
図１３を参照して、画像形成装置１００の制御構造について説明する。図１３は、画像形成装置１００の制御装置１０１（図１２参照）が実行する処理を表わすフローチャートである。図１３の処理は、制御装置１０１が変更アプリであるアプリケーション１２１Ｃ（図４参照）を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【００８２】
ステップＳ５０において、制御装置１０１は、基準アプリではないアプリケーション１２１Ｂ（図４参照）の実行指示を受け付けたか否かを判断する。制御装置１０１は、アプリケーション１２１Ｂ（図４参照）の実行指示を受け付けたと判断した場合（ステップＳ５０においてＹＥＳ）、制御をステップＳ５２に切り替える。そうでない場合には（ステップＳ５０においてＮＯ）、制御装置１０１は、ステップＳ５０の処理を再び実行する。
【００８３】
ステップＳ５２において、制御装置１０１は、アプリケーション１２１Ｂのソースコード１２３Ｂ（図４参照）を取得する。
【００８４】
ステップＳ５４において、制御装置１０１は、基準アプリであるアプリケーション１２１Ａのソースコード１２３Ａ（図４参照）を取得する。
【００８５】
ステップＳ５６において、制御装置１０１は、デザインの変更対象のコントロールを決定する。デザインの変更対象のコントロールは、予め定められた順番に従って設定される。
【００８６】
ステップＳ６０において、制御装置１０１は、上述の比較部５０（図４参照）として、ステップＳ５６で設定されたコントロールに対応するコントロールが基準アプリに存在するか否かを判断する。当該判断は、たとえば、変更対象のコントロールの属性（たとえば、機能や種類）に一致するコントロールが基準アプリに存在するか否かで判断される。制御装置１０１は、ステップＳ５６で設定されたコントロールに対応するコントロールが基準アプリに存在すると判断した場合（ステップＳ６０においてＹＥＳ）、制御をステップＳ６２に切り替える。そうでない場合には（ステップＳ６０においてＮＯ）、制御装置１０１は、制御をステップＳ７０に切り替える。
【００８７】
ステップＳ６２において、制御装置１０１は、上述の書換部５２として、変更対象のコントロールのデザイン定義を、基準アプリにおける対応するコントロールのデザイン定義で書き換える。これにより、変更対象のコントロールが、基準アプリの対応するコントロールに変更される。
【００８８】
ステップＳ７０において、制御装置１０１は、アプリケーション１２１Ｂの全てのコントロールについてデザインの変更判断を行ったか否かを判断する。制御装置１０１は、アプリケーション１２１Ｂの全てのコントロールについてデザインの変更判断を行ったと判断した場合（ステップＳ７０においてＹＥＳ）、図１３に示される制御処理を終了する。そうでない場合には（ステップＳ７０においてＮＯ）、制御装置１０１は、制御をステップＳ５６に戻す。
【００８９】
［小括］
以上のようにして、本実施の形態に従う画像形成装置１００は、予め設定されている基準アプリのコントロールのデザインに合わせて、他のアプリケーションのコントロールのデザインを変える。これにより、各アプリケーション間のデザインが統一され、アプリケーションに対する誤操作が少なくなる。
【００９０】
＜第２の実施の形態＞
［概要］
第１の実施の形態に従う画像形成装置１００は、デザインが変更されたアプリケーションを元のデザインに戻すことができなかった。これに対して、第２の実施の形態に従う画像形成装置１００は、デザインが変更されたアプリケーションを元のデザインに戻すことができる。第２の実施の形態に従う画像形成装置１００のハードウェア構成などは第１の実施の形態に従う画像形成装置１００と同じであるので、それらの説明については繰り返さない。
【００９１】
［ユーザーインターフェイスのバージョンの変更方法］
図１４〜図１６を参照して、アプリケーションのユーザーインターフェイスのバージョンを元に戻す方法について説明する。図１４は、アプリケーションのデザインの変更履歴を管理するための履歴テーブル１２８の内容を示す図である。履歴テーブル１２８は、たとえば、記憶装置１２０（図１２参照）に格納されている。
【００９２】
変更アプリであるアプリケーション１２１Ｃ（図４参照）は、基準アプリに合わせて他のアプリケーションのデザインを変更する度に、変更前のアプリケーションに関する情報を履歴テーブル１２８に追加する。履歴テーブル１２８に追加される情報は、たとえば、アプリケーションのＩＤ１２８Ａと、アプリケーションのユーザーインターフェイスのバージョン１２８Ｂと、アプリケーションのデザインの更新日１２８Ｃと、変更前のアプリケーションのソースコード（図示しない）とを含む。
【００９３】
図１５および図１６を参照して、アプリケーションのユーザーインターフェイスのバージョンを前のバージョンに戻す方法について説明する。図１５は、ユーザーインターフェイスのバージョンを設定するための設定画面１６０の一例を示す図である。図１６は、ユーザーインターフェイスのバージョンが元に戻されている様子を示す図である。
【００９４】
設定画面１６０には、ユーザーインターフェイスのデザインが変更されたアプリケーションのアイコンの一覧が表示される。図１５の例では、設定画面１６０には、アイコン１４６Ａとアイコン１４６Ｂとが表示されている。
【００９５】
ユーザーは、アイコン１４３Ａおよびアイコン１４３Ｂのいずれかをタッチ操作で選択する。ユーザーがアイコン１４３Ａ，１４３Ｂのいずれかを選択すると、選択されたアイコンは、仮選択状態になる。図１５の例では、アイコン１４６Ａが仮選択された状態になっている。
【００９６】
アイコン１４６Ａが仮選択された状態で、ユーザーがプルダウンメニュー１４８を押下すると、アプリケーション１２１Ｃは、アイコン１４６Ａに対応するアプリケーションのバージョンの一覧を履歴テーブル１２８から取得し、取得したバージョンの一覧をプルダウンメニュー１４８に表示する。ユーザーは、プルダウンメニュー１４８に表示されたバージョンの一覧からいずれかのバージョンの選択することができる。いずれかのバージョンが選択されると、アプリケーション１２１Ｃは、アイコン１４６Ａに対応するアプリケーションと、選択されたバージョンに対応するソースコードとを対応付け、これらの対応関係を記憶する。これにより、アイコン１４６Ａに対応するアプリケーションが実行されたときに、対応するバージョンのソースコードが読み出され、当該バージョンに対応するユーザーインターフェイスが表示される。
【００９７】
たとえば、アイコン１４６Ａに対応するアプリケーションのバージョンが「Ｖｅｒ３．０．０」に設定されている状態で、当該アプリケーションが起動されると、アプリケーション１２１Ｃは、図１６に示されるユーザーインターフェイス１０７Ｄを表示する。アイコン１４６Ａに対応するアプリケーションのバージョンが「Ｖｅｒ２．１．１」に設定されている状態で、当該アプリケーションが起動されると、アプリケーション１２１Ｃは、図１６に示されるユーザーインターフェイス１０７Ｅを表示する。
【００９８】
なお、設定画面１６０には、プルダウンメニュー１４９（図１５参照）がさらに表示されてもよい。プルダウンメニュー１４９は、スクリーンセーバーに対応しているアプリケーションのアイコンが仮選択された場合に表示される。
【００９９】
たとえば、アイコン１４６Ａが仮選択されているとする。アイコン１４６Ａが仮選択された状態で、ユーザーがプルダウンメニュー１４９を押下すると、アプリケーション１２１Ｃは、スクリーンセーバーのバージョンの一覧をプルダウンメニュー１４８に表示する。ユーザーは、プルダウンメニュー１４８に表示されたバージョンの一覧からいずれかのバージョンを選択することができる。いずれかのバージョンが選択されると、アプリケーション１２１Ｃは、アイコン１４６Ａに対応するアプリケーションと、選択されたバージョンのスクリーンセーバーとを対応付け、これらの対応関係を記憶する。これにより、アイコン１４６Ａに対応するアプリケーションが待機状態になったときに、対応するバージョンのスクリーンセーバーが表示される。
【０１００】
［小括］
以上のようにして、第２の実施の形態に従う画像形成装置１００は、アプリケーションのユーザーインターフェイスのデザインを変更する度に、変更前のユーザーインターフェイスのデザインを保存する。これにより、画像形成装置１００は、アプリケーションのユーザーインターフェイスのデザインを任意のバージョンに戻すことができる。その結果、ユーザーは、自身の好みに合わせて、アプリケーションのユーザーインターフェイスのデザインを設定することができる。
【０１０１】
＜第３の実施の形態＞
［概要］
第１の実施の形態に従う画像形成装置１００は、基準アプリのデザインの適用先については選択できなかった。これに対して、第３の実施の形態に従う画像形成装置１００は、基準アプリのデザインを適用するアプリケーションを選択することができる。第３の実施の形態に従う画像形成装置１００のハードウェア構成などは第１の実施の形態に従う画像形成装置１００と同じであるので、それらの説明については繰り返さない。
【０１０２】
［アプリケーションの選択画面］
図１７を参照して、基準アプリのデザインの適用先を選択する方法について説明する。図１７は、基準アプリのデザインの適用先を選択するための選択画面１６２の一例を示す図である。
【０１０３】
選択画面１６２には、画像形成装置１００にインストールされているアプリケーションのアイコンの一覧が表示される。図１７の例では、選択画面１６２には、アイコン１５０Ａ〜１５０Ｉが表示されている。
【０１０４】
ユーザーは、アイコン１５０Ａ〜１５０Ｉの中から１つ以上のアイコンを選択することができる。選択されたアイコンは、仮選択状態になる。図１７の例では、アイコン１５０Ａ，１５０Ｄ，１５０Ｆが仮選択された状態になっている。アイコン１５０Ａ，１５０Ｄ，１５０Ｆが仮選択された状態で、ユーザーが登録操作（たとえば、登録ボタンの押下など）を行なうと、基準アプリのデザインの適用先として、アイコン１５０Ａ，１５０Ｄ，１５０Ｆに対応する各アプリケーションが登録される。
【０１０５】
登録されたアプリケーションは、上述のアプリ管理テーブル１２４（図６参照）に登録される。より具体的には、基準アプリのデザインを適用するアプリケーションについては、デザインの変更可否を示すフラグ１２４Ｅが「１」に設定される。他のアプリケーションについては、フラグ１２４Ｅが「０」に設定される。
【０１０６】
変更アプリであるアプリケーション１２１Ｃ（図４参照）は、フラグ１２４Ｅが「１」に設定されているアプリケーションについては、基準アプリのユーザーインターフェイスに合わせてデザインを変更する。一方で、アプリケーション１２１Ｃは、フラグ１２４Ｅが「０」に設定されているアプリケーションについては、ユーザーインターフェイスのデザインを変更しない。
【０１０７】
［小括］
以上のようにして、第３の実施の形態に従う画像形成装置１００は、基準アプリのデザインを適用するアプリケーションの選択を受け付ける。これにより、ユーザーは、デザインを統一したいアプリケーションや、デザインを変更したくないアプリケーションを任意に設定することができる。
【０１０８】
＜第４の実施の形態＞
［概要］
第１の実施の形態においては、基準アプリが１つだけ設定されていた。これに対して、第４の実施の形態においては、基準アプリが複数設定され得る。第４の実施の形態に従う画像形成装置１００のハードウェア構成などは第１の実施の形態に従う画像形成装置１００と同じであるので、それらの説明については繰り返さない。
【０１０９】
［基準アプリの設定画面］
図１８を参照して、複数の基準アプリの中から特定の基準アプリを選択する方法について説明する。図１８は、各アプリケーションに対して特定の基準アプリを設定するための設定画面１６４の一例を示す図である。
【０１１０】
選択画面１６２には、画像形成装置１００にインストールされているアプリケーションのアイコンの一覧が表示される。図１７の例では、アイコン１５５Ａ〜１５５Ｆが表示されている。
【０１１１】
ユーザーは、アイコン１５５Ａ〜１５５Ｆのいずれかをタッチ操作で選択することができる。選択されたアイコンは、仮選択状態になる。図１８の例では、アイコン１５５Ａが仮選択された状態になっている。アイコン１５５Ａが仮選択された状態で、ユーザーがプルダウンメニュー１５７を押下すると、変更アプリであるアプリケーション１２１Ｃ（図４参照）は、基準アプリの一覧をプルダウンメニュー１５７に表示する。
【０１１２】
ユーザーは、プルダウンメニュー１５７に表示された基準アプリの一覧からいずれかの基準アプリを選択することができる。図１８の例では、基準アプリ１５８が選択されている。基準アプリ１５８が選択されると、アプリケーション１２１Ｃは、アイコン１５５Ａに対応するアプリケーションと基準アプリ１５８とを対応付け、これらの対応関係を記憶する。これにより、アイコン１５５Ａに対応するアプリケーションのデザインが、基準アプリ１５８に合わせて変更される。
【０１１３】
［小括］
以上のようにして、第４の実施の形態に従う画像形成装置１００は、インストールされている各アプリケーションについて任意の基準アプリのデザインを適用することができる。これにより、ユーザーは、機能が類似するアプリケーションごとに適用する基準アプリを変えることができる。その結果、アプリケーションの操作性がさらに改善される。
【０１１４】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１１５】
５０  比較部、５２  書換部、５４  構成部、６０  受付部、６２  変更部、６４  更新部、１００  画像形成装置、１０１  制御装置、１０２  ＲＯＭ、１０３  ＲＡＭ、１０４  通信インターフェイス、１０６  操作パネル、１０７  ディスプレイ、１０７Ａ〜１０７Ｅ  ユーザーインターフェイス、１２０  記憶装置、１２１Ａ〜１２１Ｃ  アプリケーション、１２２  制御プログラム、１２３Ａ〜１２３Ｃ  ソースコード、１２４  アプリ管理テーブル、１２４Ａ，１２６Ａ  アプリケーションＩＤ、１２４Ｂ  アプリケーション名、１２４Ｃ，１２６Ｃ  機能、１２４Ｄ，１２４Ｅ，１２６Ｆ  フラグ、１２４Ｆ  インストール日、１２４Ｇ  変更日、１２５Ａ，１２５Ｂ  デザイン定義、１２６  コントロールテーブル、１２６Ｂ  コントロールＩＤ、１２６Ｄ  種類、１２６Ｅ  変更適用グループ、１２６Ｇ  保存先、１２８  履歴テーブル、１２８Ｂ  バージョン、１２８Ｃ  更新日、１２９，１６２  選択画面、１３０Ａ，１３０Ｂ，１３１Ａ，１３１Ｂ，１３２Ａ，１３２Ｂ  コントロール、１３３Ａ，１３３Ｂ，１４０Ａ，１４０Ｂ  参照先、１３４Ａ，１３４Ｂ  ロゴ画像、１４３Ａ，１４３Ｂ，１４６Ａ，１４６Ｂ，１５０Ａ〜１５０Ｉ，１５５Ａ〜１５５Ｆ  アイコン、１４８，１４９，１５７  プルダウンメニュー、１５８  基準アプリ、１６０，１６４  設定画面。
【図１】
2017173996.tif 000003
【図２】
2017173996.tif 000004
【図３】
2017173996.tif 000005
【図４】
2017173996.tif 000006
【図５】
2017173996.tif 000007
【図６】
2017173996.tif 000008
【図７】
2017173996.tif 000009
【図８】
2017173996.tif 000010
【図９】
2017173996.tif 000011
【図１０】
2017173996.tif 000012
【図１１】
2017173996.tif 000013
【図１２】
2017173996.tif 000014
【図１３】
2017173996.tif 000015
【図１４】
2017173996.tif 000016
【図１５】
2017173996.tif 000017
【図１６】
2017173996.tif 000018
【図１７】
2017173996.tif 000019
【図１８】
2017173996.tif 000020