以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の情報処理プログラムの一実施形態であるアプリケーション12bを搭載する端末10の電気的構成を示すブロック図である。なお、以下では「アプリケーション」を「アプリ」と称することがある。
本実施形態の端末10は、スマートフォンなどの携帯端末として構成される。端末10には、CPU11、フラッシュメモリ12、RAM13、操作キー15、LCD(Liquid Crystal Displayの略)16、タッチパネル17、メモリカードインタフェース(メモリカードI/F)18、音声入出力部19、電話網通信部20、無線通信部21が設けられる。これらの各部は、バスライン22を介して互いに接続される。
CPU11は、フラッシュメモリ12等に記憶される固定値やプログラム等に従って、バスライン22と接続された各部を制御する。フラッシュメモリ12は、書換可能な不揮発性のメモリである。フラッシュメモリ12には、オペレーティングシステム12a、アプリ12bが格納される。なお、以下では「オペレーティングシステム」を「OS」と称することがある。また、以下では、アプリケーションやオペレーティングシステムなどのプログラムを実行するCPU11のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が「アプリケーションを実行するCPU11」を意味する場合もある。OS12aは、端末10の標準機能を実現するための基本ソフトウェアである。一例として、本実施形態のOS12aは、アンドロイド(登録商標)OSである。
アプリ12bは、各種デバイスのベンダによって提供されるアプリケーションである。アプリ12bは、ユーザによって端末10にインストールされ、端末10から、対応するデバイスの利用を可能とする。本実施形態のアプリ12bは、パーソナルコンピュータなどを経由せずに、端末10から、無線LANネットワーク500に接続された、スキャナ60、プリンタ70、多機能周辺装置(以下「MFP」と称す)80などの各種デバイスの利用を可能とする。
また、詳細は後述するが、本実施形態のアプリ12bは、無線LANネットワーク500に接続される各種デバイス、および、インターネット800に接続される各種サービスを提供するサービス提供サーバ(以下「サーバ」と称す)100からなる群のうち、ユーザにより適宜選択された入力装置と出力装置を用いた所定の機能を実現可能に構成される。より詳細には、アプリ12bは、入力装置が有する入力機能と、出力装置が有する出力機能とを連係させることによって、入力機能と出力機能とから構成される所定の機能を実現させることができる。
なお、入力装置が実行する「入力機能」とは、アプリ12bを搭載する端末10が入力データとして受け取るデータを取り込む機能、または、当該データを、当該データが記憶される記憶部から読み出す機能を示す。例えば、原稿画像を読み取るスキャン機能や、画像データを外部装置から受信するファクシミリ受信機能などは、入力機能に相当する。また、内部メモリや、メモリカードなどの記録メディアや、データベースや、ストレージなどの記憶部からデータを読み出す機能もまた、入力機能に相当する。
一方、出力装置が実行する「出力機能」とは、アプリ12bを搭載する端末10が出力データとして出力したデータに基づく出力を行う機能、または、当該データを記憶部に記憶する(保存する)機能を示す。例えば、出力データが画像データである場合に、当該画像データに基づく印刷画像を出力するプリント機能や、当該画像データを外部装置へ送信するファクシミリ送信機能もまた、出力機能に相当する。また、内部メモリや、メモリカードなどの記録メディアや、データベースや、ストレージなどの記憶部にデータを記憶する機能もまた、出力機能に相当する。
以下では、「入力機能と出力機能とから構成される所定の機能」を、特に「主機能」と称することがある。例えば、入力装置および出力装置として、それぞれ、スキャナ60およびプリンタ70が選択された場合、アプリ12bは、スキャナ60が有するスキャン機能と、プリンタ70が有するプリント機能とを連係させることによって、スキャナ60が読み込んだ原稿画像の画像データを、プリンタ70から印刷画像として出力させる、所謂コピー機能を、主機能として実現させることができる。
特に、本実施形態のアプリ12bは、ユーザが、主機能を実現するために必要な入力装置と出力装置との組み合わせを容易に行い得るよう、種々のガイド情報(以下「Tips」と称することがある)をLCD16に表示させる。なお、後述する図2から図10のフローチャートに示す各処理は、CPU11がアプリ12bに従い実行する処理である。
また、フラッシュメモリ12には、アプリ用記憶領域12cが設けられる。アプリ用記憶領域12cは、アプリ12bが使用する、アプリ12bに割り当てられた記憶領域である。アプリ用記憶領域12cには、例えば、ユーザが入力装置または出力装置の選択候補として登録したデバイス(以下、このデバイスを「登録デバイス」と称す)や、ユーザが登録したアクションなどが記憶される。なお、「アクション」は、主機能の集合体である。本実施形態では、1のアクションに対し、1または複数の主機能を対応付けることができる。1のアクションに対する実行指示を行うことにより、当該アクションに対応付けられている1または複数の主機能が実行される。
RAM13は、CPU11がアプリ12b等を実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。RAM13のテンポラリエリアには、例えば、主機能を実行する場合に、入力装置から受け取ったデータ(すなわち、入力データ)や、当該入力データから生成された、出力装置に出力するデータ(すなわち、出力データ)が記憶される。
操作キー15は、端末10に指示などを入力するためのメカニカルキーであり、例えば、端末10の筺体に設けられる。LCD16は、各種画面を表示する液晶表示装置である。タッチパネル17は、LCD16に重ねて設けられ、指や棒などの指示体を接触または接近させることによって、端末10に指示などを入力する。メモリカードI/F18は、書換可能な不揮発性のメモリカードMCが装着されるインタフェースであり、メモリカードMCに対する、データやファイルの書き込み又は読み出しを制御する。音声入出力部19は、マイクやスピーカなどで構成された音声入出力用デバイスである。電話網通信部20は、携帯電話網(図示せず)を介した通話を行うための回路である。
無線通信部21は、無線LANによる無線通信を行うためのインタフェースである。本実施形態では、無線通信部21が行う通信は、IEEE802.11b/g/n等の規格に準拠した無線LANによる無線通信である。本実施形態において、無線通信部21は、中継装置であるアクセスポイント(AP)50を介して、無線LANネットワーク500に接続される。これにより、端末10は、AP50を介して接続される無線LANネットワーク500上の、スキャナ60などの各種デバイスと通信可能に接続できる。
また、AP50は、ブロードバンドルーター機能を有し、インターネット800に接続できる。よって、端末10は、インターネット800に接続された各種のサーバ100にアクセスし、アクセス先のサーバ100が提供するサービスを利用できる。サーバ100が提供するサービスの一例としては、Dropbox(登録商標)や、Evernote(登録商標)がある。例えば、図1に示すように、インターネット800に、サーバ100として、サーバ100a,100b,100cが接続されている場合、端末10は、各サーバ100a〜100cにアクセスし、各サーバ100a〜100cが提供するサービスA、サービスB、およびサービスCを利用できる。なお、本実施形態のアプリ12bは、予め規定されたサービス、例えば、5つのサービスに限ってサービスを登録できるように構成される。
スキャナ60およびプリンタ70は、それぞれ、スキャン機能およびプリント機能を有する単機能装置である。本実施形態において、スキャン機能を単独で有するスキャナ60は、入力装置としてのみ選択可能である。また、プリント機能を単独で有するプリンタ70は、出力装置としてのみ選択可能である。
MFP80は、プリント機能、スキャン機能、ファクシミリ機能などの各種機能を有する多機能周辺装置である。本実施形態では、MFP80は、スキャン機能や、ファクシミリ機能のうちファクシミリ受信機能を利用する場合に、入力装置として選択可能である。また、MFP80は、プリント機能や、ファクシミリ機能のうちファクシミリ送信機能を利用する場合に、出力装置として選択可能である。つまり、多機能周辺装置であるMFP80は、本実施形態のアプリ12bにおいて、入力装置としても、出力装置としても選択可能である。
スキャナ60、プリンタ70、およびMFP80などのデバイスには、それぞれ、簡易ネットワーク管理プロトコル(Simple Network Management Protocol;以下「SNMP」と称す)において利用される管理情報ベース(Management Information Base;以下「MIB」と称す)が設けられている。各デバイスのMIBには、デバイスのモデル名、デバイスが有する機能、各機能に設定されるパラメータの設定範囲(すなわち、設定可能値)、IPアドレス、MACアドレス、ノード名などの各種情報が格納されている。
図1に示す例では、デバイスとして、モデル名がS−111であるスキャナ60と、モデル名がP−222であるプリンタ70と、モデル名がMFC−333であるMFP80とが1台ずつ接続されている。本実施形態では、無線LANネットワーク500に接続される各デバイスは、デバイスのモデル名と、デバイスに割り当てられたIPアドレスとから、各々独立して特定される。
図2は、アプリ12bに従って端末10のCPU11が実行するメイン処理を示すフローチャートである。本処理は、アプリ12bの起動指示をCPU11が受け付けた場合に開始される。CPU11は、まず、デバイス/サービス画面をLCD16に表示する、より詳細には、フォアグラウンドに表示する(S201)。デバイス/サービス画面は、スキャナ60などのデバイスや、サーバ100を、入力装置または出力装置の選択候補として登録するための画面である。デバイス/サービス画面がフォアグラウンドに表示されている場合、ユーザが実行を所望する主機能を選択するためのアクション画面がバックグラウンドに表示される。
デバイス/サービス画面がフォアグラウンドに表示されている状態で、CPU11が、タブを切り替える指示を受け付けた場合(S202:Yes)、CPU11は、アクション画面をフォアグラウンドに表示する(S206)。さらに、アクション画面がフォアグラウンドに表示されている状態で、CPU11が、タブを切り替える指示を受け付けた場合(S209:Yes)、CPU11は、処理をS201に移行し、デバイス/サービス画面をフォアグラウンドに表示する(S201)。
デバイス/サービス画面には、デバイスを登録するためのデバイス登録ボタンと、サービスを登録するためのサービス登録ボタンとが表示される。デバイス/サービス画面には、後述するデバイス登録処理(S205)により登録されたデバイス毎に、当該登録されたデバイスを選択するためのボタン(以下「登録デバイスボタン」と称す)が表示される。デバイス/サービス画面には、後述するサービス登録処理(S207)により登録されたサーバ100毎に、当該登録されたサーバ100が提供するサービスを選択するためのボタン(以下「登録サービスボタン」と称す)が表示される。
デバイス/サービス画面がフォアグラウンドに表示されている状態において、CPU11は、デバイス登録ボタン、サービス登録ボタン、登録デバイスボタン、または登録サービスボタンのいずれかに対するタップ操作の受け付けを待機する(S202:No,S203:No)。CPU11が、デバイス登録ボタンまたは登録デバイスボタンに対するタップ操作を受け付けた場合(S203:デバイス登録/登録デバイス)、CPU11は、デバイスの登録を行うデバイス登録処理を実行する(S205)。デバイス登録処理(S205)の詳細な処理については、図3を参照して後述する。CPU11は、デバイス登録処理(S205)の実行後、処理をS201に移行する。
一方、CPU11が、サービス登録ボタンまたは登録サービスボタンに対するタップ操作を受け付けた場合(S203:サービス登録/登録サービス)、CPU11は、サービスの登録、より詳細には、サーバ100の登録を行うサービス登録処理を実行する(S207)。サービス登録処理(S207)の詳細な処理については、図4を参照して後述する。以下、S207において登録されたサーバ100を「登録サービス」と称するなど、サーバ100を便宜上「サービス」と称することがある。CPU11は、サービス登録処理(S207)の実行後、LCD16に表示する画面を、処理をS201に移行する。
アクション画面には、ユーザが、1または複数の主機能を含むアクションを登録するためのボタン(以下、このボタンを「アクション登録ボタン」と称す)と、ユーザが登録した各アクションに対応するボタン(以下、このボタンを「アクション選択ボタン」と称す)とが表示される。アクション画面がフォアグラウンドに表示されている状態において、CPU11は、アクション登録ボタンまたはアクション選択ボタンに対するタップ操作の受け付けを待機する(S209:No,S210:No)。
CPU11が、アクション登録ボタンに対するタップ操作を受け付けた場合(S210:アクション登録)、CPU11は、アクション名登録処理を実行する(S214)。具体的に、アクション名登録処理(S214)において、CPU11は、LCD16に表示する画面を、アクション画面から、アクション名登録画面に切り替え、当該アクション名登録画面に対するユーザ操作に基づき、新たに登録するアクションに付与する名称(以下、この名称を「アクション名」と称す)を登録する。CPU11は、アクション名登録処理(S214)の実行後、LCD16に表示する画面を、アクション名登録画面から、入出力登録画面に切り替える(S215)。入出力登録画面は、登録された1のアクション名に対し、当該アクション名より特定されるアクションに対応づける1または複数の主機能を実現するための入力装置および出力装置を登録するための画面である。
次に、CPU11は、入出力登録画面に対するユーザ操作に基づき、入力装置または出力装置を登録する入出力登録処理を実行する(S216)。入出力登録処理(S216)の詳細な処理については、図5を参照して後述する。なお、入出力登録処理(S216)において、入力装置および出力装置は、デバイス登録処理(S205)またはサービス登録処理(S206)で登録されたデバイスまたはサーバ100の中から選択されたものが登録される。
本実施形態のアプリ12bでは、1のアクション名により特定されるアクションに対し、1または複数の入力装置と、1または複数の出力装置とを登録できるよう構成される。つまり、1のアクションに対し、登録された入力装置の入力機能と出力装置の出力機能との1対1の組み合わせから構成される1の主機能を、登録された入力装置と出力装置との組み合わせの数だけ対応付けることができる。よって、1のアクション名を選択した場合に、当該1のアクション名により特定されるアクションに対し、複数の主機能が対応付けられている場合には、それら複数の主機能をそれぞれ実行させることができる。
CPU11は、入出力登録処理(S216)の実行後、アクション実行画面をLCD16に表示する処理である、アクション実行画面表示処理を実行する(S211)。アクション実行画面表示処理(S211)の詳細な処理については、図9を参照して後述する。アクション実行画面は、登録されたアクションのうち、1のアクションを実行させるための画面である。より詳細には、入出力登録処理(S216)の実行後にLCD16に表示されたアクション実行画面は、入出力登録処理(S216)において登録されたアクションを実行させるための画面である。
一方、CPU11が、アクション画面内の、1のアクション選択ボタンに対するタップ操作を受け付けた場合(S210:アクション選択)、CPU11は、処理をS211に移行し、LCD16に表示する画面を、アクション画面から、アクション実行画面に切り替える。より詳細には、アクション選択ボタンの操作に基づきLCD16に表示されたアクション実行画面は、操作されたアクション選択ボタンに対応するアクションを実行させるための画面である。
アクション実行画面には、実行対象のアクションにて、主機能を実現するために使用する入力装置または出力装置を追加登録するためのボタン(以下、このボタンを「入出力追加ボタン」と称す)が表示される。また、アクション実行画面には、アクションの開始を指示する実行ボタンが表示される。アクション実行画面が表示されている状態において、CPU11は、入出力追加ボタンまたは実行ボタンに対するタップ操作の受け付けを待機する(S212:No)。CPU11が、入出力追加ボタンに対するタップ操作を受け付けた場合(S212:入出力追加)、CPU11は、処理をS215に移行し、LCD16に表示する画面を、アクション実行画面から、入出力登録画面に切り替える。一方、CPU11が、実行ボタンに対するタップ操作を受け付けた場合(S212:実行)、CPU11は、表示中のアクション実行画面に対応するアクションを実行するアクション実行処理を実行し(S213)、本処理を終了する。
図3は、上述したデバイス登録処理(S205)を示すフローチャートである。本処理を開始する契機がデバイス登録ボタンであるとき(S301:デバイス登録)、アプリ用記憶領域12cに登録デバイスとして記憶されているデバイスが少なくとも1つある場合には(S302:Yes)、CPU11は、デバイス登録画面を表示し、当該デバイス登録画面に、登録デバイスをグレーアウト表示する(S303)。一方、登録デバイスが存在しない場合(S302:No)、CPU11は、デバイス登録画面を表示し、当該デバイス登録画面内の所定領域、例えば、背景のみの領域に、初回Tipsを表示する(S318)。S318で表示される初回Tipsは、デバイスの登録を案内するTipsである。当該Tipsは、例えば「入力機能を有するデバイスと、出力機能を有するデバイスとを登録することで、入力機能を有するデバイスから得られるデータを、出力機能を有するデバイスから出力することができます。」などの文字情報である。
CPU11は、S303またはS318の処理後、無線LANネットワーク500に接続されているデバイスの検索を行う(S304)。具体的に、CPU11は、検索パケットを無線通信部21から、無線LANネットワーク500にブロードキャスト送信し、その返信として受信した、デバイスのモデル名とIPアドレスとに基づいて、無線LANネットワーク500に接続されているデバイスを特定する。また、CPU11は、S304の検索によって特定された各デバイスが有する機能を、各MIBから取得する。具体的に、CPU11は、各デバイスに対し、MIBに格納される情報の取得要求をSNMPによって送信する。取得要求を受信したデバイスは、当該デバイスのMIBに格納されている各種情報を、端末10に返信する。よって、CPU11は、S304において、取得要求の送信先のデバイスから受信した各種情報に含まれる、選択デバイスが有する機能を取得する。次に、CPU11は、検索されたデバイスのうち、未登録デバイスを、選択可能にデバイス登録画面に表示する(S305)。
登録デバイスが存在する場合(S306:Yes)、CPU11は、登録デバイスの機能を取得する(S307)。CPU11は、取得した機能に基づき、登録デバイスの中に、入力機能を有するデバイス(以下「入力デバイス」と称することがある)があるかを判断する(S308)。登録デバイスの中に入力デバイスがないとCPU11が判断した場合(S308:No)、CPU11は、入力デバイスが無線LANネットワーク500に接続されているかを判断する(S309)。つまり、CPU11は、S304の検索によって特定されたデバイスの中に、入力デバイスが存在するかを判断する。
CPU11がS309の判断を肯定した場合(S309:Yes)、CPU11は、デバイス登録画面内の所定領域に、入力デバイスの登録を促すTipsを表示し(S310)、処理をS311に移行する。S310で表示されるTipsは、例えば「スキャナなどの入力機能を有するデバイスを登録してください。」などの文字情報である。CPU11がS309の判断を否定した場合(S309:No)、CPU11は、デバイス登録画面内の所定領域に、ネットワークへの入力デバイスの接続を促すTipsを表示し(S319)、処理をS311に移行する。S319で表示されるTipsは、例えば「スキャナなどの入力機能を有するデバイスを接続してください。」などの文字情報である。
S308において、登録デバイスの中に、出力機能を有するデバイス(以下「出力デバイス」と称することがある)があるかを判断する(S320)。登録デバイスの中に出力デバイスがないとCPU11が判断した場合(S320:No)、CPU11は、出力デバイスが無線LANネットワーク500に接続されているかを判断する(S321)。CPU11がS321の判断を肯定した場合(S321:Yes)、CPU11は、デバイス登録画面内の所定領域に、出力デバイスの登録を促すTipsを表示し(S322)、処理をS311に移行する。S322で表示されるTipsは、例えば「プリンタなどの出力機能を有するデバイスを登録してください。」などの文字情報である。
一方、CPU11がS321の判断を否定した場合(S321:No)、CPU11は、デバイス登録画面内の所定領域に、ネットワークへの出力デバイスの接続を促すTipsを表示し(S323)、処理をS311に移行する。S323の処理によって表示されるTipsは、例えば「プリンタなどの出力機能を有するデバイスを接続してください。」などの文字情報である。S320において、登録デバイスの中に出力デバイスがあるとCPU11が判断した場合(S320:Yes)、CPU11は、処理をS311に移行する。つまり、登録デバイスの中に、入力デバイスも出力デバイスも含まれている場合、S310,S319,S322,S323にて表示したようなTipsは表示されない。
このように、S308〜S310,S319〜S323の処理によれば、入力デバイスまたは出力デバイスのうちいずれか一方のデバイスが登録されていない場合には、他方のデバイスがネットワークに接続されていることを条件として、他方のデバイスの登録に関するTipsが表示される(S310,S322参照)。よって、入力デバイスだけ、または、出力デバイスだけが登録される状況を抑制できるので、ユーザが、入力デバイスと出力デバイスとの組み合わせによる機能を利用できない状況を抑制できる。
一方、当該他方のデバイスが、登録されておらず、かつ、無線LANネットワーク500に接続もされていない場合には、他方のデバイスをネットワークに接続することを促すTipsが表示される(S319,S323参照)。よって、ユーザは、当該他方のデバイスを無線LANネットワーク500に接続した方がよいことを把握できる。
S311において、CPU11は、1または複数のデバイスが登録対象として選択された状態で、デバイスの登録指示を、タッチパネル17を介して受け付けるまで待機する(S311:No)。CPU11が、登録対象のデバイスが選択された状態で、当該登録指示を受け付けた場合(S311:Yes)、CPU11は、選択デバイスが有する機能と、各機能に設定されるパラメータの設定範囲(すなわち、設定可能値)とを、MIBから取得する(S312)。なお、S304において、検索された各デバイスのMIBから取得した情報を記憶しておき、CPU11は、S312において、そのうちの選択デバイスに対応する情報から、選択されたデバイスが有する機能と、設定範囲とを取得する構成としてもよい。
CPU11は、入力デバイス毎に、S312にて取得した機能(具体的に、入力機能)と、当該機能に対応する設定範囲とを、当該入力デバイスを特定するデバイス情報に関連付けて記憶する(S313)。なお、選択デバイスとして入力デバイスが含まれていない場合には、S313の処理は省略される。S313の処理の結果、選択デバイスとしての入力デバイスは、登録デバイス、より詳細には、入力装置の候補となり得る登録デバイスとして、アプリ用記憶領域12cに記憶される。本実施形態において、「デバイス情報」は、デバイスのモデル名とIPアドレスとから構成される。
一方、選択デバイスとして出力デバイスが含まれる場合、CPU11は、出力デバイス毎に、S312にて取得した機能(具体的に、出力機能)と、当該機能に対応する設定範囲とを、当該出力デバイスを特定するデバイス情報に関連付けて記憶し(S314)、本処理を終了する。なお、選択デバイスとして出力デバイスが含まれていない場合には、S314の処理は省略される。S314の処理の結果、選択デバイスとしての出力デバイスは、登録デバイス、より詳細には、出力装置の候補となり得る登録デバイスとして、アプリ用記憶領域12cに記憶される。
S301において、本処理を開始する契機が登録デバイスボタンであるとき(S301:登録デバイス)、CPU11は、デバイス機能表示画面を表示し、当該画面内の所定領域に、入出力機能のTipsを表示する(S316)。S316で表示されるTipsは、操作された登録デバイスボタンに対応するデバイスが有する入力機能または出力機能を説明するTipsである。つまり、当該Tipsでは、該当デバイスが、スキャナ機能などの入力機能を有する場合には、当該入力機能に関する情報が表示され、プリント機能などの出力機能を有する場合には、当該出力機能に関する情報が表示される。よって、デバイスの種類によっては、入力機能に関する情報または出力機能に関する情報のいずれかが表示される場合と、それらの情報の両方が表示される場合とがある。S316で表示されるTipsによれば、ユーザは、登録デバイスボタンに対応するデバイスが有する入力機能または出力機能を把握できる。
CPU11は、S316の処理後、操作キー15の1つであるBackキーに対する操作が受け付けられるまで待機する(S317:No)。CPU11がBackキーの操作を受け付けた場合(S317:Yes)、CPU11は、本処理を終了する。
図4は、上述したサービス登録処理(S207)を示すフローチャートである。本処理を開始する契機がサービス登録ボタンであるとき(S401:サービス登録)、アプリ用記憶領域12cに登録サービスとして記憶されているサービス(すなわち、サーバ100)が少なくとも1つある場合には(S402:Yes)、CPU11は、サービス登録画面を表示し、当該デバイス登録画面に、登録サービスをグレーアウト表示する(S403)。
一方、登録サービスが存在しない場合(S402:No)、CPU11は、サービス登録画面を表示し、当該サービス登録画面内の所定領域に、初回Tipsを表示する(S411)。S411で表示される初回Tipsは、サービスの登録を案内するTipsである。当該Tipsは、例えば「サービスを登録することで、そのサービスのストレージにデータを保存したり、ストレージ内のデータを印刷することができます。」などの文字情報である。
S403またはS411の処理後、アプリ12bが規定する所定のサービスのうち、未登録のサービスがある場合(S404:Yes)、CPU11は、未登録のサービスがアカウント認証済みであるかを判断する(S405)。具体的に、CPU11は、未登録のサービスについて、端末10にインストールされている、当該サービスを利用するためのアプリケーションにて認証登録が行われているかを、APIを用いて確認し、その確認結果に基づき判断する。
未登録のサービスの中に、アカウント認証済みのサービスがある場合(S405:Yes)、CPU11は、アカウント認証済み、かつ、未登録のサービスを、サービス登録画面に表示する(S413)。次に、CPU11は、サービス登録画面内の所定領域に、アカウント認証済みであり、かつ、未登録であるサービスの登録を促すTipsを表示する(S414)。S414で表示されるTipsは、例えば「未登録のサービスを登録してください。」などの文字情報である。かかるTipsによれば、ユーザは、既にアカウントが認証されており、登録サービスとして登録可能なサービスがあることを把握できる。
CPU11は、S414の処理後、1または複数の、アカウント認証済みであり、かつ、未登録であるサービスが、登録対象として選択された状態で、登録指示を、タッチパネル17を介して受け付けるまで待機する(S415:No)。CPU11が、登録対象のサービスが選択された状態で、当該登録指示を受け付けた場合(S415:Yes)、CPU11は、選択されたサービスを、入力装置または出力装置の候補となり得る登録サービスとして、アプリ用記憶領域12cに記憶し(S416)、本処理を終了する。
S405において、未登録のサービスの中に、アカウント認証済みのサービスがない場合(S405:No)、CPU11は、アカウント未認証であり、かつ、未登録であるサービスを、サービス登録画面に表示する(S406)。次に、CPU11は、サービス登録画面内の所定領域に、アカウント登録の後、サービスの登録を促すTipsを表示する(S407)。S407で表示されるTipsは、例えば「未認証のサービスのアカウントを登録し、その後にサービスを登録してください。」などの文字情報である。かかるTipsによれば、ユーザは、登録可能なものとして予め規定されたサービスの中に、アカウント未認証のサービスがあることを把握できるとともに、当該サービスのアカウント登録をすれば、当該サービスを登録サービスとして登録できることを把握できる。
一方、S404において、アプリ12bが規定する所定のサービスのうち、未登録のサービスがない場合(S404:No)、CPU11は、登録可能なサービスがないことを示すTipsを表示する(S412)。S412で表示されるTipsは、例えば「これ以上、登録できるサービスはありません。」などの文字情報である。CPU11は、S407またはS412の処理後、Backキーに対する操作が受け付けられるまで待機する(S408:No)。CPU11がBackキーの操作を受け付けた場合(S408:Yes)、CPU11は、本処理を終了する。
S401において、本処理を開始する契機が登録サービスボタンであるとき(S401:登録サービス)、CPU11は、サービス機能表示画面を表示し、当該画面内の所定領域に、入出力機能のTipsを表示する(S409)。S409で表示されるTipsは、操作された登録サービスボタンに対応するサービス(すなわち、サーバ100)が有する入力機能または出力機能を説明するTipsである。つまり、当該Tipsでは、該当サービスが有する入力機能と出力機能とが表示される。例えば、入力機能であるダウンロード機能を示す情報と、出力機能であるアップロードを示す情報とが表示される。S409で表示されるTipsによれば、ユーザは、登録サービスボタンに対応するサービスが有する入力機能または出力機能を把握できる。CPU11は、S409の処理後、Backキーに対する操作が受け付けられるまで待機する(S410:No)。CPU11がBackキーの操作を受け付けた場合(S410:Yes)、CPU11は、本処理を終了する。
図5は、上述した入出力登録処理(S216)を示すフローチャートである。CPU11は、本処理(入出力登録処理)を終了するか判断する(S500)。具体的に、入出力登録画面には、入力装置または出力装置の登録の終了を指示する登録終了ボタンが設けられており、CPU11が、タッチパネル17を介して登録終了ボタンに対するタップ操作を受け付けた場合、CPU11は、本処理を終了すると判断する。よって、CPU11が、S500の判断を肯定した場合、CPU11は、本処理を終了する。
一方、CPU11が、S500の判断を否定した場合、CPU11は、入力装置または出力装置のいずれかの登録の指示を、タッチパネル17を介して受け付けたかを判断する(S501)。CPU11が、当該指示を受け付けていない場合(S501;No)、CPU11は、処理をS500に移行する。S501において、入力装置の登録の指示を受け付けたとCPU11が判断した場合(S501:入力)、CPU11は、図6を参照して後述する、入力装置の候補を表示する処理を実行する(S502)。S502の処理によれば、入力装置の候補となるデバイス、サービス、および自端末10が、入出力登録画面に表示される。CPU11は、S502の処理によって入出力登録画面に表示された入力装置の候補から、入力装置または出力装置の登録対象である1のアクション(以下「登録対象アクション」と称す)に対して登録する入力装置が選択されるまで待機する(S503:No)。
登録対象アクションに対して登録する入力装置として、デバイスが選択された場合(S503:デバイス)、CPU11は、選択されたデバイスが有する入力機能のうち、主機能を実行する場合に利用する入力機能を選択する処理を実行する(S504)。CPU11は、設定画面を表示し、S504において選択された入力機能の設定値を表示する(S505)。次に、CPU11は、表示された設定値を必要に応じて変更する設定値変更処理を実行する(S506)。設定値変更処理(S506)の詳細な処理については、図8(a)を参照して後述する。
CPU11は、入力装置として選択されたデバイスを、登録対象アクションに対する入力装置として登録する指示を、タッチパネル17を介して受け付けるまで待機する(S507:No)。当該指示を受け付けた場合(S507:Yes)、CPU11は、S502において選択されたデバイスを、登録対象アクションに対する入力装置として登録する(S508)。具体的に、CPU11は、S502において選択されたデバイスに対応するデバイス情報と、S504において選択された入力機能と、当該入力機能の設定値とを、登録対象アクションに対する入力装置として、アプリ用記憶領域12cに記憶する。CPU11は、S508の処理後、処理をS509に移行する。
一方、登録対象アクションに対して登録する入力装置として、サービス(すなわち、サーバ100)または自端末10が選択された場合(S503:サービス,端末)、CPU11は、ファイル指定受付処理を実行する(S511)。ファイル指定受付処理(S511)は、入力装置として選択されたサーバ100のデータベースやストレージ、または、自端末10のメモリカードI/F18に装着されたメモリカードMCに記憶されているファイルの中から、入力データとして読み出す1または複数のファイルを、ユーザが指定した場合に、当該指定を受け付ける処理である。
次に、CPU11は、入力装置として選択されたサーバ100または端末10を、登録対象アクションに対する入力装置として登録する指示を、タッチパネル17を介して受け付けるまで待機する(S512:No)。当該指示を受け付けた場合(S512:Yes)、CPU11は、S502において選択されたサーバ100または自端末10を、登録対象アクションに対する入力装置として登録する(S513)。具体的に、CPU11は、S502において選択されたサーバ100または自端末10に対応するサービス名または端末10を示す名称と、S511にて指定された1または複数のファイルの各ファイル名とを、登録対象アクションに対する入力装置として、アプリ用記憶領域12cに記憶する。CPU11は、S513の処理後、処理をS509に移行する。
S509において、CPU11は、登録対象アクションに対し、少なくとも1の出力装置が登録されているかを判断する。少なくとも1の出力装置が登録されていると、CPU11が判断した場合(S509:Yes)、アクション実行画面において実行ボタンを表示するモードに設定し(S510)、処理をS500に移行する。かかる場合、本処理の終了後に表示されるアクション実行画面には、実行ボタンが表示される。一方、出力装置が全く登録されていないと、CPU11が判断した場合(S509:No)、アクション実行画面において実行ボタンを非表示にするモードに設定し(S514)、処理をS500に移行する。かかる場合、本処理の終了後に表示されるアクション実行画面には、実行ボタンが表示されない。
S501において、出力装置の登録の指示を受け付けたとCPU11が判断した場合(S501:出力)、CPU11は、図7を参照して後述する、出力装置の候補を表示する処理を実行する(S515)。S515の処理によれば、出力装置の候補となるデバイス、サービス、および自端末10が、入出力登録画面に表示される。CPU11は、S515の処理によって入出力登録画面に表示された出力装置の候補から、登録対象アクションに対して登録する出力装置が選択されるまで待機する(S516:No)。
登録対象アクションに対して登録する出力装置として、デバイスが選択された場合(S516:デバイス)、CPU11は、選択されたデバイスが有する出力機能のうち、主機能を実行する場合に利用する出力機能を選択する処理を実行する(S517)。次に、CPU11は、S518〜S521の処理を実行し、処理をS522に移行する。S518〜S521の処理は、それぞれ、上述したS505〜S508の処理における「入力」を「出力」に読み換えた処理であるので、具体的な説明は省略する。なお、設定値変更処理(S519)の詳細な処理については、図8(b)を参照して後述する。
一方、登録対象アクションに対して登録する出力装置として、サービス(すなわち、サーバ100)または自端末10が選択された場合(S516:サービス,端末)、CPU11は、フォルダ指定受付処理を実行する(S523)。フォルダ指定受付処理(S523)は、出力装置として選択されたサーバ100のデータベースやストレージ、または、自端末10のメモリカードI/F18に装着されたメモリカードMCに設けられたフォルダを、ユーザが、出力データの記憶先として指定した場合に、当該指定を受け付ける処理である。次に、CPU11は、S524,S525の処理を実行し、処理をS522に移行する。なお、S524,S525の処理は、それぞれ、上述したS512,S513の処理における「入力」を「出力」に読み換えるとともに、「ファイル」を「フォルダ」に読み換えた処理であるので、具体的な説明は省略する。
S522において、CPU11は、登録対象アクションに対し、少なくとも1の入力装置が登録されているかを判断する。少なくとも1の入力装置が登録されていると、CPU11が判断した場合(S522:Yes)、CPU11は、処理をS510に移行する。一方、入力装置が全く登録されていないと、CPU11が判断した場合(S522:No)、CPU11は、処理をS514に移行する。
図6は、上述した入力装置の候補を表示する処理(S502)を示すフローチャートである。CPU11は、登録デバイスまたは登録サービスのうち、入力装置の候補となるもの、即ち、入力機能を有するデバイスまたはサービスを入出力登録画面に表示する(S601)。登録対象アクションに出力装置としてデバイスが登録されている場合(S602:デバイス)、CPU11は、処理をS603に移行する。一方、登録対象アクションに出力装置としてサービスが登録されている場合(S602:サービス)、CPU11は、処理をS605に移行する。なお、本実施形態では、登録対象アクションに出力装置としてデバイスとサービスの両方が登録されている場合には、CPU11は、処理をS603に移行するものとする。
S603において、CPU11は、入力装置の候補が何であるかを判断する(S603)。入力装置の候補がデバイスのみであるとCPU11が判断した場合(S603:デバイス)、CPU11は、出力装置として登録されたデバイスと、入力装置の候補であるデバイス(以下「入力候補デバイス」と称することがある)の入力機能との組み合わせで可能になる主機能を示すTipsを、入出力登録画面内の所定領域に表示し(S606)、本処理を終了する。S606で表示されるTipsは、登録対象アクションに対し、出力機能として登録されているデバイス(出力デバイス)の種類と、入力装置の候補となるデバイスの種類とに応じた内容となる。例えば、登録されている出力デバイスがプリンタであり、入力装置の候補となるデバイスがスキャナである場合、「スキャナを登録すると、既に登録されているプリンタと組み合わせてコピーができます。」などの文字情報が、Tipsとして表示される。
入力装置の候補がサービスのみであるとCPU11が判断した場合(S603:サービス)、CPU11は、出力装置として登録されたデバイスと、入力装置の候補であるサービス(以下「入力候補サービス」と称す)の入力機能との組み合わせで可能になる主機能を示すTipsを、入出力登録画面内の所定領域に表示し(S607)、本処理を終了する。S607で表示されるTipsは、登録対象アクションに対して登録されている出力デバイスの種類と、入力装置の候補となるサービスの種類とに応じた内容となる。例えば、登録されている出力デバイスがプリンタであり、入力装置の候補となるサービスが、クラウドサービスを提供するサーバ100である場合、「クラウドサービスを登録すると、クラウド上のファイルを、既に登録されているプリンタで印刷できます。」などの文字情報が、Tipsとして表示される。
入力装置の候補がデバイスとサービスとの混合であるとCPU11が判断した場合(S603:デバイス&サービス)、CPU11は、出力装置として登録されたデバイスと、入力候補デバイスの入力機能または候補サービスの入力機能との組み合わせで可能になる主機能を示すTipsを、入出力登録画面内の所定領域に表示し(S604)、本処理を終了する。S604で表示されるTipsは、例えば、登録されている出力デバイスがプリンタであり、入力装置の候補となるデバイスおよびサービスが、それぞれ、スキャナおよびクラウドサービスである場合、「スキャナを登録すると、既に登録されているプリンタと組み合わせてコピーができます。クラウドサービスを登録すると、クラウド上のファイルを、既に登録されているプリンタで印刷できます。」などの文字情報である。
一方、登録対象アクションに出力装置としてサービスが登録されている場合(S602:サービス)、CPU11は、出力装置として登録されたサービスと入力機能との組み合わせに関するTipsを、入出力登録画面内の所定領域に表示し(S605)、本処理を終了する。S605で表示されるTipsは、例えば「スキャナによるスキャンデータや、クラウド上のデータなどを、既に登録されているサービスに保存できます。」などの文字情報である。つまり、既に登録されているサービスと、各種の入力機能とを組み合わせて実現可能な主機能をユーザに伝達するTipsが表示される。
登録対象アクションに出力装置が登録されていない場合(S602:No)、CPU11は、本処理を終了する。つまり、登録対象アクションに出力装置が登録されていない場合には、S604〜S607にて表示したようがTipsは表示されない。
本処理(S502)のS604〜S607の処理によれば、ユーザは、既に出力装置として登録されているデバイスまたはサービスに対し、入力装置を組み合わせることによって何ができるかを把握できる。よって、入力装置の候補の中から、既に登録されている出力装置と組み合わせることによって所望の主機能を実現できる入力機能を有するデバイスまたはサービスを、容易に選択できる。
図7は、上述した出力装置の候補を表示する処理(S515)を示すフローチャートである。本処理において、CPU11は、S701〜S707の処理を実行するが、これらの処理は、それぞれ、上述したS601〜S607の処理における「入力」を「出力」に読み換えた処理であるので、具体的な説明は省略する。
なお、S706で表示されるTipsは、例えば、登録されている入力デバイスがスキャナであり、出力装置の候補となるデバイスがプリンタである場合、「プリンタを登録すると、既に登録されているスキャナと組み合わせてコピーができます。」などの文字情報である。S707で表示されるTipsは、例えば、登録されている入力デバイスがスキャナであり、出力装置の候補となるサービスが、クラウドサービスを提供するサーバ100である場合、「クラウドサービスを登録すると、既に登録されているスキャナによるスキャンデータを、クラウド上に保存できます。」などの文字情報である。
S704で表示されるTipsは、例えば、登録されている入力デバイスがスキャナであり、出力装置の候補となるデバイスおよびサービスが、それぞれ、プリンタおよびクラウドサービスである場合、「プリンタを登録すると、既に登録されているスキャナと組み合わせてコピーができます。クラウドサービスを登録すると、既に登録されているスキャナによるスキャンデータを、クラウド上に保存できます。」などの文字情報である。S705で表示されるTipsは、例えば「既に登録されているサービスに保存されているデータを、プリンタで印刷したり、クラウド上に保存できます。」などの文字情報である。
本処理(S503)のS704〜S707の処理によれば、ユーザは、既に入力装置として登録されているデバイスまたはサービスに対し、出力装置を組み合わせることによって何ができるかを把握できる。よって、出力装置の候補の中から、既に登録されている入力装置と組み合わせることによって所望の主機能を実現できる出力機能を有するデバイスまたはサービスを、容易に選択できる。
上記S502およびS515の処理では、登録対象アクションに対し、入力装置または出力装置としてサービスが登録されている場合、出力装置または入力装置の候補を考慮することなく、Tipを表示する構成とした(S605,S705参照)。これに代えて、登録されている入力装置または出力装置がデバイスである場合のように、出力装置または入力装置の候補が何であるかに応じたTipsを表示する構成としてもよい。
図8(a)は、上述した設定値変更処理(S506)を示すフローチャートである。本処理は、登録対象アクションに対して登録する入力装置として選択されたデバイスにおいて、利用する入力機能の設定値を、当該入力機能の設定範囲内で、ユーザの所望する値に変更する処理である。設定画面に表示される、入力機能の設定値が変更された場合(S801:Yes)、CPU11は、変更後の設定値を取得する(S802)。登録対象アクションに対し、出力装置としてデバイスが登録されている場合(S803)、CPU11は、当該出力装置として登録されているデバイスの出力機能の設定値を取得する(S804)。一方、出力装置としてデバイスが登録されていない場合には(S803:No)、処理をS807に移行する。
CPU11は、S802において取得した、入力機能の変更後の設定値と、S804において取得した出力機能の設定値とを比較する(S805)。例えば、出力装置として登録されているデバイスがプリンタであり、入力装置として登録されているデバイスがスキャナである場合に、利用するスキャナ機能の設定の1つであるスキャン解像度が変更された場合には、CPU11は、S805において、変更後のスキャン解像度の設定値と、プリント機能の設定の1つである印刷解像度の設定値とを比較する。別の例として、かかる場合に、利用するスキャナ機能の設定の1つである原稿サイズが変更された場合には、CPU11は、S805において、変更後の原稿サイズの設定値と、プリント機能の設定の1つである用紙サイズの設定値とを比較する。
CPU11は、S805での比較の結果、入力機能の変更後の設定値が、出力機能の設定値に対して適切な値であるか否かを判断する(S806)。具体的に、例えば、S805において、変更後のスキャン解像度の設定値と、印刷解像度の設定値との比較を行った場合、変更後のスキャン解像度の設定値が、印刷解像度の設定値以下の値である場合には、CPU11は、変更後の入力機能の設定値が、出力機能の設定値に対して適切な値であると判断する。別の例として、S805において、変更後の原稿サイズの設定値と、用紙サイズの設定値との比較を行った場合、変更後の原稿サイズの設定値が、原稿サイズの設定値と同じ値である場合には、CPU11は、変更後の入力機能の設定値が、出力機能の設定値に対して適切な値であると判断する。さらに別の例としては、変更後のスキャン設定がカラー設定である場合に、モノクロでのプリント設定がされている場合に、CPU11は、変更後の入力機能の設定値が、出力機能の設定値に対して適切な値であると判断する。
入力機能の変更後の設定値が適切な値であるとCPU11が判断した場合(S806:Yes)、CPU11は、処理をS807に移行する。入力機能の変更後の設定値が適切な値でないとCPU11が判断した場合(S806:No)、CPU11は、入力機能の変更後の設定値が、出力機能の設定値に対して不適切な値であることを示すTipsを、設定画面の所定領域に表示し(S808)、処理をS807に移行する。
S808で表示されるTipsは、S805での比較に応じた内容となる。例えば、変更後のスキャン解像度の設定値と、印刷解像度の設定値とが比較された場合、「このスキャン解像度でスキャンした場合、画質を落とさず印刷するには、印刷解像度を高くする必要があります。」などの文字情報が、Tipsとして表示される。また、変更後の原稿サイズの設定値と、用紙サイズの設定値とが比較された場合、「スキャン画像と同等の画質で印刷するには、用紙サイズを原稿サイズと同じにする必要があります。」などの文字情報が、Tipsとして表示される。
CPU11は、設定画面に表示されるOKボタンに対する操作を、タッチパネル17を介して受け付けるか、入力機能の設定値が変更されるのを待機する(S807:No,S801:No)。OKボタンに対する操作をCPU11が受け付けた場合、CPU11は、本処理を終了する。
図8(b)は、上述した設定値変更処理(S519)を示すフローチャートである。本処理は、登録対象アクションに対して登録する出力装置として選択されたデバイスにおいて、利用する出力機能の設定値を、当該入力機能の設定範囲内で、ユーザの所望する値に変更する処理である。本処理において、CPU11は、S821〜S828の処理を実行するが、これらの処理は、それぞれ、上述したS801〜S808の処理における「入力」を「出力」に読み換えた処理であるので、具体的な説明は省略する。
なお、S806では、例えば、出力装置として登録されているデバイスがプリンタであり、入力装置として登録されているデバイスがスキャナである場合に、変更後の印刷解像度の設定値が、スキャン解像度の設定値以上の値である場合には、CPU11は、変更後の出力装置の設定値が、入力機能の設定値に対して適切な値であると判断する。別の例として、変更後の用紙サイズが、原稿サイズと同じである場合、CPU11は、S806において、適切であると判断する。
また、S828で表示されるTipsは、変更後の印刷解像度の設定値と、スキャン解像度の設定値とが比較された場合、「この印刷解像度で印刷するには、スキャン解像度を低くする必要があります。」などの文字情報である。また、変更後の用紙サイズの設定値と、原稿サイズの設定値とが比較された場合、「スキャン画像と同等の画質で印刷するには、用紙サイズを原稿サイズと同じにする必要があります。」などの文字情報が、S828で表示されるTipsである。
よって、上述した各設定値変更処理(S506,S519)によれば、利用する入力機能または出力機能の設定値を変更した場合に、変更後の設定値が、利用する入力機能または出力機能との組み合わされる出力機能または入力機能の設定値に対して不適切な値である場合には、S808,S828にてTipsが表示されるので、入力機能の設定値と出力機能の設定値との組み合わせが不適切であり、十分な結果が得られなくなることを防止できる。なお、利用する入力機能または出力機能の設定値を変更した場合に限らず、例えば、アクション実行画面において、利用する入力機能および出力機能の各設定値の組み合わせに不適切なものがある場合に、S808,S828で表示したTipsと同様のTipsを表示する構成としてもよい。
図9は、上述したアクション実行画面表示処理(S211)を示すフローチャートである。CPU11は、アクション実行画面をLCD16に表示する(S901)。かかる場合、CPU11は、アクション実行画面に、入出力追加ボタンを表示するとともに、実行の対象である1のアクション(以下「実行対象アクション」と称す)で利用する機能に関する情報を表示する。
具体的に、実行対象アクションに対し、入力装置が登録されている場合、CPU11は、当該入力装置が利用する入力機能に関する情報として、入力機能を示す名称、例えば「Scan」を表示する。一方、実行対象アクションに対し、出力装置が登録されている場合、CPU11は、当該出力装置が利用する出力機能に関する情報として、出力機能を示す名称、例えば「Print」を表示する。よって、ユーザは、アクション実行画面に表示された、入力機能または出力機能に関する情報に基づき、実行対象アクションにて実行される入力機能または出力機能を把握できる。
また、CPU11は、入力機能または出力機能に関する情報とともに、当該入力機能または出力機能を提供する入力装置または出力装置を示す情報、例えば、モデル名やサービス名を表示する。よって、ユーザは、実行対象アクションが、どの入力装置または出力装置を用いて実行されるかを把握できる。なお、入力機能または出力機能に関する情報、あるいは、当該入力機能または出力機能を提供する入力装置または出力装置を示す情報のいずれか一方が表示される構成であってもよい。
実行対象アクションに出力装置が登録されていない場合には(S902:No)、CPU11は、処理をS906に移行する。一方、実行対象アクションに出力装置が登録されており、当該出力装置がデバイスのみである場合(S902:Yes,S903:Yes)、CPU11は、登録サービスがあるかを判断する(S904)。
CPU11は、登録サービスがあると判断した場合(S904:Yes)、CPU11は、登録サービス(すなわち、登録されたサーバ100)を、出力装置として追加登録できることを示すTipsを、アクション実行画面内の所定領域に表示し(S905)、処理をS906に移行する。S905で表示されるTipsは、例えば「クラウドサービスを出力に追加すると、スキャン結果を印刷できるだけでなく、クラウドに保存することができます。」などの文字情報である。
一方、CPU11は、登録サービスがないと判断した場合(S904:No)、CPU11は、自端末10を出力装置として追加登録できることを示すTipsを、アクション実行画面内の所定領域に表示し(S913)、処理をS906に移行する。S913で表示されるTipsは、例えば「端末を出力に追加すると、スキャン結果を印刷できるだけでなく、クラウドに保存することができます。」などの文字情報である。
実行対象アクションに対して登録されている出力装置がデバイスのみでない場合(S903:No)、登録されている出力装置がサービス(すなわち、サーバ100)のみであれば(S910:Yes)、CPU11は、出力機能を有する登録デバイスがあるかを判断する(S911)。
CPU11は、出力機能を有する登録デバイスがあると判断した場合(S911:Yes)、出力機能を有する登録デバイスを、出力装置として追加登録できることを示すTipsを、アクション実行画面内の所定領域に表示し(S912)、処理をS906に移行する。S912で表示されるTipsは、例えば「プリンタを出力に追加すると、スキャナがスキャンしたデータをクラウドに保存できるだけでなく、プリンタで印刷もできます。」などの文字情報である。
一方、S911において、CPU11は、出力機能を有する登録デバイスがないと判断した場合には(S911:Yes)、処理をS906に移行する。また、S910において、CPU11は、実行対象アクションに対して登録されている出力装置がサービスのみでないと判断した場合(S910:No)、CPU11は、処理をS906に移行する。つまり、実行対象アクションに対して登録されている出力装置に、デバイスもサービスも含まれる場合には、S905,S912,S913にて表示したようなTipsは表示されない。
このように、S902〜S905,S910〜S912の処理によれば、実行対象アクションに対し、出力機能を有するデバイスまたはサービスのいずれか一方が出力装置として登録されている場合に、ユーザは、他方についても、当該実行対象アクションに対して登録されている入力装置との組み合わせとして追加できることを把握できる。
実行対象アクションに入力装置が登録されていない場合には(S906:No)、CPU11は、本処理を終了する。一方、実行対象アクションに入力装置が登録されている場合には(S906:Yes)、CPU11は、S907〜S909,S914〜S917の処理を実行する。S907〜S909,S914〜S917の処理は、それぞれ、上述したS903〜S905,S910〜S913の処理における「入力」を「出力」に読み換えた処理であるので、具体的な説明は省略する。
なお、S909で表示されるTipsは、例えば「クラウドサービスを入力に追加すると、クラウドに格納されている画像やドキュメントを取得して、印刷することができます。」などの文字情報である。また、S917で表示されるTipsは、例えば「端末を入力に追加すると、端末に格納されている画像やドキュメントを取得して、印刷することができます。」などの文字情報である。また、S916で表示されるTipsは、例えば「スキャナを入力に追加すると、スキャナがスキャンしたデータをクラウドに保存できるだけでなく、プリンタで印刷もできます。」などの文字情報である。
このように、S906〜S909,S914〜S917の処理によれば、実行対象アクションに対し、入力機能を有するデバイスまたはサービスのいずれか一方が入力装置として登録されている場合に、ユーザは、他方についても、当該実行対象アクションに対して登録されている出力装置との組み合わせとして追加できることを把握できる。
図10を参照して、本実施形態のアプリ12bが表示するTipsの一例を示す。図10(a)は、デバイス登録処理(図3)のS310の処理によって表示されるTipsの一例を示す模式図である。この例では、無線LANネットワーク500に接続されているスキャナ60、プリンタ70、およびMFP80のうち、出力デバイスであるプリンタ70が登録されているが、入力デバイスが登録されていない場合に、CPU11がS310の処理を実行したことによって、デバイス登録画面内の背景のみの領域201に表示されたTips301を示す。
図10(b)は、出力装置の候補を表示する処理(図7)のS704の処理によって表示されるTipsの一例を示す模式図である。この例では、登録対象アクションに対し、出力デバイスとしてスキャナが登録されており、プリンタ70と、サービスAを提供するサーバ100と、サービスCを提供するサーバ100とが入力装置の候補とされる場合に、CPU11がS704の処理を実行したことによって、入出力登録画面内の背景のみの領域202に表示されたTips302を示す。
図10(c)は、設定値変更処理(図7(b))のS828の処理によって表示されるTipsの一例を示す模式図である。この例では、スキャナ機能の印刷解像度の設定値が高解像度であるにもかかわらず、プリント機能の印刷解像度の設定値213が低解像度に変更された場合に、CPU11がS828の処理を実行したことによって、設定画面内の背景のみの領域203に表示されたTips303を示す。
図10(d)は、アクション実行画面表示処理(図9)のS909の処理によって表示されるTipsの一例を示す模式図である。この例では、登録対象アクションに対し、入力装置としてスキャナ60のみが登録されている場合に、出力装置となり得る登録サービスが存在する場合に、CPU11がS909の処理を実行したことによって、設定画面内の背景のみの領域204に表示されたTips304を示す。
本実施形態によれば、入力機能を実行可能なデバイスまたはサービスと、出力機能を実行可能なデバイスまたはサービスとから構成される組み合わせに関する各種のTips、具体的に、S604〜S607,S704〜S707,S905,S909,S912,S916で表示されるTipsが表示されるので、ユーザは、所望の主機能を実現するために必要なデバイスまたはサービスの組み合わせを容易に行い得る。
上記実施形態において、アプリ12bが、情報処理プログラムの一例である。端末10が、情報処理装置の一例である。スキャナ60、プリンタ70、MFP80が、デバイスの一例である。サーバ100が、サーバの一例である。スキャナ60、MFP80が、入力デバイスの一例である。プリンタ70、MFP80が、出力デバイスの一例である。CPU11が、制御部の一例である。LCD16が、表示部の一例である。フラッシュメモリ12が、記憶部の一例である。無線LANネットワーク500、インターネット800が、ネットワークの一例である。S604〜S607,S704〜S707,S905,S909,S912,S916にて表示されるTipsが、第1ガイド情報の一例である。S310,S319,S322,S323にて表示されるTipsが、第2ガイド情報の一例である。S414にて表示されるTipsが、第3ガイド情報の一例である。S407にて表示されるTipsが、第4ガイド情報の一例である。S808,S828にて表示されるTipsが、第5ガイド情報の一例である。S316,S901にて表示される、入力機能に関する情報と出力機能に関する情報とが、機能情報の一例である。S901にて表示される、入力装置を示す情報が、入力デバイスもしくは入力サービスを示す情報の一例である。S901にて表示される、出力装置を示す情報が、出力デバイスもしくは出力サービスを示す情報の一例である。
デバイス登録処理(S205),サービス登録処理(S207)の処理を実行するCPU11が、登録手段、登録ステップの一例である。S604〜S607,S704〜S707,S905,S909,S912,S916の処理を実行するCPU11が、第1ガイド表示手段、第1ガイド表示ステップの一例である。入出力登録手段(S216)の処理を実行するCPU11が、設定手段、設定ステップの一例である。アクション実行処理(S213)の処理を実行するCPU11が、機能実行手段、機能実行ステップの一例である。S310,S319,S322,S323の処理を実行するCPU11が、第2ガイド表示手段の一例である。S414の処理を実行するCPU11が、第3ガイド表示手段の一例である。S407の処理を実行するCPU11が、第4ガイド表示手段の一例である。S806,S826の処理を実行するCPU11が、判断手段の一例である。S808,S828の処理を実行するCPU11が、第5ガイド表示手段の一例である。S316,S409の処理を実行するCPU11が、第1の機能表示手段の一例である。S901の処理を実行するCPU11が、第2の機能表示手段の一例である。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。例えば、上記実施形態では、アプリ12bを端末10に搭載する構成としたが、当該アプリ12bを搭載させる端末としては、上記例示した端末10に限定されず、タブレット端末や、デジタルカメラや、パーソナルコンピュータなどを採用することも可能である。
また、サーバにアプリ12bを搭載し、上記実施形態の端末10と同等に機能させる構成としてもよい。つまり、アプリ12bを搭載するサーバが、スマートフォンなどの端末に対する操作に基づいて、図2〜図9のフローチャートに示す各処理を行う構成としてもよい。かかる場合、表示に係る処理、例えば、各種Tipsの表示に係る処理は、サーバから、表示に対応するデータを、スマートフォンなどの端末に送信し、端末の表示部に表示させる構成であってもよい。また、上記実施形態では、端末10に搭載されるOS12aとして、アンドロイド(登録商標)を例示したが、他のOSも利用できる。
上記実施形態では、入力装置の候補となるデバイスとして、スキャナ60と、MFP80とを例示したが、入力機能、すなわち、アプリ12bを搭載する端末が入力データとして受け取るデータを取り込む機能、または、当該データが記憶される記憶部から読み出す機能を実行可能なデバイスであれば利用可能である。例えば、入力データとしてのファクシミリデータを受信するファクシミリや、入力データとしての読み出し対象となるデータを記憶するデータベースサーバなどを、入力装置として利用できる。同様に、出力機能を実行可能なデバイスであれば、出力装置の候補となるデバイスとして利用可能である。例えば、出力データとしての3次元印刷用の印刷データに基づく3次元印刷を行う3Dプリンタや、出力データとしての刺繍データに基づいて刺繍を行うミシンや、出力データとしての投影データに基づく画像投影を行う投影装置などを、出力装置として利用できる。
上記実施形態では、各画面内にTipsを表示する構成としたが、ポップアップ表示によってTipsを表示する構成としてもよい。
上記実施形態では、入力デバイスまたは出力デバイスが無線LANネットワーク500に接続されている場合に、入力デバイスまたは出力デバイスの登録を促すTipsを表示する構成としたが(S310,S322参照)、無線LANネットワーク500に接続されている入力デバイスまたは出力デバイスに対し、入力機能または出力機能にエラーなどが生じておらず利用可能であるかを問い合わせ、少なくとも1の入力機能または出力機能が利用可能であることを条件として、入力デバイスまたは出力デバイスの登録を促すTipsを表示する構成としてもよい。かかる構成によれば、登録したところで、そのデバイスを直ちに利用できないという状況を防止できる。
上記実施形態のアクション実行画面(図9)では、実行対象アクションに対して登録されている入力装置または出力装置が、デバイスまたはサービスの一方であった場合に、他方についても入力装置または出力装置として追加登録できることを示すTipsを表示する構成とした(S905,S909,S912,S916参照)。これに代えて、実行対象アクションに対する入力装置または出力装置としてデバイスが登録されている場合であっても、入力または出力機能のカテゴリが異なるデバイスを追加登録できることを示すTipsを表示する構成としてもよい。
例えば、プリント機能を有するプリンタおよび刺繍機能を有するミシンは、いずれも出力機能を有するデバイスであるが、異なるカテゴリの出力機能を有するデバイスとみなされる場合に、実行対象アクションに対する出力装置として、プリンタが登録されている場合であっても、ミシンを追加登録できる構成としてもよい。かかる変形例は、入力機能および出力機能のカテゴリを準備しておき、デバイス登録処理(図3)のS313,S314において、入力機能または出力機能を、デバイス情報に関連付ける際に、カテゴリに関する情報も合わせて関連付けるようにすればよい。
あるいは、実行対象アクションに対する入力装置または出力装置としてデバイスが登録されている場合であっても、登録されているデバイスより能力の高いデバイスを、追加登録できるTipsを表示する構成としてもよい。なお、「能力が高い」とは、例えば、スキャンまたは印刷解像度が高い、利用可能な原稿または用紙サイズが大きい、または、カラーでのスキャンまたは印刷が可能、などである。
上記実施形態では、CPU11が、図2〜図9に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のCPUが協同的に実行する構成としてもよい。また、ASICなどのICが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成としてもよい。CPU11とASICなどのICとが協同して、上記各図に記載される各処理を実行する構成としてもよい。