(57)【要約】【課題】  機能が容易に拡張されることができる電子機器およびアプリケーションを提供する。【解決手段】  ネットワーク通信部と、プリンターと、プリントアプリ２１と、プリントアプリ２１を動作させるプラットフォームとを備えるＭＦＰのプラットフォームは、ネットワーク通信部に入力があったことをプリントアプリ２１に通知する（Ｓ１１０）デバイス操作サービス３７、および、プリントアプリ２１からの指示に応じた出力をプリンターに実行させる（Ｓ１２４およびＳ１４２）画像処理サービス３８としてＭＦＰを機能させ、プリントアプリ２１は、ネットワーク通信部に印刷データの受信があったことがデバイス操作サービス３７から通知された場合に、印刷データに対するプリンターによる印刷をプラットフォームに指示する（Ｓ１２３およびＳ１４１）出力指示手段としてＭＦＰを機能させることを特徴とする。【選択図】  図６
2017105100.tif 000002
【特許請求の範囲】
【請求項１】
入力デバイスと、
出力デバイスと、
アプリケーションと、
前記アプリケーションを動作させるプラットフォームとを備える電子機器であって、
前記プラットフォームは、
前記入力デバイスに入力があったことを前記アプリケーションに通知する入力通知手段、および、
前記アプリケーションからの指示に応じた出力を前記出力デバイスに実行させる出力実行手段として前記電子機器を機能させ、
前記アプリケーションは、前記入力デバイスに特定の入力があったことが前記入力通知手段から通知された場合に、前記特定の入力に対する前記出力デバイスによる特定の出力を前記プラットフォームに指示する出力指示手段として前記電子機器を機能させることを特徴とする電子機器。
【請求項２】
前記出力デバイスは、印刷デバイスであり、
前記出力指示手段は、前記特定の入力として印刷データの入力があったことが前記入力通知手段から通知された場合に、前記印刷データに基づいた前記印刷デバイスによる印刷に、特定のデータに基づいた前記印刷デバイスによる印刷を加えて前記特定の出力とすることを特徴とする請求項１に記載の電子機器。
【請求項３】
入力デバイスと、
出力デバイスと、
アプリケーションを動作させるプラットフォームとを備える電子機器によって実行される前記アプリケーションであって、
前記プラットフォームは、
前記入力デバイスに入力があったことを前記アプリケーションに通知する入力通知手段、および、
前記アプリケーションからの指示に応じた出力を前記出力デバイスに実行させる出力実行手段として前記電子機器を機能させ、
前記アプリケーションは、前記入力デバイスに特定の入力があったことが前記入力通知手段から通知された場合に、前記特定の入力に対する前記出力デバイスによる特定の出力を前記プラットフォームに指示する出力指示手段として前記電子機器を機能させることを特徴とするアプリケーション。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションと、アプリケーションを動作させるプラットフォームとを備える電子機器に関する。
【背景技術】
【０００２】
従来、アプリケーションと、アプリケーションを動作させるプラットフォームとを備える画像形成装置が知られている（例えば、特許文献１参照。）。特許文献１に記載された画像形成装置においては、プラットフォームによって提供される機能を利用するアプリケーションが開発されるので、アプリケーションの実行によって実現される全ての機能をアプリケーション単独で提供する構成と比較して、アプリケーションの開発効率を向上することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０８２８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された画像形成装置においては、プラットフォームによって提供される機能以上の機能をアプリケーションによって提供することができないので、アプリケーションの実行によって実現される機能が拡張されるためには、プラットフォームによって提供される機能が拡張される必要がある場合があるという問題がある。
【０００５】
そこで、本発明は、機能が容易に拡張されることができる電子機器およびアプリケーションを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の電子機器は、入力デバイスと、出力デバイスと、アプリケーションと、前記アプリケーションを動作させるプラットフォームとを備える電子機器であって、前記プラットフォームは、前記入力デバイスに入力があったことを前記アプリケーションに通知する入力通知手段、および、前記アプリケーションからの指示に応じた出力を前記出力デバイスに実行させる出力実行手段として前記電子機器を機能させ、前記アプリケーションは、前記入力デバイスに特定の入力があったことが前記入力通知手段から通知された場合に、前記特定の入力に対する前記出力デバイスによる特定の出力を前記プラットフォームに指示する出力指示手段として前記電子機器を機能させることを特徴とする。
【０００７】
この構成により、本発明の電子機器は、入力デバイスに特定の入力があったことがプラットフォームからアプリケーションに通知された場合に、アプリケーションがプラットフォームに特定の出力を指示するので、プラットフォームによって提供される機能が拡張されなくても、アプリケーションがプラットフォームに指示する特定の出力の内容が変更されることによって、アプリケーションの実行によって実現される機能が拡張されることができる。したがって、本発明の電子機器は、機能が容易に拡張されることができる。
【０００８】
本発明の電子機器において、前記出力デバイスは、印刷デバイスであり、前記出力指示手段は、前記特定の入力として印刷データの入力があったことが前記入力通知手段から通知された場合に、前記印刷データに基づいた前記印刷デバイスによる印刷に、特定のデータに基づいた前記印刷デバイスによる印刷を加えて前記特定の出力としても良い。
【０００９】
この構成により、本発明の電子機器は、印刷データの入力があった場合に、印刷データに基づいた印刷デバイスによる印刷に、特定のデータに基づいた印刷デバイスによる印刷を加えて実行する機能を実現することができる。
【００１０】
本発明のアプリケーションは、入力デバイスと、出力デバイスと、アプリケーションを動作させるプラットフォームとを備える電子機器によって実行される前記アプリケーションであって、前記プラットフォームは、前記入力デバイスに入力があったことを前記アプリケーションに通知する入力通知手段、および、前記アプリケーションからの指示に応じた出力を前記出力デバイスに実行させる出力実行手段として前記電子機器を機能させ、前記アプリケーションは、前記入力デバイスに特定の入力があったことが前記入力通知手段から通知された場合に、前記特定の入力に対する前記出力デバイスによる特定の出力を前記プラットフォームに指示する出力指示手段として前記電子機器を機能させることを特徴とする。
【００１１】
この構成により、本発明のアプリケーションを実行する電子機器は、入力デバイスに特定の入力があったことがプラットフォームからアプリケーションに通知された場合に、アプリケーションがプラットフォームに特定の出力を指示するので、プラットフォームによって提供される機能が拡張されなくても、アプリケーションがプラットフォームに指示する特定の出力の内容が変更されることによって、アプリケーションの実行によって実現される機能が拡張されることができる。したがって、本発明のアプリケーションを実行する電子機器は、機能が容易に拡張されることができる。
【発明の効果】
【００１２】
本発明の電子機器およびアプリケーションは、機能が容易に拡張されることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係るＭＦＰのブロック図である。
【図２】図１に示す各種のアプリケーションと、プラットフォームとの関係を示すブロック図である。
【図３】図１に示すプリントアプリを実行することによって実現される制御部の機能を示す図である。
【図４】プリントアプリの実行によって実現される機能が拡張されていない場合にネットワーク通信部によって印刷データが受信されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図５】プリントアプリの実行によって実現される機能が拡張されていない場合に画像処理サービスで処理不可能な印刷データがネットワーク通信部によって受信されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図６】プリントアプリの実行によって実現される機能が拡張されている場合にネットワーク通信部によって印刷データが受信されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図７】プリントアプリの実行によって実現される機能が拡張されている場合に画像処理サービスで処理不可能な印刷データがネットワーク通信部によって受信されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図８】表示アプリの実行によって実現される機能が拡張されていない場合に操作部に操作が入力されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図９】表示アプリの実行によって実現される機能が拡張されている場合に操作部に操作が入力されたときの図１に示すＭＦＰの動作のシーケンス図である。
【図１０】表示アプリの実行によって実現される機能が拡張されている場合に操作部に操作が入力されたときの図１に示すＭＦＰの動作であって、図９に示す動作とは異なる動作のシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００１５】
まず、本実施の形態に係る電子機器としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の構成について説明する。
【００１６】
図１は、本実施の形態に係るＭＦＰ１０のブロック図である。
【００１７】
図１に示すように、ＭＦＰ１０は、利用者による種々の操作が入力されるボタンなどの操作デバイスである操作部１１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部１２と、原稿から画像を読み取る読取デバイスであるスキャナー１３と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター１４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部１５と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部１６と、各種のデータを記憶している半導体メモリー、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性の記憶デバイスである記憶部１７と、ＭＦＰ１０全体を制御する制御部１８とを備えている。
【００１８】
操作部１１は、入力デバイスである。表示部１２およびプリンター１４は、出力デバイスである。スキャナー１３、ファックス通信部１５、ネットワーク通信部１６および記憶部１７は、入力デバイスであるとともに、出力デバイスでもある。
【００１９】
記憶部１７は、ネットワーク通信部１６によって受信された印刷データに基づいてプリンター１４によって記録媒体に印刷するプリントの機能を実行するプリントアプリ２１、スキャナー１３によって原稿から読み取られた画像をプリンター１４によって記録媒体に印刷するコピーの機能を実行するコピーアプリ２２、操作部１１に入力された認証情報に基づいて利用者の認証および利用者に対する各種の機能の実行の認可を実行する認証認可の機能を実行する認証認可アプリ２３、操作部１１への操作に基づいた表示部１２による表示の機能を実行する表示アプリ２４など、各種のアプリケーションを記憶している。アプリケーションは、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＳＤカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリーなどの外部の記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００２０】
記憶部１７は、アプリケーションを動作させるプラットフォーム３０を記憶している。プラットフォーム３０は、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＳＤカード、ＵＳＢメモリーなどの外部の記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００２１】
図２は、各種のアプリケーションと、プラットフォーム３０との関係を示すブロック図である。
【００２２】
図２に示すように、プラットフォーム３０は、汎用のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）３１を備えている。
【００２３】
プラットフォーム３０は、利用者を認証するための利用者認証ミドルウェア３２、デバイスからの入力を受け付けるとともにデバイスを操作するためのデバイス操作ミドルウェア３３、プリンター１４（図１参照。）によって印刷される画像データを生成するための画像処理ミドルウェア３４、ネットワークを介した通信を制御するためのネットワーク通信ミドルウェア３５など、ＯＳ３１上で動作する各種のミドルウェアを備えている。
【００２４】
プラットフォーム３０は、各種のミドルウェアによって提供される機能を各種のアプリケーションに提供するためのプラットフォームサービスＩＦ（Ｉｎｔｅｒｆａｃｅ）３６を備えている。例えば、プラットフォームサービスＩＦ３６は、デバイスからの入力を受け付けるとともにデバイスを操作するためにデバイス操作ミドルウェア３３などの必要なミドルウェアによって提供される機能を各種のアプリケーションに提供するためのデバイス操作サービス３７、プリンター１４による印刷のために画像処理ミドルウェア３４などの必要なミドルウェアによって提供される機能を各種のアプリケーションに提供するための画像処理サービス３８など、各種のサービスを提供する。
【００２５】
図１に示す制御部１８は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムおよび各種のデータを予め記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えている。ＣＰＵは、ＲＯＭまたは記憶部１７に記憶されているプログラムを実行するようになっている。
【００２６】
例えば、制御部１８は、プラットフォーム３０を実行することによって、上述したデバイス操作サービス３７（図２参照。）や画像処理サービス３８（図２参照。）として機能する。デバイス操作サービス３７は、ネットワーク通信部１６に印刷データの入力があったことをプリントアプリ２１に通知する入力通知手段を構成している。画像処理サービス３８は、プリントアプリ２１からの指示に応じた出力をプリンター１４に実行させる出力実行手段を構成している。
【００２７】
また、図３に示すように、制御部１８（図１参照。）は、プリントアプリ２１を実行することによって、ネットワーク通信部１６（図１参照。）に印刷データの入力があったことがデバイス操作サービス３７（図２参照。）から通知された場合に、プリンター１４（図１参照。）による印刷を画像処理サービス３８（図２参照。）に指示する出力指示手段２１ａとして機能する。
【００２８】
同様に、制御部１８は、各種のアプリケーションのそれぞれを実行することによって、入力デバイスに特定の入力があったことがデバイス操作サービス３７から通知された場合に、出力デバイスによる出力をプラットフォーム３０に指示する出力指示手段として機能する。
【００２９】
次に、ＭＦＰ１０の動作について説明する。
【００３０】
まず、プリントアプリ２１の実行によって実現される機能が拡張されていない場合にネットワーク通信部１６によって印刷データが受信されたときのＭＦＰ１０の動作について説明する。
【００３１】
図４は、プリントアプリ２１の実行によって実現される機能が拡張されていない場合にネットワーク通信部１６によって印刷データが受信されたときのＭＦＰ１０の動作のシーケンス図である。
【００３２】
図４に示すように、プリントアプリ２１が起動されると、プリントアプリ２１の出力指示手段２１ａは、ネットワーク通信部１６によって印刷データが受信された場合の通知をデバイス操作サービス３７に依頼する（Ｓ１００）。
【００３３】
したがって、ネットワーク通信部１６によって印刷データが受信されると、デバイス操作サービス３７は、印刷データが受信された旨をプリントアプリ２１に通知する（Ｓ１１０）。ここで、デバイス操作サービス３７は、ネットワーク通信部１６によって受信された印刷データの識別情報もプリントアプリ２１に通知する。なお、図４に示す例では、ネットワーク通信部１６によって受信された印刷データの識別情報を「データ１」と示している。
【００３４】
プリントアプリ２１の出力指示手段２１ａは、データ１の印刷データの受信があったことがＳ１１０においてデバイス操作サービス３７から通知されると、データ１の印刷データが画像処理サービス３８で処理可能なデータであるかを判断する（Ｓ１２０）。
【００３５】
出力指示手段２１ａは、データ１の印刷データが画像処理サービス３８で処理可能なデータではないとＳ１２０において判断すると、図５に示すように、表示部１２によるエラーの表示をデバイス操作サービス３７に指示する（Ｓ１３１）。したがって、デバイス操作サービス３７は、表示部１２によるエラーの表示を実行する（Ｓ１３２）。
【００３６】
一方、出力指示手段２１ａは、データ１の印刷データが画像処理サービス３８で処理可能なデータであるとＳ１２０において判断すると、図４に示すように、データ１の印刷データに基づいたプリンター１４による印刷を画像処理サービス３８に指示する（Ｓ１４１）。ここで、出力指示手段２１ａは、Ｓ１１０において通知された識別情報を画像処理サービス３８に通知する。
【００３７】
したがって、画像処理サービス３８は、データ１の印刷データに基づいたプリンター１４による印刷を実行する（Ｓ１４２）。
【００３８】
図４に示すように、ＭＦＰ１０は、プリントアプリ２１の実行によって実現される機能が拡張されていない場合にネットワーク通信部１６によって印刷データが受信されたとき、受信した印刷データに基づいたプリンター１４による印刷、すなわち、通常の出力を実行する。
【００３９】
次に、プリントアプリ２１の実行によって実現される機能が拡張されている場合にネットワーク通信部１６によって印刷データが受信されたときのＭＦＰ１０の動作について説明する。
【００４０】
図６は、プリントアプリ２１の実行によって実現される機能が拡張されている場合にネットワーク通信部１６によって印刷データが受信されたときのＭＦＰ１０の動作のシーケンス図である。
【００４１】
図６に示すように、ＭＦＰ１０は、Ｓ１００〜Ｓ１２０の処理を図４に示す動作と同様に実行する。
【００４２】
ＭＦＰ１０は、データ１の印刷データが画像処理サービス３８で処理可能なデータではないとＳ１２０において判断すると、図５に示すようにＳ１３１およびＳ１３２の処理を実行する。
【００４３】
一方、プリントアプリ２１の出力指示手段２１ａは、データ１の印刷データが画像処理サービス３８で処理可能なデータであるとＳ１２０において判断すると、図６に示すように、特定の表紙の印刷データを生成して（Ｓ１２１）、生成した印刷データをデバイス操作サービス３７に渡す（Ｓ１２２）。ここで、出力指示手段２１ａは、Ｓ１２２において渡した印刷データの識別情報もデバイス操作サービス３７に通知する。なお、図６に示す例では、Ｓ１２１において生成された印刷データの識別情報を「データ２」と示している。
【００４４】
次いで、出力指示手段２１ａは、データ２の印刷データに基づいたプリンター１４による印刷を画像処理サービス３８に指示する（Ｓ１２３）。ここで、出力指示手段２１ａは、Ｓ１２２においてデバイス操作サービス３７に通知した識別情報を画像処理サービス３８に通知する。
【００４５】
したがって、画像処理サービス３８は、Ｓ１２２において出力指示手段２１ａからデバイス操作サービス３７に渡されたデータ２の印刷データに基づいたプリンター１４による印刷を実行する（Ｓ１２４）。
【００４６】
出力指示手段２１ａは、Ｓ１２３の処理の後、データ１の印刷データに基づいたプリンター１４による印刷を画像処理サービス３８に指示する（Ｓ１４１）。ここで、出力指示手段２１ａは、Ｓ１１０において通知された識別情報を画像処理サービス３８に通知する。
【００４７】
したがって、画像処理サービス３８は、データ１の印刷データに基づいたプリンター１４による印刷を実行する（Ｓ１４２）。
【００４８】
図６に示すように、ＭＦＰ１０は、プリントアプリ２１の実行によって実現される機能が拡張されている場合にネットワーク通信部１６によって印刷データが受信されたとき、受信した印刷データに基づいたプリンター１４による印刷に、特定の表紙の印刷データに基づいたプリンター１４による印刷を加えた出力を実行する。
【００４９】
なお、図６においては、受信した印刷データに基づいた印刷時に必ず特定の表紙を印刷するように、プリントアプリ２１の実行によって実現される機能が拡張されている。しかしながら、プリントアプリ２１の実行によって実現される機能は、特定の表紙の印刷以外の拡張がなされても良い。
【００５０】
プリントアプリ２１の実行によって実現される機能が拡張されている場合にネットワーク通信部１６によって印刷データが受信されたときのＭＦＰ１０の動作として、図５に示す動作に代えて、図７に示す動作が実行されても良い。
【００５１】
図７は、プリントアプリ２１の実行によって実現される機能が拡張されている場合に画像処理サービス３８で処理不可能な印刷データがネットワーク通信部１６によって受信されたときのＭＦＰ１０の動作のシーケンス図である。
【００５２】
図７に示すように、ＭＦＰ１０は、Ｓ１００〜Ｓ１２０の処理を図５に示す動作と同様に実行する。
【００５３】
プリントアプリ２１の出力指示手段２１ａは、データ１の印刷データが画像処理サービス３８で処理可能なデータではないとＳ１２０において判断すると、データ１の印刷データを画像処理サービス３８で処理可能な印刷データに変換する（Ｓ１５１）。
【００５４】
出力指示手段２１ａは、Ｓ１５１の処理の後、画像処理サービス３８で処理可能になったデータ１の印刷データに基づいたプリンター１４による印刷を画像処理サービス３８に指示する（Ｓ１４１）。ここで、出力指示手段２１ａは、Ｓ１１０において通知された識別情報を画像処理サービス３８に通知する。
【００５５】
したがって、画像処理サービス３８は、データ１の印刷データに基づいたプリンター１４による印刷を実行する（Ｓ１４２）。
【００５６】
図７に示すように、ＭＦＰ１０は、表示アプリ２４の実行によって実現される機能が拡張されている場合に、画像処理サービス３８で処理不可能な印刷データがネットワーク通信部１６によって受信されたとき、表示部１２によるエラーの表示、すなわち、通常の出力ではなく、画像処理サービス３８で処理可能な印刷データに変換してプリンター１４による印刷を実行する。
【００５７】
なお、ＭＦＰ１０は、図７に示す処理において、図６に示す処理と同様に、特定の表紙の印刷データに基づいたプリンター１４による印刷を加えた出力を実行しても良い。
【００５８】
次に、表示アプリ２４の実行によって実現される機能が拡張されていない場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作について説明する。
【００５９】
図８は、表示アプリ２４の実行によって実現される機能が拡張されていない場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作のシーケンス図である。
【００６０】
図８に示すように、表示アプリ２４が起動されると、表示アプリ２４の出力指示手段は、操作部１１に操作が入力された場合の通知をデバイス操作サービス３７に依頼する（Ｓ２００）。
【００６１】
したがって、操作部１１に操作が入力されると、デバイス操作サービス３７は、操作が入力された旨を表示アプリ２４に通知する（Ｓ２１０）。ここで、デバイス操作サービス３７は、操作部１１のうち操作が入力されたキーの識別情報も表示アプリ２４に通知する。なお、図８に示す例では、操作部１１のうち操作が入力されたキーの識別情報を「キー１」と示している。
【００６２】
表示アプリ２４の出力指示手段は、キー１のキーに対する操作の入力があったことがＳ２１０においてデバイス操作サービス３７から通知されると、キー１のキーに対応する文字または記号の表示部１２による表示をデバイス操作サービス３７に指示する（Ｓ２２１）。ここで、出力指示手段は、Ｓ２１０において通知された識別情報をデバイス操作サービス３７に通知する。
【００６３】
したがって、デバイス操作サービス３７は、キー１のキーに対応する文字または記号の表示部１２による表示を実行する（Ｓ２２２）。
【００６４】
図８に示すように、ＭＦＰ１０は、表示アプリ２４の実行によって実現される機能が拡張されていない場合に操作部１１に操作が入力されたとき、操作が入力されたキーに対応する文字または記号の表示部１２による表示、すなわち、通常の出力を実行する。
【００６５】
次に、表示アプリ２４の実行によって実現される機能が拡張されている場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作について説明する。
【００６６】
図９は、表示アプリ２４の実行によって実現される機能が拡張されている場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作のシーケンス図である。
【００６７】
図９に示すように、ＭＦＰ１０は、Ｓ２００およびＳ２１０の処理を図８に示す動作と同様に実行する。
【００６８】
表示アプリ２４の出力指示手段は、キー１のキーに対する操作の入力があったことがＳ２１０においてデバイス操作サービス３７から通知されると、操作が入力されたキーが特定のキーであるか否かを判断する（Ｓ２１１）。
【００６９】
表示アプリ２４の出力指示手段は、操作が入力されたキーが特定のキーではないとＳ２１１において判断すると、図８に示すＳ２２１の処理を実行する。したがって、デバイス操作サービス３７は、図８に示すＳ２２２の処理を実行する。
【００７０】
一方、表示アプリ２４の出力指示手段は、操作が入力されたキーが特定のキーであるとＳ２１１において判断すると、図９に示すように、デバイス操作サービス３７に特定の振る舞いを指示する（Ｓ２３１）。
【００７１】
したがって、デバイス操作サービス３７は、Ｓ２３１において指示された振る舞いを実行する（Ｓ２３２）。
【００７２】
図９に示すように、ＭＦＰ１０は、表示アプリ２４の実行によって実現される機能が拡張されている場合に、操作が入力されたキーが特定のキーであるとき、操作が入力されたキーに対応する文字または記号の表示部１２による表示、すなわち、通常の出力ではなく、操作が入力されたキーに対応する特定の振る舞いを実行する。
【００７３】
なお、図８および図９に示す処理において、デバイス操作サービス３７は、操作部１１に入力があったことを表示アプリ２４に通知する入力通知手段であるとともに、表示アプリ２４からの指示に応じた出力を表示部１２に実行させる出力実行手段でもある。
【００７４】
表示アプリ２４の実行によって実現される機能が拡張されている場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作として、図９に示す動作に代えて、図１０に示す動作が実行されても良い。
【００７５】
図１０は、表示アプリ２４の実行によって実現される機能が拡張されている場合に操作部１１に操作が入力されたときのＭＦＰ１０の動作であって、図９に示す動作とは異なる動作のシーケンス図である。
【００７６】
図１０に示すように、ＭＦＰ１０は、Ｓ２００〜Ｓ２１１の処理を図９に示す動作と同様に実行する。
【００７７】
表示アプリ２４の出力指示手段は、操作が入力されたキーが特定のキーではないとＳ２１１において判断すると、図８に示すＳ２２１の処理を実行する。したがって、デバイス操作サービス３７は、図８に示すＳ２２２の処理を実行する。
【００７８】
一方、表示アプリ２４の出力指示手段は、操作が入力されたキーが特定のキーであるとＳ２１１において判断すると、図１０に示すように、ＭＦＰ１０のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＭＦＰ１０の印刷カウンターの値など、ＭＦＰ１０のステータスを報告するためのレポートの印刷データを生成して（Ｓ２４１）、生成した印刷データをデバイス操作サービス３７に渡す（Ｓ２４２）。ここで、表示アプリ２４の出力指示手段は、Ｓ２４２において渡した印刷データの識別情報もデバイス操作サービス３７に通知する。なお、図１０に示す例では、Ｓ２４１において生成された印刷データの識別情報を「データ３」と示している。
【００７９】
次いで、表示アプリ２４の出力指示手段は、データ３の印刷データに基づいたプリンター１４による印刷を画像処理サービス３８に指示する（Ｓ２４３）。ここで、表示アプリ２４の出力指示手段は、Ｓ２４２においてデバイス操作サービス３７に通知した識別情報を画像処理サービス３８に通知する。
【００８０】
したがって、画像処理サービス３８は、Ｓ２４２において表示アプリ２４の出力指示手段からデバイス操作サービス３７に渡されたデータ３の印刷データに基づいたプリンター１４による印刷を実行する（Ｓ２４４）。
【００８１】
図１０に示すように、ＭＦＰ１０は、表示アプリ２４の実行によって実現される機能が拡張されている場合に、操作が入力されたキーが特定のキーであるとき、操作が入力されたキーに対応する文字または記号の表示部１２による表示、すなわち、通常の出力ではなく、レポートの印刷を実行する。
【００８２】
以上においては、プリントアプリ２１の実行によって実現される機能の拡張と、表示アプリ２４の実行によって実現される機能の拡張とについて説明した。他のアプリケーションの実行によって実現される機能の拡張についても同様である。
【００８３】
以上に説明したように、ＭＦＰ１０は、入力デバイスに特定の入力があったことがプラットフォーム３０からアプリケーションに通知された場合に、特定の入力に対する出力デバイスによる通常の出力とは異なる特定の出力をアプリケーションがプラットフォーム３０に指示する（Ｓ１２３、Ｓ２３１またはＳ２４３）ので、プラットフォーム３０によって提供される機能が拡張されなくても、アプリケーションがプラットフォーム３０に指示する特定の出力の内容が変更されることによって、アプリケーションの実行によって実現される機能が拡張されることができる。すなわち、ＭＦＰ１０は、プラットフォーム３０がカスタマイズされることなく、アプリケーションがカスタマイズされるだけで、アプリケーションの実行によって実現される機能が拡張されることができる。したがって、ＭＦＰ１０は、アプリケーションの実行によって実現される機能が拡張されるための開発の効率を向上することができる。すなわち、ＭＦＰ１０は、機能が容易に拡張されることができる。
【００８４】
ＭＦＰ１０は、図６に示すように、印刷データの入力があった場合に、印刷データに基づいたプリンター１４による印刷に、特定のデータに基づいたプリンター１４による印刷を加えて実行する機能を実現することができる。
【００８５】
なお、デバイスは、操作部１１、表示部１２、スキャナー１３、プリンター１４、ファックス通信部１５、ネットワーク通信部１６、記憶部１７など、機能で分類される種類毎に入力や出力の情報が異なる。したがって、ＭＦＰ１０は、機能で分類されるデバイスの種類の単位でデバイス操作サービス３７を備えていることが好ましい。
【００８６】
例えば、操作部１１としては、表示部１２上に表示されるソフトウェアキーボード、ＭＦＰ１０の図示していないＵＳＢコネクターに接続されるＵＳＢキーボード、ＭＦＰ１０の図示していないＢｌｕｅｔｏｏｔｈ（登録商標）インターフェイスに接続されるＢｌｕｅｔｏｏｔｈキーボードなど、様々な構成のキーボードが存在する。同様に、機能で分類されるデバイスの種類の単位の中には、構成で分類されるデバイスの種類が存在する。デバイス操作サービス３７は、機能で分類される種類が同一であって、構成で分類される種類が異なる全てのデバイスに共通する入力のみをアプリケーションに通知することが好ましい。すなわち、機能で分類されるデバイスの種類の単位で備えられた個々のデバイス操作サービス３７は、汎用の構成であっても良い。機能で分類される種類が同一であって、構成で分類される種類が異なる全てのデバイスに共通する入力のみをデバイス操作サービス３７がアプリケーションに通知する場合、アプリケーションは、機能で分類される種類が同一であって、構成で分類される種類が異なるデバイス毎に備えられる必要がない。例えば、アプリケーションは、ソフトウェアキーボード、ＵＳＢキーボードおよびＢｌｕｅｔｏｏｔｈキーボードのそれぞれ毎に備えられる必要がない。
【００８７】
本発明の電子機器は、本実施の形態においてＭＦＰであるが、プリンター専用機など、ＭＦＰ以外の画像形成装置であっても良いし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）など、画像形成装置以外の電子機器であっても良い。
【符号の説明】
【００８８】
１０  ＭＦＰ（電子機器）
１１  操作部（入力デバイス）
１２  表示部（出力デバイス）
１３  スキャナー（入力デバイス、出力デバイス）
１４  プリンター（出力デバイス）
１５  ファックス通信部（入力デバイス、出力デバイス）
１６  ネットワーク通信部（入力デバイス、出力デバイス）
１７  記憶部（入力デバイス、出力デバイス）
２１  プリントアプリ（アプリケーション）
２１ａ  出力指示手段
２２  コピーアプリ（アプリケーション）
２３  認証認可アプリ（アプリケーション）
２４  表示アプリ（アプリケーション）
３０  プラットフォーム
３７  デバイス操作サービス（入力通知手段、出力実行手段）
３８  画像処理サービス（出力実行手段）
【図１】
2017105100.tif 000003
【図２】
2017105100.tif 000004
【図３】
2017105100.tif 000005
【図４】
2017105100.tif 000006
【図５】
2017105100.tif 000007
【図６】
2017105100.tif 000008
【図７】
2017105100.tif 000009
【図８】
2017105100.tif 000010
【図９】
2017105100.tif 000011
【図１０】
2017105100.tif 000012