(57)【要約】【課題】画像処理装置に画像処理動作を実行させる端末プログラムにおいて、端末プログラムの利用態様に合わせて外部プログラムを適切に報知する技術を提供する。【解決手段】端末プログラムは、動作特定情報を指定するユーザ操作を受け付ける第１受付処理（Ｓ１７／Ｓ１８）と、動作特定情報で特定される内容の画像処理動作を指定装置に実行させる動作指示処理（Ｓ２４）と、第１受付処理及び動作指示処理の実行履歴を示す履歴情報を前記メモリに記憶させる記憶処理と、複数のプログラム識別情報のうち、メモリに記憶された履歴情報に合致する抽出条件情報に対応付けられたプログラム識別情報を抽出する抽出処理と、抽出処理で抽出したプログラム識別情報を表示させる表示処理（Ｓ１９）とを携帯端末に実行させる。【選択図】図４
2018132798.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、入力インタフェースと、通信インタフェースと、ディスプレイとを備える携帯端末によって実行可能なプログラムであって、
該プログラムは、
画像処理装置に実行させる画像処理動作の内容を特定する動作特定情報を指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理と、
前記通信インタフェースを通じて前記携帯端末と通信可能な前記画像処理装置に、前記動作特定情報で特定される内容の前記画像処理動作を実行させる動作指示処理と、
前記第１受付処理及び前記動作指示処理の実行履歴を示す履歴情報を前記メモリに記憶させる記憶処理とを前記携帯端末に実行させ、
前記メモリは、プログラム識別情報及び抽出条件情報の複数のセットを記憶しており、前記プログラム識別情報は、前記携帯端末にインストール可能で且つ前記画像処理装置に前記画像処理動作を指示可能な外部プログラムを識別し、前記抽出条件情報は、前記メモリに記憶され得る前記履歴情報に対応し、
該プログラムは、
複数の前記プログラム識別情報のうち、前記メモリに記憶された前記履歴情報に合致する前記抽出条件情報に対応付けられた前記プログラム識別情報を抽出する抽出処理と、
前記抽出処理で抽出した前記プログラム識別情報を、前記ディスプレイに表示させる表示処理とを前記携帯端末にさらに実行させるプログラム。
【請求項２】
該プログラムは、
前記第１受付処理において、前記通信インタフェースを通じて通信可能な複数の前記画像処理装置のうちの１つを、指定装置として指定するユーザ操作を受け付け、
前記動作指示処理において、前記指定装置に前記画像処理動作を実行させ、
前記記憶処理において、前記指定装置が実行可能な前記画像処理動作を示す前記履歴情報を前記メモリに記憶させ、
前記抽出処理において、前記履歴情報で示される前記画像処理動作を前記画像処理装置に指示可能な前記外部プログラムの前記プログラム識別情報を抽出する請求項１に記載のプログラム。
【請求項３】
前記履歴情報は、前記指定装置が第１動作及び第２動作を実行可能なことを示し、
該プログラムは、
前記抽出処理において、前記第１動作及び前記第２動作の少なくとも一方を指示可能な前記外部プログラムの前記プログラム識別情報を抽出し、
前記表示処理において、前記第１動作及び前記第２動作の両方を指示可能な前記外部プログラムの前記プログラム識別情報を、前記第１動作及び前記第２動作の一方を指示可能な前記外部プログラムの前記プログラム識別情報より優先して表示する請求項２に記載のプログラム。
【請求項４】
前記履歴情報は、該プログラムが前記画像処理装置に指示不可能な非対応動作を、前記指定装置が実行可能なことを示し、
該プログラムは、前記抽出処理において、前記非対応動作を指示可能な前記外部プログラムの前記プログラム識別情報を抽出する請求項２又は３に記載のプログラム。
【請求項５】
該プログラムは、第１動作及び第２動作を指示可能であり、
該プログラムは、
前記第１受付処理において、前記第１動作及び前記第２動作のうちの一方を、指定動作として指定するユーザ操作を受け付け、
前記動作指示処理において、前記第１受付処理で指定された前記指定動作を前記画像処理装置に実行させ、
前記記憶処理において、前記第１受付処理で指定された前記指定動作を示す前記履歴情報を前記メモリに記憶させ、
前記履歴情報が前記第１動作を示す場合の前記抽出処理において、前記第１動作のみを指示可能な前記外部プログラムの前記プログラム識別情報を抽出する請求項１から４のいずれかに記載のプログラム。
【請求項６】
該プログラムは、
前記第１受付処理において、複数の項目それぞれに対応する複数のパラメータを指定するユーザ操作を受け付け、
前記動作指示処理において、前記第１受付処理で指定された複数の前記パラメータで示される実行条件に従って、前記画像処理装置に前記画像処理動作を実行させ、
前記記憶処理において、前記第１受付処理で指定された複数の前記パラメータを示す前記履歴情報を前記メモリに記憶させ、
前記履歴情報が特定項目の特定パラメータを示す場合の前記抽出処理において、前記特定パラメータを含む実行条件に従った前記画像処理動作に特化した前記外部プログラムの前記プログラム識別情報を抽出する請求項１から５のいずれかに記載のプログラム。
【請求項７】
該プログラムは、
前記第１受付処理において、前記画像処理動作の対象となる指定データの取得元を指定するユーザ操作を受け付け、
前記動作指示処理において、前記第１受付処理で指定された前記取得元から取得した前記指定データを対象とする前記画像処理動作を前記画像処理装置に実行させ、
前記記憶処理において、前記第１受付処理で指定された前記取得元から前記指定データを取得できたか否かを示す前記履歴情報を前記メモリに記憶させ、
インターネット上の前記取得元から前記指定データを取得できなかったことを前記履歴情報が示す場合の前記抽出処理において、当該取得元から前記指定データを取得するのに特化した前記外部プログラムの前記プログラム識別情報を抽出する請求項１から６のいずれかに記載のプログラム。
【請求項８】
該プログラムは、
前記第１受付処理において、前記画像処理動作の対象となる指定データを指定するユーザ操作を受け付け、
前記第１受付処理で第１形式の前記指定データが指定されたことに応じて、インターネット上のサーバに当該指定データを前記第１形式から第２形式に変換させる変換処理を前記携帯端末に実行させ、
前記動作指示処理において、前記変換処理で前記第２形式に変換された前記指定データを対象とする前記画像処理動作を前記画像処理装置に実行させ、
前記記憶処理において、前記変換処理で前記指定データの形式が変換できたか否かを示す前記履歴情報を前記メモリに記憶させ、
前記指定データの形式が変換できなかったことを前記履歴情報が示す場合の前記抽出処理において、前記指定データを前記第１形式から前記第２形式に変換する前記外部プログラムの前記プログラム識別情報を抽出する請求項１から７のいずれかに記載のプログラム。
【請求項９】
該プログラムは、前記表示処理において、前記抽出処理で抽出した複数の前記プログラム識別情報を、前記第１受付処理及び前記動作指示処理中に発生したエラーを解消可能な前記外部プログラム、該プログラムが指示不可能な非対応動作を指示可能な前記外部プログラム、及び該プログラムが指示可能な対応動作に特化した前記外部プログラムの順に表示させる請求項５から８のいずれかに記載のプログラム。
【請求項１０】
該プログラムは、前記表示処理において、前記携帯端末にインストールされていない前記外部プログラムの前記プログラム識別情報を、前記携帯端末にインストールされた前記外部プログラムの前記プログラム識別情報より優先して表示させる請求項１から９のいずれかに記載のプログラム。
【請求項１１】
前記携帯端末にインストールされた前記外部プログラムは、インターネット上のサーバで公開されたアップデートモジュールを用いてアップデート可能であり、
該プログラムは、前記表示処理において、閾値時間以内にアップデートされた前記外部プログラムの前記プログラム識別情報を、前記閾値時間以内にアップデートされていない前記外部プログラムの前記プログラム識別情報より優先して表示させる請求項１から１０のいずれかに記載のプログラム。
【請求項１２】
該プログラムは、前記表示処理において、前記携帯端末にインストールされている前記外部プログラムの前記プログラム識別情報を、前記携帯端末からアンインストールされた前記外部プログラムの前記プログラム識別情報より優先して表示させる請求項１から１０のいずれかに記載のプログラム。
【請求項１３】
該プログラムは、前記表示処理において、前記抽出処理で抽出した前記プログラム識別情報が記述されたオブジェクトを表示させ、前記オブジェクトには、記述された前記プログラム識別情報で識別される前記外部プログラムが対応付けられており、
該プログラムは、
前記表示処理で表示された前記オブジェクトを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第２受付処理と、
前記第２受付処理で指定された前記オブジェクトに対応付けられた前記外部プログラムが前記携帯端末にインストールされているか否かを判断する判断処理と、
前記判断処理でインストールされていると判断したことに応じて、当該外部プログラムを起動する起動処理と、
前記判断処理でインストールされていないと判断したことに応じて、当該外部プログラムを前記携帯端末にインストールするインストール処理とを前記携帯端末に実行させる請求項１から１２のいずれかに記載のプログラム。
【請求項１４】
該プログラムは、前記表示処理において、前記抽出処理で前記プログラム識別情報を抽出した理由を示すテキストを、当該プログラム識別情報と対応付けて表示させる請求項１から１３のいずれかに記載のプログラム。
【請求項１５】
メモリと、
入力インタフェースと、
通信インタフェースと、
ディスプレイと、
コントローラとを備える携帯端末であって、
前記コントローラは、
画像処理装置に実行させる画像処理動作の内容を特定する動作特定情報を指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理と、
前記通信インタフェースを通じて該携帯端末と通信可能な前記画像処理装置に、前記動作特定情報で特定される内容の前記画像処理動作を実行させる動作指示処理と、
前記第１受付処理及び前記動作指示処理の実行履歴を示す履歴情報を前記メモリに記憶させる記憶処理とを実行し、
前記メモリは、プログラム識別情報及び抽出条件情報の複数のセットを記憶しており、前記プログラム識別情報は、前記携帯端末にインストール可能で且つ前記画像処理装置に前記画像処理動作を指示可能な外部プログラムを識別し、前記抽出条件情報は、前記メモリに記憶され得る前記履歴情報に対応し、
前記コントローラは、
前記メモリに記憶された複数の前記プログラム識別情報のうち、前記メモリに記憶された前記履歴情報に合致する前記抽出条件情報に対応付けられた前記プログラム識別情報を抽出する抽出処理と、
前記抽出処理で抽出した前記プログラム識別情報を、前記ディスプレイに表示させる表示処理とをさらに実行する携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に画像処理動作を実行させる携帯端末のプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、画像処理装置に画像処理動作を実行させる端末プログラムが開示されている。また、特許文献１に開示された端末プログラムは、端末プログラムの機能を代替する外部プログラム、或いは端末プログラムの機能を補完する外部プログラム等を起動することができる。より詳細には、外部プログラムは、画像処理動作の対象となる画像データを編集するインタフェースを提供するもの、端末プログラムに実装された一部の機能に特化したもの等がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０３７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、インターネット上に公開されている外部プログラムの数は、どんどん増加している。すなわち、ユーザにとって便利な機能を提供する外部プログラムが存在したとしても、当該外部プログラムを見つけることは難しくなっている。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、画像処理装置に画像処理動作を実行させるプログラムにおいて、当該プログラムの機能を代替或いは補完する外部プログラムを、当該プログラムの利用態様に合わせて適切に報知する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の一例であるプログラムは、メモリと、入力インタフェースと、通信インタフェースと、ディスプレイとを備える携帯端末によって実行可能である。該プログラムは、画像処理装置に実行させる画像処理動作の内容を特定する動作特定情報を指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理と、前記通信インタフェースを通じて前記携帯端末と通信可能な前記画像処理装置に、前記動作特定情報で特定される内容の前記画像処理動作を実行させる動作指示処理と、前記第１受付処理及び前記動作指示処理の実行履歴を示す履歴情報を前記メモリに記憶させる記憶処理とを前記携帯端末に実行させる。前記メモリは、プログラム識別情報及び抽出条件情報の複数のセットを記憶している。前記プログラム識別情報は、前記携帯端末にインストール可能で且つ前記画像処理装置に前記画像処理動作を指示可能な外部プログラムを識別する。前記抽出条件情報は、前記メモリに記憶され得る前記履歴情報に対応する。該プログラムは、複数の前記プログラム識別情報のうち、前記メモリに記憶された前記履歴情報に合致する前記抽出条件情報に対応付けられた前記プログラム識別情報を抽出する抽出処理と、前記抽出処理で抽出した前記プログラム識別情報を、前記ディスプレイに表示させる表示処理とを前記携帯端末にさらに実行させる。
【０００７】
上記構成によれば、ユーザが指定した動作特定情報に従って画像処理装置に画像処理動作を実行させた実行履歴に基づいて、複数の外部プログラムのうちの一部がユーザに報知される。すなわち、インターネット上に公開された多数の外部プログラムのうち、当該プログラムを通じてユーザが実現したいことに合致する外部プログラムの存在を、ユーザに認識させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図であり、図２（Ｂ）は携帯端末５０のブロック図である。
【図３】図３は、メモリ６２に記憶されたプログラムリストを示す図である。
【図４】図４は、メイン処理のフローチャートである。
【図５】図５は、デバイス選択処理のフローちゃーである。
【図６】図６は、優先度決定処理Ａのフローチャートである。
【図７】図７は、優先度決定処理Ｂのフローチャートである。
【図８】図８は、プリント処理のフローチャートである。
【図９】図９は、ディスプレイ５３の表示例であって、（Ａ）はメイン画面を、（Ｂ）は取得元選択画面を示す。
【図１０】図１０は、ディスプレイ５３の表示例であって、（Ａ）はデータ選択画面を、（Ｂ）は指定データ“見積書．ＰＤＦ”に対応するプレビュー画面を示す。
【図１１】図１１は、ディスプレイ５３の表示例であって、（Ａ）は指定データ“写真．ＪＰＥＧ”に対応するプレビュー画面を、（Ｂ）は設定画面を示す。
【図１２】図１２は、ディスプレイ５３の表示例であって、（Ａ）はログイン画面を、（Ｂ）は優先度決定処理Ａで決定した優先度に従ったアプリ紹介画面を示す。
【図１３】図１３は、優先度決定処理Ｂで決定した優先度に従ったアプリ紹介画面の表示例であって、（Ａ）はアプリ紹介画面の上半分を、（Ｂ）はアプリ紹介画面の下半分を示す。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１０】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０Ａ、１０Ｂ（以下、これらを総称して、「ＭＦＰ１０」と表記することがある。）と、携帯端末５０とで構成されている。ＭＦＰ１０及び携帯端末５０は、通信ネットワーク１０１を通じて通信可能に構成されている。通信ネットワーク１０１は、例えば、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。または、ＭＦＰ１０及び携帯端末５０は、ＵＳＢケーブル等によって接続されていてもよい。
【００１１】
ＭＦＰ１０は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、画像処理装置の一例である。
【００１２】
プリンタ１１は、画像データで示される画像を被記録媒体に記録するプリント動作を実行するハードウェアである。本実施形態では、インクを吐出して画像を記録するインクジェット方式のプリンタ１１の例を説明するが、プリンタ１１の記録方式は電子写真方式等であってもよい。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行するハードウェアである。プリント動作及びスキャン動作は、画像処理動作の一例である。プリント動作は第１動作の一例であり、スキャン動作は第２動作の一例である。
【００１３】
なお、画像処理動作の具体例はこれらに限定されない。画像処理動作は、例えば、ＦＡＸプロトコルに従って画像データを外部装置にＦＡＸ送信するＦＡＸ送信動作、ＦＡＸプロトコルに従って外部装置から画像データをＦＡＸ受信するＦＡＸ受信動作等であってもよい。また、ＭＦＰ１０Ａ、１０Ｂは、少なくとも１つの動作を実行可能であればよい。さらに、ＭＦＰ１０Ａ、１０Ｂが実行可能な動作は、異なっていてもよい。
【００１４】
プリンタ１１は、所定の実行条件に従ってプリント動作を実行する。プリント動作の実行条件は、複数の項目（例えば、“サイズ”、“用紙種”、“色”）それぞれに対応する複数のパラメータによって特定される。項目“サイズ”は、画像を記録するシートのサイズ（例えば、“Ａ４”、“Ｂ５”、“Ｌ版”、“はがき”等）を示す。項目“用紙種”は、画像を記録するシートの種類（例えば、“普通紙”、“光沢紙”等）を示す。項目“色”は、シートに記録する画像の色の階調（例えば、“カラー”、“モノクロ”）を示す。
【００１５】
また、プリント動作は、被記録媒体の一例である記録用紙に対して画像を記録するシートプリント動作と、被記録媒体の一例であるレーベル（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）の表面に画像を記録するレーベルプリント動作とを含む。すなわち、レーベルプリント動作を実行可能なＭＦＰ１０のプリンタ１１は、被記録媒体に画像を記録する記録位置に、記録用紙のみならず、レーベルを搬送するハードウェアを備えている。
【００１６】
スキャナ１２は、所定の実行条件に従ってスキャン動作を実行する。スキャン動作の実行条件は、複数の項目（例えば、“解像度”、“色”、“形式”）それぞれに対応する複数のパラメータによって特定される。項目“解像度”は、原稿に記録された画像を読み取る際の読取解像度（例えば、“３００ｄｐｉ”、“６００ｄｐｉ”等）を示す。項目“色”は、読み取った画像の色の階調（例えば、“モノクロ”、“２５６色”、“フルカラー”等）を示す。項目“形式”は、スキャンデータのファイル形式（例えば、“ＰＤＦ”、“ＴＩＦＦ”、“ＪＰＥＧ”等）を示す。
【００１７】
また、スキャン動作は、記録用紙に記録された画像を読み取ってスキャンデータを生成するシートスキャン動作と、レーベルに記録された画像を読み取ってスキャンデータを生成するレーベルスキャン動作とを含む。すなわち、レーベルスキャン動作を実行可能なＭＦＰ１０は、スキャンデータで示される画像上において、レーベルの中心位置を特定する画像処理機能を備えている。
【００１８】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１９】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００２０】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
【００２１】
通信Ｉ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。また、ＭＦＰ１０及び携帯端末５０がＵＳＢケーブルで接続される場合、通信Ｉ／Ｆ２５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。
【００２２】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種情報、通信Ｉ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２３】
メモリ３２は、ＯＳ３４と、装置プログラム３５とを記憶している。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２４】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末５０のメモリ６２についても同様である。
【００２５】
メモリ３２のＭＩＢ（Management Information Baseの略）は、図１に示される装置情報を記憶している。装置情報は、ＭＦＰ１０を識別する装置ＩＤと、ＭＦＰ１０が実行可能な画像処理動作を識別する動作ＩＤとを含む。なお、「装置ＩＤ」とは、通信ネットワーク１０１上において、ＭＦＰ１０Ａ、１０Ｂを一意に識別することができれば、テキスト形式、バイナリ形式等の形式は問わない。動作ＩＤについても同様である。
【００２６】
すなわち、装置ＩＤ“ＭＦＰ−Ａ”で識別されるＭＦＰ１０Ａは、動作ＩＤ“シートプリント”、“シートスキャン”で識別されるシートプリント動作及びシートスキャン動作を実行可能である。一方、装置ＩＤ“ＭＦＰ−Ｂ”で識別されるＭＦＰ１０Ｂは、動作ＩＤ“シートプリント”、“レーベルプリント”で識別されるシートプリント動作及びレーベルプリント動作を実行可能である。
【００２７】
携帯端末５０は、図２（Ｂ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。携帯端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。ＣＰＵ６１及びメモリ６２は、コントローラの一例である。
【００２８】
携帯端末５０は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末５０のディスプレイ５３は、表示画面のサイズが１２インチ以下、より好ましくは８インチ以下であるのが望ましい。また、携帯端末５０の入力Ｉ／Ｆ５４は、ディスプレイ５３の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ６２は、ＯＳ６４と、端末プログラム６５と、１以上の外部プログラム６６と、インストーラ６７とを記憶している。
【００２９】
ＯＳ６４は、例えば、Ａｎｄｒｏｉｄ（登録商標）  ＯＳ、ｉＯＳ（登録商標）、Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ（登録商標）  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ等であってもよい。ＯＳ６４は、携帯端末５０にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、ＯＳ６４は、並行して実行する複数のプログラムのうちの１つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。
【００３０】
フォアグラウンドは、例えば、当該プログラムの実行に拠る画面がディスプレイ５３の表示領域の大部分に表示されている状態である。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠る画面がディスプレイ５３の表示領域の大部分に表示されている状態である。すなわち、携帯端末５０は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行に拠る画面のみをディスプレイ５３に表示させることができる。
【００３１】
端末プログラム６５は、通信Ｉ／Ｆ５５を通じて接続されたＭＦＰ１０に、画像処理動作を実行させるプログラムである。より詳細には、端末プログラム６５は、動作特定情報（例えば、後述する指定装置情報、指定動作ＩＤ、指定データＩＤ、指定条件情報）をユーザに指定させ、指定された動作特定情報で特定される内容の画像処理動作をＭＦＰ１０に実行させる。なお、本実施形態に係る端末プログラム６５は、対応動作の一例であるシートプリント動作及びシートスキャン動作をＭＦＰ１０に実行させることができ、非対応動作の一例であるレーベルプリント動作及びレーベルスキャン動作をＭＦＰ１０に実行させることができない。
【００３２】
また、端末プログラム６５は、携帯端末５０にインストールされた外部プログラム６６を起動することができる。端末プログラム６５は、例えば、外部プログラム６６のプログラムＩＤを引数として指定して、ＯＳ６４が提供するＡＰＩ（以下、「起動ＡＰＩ」と表記する。）を実行する。ＯＳ６４は、起動ＡＰＩが実行されたことに応じて、指定されたプログラムＩＤで識別される外部プログラム６６を起動する。なお、端末プログラム６５は、外部プログラム６６を所謂プラグインとして起動してもよいし、ＯＳ６４が提供する共有機能によって外部プログラム６６を起動してもよい。
【００３３】
外部プログラム６６は、端末プログラム６５と同じ携帯端末５０で動作するプログラムである。また、外部プログラム６６は、端末プログラム６５とは別個のプログラムで且つ独立して実行可能なプログラムである。すなわち、外部プログラム６６は、端末プログラム６５のサブルーチンとは異なる。さらに、端末プログラム６５によって起動された外部プログラム６６は、所定の動作を実行して実行結果を起動ＡＰＩの戻り値として端末プログラム６５に引き渡してもよいし、動作の実行結果を端末プログラム６５に引き渡さずに処理を完結してもよい。
【００３４】
本実施形態では、外部プログラム６６の具体例として、年賀状アプリ、連携アプリ、メールプリントアプリ、ＰＤＦ変換アプリ、レーベルアプリ、プリント専用アプリの例を説明する。但し、外部プログラム６６の具体例はこれらに限定されない。外部プログラム６６は、例えば、端末プログラム６５に実装されていない機能が実装されているもの、端末プログラム６５に実装された機能を簡単に実現できるもの、端末プログラム６５に実装された機能をさらに詳細化したもの等である。
【００３５】
年賀状アプリは、はがき（典型的には、年賀状）の通信面に記録する画像（以下、「通信面画像」と表記する。）をユーザの指示に従って編集し、編集した通信面画像をはがきの通信面に記録させるシートプリント動作をＭＦＰ１０に実行させることに特化した外部プログラム６６である。年賀状アプリは、例えば、通信面画像を編集する指示のバリエーション（例えば、写真、差出人情報、任意の文字列をテンプレート画像に合成）が、端末プログラム６５より多い。
【００３６】
連携アプリは、通信Ｉ／Ｆ５５を通じて通信可能な複数のＭＦＰ１０のうち、ユーザが予め指定した第１装置及び第２装置を、連携して動作させることに特化した外部プログラム６６である。連携アプリは、例えば、第１装置にシートスキャン動作を実行させ、シートスキャン動作で生成されたスキャンデータを第１装置から取得し、第１装置から取得したスキャンデータを対象とするシートプリント動作を第２装置に実行させることができる。すなわち、連携アプリは、連携して動作させる複数のＭＦＰ１０をユーザに指定させる独自のユーザインタフェースを備える。
【００３７】
メールプリントアプリは、所定のアカウント宛てのメールをメールサーバから取得し、取得したメールを対象とするシートプリント動作をＭＦＰ１０に実行させることに特化した外部プログラム６６である。メールプリントアプリは、例えば、取得可能なメールのドメインの種類が、端末プログラム６５より多い。また、メールプリントアプリは、例えば、エラーが発生した時のメッセージやヘルプが端末プログラム６５より詳細である。
【００３８】
ＰＤＦ変換アプリは、シートプリント動作の対象となるデータをＰＤＦ形式からＪＰＥＧ形式に変換する機能が実装された外部プログラム６６である。ＰＤＦ形式は第１形式の一例であり、ＪＰＥＧ形式は第２形式の一例である。「形式の変換」とは、例えば、ＰＤＦ形式のデータで示される画像の内容を実質的に変更せずに、データ形式をＰＤＦ形式からＪＰＥＧ形式に変換する処理（以下、「変換処理」と表記する。）である。
【００３９】
なお、変換処理は、インターネット上の不図示の変換サーバに実行させることもできる。但し、変換サーバは、データサイズが５０ＭＢ未満のデータを対象する変換処理のみを実行可能である。一方、ＰＤＦ変換アプリには、前述の制限がない。５０ＭＢは、閾値サイズの一例である。また、変換サーバによる変換処理の制限は、データサイズのみならず、ＰＤＦ形式のデータに含まれるページ数（例えば、２０ページ）であってもよい。
【００４０】
レーベルアプリは、レーベルプリント動作及びレーベルスキャン動作を、ＭＦＰ１０に実行させることに特化した外部プログラム６６である。レーベルアプリは、例えば、レーベルスキャン動作によって生成されたスキャンデータをＭＦＰ１０から取得し、取得したスキャンデータをユーザの指示に従って編集し、編集したスキャンデータを対象とするレーベルプリント動作をＭＦＰ１０に実行させる。すなわち、レーベルアプリは、端末プログラム６５の非対応動作であるレーベルプリント動作及びレーベルスキャン動作を、ＭＦＰ１０に指示することができる。
【００４１】
プリント専用アプリは、ＭＦＰ１０にシートプリント動作を実行させることに特化した外部プログラム６６である。より詳細には、プリント専用アプリは、複数の画像処理動作のうちのシートプリント動作のみをＭＦＰ１０に指示可能なプログラムである。プリント専用アプリは、例えば、デフォルトの実行条件（例えば、サイズ“Ａ４”、用紙種“普通紙”、色“カラー”）でＭＦＰ１０にシートプリント動作を実行させるために必要なユーザ操作が、端末プログラム６５より少ない。また、プリント専用アプリは、例えば、指定可能な実行条件のバリエーション（例えば、項目の数、各項目のパラメータの数）が、端末プログラム６５より多い。
【００４２】
インストーラ６７は、外部プログラム６６を携帯端末５０にインストールするためのプログラムである。インストーラ６７は、例えば、指定された外部プログラム６６の実行ファイルをインターネット上のサーバからダウンロードし、ダウンロードした実行ファイルをメモリ６２の所定の領域に記憶させる。インストーラ６７に実装された機能は既に周知なので、詳細な説明は省略する。
【００４３】
メモリ６２は、例えば図３に示されるように、プログラムリストを記憶することができる。プログラムリストは、１以上のプログラムレコードを含む。プログラムレコードは、例えば、端末プログラム６５のインストール時にメモリ６２に記憶される。プログラムレコードは、端末プログラム６５が起動可能な複数の外部プログラム６６のうちの１つに対応する。プログラムレコードは、アプリＩＤと、機能情報と、インストール情報と、抽出条件情報とを含むセットの一例である。
【００４４】
アプリＩＤ、機能情報、及び抽出条件情報は、例えば、端末プログラム６５の開発者によって予め定められた情報である。一方、インストール情報は、例えば、後述するＳ２３等でＯＳ６４或いは端末プログラム６５によって設定される情報である。また、プログラムレコードは、複数の中秋条件情報を含んでもよい。
【００４５】
アプリＩＤは、端末プログラム６５が起動可能な外部プログラム６６を識別するプログラム識別情報の一例である。すなわち、年賀状アプリはアプリＩＤ“年賀状”で識別され、連携アプリはアプリＩＤ“連携”で識別され、メールプリントアプリはアプリＩＤ“メールプリント”で識別され、ＰＤＦ変換アプリはアプリＩＤ“ＰＤＦ変換”で識別され、レーベルアプリはアプリＩＤ“レーベル”で識別され、プリント専用アプリはアプリＩＤ“プリント専用”で識別される。
【００４６】
機能情報は、アプリＩＤで識別される外部プログラム６６がＭＦＰ１０に指示可能な画像処理動作を示す。すなわち、機能情報は、外部プログラム６６がＭＦＰ１０に指示可能な画像処理動作の動作ＩＤを含む。また、外部プログラム６６が指示可能な画像処理装置は、１つでもよいし、複数でもよい。
【００４７】
インストール情報は、アプリＩＤで識別される外部プログラム６６が携帯端末５０にインストールされているか否かを示す情報である。本実施形態に係るインストール情報には、外部プログラム６６が携帯端末５０にインストールされていないことを示す“未インストール”、外部プログラム６６が携帯端末５０にインストールされていることを示す“インストール済”、或いは携帯端末５０に一旦インストールされた外部プログラム６６が既にアンインストールされていることを示す“アンインストール済”が設定される。
【００４８】
抽出条件情報は、アプリＩＤで識別される外部プログラム６６を、後述するアプリ紹介画面を通じて紹介するための条件を示す。抽出条件情報は、重要度と、抽出条件と、オススメ理由とを示す。重要度は、例えば、外部プログラム６６をユーザに紹介する必要性の高さを示す。抽出条件は、アプリ紹介画面を通じて外部プログラム６６を紹介するための条件を示す。抽出条件は、例えば、後述する履歴情報に含まれる履歴の種類及び数を示す。抽出条件の詳細は、後述する。オススメ理由は、外部プログラムを紹介する理由を示すテキストである。
【００４９】
重要度には、例えば、最も高い値“高”、２番目に高い値“中”、或いは最も低い値 “低”が設定される。一例として、端末プログラム６５の処理中に発生したエラーを解消可能な外部プログラム６６（例えば、メールプリントアプリ、ＰＤＦ変換アプリ）の重要度には、設定値“高”が設定される。他の例として、端末プログラム６５の非対応動作を指示可能な外部プログラム６６（例えば、レーベルアプリ）の重要度には、設定値“中”が設定される。さらに他の例として、端末プログラム６５の対応動作に特化した外部プログラム６６（例えば、年賀状アプリ、連携アプリ、プリント専用アプリ）の重要度には、設定値“低”が設定される。
【００５０】
一例として、抽出条件「シートサイズ＝はがき」とは、項目“サイズ”のパラメータ“はがき”を含む実行条件に従ったシートプリント動作を指示したことを示す履歴情報に対応する。項目“サイズ”は特定項目の一例であり、パラメータ“はがき”は特定パラメータの一例である。特定項目“サイズ”の特定パラメータ“はがき”は、例えば、年賀状アプリが指定装置にシートプリント動作を実行させる際に、変更すべきでないパラメータである。特定項目及び特定パラメータは、外部プログラム６６毎に予め定められており、外部プログラム６６のソースコード或いは設定ファイル等に定義されている。すなわち、特定項目及び特定パラメータは、外部プログラム６６毎に異なってもよい。また、特定項目及び特定パラメータは、複数であってもよい。
【００５１】
他の例として、抽出条件「プリント、スキャンを別デバイスで実行」とは、シートプリント動作及びシートスキャン動作を異なるＭＦＰ１０に指示したことを示す履歴情報に対応する。他の例として、抽出条件「ログインエラー」とは、インターネット上の不図示のメールサーバのログイン画面に、誤ったアカウント情報（例えば、アカウント及びパスワードの組み合わせ）が入力されたことを示す履歴情報に対応する。他の例として、抽出条件「サイズエラー」は、変換サーバに５０ＭＢ以上のデータの変換処理を指示したことに対応する。
【００５２】
他の例として、抽出条件「サーバ変換＝５回」は、変換サーバに変換処理を５回指示したことを示す履歴情報に対応する。他の例として、抽出条件「レーベル対応デバイス」は、レーベルプリント動作或いはレーベルスキャン動作を実行可能なＭＦＰ１０が指定装置に指定されたことを示す履歴情報に対応する。さらに他の例として、抽出条件「プリント回数＝５回」とは、ＭＦＰ１０にシートプリント動作を５回指示したことを示す履歴情報に対応する。
【００５３】
また図示は省略するが、メモリ６２は、指定装置情報を記憶することができる。指定装置情報は、後述するデバイス選択処理で指定されたＭＦＰ１０のＭＩＢに記憶された装置情報である。以下、指定装置情報に含まれる装置ＩＤを「指定装置ＩＤ」と表記し、指定装置ＩＤで識別されるＭＦＰ１０を「指定装置」と表記することがある。一方、ＭＦＰ１０が指定されていないとき、メモリ６２には、指定装置情報が記憶されていない。指定装置情報は、動作特定情報の一例である。
【００５４】
また図示は省略するが、メモリ６２は、指定条件情報を記憶することができる。指定条件情報は、画像処理動作の実行条件を示す。すなわち、メモリ６２には、対応動作であるシートプリント動作及びシートスキャン動作それぞれの指定条件情報が記憶されている。端末プログラム６５は、後述するＳ９０〜Ｓ９１において、ユーザの指示に従って指定条件情報を編集することができる。指定条件情報は、動作特定情報の一例である。
【００５５】
また図示は省略するが、メモリ６２は、履歴情報を記憶することができる。履歴情報は、ユーザが動作特定情報を指定したこと、及び指定装置に画像処理動作を指示したこと等を示す情報である。端末プログラム６５は、例えば、Ｓ３５、Ｓ８５、Ｓ９６、Ｓ９７において、履歴情報をメモリ６２に記憶させる。履歴情報は、図４〜図８に示される処理が繰り返し実行されることによって、メモリ６２に累積される情報である。
【００５６】
また図示は省略するが、メモリ６２は、デバイス変更フラグを記憶している。デバイス変更フラグは、後述するメイン画面を直近に表示させてから現在までに、指定装置が切り替えられたか否かを示す情報である。デバイス変更フラグには、直近にメイン画面を表示させてから指定装置が切り替えられたことを示す第１値“ＯＮ”、或いは直近にメイン画面を表示させてから指定装置が切り替えられていないことを示す第２値“ＯＦＦ”が設定される。デバイス変更フラグの初期値は、第２値“ＯＦＦ”である。
【００５７】
また図示は省略するが、メモリ６２は、プログラムリストに登録された複数の外部プログラム６６それぞれに対応付けて、複数の理由フラグを記憶している。理由フラグは、後述するアプリ紹介画面において、外部プログラム６６に対応するアプリアイコンにオススメ理由を記述するか否かを示す情報である。理由フラグには、オススメ理由を記述することに対応する第３値“ＯＮ”、或いはオススメ理由を記述しないことに対応する第４値“ＯＦＦ”が設定される。理由フラグの初期値は、第４値である。
【００５８】
さらに図示は省略するが、メモリ６２には、データフォルダが設けられていてもよい。データフォルダには、例えば、写真データ、文書データ、プレゼンテーションデータ、表計算データ等が格納されていてもよい。データフォルダに記憶されている各種データは、プリント動作の対象となり得るデータである。
【００５９】
［システム１００の動作］
図４〜図８を参照して、本実施形態に係るシステム１００の動作を説明する。なお、図４のメイン処理を開始する時点において、メモリ６２には指定装置情報及び履歴情報が記憶されていないものとする。また、携帯端末５０には、年賀状アプリ、ＰＤＦ変換アプリ、及びレーベルアプリが未だインストールされておらず、連携アプリ及びメールプリントアプリがインストールされており、プリント専用アプリが既にアンインストールされているものとする。
【００６０】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００６１】
まず、携帯端末５０のＯＳ６４は、不図示のメニュー画面をディスプレイ５３に表示させる。メニュー画面は、携帯端末５０にインストールされたプログラムに対応するプログラムアイコンを含む。すなわち、メニュー画面には、端末プログラム６５、連携アプリ、及びメールプリントアプリそれぞれに対応するプログラムアイコンが少なくとも表示される。そして、ＯＳ６４は、メニュー画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。
【００６２】
一例として、ＯＳ６４は、連携アプリに対応するプログラムアイコンの指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、連携アプリを起動させ、且つ当該連携アプリをフォアグラウンドで実行する。他の例として、ＯＳ６４は、端末プログラム６５に対応するプログラムアイコンの指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、端末プログラム６５を起動させ、且つ当該端末プログラム６５をフォアグラウンドで実行する。以下、端末プログラム６５に対応するプログラムアイコンが指定された場合の処理を説明する。
【００６３】
［メイン処理］
端末プログラム６５は、ＯＳ６４によって起動されたことに応じて、図４に示されるメイン処理を実行する。まず、端末プログラム６５は、履歴情報が特定履歴を含むか否かを判断する（Ｓ１１）。特定履歴は、Ｓ８５、Ｓ９７でメモリ６２に記憶されるエラー履歴と、Ｓ９６でメモリ６２に記憶される動作履歴とを指す。一方、本実施形態に係る特定履歴は、Ｓ３５でメモリ６２に記憶される指定装置履歴を含まない。
【００６４】
そして、端末プログラム６５は、履歴情報が特定履歴を含まないと判断したことに応じて（Ｓ１１：なし）、図６を参照して後述する優先度決定処理Ａを実行する（Ｓ１２）。一方、端末プログラム６５は、履歴情報が特定履歴を含むと判断したことに応じて（Ｓ１１：あり）、図７を参照して後述する優先度決定処理Ｂを実行する（Ｓ１３）。Ｓ１２、Ｓ１３の処理は、抽出処理の一例である。
【００６５】
次に、端末プログラム６５は、優先度決定処理Ａ、Ｂで優先度を“１”に決定した外部プログラム６６が存在するか否かを判断する（Ｓ１４）。そして、端末プログラム６５は、優先度を“１”に決定した外部プログラム６６が存在すると判断したことに応じて（Ｓ１４：あり）、図９（Ａ）に示されるように、オススメ画像１１５を含むメイン画面をディスプレイ５３に表示させる（Ｓ１５）。一方、端末プログラム６５は、優先度を“１”に決定した外部プログラム６６が存在しないと判断したことに応じて（Ｓ１４：なし）、オススメ画像１１５を含まないメイン画面をディスプレイ５３に表示させる（Ｓ１６）。そして、端末プログラム６５は、メイン画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１７）。Ｓ１７の処理は、第１受付処理の一例である。
【００６６】
メイン画面は、動作アイコン１１１、１１２と、切替アイコン１１３と、［アプリ］アイコン１１４とを含む。指定装置情報がメモリ６２に記憶されていない場合のメイン画面は、端末プログラム６５の対応動作に対応する動作アイコンを含む。すなわち、動作アイコン１１１はシートプリント動作の実行指示に対応し、動作アイコン１１２はシートスキャン動作の実行指示に対応する。切替アイコン１１３は、指定装置の切替指示に対応する。指定装置情報がメモリ６２に記憶されていない場合の切替アイコン１１３には、指定装置が選択されていないことを示す「未選択」の文字列が記述される。［アプリ］アイコン１１４は、アプリ紹介画面の表示指示に対応する。オススメ画像１１５は、優先度＝“１”の外部プログラム６６が存在することを報知するための画像であって、［アプリ］アイコン１１４に対応付けて表示される。
【００６７】
次に、端末プログラム６５は、例えば、切替アイコン１１３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１７：切替）、デバイス選択処理を実行する（Ｓ１８）。デバイス選択処理は、ユーザの指示に従って指定装置を切り替える処理である。図５を参照して、デバイス選択処理の詳細を説明する。
【００６８】
［デバイス選択処理］
まず、端末プログラム６５は、例えば、ＳＮＭＰ（Simple Network Management Protocolの略）を用いて、通信Ｉ／Ｆ５５を通じて通信が可能な複数のＭＦＰ１０を検索する（Ｓ３１）。具体的には、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて通信ネットワーク１０１に送信要求情報をブロードキャストする。次に、端末プログラム６５は、送信要求情報の応答としてＭＦＰ１０Ａ、１０Ｂが送信した装置情報を、通信Ｉ／Ｆ５５を通じて受信する。すなわち、端末プログラム６５は、装置情報の送信元のＭＦＰ１０Ａ、１０Ｂを、通信可能なＭＦＰ１０として特定する。なお、通信可能なＭＦＰ１０を検索する方法は、周知の他の方法であってもよい。
【００６９】
次に、端末プログラム６５は、不図示のデバイス選択画面をディスプレイ５３に表示させる（Ｓ３２）。デバイス選択画面は、Ｓ３１で発見したＭＦＰ１０Ａ、１０Ｂに対応するデバイスアイコンを含む。そして、端末プログラム６５は、デバイス選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ３３）。デバイスアイコンのタップは、動作特定情報を指定するユーザ操作の一例である。
【００７０】
そして、端末プログラム６５は、例えば、ＭＦＰ１０Ａに対応するデバイスアイコンの指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３３：Ｙｅｓ）、ＭＦＰ１０Ａから受信した装置情報を、指定装置情報としてメモリ６２に記憶させる（Ｓ３４）。メモリ６２に既に指定装置情報が記憶されている場合、端末プログラム６５は、当該指定装置情報を新たな指定装置情報で上書きする。次に、端末プログラム６５は、新たな指定装置が指定されたことを示す指定装置履歴（例えば、指定装置情報）を、履歴情報としてメモリ６２に記憶させる（Ｓ３５）。Ｓ３５の処理は、記憶処理の一例である。さらに、端末プログラム６５は、デバイス変更フラグに第１値“ＯＮ”を設定する（Ｓ３６）。
【００７１】
次に図４に戻って、端末プログラム６５は、Ｓ１１〜Ｓ１６の処理を実行する。ＭＦＰ１０Ａに対応するデバイスアイコンが指定された後において、端末プログラム６５は、ＭＦＰ１０Ａが実行可能なシートプリント動作及びシートスキャン動作に対応する動作アイコン１１１、１１２と、指定装置ＩＤ“ＭＦＰ−Ａ”が記述された切替アイコン１１３と、［アプリ］アイコン１１４とを含むメイン画面を、ディスプレイ５３に表示させる（Ｓ１５、Ｓ１６）。
【００７２】
次に、端末プログラム６５は、例えば、動作アイコン１１１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１７：プリント）、動作アイコン１１１に対応付けられたシートプリント動作の動作ＩＤ“シートプリント”を、指定動作ＩＤとしてメモリ６２に記憶させ、プリント処理を実行する（Ｓ２４）。指定動作ＩＤは、動作特定情報の一例である。指定動作ＩＤで識別される画像処理動作は、指定動作の一例である。動作アイコン１１１のタップは、動作特定情報を指定するユーザ操作の一例である。プリント処理は、指定動作であるシートプリント動作を指定装置に実行させるための処理である。図８を参照して、プリント処理の詳細を説明する。
【００７３】
［プリント処理］
まず、端末プログラム６５は、図９（Ｂ）に示される取得元選択画面をディスプレイ５３に表示させる（Ｓ８１）。取得元選択画面は、シートプリント動作の対象となるデータの取得元に対応する取得元アイコン１２１、１２２、１２３を含む。取得元アイコン１２１はメモリ６２に対応し、取得元アイコン１２２はインターネット上の不図示のストレージサーバに対応し、取得元アイコン１２３はインターネット上の不図示のメールサーバに対応する。そして、端末プログラム６５は、取得元選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ８２）。Ｓ８２の処理は、第１受付処理の一例である。
【００７４】
次に、端末プログラム６５は、例えば、取得元アイコン１２１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８２：その他）、Ｓ８３〜Ｓ８５の処理をスキップして、図１０（Ａ）に示されるデータ選択画面をディスプレイ５３に表示させる（Ｓ８６）。データ選択画面は、データアイコン１３１、１３２、１３３を含む。データアイコン１３１〜１３３は、メモリ６２に記憶されているデータの１つに対応する。そして、端末プログラム６５は、データ選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ８７）。Ｓ８７の処理は、第１受付処理の一例である。
【００７５】
次に、端末プログラム６５は、例えば、データアイコン１３３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８７：Ｙｅｓ）、データアイコン１３３に対応付けられたデータＩＤ“見積書．ＰＤＦ”を、指定データＩＤとしてメモリ６２に一時記憶させる。指定データＩＤは、動作特定情報の一例である。データアイコン１３３のタップは、動作特定情報を指定するユーザ操作の一例である。次に、端末プログラム６５は、図１０（Ｂ）に示されるプレビュー画面をディスプレイ５３に表示させる（Ｓ８８）。そして、端末プログラム６５は、プレビュー画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ８９）。Ｓ８９の処理は、第１受付処理の一例である。
【００７６】
プレビュー画面は、プレビュー画像１４１と、［設定］アイコン１４２と、［プリント］アイコン１４３を含む。プレビュー画像１４１は、指定データＩＤで識別される指定データ“見積書．ＰＤＦ”で示される画像を、シートプリント動作の指定条件情報で示される実行条件に従ってシートに記録した状態を示す画像である。［設定］アイコン１４２は、シートプリント動作の指定条件情報の編集指示に対応する。［プリント］アイコン１４３は、シートプリント動作の実行指示に対応する。
【００７７】
次に、端末プログラム６５は、例えば、［プリント］アイコン１４３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８９：プリント）、指定データＩＤで識別される指定データのデータ形式がＰＤＦ形式か否かを判断する（Ｓ９２）。そして、端末プログラム６５は、指定データ“見積書．ＰＤＦ”がＰＤＦ形式だと判断したことに応じて（Ｓ９２：Ｙｅｓ）、指定データのデータサイズを判断する（Ｓ９３）。
【００７８】
そして、端末プログラム６５は、指定データ“見積書．ＰＤＦ”のデータサイズが５０ＭＢ未満だと判断したことに応じて（Ｓ９３：Ｙｅｓ）、指定データ“見積書．ＰＤＦ”に対する変換処理を変換サーバに要求する（Ｓ９４）。より詳細には、端末プログラム６５は、指定データ“見積書．ＰＤＦ”を含む変換要求情報を、通信Ｉ／Ｆ５５を通じて変換サーバに送信する。そして、端末プログラム６５は、ＪＥＰＧ形式に変換された指定データ“見積書．ＰＤＦ”を、変換要求情報の応答として、通信Ｉ／Ｆ５５を通じて変換サーバから受信する。Ｓ９４の処理は、変換処理の一例である。
【００７９】
次に、端末プログラム６５は、指定装置であるＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてプリント指示情報を送信する（Ｓ９５）。プリント指示情報は、ユーザが指定した動作特定情報で特定される内容の画像処理動作の実行を指示する動作指示情報の一例である。ここでのプリント指示情報は、ＪＰＥＧ形式に変換された指定データ“見積書．ＰＤＦ”と、シートプリント動作の実行条件を示す指定条件情報とを含む。Ｓ９５の処理は、動作指示処理の一例である。
【００８０】
一方図示は省略するが、指定装置であるＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて携帯端末５０からプリント指示情報を受信する。そして、装置プログラム３５は、受信したプリント指示情報に従ったプリント動作を、プリンタ１１に実行させる。すなわち、プリンタ１１は、指定条件情報で示される実行条件に従って、ＪＰＥＧ形式の指定データで示される画像をシートに記録する。
【００８１】
次に、端末プログラム６５は、Ｓ９５で指定装置に指定動作を指示したことを示す動作履歴（例えば、指定装置ＩＤ“ＭＦＰ−Ａ”、指定動作ＩＤ“シートプリント”、指定データＩＤ“見積書．ＰＤＦ”、指定条件情報）を、履歴情報としてメモリ６２に記憶させる（Ｓ９６）。また、端末プログラム６５は、ＰＤＦ形式の指定データが５０ＭＢ以上だと判断したことに応じて（Ｓ９３：Ｎｏ）、Ｓ９４〜Ｓ９６の処理に代えて、５０ＭＢ以上のＰＤＦファイルが指定データに指定されたことを示すサイズエラー履歴（例えば、指定データＩＤ、指定データのデータサイズ）を、履歴情報としてメモリ６２に記憶させる（Ｓ９７）。Ｓ９６、Ｓ９７の処理は、記憶処理の一例である。
【００８２】
また、端末プログラム６５は、図１０（Ａ）に示されるデータ選択画面において、データアイコン１３１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８７：Ｙｅｓ）、データアイコン１３１に対応付けられたデータＩＤ“写真．ＪＰＥＧ”を、指定データＩＤとしてメモリ６２に一時記憶させる。次に、端末プログラム６５は、図１１（Ａ）に示されるプレビュー画面をディスプレイ５３に表示させる（Ｓ８８）。図１１（Ａ）に示されるプレビュー画面は、指定データ“写真．ＪＰＥＧ”で示される画像をシートに記録した状態を示すプレビュー画像１４４を含む点で図１０（Ｂ）と相違し、その他の点で図１０（Ｂ）と共通する。
【００８３】
次に、端末プログラム６５は、例えば、［設定］アイコン１４２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８９：設定）、図１１（Ｂ）に示される設定画面をディスプレイ５３を表示させる（Ｓ９０）。設定画面は、プルダウンメニュー１５１、１５２、１５３と、実行条件を確定させる指示に対応する［ＯＫ］アイコン１５４とを含む。そして、端末プログラム６５は、設定画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ９１）。Ｓ９１の処理は、第１受付処理の一例である。
【００８４】
プルダウンメニュー１５１〜１５３は、シートプリント動作の実行条件を構成する複数の項目“サイズ”、“用紙種”、“色”それぞれに対応する。プルダウンメニュー１５１〜１５３は、対応する項目に対して指定可能な複数のパラメータのうちの１つが指定された状態になっている。そして、指定されたパラメータ“Ａ４”、“普通紙”、“カラー”は、プルダウンメニュー１５１〜１５３に表示される。［設定］アイコン１４２がタップされた時点の設定画面において、プルダウンメニュー１５１〜１５３には、シートプリント動作の指定条件情報に含まれるパラメータが表示される。
【００８５】
項目“サイズ”に対応するプルダウンメニュー１５１は、パラメータの候補“Ａ４”、“Ｂ５”、“Ｌ版”、“はがき”に対応する４つの選択肢を有する。項目“用紙種”に対応するプルダウンメニュー１５２は、パラメータの候補“普通紙”、“光沢紙”に対応する２つの選択肢を有する。項目“色”に対応するプルダウンメニュー１５３は、パラメータの候補“カラー”、“モノクロ”に対応する２つの選択肢を有する。
【００８６】
端末プログラム６５は、例えば、プルダウンメニュー１５１〜１５３で指定されたパラメータを変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、変更後のパラメータを対応するプルダウンメニュー１５１〜１５３に表示させる。また、端末プログラム６５は、［ＯＫ］アイコン１５４の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ９１：Ｙｅｓ）、プルダウンメニュー１５１〜１５３に表示されたパラメータで、シートプリント動作の指定装置情報に含まれるパラメータを上書きする。
【００８７】
そして、端末プログラム６５は、Ｓ８８以降の処理を実行する。そして、端末プログラム６５は、指定データ“写真．ＪＰＥＧ”がＰＤＦ形式でないと判断したことに応じて（Ｓ９２：Ｎｏ）、Ｓ９３、Ｓ９４の処理をスキップして、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａにプリント指示情報を送信する（Ｓ９５）。ここでのプリント指示情報は、指定データ“写真．ＪＰＥＧ”と、シートプリント動作の指定条件情報とを含む。その他の処理は、前述の説明と共通する。
【００８８】
また、端末プログラム６５は、図９（Ｂ）に示される取得元選択画面において、取得元アイコン１２３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ８２：メール）、図１２（Ａ）に示されるログイン画面をディスプレイ５３に表示させる（Ｓ８３）。ログイン画面は、アカウント名の入力を受け付けるためのテキストボックス１６１と、パスワードの入力を受け付けるためのテキストボックス１６２と、［ログイン］アイコン１６３とを含む。そして、端末プログラム６５は、ログイン画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ８４）。
【００８９】
次に、端末プログラム６５は、例えば、不図示のソフトウェアキーボードを通じてアカウント名及びパスワードの入力を受け付けたことに応じて、入力された文字列をテキストボックス１６１、１６２に表示させる。また、端末プログラム６５は、［ログイン］アイコン１６３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、入力されたアカウント情報を含むログイン要求情報を、通信Ｉ／Ｆ５５を通じてメールサーバに送信する。次に、端末プログラム６５は、正しいアカウント情報が入力されたことを示すログイン成功情報、或いは誤ったアカウント情報が入力されたことを示すログイン失敗情報を、ログイン要求情報の応答として、通信Ｉ／Ｆ５５を通じてメールサーバから受信する。
【００９０】
そして、端末プログラム６５は、ログイン成功情報を受信したことに応じて、Ｓ８５の処理に代えて、メールサーバに記憶されたメールに対応するデータアイコンを含むデータ選択画面を、ディスプレイ５３に表示させる（Ｓ８６）。Ｓ８７以降の処理は、前述の説明と共通する。一方、端末プログラム６５は、ログイン失敗情報を受信したことに応じて（Ｓ８４：Ｎｏ）、メールサーバへのログインに失敗したこと（換言すれば、メールサーバから指定データを取得できないこと）を示すログインエラー履歴を、履歴情報としてメモリ６２に記憶させる（Ｓ８５）。Ｓ８５の処理は、記憶処理の一例である。そして、端末プログラム６５は、Ｓ８１以降の処理を実行する。
【００９１】
また図示は省略するが、端末プログラム６５は、図９（Ｂ）に示されるメイン画面において、動作アイコン１１２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、動作アイコン１１２に対応付けられたシートスキャン動作の動作ＩＤ“シートスキャン”を、指定動作ＩＤとしてメモリ６２に記憶させる。そして、端末プログラム６５は、指定動作であるシートスキャン動作を指定装置に実行させるためのスキャン処理を実行する。また、端末プログラム６５は、スキャン処理において、シートスキャン動作の動作特定情報をユーザが指定したこと、及び指定装置にシートスキャン動作を指示したこと等を示す履歴情報を、メモリ６２に記憶させる。
【００９２】
次に図４に戻って、端末プログラム６５は、図９（Ａ）に示されるメイン画面において、［アプリ］アイコン１１４の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１７：アプリ）、アプリ紹介画面をディスプレイ５３に表示させる（Ｓ１９）。アプリ紹介画面は、優先度決定処理Ａ、Ｂで抽出された外部プログラム６６に対応するアプリアイコンを含む。そして、端末プログラム６５は、アプリ紹介画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ２０）。Ｓ１９の処理は表示処理の一例であり、Ｓ２０の処理は第２受付処理の一例である。
【００９３】
次に、端末プログラム６５は、例えば、アプリアイコンを指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ２０：Ｙｅｓ）、指定されたアプリアイコンに対応する外部プログラム６６（以下、「対象アプリ」と表記する。）が携帯端末５０に既にインストールされているか否かを判断する（Ｓ２１）。すなわち、端末プログラム６５は、対象アプリのプログラムレコードに含まれるインストール情報の設定値を判断すればよい。Ｓ２１の処理は、判断処理の一例である。
【００９４】
次に、端末プログラム６５は、対象アプリのプログラムレコードに含まれるインストール情報に“インストール済”が設定されていることに応じて（Ｓ２１：Ｙｅｓ）、対象アプリを起動する（Ｓ２２）。すなわち、端末プログラム６５は、対象アプリを識別するアプリＩＤを引数として指定して起動ＡＰＩを実行する。Ｓ２２の処理は、起動処理の一例である。そして、ＯＳ６４は、端末プログラム６５を終了すると共に、対象アプリを起動させ且つ当該対象アプリをフォアグラウンドで実行する。
【００９５】
一方、端末プログラム６５は、対象アプリのプログラムレコードに含まれるインストール情報に“未インストール”、“アンインストール済”が設定されていることに応じて（Ｓ２１：Ｎｏ）、対象アプリを携帯端末５０にインストールする（Ｓ２３）。より詳細には、端末プログラム６５は、対象アプリを識別するアプリＩＤを引数として指定してインストーラ６７を起動する。Ｓ２３の処理は、インストール処理の一例である。次に、端末プログラム６５によって起動されたインストーラ６７は、対象アプリの実行ファイルをサーバからダウンロードし、ダウンロードした実行ファイルをメモリ６２の所定の領域に記憶させる。そして、インストーラ６７は、対象アプリＩＤに対応するインストール情報に“インストール済”を設定する。
【００９６】
［優先度決定処理Ａ］
図６に示される優先度決定処理Ａは、履歴情報が特定履歴を含まない場合において、複数の外部プログラム６６それぞれの優先度を決定する処理である。優先度決定処理Ａにおける優先度は、外部プログラム６６に対応するアプリアイコンをアプリ紹介画面に表示するか否か、及びアプリアイコンの表示順序を決定するためのパラメータである。なお、優先度は、“１”が最も高く、“５”が最も低いものとする。以下、ＭＦＰ１０Ａの装置情報が指定装置情報としてメモリ６２に記憶されており、且つデバイス変更フラグに第２値“ＯＦＦ”が設定されているものとして、優先度決定処理Ａの詳細を説明する。
【００９７】
まず、端末プログラム６５は、メモリ６２に指定装置情報が記憶されているか否かを判断する（Ｓ４１）。そして、端末プログラム６５は、メモリ６２に指定装置情報が記憶されていると判断したことに応じて（Ｓ４１：あり）、プログラムリストに登録された複数のプログラムレコードそれぞれを対象として、Ｓ４２〜Ｓ５０の処理を実行する。
【００９８】
端末プログラム６５は、プログラムリストに登録された全てのプログラムレコードを読み出す（Ｓ４２）。次に、端末プログラム６５は、読み出したプログラムレコードそれぞれで示される外部プログラム６６が指示可能な画像処理動作と、指定装置が実行可能な画像処理動作とを比較する（Ｓ４３）。すなわち、端末プログラム６５は、読み出したプログラムレコードそれぞれの機能情報に含まれる動作ＩＤと、指定装置情報に含まれる動作ＩＤとを比較する。
【００９９】
端末プログラム６５は、アプリＩＤ“年賀状”、“連携”を含むプログラムレコードの機能情報が、指定装置情報に含まれる全ての動作ＩＤを含むので（Ｓ４３：全サポート）、年賀状アプリ及び連携アプリの優先度を“１”に決定する（Ｓ４４）。また、端末プログラム６５は、アプリＩＤ“メールプリント”、“ＰＤＦ変換”、“プリント専用”を含むプログラムレコードの機能情報が、指定装置情報に含まれる動作ＩＤの一部“シートプリント”のみを含むので（Ｓ４３：一部サポート）、メールプリントアプリ、ＰＤＦ変換アプリ、及びプリント専用アプリの優先度を“２”に決定する（Ｓ４５）。さらに、端末プログラム６５は、アプリＩＤ“レーベル”を含むプログラムレコードの機能情報が、指定装置情報に含まれる動作ＩＤのいずれをも含まないので（Ｓ４３：未サポート）、レーベルプログラムの優先度を“５”に決定する（Ｓ４６）。
【０１００】
すなわち、端末プログラム６５は、指定装置が実行可能な画像処理動作の全てを指示可能な外部プログラム６６の優先度（Ｓ４４）を、指定装置が実行可能な画像処理動作の一部のみを指示可能な外部プログラム６６の優先度（Ｓ４５）より高くする。また、端末プログラム６５は、指定装置が実行可能な画像処理動作の少なくとも一部を指示可能な外部プログラム６６の優先度（Ｓ４４、Ｓ４５）を、指定装置が実行可能な画像処理動作を全く指示できない外部プログラム６６の優先度（Ｓ４６）より高くする。
【０１０１】
次に、端末プログラム６５は、デバイス変更フラグの設定値を判断する（Ｓ４７）。そして、端末プログラム６５は、デバイス変更フラグに第１値“ＯＮ”が設定されていると判断したことに応じて（Ｓ４７：ＯＮ）、Ｓ４９〜Ｓ５０の処理に代えて、デバイス変更フラグに第２値“ＯＦＦ”を設定して（Ｓ４８）、優先度決定処理Ａを終了する。一方、端末プログラム６５は、デバイス変更フラグに第２値“ＯＦＦ”が設定されていると判断したことに応じて（Ｓ４７：ＯＦＦ）、Ｓ４２で読み出したプログラムレコードそれぞれのインストール情報の設定値を判断する（Ｓ４９）。但し、優先度を“５”に決定したレーベルプログラムについては、Ｓ４９〜Ｓ５０の処理がスキップされる。
【０１０２】
そして、端末プログラム６５は、インストール情報に“インストール済”、“アンインストール済”が設定された連携アプリ、メールプリントアプリ、プリント専用アプリの優先度を“４”に変更する（Ｓ４９：Ｎｏ→Ｓ５０）。一方、端末プログラム６５は、インストール情報に“未インストール”が設定された年賀状アプリの優先度を変更しない（Ｓ４９：Ｙｅｓ）。換言すれば、端末プログラム６５は、Ｓ４９〜Ｓ５０において、インストール情報に“未インストール”が設定された外部プログラム６６の優先度（Ｓ４４、Ｓ４５）を、インストール情報に“インストール済”、“アンインストール済”が設定された外部プログラム６６の優先度（Ｓ５０）より高くする。
【０１０３】
さらに以降の詳細な説明は省略するが、端末プログラム６５は、メモリ６２に指定装置情報が記憶されていないと判断したことに応じて（Ｓ４１：なし）、Ｓ４２〜Ｓ５０の処理に代えて、アプリ紹介画面に含めるアプリアイコンの配列を、予め定められたデフォルト配列に決定する。デフォルト配列は、例えば、プログラムリストに登録されたプログラムレコードの順序であってもよい。
【０１０４】
そして、端末プログラム６５は、Ｓ１９において、優先度決定処理Ａによって決定した優先度に従って、図１２（Ｂ）に示されるアプリ紹介画面をディスプレイ５３に表示させる。すなわち、端末プログラム６５は、相対的に優先度の高い外部プログラム６６に対応するアプリアイコンを、相対的に優先度の低い外部プログラム６６に対応するアプリアイコンより優先して表示させる。「優先して表示」するとは、例えば、アプリ紹介画面上において、配列順（例えば、上から下）の前方に表示することでもよい。また、図１２（Ｂ）のプリ離礁下位画面では、優先度“５”に決定されたレーベルアプリに対応するアプリアイコンが表示されない。
【０１０５】
換言すれば、端末プログラム６５は、プログラムリストに登録されたアプリＩＤのうち、優先度“１”に決定した外部プログラム６６のアプリＩＤを抽出し、抽出したアプリＩＤが記述されたアプリアイコンを、配列順の先頭に表示させる。次に、端末プログラム６５は、優先度“２”に決定した外部プログラム６６のアプリＩＤを抽出し、抽出したアプリＩＤが記述されたアプリアイコンを、優先度“１”のアプリアイコンより配列順の後方に表示させる。以降、優先度“３”、“４”についても同様である。一方、端末プログラム６５は、優先度“５”に決定した外部プログラム６６のアプリＩＤを抽出しない。
【０１０６】
前述の例において、端末プログラム６５は、優先度“１”に決定された年賀状アプリに対応するアプリアイコン１７１、優先度“２”に決定されたＰＤＦ変換アプリに対応するアプリアイコン１７２、優先度“４”に決定された連携アプリ、メールプリントアプリ、及びプリント専用アプリに対応するアプリアイコン１７３、１７４、１７５を、この順に配列する。なお、優先度が同一の複数のアプリアイコンの配列順序は、例えば、前述のデフォルト配列に従ってもよい。
【０１０７】
［優先度決定処理Ｂ］
図７に示される優先度決定処理Ｂは、履歴情報が特定履歴を含む場合において、複数の外部プログラム６６それぞれの優先度を決定する処理である。優先度決定処理Ｂにおける優先度は、外部プログラム６６に対応するアプリアイコンを入力Ｉ／Ｆ５４を通じて指定可能な態様にするか否か、及びアプリアイコンの表示順序を決定するためのパラメータである。なお、優先度は、“１”が最も高く、“５”が最も低いものとする。以下、ＭＦＰ１０Ａの装置情報が指定装置情報としてメモリ６２に記憶されているものとして、優先度決定処理Ｂの詳細を説明する。
【０１０８】
まず、端末プログラム６５は、重要度“高”に対応する抽出条件をプログラムリストから読み出す。そして、端末プログラム６５は、読み出した抽出条件それぞれと、メモリ６２に記憶された履歴情報とを比較する（Ｓ６１）。図３の例では、抽出条件「ログインエラー」、「サイズエラー」が読み出される。
【０１０９】
一例として、端末プログラム６５は、履歴情報がサイズエラー履歴を含むと判断したことに応じて（Ｓ６１：あり）、抽出条件「サイズエラー」に対応するＰＤＦ変換アプリの優先度を“１”に決定し、ＰＤＦ変換アプリの理由フラグに第３値“ＯＮ”を設定する（Ｓ６２）。他の例として、端末プログラム６５は、履歴情報がログインエラー履歴を含まないと判断したことに応じて（Ｓ６１：なし）、抽出条件「ログインエラー」に対応するメールプリントアプリに対するＳ６２の処理をスキップする。
【０１１０】
同様に、端末プログラム６５は、重要度“中”に対応する抽出条件と、重要度“低”に対応する抽出条件とをプログラムリストから読み出す。そして、端末プログラム６５は、読み出した抽出条件それぞれと、メモリ６２に記憶された履歴情報とを比較する（Ｓ６３、Ｓ６５）。図３の例では、抽出条件「レーベル対応デバイス」、「シートサイズ＝はがき」、「プリント、スキャンを別デバイスで実行」、「プリント回数＝５回」が読み出される。一方、ＰＤＦ変換アプリの優先度は既に“１”に決定されているので、重要度“低”の抽出条件「サーバ変換＝５回」は読み出されない。
【０１１１】
一例として、端末プログラム６５は、履歴情報が動作ＩＤ“レーベルプリント”或いは“レーベルスキャン”を含む指定装置履歴を含まないと判断したことに応じて（Ｓ６３：なし）、重要度“中”の抽出条件「レーベル対応デバイス」に対応するレーベルアプリに対するＳ６４の処理をスキップする。一方、以降での詳細な説明は省略するが、端末プログラム６５は、履歴情報が動作ＩＤ“レーベルプリント”或いは“レーベルスキャン”を含む指定装置履歴を含むと判断したことに応じて（Ｓ６３：あり）、重要度“中”の抽出条件「レーベル対応デバイス」に対応するレーベルアプリの優先度を“２”に決定し、レーベルアプリの理由フラグに第３値“ＯＮ”を設定する（Ｓ６４）。
【０１１２】
他の例として、端末プログラム６５は、履歴情報が項目“サイズ”のパラメータ“はがき”を含む動作履歴を含むと判断したことに応じて（Ｓ６５：あり）、重要度“低”の抽出条件「シートサイズ＝はがき」に対応する年賀状アプリの優先度を“３”に決定し、年賀状アプリの理由フラグに第３値“ＯＮ”を設定する（Ｓ６６）。他の例として、端末プログラム６５は、履歴情報が動作ＩＤ“シートプリント”を含む動作履歴を５つ含むと判断したことに応じて（Ｓ６５：あり）、重要度“低”の抽出条件「プリント回数＝５回」に対応するプリント専用アプリの優先度を“３”に決定し、プリント専用アプリの理由フラグに第３値“ＯＮ”を設定する（Ｓ６６）。
【０１１３】
さらに他の例として、端末プログラム６５は、履歴情報が動作ＩＤ“シートプリント”及び第１指定装置ＩＤを含む動作履歴と、動作ＩＤ“シートスキャン”及び第２指定装置ＩＤを含む動作履歴とを含まないと判断したことに応じて（Ｓ６５：なし）、重要度“低”の抽出条件「プリント、スキャンを別デバイスで実行」に対応する連携アプリに対するＳ６６の処理をスキップする。なお、第１指定装置ＩＤと、第２指定装置ＩＤとは、異なる装置ＩＤを指す。
【０１１４】
次に、端末プログラム６５は、Ｓ６１〜Ｓ６６で優先度を決定していない外部プログラム６６が存在するか否かを判断する（Ｓ６７）。そして、端末プログラム６５は、全ての外部プログラム６６の優先度をＳ６１〜Ｓ６６で決定したと判断したことに応じて（Ｓ６７：なし）、後述するＳ６８〜Ｓ７０の処理をスキップして、優先度決定処理Ｂを終了する。一方、端末プログラム６５は、Ｓ６１〜Ｓ６６で優先度を決定していない外部プログラム６６が存在すると判断したことに応じて（Ｓ６７：あり）、優先度を決定していない外部プログラム６６の機能情報に含まれる動作ＩＤと、指定装置情報に含まれる動作ＩＤとを比較する（Ｓ６８）。
【０１１５】
一例として、端末プログラム６５は、連携アプリ及びメールプリントアプリの機能情報が、指定装置情報に含まれる動作ＩＤの少なくとも一部を含むので（Ｓ６８：Ｙｅｓ）、連携アプリ及びメールプリントアプリの優先度を“４”に決定し、連携アプリ及びメールプリントアプリの理由フラグに第４値“ＯＦＦ”を設定する（Ｓ６９）。他の例として、端末プログラム６５は、レーベルアプリの機能情報が指定装置情報に含まれる動作ＩＤのいずれをも含まないので（Ｓ６８：Ｎｏ）、レーベルアプリの優先度を“５”に決定し、レーベルアプリの理由フラグに第４値“ＯＦＦ”を設定する（Ｓ７０）。
【０１１６】
すなわち、端末プログラム６５は、履歴情報に合致する抽出条件に対応する外部プログラム６６の優先度を、対応する重要度が高いほど高くする（Ｓ６２、Ｓ６４、Ｓ６６）。また、端末プログラム６５は、履歴情報に合致する抽出条件に対応する外部プログラム６６の優先度（Ｓ６２、Ｓ６４、Ｓ６６）を、履歴情報に合致しない抽出条件に対応する外部プログラム６６の優先度（Ｓ６９、Ｓ７０）より高くする。さらに、端末プログラム６５は、履歴情報が抽出条件を満たさない外部プログラム６６のうち、指定装置が実行可能な画像処理動作の少なくとも一部を指示可能な外部プログラム６６の優先度（Ｓ６９）を、指定装置が実行可能な画像処理動作のいずれをも指示できない外部プログラム６６の優先度（Ｓ７０）より高くする。
【０１１７】
そして、端末プログラム６５は、Ｓ１９において、優先度決定処理Ｂによって決定した優先度に従って、図１３に示されるアプリ紹介画面をディスプレイ５３に表示させる。なお、アプリ紹介画面にアプリアイコン１８１〜１８６を表示させるとは、全てのアプリアイコン１８１〜１８６が同時に表示されていることに限定されず、図１３（Ａ）及び図１３（Ｂ）に示されるように、ディスプレイ５３の表示領域よりサイズの大きいアプリ紹介画面の一部がスクロールバーの操作によって選択的に表示されるものでもよい。
【０１１８】
図１３の例において、端末プログラム６５は、相対的に優先度の高い外部プログラム６６に対応するアプリアイコンを、相対的に優先度の低い外部プログラム６６に対応するアプリアイコンより優先して表示させる。また、端末プログラム６５は、理由フラグに第３値“ＯＮ”が設定された外部プログラム６６に対応するアプリアイコン１８１、１８２、１８３に、対応するオススメ理由を記述する。一方、端末プログラム６５は、理由フラグに第３値“ＯＦＦ”が設定された外部プログラム６６に対応するアプリアイコン１８４、１８５、１８６に、対応するオススメ理由を記述しない。
【０１１９】
さらに、端末プログラム６５は、優先度“１”〜“４”に決定した外部プログラム６６に対応するアプリアイコン１８１〜１８５を、入力Ｉ／Ｆ５４を通じて指定可能な態様でアプリ紹介画面に含める。一方、端末プログラム６５は、優先度“５”に決定したレーベルアプリに対応するアプリアイコン１８６を、入力Ｉ／Ｆ５４を通じて指定不能な態様（例えば、グレーアウト）でアプリ紹介画面に含める。これは、優先度“１”〜“４”に決定した外部プログラム６６のアプリＩＤを抽出し、優先度“５”に決定した外部プログラム６６のアプリＩＤを抽出しないことの一例である。
【０１２０】
［本実施形態の作用効果］
上記の実施形態によれば、端末プログラム６５が起動可能な複数の外部プログラム６６のうち、蓄積された過去の履歴情報に合致する外部プログラム６６がアプリ紹介画面を通じてユーザに報知される。すなわち、インターネット上に公開された多数の外部プログラム６６のうち、端末プログラム６５を通じてユーザが実現したいことに合致する外部プログラム６６の存在を、ユーザに認識させることができる。
【０１２１】
より詳細には、指定装置が実行可能な画像処理動作の少なくとも一部を指示可能な外部プログラム６６がアプリ紹介画面を通じて報知される（Ｓ４４、Ｓ４５）。これにより、インターネット上に公開された多数の外部プログラム６６のうち、ユーザが指定した指定装置に画像処理動作を指示するのに適した外部プログラム６６の存在を、ユーザに認識させることができる。すなわち、指定装置の新たな利用方法をユーザに提案することができる。さらに、指定装置に指示可能な画像処理動作が多い外部プログラム６６ほど、報知の優先度を高くするので、指定装置の有効な利用方法をユーザに提案することができる。
【０１２２】
また、携帯端末５０にインストールされた実績のない外部プログラム６６（Ｓ４９：Ｙｅｓ）が、携帯端末５０にインストールされた実績のある外部プログラム６６（Ｓ４９：Ｎｏ）より優先して報知される。ユーザは、携帯端末５０にインストールした外部プログラム６６の機能、及び携帯端末５０からアンインストールした外部プログラム６６の機能を把握していると考えられる。そこで、インストールされた実績のない外部プログラム６６を優先して報知することによって、有益な情報をユーザに提供することができる。
【０１２３】
なお、端末プログラム６５は、優先度決定処理Ａにおいて、携帯端末５０にインストールされている（すなわち、インストール情報に“インストール済”が設定された）外部プログラム６６の優先度を、携帯端末５０からアンインストールされた（すなわち、インストール情報に“アンインストール済”が設定された）外部プログラム６６の優先度より高く設定してもよい。携帯端末５０からアンインストールされた外部プログラム６６は、携帯端末５０のユーザが“不必要”と判断した可能性が高いので、前述のように報知の優先度を低くするのが望ましい。
【０１２４】
また、携帯端末５０は、外部プログラム６６のアップデートモジュールを、インターネット上の不図示のサーバから通信Ｉ／Ｆ５５を通じて受信し、受信したアップデートモジュールで外部プログラム６６をアップデートしてもよい。そして、端末プログラム６５は、優先度決定処理Ａにおいて、閾値時間以内にアップデートされた外部プログラム６６の優先度を、閾値時間以内にアップデートされていない外部プログラム６６の優先度より高く設定してもよい。アップデートされた外部プログラム６６は、新たな機能が追加されている可能性があるので、優先して報知されるのが望ましい。
【０１２５】
また、履歴情報に合致する抽出条件に対応する外部プログラム６６がアプリ紹介画面を通じて報知される。この場合において、予め設定された重要度が高い外部プログラム６６が、重要度が低い外部プログラム６６より優先して報知される。上記の実施形態によれば、ユーザにとって必要度が高いと考えられる外部プログラム６６を、ユーザに認識させやすくなる。さらに、アプリアイコンにオススメ理由を記述することによって、どのような利用態様に合致して外部プログラム６６が報知されたのかを、ユーザに認識させることができる。
【０１２６】
また、指定装置に画像処理動作を実行させるのに先立って、インターネット上のサーバとの通信が必要な場合がある。また、インターネット上のサーバとの間の通信には、様々なエラーや制約がある。そこで上記の実施形態のように、メールサーバとの通信に特化したメールプリントアプリ、或いはインターネット上のサーバの機能を代替するＰＤＦ変換アプリをアプリ紹介画面を通じて報知することによって、指定装置に画像処理動作を実行させるのに適した方法を、ユーザに提案することができる。
【０１２７】
また、端末プログラム６５の非対応動作（例えば、レーベルプリント動作、レーベルスキャン動作）を実行可能なＭＦＰ１０Ｂが指定装置に指定された場合に、当該画像処理動作をＭＦＰ１０Ｂに指示可能な外部プログラム６６がアプリ紹介画面を通じて報知される。これにより、端末プログラム６５の非対応動作を指定装置に実行させるための方法を、ユーザに提案することができる。
【０１２８】
また、端末プログラム６５を利用するユーザは、メイン画面に表示された動作アイコン１１１、１１２を通じて、指定動作に実行させる指定動作を選択する必要がある。一方、シートプリント動作のみのを指示可能なプリント専用アプリでは、このステップが省略される。また、プリント専用アプリは、複数の画像処理動作をサポートする端末プログラム６５と比較して、より詳細な設定を受け付け可能である場合がある。そこで、端末プログラム６５を通じて指定装置にシートプリント動作を指示するユーザに、シートプリント動作に特化したプリント専用アプリの存在を報知することによって、携帯端末５０を通じて指定装置にシートプリント動作を実行させるのに適した方法を、ユーザに提案することができる。
【０１２９】
また、端末プログラム６５を利用するユーザは、実行条件を構成する複数の項目それぞれのパラメータを指定する必要がある。一方、特定パラメータ“はがき”を含む実行条件に従ったシートプリント動作（以下、「特定動作」と表記する。）に特化した年賀状アプリでは、特定項目“サイズ”のパラメータを指定するステップが省略される。また、年賀状アプリは、特定動作以外の動作をサポートする端末プログラム６５と比較して、より詳細な設定を受け付け可能である場合がある。そこで、端末プログラム６５を通じて指定装置に特定動作を実行させようとするユーザに、特定動作に特化した年賀状アプリを報知することによって、携帯端末５０を通じて指定装置に特定動作を実行させるのに適した方法を、ユーザに提案することができる。
【０１３０】
また、上記の実施形態によれば、端末プログラム６５の利用態様に合致する外部プログラム６６の存在に気づいたユーザが対応するアプリアイコンを指定することによって、当該アプリアイコンに対応する外部プログラム６６を起動或いはインストールすることができる。これにより、利用態様に合致する外部プログラム６６を利用しようとするユーザの操作が簡略化される。但し、アプリ紹介画面の表示態様は前述の例に限定されず、優先度決定処理Ａ、Ｂで優先度を“１”〜“４”に決定した外部プログラム６６のアプリＩＤ、アプリ名、或いはオススメ理由等を、アプリ画面を通じて報知するだけでもよい。
【０１３１】
なお、上記の実施形態では、指定装置情報、機能情報、及びインストール情報を用いて外部プログラム６６の優先度を決定する優先度決定処理Ａと、履歴情報及び抽出条件情報を用いて外部プログラム６６の優先度を決定する優先度決定処理Ｂとを説明した。しかしながら、外部プログラム６６の優先度を決定するための情報の組み合わせは、前述の例に限定されない。また、優先度決定処理Ａ、Ｂと、アプリ紹介画面のレイアウトとの関係は、前述の例に限定されない。
【０１３２】
また、上記の実施形態では、メイン画面を表示させるのに先立って、優先度決定処理Ａ、Ｂを実行する例を説明したが、優先度決定処理Ａ、Ｂの実行タイミングは前述の例に限定されず、［アプリ］アイコン１１４が指定されてからアプリ紹介画面を表示するまでの間であってもよい。また、上記の実施形態では、優先度決定処理Ａ、Ｂで優先度を“１”に決定した外部プログラム６６が存在する場合にのみ、［アプリ］アイコン１１４に対応付けてオススメ画像１１５を表示する例を説明したが、オススメ画像１１５の表示条件は前述の例に限定されない。
【０１３３】
また、上記の実施形態のＭＦＰ１０及び携帯端末５０において、メモリ３２、６２に記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明のントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１３４】
さらに、本発明は、ＭＦＰ１０及び携帯端末５０として実現できるだけでなく、ＭＦＰ１０及び携帯端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じてＭＦＰ１０及び携帯端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【０１３５】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
２３，５３・・・ディスプレイ
２４，５４・・・入力Ｉ／Ｆ
２５，５５・・・通信Ｉ／Ｆ
３１，６１・・・ＣＰＵ
３２，６２・・・メモリ
３５・・・装置プログラム
５０・・・携帯端末
６５・・・端末プログラム
６６・・・外部プログラム
６７・・・インストーラ
【図１】
2018132798.tif 000003
【図２】
2018132798.tif 000004
【図３】
2018132798.tif 000005
【図４】
2018132798.tif 000006
【図５】
2018132798.tif 000007
【図６】
2018132798.tif 000008
【図７】
2018132798.tif 000009
【図８】
2018132798.tif 000010
【図９】
2018132798.tif 000011
【図１０】
2018132798.tif 000012
【図１１】
2018132798.tif 000013
【図１２】
2018132798.tif 000014
【図１３】
2018132798.tif 000015