以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態における多機能機システム2の概略を示した図である。多機能機システム2は、多機能機10と複数のPC70,71と複数のコンテンツ提供サーバ90,91とを有している。なお、図1では、1つの多機能機10と2つのPC70,71と2つのコンテンツ提供サーバ90,91とを図示しているが、これらの数は適宜変更することができる。
なお、本実施形態の多機能機10では、各コンテンツ提供サーバ90,91が公開するサイト(具体的には、サイトの位置情報を示すURL(Uniform Resource Locator))から取得したフィード情報を使用して、表示パネル50にスクロール表示するコンテンツタイトル文字列140およびコンテンツ更新日時情報142を含む表示情報を生成する。よって、フィード情報を更新して、表示情報を更新すると、それに伴い、表示パネル50にスクロール表示されるコンテンツタイトル文字列140およびコンテンツ更新日時情報142も更新される。
ここで、本実施形態の多機能機10によれば、表示情報記憶領域18fに記憶された表示情報を使用して、コンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示されているときに、最新のフィード情報をURLから新たに取得した場合には、まず、最新のフィード情報を取得したURLから前回に取得されたフィード情報によって生成された表示情報が、スクロール表示に使用されているかを判定する。そして、前回に取得されたフィード情報によって生成された表示情報がスクロール表示に使用されていると判定した場合には、その表示情報を使用したスクロール表示が終了するまで、フィード情報記憶領域18dに記憶された最新の展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送しない(表示情報記憶領域18fに記憶しない)。よって、現在スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生することを防止することができる。
なお、スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生するとは、コンテンツタイトル文字列140が最新の情報であるにも拘らず、コンテンツ更新日時情報142が古い情報である場合や、コンテンツ更新日時情報142が最新の情報であるにも拘らず、コンテンツタイトル文字列140が古い情報である場合等が例示される。
ここで、本実施形態におけるフィード情報とは、後述する表示情報112が生成される基本となる情報である。そして、表示情報112とは、後述するサイト情報120(図5参照)および更新コンテンツ情報132(図5参照)を含む情報である。更に、更新コンテンツ情報132は、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を含んでいる。
図1に示す多機能機10は、印刷機能、スキャナ機能、電話機能等を実現する通信装置であり、LAN回線4に接続されている。各PC70,71は、多機能機10の印刷機能やスキャナ機能を制御する制御装置であり、LAN回線4に接続されている。LAN回線4は、ルータ6を介してインターネット8に接続されている。各コンテンツ提供サーバ90,91は、インターネット8に接続されている。
本実施形態では、コンテンツ提供サーバ90が1つのサイト(URL)を公開しており、コンテンツ提供サーバ91が他の1つのサイト(URL)を公開している。各サイトは、複数のコンテンツを含んでいる。さらに、各コンテンツ提供サーバ90,91は、自身のサイトが含んでいる複数のコンテンツの要約情報であるフィード情報(RSS形式のフィード情報)を記憶している。これらの情報の具体的な内容については、後で詳しく説明する。
次に、PC70の内部構成について説明する。なお、PC71は、PC70と同様の内部構成であるので、その説明を省略する。PC70は、CPU72とハードディスク74と表示部82と操作部84を主に有する。なお、図1には示されていないが、PC70は、LAN回線4に接続されているネットワークインターフェイスも有している。
CPU72は、演算装置であり、基本プログラム76および常駐ソフト78に従って処理を実行する。CPU72が実行する処理については、図6を用いて後に詳しく説明する。ハードディスク74は、基本プログラム76および常駐ソフト78を記憶している。基本プログラム76は、PC70の基本的な動作を制御するためのプログラムである。基本プログラム76は、例えば、インターネット8のサイトからコンテンツをダウンロードして表示するためのブラウザを含んでいる。
常駐ソフト78は、多機能機10に、PC70が起動したことを示すPC起動通知を送信したり、多機能機10からの指示に従って動作したりするためのプログラムである。PC起動通知については、後で詳しく説明する。常駐ソフト78は、例えば、コンピュータ読取可能媒体からPC70にインストールされる。また、常駐ソフト78は、例えば、インターネット8のサイトからダウンロードされてPC70にインストールされてもよい。
ハードディスク74は、設定ファイル80を記憶している。設定ファイル80は、多機能機10のIPアドレスを含んでいる。設定ファイル80の記憶内容は、例えば、ユーザによって設定される。設定ファイル80の記憶内容の利用については、後で詳しく説明する。
表示部82は、様々な情報を表示することができる。表示部82は、多機能機10が有する表示パネル50(図2参照)より大きい表示画面を有する。操作部84は、キーボードやマウスによって構成される。ユーザは、操作部84を操作することによって、様々な指示や情報をPC70に入力することができる。
次に、図2を参照して多機能機10について説明する。図2は、多機能機10の電気的構成を示すブロック図である。多機能機10は、制御部12と表示パネル50とキーパッド52と印刷部54とスキャン部56とFAX部58とネットワークインターフェイス(以後、「ネットワークI/F」と称す)60とPSTNインターフェイス(以後、「PSTN I/F」と称す)62とスピーカ64とを主に有する。なお、制御部12と各部50〜64とは、バスライン66を介して互いに接続されている。制御部12は、CPU14とROM16とRAM18とNVRAM20を主に有する。
CPU14は、演算装置であり、ROM16に記憶されている各プログラム16a〜16cに従って処理を実行する。CPU14が実行する処理については、図7〜図10を用いて後に詳しく説明する。ROM16は、各プログラム16a〜16cを記憶する書き込み不能な不揮発性のメモリである。
基本機能プログラム16aは、多機能機10の基本的な動作を制御するためのプログラムである。基本機能プログラム16aは、例えば、表示パネル50に表示される表示データを生成するためのプログラムを含んでいる。また、基本機能プログラム16aは、例えば、印刷部54、スキャン部56、FAX部58等の各部50〜64を制御するためのプログラムを含んでいる。インターネット接続プログラム16bは、インターネット8に接続するためのプログラムである。フィード情報利用プログラム16cは、コンテンツ提供サーバ90,92から取得され、後述するフィード情報記憶領域18dに記憶されたフィード情報を解析し、表示パネル50で表示するための情報(以下、「表示情報」と称す)を作成し、その表示情報を表示する処理や、更には、各コンテンツ提供サーバ90,91が有するフィード情報の取得先を示すURLの設定を行う処理が含まれた図7に示すメイン処理を実行するためのプログラムである。
RAM18は、各記憶領域18a〜18fを有する読み書き可能な揮発性のメモリである。基本機能ワーク領域18aは、基本機能プログラム16aに従って処理が実行される過程で生成される各種データを記憶するための記憶領域である。フィード情報解析ワーク領域18bは、フィード情報利用プログラム16cに従って処理が実行される過程で作成される各種データを記憶するための記憶領域である。
テンポラリ記憶領域18cは、各コンテンツ提供サーバ90,91から取得した最新のフィード情報とそのフィード情報の取得先を示すURLとを対応付けて記憶するための記憶領域である。このテンポラリ記憶領域18cに記憶された最新のフィード情報は、CPU14によりテキストデータに展開された後、各URL毎に、フィード情報記憶領域18dに転送されて記憶される。
フィード情報記憶領域18dは、前述の通り、テンポラリ記憶領域18dに記憶されたフィード情報がテキストデータに展開された後、その展開された情報(以後、「展開情報」と称す)が転送された場合に、その転送された展開情報を、各URL毎に記憶する記憶領域である。なお、CPU14は、このフィード情報記憶領域18dに記憶された最新の展開情報を用いて、後述する表示情報記憶領域18fに記憶される表示情報を作成する(更新する)。フィード情報記憶領域18dの記憶内容については、図4を用いて後述する。
なお、後述する表示情報記憶領域18fに記憶された表示情報を使用して、コンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示されているときに、最新のフィード情報をURLから新たに取得した場合には、CPU14は、まず、最新のフィード情報を取得したURLから前回に取得されたフィード情報によって生成された表示情報が、スクロール表示に使用されているかを判定する。そして、前回に取得されたフィード情報によって生成された表示情報がスクロール表示に使用されていると判定した場合には、その表示情報を使用したスクロール表示が終了するまで、CPU14は、フィード情報記憶領域18dに記憶された最新の展開情報を用いて作成した表示情報を、後述する表示情報記憶領域18fに転送しない(表示情報記憶領域18fに記憶しない)。よって、現在スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生することを防止することができる。
更新フラグ18eは、最新のフィード情報が取得され、その最新のフィード情報を展開した展開情報を用いて作成した表示情報が、後述する表示情報記憶領域18fに転送されて記憶された場合に、オフとなる一方、その転送が未完了である場合にオンに設定されるフラグである。この更新フラグ18eは、フィード情報の取得先を示すURLの数に応じて、具体的には、後述するURL記憶領域20bに記憶可能なURLの数に応じて、設けられている。
本実施形態においては、URL記憶領域20bには、0(ゼロ)〜n−1のn個(nは1以上の整数)、URLが記憶可能であるので、この数に応じて、更新フラグ18eには、更新0(ゼロ)フラグ18e1〜更新n−1フラグ18en−1のn個のフラグが設けられている。そして、更新0(ゼロ)フラグ18e1〜更新n−1フラグ18en−1は、URL記憶領域20bにURLが記憶された分だけ、使用される。例えば、URL記憶領域20bに2つのURLが記憶されていれば、更新0フラグ18e1および更新1フラグ18e2が使用され、その他の更新フラグ(更新2フラグ18e3〜更新n−1フラグ18en−1)は不使用となる。
表示情報記憶領域18fは、フィード情報利用プログラム16cに従い、フィード情報記憶領域18dに記憶される最新の展開情報を利用して作成された表示情報を記憶するための記憶領域である。
NVRAM20は、各記憶領域20a〜20bを有する書き換え可能な不揮発性のメモリである。基本機能パラメータ記憶領域20aは、CPU14が、基本機能プログラム16aに従って処理を実行する際に利用される各種パラメータ(例えば印刷機能における設定、スキャン機能における設定等)を記憶するための記憶領域である。URL記憶領域20bは、各コンテンツ提供サーバ90,91が有するフィード情報の取得先を示すURLを記憶するための記憶領域である。
例えば、ユーザは、各コンテンツ提供サーバ90,91からのコンテンツ提供サービスを受けるためのURL設定を行なう必要がある。このURL設定は、図8で後述するサイト設定処理が実行された場合に、表示パネル50に表示されるサイト設定画面で行うことができる。サイト設定画面で、コンテンツ提供サーバ90,91のフィード情報の取得先を示すURLの設定が行われると、その設定されたURLがURL記憶領域20bに記憶される。なお、サイト設定画面については、図3(a)を用いて後述する。
なお、URL設定は、サイト設定画面以外にも、PC70,71を利用して設定してもよい。例えば、ユーザがPC70を利用してコンテンツ提供サーバ90からのコンテンツ提供サービスを受けるためのURL設定を行なった場合、コンテンツ提供サーバ90のフィード情報の取得先を示すURLがPC70から多機能機10に送信される。これにより、コンテンツ提供サーバ90のフィード情報の取得先を示すURLがURL記憶領域20bに記憶されるように構成しても良い。
表示パネル50は、様々な情報を表示する表示装置である。表示パネル50の表示画面は、PC70,71が有する表示画面より小さい。なお、表示パネル50は、タッチパネルとして機能する。キーパッド52は、複数のキーによって構成される。ユーザは、キーパッド52を操作することによって様々な指示や情報を多機能機10に入力することができる。印刷部54は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。スキャン部56は、CCD、CIS等の読取機構を有する。FAX部58は、FAX通信を実行するための各種動作を実行する。ネットワークインターフェイス60は、LAN回線4に接続されている。多機能機10は、PC70,71と通信可能であると共に、インターネット8にアクセス可能である。PSTNインターフェイス62は、図示しないPSTN(Public Switched Telephone Network)に接続されている。PSTNは、FAX通信や電話通信を行なう際に利用される。スピーカ64は、電話機能による着信が行われた場合に、鳴動音を出力する放音装置である。
次に、図3を参照して、サイト設定画面およびURL記憶領域20b(図2参照)の記憶内容について説明する。図3(a)は、表示パネル50に表示されるサイト設定画面を示した図である。図3(b)は、URL記憶領域20bの記憶内容の一例を示した図である。
まず、図3(a)について説明する。図3(a)に示すように、サイト設定画面には、各コンテンツ提供サーバ90,91からのコンテンツ提供サービスを受けるための接続先を示すURLを入力する領域、即ち、入力欄がn個(入力欄50a1〜50an)、設けられている。この入力欄50a1〜50anのいずれかを選択し、キーパッド52を使用して接続先を示すURLを入力すると、その入力されたURLが選択した入力欄に表示される。そして、OKボタン50dが押下されると、入力欄50a1〜50anに入力されたURLがURL記憶領域20bに記憶される。なお、キャンセルボタン50eが押下されると、サイト設定画面が表示パネル50から消去され、URL記憶領域20bへの記憶は行われない。
次に、図3(b)について説明する。上述の通り、URL記憶領域20bは、各コンテンツ提供サーバ90,91のフィード情報の取得先を示すURL102を記憶できる。換言すると、URL記憶領域20bは、各サイトのフィード情報の取得先を示すURL102を記憶できる。図3(b)の例では、URL記憶領域20bには、n個のURL102が記憶されている。各URL102には、識別番号100が付与されている。本実施形態では、識別番号100を符号「i」で表現する。
次に、図4を用いて、フィード情報記憶領域18dの記憶内容について説明する。図4は、フィード情報記憶領域18dに記憶された展開情報の内容の一例を示した図である。
図4に示すように、フィード情報記憶領域18dに記憶された展開情報には、それぞれ、URL記憶領域20bに記憶された各URL102に付与された符号(識別情報100)が対応付けられている。つまり、フィード情報記憶領域18dには、URL記憶領域20bに記憶された各URL102(即ち、符号)に対応付けて展開情報が記憶されている。よって、CPU14は、展開情報が、どのURLに対応しているのかを検出することができる。例えば、符号「1」には、展開1情報が対応付けられており、符号「1」は、URLが「http://www.example1.com」であることを示している(図3(b)参照)。よって、CPU14は、「http://www.example1.com」から取得されたフィード情報が展開された情報は、展開1情報であることを検出することができる。
次に、図5を参照して、RAM18の表示情報記憶領域18fの記憶内容について説明する。図5は、表示情報記憶領域18fの記憶内容の一例を示した図である。表示情報記憶領域18fは、URL記憶領域20bに記憶されているURL毎に表示情報112を記憶できる。換言すると、表示情報記憶領域18fは、URL記憶領域20bに記憶されているサイト(URL)毎に表示情報112を記憶できる。
上述したように、URL記憶領域20bにはn個(nは1以上の整数)のURL102が記憶されている(図3参照)。このために、表示情報記憶領域18fにもn個の表示情報112が記憶されている。各表示情報112には、識別番号110が付与されている。本実施形態では、識別番号110を符号「i」で表現する。なお、識別情報110と上述した識別情報100は、同一の値である。
次に、個々の表示情報112のデータ構成について説明する。表示情報112は、サイト情報120を含んでいる。サイト情報120は、サイトタイトル文字列122とフィード更新日時情報124を含んでいる。サイトタイトル文字列122は、サイトのタイトルの文字列である。フィード更新日時情報124は、コンテンツ提供サーバにおいてフィード情報が更新された日時(最新の更新日時)に関する情報である。
表示情報112は、更新コンテンツ情報132を含んでいる。更新コンテンツ情報132の数は、サイト(URL)が有するコンテンツの数に等しい。例えば、図5では、「i=0」に対応する表示情報112は、m個(mは1以上の整数)の更新コンテンツ情報132を有する。これは、「i=0」に対応するサイトがm個のコンテンツを有することを意味する。例えば、所定のサイトにおいて天気予報に関するコンテンツとスポーツに関するコンテンツとが存在する場合、そのサイトに対応する表示情報112は、2個の更新コンテンツ情報132を有することになる。各更新コンテンツ情報132には、識別番号130が付与されている。本実施形態では、識別番号130を符号「j」で表現する。
各更新コンテンツ情報132は、コンテンツタイトル文字列140とコンテンツ更新日時情報142とコンテンツ要約文字列144とコンテンツURL146を含んでいる。上述の例の場合、天気予報に関するコンテンツに対応する更新コンテンツ情報132が情報140〜146を含んでおり、スポーツに関するコンテンツに対応する更新コンテンツ情報132も情報140〜146を含んでいる。コンテンツタイトル文字列140は、コンテンツのタイトルの文字列である。コンテンツ更新日時情報142は、コンテンツ提供サーバにおいてコンテンツが更新された日時(最新の更新日時)に関する情報である。
コンテンツ要約文字列144は、コンテンツが有する文字列が要約化されたものである。換言すると、コンテンツ要約文字列144は、コンテンツのタイトルより多い文字列であり、コンテンツの全体の文字列より少ない文字列であり、コンテンツの内容が反映された文字列である。コンテンツURL146は、コンテンツのURLである。なお、本実施形態においては、多機能機10は、表示パネル50に、上述したコンテンツタイトル文字列140およびコンテンツ更新日時情報142を少なくともスクロール表示する。ただし、多機能機10は、表示パネル50に、更に、コンテンツ要約文字列144やコンテンツURL146を表示することも可能である。
次に、図6を参照して、PC70のCPU72によって実行されるPCメイン処理について説明する。図6は、PC70により実行されるPCメイン処理を示したフローチャートである。このPCメイン処理は、PC70が起動(電源オン)されてオペレーションソフト(OS)が起動し、その後にOSによって常駐ソフト78(図1参照)が起動された場合に、常駐ソフト78により実行開始される処理である。なお、PC71においても、PCメイン処理が実行されるが、その処理はPC70と同一であるので、説明を省略する。
PCメイン処理では、まず、CPU72は、設定ファイル80(図1参照)の記憶内容を読み出して(S1)、設定ファイル80に情報が記憶されているか否かを判定する(S2)。本実施形態では、ユーザの入力により設定ファイル80に予め多機能機10のIPアドレスが記憶されている(多機能機10を識別することができる情報であればよく、ノード名等でも可能であり、IPアドレスに限定されない)。この場合、CPU72は、設定ファイル80に情報が記憶されていると判定し(S2:Yes)、S3の処理に進む。一方、設定ファイル80に情報が記憶されていない場合には、CPU72は、設定ファイル80に情報が記憶されていないと判定し(S2:No)、メイン処理を終了する。
S3の処理では、CPU72は、多機能機10にPC起動通知を送信する(S3)。PC起動通知は、PC70のIPアドレスやホスト名を含んでいる。その後、CPU72は、予め決められているポート番号を持つ受信ポートを開く(S4)。そして、CPU72は、何らかのイベントが発生するまで待機する(S5)。イベントが発生するとS6の処理に進む。S6の処理では、CPU72は、多機能機10からのURL通知が受信されたか否かを判定する(S6)。
なお、本実施形態においては、多機能機10の表示パネル50に、コンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示されている場合に、ユーザが表示パネル50に触れ、表示されたコンテンツが選択されたと多機能機10のCPU14で判定されると、多機能機10は、PC起動通知を受信したPCのうち、ユーザが予め選択したPCへURL通知を送信する。
S6の処理で、CPU72は、多機能機10からのURL通知が受信されたと判定した場合には(S6:Yes)、ブラウザプログラムを起動し、受信されたURLにアクセスする(S7)。これにより、多機能機10からのURL通知に対応するコンテンツが表示部82(図1参照)に表示される(S7)。よって、ユーザは、表示パネル50より表示画面が大きい表示部82で、快適にコンテンツを見ることができる。
一方、S6の処理で、CPU72は、多機能機10からのURL通知が受信されていないと判定した場合には(S6:No)、常駐ソフト78のプログラムを停止することがユーザによって指示されたか否かを判断する(S8)。
例えば、ユーザは、操作部84に所定の操作を加えることによって、停止の指示をPC70に入力することができる。この場合、CPU72は、常駐ソフト78のプログラムを停止することがユーザによって指示されたと判定し(S8:Yes)、PCメイン処理を終了する。一方、CPU72は、常駐ソフト78のプログラムを停止することがユーザによって指示されていないと判定した場合には(S8:No)、イベントに応じた処理を実行し(S9)、次のイベントが発生するまで待機する(S5)。
次に、図7〜図10を参照して、多機能機10のCPU14によって実行される処理について説明する。まずは、図7を参照して、多機能機10のCPU14によって実行されるメイン処理について説明する。図7は、多機能機10により実行されるメイン処理を示したフローチャートである。メイン処理は、多機能機10の電源がオンされた場合に実行が開始される。そして、このメイン処理は、電源オンの期間中、繰り返し実行される。
メイン処理では、まず、CPU14は、各コンテンツ提供サーバ90,91からのコンテンツ提供サービスを受けるためのURL設定が、ユーザのキーパッド52の操作により指示されたか否かを判定する(S21)。なお、ユーザのキーパット52の操作により、URL設定が指示されると、その指示がRAM18の所定領域に記憶される。CPU14は、RAM18の所定領域に上述の指示が記憶されているか否かを判定することにより、S21の処理で、URL設定が指示されたか否かを判定する。
S21の処理で、CPU14は、URL設定が指示されたと判定した場合には(S21:Yes)、サイト設定処理(S22)を実行する。一方、CPU14は、URL設定が指示されていないと判定した場合には(S21:No)、スクロール表示処理(S23)を実行する。なお、CPU14は、S22またはS23の処理後、このメイン処理を終了する。
次に、図8を参照して、各コンテンツ提供サーバ90,91からのコンテンツ提供サービスを受けるためのURLの設定を行うサイト設定処理について説明する。図8は、多機能機10のCPU14によって実行されるサイト設定処理を示したフローチャートである。サイト設定処理では、まず、CPU14は、サイト設定画面(図3(a)参照)を、表示パネル50に表示する(S31)。サイト設定画面が表示パネル50に表示されると、ユーザは、各入力欄50a1〜50anに、各コンテンツ提供サーバ90,91からのコンテンツ提供サービスを受けるためのURL(各コンテンツ提供サーバ90,91が有するフィード情報の取得先を示すURL)をキーパッド52を使用して入力することができる。
その後、CPU14は、OKボタン50dが押下されたかを判定する(S32)。CPU14は、OKボタン50dが押下されたと判定した場合には(S32:Yes)、各入力欄50a1〜50anに入力されたURLを、URL記憶領域20bに記憶する(S33)。その後、このサイト設定処理を終了する。一方、CPU14は、OKボタン50dが押下されていないと判定した場合には(S32:No)、キャンセルボタン50eが押下されたかを判定する(S34)。CPU14は、キャンセルボタン50eが押下されていないと判定すると(S34:No)、S32の処理へ戻る。
一方、S34の処理で、CPU14は、キャンセルボタン50eが押下されたと判定すると(S34:Yes)、このサイト設定処理を終了する。なお、サイト設定処理が終了すると、サイト設定画面が表示パネル50から消去される。
次に、図9を参照して、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50に表示するスクロール表示処理について説明する。図9は、多機能機10のCPU14によって実行されるスクロール表示処理を示したフローチャートである。
スクロール表示処理では、まず、CPU14は、URL記憶領域20bの記憶内容を参照する(S41)。そして、CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されているか否かを判定する(S42)。CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されていないと判定すると(S42:No)、フィード情報が取得されておらず、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50に表示することができないので、このスクロール表示処理を終了する。
一方、S42の処理で、CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されていると判定すると(S42:Yes)、表示パネル50にスクロール表示するURLを決定する(S43)。具体的には、CPU14は、S43の処理で、表示情報記憶領域18fに記憶されている識別番号110である符号「i」(図5参照)の値を決定して、スクロール表示するURLを決定している。なお、本実施形態においては、CPU14は、S43の処理で、表示情報記憶領域18fに記憶された識別番号110(符号)が最小値であるURL、つまり、符号が「0」であるURLを最初にスクロール表示するURLに決定する。
そして、CPU14は、S43の処理で決定したURLのスクロール変数を「表示中」に設定し、その他のURLのスクロール変数を「完了」に設定する(S44)。なお、スクロール変数は、URL記憶領域20bに記憶された各URL毎に設けられており、スクロール変数が「表示中」に設定されたURLについては、そのURLに対応する表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50でスクロール表示されていることを示している。一方、スクロール変数が「完了」に設定されたURLについては、そのURLに対応する表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142はスクロール表示されていないことを示している。このスクロール変数の設定により、CPU14は、表示パネル50でスクロール表示されているコンテンツタイトル文字列140およびコンテンツ更新日時情報142がいずれのURLのものであるかを検出することができる。なお、このスクロール変数は、RAM18の所定領域に記憶される。
S44の処理後、CPU14は、S43の処理で決定されたURLに対応する表示情報112に含まれる更新コンテンツ情報132を表示情報記憶領域18fから取得する(S45)。そして、CPU14は、取得した更新コンテンツ情報132を用いて、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50にスクロール表示する(S46)。なお、S45の処理においては、CPU14は、表示情報記憶領域18fから、識別番号130である符号「j」(図5参照)が「0」から「m−1」の更新コンテンツ情報132を取得する。そして、S46の処理において、CPU14は、符号「j」が「0」のコンテンツタイトル文字列140およびコンテンツ更新日時情報142から順番に、符号「m−1」のコンテンツタイトル文字列140およびコンテンツ更新日時情報142まで、表示パネル50に順次、スクロール表示する。
S46の処理後、CPU14は、表示パネル50へのスクロール表示が終了したURLのスクロール変数を「完了」に設定する(S47)。その後、CPU14は、URL記憶領域20bに記憶されたURLのうち、未だ、スクロール変数が「表示中」に切り換えられていないURL、即ち、スクロール表示を行っていないURLが存在するか否かを判定する(S48)。具体的には、S48の処理においては、CPU14は、S43の処理で決定された符号「i」(図5参照)の値が最大値であるn−1になったか否かで、スクロール表示を行っていないURLが存在するか否かを判定している。つまり、S48の処理では、CPU14は、S43の処理で決定された符号「i」がn−1となっていなければ、URL記憶領域20bに記憶されたURLのうち、未だ、スクロール変数が「表示中」に切り換えられていないURLが存在すると判定する。一方、S48の処理では、CPU14は、S43の処理で決定された符号「i」がn−1となっていれば、URL記憶領域20bに記憶されたURLの全てのスクロール変数が、「表示中」に切換られたと判定する。
S48の処理で、CPU14は、URL記憶領域20bに記憶されたURLのうち、未だ、スクロール変数が「表示中」に切り換えられていないURLが存在すると判定した場合には(S48:Yes)、S43の処理へ戻り、スクロール表示するURLを、URL記憶領域20bに記憶された他のURLに決定する(S43)。このS43の処理では、CPU14は、符号「i」(図5参照)の値を1加算して、スクロール表示するURLを他のURLに決定する。
一方、S48の処理で、CPU14は、URL記憶領域20bに記憶されたURLの全てのスクロール変数が、「表示中」に切換られたと判定した場合には(S48:No)、このスクロール表示処理を終了する。
上述したスクロール表示により、URL毎に、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50にスクロール表示することができる。
ここで、図11を参照して、CPU14でS46の処理が実行されることで実現される表示パネル50のスクロール表示について説明する。図11は、表示パネル50のスクロール表示の一例を示した図である。
前述したS46の処理が、CPU14により実行されると、図11に示すように、コンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示される。このスクロール表示は、本実施形態においては、1列表示されたコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50の右端から左端へ移動していく表示である。
スクロール表示されるコンテンツタイトル文字列140およびコンテンツ更新日時情報142は、前述の通り、URL毎に、表示情報記憶領域18fに記憶された識別番号130である符号「j」が「0」から順番に、符号「m−1」まで、スクロール表示される。そして、1つのURLの全てのコンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示されると、次のURLの全てのコンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示される。例えば、前回スクロール表示されたものが、符号「j=0」に対応するURLのコンテンツタイトル文字列140およびコンテンツ更新日時情報142であった場合には、次にスクロール表示されるものは、符号「j=1」に対応するURLのコンテンツタイトル文字列140およびコンテンツ更新日時情報142となる。
なお、図11に示すように、表示パネル50には、コンテンツタイトル文字列140およびコンテンツ更新日時情報142に加え、ボタン160が表示されている。このボタン160を操作することによって、ユーザは、機能実行の指示を多機能機10に入力することができる。機能実行が指示されると、多機能機10は、表示パネル50に実行中の機能に関する情報(例えば、実行中の機能が印刷機能であれば、印刷枚数等)を表示する。
次に、図10を参照して、表示情報記憶領域18fに記憶された表示情報を更新することで、表示パネル50にスクロール表示されるコンテンツタイトル文字列140およびコンテンツ更新日時情報142を更新する更新処理について説明する。図11は、多機能機10のCPU14によって実行される更新処理を示したフローチャートである。
この更新処理は、多機能機10の電源がオンされた場合に実行が開始される。そして、この更新処理は、電源オンの期間中、定期的に(例えば、1時間毎に)繰り返し実行されるタイマ割り込み処理である。このように、更新処理は、メイン処理内でスクロール表示処理(S23)が実行されていても、定期的に実行されるので、表示パネル50にコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示中である場合であっても、最新のフィード情報が取得される。しかし、更新処理では、メイン処理内でスクロール表示処理(S23)が実行されている間に、その実行が行われても、表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生することを防止する処理構成となっている。
更新処理では、まず、CPU14は、URL記憶領域20bの記憶内容を参照する(S51)。そして、CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されているか否かを判定する(S52)。CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されていないと判定すると(S52:No)、フィード情報を取得して更新することができないので、この更新処理を終了する。
一方、S52の処理で、CPU14は、フィード情報を取得するURLがURL記憶領域20bに記憶されていると判定すると(S52:Yes)、URL記憶領域20bに記憶された各URLに対応する各更新フラグ18e(18e1〜18en−1)を全てオンにする(S53)。そして、CPU14は、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50にスクロール表示しているURLを、スクロール表示変数によって特定する(S54)。
このS54の処理により、CPU14は、スクロール表示しているURLを特定し、スクロール表示しているコンテンツタイトル文字列140およびコンテンツ更新日時情報142を含む表示情報112を特定することができる。このように、S54の処理では、CPU14は、スクロール表示しているコンテンツタイトル文字列140およびコンテンツ更新日時情報142を含む表示情報112の特定を、URLを特定することで実行している。
その後、CPU14は、S54による特定結果と、更新フラグ18e(18e1〜18en−1)の状態とを参照し、更新フラグ18e(18e1〜18en−1)がオンであるURLのうち、スクロール表示中でないものがあるか否かを判定する(S55)。CPU14は、更新フラグ18e(18e1〜18en−1)がオンであるURLのうち、スクロール表示中でないものは存在しないと判定した場合には(S55:No)、更新フラグ18eがオンであり表示情報112が未更新のものはあるが、その未更新の表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示中であると判定し、そのURLのスクロール表示が終了したか否かを判定する(S57)。
そして、CPU14は、S57の処理で、更新フラグ18eがオンであり表示情報112が未更新であるものの、その表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50に、未だ、スクロール表示中であると判定すると(S57:No)、スクロール表示が終了するまで、S57の処理を繰り返す。そして、CPU14は、スクロール表示が終了したと判定した場合には(S57:Yes)、S56の処理へ移行する。
一方、S55の処理で、CPU14は、更新フラグ18e(18e1〜18en−1)がオンであるURLのうち、スクロール表示中でないものが存在すると判定した場合には(S55:Yes)、更新フラグ18eがオン、つまり表示情報112が未更新であり、且つ、その表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示に使用されていないと判定し、S55の処理でYesと判定されたURLから、表示情報112を更新するURLを決定する(S56)。このS56の処理においては、CPU14は、表示情報記憶領域18fに記憶されている識別番号110である符号「i」(図5参照)の値を決定することで、表示情報112を更新するURLを決定している。
上述の通り、CPU14は、S55の処理で、更新フラグ18eがオンであり表示情報112が未更新のものはあるが、その未更新の表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示中であると判定した場合には、スクロール表示が終了したとS57の処理で判定するまで、S56の処理を実行しない、つまり、フィード情報の取得を行わない。よって、スクロール表示中であるコンテンツタイトル文字列140およびコンテンツ更新日時情報142を含む表示情報112の更新を、フィード情報を取得しないことで未然に防止することができる。
S58の処理では、CPU14は、S56の処理で決定した符号に対応するURLをURL記憶領域20bから特定し、その特定したURLにネットワークI/F60を介して接続して、最新のフィード情報を取得した後、その最新のフィード情報をテンポラリ記憶領域18cに接続したURLに対応付けて記憶する(S58)。
そして、CPU14は、S56の処理で決定された符号に対応するURLから取得された最新のフィード情報を、テンポラリ記憶領域18cからフィード情報記憶領域18dへ展開して転送し、その転送した展開情報をURLに対応させてフィード情報記憶領域18dへ記憶する(S59)。
S59の処理後、CPU14は、フィード情報記憶領域18dに記憶された展開情報を解析し、表示情報112を作成する(S60)。ここで、展開情報はフィード情報をテキストデータに展開した情報であるので、図5に示されるサイト情報120や更新コンテンツ情報132を含んでいる。よって、CPU14は、展開情報を解析することによって、図5に示される表示情報112を作成することができる。
S60の処理後、CPU14は、S56の処理で決定した符号に対応するURLから前回に取得されたフィード情報(未更新のフィード情報)により生成された表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が、スクロール表示中か否かをスクロール変数により判定する(S61)。CPU14は、スクロール表示中であると判定すると(S61:Yes)、S56の処理で決定した符号に対応するURLから前回に取得されたフィード情報(未更新のフィード情報)により生成された表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示されている(表示情報112が使用中である)と判定し、フィード情報記憶領域18dに記憶された展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送せず、そのスクロール表示が終了したか否かを判定する(S62)。その後、CPU14は、スクロール表示が終了していないと判定すると(S62:No)、スクロール表示が終了するまで、S62の処理を繰り返し実行する。そして、CPU14は、スクロール表示が終了したと判定すると(S62:Yes)、S63の処理へ移行する。
一方、CPU14は、S61の処理で、S56の処理で決定した符号に対応するURLから前回に取得されたフィード情報(未更新のフィード情報)により生成された表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示中でないと判定すると(S61:No)、フィード情報記憶領域18dに記憶された展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送して、表示情報記憶領域18fの記憶内容を更新する(S63)。例えば、ゼロ番目のサイトの表示情報112がS60の処理で作成された場合、CPU14は、符号「i=0」に対応づけられている古い表示情報112をクリアし、符号「i=0」に対応づけて新しい表示情報112をS63の処理で記憶させる。
上述の通り、CPU14は、S61の処理で、S56の処理で決定した符号に対応するURLから前回に取得されたフィード情報(未更新のフィード情報)により生成された表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が、スクロール表示中であると判定すると、S62の処理で、スクロール表示が終了したと判定するまで、S63の処理への移行を行わない、つまり、フィード情報記憶領域18dに記憶された展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送しない。よって、現在スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142を含む未更新の表示情報が、新たに取得されたフィード情報によって生成された表示情報へ更新されることで、現在スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生することを防止することができる。
また、CPU14は、S61の処理で、S56の処理で決定した符号に対応するURLから前回に取得されたフィード情報(未更新のフィード情報)により生成された表示情報112に含まれるコンテンツタイトル文字列140およびコンテンツ更新日時情報142が、スクロール表示中でないと判定すると、S63の処理を即座に実行し、フィード情報記憶領域18dに記憶された展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送する。よって、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を生成した未更新の表示情報がスクロール表示に使用されていない場合には、新たに取得されたフィード情報より生成された表示情報への更新を即座に行うことができる。
S63の処理後、CPU14は、更新されたURLに対応する更新フラグ18e(18e1〜18en−1のいずれか)をオフする(S64)。そして、CPU14は、S53の処理でオンに設定された更新フラグ18e(18e1〜18en−1)は、全てオフとなったか、即ち、URL記憶領域20bに記憶された全てのURLから最新のフィード情報が取得され、そのフィード情報により表示情報記憶領域18fに記憶された表示情報112の更新が完了したか否かを判定する(S65)。
CPU14は、S53の処理でオンに設定された更新フラグ18e(18e1〜18en−1)が、全てオフとなっていない、即ち、URL記憶領域20bに記憶された全てのURLから最新のフィード情報が取得されていない(表示情報記憶領域18fに記憶された表示情報112の更新が完了していない)と判定すると(S65:No)、S54の処理へ移行する。一方、CPU14は、S53の処理でオンに設定された更新フラグ18e(18e1〜18en−1)は、全てオフとなったと判定すると(S65:Yes)、URL記憶領域20bに記憶された全てのURLから最新のフィード情報が取得され、そのフィード情報により表示情報記憶領域18fに記憶された表示情報112の更新が完了したと判定し、この更新表示処理を終了する。
上述した通り、本実施形態の多機能機10によれば、表示情報記憶領域18fに記憶された表示情報を使用して、コンテンツタイトル文字列140およびコンテンツ更新日時情報142が表示パネル50にスクロール表示されているときに、最新のフィード情報をURLから新たに取得した場合には、まず、最新のフィード情報を取得したURLから前回に取得されたフィード情報によって生成された表示情報が、スクロール表示に使用されているかを判定する。そして、前回に取得されたフィード情報によって生成された表示情報がスクロール表示に使用されていると判定した場合には、その表示情報を使用したスクロール表示が終了するまで、フィード情報記憶領域18dに記憶された最新の展開情報を用いて作成した表示情報を、表示情報記憶領域18fに転送しない(表示情報記憶領域18fに記憶しない)。よって、現在スクロール表示中のコンテンツタイトル文字列140およびコンテンツ更新日時情報142に情報の不整合が発生することを防止することができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
本実施形態の多機能機10では、スクロール表示処理の実行により、コンテンツタイトル文字列140およびコンテンツ更新日時情報142を表示パネル50に1行でスクロール表示させたが(図11参照)、これに限られるものではない。即ち、コンテンツタイトル文字列140およびコンテンツ更新日時情報142がスクロール表示されている場合に、ユーザが表示パネル50に表示されたコンテンツタイトル文字列140またはコンテンツ更新日時情報142をタッチした場合には、そのコンテンツタイトル文字列140およびコンテンツ更新日時情報142の取得先であるURLから提供された全てのコンテンツタイトル文字列140およびコンテンツ更新日時情報142を複数行にリスト形式で表示すると共に、サイトタイトル文字列122を固定表示するように構成しても良い。
上述した構成は、具体的には、次の構成にすれば良い。即ち、ユーザが表示パネル50に表示されたコンテンツタイトル文字列140またはコンテンツ更新日時情報142をタッチすると、CPU14は、タッチされたコンテンツタイトル文字列140またはコンテンツ更新日時情報142の取得先であるURLに対応する全ての更新コンテンツ情報132と、そのURLに対応する1のサイトタイトル文字列122とを表示情報記憶領域18fから取得する。そして、CPU14は、取得した全ての更新コンテンツ情報132から、コンテンツタイトル文字列140およびコンテンツ更新日時情報142をリストデータとして作成し、1のサイトタイトル文字列122と共に、表示パネル50に表示すれば良い。
ここで、図12を参照して、上述した構成により実現されるリスト形式の表示について説明する。図12は、上述した構成により実現されるリスト形式の表示を表示パネル50で行った場合の一例を示した図である。上述した構成により、リスト170が表示パネル50に表示される。リスト170は、複数のコンテンツ(例えば、表示情報記憶領域18fに記憶されたm個のコンテンツ)のそれぞれについて、当該コンテンツのコンテンツタイトル文字列140と当該コンテンツのコンテンツ更新日時情報142とを含んでいる。図12に示すように、リスト170には、スポーツに関するコンテンツについて、コンテンツタイトル文字列「Sport・・・」とコンテンツ更新日時情報「14:32」とが表示されている。同様に、リスト170には、コンテンツタイトル文字列「Politics・・・」およびコンテンツ更新日時情報「14:12」と、コンテンツタイトル文字列「Weather Tokyo Cloud・・・」およびコンテンツ更新日時情報「14:03」と、コンテンツタイトル文字列「Economy・・・」およびコンテンツ更新日時情報「14:00」とが表示されている。また、図12に示す例では、サイトタイトル文字列122も、画面左上部に固定表示されている。なお、リターンボタン174を押下した場合には、図11に示すスクロール表示に戻る。
このように、表示パネル50にリスト170を表示することで、複数のコンテンツのそれぞれについて、一覧表示することができる。よって、ユーザは、URLから取得された複数のコンテンツを短時間で確認することができる。
また、本実施形態においては、各コンテンツのタイトルを表示する対象を多機能機10としたが、これに限られるものではない。即ち、各コンテンツのタイトルを表示する対象を、スキャナ装置、プリンタ装置、或いは電話機等、表示パネル50が搭載可能である装置としても良い。この構成の場合には、スキャナ装置、プリンタ装置、或いは電話機に設けられた表示パネル50に、各コンテンツのタイトルを表示することができる。
また、本実施形態の画像形成システム1では、多機能機10と、PC70,71とは、ケーブルにて(有線にて)、互いに接続されていたが、これに限られるものではない。即ち、多機能機10およびPC70,71の各々に無線通信インターフェイスを設け、その無線通信インターフェイスを用いて、多機能機10とPC70,71とを無線通信によって電気的に接続しても良い。
また、本実施形態においては、各コンテンツ提供サーバ90,91は、コンテンツとフィード情報の両方を記憶していたが、これに限られるものではなく、コンテンツを記憶するためのサーバとフィード情報を記憶するためのサーバが別体に構成されていてもよい。
また、本実施形態においては、多機能機10は、ブラウザプログラムを有していなかったが、これに限られるものではなく、多機能機10は、ブラウザプログラムを有していてもよい。この構成の場合には、多機能機10は、コンテンツをダウンロードして表示パネル50で表示することができる。