以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
図1は、本実施形態に係る印刷システム100の概略図である。図1に示される印刷システム100は、プリンタ10と、情報処理端末50と、年賀状サーバ70と、アルバムサーバ90とで構成されている。プリンタ10、情報処理端末50、年賀状サーバ70、及びアルバムサーバ90は、通信ネットワークを介して相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、例えば、インターネット101、有線LAN、無線LAN102、或いはこれらの組み合わせであってもよい。
プリンタ10及び情報処理端末50は、無線LAN102に属している。すなわち、プリンタ10及び情報処理端末50は、無線LAN102の不図示のアクセスポイントを経由して、相互に通信することができる。また、無線LAN102は、ルータ102Aを通じてインターネット101に接続されている。さらに、年賀状サーバ70及びアルバムサーバ90は、インターネット101に接続されている。すなわち、プリンタ10及び情報処理端末50は、ルータ102Aからインターネット101を経由して、年賀状サーバ70及びアルバムサーバ90と通信することができる。
プリンタ10は、画像データで示される画像をシートに印刷する印刷動作を実行する。プリンタ10の印刷技術としては、インクジェット技術や電子写真技術などの公知の技術を採用することができる。プリンタ10の具体的な構成は周知なので、詳細な説明は省略する。
情報処理端末50は、図2(A)に示されるように、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。情報処理端末50を構成する各構成要素は、通信バス63を通じて相互に接続されている。情報処理端末50は、例えば、携帯電話、スマートフォン、タブレット端末、PC等である。より詳細には、情報処理端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。
ディスプレイ53は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示画面を備える。ディスプレイ53は、報知部の一例である。但し、報知部の具体例はディスプレイ53に限定されず、スピーカ、LEDランプ、バイブレータ、或いはこれらの組み合わせであってもよい。
入力I/F54は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F54はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU61へ出力する。さらに、入力I/F54は、ディスプレイ53の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ53の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ53に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
タッチセンサとして実現される入力I/F54は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ53に表示されたオブジェクトの位置のタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
通信I/F55は、通信ネットワークを通じて外部装置と通信可能な第1通信インタフェースの一例である。すなわち、情報処理端末50は、通信I/F55を通じて外部装置に各種情報を送信し、通信I/F55を通じて外部装置から各種情報を受信する。通信I/F55の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(登録商標)を採用することができる。
CPU61は、情報処理端末50の全体動作を制御するものである。CPU61は、入力I/F54から出力される各種情報、通信I/F55を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ62から取得して実行する。CPU61及びメモリ62は、第1コントローラの一例を構成する。
メモリ62は、OS64と、ハガキプログラム65と、URL管理プログラム66とを記憶している。ハガキプログラム65及びURL管理プログラム66は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ62は、ハガキプログラム65及びURL管理プログラム66の実行に必要なデータ或いは情報等を記憶する。メモリ62は、例えば、RAM、ROM、EEPROM、HDD、プリンタ10に着脱されるUSBメモリ等の可搬記憶媒体、CPU61が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ62は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット101上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する年賀状サーバ70のメモリ82についても同様である。
OS64は、例えば、Windows(登録商標) Operating System、Android(登録商標) OS、iOS(登録商標)等であってもよい。OS64は、情報処理端末50にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、OS64は、並行して実行する複数のプログラムのうちの1つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。フォアグラウンドとは、例えば、当該プログラムが生成した画面がディスプレイ53に表示されている状態である。バックグラウンドとは、例えば、当該プログラムが生成した画面がディスプレイ53に表示されていない状態である。
ハガキプログラム65は、ハガキの宛名面及び通信面に記録する画像をユーザの指示に従って生成し、生成した画像をハガキに印刷する印刷動作をプリンタ10に実行させるプログラムである。URL管理プログラム66は、インターネット101上のアルバムサーバ90にコンテンツデータをアップロードし、アルバムサーバ90に記憶されているコンテンツデータのアドレス情報を管理する外部プログラムの一例である。コンテンツデータは、例えば、画像データ、写真データ、動画データ、HTMLデータ等を指す。アドレス情報は、例えば、URL形式の情報である。
メモリ62は、図3(A)に示されるアルバムリストを記憶することができる。アルバムリストは、1以上のアルバムレコードを含む。アルバムレコードは、名称情報と、アルバムURLとを含む。URL管理プログラム66は、アルバムサーバ90から通知されたアルバムURLと、入力I/F54を通じてユーザに入力させた名称情報とを含むアルバムレコードを、アルバムリストに登録する。
また、メモリ62は、不図示のテンプレート画像データを記憶することができる。テンプレート画像データは、ハガキの通信面に印刷されるテンプレート画像を示す。テンプレート画像は、ハガキの大きさに略一致する長方形の画像である。本実施形態では、年賀状の通信面に印刷されるテンプレート画像の例を説明するが、テンプレート画像の用途はこれに限定されず、例えば、暑中見舞い、クリスマスカード等にも応用することができる。ハガキ及びクリスマスカードは、印刷媒体の一例である。但し、印刷媒体の具体例はこれらに限定されず、封筒、チラシ等、画像を印刷可能なあらゆるものが該当する。
さらに、メモリ62は、不図示の図柄スタンプデータを記憶することができる。図柄スタンプデータは、図柄画像の一例である図柄スタンプを示す画像データである。図柄スタンプは、例えば、干支や絵文字等を示す画像である。また、スタンプには、図柄スタンプの他に、情報保持画像の一例であるQRスタンプがある。図柄スタンプ及びQRスタンプ(これらを総称して、「スタンプ」と表記することがある。)は、テンプレート画像上に合成可能な画像であって、テンプレート画像より画像サイズが小さい。
図柄スタンプは、意味内容を視覚的に認識可能な図柄を示す画像である。一方、QRスタンプは、QRコード(登録商標)を表す画像であって、意味内容を視覚的に認識することは極めて困難である。QRスタンプは、アルバムサーバ90に確保されたアルバム領域を示すURLを保持する画像である。より詳細には、QRスタンプは、カメラで光学的に読み取った後に、プログラムによって画像処理することで抽出可能な情報を保持する画像である。なお、情報保持画像の具体例はQRコードに限定されず、Data Matorix等であってもよい。換言すれば、情報保持画像は、所謂二次元バーコードを表す画像であってもよい。
年賀状サーバ70は、図2(B)に示されるように、通信I/F75と、CPU81と、メモリ82と、通信バス83とを主に備える。年賀状サーバ70に含まれる通信I/F75、CPU81、メモリ82、及び通信バス83は、情報処理端末50に含まれる通信I/F55、CPU61、メモリ62、及び通信バス63と同様の構成であるので、説明は省略する。年賀状サーバ70は第1サーバの一例であり、通信I/F75は第2通信インタフェースの一例である。CPU81及びメモリ82は第2コントローラの一例であり、メモリ82はサーバメモリの一例である。
メモリ82は、OS84と、サーバプログラム85とを記憶している。サーバプログラム85は、例えば、後述する暫定URLで示されるメモリ領域にアクセスしようとする情報処理端末50に、当該暫定URLに対応付けられたアルバムURLを通知するリダイレクト機能と、暫定URLに対応するアルバムURLの登録或いはアルバムURLで示されるアルバム領域へのコンテンツデータの登録を促すプッシュ通知機能とを有する。サーバプログラム85は、例えば、前述の機能ごとの複数のプログラムの集合体であってもよい。また、年賀状サーバ70は、例えば、前述の機能ごとの複数のサーバで構成されていてもよい。
また、メモリ82は、図3(B)に示されるURLリストを記憶している。URLリストは、1以上のURLレコードを含む。URLレコードは、例えば、端末IDと、暫定URL及びアルバムURLの少なくとも一方とを含む。端末IDは、年賀状サーバ70に接続する情報処理端末50を一意に識別する情報(例えば、MACアドレス)である。暫定URLは、年賀状サーバ70のメモリ82のメモリ領域を示す暫定アドレス情報の一例である。アルバムURLは、アルバムサーバ90のメモリ領域を示す本アドレス情報の一例である。アルバムURL及び暫定URLは、アドレス情報の一例である。
URLは、例えば、サーバ識別情報と、メモリ識別情報とを含む。サーバ識別情報は、インターネット101上でサーバ70、90を識別する所謂ドメイン名である。本実施形態において、年賀状サーバ70はサーバ識別情報“www.server-a.com”で識別され、アルバムサーバ90はサーバ識別情報“www.server-b.com”で識別されるものとする。メモリ識別情報は、サーバ識別情報で識別されるサーバ70、90のメモリ領域を識別する所謂フォルダ名である。
アルバムサーバ90は、例えば、ストレージサーバ及びWEBサーバとして機能する。アルバムサーバ90は、第2サーバの一例である。アルバムサーバ90は、コンテンツデータを記憶するためのメモリ領域(以下、「アルバム領域」と表記することがある。)の確保をURL管理プログラム66から要求されたことに応じて、新たなアルバム領域をメモリ内に確保し、確保したアルバム領域を示すアルバムURLをURL管理プログラム66に通知する。また、アルバムサーバ90は、URL管理プログラム66からアルバムURLを指定してコンテンツデータがアップロードされたことに応じて、指定されたアルバムURLで示されるアルバム領域に、アップロードされたコンテンツデータを記憶させる。すなわち、メモリ内のアルバム領域には、コンテンツデータが記憶されている場合もあるし、記憶されていない場合もある。
[印刷システム100の動作]
図4〜図8を参照して、本実施形態に係る印刷システム100の動作を説明する。
[通信面編集処理]
まず、フォアグラウンドで実行されるハガキプログラム65は、図9(A)に示されるテンプレート選択画面をディスプレイ53に表示させる(S11)。テンプレート選択画面は、複数のテンプレートアイコン111、112、113、114を含む。テンプレートアイコン111〜114は、メモリ62に記憶された複数のテンプレート画像データの1つに対応する。そして、ハガキプログラム65は、テンプレート選択画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S12)。
次に、ハガキプログラム65は、例えばテンプレートアイコン113の指定を入力I/F54を通じて受け付けたことに応じて(S12:Yes)、指定されたテンプレートアイコン113に対応付けられたテンプレート画像データを、メモリ62から読み出す。次に、ハガキプログラム65は、図9(B)に示されるテンプレート編集画面を、テンプレート選択画面に代えてディスプレイ53に表示させる(S13)。そして、ハガキプログラム65は、テンプレート編集画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S14)。
テンプレート編集画面は、テンプレート画像121と、フォントアイコン123と、スタンプアイコン124と、[保存]アイコン125と、[印刷]アイコン126とを含む。テンプレート画像121は、読み出したテンプレート画像データで示される画像である。フォントアイコン123は、テンプレート画像121に含まれる文字のフォント(例えば、ゴシック体、明朝体等)を切り替える指示に対応する。スタンプアイコン124は、テンプレート画像121に合成するスタンプを選択する指示に対応する。[保存]アイコン125は、編集されたテンプレート画像データをメモリ62に記憶させる指示に対応する。[印刷]アイコン126は、編集されたテンプレート画像121をハガキの通信面に印刷する指示に対応する。
次に、ハガキプログラム65は、スタンプアイコン124の指定を入力I/F54を通じて受け付けたことに応じて(S14:スタンプ)、スタンプ合成処理を実行する(S15)。スタンプ合成処理は、テンプレート画像121にスタンプを合成する処理である。図5を参照して、スタンプ合成処理の詳細を説明する。
[スタンプ合成処理]
まず、ハガキプログラム65は、図10(A)に示されるスタンプ選択画面130を、テンプレート編集画面に代えてディスプレイ53に表示させる。スタンプ選択画面130は、選択状態の切替タブ131と、非選択状態の切替タブ132と、スタンプアイコン133、134、135、136とを含む。スタンプアイコン133〜136は、メモリ62に記憶されている図柄スタンプデータの1つに対応する。なお、本実施形態に係るスタンプ選択画面130は、後述するスタンプ編集画面に重ねて表示されるポップアップウィンドウである。後述するアルバム選択画面140、発行確認画面150、170、及び登録報知画面180についても同様である。そして、ハガキプログラム65は、スタンプ選択画面130に対するユーザ操作を、入力I/F54を通じて受け付ける。
次に、ハガキプログラム65は、例えば、スタンプアイコン133の指定を入力I/F54を通じて受け付けたことに応じて、指定されたスタンプアイコン133に対応する図柄スタンプデータをメモリ62から読み出す。次に、ハガキプログラム65は、読み出した図柄スタンプデータで示される図柄スタンプを、テンプレート画像121に合成する。そして、ハガキプログラム65は、S27以降の処理を実行する。これらの処理の詳細は、省略する。
一方、ハガキプログラム65は、非選択状態の切替タブ132の指定を入力I/F54を通じて受け付けたことに応じて、図3(A)に示されるアルバムリストをURL管理プログラム66から取得する(S21)。ハガキプログラム65は、例えば、外部プログラムを起動するためにOS64が提供した起動APIを用いて、URL管理プログラム66を起動する。次に、ハガキプログラム65は、アルバムリストを記憶するメモリ領域の先頭アドレスを示すポインタを、起動APIの戻り値として取得する。そして、ハガキプログラム65は、取得したポインタで示されるメモリ領域からアルバムリストを読み出す。
次に、ハガキプログラム65は、図10(B)に示されるアルバム選択画面140を、スタンプ選択画面130に代えてディスプレイ53に表示させる(S22)。アルバム選択画面140は、非選択状態の切替タブ131と、選択状態の切替タブ132と、アルバムアイコン141、142と、[暫定URL]アイコン143とを含む。アルバムアイコン141、142は、S21で取得したアルバムレコードの1つに対応する。また、アルバムアイコン141、142には、対応するアルバムレコードの名称情報で示される文字列が記述されている。[暫定URL]アイコン143は、暫定URLを年賀状サーバ70から取得する指示に対応する。そして、ハガキプログラム65は、アルバム選択画面140に対するユーザ操作を、入力I/F54を通じて受け付ける(S23)。
次に、ハガキプログラム65は、例えば、アルバムアイコン141の指定を入力I/F54を通じて受け付けたことに応じて(S23:アルバム)、図11(A)に示される発行確認画面150を表示させるために、起動APIを用いてURL管理プログラム66を起動する。これにより、OS64は、ハガキプログラム65をバックグラウンドで実行し、URL管理プログラム66をフォアグラウンドで実行する。
URL管理プログラム66は、ハガキプログラム65によって起動されたことに応じて、図11(A)に示される発行確認画面150を、ディスプレイ53に表示させる(S24)。発行確認画面150は、代表画像151と、「『家族旅行ムービー』のQRコードを発行しますか?」とのメッセージと、[発行]アイコン152と、[キャンセル]アイコン153とを含む。そして、URL管理プログラム66は、発行確認画面150に対するユーザ操作を、入力I/F54を通じて受け付ける。
代表画像151は、アルバムアイコン141に対応するアルバムレコードのアルバムURLで示されるアルバム領域に記憶されたコンテンツデータに含まれる画像である。一例として、コンテンツデータが動画データである場合、代表画像151は、動画データの1シーンを示す画像である。他の例として、コンテンツデータが静止画データである場合の代表画像151は、静止画データで示される静止画像そのものである。[発行]アイコン152は、アルバムアイコン141に対応するアルバムレコードのアルバムURLを保持するQRスタンプを発行する指示に対応する。[キャンセル]アイコン153は、QRスタンプを発行しない指示に対応する。
次に、URL管理プログラム66は、[発行]アイコン152或いは[キャンセル]アイコン153の指定を入力I/F54を通じて受け付けたことに応じて、指定されたアルバムアイコン141に対応するアルバムレコードのアルバムURLと、[発行]アイコン152及び[キャンセル]アイコン153のどちらが指定されたかを示す情報を、起動APIの戻り値としてハガキプログラム65に提供する。これにより、OS64は、ハガキプログラム65をフォアグラウンドで実行し、URL管理プログラム66をバックグラウンドで実行する。
次に、ハガキプログラム65は、起動APIの戻り値として取得した情報に基づいて、[発行]アイコン152及び[キャンセル]アイコン153のどちらが指定されたかを判断する(S25)。そして、ハガキプログラム65は、[キャンセル]アイコン153が指定されたと判断したことに応じて(S25:キャンセル)、S26以降の処理を実行することなく、スタンプ合成処理を終了する。
一方、ハガキプログラム65は、[発行]アイコン152が指定されたと判断したことに応じて(S25:発行)、起動APIの戻り値として取得したアルバムURL“http://www.server-b.com/trip”を保持するQRスタンプ163を生成する。そして、ハガキプログラム65は、生成したQRスタンプ163をテンプレート画像121に合成する(S26)。また、ハガキプログラム65は、生成したQRスタンプ163が保持するアルバムURLを、印刷URLとしてメモリ62に一時記憶させる。S26の処理は、生成処理の一例である。
次に、ハガキプログラム65は、図11(B)に示されるスタンプ編集画面を、ディスプレイ53に表示させる(S27)。図11(B)に示されるスタンプ編集画面は、QRスタンプ163が合成されたテンプレート画像121と、[スタンプ追加]アイコン161と、[決定]アイコン162とを含む。そして、ハガキプログラム65は、スタンプ編集画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S28)。
一例として、ハガキプログラム65は、QRスタンプ163の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて(S28:編集)、テンプレート画像121上でQRスタンプ163を移動させる(S29)。ドラッグ操作は、QRスタンプ163の表示位置に入力媒体をタッチし、表示面上で当該入力媒体を移動させる操作である。より詳細には、ハガキプログラム65は、QRスタンプ163の位置にタッチされた入力媒体の移動方向及び移動量を、タッチセンサを通じて検出する。次に、ハガキプログラム65は、テンプレート画像121上において、検出した移動方向に検出した移動量だけQRスタンプ163を移動させる。そして、ハガキプログラム65は、入力媒体がディスプレイ53から離間された(すなわち、ドラッグ操作が終了した)ことに応じて、テンプレート画像121上のドラッグ操作の終了位置にQRスタンプ163を合成して、S27以降の処理を再び実行する。
但し、S28で受け付け可能なユーザ操作は、ドラッグ操作に限定されない。他の例として、ハガキプログラム65は、QRスタンプ163の拡大或いは縮小を指示するユーザ操作を入力/F54を通じて受け付けたことに応じて(S28:編集)、QRスタンプ163を拡大或いは縮小し、拡大或いは縮小したQRスタンプ163をテンプレート画像121に合成してもよい。また、ハガキプログラム65は、図11(B)の[スタンプ追加]アイコン161の指定を入力I/F54を通じて受け付けたことに応じて、S21以降の処理を再び実行する。さらに、ハガキプログラム65は、図11(B)の[決定]アイコン162の指定を入力I/F54を通じて受け付けたことに応じて(S28:決定)、スタンプ合成処理を終了する。
次に図4に戻って、ハガキプログラム65は、テンプレート編集画面のフォントアイコン123の指定を入力I/F54を通じて受け付けたことに応じて、テンプレート画像121に含まれる文字列のフォントを切り替える。また、ハガキプログラム65は、テンプレート編集画面の[保存]アイコン125の指定を入力I/F54を通じて受け付けたことに応じて、編集したテンプレート画像データをメモリ62に記憶させる。
さらに、ハガキプログラム65は、テンプレート編集画面の[印刷]アイコン126の指定を入力I/F54を通じて受け付けたことに応じて(S14:印刷)、通信I/F55を通じてプリンタ10に印刷指示情報を送信する(S16)。印刷指示情報は、QRスタンプ163が合成されたテンプレート画像121を、ハガキの通信面に印刷する印刷動作をプリンタ10に実行させるための情報である。印刷指示情報は、QRスタンプ163が合成されたテンプレート画像121を示すテンプレート画像データを含む。S16の処理は、印刷指示処理の一例である。
一方、図示は省略するが、プリンタ10は、情報処理端末50から印刷指示情報を受信する。そして、プリンタ10は、受信した印刷指示情報に従った印刷動作を実行する。すなわち、プリンタ10は、印刷指示情報に含まれるテンプレート画像データで示されるテンプレート画像121を、ハガキの通信面に印刷する。
次に、ハガキプログラム65は、S16で印刷を指示したテンプレート画像121がQRスタンプ163を含むか否かを判断する(S17)。すなわち、ハガキプログラム65は、メモリ62に印刷URLが一時記憶されているか否かを判断する。そして、ハガキプログラム65は、印刷を指示したテンプレート画像121がQRスタンプ163を含むと判断したことに応じて(S17:Yes)、図6(B)を参照して後述する印刷URL通知処理を実行する(S18)。一方、ハガキプログラム65は、印刷を指示したテンプレート画像121がQRスタンプ163を含まないと判断したことに応じて(S17:No)、S18の処理を実行せずに、通信面編集処理を終了する。
また図5に戻って、ハガキプログラム65は、図10(B)に示される[暫定URL]アイコン143の指定を入力I/F54を通じて受け付けたことに応じて(S23:暫定)、暫定URL取得処理を実行する(S30)。暫定URL取得処理は、年賀状サーバ70が発行した暫定URLを取得する処理である。図6(A)を参照して、暫定URL取得処理の詳細を説明する。
[暫定URL取得処理]
まず、ハガキプログラム65は、通信I/F55を通じて年賀状サーバ70に発行要求情報を送信する(S41)。発行要求情報は、暫定URLの発行を要求するための情報である。そして、ハガキプログラム65は、後述するS42で年賀状サーバ70が発行した暫定URL“http://www.server-a.com/redirect1”を、発行要求情報の応答として、通信I/F55を通じて年賀状サーバ70から受信する(S43)。ハガキプログラム65が実行するS41の処理は第3送信処理の一例であり、ハガキプログラム65が実行するS43の処理は第3受信処理の一例である。
一方、年賀状サーバ70のサーバプログラム85は、通信I/F75を通じて情報処理端末50から発行要求情報を受信する(S41)。次に、サーバプログラム85は、メモリ62のメモリ領域を示す新規な暫定URL“http://www.server-a.com/redirect1”を発行する(S42)。そして、サーバプログラム85は、S42で発行した暫定URLを、発行要求情報の応答として、通信I/F75を通じて情報処理端末50に送信する(S43)。
次に、図5に戻って、ハガキプログラム65は、図12(A)に示される発行確認画面170を、アルバム選択画面140に代えてディスプレイ53に表示させる(S31)。発行確認画面170は、「暫定アルバムのQRコードを発行しますか?」とのメッセージと、[発行]アイコン171と、[キャンセル]アイコン172とを含む。そして、ハガキプログラム65は、発行確認画面170に対するユーザ操作を、入力I/F54を通じて受け付ける(S32)。
次に、ハガキプログラム65は、[発行]アイコン171の指定を入力I/F54を通じて受け付けたことに応じて(S32:発行)、S30で取得した暫定URL“http://www.server-a.com/redirect1”を保持するQRスタンプを生成する。そして、ハガキプログラム65は、生成したQRスタンプをテンプレート画像121に合成する(S26)。また、ハガキプログラム65は、生成したQRスタンプが保持する暫定URLを、印刷URLとしてメモリ62に一時記憶させる。S27以降の処理は前述の説明と共通するので、再度の説明は省略する。一方、ハガキプログラム65は、[キャンセル]アイコン172の指定を入力I/F54を通じて受け付けたことに応じて(S32:キャンセル)、S26以降の処理を実行せずに、スタンプ合成処理を終了する。
[印刷URL通知処理]
まず、ハガキプログラム65は、通信I/F55を通じて年賀状サーバ70に印刷URL情報を送信する(S46)。印刷URL情報は、情報処理端末50を識別する端末ID“Term−A”と、印刷URLとを含む。印刷URLは、S26でメモリ62に一時記憶させたアルバムURL或いは暫定URLである。換言すれば、印刷URLは、テンプレート画像121に合成したQRスタンプが保持するURLである。ハガキプログラム65が実行するS46の処理は、第1送信処理の一例である。
次に、サーバプログラム85は、通信I/F75を通じて情報処理端末50から印刷URL情報を受信する(S46)。そして、サーバプログラム85は、受信した印刷URL情報に含まれる端末ID及び印刷URLを含むURLレコードを、URLリストに登録する(S47)。すなわち、印刷URL情報がアルバムURLを含む場合、例えば図3(B)の1行目のURLレコードで示されるように、端末ID及びアルバムURLを含むURLレコードが登録される。一方、印刷URL情報が暫定URLを含む場合、例えば図3(B)の2行目のURLレコードで示されるように、端末ID及び暫定URLを含むURLレコードが登録される。なお、アルバムURL及び暫定URLは、サーバ識別情報によって区別される。サーバプログラム85が実行するS46の処理は第2受信処理の一例であり、S47の処理は第1記憶処理の一例である。
次に、印刷システム100は、S47の処理を実行したことに応じて、ステータス報知処理を実行する(S48)。ステータス報知処理は、URLレコードにアルバムURLを登録する必要があることを、或いはアルバムURLで示されるアルバム領域にコンテンツデータをアップロードする必要があることを、情報処理端末50のユーザに報知する処理である。S47の処理の実行は、報知タイミングの到来を検知することの一例である。S48で実行されるステータス報知処理は、直前のS47で登録したURLレコードのみを対象(以下、「対象URLレコード」と表記する。)として実行される。図7を参照して、ステータス報知処理の詳細を説明する。
[ステータス報知処理]
まず、サーバプログラム85は、対象URLレコードがアルバムURLを含むか否かを判断する(S51)。そして、サーバプログラム85は、対象URLレコードがアルバムURLを含むと判断したことに応じて(S51:あり)、通信I/F75を通じてアルバムサーバ90にステータス要求情報を送信する(S52)。ステータス要求情報は、後述するステータス情報の送信を要求するための情報である。ステータス要求情報は、対象URLレコードに含まれるアルバムURLを含む。S51の処理は第2判断処理の一例であり、S52の処理は第5送信処理の一例である。
次に、アルバムサーバ90は、年賀状サーバ70からステータス要求情報を受信する(S52)。次に、アルバムサーバ90は、ステータス要求情報に含まれるアルバムURLで示されるアルバム領域に、コンテンツデータが記憶されているか否かを判断する。そして、アルバムサーバ90は、前述の判断結果を示すステータス情報を、ステータス要求情報の応答として年賀状サーバ70に送信する(S53)。すなわち、ステータス情報には、ステータス要求情報に含まれるアルバムURLで示されるアルバム領域に、コンテンツデータが記憶されているか否かを示す値が設定されている。
次に、サーバプログラム85は、ステータス要求情報の応答として送信されたステータス情報を、通信I/F75を通じてアルバムサーバ90から受信する(S53)。そして、サーバプログラム85は、S53で受信したステータス情報の設定値に基づいて、対象URLレコードのアルバムURLで示されるアルバム領域に、コンテンツデータが記憶されているか否かを判断する(S54)。S53の処理は第5受信処理の一例であり、S54の処理は第1判断処理の一例である。
そして、サーバプログラム85は、アルバム領域にコンテンツデータが記憶されていると判断したことに応じて(S54:あり)、S55以降の処理を実行せずに、ステータス報知処理を終了する。一方、サーバプログラム85は、アルバム領域にコンテンツデータが記憶されていないと判断したことに応じて(S54:なし)、対象URLレコードの端末IDで識別される情報処理端末50に、通信I/F75を通じて報知指示情報を送信する(S55)。また、サーバプログラム85は、対象URLレコードがアルバムURLを含まないと判断したことに応じて(S51:なし)、S52〜S54の処理を実行せずに、S55の処理を実行する。
報知指示情報は、報知タイミングの到来を通知するための情報である。対象URLレコードがアルバムURLを含む場合、報知指示情報は、当該アルバムURLを含んでもよい。一方、対象URLレコードがアルバムURLを含まない場合、報知指示情報は、対象URLレコードの暫定URLを含んでもよい。S55の処理は、例えば、周知のPUSH通知技術或いはXMPP(Extensible Messaging and Presence Protocolの略)等を用いて、実現することができる。サーバプログラム85が実行するS55の処理は、第2送信処理の一例である。
次に、ハガキプログラム65は、通信I/F55を通じてサーバプログラム85から報知指示情報を受信する(S55)。次に、ハガキプログラム65は、登録報知画面180をディスプレイ53に表示させる(S56)。そして、ハガキプログラム65は、図12B)に示される登録報知画面180に対するユーザ操作を、入力I/F54を通じて受け付ける(S57)。ハガキプログラム65が実行するS55の処理は第1受信処理の一例であり、S56の処理は報知処理の一例であり、S57の処理は第2受付処理の一例である。
一例として、報知指示情報が暫定URLを含む場合の登録報知画面180は、当該暫定URLに対応するアルバムURLをURLリストに登録する必要があることを報知するための画面である。図12(B)に示される登録報知画面180は、報知指示情報が暫定URLを含む場合の例であって、「アルバムURLを年賀状サーバに登録して下さい。」とのメッセージと、[コンテンツ登録]アイコン181と、[URL登録]アイコン182と、[後で]アイコン183とを含む。
他の例として、報知指示情報がアルバムURLを含む場合の登録報知画面180は、当該アルバムURLで示されるアルバム領域に、コンテンツデータを記憶させる必要があることを報知するための画面である。図示は省略するが、この場合の登録報知画面180は、例えば、「アルバムサーバにコンテンツデータをアップロードして下さい。」とのメッセージと、[コンテンツ登録]アイコン181と、[後で]アイコン183とを含み、[URL登録]アイコン182を含まない。
次に、ハガキプログラム65は、[コンテンツ登録]アイコン181の指定を入力I/F54を通じて受け付けたことに応じて(S57:コンテンツ登録)、起動APIを用いてURL管理プログラム66を起動する(S58)。[コンテンツ登録]アイコン181の指定は、第1操作の一例である。S58の処理は、起動処理の一例である。これにより、OS64は、ハガキプログラム65をバックグラウンドで実行し、URL管理プログラム66をフォアグラウンドで実行する。
一例として、S58で起動されたURL管理プログラム66は、新たなアルバム領域の確保を通信I/F55を通じてアルバムサーバ90に要求し、新たに確保されたアルバム領域を示すアルバムURLを通信I/F55を通じてアルバムサーバ90から受信する。そして、URL管理プログラム66は、アルバムサーバ90から受信したアルバムURLと、入力I/F54を通じて入力を受け付けた名称情報とを含むアルバムレコードを、アルバムリストに登録する。
他の例として、S58で起動されたURL管理プログラム66は、アルバムリストに含まれるアルバムURLを指定するユーザ操作と、メモリ62に記憶されたコンテンツデータを指定するユーザ操作とを入力I/F54を通じて受け付ける。そして、URL管理プログラム66は、指定されたアルバムURLで示されるアルバム領域に、指定されたコンテンツデータを通信I/F55を通じてアップロードする。
また、ハガキプログラム65は、[URL登録]アイコン182の指定を入力I/F54を通じて受け付けたことに応じて(S57:URL登録)、URL登録処理を実行する(S59)。[URL登録]アイコン182の指定は、第2操作の一例である。一方、ハガキプログラム65は、[後で]アイコン183の指定を入力I/F54を通じて受け付けたことに応じて(S57:後で)、S58〜S59の処理を実行せずに、ステータス報知処理を終了する。図8を参照して、URL登録処理の詳細を説明する。
[URL登録処理]
まず、ハガキプログラム65は、URL管理プログラム66からアルバムリストを取得する(S61)。そして、ハガキプログラム65は、アルバム選択画面140をディスプレイ53に表示させる(S62)。S61〜S62の処理は、図5のS21〜S22の処理と同様であってもよい。但し、S62で表示されるアルバム選択画面140は、[暫定URL]アイコン143を含まない。そして、ハガキプログラム65は、アルバム選択画面140に対するユーザ操作を、入力I/F54を通じて受け付ける(S63)。S63の処理は、第1受付処理の一例である。
次に、ハガキプログラム65は、例えば、アルバムアイコン142の指定を入力I/F54を通じて受け付けたことに応じて(S63)、通信I/F55を通じて年賀状サーバ70に登録要求情報を送信する(S64)。登録要求情報は、暫定URL及びアルバムURLを対応付けて記憶することを、年賀状サーバ70に要求するための情報である。登録要求情報は、例えば、S55で受信した報知指示情報に含まれる暫定URLと、S63で指定されたアルバムアイコン142に対応するアルバムURLとを含む。ハガキプログラム65が実行するS64の処理は、第4送信処理の一例である。
次に、サーバプログラム85は、通信I/F75を通じて情報処理端末50から登録求情報を受信する(S64)。次に、サーバプログラム85は、URLリストに含まれるURLレコードのうち、登録要求情報の暫定URLを含むURLレコードに、登録要求情報のアルバムURLを登録する(S65)。サーバプログラム85が実行するS64の処理は第4受信処理の一例であり、S65の処理は第2記憶処理の一例である。そして、サーバプログラム85は、アルバムURLを登録したことを示す登録完了情報を、登録要求情報の応答として、通信I/F75を通じて情報処理端末50に送信する(S66)。また、ハガキプログラム65は、通信I/F55を通じて年賀状サーバ70から登録完了情報を受信したことに応じて(S66)、URL登録処理を終了する。
また図示は省略するが、QRスタンプが印刷されたハガキを受け取ったユーザは、不図示の携帯端末に搭載されたカメラでQRスタンプを撮影する。そして、携帯端末にインストールされた不図示のプログラムは、カメラが撮影した画像を画像処理して、QRスタンプが保持するURLを抽出する。そして、携帯端末は、抽出したURLで示されるメモリ領域にアクセスする。
一例として、携帯端末は、アルバムURLを抽出したことに応じて、当該アルバムURLで示されるアルバム領域に記憶されているコンテンツデータを、アルバムサーバ90からダウンロードする。そして、携帯端末は、ダウンロードしたコンテンツデータを再生(例えば、ディスプレイに表示、スピーカから出力など)する。
他の例として、携帯端末は、暫定URLを抽出したことに応じて、当該暫定URLで示されるメモリ領域へのアクセスを、年賀状サーバ70に要求する。一方、サーバプログラム85は、アクセスが要求された暫定URLを含むURLレコードを、URLリストから読み出す。そして、サーバプログラム85は、読み出したURLレコードのアルバムURLを携帯端末に送信する。
そして、携帯端末は、年賀状サーバ70から受信したアルバムURLで示されるアルバム領域にアクセスする。すなわち、携帯端末は、QRスタンプから抽出した暫定URLに対応するアルバムURLを経由して、当該暫定URLで示されるアルバム領域に間接的にアクセスすることができる。
[本実施形態の作用効果]
上記の実施形態によれば、情報処理端末50のユーザは、暫定URLを保持するQRスタンプをハガキに印刷させた後に、コンテンツデータが記憶されたアルバム領域を示すアルバムURLを暫定URLに対応付けて登録すればよい。すなわち、ハガキを作成する時点でコンテンツデータが用意できていなくても、QRスタンプをハガキに印刷することができる。
一方、ハガキの作成時点で既にコンテンツデータをアップロードしているユーザにとっては、暫定URL及びアルバムURLを事後的に対応付ける操作が余計になるばかりでなく、当該操作を失念するとQRスタンプを通じてコンテンツデータにアクセスすることができなくなる。そこで上記の実施形態のように、暫定URL及びアルバムURLのどちらを保持するQRスタンプを生成するかを、アルバム選択画面140を通じてユーザに選択させるのが望ましい。
また、QRスタンプは、保持しているURLをユーザが一見して認識できるものではなく、予め定められたアルゴリズムで画像処理することによってURLを抽出可能なものである。そこで上記の実施形態のように、暫定URL及びアルバムURLのどちらを保持するQRスタンプを生成するのかを、発行確認画面150、170を通じてユーザに報知する。これにより、事後的にアルバムURLを指定する必要があるか否かを、ユーザに認識させることができる。
また、上記の実施形態によれば、QRスタンプが印刷されたハガキが宛先に届く前の報知タイミングにおいて、コンテンツデータをアップロードする必要があることが登録報知画面を通じてユーザに報知される。これにより、コンテンツデータのアップロードを失念していたユーザ、或いはアップロードしたコンテンツデータを差し替えしたいユーザに、ハガキが届く前にコンテンツデータをアップロードさせることができる。なお、報知の具体的な方法は前述の例に限定されず、スピーカに音声(例えば、報知メッセージ、ビープ音)を出力させてもよいし、バイブレータを振動させてもよい。
また、上記の実施形態によれば、対象URLレコードの端末IDで示される情報処理端末50に報知指示情報が送信されるので、コンテンツデータのアップロードを失念していたユーザの情報処理端末50に登録報知画面が表示される。これにより、ハガキを受け取った人がQRスタンプを通じてコンテンツデータにアクセスできないという事態を、さらに有効に抑制することができる。
なお、報知指示情報の具体的な内容は、特に限定されない。一例として、報知指示情報は、単に報知タイミングの到来を示す情報であって、報知の要否及び内容は情報処理端末50が判断してもよい。他の例として、報知指示情報は、報知の内容をさらに示す情報であって、情報処理端末50は報知指示情報で示される内容を報知してもよい。
また、上記の実施形態によれば、[コンテンツ登録]アイコン181及び[URL登録]アイコン182を登録報知画面に含めることによって、登録報知画面を見たユーザが必要な操作を容易に実行することができる。すなわち、QRスタンプを通じてコンテンツデータにアクセスするのに必要な準備を、さらに効果的に促すことができる。
なお、ステータス報知処理の実行タイミングは、S48に限定されない。他の例として、サーバプログラム85は、S47において、現在日時を示す日時情報をさらに含むURLレコードを、URLリストに登録してもよい。この日時情報は、QRスタンプがハガキに印刷された日時を示す。そして、サーバプログラム85は、URLリストに含まれる複数のURLレコードそれぞれを対象URLレコードとするステータス報知処理を、日時情報で示される日時に対応する報知タイミングで実行してもよい。
一例として、12月25日以前を示す日時情報に対応する報知タイミングは、12月31日の午後(例えば、19時)である。他の例として、12月26日〜31日を示す日時情報に対応する報知タイミングは、翌年1月1日の午後である。さらに他の例として、1月1日以降を示す日時情報に対応する報知タイミングは、日時情報で示される日の午後である。すなわち、ステータス報知処理は、S16の処理を実行した後に実行されるのが望ましい。また、ステータス報知処理は、スタンプを印刷したハガキが宛先に届く前に実行されるのが望ましく、当該ハガキが宛先に届く直前(典型的には、前日)に実行されるのがさらに望ましい。
また、報知タイミングの到来を検出するのは、サーバプログラム85に限定されない。他の例として、ハガキプログラム65は、S16でQRスタンプを含むテンプレート画像をハガキに印刷させたことに応じて、現在日時から前述の報知タイミングまでの時間を算出し、算出した時間の経過を監視するタイマをスタートしてもよい。そして、ハガキプログラム65は、タイマがタイムアウトしたことに応じて、S51の処理の実行を年賀状サーバ70に指示してもよい。
さらに、S51〜S54の処理を実行するのは、サーバプログラム85に限定されない。他の例として、ハガキプログラム65は、前述のタイマがタイムアウトしたことに応じて、S51〜S54の処理を実行してもよい。そして、ハガキプログラム65は、
印刷したQRスタンプが保持する暫定URLにアルバムURLが対応付けられていないと判断したことに応じて(S51:なし)、或いは印刷したQRスタンプが保持するアルバムURLで示されるアルバム領域にコンテンツデータが記憶されていないと判断したことに応じて(S54:No)、S56以降の処理を実行してもよい。
また、上記の実施形態の情報処理端末50及び年賀状サーバ70において、メモリ62、82に記憶された各種プログラムがCPU61、81によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、情報処理端末50及び年賀状サーバ70として実現できるだけでなく、情報処理端末50及び年賀状サーバ70に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワークを通じて情報処理端末50及び年賀状サーバ70に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット101等の通信ネットワークを通じて配信されてもよい。