【文献】
ゲーム中にLINEの通知ポップアップが表示されると邪魔!設定や補助アプリで解決すべし,exciteニュース,2013年 6月12日,第1-3ページ,[オンライン][検索日2020.5.25],URL,https://www.excite.co.jp/news/article/Androidsmart_65186/
(58)【調査した分野】(Int.Cl.,DB名)
前記第1の状態は、該コンテンツデータ処理プログラムの実行に拠る画面が前記表示部の表示領域の大部分に表示されている状態であり、かつ、前記表示部に表示された画面への操作を該コンテンツデータ処理プログラムが受け付け可能な状態である請求項1または2に記載の該コンテンツデータ処理プログラム。
前記第1の状態は、該コンテンツデータ処理プログラムの実行に拠る画面を、前記表示部の表示領域全体に表示させる全画面モードで表示しており、かつ、前記表示部に表示された画面への操作を該コンテンツデータ処理プログラムが受け付け可能な状態である請求項1または2に記載の該コンテンツデータ処理プログラム。
前記第1の状態は、該コンテンツデータ処理プログラムの実行に拠る画面をメイン表示領域に表示しており、かつ、前記表示部に表示された画面への操作を該コンテンツデータ処理プログラムが受け付け可能な状態である請求項1または2に記載の該コンテンツデータ処理プログラム。
前記携帯端末の状態を前記第1の状態へ切り替えるための操作とは、前記第2の状態において前記携帯端末のOSが有効にした所定の操作を受け付ける操作である請求項1から5のいずれかに記載のコンテンツデータ処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、携帯端末では、映像再生プログラム、音声再生プログラム、或いはゲームプログラム等の様々なプログラムが実行可能である。そのため、スキャンプログラムがバックグラウンドで実行されているときに、スキャンデータの受信完了を画一的な方法で報知すると不具合が生じる可能性がある。具体的には、当該報知にユーザが気づかなかったり、当該報知をユーザが邪魔だと感じたりする可能性がある。
【0008】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、フォアグラウンドで実行されているプログラムに適した方法で情報を報知することが可能な通信プログラムを提供することにある。
【課題を解決するための手段】
【0009】
(1) 本明細書に記載の通信プログラムは、表示部、通信部、及び報知部を備えており、複数のプログラムを並行して実行可能な携帯端末が読み取り可能である。前記表示部は、前記報知部の少なくとも一部を兼ねている。前記通信部は、コンテンツデータを処理する外部装置と通信可能である。前記報知部は、複数の報知方法のうちから選ばれた前記報知方法で報知することが可能である。該通信プログラムは、前記コンテンツデータを前記外部装置に処理させるために、前記通信部を通じて前記外部装置と通信する通信処理と、フォアグラウンド或いはバックグラウンドのどちらで該通信プログラムが実行されているかを判断する第1判断処理とを前記携帯端末に実行させる。前記フォアグラウンドは、当該プログラムの実行に拠る画面が前記表示部の表示領域に表示されている状態である。前記バックグラウンドは、当該プログラムと異なる前記プログラムの実行に拠る画面が前記表示部の表示領域に表示されている状態である。該通信プログラムは、前記通信処理が終了し且つ該通信プログラムが前記フォアグラウンドで実行されていると前記第1判断処理で判断したことに応じて、前記通信処理が終了したことを第1報知方法で前記報知部に報知させる第1報知処理を前記携帯端末に実行させる。該通信プログラムは、前記通信処理が終了し且つ該通信プログラムが前記バックグラウンドで実行されていると前記第1判断処理で判断したことに応じて、各々が前記プログラムを識別する複数のプログラム識別情報のうち、対象プログラムを示す前記プログラム識別情報である対象識別情報を取得する取得処理を前記携帯端末に実行させる。前記対象プログラムは、前記フォアグラウンドで実行されている前記プログラムである。該通信プログラムは、前記複数の報知方法のうち、前記取得処理で取得した前記対象識別情報に対応する前記報知方法を、第2報知方法として選択する選択処理と、前記通信処理が終了したことを前記第2報知方法で前記報知部に報知させる第2報知処理とを前記携帯端末に実行させる。
【0010】
上記構成によれば、フォアグラウンドで実行されている対象プログラムに適した報知方法で通信処理の終了を報知することができる。その結果、対象プログラムに注目しているユーザが、当該報知に気づく可能性が向上すると共に、当該報知を邪魔だと感じる可能性を低減させることができる。なお、通信処理とは、例えば、画像データで示される画像を記録装置に記録させる処理、読取装置に生成させた画像データを受信する処理、或いはコンテンツデータの形式をサーバに変換させ、変換されたコンテンツデータを受信する処理等を含む。
【0011】
(2) 好ましくは、前記携帯端末は、情報を出力する或いは情報の入力を受け付ける複数の入出力部を備える。前記表示部は、前記入出力部の少なくとも一部を兼ねている。該通信プログラムは、複数の前記入出力部それぞれについて、前記対象プログラムによる使用状況を判断する第2判断処理を前記携帯端末に実行させ、前記取得処理において、前記第2判断処理で判断した使用状況に対応する前記プログラム識別情報を、前記対象識別情報として取得する。
【0012】
近年、極めて多数のプログラムが携帯端末向けに提供されているので、全てのプログラムに報知方法を予め対応付けておくことは現実的ではない。そこで、上記構成によれば、入出力部の使用状況に基づいて対象プログラムの種類を推定することができるので、対象プログラムに適した方法で通信処理の終了を報知することができる。
【0013】
(3) 例えば、前記携帯端末は、音声を出力するスピーカを備える。前記スピーカは、前記報知部及び前記入出力部の少なくとも一部を兼ねている。前記表示部は、前記プログラムに指示された画像を、表示領域全体に表示させる全画面モード及び表示領域の一部に表示させる部分画面モードに切り替えが可能である。前記プログラム識別情報は、前記プログラムの種類を識別するものである。そして、該通信プログラムは、前記表示部が前記全画面モードで使用されていると前記第2判断処理で判断した場合の前記取得処理において、映像再生プログラムを示す前記プログラム識別情報を、前記対象識別情報として取得する。
【0014】
(4) 一例として、該通信プログラムは、前記選択処理において、前記表示部及び前記スピーカのうちの前記スピーカのみに報知させる方法を、前記映像再生プログラムに対応する前記第2報知方法として選択し、前記第2報知処理において、前記通信処理の終了を報知する報知音を前記スピーカに出力させる。
【0015】
映像再生プログラムをフォアグラウンドで実行させているユーザは、携帯端末の表示部に表示された映像に注目している可能性が高い。このような場合に表示部を通じて報知を行うと、当該報知をユーザが邪魔だと感じる可能性があるので、スピーカを通じて報知するのが望ましい。
【0016】
(5) 他の例として、該通信プログラムは、前記選択処理において、前記表示部の表示領域の周縁部にメッセージを表示させる方法を、前記映像再生プログラムに対応する前記第2報知方法として選択し、前記第2報知処理において、前記通信処理の終了を報知するメッセージを、前記表示部に表示領域の周縁部に表示させる。
【0017】
映像再生プログラムをフォアグラウンドで実行させているユーザは、携帯端末の表示部に表示された映像に注目している可能性が高い。そのため、表示部を通じて報知を行うことにより、当該報知にユーザが気づく可能性が高まる。また、表示部の周縁部にメッセージを表示させることにより、当該報知をユーザが邪魔だと感じる可能性を低減できる。
【0018】
(6) 例えば、前記携帯端末は、音声を出力するスピーカを備える。前記スピーカは、前記報知部及び前記入出力部の少なくとも一部を兼ねている。前記プログラム識別情報は、前記プログラムの種類を識別するものである。そして、該通信プログラムは、前記スピーカが使用されていると前記第2判断処理で判断した場合の前記取得処理において、音声再生プログラムを示す前記プログラム識別情報を、前記対象識別情報として取得する。
【0019】
(7) 例えば、該通信プログラムは、前記選択処理において、前記対象プログラムが出力させている音声と共に報知音を前記スピーカに出力させる方法を、前記音声再生プログラムに対応する前記第2報知方法として選択し、前記第2報知処理において、前記スピーカに、前記対象プログラムが出力させている音声のボリュームを絞らせ、且つ前記通信処理の終了を報知する前記報知音を出力させる。
【0020】
音声再生プログラムをフォアグラウンドで実行させているユーザは、携帯端末のスピーカから出力されている音声に注目している可能性が高い。そのため、スピーカを通じて報知を行うことにより、当該報知にユーザが気づく可能性が高まる。また、音声再生プログラムが出力させている音声のボリュームを報知処理の際に絞ることによって、ユーザが報知音に気づく可能性をさらに高めることができる。
【0021】
(8) 例えば、前記携帯端末は、ユーザ操作を受け付ける操作部を備える。前記操作部は、前記報知部の少なくとも一部を兼ねている。前記プログラム識別情報は、前記プログラムの種類を識別するものである。そして、該通信プログラムは、前記操作部の使用頻度が閾値以上であると前記第2判断処理で判断した場合の前記取得処理において、ゲームプログラムを示す前記プログラム識別情報を、前記対象識別情報として取得する。
【0022】
(9) 例えば、該通信プログラムは、前記選択処理において、前記表示部の表示領域の下部にメッセージをポップアップさせる方法を、前記ゲームプログラムに対応する前記第2報知方法として選択し、前記第2報知処理において、前記通信処理の終了を報知するメッセージを前記表示部にポップアップ表示させる。
【0023】
ゲームプログラムをフォアグラウンドで実行させているユーザは、携帯端末の表示部に表示されたゲーム映像に注目している可能性が高い。また、特にリアルタイム性が要求されるゲームでは、表示領域の上部及び中央に動きのあるゲーム映像が表示され、表示領域の下部にステータス等の静的な情報が表示されることが多い。そこで、上記構成のように、表示部の表示領域の下部にメッセージを表示させることにより、当該報知をユーザに気づかせることができ、且つ当該報知をユーザが邪魔と感じる可能性を低減できる。
【0024】
(10) 例えば、前記携帯端末は、記憶部を備える。前記記憶部は、前記プログラム識別情報と、前記プログラム識別情報に対応付けられた複数の前記入出力部それぞれの使用状況とを記憶している。そして、該通信プログラムは、前記取得処理において、前記第2判断処理で判断した使用状況に対応付けられた前記プログラム識別情報を、前記対象識別情報として取得する。
【0025】
(11) 好ましくは、前記携帯端末は、記憶部を備える。前記記憶部は、前記プログラム識別情報と、前記プログラム識別情報に対応付けられた前記報知方法とを記憶している。そして、該通信プログラムは、前記取得処理において、前記対象識別情報を前記携帯端末のOSから取得し、前記選択処理において、前記対象識別情報に対応付けられた前記報知方法を、前記第2報知方法として選択する。
【0026】
上記構成のように、多くの携帯端末にインストールされる代表的なプログラムの識別情報と、当該識別情報に対応付けられた報知方法とを予め登録しておくことにより、当該プログラムに適した方法で通信処理の終了を報知することができる。
【0027】
(12) 好ましくは、前記携帯端末は、ユーザ操作を受け付ける操作部を備える。そして、該通信プログラムは、前記プログラム識別情報及び前記報知方法を指定するユーザ操作を、前記操作部を通じて受け付ける第1受付処理と、前記第1受付処理で指定を受け付けた前記プログラム識別情報及び前記報知方法を対応付けて前記記憶部に記憶させる第1記憶処理と、を前記携帯端末に実行させる。
【0028】
上記構成によれば、識別情報に対応付けられた報知方法を、ユーザの好みに合わせてカスタマイズすることができる。
【0029】
(13) 好ましくは、前記携帯端末は、情報を出力する或いは情報の入力を受け付ける複数の入出力部を備える。前記表示部及び前記操作部は、前記入出力部の少なくとも一部を兼ねている。該通信プログラムは、前記方法方法と対応付けられた前記対象識別情報が前記記憶部に記憶されているか否かを判断する第3判断処理を前記携帯端末に実行させ、前記対象識別情報が記憶されていると前記第3判断処理で判断した場合の前記選択処理において、前記対象識別情報に対応付けられた前記報知方法を、前記第2報知方法として選択し、前記対象識別情報が記憶されていないと前記第3判断処理で判断した場合の前記取得処理において、複数の前記入出力部それぞれについて、前記対象プログラムによる使用状況を判断する第4判断処理を前記携帯端末に実行させ、前記第4判断処理で判断した使用状況に対応する前記プログラム識別情報を、前記対象識別情報として取得する。
【0030】
上記構成によれば、プログラム識別情報が登録されていない対象プログラムがフォアグラウンドで実行されている場合でも、当該対象プログラムに適した方法で通信処理の終了を報知することができる。
【0031】
(14) 好ましくは、前記携帯端末は、外部装置との間で電話回線を通じて音声データを送受信する音声通信部を備える。そして、該通信プログラムは、前記音声通信部による前記音声データの送受信中であるか否かを判断する第5判断処理を前記携帯端末に実行させる。そして、該通信プログラムは、前記音声データの送受信中であると前記第5判断処理で判断したことに応じて、前記第2報知処理の実行を前記携帯端末に待機させ、前記音声データの送受信中でないと前記第5判断処理で判断したことに応じて、前記第2報知処理を前記携帯端末に実行させる。
【0032】
上記構成によれば、通信処理の終了の報知が通話を邪魔することを防止できる。
【0033】
(15) 好ましくは、前記携帯端末は、音声を出力するスピーカを備える。前記スピーカは、前記報知部の少なくとも一部を兼ねている。前記スピーカは、音声の出力が許可された許可モード、及び音声の出力が規制された規制モードに切り替えが可能である。該通信プログラムは、前記スピーカが前記許可モード或いは前記規制モードのどちらであるかを判断する第6判断処理を前記携帯端末に実行させる。そして、該通信プログラムは、前記許可モードであると前記第6判断処理で判断した場合の前記第2報知処理において、報知音を前記スピーカに出力させる。
【0034】
(16) さらに好ましくは、前記携帯端末は、外部スピーカを装着可能な装着部を備える。前記装着部は、前記報知部の少なくとも一部を兼ねている。該通信プログラムは、前記外部スピーカが前記装着部に装着されているか否かを判断する第7判断処理を前記携帯端末に実行させる。そして、前記規制モードであると前記第6判断処理で判断し、且つ前記外部スピーカが装着されていると前記第7判断処理で判断した場合の前記第2報知処理において、報知音を示す報知音信号を前記装着部を通じて前記外部スピーカに出力する。
【0035】
(17) さらに好ましくは、前記携帯端末は、当該携帯端末を振動させるバイブレータを備える。前記バイブレータは、前記報知部の少なくとも一部を兼ねている。そして、該通信プログラムは、前記規制モードであると前記第6判断処理で判断し、且つ前記外部スピーカが装着されていないと前記第7判断処理で判断した場合の前記第2報知処理において、前記バイブレータに前記携帯端末を振動させる。
【0036】
上記の各構成によれば、携帯端末の状態に合わせて報知音の出力先を変更することができる。また、所謂マナーモードの場合には、報知音に代えて、振動によって通信処理の終了を報知することができる。
【0037】
(18) 好ましくは、前記携帯端末のOSは、該通信プログラムが前記フォアグラウンドから前記バックグラウンドに切り替えられたことに応じて、切替オブジェクトを前記表示部に表示させる。前記切替オブジェクトは、該通信プログラムを前記フォアグラウンドで実行することを指示するユーザ操作を受け付けるための画像である。そして、該通信プログラムは、前記報知処理において、前記切替オブジェクトへの前記ユーザ操作を促すメッセージを前記報知部に出力させる。
【0038】
上記構成によれば、該プログラムにおける通信処理後に実行すべき処理の開始を、ユーザに促すことができる。
【0039】
(19) 例えば、前記携帯端末は、ユーザ操作を受け付ける操作部を備える。前記通信処理は、前記外部装置から前記コンテンツデータを受信する処理である。該通信プログラムは、前記報知処理の実行後に前記フォアグラウンドに切り替えられたことに応じて、前記通信処理で受信した前記コンテンツデータの記憶先を指定するユーザ操作を、前記操作部を通じて受け付ける第2受付処理と、前記第2受付処理で受け付けた記憶先に前記コンテンツデータを記憶させる第2記憶処理とを前記携帯端末に実行させる。
【0040】
(20) 例えば、前記第1報知方法は、前記表示部の表示領域に表示されている画面を、前記通信処理の終了を報知する画面に切り替える方法である。
【0041】
(21) 例えば、前記選択処理で選択可能な前記報知方法は、前記第1報知方法と同じ前記報知方法を含む。
【発明の効果】
【0042】
本発明によれば、フォアグラウンドで実行されている対象プログラムに適した報知方法で通信処理の終了を報知することができる。
【発明を実施するための形態】
【0044】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【0045】
図1は、本実施形態における通信システム100の概略図である。
図1に示される通信システム100は、複合機10と、携帯端末50と、サーバ70とで構成される。但し、複合機10及びサーバ70の一方は省略可能である。複合機10、携帯端末50、及びサーバ70は、通信ネットワークを通じて相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、例えば、インターネット101、有線LAN(Local Area Networkの略)、無線LAN102、或いはこれらの組み合わせであってもよい。
【0046】
複合機10及び携帯端末50は、
図1に示されるように、無線LAN102に属している。また、無線LAN102は、不図示のルータ等を通じてインターネット101に接続されている。なお、「無線LAN102に属する」とは、無線LAN102に属するための設定がされており、無線LAN102に属する他の装置と通信可能であることを指す。より詳細には、複合機10及び携帯端末50には、無線LAN102のアクセスポイント102Aと同じSSIDが設定されており、無線LAN102に割り当てられたネットワークアドレスが付与されている。
【0047】
なお、無線通信とは、通信区間の全域において無線通信が行われていることに限定されない。すなわち、「アクセスポイント102Aを経由して複合機10が情報或いはデータを無線送信或いは無線受信する」とは、複合機10とアクセスポイント102Aとの間において無線通信を実行できていればよい。携帯端末50についても同様である。
【0048】
また、サーバ70は、インターネット101に接続されている。そして、複合機10及び携帯端末50は、アクセスポイント102A及び不図示のルータからインターネット101を経由して、サーバ70と通信することができる。さらに、携帯端末50は、不図示の基地局を通じてインターネット101に接続されていてもよい。そして、携帯端末50は、基地局からインターネット101を経由して、サーバ70と無線通信することができてもよい。不図示のルータ及び基地局は、通信機器の一例である。
【0049】
[複合機10]
複合機10は、
図2(A)に示されるように、プリンタ部11と、スキャナ部12と、表示部23と、操作部24と、通信部25と、CPU31と、記憶部32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を通じて相互に接続されている。複合機10は、コンテンツデータを処理する外部装置或いは画像形成装置の一例である。
【0050】
[プリンタ部11、スキャナ部12]
プリンタ部11は、画像データで示される画像を記録用紙に記録する記録処理を実行する。記録用紙は、シート或いは記録媒体の一例である。プリンタ部11の記録方式として、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部12は、原稿に記録されている画像を読み取って画像データを生成するスキャン処理を実行する。複合機10は、FAXの送受信を行うFAX機能、記録用紙に記録された画像を読み取って他の記録用紙に記録するコピー機能等をさらに有してもよい。
【0051】
[表示部23]
表示部23は、各種情報を表示する表示画面を備える。表示部23としては、液晶ディスプレイ(Liquid Crystal Displayの略)、有機ELディスプレイ(Organic Electro−Luminescence Displayの略)等を採用することができる。
【0052】
[操作部24]
操作部24は、表示部23の表示画面に表示されたオブジェクトを選択するユーザの操作を受け付ける。具体的には、操作部24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、操作部24は、表示部23の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部23がタッチパネルディスプレイとして構成されてもよい。
【0053】
なお、「オブジェクト」とは、ユーザが操作部24を操作することによって選択可能な画像を指す。一例として、オブジェクトは表示部23に表示された文字列であって、操作部24の方向キーを押下することによってオブジェクトの1つがハイライト表示され、操作部24の決定ボタンを押下することによってハイライト表示されたオブジェクトが選択されてもよい。他の例として、操作部24がタッチパネルである場合のオブジェクトは表示部23に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
【0054】
タッチパネルとして実現される操作部24は、表示部23の表示画面をタッチするユーザ操作を受け付ける。また、操作部24は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。位置情報は、例えば、表示画面の左上端を原点とし、右向きをx軸の正の向き、下向きをy軸の正の向きとしたx−y平面上の座標(x,y)として表現できる。タッチセンサには、静電容量方式、抵抗膜方式等の周知の方式を採用することができる。
【0055】
なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。すなわち、タッチした入力媒体を所定時間内に表示画面から離間させるタップ操作、タッチした入力媒体を表示画面上で静止させるロングタッチ操作、タッチした入力媒体を表示画面上でスライドさせるスライド操作、表示画面上をスライドする入力媒体の加速度が閾値以上であるフリック操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに近づける向きにスライドさせるピンチイン操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに離れる向きにスライドさせるピンチアウト操作等は、タッチの一例である。
【0056】
また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。
【0057】
[通信部25]
通信部25は、外部装置と通信を行うためのインタフェースである。複合機10は、例えば、携帯端末50、及びサーバ70等との間で通信部25を通じて各種情報或いは各データを送受信することができる。通信部25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi−Fi Allianceの登録商標)を採用することができる。
【0058】
[CPU31]
CPU(Central Processing Unitの略)31は、複合機10の全体動作を制御するものである。CPU31は、後述する各種プログラムを記憶部32から取得して実行する。CPU31は、各種プログラムの実行によって、操作部24から出力される各種情報、及び通信部25を通じて外部装置から取得した各種情報等に基づいた各種の処理を実行する。CPU31及び記憶部32は、制御部の一例を構成する。
【0059】
[記憶部32]
記憶部32は、プログラム記憶領域32Aと、データ記憶領域32Bとを有する。プログラム記憶領域32Aには、OS(Operating Systemの略)34と、制御プログラム35とが格納される。OS34及び制御プログラム35は、バイナリ形式にビルドされたプログラムである。なお、制御プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域32Bには、制御プログラム35の実行に必要なデータ或いは情報(以下、「データ等」と表記することがある。)が記憶される。
【0060】
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【0061】
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32“というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10“というバイナリ形式の情報として保持されてもよい。
【0062】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【0063】
記憶部32は、例えば、RAM(Random Access Memoryの略)、ROM(Read Only Memoryの略)、EEPROM(Electrically Erasable Programmable Read−Only Memoryの略)、HDD(Hard Disk Driveの略)、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【0064】
なお、記憶部32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0065】
プログラム記憶領域32Aに記憶されているプログラムは、CPU31によって実行される。しかしながら、本明細書では、CPU31を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムAが処理Aを実行する」という趣旨の記述は、「CPU31がプログラムAに記述された処理Aを実行する」ことを指してもよい。
【0066】
また、プログラム記憶領域32Aに記憶されているプログラムは、事象を判断し、判断結果に応じて動作する。しかしながら、本明細書では、判断することを省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムが条件Aに応じて、処理Aを実行する」という趣旨の記述は、「プログラムは条件Aであるか否かを判断する。プログラムは、肯定判断であることに応じて、処理Aを実行する」ことを指してもよい。
【0067】
また、プログラム記憶領域32Aに記憶されているプログラムは、データ等を特定し、取得し、抽出し、或いは選択する。プログラムがデータ等を特定するとは、例えば、複数のデータ等のうちから条件に合致するデータを特定し、当該データ等そのもの或いは当該データ等を識別する情報を、予め定められた記憶領域に記憶させる処理を指す。データ等を識別する情報とは、例えば、当該データ等を識別する識別情報、当該データ等が記憶された配列のインデックス、当該データ等が記憶された記憶領域のポインタ等である。プログラムがデータ等を取得し、抽出し、或いは選択する処理も同様である。
【0068】
OS34は、複合機10を構成するハードウェアであるプリンタ部11、スキャナ部12、表示部23、操作部24、及び通信部25等を制御するためのAPI(Application Programming Interfaceの略)を提供する基本プログラムである。すなわち、上記の各プログラムは、OS34が提供するAPIを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、OS34を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記述は、「プログラムBがOS34のAPIを通じてハードウェアCを制御する」ことを指してもよい。
【0069】
[携帯端末50]
携帯端末50は、
図2(B)に示されるように、表示部53と、操作部54と、通信部55と、音声通信部56と、スピーカ57と、装着部58と、バイブレータ59と、CPU61と、記憶部62と、通信バス63とを主に備える。携帯端末50に含まれる表示部53、操作部54、通信部55、CPU61、記憶部62、及び通信バス63は、複合機10に含まれる表示部23、操作部24、通信部25、CPU31、記憶部32、及び通信バス33と共通するので、再度の説明は省略する。
【0070】
音声通信部56は、外部装置との間で電話回線を通じて音声データを送受信する通話機能を実現する。より詳細には、携帯端末50は、不図示のマイクで集音した音声を示す音声データを音声通信部56を通じて外部装置に送信し、音声通信部56を通じて外部装置から受信した音声データで示される音声をスピーカを通じて出力する。通話機能を実現するために用いられるスピーカは、スピーカ57であってもよいし、装着部58に装着されたスピーカであってもよいし、スピーカ57とは別に携帯端末50に予め設けられた通話専用のスピーカであってもよい。
【0071】
スピーカ57は、音声を出力するものである。装着部58は、外部スピーカを装着可能なインタフェースである。外部スピーカは、例えば、イヤホン或いはヘッドホンの形態であってもよい。バイブレータ59は、携帯端末50を振動させるものである。バイブレータ59は、例えば、偏心おもりをモータで回転させることによって、振動を生じさせるものである。
【0072】
表示部53は、プログラムに指示された画像を表示領域全体に表示させる全画面モードと、プログラムに指示された画像を表示領域の一部に表示させる部分画面モードに切り替え可能である。本実施形態の全画面モードは、所謂フルスクリーンモードを指してもよい。表示部53がどのモードで使用されるかは、例えば、フォアグラウンドで実行されるプログラムが指示してもよいし、操作部54を通じてユーザが指示してもよい。
【0073】
全画面モードは、例えば
図9(A)に示されるように、フォアグラウンドで実行されているプログラムに指示された画面のみが表示部53に表示される状態である。部分画面モードは、例えば
図10(A)に示されるように、フォアグラウンドで実行されているプログラムに指示された画面に加えて、OS64に指示されたステータスバー80が表示部53に表示される状態である。ステータスバー80には、例えば、プログラムが表示させた画面のタイトル、携帯端末50のバッテリー残量、アクセスポイント102Aとの通信状態、或いはバックグラウンドで実行されているプログラムの状態を示すアイコン等が表示される。
【0074】
スピーカ57は、音声の出力が許可された許可モードと、音声の出力が規制された規制モードとに切り替え可能である。許可モードは、音声の出力を指示するAPIがプログラムによって実行されたときに、当該音声がスピーカ57から出力される状態である。規制モードは、音声の出力を指示するAPIがプログラムによって実行されたときに、当該音声がスピーカ57から出力されない状態である。本実施形態の規制モードは、所謂マナーモードを指してもよい。スピーカ57がどのモードで使用されるかは、例えば、操作部54を通じてユーザが指示してもよい。
【0075】
携帯端末50は、例えば、スマートフォンやタブレット端末等であってもよい。表示部53、スピーカ57、装着部58、及びバイブレータ59は、複数の報知方法のうちから選ばれた報知方法で報知する報知部の一部を構成する。表示部53、操作部54、音声通信部56、スピーカ57は、情報を出力する或いは情報の入力を受け付ける複数の入出力部の一例である。なお、報知部及び入出力部は前述の例に限定されない。例えば、携帯端末50に搭載されるカメラを入出力部に含めてもよい。
【0076】
プログラム記憶領域62Aは、OS64を記憶している。携帯端末50のOS64は、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)、Windows Phone(Microsoft Corporationの登録商標) Operating System等であってもよい。
【0077】
OS64は、携帯端末50にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、OS64は、複数のプログラムのうちの1つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。フォアグラウンドは、例えば、当該プログラムの実行に拠る画面が表示部53の表示領域の大部分に表示されている状態である。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠る画面が表示部53の表示領域の大部分に表示されている状態である。
【0078】
また、プログラム記憶領域62Aは、スキャンプログラム65と、動画プログラム66とを記憶している。スキャンプログラム65は、複合機10にスキャン処理を実行させ、スキャン処理によって生成された画像データを当該複合機10から受信し、受信した画像データをユーザによって指定された場所に保存する処理を実行する。スキャンプログラム65は、通信プログラムの一例である。画像データは、コンテンツデータの一例である。動画プログラム66は、動画像及び当該動画像に付随する音声を再生するプログラムである。但し、携帯端末50にインストール可能なプログラムは、動画プログラム66に限定されず、例えば、音楽プログラム、ゲームプログラム、或いはSNS(Social Networking Serviceの略)プログラム等であってもよい。
【0079】
スキャンプログラム65は、OS64が提供するAPIを実行することによって、表示部53の表示領域に画面を表示させることができる。OS64は、表示部53に画面を表示させる2つのAPIを提供している。第1種のAPIは、スキャンプログラム65がフォアグラウンドで実行されているときにのみ、指定された画面を表示部53に表示させる。第2種のAPIは、スキャンプログラム65がフォアグラウンド及びバックグラウンドのどちらで実行されていても、指定された画面を表示部53に表示させる。換言すれば、第2種のAPIによって表示される画面は、フォアグラウンドで実行されているプログラムが表示させている画面の上に重ねて、表示部53に表示される。これらのAPIは、携帯端末50にインストールされた他のプログラムも利用可能である。
【0080】
データ記憶領域62Bは、
図3(A)に示されるように、プログラムIDと、プログラムIDに対応付けられた種類情報とを記憶している。以下、
図3(A)に示される情報を総称してプログラムIDリストと表記することがあり、
図3(A)に示される各レコードをプログラムIDレコードと表記することがある。プログラムIDは、携帯端末50にインストール可能なプログラムを一意に識別する情報である。種類情報は、携帯端末50にインストール可能なプログラムの種類を示す情報である。携帯端末50にインストール可能な各プログラムには、唯1つのプログラムIDが対応付けられ、1又は複数の種類情報が対応付けられる。また、各種類情報は、1又は複数のプログラムに対応付けられる。プログラムID及び種類情報は、プログラム識別情報の一例である。
【0081】
本実施形態において、スキャンプログラム65はプログラムID“001”で識別され、動画プログラム66はプログラムID“002”で識別される。なお、
図3(A)に示されるリストには、携帯端末50にインストール可能な代表的なプログラムのプログラムIDのみが格納されていればよく、全てのプログラムのプログラムIDが含まれていなくてもよい。また、本実施形態において、スキャンプログラム65の種類情報は“通信プログラム”であり、動画プログラム66の種類情報は“映像再生プログラム”である。
【0082】
また、データ記憶領域62Bは、
図3(B)に示されるように、種類情報と、種類情報に対応付けられた報知方法とを記憶している。以下、
図3(B)に示される情報を総称して報知方法リストと表記することがあり、
図3(B)に示される各レコードを報知方法レコードと表記することがある。報知方法は、対応する種類情報で示されるプログラムがフォアグラウンドで実行されている場合に、後述する通信処理の終了をスキャンプログラム65が報知する方法を示す。報知方法は、表示部53を通じた報知の方法と、スピーカ57を通じた報知の方法とを示す。
【0083】
例えば、種類情報“映像再生プログラム”に対応付けられた報知方法は、表示部53にポップアップメッセージを表示させ、且つスピーカ57に音声を出力させない方法である。種類情報“音声再生プログラム”に対応付けられた報知方法は、表示部53にメッセージを表示させず、音声再生プログラムが出力させている音声のボリュームをダウンし、当該音声と共に報知音をスピーカ57に出力させる方法である。種類情報“ゲームプログラム”に対応付けられた報知方法は、表示部53にポップアップメッセージを表示させ、且つスピーカ57に報知音を出力させる方法である。種類情報“SNSプログラム”に対応付けられた報知方法は、表示部53にヘッドアップメッセージを表示させ、且つスピーカ57に報知音を出力させる方法である。種類情報“メニュー画面”に対応付けられた報知方法は、表示部53にトーストメッセージを表示させ、且つスピーカ57に報知音を出力させる方法である。
【0084】
「ポップアップメッセージ」とは、表示部53の表示領域の下端から上方にメッセージを出現させる表示方法である。「ヘッドアップメッセージ」とは、表示部53の表示領域の上端から下方にメッセージを出現させる表示方法である。すなわち、ポップアップメッセージ及びヘッドアップメッセージは、表示部53の表示領域の周縁部にメッセージを表示させる方法である。「トーストメッセージ」とは、表示部53の表示領域の中央部にメッセージを出現させ、且つ当該メッセージを所定時間経過後に自動的に非表示にする表示方法である。さらに、図示は省略するが、「ダイアログメッセージ」とは、メッセージを確認したことを示すユーザ操作を受け付けるためのアイコンをメッセージと共に出現させ、且つ当該アイコンの選択によってメッセージを非表示にする表示方法である。スキャンプログラム65は、第2種のAPIを用いることによって、「ポップアップメッセージ」、「ヘッドアップメッセージ」、「トーストメッセージ」、「ダイアログメッセージ」等を、表示部53の表示領域に表示させることができる。
【0085】
さらに、データ記憶領域62Bは、
図4に示されるように、種類情報と、種類情報に対応付けられた使用状況とを記憶している。以下、
図4に示される情報を総称して使用状況リストと表記することがあり、
図4に示される各レコードを使用状況レコードと表記することがある。使用状況は、フォアグラウンドで実行されているプログラムによって、入出力部が使用されているか否か、或いは入出力部がどのように使用されているかを示す情報である。
図4に示される各種類情報には、複数の入出力部それぞれの使用状況が対応付けられている。
【0086】
例えば、使用状況“○”は、対応する種類情報で示されるプログラムが必ず使用する入出力部である。使用状況“△”は、対応する種類情報で示されるプログラムが使用していてもよいし、使用していなくてもよい入出力部である。使用状況“×”は、対応する種類情報で示されるプログラムが使用しない入出力部である。また、表示部53の使用状況“フルスクリーン”は、種類情報“映像再生プログラム”で示されるプログラムが表示部53をフルスクリーンモードで使用していることを示す。さらに、操作部54の使用状況“使用頻度≧閾値”は、種類情報“ゲームプログラム”で示されるプログラムが、閾値以上の回数のユーザ操作を所定の期間内に操作部54を通じて受け付けていることを示す。
【0087】
図3及び
図4に示される各種情報は、スキャンプログラム65によって実行される。
図3及び
図4に示される各種情報は、例えば、スキャンプログラム65が起動時に読み込むiniファイルに記憶されていてもよいし、スキャンプログラム65のソースコードに直接記述されていてもよい。また、
図3及び
図4に示される各種情報は、例えば、サーバ70によって更新されてもよいし、スキャンプログラム65を通じてユーザが編集可能であってもよい。
【0088】
[サーバ70]
サーバ70は、携帯端末50から受信した各種要求情報に応じた処理を実行する。サーバ70は、例えば、携帯端末50から受信したデータを記憶部に記憶させる処理、要求されたデータを携帯端末50に送信する処理、或いは携帯端末50から受信した第1形式のデータを第2形式に変換し、当該第2形式のデータを携帯端末に送信する処理を実行することができる。
【0089】
[スキャンプログラム65の動作]
図5〜
図9を参照して、本実施形態に係るスキャンプログラム65の動作を説明する。スキャナプログラム65は、ユーザの指示に従って複合機10にスキャン処理を実行させ、スキャン処理によって生成された画像データを複合機10から受信完了したことをユーザに報知する処理を実行する。なお、本実施形態では、Android OSが提供するAPIを用いて以下の各処理を実現する方法を説明するが、他のOSが提供するAPIによって実現されてもよいし、API以外の方法で実現されてもよい。
【0090】
まず、フォアグラウンドで実行されているスキャンプログラム65は、スキャン指示画面を表示部53に表示させる(S11)。
図8(A)は、スキャン指示画面の一例である。
図8(A)に示されるスキャン指示画面は、[スキャナ]アイコンと、[原稿サイズ]アイコンと、[スキャン画質]アイコンと、[スキャン]アイコンとを含む。また、OS64は、表示部53の表示領域の上部にステータスバー80を表示させている。そして、スキャンプログラム65は、スキャン指示画面に含まれる各種アイコンの位置をタップするユーザ操作を操作部54を通じて受け付ける(S12)。
【0091】
[スキャナ]アイコンは、スキャン処理を実行させるスキャナの選択を受け付けるためのアイコンである。[原稿サイズ]アイコン、[スキャン画質]アイコンは、スキャン処理の実行条件を指定するユーザ操作を受け付けるためのアイコンである。ユーザは、[スキャナ]アイコンの位置をタップすることによって、携帯端末50が通信可能な他の読取装置を選択することができる。また、ユーザは、[原稿サイズ]アイコン、[スキャン画質]アイコンの位置をタップすることによって、スキャン処理の実行条件を変更することができる。
【0092】
[スキャン]アイコンは、[スキャナ]アイコンへの操作を通じて選択されたスキャナにスキャン処理を実行させることを指示するユーザ操作を受け付けるためのアイコンである。複合機10は、[スキャナ]アイコンへの選択を通じて選択されたスキャナの一例である。すなわち、スキャンプログラム65は、[スキャン]アイコンの位置がタップされたことに応じて(S12:Yes)、[スキャナ]アイコンで示される複合機10に通信部55を通じてスキャン指示情報を送信する(S13)。スキャン指示情報は、スキャン処理の実行を指示する情報である。スキャン指示情報は、[原稿サイズ]アイコン、[スキャン画質]アイコン等で示されるスキャン処理の実行条件を示す設定値を含む。そして、スキャンプログラム65は、通信部55を通じた画像データの受信を待機する(S14)。ステップS13、S14の処理は、通信処理の一例である。
【0093】
図示は省略するが、複合機10の制御プログラム35は、通信部25を通じて携帯端末50からスキャン指示情報を受信する。次に、制御プログラム35は、スキャン指示情報に含まれる設定値に従ってスキャナ部12にスキャン処理を実行させる。スキャナ部12は、コンタクトガラス或いはADF(Auto Document Feederの略)にセットされた原稿に記録された画像を読み取って、画像データを生成する。そして、制御プログラム35は、通信部25を通じて携帯端末50に画像データを送信する。
【0094】
次に、スキャンプログラム65は、通信部55を通じて複合機10から画像データを受信したこと、すなわち、通信処理が終了したことに応じて(S14:Yes)、スキャンプログラム65がフォアグラウンド或いはバックグラウンドのどちらで実行されているかを判断する(S15)。スキャンプログラム65は、例えば、クラス“ActivityManager”をOS64から獲得し、関数“getRunningAPPProcesses()”を実行することによって、実行中のプログラムのプログラムIDのリストを取得する。このプログラムIDのリストは、OS64が並行して実行しているプログラムのプログラムIDの一覧である。そして、フォアグラウンドで実行されているプログラムのプログラムIDは、当該リストの先頭に格納されている。
【0095】
スキャンプログラム65は、取得したリストの先頭にプログラムID“001”が格納されていることに応じて、スキャンプログラム65がフォアグラウンドで実行されていると判断する(S15:No)。一方、スキャンプログラム65は、取得したリストの先頭にプログラムID“001”と異なるプログラムIDが格納されていることに応じて、スキャンプログラム65がバックグラウンドで実行されていると判断する(S15:Yes)。ステップS15の処理は、第1判断処理の一例である。
【0096】
次に、スキャンプログラム65は、画像データの受信が完了し且つスキャンプログラム65がフォアグラウンドで実行されていると判断したことに応じて(S15:No)、第1種のAPIを用いて、保存先指定画面を表示部53に表示させる(S20)。
図8(B)は、保存先指定画面の一例である。フォアグラウンドで実行されているスキャンプログラム65が実行するステップS20の処理は、通信処理の終了を第1報知方法で報知する第1報知処理の一例である。すなわち、本実施形態における第1報知方法は、
図8(B)に示される保存先指定画面を表示させることに相当する。
【0097】
図8(B)に示される保存先指定画面は、「受信した画像データの保存先を指定して下さい。」とのメッセージと、1以上の保存先アイコン111、112、113とを含む。保存先アイコン111〜113は、ステップS14で受信した画像データの保存先に対応する。例えば、保存先アイコン111は、データ記憶領域62Bに設けられたデータフォルダに対応する。また、保存先アイコン112、113は、不図示のストレージサーバに対応する。
【0098】
次に、スキャンプログラム65は、保存先指定画面に対するユーザ操作を操作部54を通じて受け付ける(S21)。そして、スキャンプログラム65は、保存先アイコン111〜113の位置をタップするユーザ操作を操作部54を通じて受け付けたことに応じて(S21:Yes)、当該保存先アイコンに対応する保存先に画像データを記憶させる(S22)。ステップS20、S21の処理は、コンテンツデータの記憶先を指定するユーザ操作を受け付ける第2受付処理の一例である。ステップS22の処理は、第2受付処理で受け付けた記憶先にコンテンツデータを記憶させる第2記憶処理の一例である。
【0099】
なお、スキャン処理で読み取られる原稿の数、或いは[スキャン画質]アイコンで示される読取解像度等によっては、スキャン指示情報の送信から画像データの受信完了までの間に、ある程度の時間を要する可能性がある。そのため、携帯端末50のユーザは、スキャンプログラム65が画像データの受信完了を待機している間に、携帯端末50にインストールされた他のプログラム、例えば、動画プログラム66をフォアグラウンドで実行させることができる。
【0100】
フォアグラウンドで実行される動画プログラム66は、フルスクリーンモードの表示部53に再生画面を表示させる。
図9(A)は、再生画面の一例である。
図9(A)に示される再生画面は、表示部53の表示領域全体を使って動画を再生する画面である。すなわち、動画プログラム66は、表示部53をフルスクリーンモードに切り替えて、再生画面を表示させる第1種のAPIを実行する。また、再生画面が表示されているときの表示部53には、ステータスバー80が表示されない。その結果、スキャンプログラム65がバックグラウンドで実行されることになる。
【0101】
そこで、スキャンプログラム65は、画像データの受信が完了し且つスキャンプログラム65がバックグラウンドで実行されていると判断したことに応じて(S15:Yes)、取得処理を実行する(S16)。取得処理は、フォアグラウンドで実行されているプログラム(以下、「対象プログラム」と表記することがある)を識別するプログラム識別情報を取得する処理である。本実施形態における取得処理では、対象プログラムの種類情報を取得する。
図6を参照して、取得処理の詳細を説明する。
【0102】
まず、スキャンプログラム65は、対象プログラムのプログラムIDを取得する(S31)。スキャンプログラム65は、例えばステップS15で取得したリストの先頭に格納されているプログラムIDを取得してもよいし、ステップS31で新たなリストを取得し直してもよい。本実施形態において、スキャンプログラム65は、動画プログラム66のプログラムID“002”を取得する。
【0103】
次に、スキャンプログラム65は、取得したプログラムIDがプログラムIDリストに登録されているか否かを判断する(S32)。ステップS32の処理は、第3判断処理の一例である。そして、スキャンプログラム65は、取得したプログラムIDがプログラムIDリストに登録されていると判断したことに応じて(S32:Yes)、
図3(A)に示されるプログラムIDリストのうち、当該プログラムID“002”に対応付けられた種類情報“映像再生プログラム”を、対象プログラムの種類として取得する(S33)。
【0104】
一方、スキャンプログラム65は、取得したプログラムIDがプログラムIDリストに登録されていないと判断したことに応じて(S32:No)、対象プログラムによる各入出力部の使用状況を判断する(S34)。スキャンプログラム65は、例えば、OS64が提供するAPIを実行することによって、複数の入出力部それぞれの使用状況を判断すればよい。ステップS34の処理は、第2判断処理或いは第4判断処理の一例である。
【0105】
スキャンプログラム65は、例えば、クラス“WindowManager”に透明なViewをセットし、関数“OnGlobalLayoutlistener”で当該Viewの状態を監視することによって、表示部53がフルスクリーンモードで使用されているか否かを判断すればよい。また、スキャンプログラム65は、クラス“AudioManager”をOS64から獲得し、関数“isMusicActive()”の戻り値によって、スピーカ57が音声を出力しているか否かを判断すればよい。さらに、スキャンプログラム65は、クラス“TelephonyManager”をOS64から獲得し、関数“getCallState()”の戻り値によって、音声通信部56が使用されているか否かを判断すればよい。
【0106】
そして、スキャンプログラム65は、
図4に示される使用状況リストに基づいて、ステップS34で判断した使用状況に対応付けられた種類情報を、対象プログラムの種類としてを取得する(S35)。例えば、スキャンプログラム65は、表示部53がフルスクリーンモードで使用されており、スピーカ57が使用されており、且つ音声通信部56が使用されていないことに応じて、対象プログラムの種類情報“映像再生プログラム”を取得すればよい(S35)。
【0107】
図5に戻って、スキャンプログラム65は、
図3(B)に示される報知方法リストに基づいて、取得処理で取得した種類情報“映像再生プログラム”に対応付けられた報知方法を選択する(S17)。ステップS17の処理は、選択処理の一例である。ステップS17で選択される報知方法は、第2報知方法の一例である。そして、スキャンプログラム65は、選択処理で選択した報知方法で報知処理を実行する(S18)。
図7を参照して、報知処理の詳細を説明する。
【0108】
まず、スキャンプログラム65は、通話中であるか否かを判断する。具体的には、スキャンプログラム65は、音声通信部56が音声データを送受信しているか否かを判断する(S41)。判断の手法はステップS34と共通するので、再度の説明は省略する。ステップS41の処理は、第5判断処理の一例である。そして、スキャンプログラム65は、音声通信部56が音声データを送受信していると判断したことに応じて(S41:Yes)、後続の処理の実行を待機する。また、スキャンプログラム65は、音声データの送受信が終了するまでの間の所定の時間間隔で、ステップS41の処理を繰り返し実行する。
【0109】
次に、スキャンプログラム65は、音声通信部56が音声データを送受信していないと判断したことに応じて(S41:No)、スピーカ57が規制モードであるか否かを判断する(S42)。スキャンプログラム65は、例えば、スピーカ57の状態が戻り値によって示されるAPIを実行することによって、スピーカ57が規制モードであるか否かを判断すればよい。ステップS42の処理は、第6判断処理の一例である。
【0110】
次に、スキャンプログラム65は、スピーカ57が許可モードであると判断したことに応じて(S42:No)、報知音の出力先をスピーカ57に決定する(S43)。そして、スキャンプログラム65は、選択した報知方法で画像データの受信完了を報知する(S47)。本実施形態に係るスキャンプログラム65は、例えば
図9(B)に示されるように、「スキャンデータを受信しました」とのメッセージを表示部53にポップアップ表示させると共に、スピーカ57に報知音を出力させる。なお、ポップアップメッセージ81は再生画面に重ねて表示されており、且つ再生画面における動画の再生は継続されているものとする。ステップS47の処理は、第2報知処理の一例である。
【0111】
一方、スキャンプログラム65は、スピーカ57が規制モードであると判断したことに応じて(S42:Yes)、装着部58に外部スピーカ(典型的には、イヤホン)が装着されているか否かを判断する(S44)。スキャンプログラム65は、例えば、クラス“”AudioManager”をOS64から獲得し、関数“isWiredHeadsetOn()”の戻り値によって、装着部58にイヤホンが装着されているか否かを判断する。ステップS44の処理は、第7判断処理の一例である。
【0112】
また、スキャンプログラム65は、装着部58にイヤホンが装着されていると判断したことに応じて(S44:Yes)、報知音の出力先をイヤホンに決定する(S45)。そして、スキャンプログラム65は、例えば
図9(B)に示されるように、ポップアップメッセージ81を表示部53に表示させると共に、報知音を示す報知音信号を装着部58を通じてイヤホンに出力する(S47)。これにより、装着部58に装着されたイヤホンから報知音が出力される。
【0113】
さらに、スキャンプログラム65は、装着部58にイヤホンが装着されていないと判断したことに応じて(S44:No)、報知音の出力に代えてバイブレータ59を振動させると決定する(S46)。そして、スキャンプログラム65は、例えば
図9(B)に示されるように、ポップメッセージ81を表示部53に表示させると共に、バイブレータ59に携帯端末50を振動させる(S47)。
【0114】
ポップアップメッセージ81或いは報知音によって通信処理の終了に気づいたユーザは、動画プログラム66をバックグラウンドで実行させ、且つスキャンプログラム65をフォアグラウンドで実行させることを指示するユーザ操作を、操作部54に対して行うことができる。そこで、スキャンプログラム65は、スキャンプログラム65がフォアグラウンドで実行されるまで待機する(S19)。すなわち、スキャンプログラム65は、関数“getRunningAPPProcesses()”で取得したプログラムIDのリストを、所定の時間間隔で繰り返し取得する。そして、スキャンプログラム65は、スキャンプログラム65がフォアグラウンドで実行されたことに応じて(S19:Yes)、ステップS20以降の処理を実行する。ステップS20以降の処理は既に説明したので、再度の説明は省略する。
【0115】
[実施形態の作用効果]
上記の実施形態によれば、スキャンプログラム65がバックグラウンドで実行されているときに通信処理のが終了したことに応じて、フォアグラウンドで実行されている対象プログラムに適した報知方法で通信処理の終了を報知することができる。その結果、対象プログラムに注目しているユーザが、当該報知に気づく可能性が向上すると共に、当該報知を邪魔だと感じる可能性を低減させることができる。なお、通信プログラムの具体例はスキャンプログラム65に限定されず、コンテンツデータを外部装置に処理させるために、通信部55を通じて外部装置と通信するあらゆるプログラムが該当する。
【0116】
すなわち、通信プログラムは、通信処理において、通信部55を通じて外部装置と通信することによって、当該外部装置からコンテンツデータを受信し、或いは当該外部装置にコンテンツデータを送信すればよい。より具体的には、通信処理とは、画像データで示される画像を複合機10に記録させる処理であってもよいし、複合機10に生成させた画像データを受信する処理であってもよいし、コンテンツデータの形式をサーバ70に変換させ、変換されたコンテンツデータを受信する処理であってもよい。コンテンツデータは、例えば、画像データ、動画データ、或いは音楽データ等であってもよい。
【0117】
また、通信処理の終了とは、例えば、複合機10からの画像データ全体の受信完了、複合機10へのプリント指示の完了、複合機10へのプリント対象となる画像データの複合機10への送信完了、サーバ70へのコンテンツデータアップロード完了でもよい。さらに、通信処理の終了と判断される通信の後に、外部装置との通信がさらに実行されてもよい。一例として、複合機10へのプリント指示完了の後に、プリント対象となる画像データを複合機10にさらに送信してもよい。他の例として、プリント対象となる画像データの複合機10への送信の後に、当該複合機10にプリント指示をさらに送信してもよい。さらに他の例として、サーバ70へのコンテンツデータのアップロード完了の後に、当該コンテンツデータにタグを付ける指示をサーバ70にさらに送信してもよい。
【0118】
また、上記の実施形態によれば、対象プログラムのプログラムIDがプログラムIDリストに登録されている場合に、種類情報を介して当該プログラムIDに対応付けられた報知方法が第2報知方法として選択される。なお、
図3の例では、プログラムIDと種類情報とが対応付けられ、種類情報と報知方法とが対応付けられているが、プログラムIDと報知方法とが直接対応付けられていてもよい。一方、対象プログラムのプログラムIDがプログラムリストに登録されていない場合に、入出力部の使用状況に応じて対象プログラムの種類が推定される。その結果、対象プログラムに適した方法で通信処理の終了を報知することができる。
【0119】
また、上記の実施形態によれば、音声通信部が音声データを送受信している間、すなわち、通話中に報知処理の実行が待機されるので、通信処理の終了の報知が通話を邪魔することを防止できる。さらに、所謂マナーモードか否か及びイヤホンが装着されているか否かに応じて、スピーカ57、装着部58、及びバイブレータ59を使い分けるので、携帯端末50の状態に合わせて報知音の出力先を変更することができる。
【0120】
なお、上記の実施形態において、動画プログラム66をフォアグラウンドで実行させているユーザは、携帯端末50の表示部53に表示された動画に注目している可能性が高い。そのため、表示部53に報知メッセージを表示させることにより、当該報知にユーザが気づく可能性が高まる。また、メッセージの表示方法を“ポップアップ”とすることにより、表示部53に表示された動画との重なりを小さくできるので、当該報知をユーザが邪魔だと感じる可能性を低減できる。
【0121】
但し、種類情報“映像再生プログラム”に対応する報知方法の具体例は、これに限定されない。例えば、スキャンプログラム65は、表示部53及びスピーカ57のうちのスピーカ57のみに報知させる方法を、種類情報“映像再生プログラム”に対応する第2報知方法として選択してもよい。この場合の報知処理では、表示部53に再生画面が表示され続け、スピーカ57から報知音が出力される。これにより、当該報知をユーザが邪魔だと感じる可能性をさらに低減できる。
【0122】
[変形例]
次に、
図10及び
図11を参照して、上記の実施形態の変形例を説明する。なお、上記の実施形態との共通点の詳しい説明は省略し、相違点を中心に説明する。
【0123】
一例として、種類情報“音声再生プログラム”に対応付けられたプログラム(以下、「音楽プログラム」と表記する。)は、例えば、音楽データで示される音楽をスピーカ57に出力させると共に、
図10(A)に示される音楽再生画面を表示部53に表示させる。また、OS64は、表示部53の表示領域の上部にステータスバー80を表示させている。音楽再生画面は、音楽の再生指示を受け付けるための再生アイコン115と、巻き戻し指示を受け付けるための巻き戻しアイコン116と、早送り指示を受け付けるための早送りアイコン117と、音楽の再生位置を示すインジケータ118とを含む。そして、音楽プログラムは、音楽再生画面に対するユーザ操作を操作部54を通じて受け付けることができる。すなわち、表示部53は部分画面モードであり、スピーカ57は使用されており、音声通信部56は使用されていない。
【0124】
このような音楽プログラムがフォアグラウンドで実行されている場合、スキャンプログラム65は、ステップS16において、対象プログラムの種類情報“音楽再生プログラム”を取得する。また、スキャンプログラム65は、ステップS17において、報知方法リストのうち、種類情報“音楽再生プログラム”に対応付けられた報知方法を、第2報知方法として選択する。さらに、スキャンプログラム65は、ステップS47において、音楽プログラムが出力させている音楽のボリュームを絞らせ、且つ通信処理の終了を報知する報知音をスピーカ57に出力させる。
【0125】
音楽プログラムをフォアグラウンドで実行させているユーザは、携帯端末50のスピーカ57から出力されている音楽に注目している可能性が高い。そのため、スピーカ57を通じて報知を行うことにより、当該報知にユーザが気づく可能性が高まる。また、音楽プログラムが出力させている音楽のボリュームを報知処理の際に絞ることによって、ユーザが報知音に気づく可能性をさらに高めることができる。なお、音楽プログラムが装着部58に装着されたイヤホンに音楽を出力させている場合、
図7に示される報知処理において、イヤホンから報知音が出力されることになる。
【0126】
他の例として、種類情報“ゲームプログラム”に対応付けられたプログラム(以下、「ゲームプログラム」と表記する)は、例えば、
図10(B)に示されるゲーム画面を表示部53に表示させる。また、OS64は、表示部53の表示領域の上部にステータスバー80を表示させている。ゲーム画面は、表示領域の上部に表示されるアニメーション表示領域121と、表示領域の下部に表示されるステータス表示領域122とを含む。アニメーション表示領域121には、ユーザ操作に応じて動作するキャラクターが表示される。ステータス表示領域122には、キャラクターのステータス等が表示されている。そして、ゲームプログラムは、アニメーション表示領域121に対するユーザ操作を操作部54を通じて受け付けることができる。すなわち、表示部53は部分画面モードであり、操作部54は多くのユーザ操作を継続して受け付けている状態である。
【0127】
このようなゲームプログラムがフォアグラウンドで実行されている場合、スキャンプログラム65は、ステップS16において、対象プログラムの種類情報“ゲームプログラム”を取得する。また、スキャンプログラム65は、ステップS17において、報知方法リストのうち、種類情報“ゲームプログラム”に対応付けられた報知方法を、第2報知方法として選択する。さらに、スキャンプログラム65は、ステップS47において、通信処理の終了を報知するポップアップメッセージ82を表示部53に表示させ、且つスピーカ57に報知音を出力させる。
図10(B)に示されるポップアップメッセージ82は、「スキャンデータを受信しました。切替アイコンをタップして下さい。」とのメッセージを含む。
【0128】
ゲームプログラムをフォアグラウンドで実行させているユーザは、携帯端末50の表示部53に表示されたゲーム映像に注目している可能性が高い。また、特にリアルタイム性が要求されるゲームでは、表示領域の上部及び中央に動きのあるゲーム映像が表示され、表示領域の下部にステータス等の静的な情報が表示されることが多い。そこで、メッセージの表示方法を“ポップアップ”とすることにより、当該報知をユーザに気づかせることができ、且つ当該報知をユーザが邪魔と感じる可能性を低減できる。
【0129】
また、携帯端末50のOS64は、スキャンプログラム65がフォアグラウンドからバックグラウンドに切り替えられたことに応じて、
図10(A)〜
図11(A)に示されるように、ステータスバー80に切替アイコン85を表示させてもよい。切替アイコン85は、スキャンプログラム65をフォアグラウンドで実行することを指示するユーザ操作を受け付けるための画像である。そして、OS64は、切替アイコン85の位置をタップするユーザ操作を操作部54を通じて受け付けたことに応じて、ゲームプログラムをバックグラウンドで実行させ、且つスキャンプログラム65をフォアグラウンドで実行する。これにより、スキャンプログラム65は、
図5のステップS20以降の処理を実行することができる。
【0130】
さらに他の例として、種類情報“SNSプログラム”に対応づけれたプログラム(以下、「メッセージ交換プログラム」と表記する。)は、例えば、
図11(A)に示されるSNS画面を表示部53に表示させる。また、OS64は、表示部53の表示領域の上部にステータスバー80を表示させている。SNS画面は、表示領域の上部に表示されるメッセージ表示領域125と、表示領域の下部に表示されるメッセージ編集領域126とを含む。メッセージ表示領域125には、既に送受信されたメッセージが時系列に表示されている。メッセージ編集領域126には、送信するメッセージの入力を受け付けるためのソフトウェアキーボードと、入力されたメッセージが表示されるテキストボックスとが表示されている。そして、ゲームプログラムは、メッセージ編集領域126に対するユーザ操作を操作部54を通じて受け付けることができる。すなわち、表示部53は部分画面モードであり、操作部54が受け付けたユーザ操作が表示領域の下部に集中している。
【0131】
このようなメッセージ交換プログラムがフォアグラウンドで実行されている場合、スキャンプログラム65は、ステップS16において、対象プログラム種類情報“SNSプログラム”を取得する。また、スキャンプログラム65は、ステップS17において、報知方法リストのうち、種類情報“SNSプログラム”に対応付けられた報知方法を、第2報知方法として選択する。さらに、スキャンプログラム65は、ステップS47において、通信処理の終了を報知するヘッドアップメッセージを表示部53に表示させ、且つスピーカに報知音を出力させる。
【0132】
また、スキャンプログラム65は、例えば、
図11(B)に示される報知方法編集画面を表示部53に表示させてもよい。報知方法編集画面は、
図3(B)に示される報知方法リストを編集するユーザ操作を受け付けるための画面である。
図11(B)に示される報知方法編集画面は、種類情報を指定するプルダウンメニューと、表示部53による報知の方法を指定するプルダウンメニューと、スピーカ57による報知の方法を指定するプルダウンメニューと、[決定]アイコンとを含む。そして、スキャンプログラム65は、報知方法編集画面に対するユーザ操作を操作部54を通じて受け付ける。
【0133】
スキャンプログラム65は、[決定]アイコンの位置をタップするユーザ操作を操作部54を通じて受け付けたことに応じて、各プルダウンメニューで選択された種類情報及び報知方法を取得する。この処理は、プログラム識別情報及び報知方法を指定するユーザ操作を受け付ける第1受付処理の一例である。そして、スキャンプログラム65は、
図3(B)に示される報知方法リストに取得した種類情報が登録されている場合に、当該種類情報を含む報知方法レコードの報知方法を取得した報知方法で上書きする。また、スキャンプログラム65は、
図3(B)に示される報知方法リストに取得した種類情報が登録されていない場合に、取得した種類情報及び報知方法を含む報知方法レコードを、
図3(B)に示される報知方法リストに追加する。
【0134】
上記構成によれば、種類情報に対応付けられた報知方法を、ユーザの好みに合わせてカスタマイズすることができる。すなわち、種類情報及び報知方法の対応関係は、
図3(B)に示される例に限定されない。例えば、
図3(B)に示される報知方法リストには、第1報知方法と同じ報知方法を含む報知方法レコードが含まれていてもよい。
【0135】
また、実施形態の複合機10及び携帯端末50において、記憶部32、62のプログラム記憶領域32A、62Aに記憶された各種プログラムがCPU31、61によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路(IC(Integrated Circuitの略)とも言う。)等のハードウェアで実現してもよい。
【0136】
さらに、本発明は、複合機10及び携帯端末50として実現できるだけでなく、複合機10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワークを通じて複合機10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。