図1に本願に係る実施例として例示される通信システム100のブロック図を示す。通信システム100は、MFP10、タブレット50、サーバ110を備える。通信システム100は、MFP10に代えて、プリンタ単能機を含んでもよい。MFP10、タブレット50及びサーバ110は、通信ネットワーク101を通じて相互に通信可能に構成されている。通信ネットワーク101の具体例は特に限定されないが、例えば、インターネット、有線LAN、無線LAN、或いはこれらの組合せであってもよい。または、MFP10及びタブレット50は、USBケーブル等によって接続されていてもよい。
MFP10は、プリンタ11、スキャナ12、ディスプレイ23、入力I/F24、通信I/F25、CPU31、メモリ32、を主に備えている。これらの構成要素は、通信バス33を介して互いに通信可能とされている。
プリンタ11は、印刷用紙に印刷を実行する部位である。スキャナ12は、紙の原稿をスキャンして、画像データを生成する部位である。ディスプレイ23は、各種の画像および情報等を表示する。入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応付けられた各種の操作信号をCPU31へ出力する。入力I/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体(例えば、ユーザの指、タッチペン等)を表示面に接触または近接させる操作をいう。
通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、MFP10は、通信I/F25を通じて外部装置に各種情報を送信し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(登録商標)を採用することができる。また、MFP10及びタブレット50がUSBケーブルにより接続される場合、通信I/F25は、USBケーブルを着脱可能なUSBインタフェースであってもよい。
CPU31は、入力I/F24から出力される各種情報、通信I/F25を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。
メモリ32は、各種のプログラムやデータを記憶する。メモリ32は、HDDやフラッシュメモリ、RAM、ROM、バッファなどで構成されていてよい。メモリ32には、OS34、装置プログラム35、が備えられている。OS34は、MFP10全体を管理するためのプログラムである。装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ32は、装置プログラム35の実行に必要なデータ或いは情報等を記憶する。
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するタブレット50のメモリ62についても同様である。
タブレット50は、ディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62、を主に備えている。これらの構成要素は、通信バス63を介して互いに通信可能とされている。タブレット50に備えられるディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62の構成は、MFP10に備えられるディスプレイ23、入力I/F24、通信I/F25、CPU31、メモリ32と同様の構成であるので、説明を省略する。
タブレット50は、他の情報処理端末であってもよく、例えば、携帯電話、スマートフォン、或いはPC等であってもよい。
メモリ62には、OS64、挨拶状アプリケーション65、が備えられている。OS64は、タブレット50全体を管理するためのプログラムである。挨拶状アプリケーション65は、テンプレート画像データとスタンプ画像データを用いて合成画像データを生成するためのプログラムである。テンプレート画像データは、各種の画像をはめ込むように合成することが可能なテンプレート画像を示す画像データである。テンプレート画像データには、後述するように、年賀状シーズンに対応するテンプレート画像を示す第1テンプレート画像データや暑中見舞いシーズンに対応するテンプレート画像を示す第2テンプレート画像データ等、様々なものがある。スタンプ画像データは、テンプレート画像に合成される合成用画像を示す画像データである。スタンプ画像データには、後述するように、年賀状シーズンに対応する合成用画像を示す第1スタンプ画像データや暑中見舞いシーズンに対応する合成用画像を示す第2スタンプ画像データ等、様々なものがある。図9に挨拶状アプリケーション65により生成された合成画像データにより示される合成画像G1の一例を示す。図9に示すように、挨拶状アプリケーション65は、年賀状に対応する第1テンプレート画像G2に第1スタンプ画像G3をはめ込むように合成することにより合成画像G1を示す合成画像データを生成する。また、挨拶状アプリケーション65は、テンプレート画像データを生成することをユーザに示唆するための表示画像をディスプレイ53に表示することができる。例えば、図10に示すように、挨拶状アプリケーション65は、年賀状に関する第1テンプレート画像データを用いた合成画像データの生成をユーザに示唆するための第1表示画像F1をディスプレイ53に表示することができる。また、挨拶状アプリケーション65は、現在の日時を示す日時情報を有している。挨拶状アプリケーション65は、OS64に問い合わせて、現在の日時情報を取得してもよい。以下、本明細書では、アプリケーションのことを「アプリ」と省略して記載する場合がある。
挨拶状アプリ65の動作を図2〜9のフローを用いて説明する。本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU61の処理を示す。すなわち、以下の説明における「判断」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読み取り可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の情報についても同様である。
S10において、ユーザが入力I/F54を介して挨拶状アプリ65を起動させる操作を入力すると、CPU61は、OS64に基づいて挨拶状アプリ65を起動する。
S20において挨拶状アプリ65は、タブレット50のロケール情報を取得する。ロケール情報は、タブレット50に内蔵されている情報であり、タブレット50が使用される位置(例えば、国や地域)を示す情報である。
S30において挨拶状アプリ65は、取得したロケール情報を通信ネットワーク101を介してサーバ110へ送信する。
S40において挨拶状アプリ65は、ロケール情報に応じたテンプレート画像データ群のセットをサーバ110から受信する。挨拶状アプリ65は、例えば、図11に示すような、第1テンプレート画像データ111〜114を含む第1テンプレート画像データ群C1を受信する。同様に、挨拶状アプリ65は、第2テンプレート画像データ〜第4テンプレート画像データをそれぞれ含む第2テンプレート画像データ群〜第4テンプレート画像データ群を受信する。本実施形態の説明例では、第1テンプレート画像データは、年賀状に関する画像データであり、第1シーズンに対応するテンプレート画像を示す画像データである。第2テンプレート画像データは、暑中見舞いに関する画像データであり、第2シーズンに対応するテンプレート画像を示す画像データである。第3テンプレート画像データは、いずれの挨拶状にも関しない画像データであり、いずれのシーズンにも対応しないテンプレート画像を示す画像データである。第4テンプレート画像データは、喪中状に関する画像データであり、第1シーズンに対応するテンプレート画像を示す画像データである。また、第4テンプレート画像データは、第1テンプレート画像データと対になる画像データである。すなわち、身内に不幸があった年には、年賀状に代えて喪中状を作成することが通例であるため、喪中状に関する第4テンプレート画像データは、年賀状に関する第1テンプレート画像データと対になる画像データである。また、第1シーズンが年賀状および喪中状を作成する期間(例えば、11月〜12月)であり、第2シーズンが暑中見舞いを作成する期間(例えば、6月〜7月)である。なお、各シーズンは、ユーザにより予め設定されてもよい。
また、各テンプレート画像データ群には、いずれの挨拶状に対応するかを示す挨拶状情報と、いずれのシーズンに対応するかを示すシーズン情報と、が対応付けられている。すなわち、本実施形態の説明例では、第1テンプレート画像データ群には、年賀状に対応することを示す挨拶状情報と、11月〜12月に対応することを示すシーズン情報が対応付けられている。第2テンプレート画像データ群〜第4テンプレート画像データ群についても同様である。また、テンプレート画像データ群のセットには、それぞれのシーズン情報が示すシーズンに対応する複数のテンプレート画像データ群が含まれている。そして、テンプレート画像データ群のセットには、当該複数のテンプレート画像データ群を代表する1つの群を示す代表情報が対応付けられている。具体的には、例えば、テンプレート画像データ群のセットには、第1シーズン(11月〜12月)に対応するテンプレート画像データ群として、年賀状、喪中状、寒中見舞い、クリスマスカードに対応するテンプレート画像データ群が含まれている。そして、第1シーズンを代表することを示す代表情報が、年賀状に対応するテンプレート画像データ群に対応付けられている。
また、テンプレート画像データ群のセットには、対となるテンプレート画像データ群を示す対情報が対応付けられている。上述したように、例えば、テンプレート画像データ群のセットには、年賀状に関する第1テンプレート画像データ群と喪中状に関する第4テンプレート画像データ群が対であることを示す対情報が対応付けられている。なお、例えば、年賀状および喪中状に加えて寒中見舞いに関するテンプレート画像データ群も対となるテンプレート画像データ群として挙げられる。また、例えば、暑中見舞いと残暑見舞いについても同様である。なお、年賀状に関するテンプレート画像データ群とクリスマスカードに関するテンプレート画像データ群は、同じシーズン情報に対応付けられているが、対情報は対応付けられていない。
S45において挨拶状アプリ65は、ロケール情報に応じたスタンプ画像データ群のセットをサーバ110から受信する。挨拶状アプリ65は、具体的には、複数の第1スタンプ画像データを含む第1スタンプ画像データ群を受信する。同様に挨拶状アプリ65は、複数の第2スタンプ画像データ〜複数の第4スタンプ画像データをそれぞれ含む第2スタンプ画像データ群〜第4スタンプ画像データ群をサーバ110から受信する。本実施形態の説明例では、第1スタンプ画像データは、年賀状に関する画像データであり、第1シーズンに対応する合成用画像を示す画像データである。第2スタンプ画像データは、暑中見舞いに関する画像データであり、第2シーズンに対応する合成用画像を示す画像データである。第3スタンプ画像データは、いずれの挨拶状にも関しない画像データであり、いずれのシーズンにも対応しない合成用画像を示す画像データである。第4スタンプ画像データは、喪中状に関する画像データであり、第1シーズンに対応する合成用画像を示す画像データである。また、第4スタンプ画像データは、第1スタンプ画像データと対になる画像データである。
各スタンプ画像データ群には、テンプレート画像データ群と同様に、いずれの挨拶状に対応するかを示す挨拶状情報と、いずれのシーズンに対応するかを示すシーズン情報と、が対応付けられている。本実施形態の説明例では、第1スタンプ画像データ群には、年賀状に対応することを示す挨拶状情報と、11月〜12月に対応することを示すシーズン情報が対応付けられている。第2スタンプ画像データ群〜第4スタンプ画像データ群についても同様である。
S47において挨拶状アプリ65は、「アプリ内表示処理」を実行する。S47は、図8に示すサブルーチンを実行することにより行われる。図8のサブルーチンについて、以下に説明する。
S500において挨拶状アプリ65は、表示リクエスト情報がメモリ32に記憶されているか否かを判断する。表示リクエスト情報は、後述するS490において記憶される情報であって、挨拶状アプリ65が起動されたときに、表示画像をディスプレイ53に表示させることを示す情報である。肯定判断される場合(S500:YES)にはS505へ進み、否定判断される場合(S500:NO)には「アプリ内表示処理」のサブルーチンを終了し、図2のS50へ進む。
S505において挨拶状アプリ65は、表示画像を決定した表示場所に表示する。すなわち、挨拶状アプリ65は、後述するS400またはS470において決定した第1表示画面または第3表示画面へ表示画像を表示する。例えば、年賀状シーズンである場合には、挨拶状アプリ65は、第1表示画像F1を第1表示画面または第3表示画面へ表示する。具体的には、挨拶状アプリ65は、第1表示画像F1を示す画像データを生成し、当該画像データを、OS64を介してディスプレイ53に表示させる。
S506において挨拶状アプリ65は、設定された表示回数を1カウントダウンしてメモリ62に記憶する。具体的には、S347、S370、S440、S447等において記憶された表示回数を読み出し、読み出した表示回数を1減算して更新し、メモリ62に記憶する。表示回数を設定する処理については後述する。
S507において挨拶状アプリ65は、表示リクエスト情報をメモリ62から削除する。挨拶状アプリ65は、S507の処理を実行すると、「アプリ内表示処理」のサブルーチンを終了し、図2のS50へ進む。
S50において挨拶状アプリ65は、図9に図示したような合成画像データを生成したか否かを判断する。肯定判断される場合(S50:YES)にはS60へ進み、否定判断される場合(S50:NO)には、S300へ進む。
S60において挨拶状アプリ65は、「ログ記録処理」を実行する。S60は、図6に示すサブルーチンを実行することにより行われる。図6のサブルーチンについて、第N年目において合成画像データが生成されたとして説明をする。
S100において挨拶状アプリ65は、使用されたテンプレート画像データに属性があるか否かを判断する。属性は、年賀状、暑中見舞い等の特定の挨拶状を示す挨拶状情報である。すなわち、挨拶状アプリ65は、使用されたテンプレート画像データがいずれかの挨拶状を示す挨拶状情報に対応付けられているか否かを判断する。肯定判断される場合(S100:YES)にはS110へ進み、否定判断される場合(S100:NO)にはS200へ進む。
S110において挨拶状アプリ65は、使用されたテンプレート画像データの属性に現在のシーズンが対応しているか否かを判断する。具体的には、挨拶状アプリ65は、日時情報に基づいて、現在のシーズンを取得する。そして、現在のシーズンが、使用されたテンプレート画像データに対応付けられているシーズン情報が示すシーズンであるか否かを判断する。例えば、年賀状に関する第1テンプレート画像データが使用された場合、取得したシーズンが第1シーズンであるか否かを判断する。肯定判断される場合(S110:YES)にはS120へ進み、否定判断される場合(S110:NO)には「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。
S120において挨拶状アプリ65は、使用されたテンプレート画像データの属性がいずれであるかを判断する。属性が年賀状であると判断される場合(S120:年賀状)にはS130へ進み、属性が暑中見舞いであると判断される場合(S120:暑中見舞い)にはS150へ進み、属性が喪中状であると判断される場合(S120:喪中状)にはS140へ進む。
S130において挨拶状アプリ65は、第1フラグ情報を第1テンプレート画像データ群に対応付けてメモリ62へ記憶する。すなわち、挨拶状アプリ65は、第1フラグ情報を「年賀状」に対応付けてメモリ62へ記憶する。第1フラグ情報は、第1シーズンにおいて第1テンプレート画像データを用いて合成画像データを生成したことを示す履歴情報である。S130では、挨拶状アプリ65は、第N+1年目を示す表示年情報を第1フラグ情報に対応付けて記憶する。表示年情報は、第1フラグ情報に基づく通知を、日時情報が何年目を示すときに行うか、を示す情報である。
S140において挨拶状アプリ65は、第1数をカウントアップする。具体的には、挨拶状アプリ65は、第1数を示す第1数情報をメモリ62へ記憶する。第1数情報は、第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データに関連する数である。本実施形態の説明例では、第1数は、第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データの生成数である。本実施形態の説明例では、挨拶状アプリ65は、図12に示すように、各年の各挨拶状を生成した数を示す情報をテーブルT1として記憶している。第1数は、図12に例示する領域R1に記憶される。 また、S120において属性が喪中状であると判断された場合、S140において挨拶状アプリ65は、第N年目の第1シーズンにおける第4テンプレート画像データを用いた合成画像データに関連する数である第5数を第1数に加算してメモリ62へ記憶する。本実施形態の説明例では、第5数は、第N年目の第1シーズンにおける第4テンプレート画像データを用いた合成画像データの生成数である。挨拶状アプリ65は、S140の処理を実行すると、「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。
S150において挨拶状アプリ65は、第2フラグ情報を第2テンプレート画像データ群に対応付けてメモリ62に記憶する。すなわち、挨拶状アプリ65は、第2フラグ情報を「暑中見舞い」に対応付けてメモリ62へ記憶する。第2フラグ情報は、第2シーズンにおいて第2テンプレート画像データを用いて合成画像データを生成したことを示す履歴情報である。S150では、挨拶状アプリ65は、第N+1年目を示す表示年情報を第2フラグ情報に対応付けて記憶する。第2表示画像は、暑中見舞いに関する第2テンプレート画像データを用いた合成画像データの生成をユーザに示唆するための画像である。
S160において挨拶状アプリ65は、第2数をカウントアップする。具体的には、挨拶状アプリ65は、第2数を示す第2数情報をメモリ62へ記憶する。第2数情報は、第N年目の第2シーズンにおける第2テンプレート画像データを用いた合成画像データに関連する数である。本実施形態の説明例では、第2数は、第N年目の第2シーズンにおける第2テンプレート画像データを用いた合成画像データの生成数である。第2数は、図12に例示する領域R2に記憶される。挨拶状アプリ65は、S160の処理を実行すると、「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。
S100において否定判断される場合、挨拶状アプリ65は、S200へ進む。S200において挨拶状アプリ65は、生成した合成画像データにスタンプ画像データが使用されているか否かを判断する。肯定判断される場合(S200:YES)にはS210へ進み、否定判断される場合(S200:NO)にはS280へ進む。
S210において挨拶状アプリ65は、使用されたスタンプ画像データに属性があるか否かを判断する。S210における判断態様は、S100と同様である。肯定判断される場合(S210:YES)にはS220へ進み、否定判断される場合(S210:NO)にはS280へ進む。
S220において挨拶状アプリ65は、使用されたスタンプ画像データの属性に現在のシーズンが対応しているか否かを判断する。S220における判断態様は、S110と同様である。肯定判断される場合(S220:YES)にはS230へ進み、否定判断される場合(S220:NO)にはS280へ進む。
S230において挨拶状アプリ65は、使用されたスタンプ画像データの属性がいずれであるかを判断する。属性が年賀状であると判断される場合(S230:年賀状)にはS240へ進み、属性が暑中見舞いであると判断される場合(S230:暑中見舞い)にはS260へ進み、属性が喪中状であると判断される場合(S230:喪中状)にはS250へ進む。
S240において挨拶状アプリ65は、第3フラグ情報を第1スタンプ画像データ群に対応付けて記憶する。すなわち、挨拶状アプリ65は、第3フラグ情報を「年賀状」に対応付けてメモリ62へ記憶する。第3フラグ情報は、第1シーズンにおいて第1スタンプ画像データを用いて合成画像データを生成したことを示す履歴情報である。S240では、挨拶状アプリ65は、第N+1年目を示す表示年情報を第3フラグ情報に対応付けて記憶する。
S250において挨拶状アプリ65は、第1数をカウントアップする。すなわち、挨拶状アプリ65は、第1スタンプ画像データを用いて合成画像データを生成した数を、第1テンプレート画像データを用いて合成画像データを生成した数として、図12の領域R1に示す生成数をカウントアップする。挨拶状アプリ65は、S250の処理を実行すると、「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。
S260において挨拶状アプリ65は、第4フラグ情報を第2スタンプ画像データ群に対応付けて記憶する。すなわち、挨拶状アプリ65は、第4フラグ情報を「暑中見舞い」に対応付けてメモリ62へ記憶する。第4フラグ情報は、第2シーズンにおいて第2スタンプ画像データを用いてスタンプ画像データを生成したことを示す履歴情報である。S260では、挨拶状アプリ65は、第N+1年目を示す表示年情報を第4フラグ情報に対応付けて記憶する。
S270において挨拶状アプリ65は、第2数をカウントアップする。すなわち、挨拶状アプリ65は、第2スタンプ画像データを用いて合成画像データを生成した数を、第2テンプレート画像データを用いて合成画像データを生成した数として、図12の領域R2に示す生成数をカウントアップする。挨拶状アプリ65は、S270の処理を実行すると、「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。
S280において挨拶状アプリ65は、現在のシーズンに対応する属性の生成数をカウントアップする。具体的には、挨拶状アプリ65は、テンプレート画像データ群のセットに対応付けられている代表情報に基づいて、代表情報が示す挨拶状の生成数をカウントアップする。S280では、現在のシーズンに対応するテンプレート画像データまたはスタンプ画像データが、生成された合成画像データに使用されていない場合に実行される処理である。この場合、挨拶状アプリ65は、第4数を第1数に加算する。第4数は、いずれのシーズンにも対応しない第3テンプレート画像データを用いた合成画像データに関する数である。本実施形態の説明例では、第4数は、第N年目の第1シーズンにおける第3テンプレート画像データを用いた合成画像データの生成数である。具体的には、例えば、第1シーズン中において、第3テンプレート画像データを用いて合成画像データを生成した場合、挨拶状アプリ65は、第1シーズンに対応する代表情報が示す属性のテンプレート画像データを用いた合成画像データの生成数(すなわち、図12の領域R1に示す生成数)に加算する。挨拶状アプリ65は、S280の処理を実行すると、「ログ記録処理」のサブルーチンを終了し、図3のS300へ進む。上述した「ログ記録処理」のサブルーチンは、第N年目の処理について説明したが、その他の年についても同様である。
図3について説明する。以下では、第N+1年目の処理について説明する。S300において挨拶状アプリ65は、現在のシーズンを取得する。なお、S300以降の処理は、挨拶状アプリ65の最初の起動後、そのまま常駐する処理である。
S310において挨拶状アプリ65は、取得したシーズンに対応する属性があるか否かを判断する。具体的には、S40において受信したテンプレート画像データ群、および、S45において受信したスタンプ画像データ群の中に、現在のシーズンに対応する属性があるか否かを判断する。肯定判断される場合(S310:YES)にはS320へ進み、否定判断される場合(S310:NO)にはS300へ戻る。
S320において挨拶状アプリ65は、現在のシーズンに対応する属性がいずれであるかを判断する。属性が年賀状または喪中状であると判断される場合(S320:年賀状or喪中状)にはS325へ進む。
S325において挨拶状アプリ65は、実施済み情報がメモリ62に記憶されているか否かを判断する。実施済み情報は、その年(すなわち第N+1年目)のS310において取得した現在のシーズンに対応する特定の挨拶状について、表示画像の表示回数を決定する処理が実施済みであることを示す情報である。肯定判断される場合(S325:YES)にはS520へ進み、否定判断される場合(S325:NO)にはS330へ進む。
S330において挨拶状アプリ65は、第1フラグ情報が記憶されているか否かを判断する。換言すると、挨拶状アプリ65は、第N年目の第1シーズン(すなわち昨年の第1シーズン)中に第1テンプレート画像データを用いて合成画像データが生成されたか否かを判断する。肯定判断される場合(S330:YES)にはS340へ進み、否定判断される場合(S330:NO)にはS343へ進む。
S340において挨拶状アプリ65は、第1フラグ情報に対応付けられている表示年情報が、現在の日時情報が示す年に一致するか否かを判断する。肯定判断される場合(S340:YES)にはS350へ進み、否定判断される場合(S340:NO)にはS300へ戻る。
S343において挨拶状アプリ65は、第3フラグ情報が記憶されているか否かを判断する。換言すると、挨拶状アプリ65は、第N年目の第1シーズン(すなわち昨年の第1シーズン)中に第1スタンプ画像データを用いて合成画像データが生成されたか否かを判断する。肯定判断される場合(S343:YES)にはS345へ進み、否定判断される場合(S343:NO)にはS347へ進む。
S345において挨拶状アプリ65は、第3フラグ情報に対応付けられている表示年情報が、現在の日時情報が示す年に一致するか否かを判断する。肯定判断される場合(S345:YES)にはS350へ進み、否定判断される場合(S345:NO)にはS300へ戻る。
S347において挨拶状アプリ65は、ディスプレイ53への第1表示画像F1の表示回数を所定回数に設定する。所定回数は、挨拶状アプリ65のベンダーによって設定されており、例えば、3回とされる。挨拶状アプリ65は、S347の処理を実行すると、図5のS449へ進む。
S350において挨拶状アプリ65は、第N年目の第1数(すなわち昨年の第1数)を取得する。本実施形態の説明例では、挨拶状アプリ65は、図12の領域R1に示す第N年目の年賀状の生成数を取得する。
S360において挨拶状アプリ65は、取得した第1数が予め設定された第1閾値以上であるか否かを判断する。第1閾値は、挨拶状アプリ65のベンダーによって設定されており、例えば、3回とされる。
肯定判断される場合(S360:YES)にはS370へ進み、否定判断される場合(S360:NO)にはS300へ戻る。
S370において挨拶状アプリ65は、ディスプレイ53への第1表示画像F1の表示回数を第1表示回数に設定し、メモリ32へ記憶する。第1表示回数は、挨拶状アプリ65のベンダーによって設定されており、例えば、5回とされる。そして、設定した表示回数である「5回」をメモリ32へ記憶する。なお、第1表示回数は、取得した第1数が大きくなるほど増加してもよい。
S380において挨拶状アプリ65は、第1数が第1閾値よりも大きい第2閾値以上であるか否かを判断する。第2閾値は、挨拶状アプリ65のベンダーによって設定されており、例えば、50回とされる。肯定判断される場合(S380:YES)にはS390へ進み、否定判断される場合(S380:NO)にはS400へ進む。
S390において挨拶状アプリ65は、第1表示画像F1の表示場所を第2表示画面内にすることを決定する。第2表示画面は、挨拶状アプリ65がフォアグラウンドになっていない場合においても表示される画面である。第2表示画面は、例えば、図10に示すような、ディスプレイ53に表示される、OS64のホーム画面G11である。なお、本明細書でいう「フォアグラウンド」とは、起動しているプログラム自身が生成した画面データにより示される画面(すなわち、アプリ画面)をディスプレイに表示し、ユーザ操作を受け付けることが可能である状態をいう。すなわち、プログラムが起動しているものの、ディスプレイにアプリ画面が表示されていない状態は、フォアグラウンドに含まれず、本明細書では「バックグラウンド」という。また、挨拶状アプリ65は、OS64に対するユーザ操作により起動されると、フォアグラウンド状態となる。
S400において挨拶状アプリ65は、第1表示画像F1の表示場所を第1表示画面内にすることを決定する。第1表示画面は、挨拶状アプリ65により表示される画面であり、挨拶状アプリ65がフォアグラウンドになっている場合に表示される画面である。第1表示画面は、例えば、図13に示す挨拶状アプリ65のホーム画面G12である。
S420において挨拶状アプリ65は、第N年目の第2数(すなわち昨年の第2数)を取得する。本実施形態の説明例では、挨拶状アプリ65は、図12の領域R2に示す第N年目の暑中見舞いの生成数を取得する。
S430において挨拶状アプリ65は、第1数が取得した第2数よりも所定数以上多いか否かを判断する。肯定判断される場合(S430:YES)にはS440へ進み、否定判断される場合(S430:NO)にはS443へ進む。
S440において挨拶状アプリ65は、ディスプレイ53への第1表示画像F1の表示回数を第1表示回数よりも多い第2表示回数に設定し、メモリ32へ記憶する。第2表示回数は、挨拶状アプリ65のベンダーによって設定されており、例えば、7回とされる。そして、設定した表示回数である「7回」をメモリ32へ記憶する。
S443において挨拶状アプリ65は、第3数情報により示される第3数を取得する。第3数情報は、第N−1年目の第1シーズン(すなわち一昨年の第1シーズン)における第1テンプレート画像データを用いた合成画像データに関連する数である。本実施形態の説明例では、第3数は、第N−1年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データの生成数である。挨拶状アプリ65は、図12の領域R3に示す第N−1年目の年賀状の生成数を取得する。
S445において挨拶状アプリ65は、第1数が、取得した第3数よりも所定数以上多いか否かを判断する。肯定判断される場合(S445:YES)にはS447へ進み、否定判断される場合(S445:NO)にはS449へ進む。
S447において挨拶状アプリ65は、ディスプレイ53への第1表示画像F1の表示回数を第2表示回数に設定し、メモリ32へ記憶する。
S449において挨拶状アプリ65は、実施済み情報をメモリ62に記憶する。挨拶状アプリ65は、第N+1年目の現在のシーズンに対応する挨拶状について、S347、S370、S440、S447等において表示回数を決定している。したがって、挨拶状アプリ65は、表示回数を決定する処理を実施済みであることを示す実施済み情報をメモリ62に記憶する。
S450において挨拶状アプリ65は、最後に起動された時点から所定時間が経過したか否かを判断する。肯定判断される場合(S450:YES)にはS460へ進み、否定判断される場合(S450:NO)にはS470へ進む。
S460において挨拶状アプリ65は、表示画像(例えば、第1表示画像F1)の表示場所を第4表示画面内にすることを決定する。第4表示画面は、挨拶状アプリ65がフォアグラウンドになっていない場合においても表示される画面である。第4表示画面は、例えば、図10に示すような、OS64のホーム画面G11である。なお、第2表示画面と第4表示画面は、いずれも挨拶状アプリ65がフォアグラウンドになっていない場合において表示される画面であるが、両者は同一の画面であってもよいし、異なる画面であってもよい。
S470において挨拶状アプリ65は、表示画像の表示場所を第3表示画面内にすることを決定する。第3表示画面は、挨拶状アプリ65により表示される画面であり挨拶状アプリ65がフォアグラウンドになっている場合に表示される画面である。第3表示画面は、例えば、図13に示す挨拶状アプリ65のホーム画面G12である。なお、第1表示画面と第3表示画面は、いずれも挨拶状アプリ65により表示される画面であるが、両者は同一の画面であってもよいし、異なる画面であってもよい。
S480において挨拶状アプリ65は、設定された表示画像の表示場所を判断する。表示場所が挨拶状アプリ65による表示画面内(すなわち、ホーム画面G12内)である場合(S480:アプリ内)にはS490へ進み、表示場所がOS64による表示画面内(すなわち、ホーム画面G11内)である場合(S480:アプリ外)にはS510へ進む。
S490において挨拶状アプリ65は、表示リクエスト情報をメモリ32に記憶する。
決定した表示画像の表示場所がOS64による表示画面内である場合(S480:アプリ外)、挨拶状アプリ65はS510へ進む。S510において挨拶状アプリ65は、表示画像を決定した表示画面内に表示する。すなわち、挨拶状アプリ65は、第2表示画面または第4表示画面へ表示画像を表示する。例えば、年賀状シーズンである場合には、挨拶状アプリ65は、第1表示画像F1を第2表示画面または第4表示画面へ表示する。具体的には、挨拶状アプリ65は、インターネット上のプッシュ通知ベンダーの不図示のプッシュ通知サーバに、第1表示画像F1を表示するプッシュ通知リクエスト情報を送信する。そして、プッシュ通知リクエスト情報に従って、プッシュ通知サーバからタブレット50に第1表示画像F1の表示指示が送信される。OS64は、表示指示に従って、ホーム画面G11に第1表示画像F1を表示させる。第1表示画像F1の表示態様は、例えば、図10に示すように、ディスプレイ53の中央付近にポップアップされる態様である。また、ディスプレイ53の上端にあるステータス領域にアイコンを表示させ、アイコンへの操作入力を受け付けると第1表示画像F1が表示される態様であってもよい。また、OS64は、ユーザによって第1表示画像F1への操作入力を受け付けると、挨拶アプリ65をフォアグラウンド状態としてもよい。なお、プッシュ通知リクエスト情報は、ホーム画面G11に表示したいテキストまたはアイコンを示すテキスト情報、タブレット50を識別する識別情報、および、プッシュ通知のタイミングを示すタイミング情報を含む情報である。なお、タイミング情報は、プッシュ通知を行うシーズン、回数、間隔を示す情報である。プッシュ通知を行うシーズンはS310において取得したシーズンであり、回数はS370等によって設定された回数であり、間隔は例えば1日間隔または1週間間隔とされる。挨拶状アプリ65は、S510の処理を実行すると、S530へ進む。
S520において挨拶状アプリ65は、表示画像の残りの表示回数が0であるか否かを判断する。具体的には、S506においてメモリ62に記憶した表示回数が0であるか否かを判断する。肯定判断される場合(S520:YES)にはS550へ進み、否定判断される場合(S520:NO)にはS530へ進む。
S530において挨拶状アプリ65は、S300において取得したシーズン内に、当該シーズンに対応する属性の合成画像データが生成されたか否かを判断する。例えば、S300において取得したシーズンが第1シーズンである場合、第1シーズンに対応する年賀状に関する合成画像データが生成されたか否かを判断する。肯定判断される場合(S530:YES)にはS550へ進み、否定判断される場合(S530:NO)にはS540へ進む。なお、S510においてプッシュ通知リクエスト情報をプッシュ通知サーバへ送信した場合であって、S530において肯定判断される場合には、挨拶状アプリ65は、プッシュ通知リクエスト情報の削除要求をプッシュ通知サーバへ送信してS550へ進む。
S540において挨拶状アプリ65は、S300において取得したシーズンが終了したか否かを判断する。肯定判断される場合(S540:YES)にはS550へ進み、否定判断される場合(S540:NO)にはS480へ戻る。なお、S480へ戻る前に、所定期間の待機処理を実行してもよい。
S550において挨拶状アプリ65は、記憶されているフラグ情報を第N+2年目(すなわち来年)に更新して記憶する。例えば、S130において第1フラグ情報をメモリ62に記憶した場合、第1フラグ情報には、第N+1年目を示す表示年情報が対応付けて記憶されている。この場合、挨拶状アプリ65は、表示年情報を、第N+2年目を示す表示年情報に更新し、当該表示年情報を第1フラグ情報に対応付けて記憶する。挨拶状アプリ65は、S550の処理を実行すると、S300へ戻る。
図3の説明に戻る。S320において属性が暑中見舞いであると判断される場合(S320:暑中見舞い)、挨拶状アプリ65は、S325へ進む。なお、以降の処理は、上述したS325〜S447の処理を読み替えた処理であるため、S325〜S447と異なる部分についてのみ説明する。
すなわち、以降の処理は、S325〜S447において、「第1フラグ情報」を「第2フラグ情報」と読み替え、「第3フラグ情報」を「第4フラグ情報」と読み替え、「第1数」を「第2数」と読み替え、「第2数」を「第1数」と読み替え、「第3数」を「第6数」と読み替えた処理と同様である。なお、第6数は、第N−1年目の第2シーズン(すなわち一昨年の第2シーズン)における第2テンプレート画像データを用いた合成画像データに関連する数であり、本実施形態の説明例では、第6数は、第N−1年目の第2シーズンにおける第2テンプレート画像データを用いた合成画像データの生成数である。具体的には、第6数は、図12の領域R4に示す第N−1年目の暑中見舞いの生成数である。
<実施例の効果>
挨拶状アプリ65は、第N年目の第1シーズンにおいて、第1シーズンに対応する第1テンプレート画像データを用いて合成画像データを生成した場合に第1フラグ情報を記憶し(S130)、第N+1年目の第1シーズンにおいて、第1フラグ情報が記憶されていることに応じて(S330:YES)、第1テンプレート画像データを用いた合成画像データの生成をユーザに示唆するための第1表示画像F1をディスプレイ53に表示する(S505またはS510)。具体的には、ユーザが過去の第1シーズン中に年賀状に関する合成画像データを生成したことを第1フラグ情報として記憶しておくことで、次の第1シーズンにおいて、ユーザに対して年賀状に関する合成画像データの生成を促すことができる。すなわち、ユーザの過去の挨拶状の使用傾向に応じた適切な挨拶状の生成を促すことができる。
挨拶状アプリ65は、第N年目の第1シーズンにおいて、第1テンプレート画像データを用いた合成画像データの生成数を第1数情報として記憶し(S140)、取得した生成数が第1閾値以上である場合(S360:YES)に、第N+1年目の第1シーズンにおいて、第1表示画像F1を表示する(S505またはS510)。第N年目(すなわち昨年)の生成数が予め定められた第1閾値以上である場合、第N+1年目(すなわち今年)に第1テンプレート画像データを用いて合成画像データを生成する可能性が高い。このように、ユーザの過去の挨拶状の生成数の傾向に応じた適切な挨拶状の生成を促すことができる。
挨拶状アプリ65は、第1数情報により示される第N年目の生成数が第1閾値以上である場合(S360:YES)に、その生成数が多いほど第1表示画像F1の表示回数を増加させる。このように、第N年目の生成数の多少に応じて、第N+1年目における第1表示画像F1の表示回数を変更することにより、ユーザに対する合成画像データの生成の示唆を強調することができる。
挨拶状アプリ65は、第1数情報により示される第N年目の生成数が、第1閾値以上であって第2閾値未満である場合(S380:NO)、第1表示画像F1の表示場所を挨拶状アプリ65により表示される第1表示画面に設定し(S400)、第2閾値以上である場合(S380:YES)、第1表示画像F1の表示場所をタブレット50により表示される第2表示画面に設定する(S390)。このように、第N年目の生成数が少ない場合(第N年目の生成数が第1閾値以上であって第2閾値未満である場合)には、挨拶状アプリ65を起動していないときであっても、第N+1年目における合成画像データの生成をユーザに示唆することができる。
挨拶状アプリ65は、第1数情報により示される生成数(すなわち、年賀状の生成数である第1数)と、第2数情報により示される生成数(すなわち、暑中見舞いの生成数である第2数)を比較する(S430)。そして、第1数が第2数より所定数以上多い場合(S430:YES)には、第N+1年目の第1シーズンにおける第1表示画像の表示回数を増加させ、第1数が第2数より所定数以上多い場合(S430:YES)には、第N+1年目の第2シーズンにおける第2表示画像の表示回数を増加させる。このように、第N年目の挨拶状同士の生成数を比較して、いずれかの挨拶状の生成数が相対的に多い場合、第N+1年目において、その挨拶状の生成の示唆を強調することができる。
挨拶状アプリ65は、第1数情報により示される生成数(すなわち、第N年目(昨年)の年賀状の生成数である第1数)と、第3数情報により示される生成数(すなわち、第N−1年目(一昨年)の年賀状の生成数である第3数)を比較する。そして、第1数が第3数より所定数以上多い場合(S445:YES)には、第N+1年目の第1シーズンにおける第1表示画像の表示回数を増加させる。このように、一昨年と昨年の生成数を比較して、所定数以上生成数が増加している場合、第N+1年目において、年賀状の生成の示唆を強調することができる。
挨拶状アプリ65は、いずれのシーズンにも対応しない第3テンプレート画像データを用いて合成画像データを生成した場合(S100:NO)、その生成数である第4数を、使用したシーズンに対応するテンプレート画像データ用いた合成画像データの生成数に加算する(S280)。このように、使用したテンプレート画像データに属性がない場合であっても、合成画像データが生成されたシーズンに対応する挨拶状の生成数としてカウントすることができる。
挨拶状アプリ65は、第N年目の第1シーズンにおいて、第1シーズンに対応する第1スタンプ画像データを用いて合成画像データを生成した場合に第3フラグ情報を記憶し(S240)、第N+1年目の第1シーズンにおいて、第3フラグ情報が記憶されていることに応じて(S343:YES)、第1テンプレート画像データを用いた合成画像データの生成をユーザに示唆するための第1表示画像F1をディスプレイ53に表示する(S505またはS510)。具体的には、ユーザが過去の第1シーズン中に年賀状に関するテンプレート画像データを用いて合成画像データを生成していない場合であっても、年賀状に関するスタンプ画像データを用いて合成画像データを生成した場合には、次の第1シーズンにおいて、ユーザに対して年賀状を生成することを促すことができる。
挨拶状アプリ65は、第N年目の第1シーズン中に第1テンプレート画像データと対になる第4テンプレート画像データを用いて合成画像データを生成した場合(S120:喪中状)に、その生成数である第5数を第1テンプレート画像データを用いた合成画像データの生成数である第1数に加算する(S140)。このように、例えば、喪中状の生成数を、対となる挨拶状である年賀状の生成数としてカウントすることで、第N+1年目において適切な挨拶状の生成を促すことができる。
挨拶状アプリ65は、第1フラグ情報が記憶されていない場合(S330:NO)、第N+1年目の第1シーズンにおいて、第1表示画像の表示回数を所定回数に設定する(S347)。このように、第1テンプレート画像データを用いて合成画像データを生成したことを示す履歴情報が記憶されていない場合であっても、第N+1年目において、第1テンプレート画像データを用いた合成画像データの生成を促すことができる。
挨拶状アプリ65は、タブレット50から取得したロケール情報に基づいて、テンプレート画像データ群のセットを取得する(S40)。このように、タブレット50が使用される国や地域に適合したテンプレート画像データを取得することができる。
挨拶状アプリ65は、最後に起動された時点から、所定時間が経過した場合(S450:YES)、表示画像(例えば第1表示画像F1)の表示場所をタブレット50により表示される第4表示画面に設定し(S460)、所定時間が経過していない場合(S450:NO)、表示画像(例えば第1表示画像F1)の表示場所を挨拶状アプリ65により表示される第3表示画面に設定する(S460)。このように、挨拶状アプリ65の起動頻度に応じて、合成画像データの生成をユーザに示唆するための表示画像の表示場所を変更することができる。
挨拶状アプリ65は、第N+1年目の第1シーズン中において、第1テンプレート画像データを用いて合成画像データを生成した場合(S530:YES)、第1フラグ情報を第N+2年目(すなわち来年)に更新してメモリ62に記憶する(S550)。このような構成では、第N+1年目の第1シーズン中に合成画像データが生成された場合、以降の第N+1年目の第1シーズン中においての合成画像データの生成の示唆を終了する。すなわち、合成画像データが生成された時点で、第N+1年目における通知を終了することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。上記の実施例の変形例を以下に列挙する。
上述した実施例では、第1数は、第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データの生成数であったが、これに限られない。第1数は、例えば、第1テンプレート画像データを用いて生成した合成画像データを用いて印刷を実行した数であってもよいし、第1テンプレート画像データを用いて生成した合成画像データを送信した宛先数であってもよいし、第1テンプレート画像データが選択された数であってもよい。第2数、第3数、第4数および第5数についても同様である。
S40において挨拶状アプリ65は、非定期で発生するイベントに対応する複数のテンプレート画像を示す複数の非定期テンプレート画像データである非定期テンプレート画像データ群を併せて取得してもよい。非定期で発生するイベントは、例えば、引っ越し、結婚等である。第N年目の所定シーズンにおいて非定期テンプレート画像データを用いて合成画像データを生成した場合、第N+1年目の所定シーズンにおいて非定期テンプレート画像データを用いて合成画像データを生成したことを示す所定記憶情報を記憶させなくてもよい。このような構成では、定期的に発生しないイベントについて、翌シーズンに挨拶状の生成を促すことを防止することができる。
S450において挨拶状アプリ65は、最後に起動された時点からの経過時間に応じて、表示画像(例えば、第1表示画像F1)の表示場所を変更したが、これに限られない。例えば、挨拶状アプリ65は、現在以前の所定期間内における前記情報処理プログラムの起動回数が予め定められた第3閾値を超えているか否かによって、表示画像の表示場所を変更してもよい。起動回数が第3閾値を超えている場合には、表示画像の表示場所をタブレット50により表示される第4表示画面に設定してもよいし、起動回数が第3閾値を超えていない場合には、表示画像の表示場所を挨拶状アプリ65により表示される第3表示画面に設定してもよい。このように、挨拶状アプリ65の最近の起動回数に応じて、合成画像データの生成をユーザに示唆するための表示画像の表示場所を変更することができる。
S40において挨拶状アプリ65は、テンプレート画像データ群のセットをサーバ110から受信することにより取得したが、予めメモリ62に記憶されているテンプレート画像データ群を読み出すことにより取得してもよい。スタンプ画像データ群のセットについても同様である。
第1表示画像F1等の表示態様は様々であってよい。例えば、ポップアップやダイアログ等であってよい。
テンプレート画像データが対応付けられる挨拶状の種類は様々であってよい。第1テンプレート画像データが暑中見舞いに関し、第2テンプレート画像データが年賀状に関する画像データであってもよい。この場合、第1テンプレート画像データと対になる第4テンプレート画像データは、例えば、残暑見舞いである。
各シーズンの到来は、1年毎でなくてもよい。すなわち、上述した実施例では、「第N年目の第1シーズン」のように、1年毎に各シーズンが存在するものとして説明したがこれに限られない。例えば、4年に1度開催されるオリンピックの期間を第1シーズンとしてもよい。この場合、「第N年目」を「第N回目」とすればよい。
S347において設定される所定回数は、ベンダーによって設定される態様に限られず、ユーザによって予め定められてもよい。S370において設定される第1表示回数、S440において設定される第2表示回数等についても同様である。
図2に示す「アプリ内表示処理」のサブルーチンは、挨拶状アプリ65がバックグラウンド状態からフォアグラウンド状態に変化したときにも起動されるように構成してもよい。すなわち、S490において表示リクエスト情報をメモリ62に記憶した後に、挨拶状アプリ65がバックグラウンド状態になり、その後フォアグラウンド状態になる度に、ディスプレイ53に表示画像が表示されてもよい。
S510において、挨拶状アプリ65は、プッシュ通知サーバにプッシュ通知リクエストを送信し、プッシュ通知サーバからの表示指示に従って表示画像を表示したが、これに限られない。例えば、OS64がプッシュ通知と同様の態様で表示指示を行ってもよい。この場合、挨拶状アプリ65は、プッシュ通知リクエストをOS64に送信することにより、OS64からの表示指示を受信してもよい。
挨拶状アプリ65は、S510においてプッシュ通知リクエスト情報をプッシュ通知サーバへ送信した場合であって、S540において肯定判断される場合、挨拶状アプリ65は、プッシュ通知リクエスト情報の削除要求をプッシュ通知サーバへ送信してもよい。この場合、プッシュ通知を行うシーズンをプッシュ通知サーバで管理しなくてもよい。このため、挨拶状アプリ65は、S510においてプッシュ通知サーバへ送信する情報のうち、プッシュ通知を行うシーズンを示す情報を送信しなくてもよい。
第1表示画像F1は、当該シーズンの表示画像の表示を停止するための画像を併せて表示する態様であってもよい。具体的には、例えば、挨拶状アプリ65は、「今シーズンは表示しない」等の文字列画像とともにチェックボックスをディスプレイ53に表示する。そして、挨拶状アプリ65は、ユーザによるチェックボックスへの操作入力を受け付けた場合には、それ以降の当該シーズンにおいて第1表示画像F1の表示を停止するようにしてもよい。第1表示画像F1の表示を停止する態様としては、例えば、S490においてメモリ62に記憶した表示リクエスト情報を削除してもよいし、S510においてプッシュ通知サーバへ送信したプッシュ通知リクエスト情報の削除要求を送信してもよい。また、フラグ情報に対応付けた表示年情報を翌年に更新して記憶もよい。
ロケール情報を送信する処理(S20、S30)は、省略することが可能である。スタンプ画像データに関する処理(S200〜S280)は、省略することが可能である。最後の起動時点からの経過時間を判断する処理(S450〜S470)は、省略することが可能である。フラグ情報を更新する処理(S520〜S550)は、省略することが可能である。第2テンプレート画像データを用いた合成画像データに関する処理は、省略することが可能である。以上より、一般的に言うと、挨拶状アプリ65は、「合成手段」と、「第1取得手段」と、「第1記憶制御手段」と、「判断手段」と、「第1表示手段」と、してタブレット50を少なくとも機能させればよい。具体例としては、挨拶状アプリ65は、S50と、S40と、S130またはS140と、S330またはS360またはS430またはS445と、S505またはS510と、を少なくとも実行すればよい。
挨拶状アプリ65は、情報処理プログラムの一例である。「年賀状を作成する期間」は、第1シーズンの一例である。年賀状に関するテンプレート画像データは、第1テンプレート画像データの一例である。「第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データに関連する数」は、第1数情報の一例である。「第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データの生成数」は、第1数の一例である。「第N年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データに関連する数」、第1フラグ情報は、第1記憶情報の一例である。第3フラグ情報は、第2記憶情報の一例である。「第1フラグ情報が記憶されている場合」、「第1数が第1閾値以上である場合」、「第1数が第2数よりも所定数以上多い場合」、「第1数が第3数よりも所定数以上多い場合」は、第1条件が成立すると判断された場合の一例である。ホーム画面G11は、第2表示画面の一例である。ホーム画面G12は、第1表示画面の一例である。「暑中見舞いを作成する期間」は、第2シーズンの一例である。暑中見舞いに関するテンプレート画像データは、第2テンプレート画像データの一例である。「第N年目の第2シーズンにおける第2テンプレート画像データを用いた合成画像データの生成数」は、第2数の一例である。「第N−1年目の第1シーズンにおける第1テンプレート画像データを用いた合成画像データの生成数」は、第3数の一例である。喪中状に関するテンプレート画像データは、第4テンプレート画像データの一例である。「第N年目の第1シーズンにおける第3テンプレート画像データを用いた合成画像データの生成数」は、第4数の一例である。「第N年目の第1シーズンにおける第4テンプレート画像データを用いた合成画像データの生成数」は、第5数の一例である。ロケール情報は、位置を示す情報の一例である。ホーム画面G11は、第4表示画面の一例である。ホーム画面G12は、第3表示画面の一例である。S50を実行するCPU61は、合成手段の一例である。S40を実行するCPU61は、第1取得手段の一例である。S130、S140、S150、S160、S280を実行するCPU61は、第1記憶制御手段の一例である。S330、S360、S430、S445を実行するCPU61は、判断手段の一例である。S505、510を実行するCPU61は、第1表示手段の一例である。S360、S380を実行するCPU61は、第1判断手段の一例である。S430を実行するCPU61は、第1比較手段の一例である。S445を実行するCPU61は、第2比較手段の一例である。S45を実行するCPU61は、第2取得手段の一例である。S240を実行するCPU61は、第2記憶制御手段の一例である。S343を実行するCPU61は、第2判断手段の一例である。S505、S507を実行するCPU61は、第2表示手段の一例である。S20を実行するCPU61は、決定手段の一例である。S450を実行するCPU61は、第3判断手段の一例である。S550を実行するCPU61は、第3記憶制御手段の一例である。