(57)【要約】【課題】利便性の高いアプリケーションを提供する。【解決手段】端末装置は、サーバ装置から送信された第１の情報を受信する受信部と、受信部が受信した第１の情報を表示部に表示させる表示制御部と、表示制御部が表示部に表示させた第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する照合部と、照合部が照合した照合結果に基づく情報をサーバ装置に送信する送信部と、を備える。【選択図】図３
2014127835.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置から送信された第１の情報を受信する受信部と、
前記受信部が受信した前記第１の情報を表示部に表示させる表示制御部と、
前記表示制御部が前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する照合部と、
前記照合部が照合した照合結果に基づく情報を前記サーバ装置に送信する送信部と、
を備えることを特徴とする端末装置。
【請求項２】
前記第１の情報が前記表示部に表示されてから前記第２の情報の入力の終了までの経過時間を計時する計時部、
を備え、
前記照合部は、
前記第１の情報と前記第２の情報とが一致したか否かを判定し、
前記送信部は、
前記照合部が、前記第１の情報と前記第２の情報とが一致したと判定した場合、前記計時部が計時した前記経過時間を、前記照合結果に基づく情報として前記サーバ装置に送信する
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記送信部は、
前記照合部が前記第１の情報と前記第２の情報とが一致したと判定した場合、当該一致したことを示す情報を、前記照合結果に基づく情報として前記サーバ装置に送信する
ことを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記照合部は、
前記第１の情報に含まれる複数の情報のそれぞれと、前記第２の情報に含まれる複数の情報のそれぞれとが一致したか否かを判定し、
前記送信部は、
前記照合部が判定した前記一致したか否かに基づく情報を、前記照合結果に基づく情報として前記サーバ装置に送信する
ことを特徴とする請求項１から３の何れか一項に記載の端末装置。
【請求項５】
前記送信部は、
前記照合部が前記第１の情報と前記第２の情報とが一致しないと判定した場合であっても、前記第１の情報が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、当該一致しないことを示す情報を、前記照合結果に基づく情報として前記サーバ装置に送信する
ことを特徴とする請求項１から４の何れか一項に記載の端末装置。
【請求項６】
前記表示制御部が前記第１の情報を前記表示部に表示させたことに応じて、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを開始させる指示をする操作受付指示部、
を備えることを特徴とする請求項１から５の何れか一項に記載の端末装置。
【請求項７】
前記操作受付指示部は、
前記照合部が前記第１の情報と前記第２の情報とが一致したと判定した場合、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを終了させる指示をし、前記第１の情報と前記第２の情報とが一致していないと判定した場合、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを継続させる指示をする
ことを特徴とする請求項６に記載の端末装置。
【請求項８】
前記操作受付指示部は、
前記照合部が前記第１の情報と前記第２の情報とが一致していないと判定した場合であっても、前記第１の情報が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、
前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを終了させる指示をする
ことを特徴とする請求項６または７に記載の端末装置。
【請求項９】
前記表示制御部は、
前記第２の情報を入力する際の操作方法を示す情報を
前記表示部に表示させる
ことを特徴とする請求項１から８の何れか一項に記載の端末装置。
【請求項１０】
前記送信部は、
自装置から他装置に対して送信する第１メッセージを前記サーバ装置に送信し、
前記受信部は、
一又は複数の他装置から送信された第２メッセージを前記サーバ装置を介して受信し、
前記表示制御部は、
前記第１メッセージと前記第２メッセージとを時系列に並べて前記表示部に表示させるととともに、前記第１の情報を前記第２メッセージとして表示させる
ことを特徴とする請求項１から９の何れか一項に記載の端末装置。
【請求項１１】
前記表示制御部は、
前記第２の情報を前記第１メッセージとして表示させる
ことを特徴とする請求項１０に記載の端末装置。
【請求項１２】
前記送信部は、
前記ユーザ操作受付部から入力された前記第１メッセージを前記サーバ装置に送信する
ことを特徴とする請求項１０または１１に記載の端末装置。
【請求項１３】
自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信する送信部と、
一又は複数の他装置から送信された第２メッセージを前記サーバ装置を介して受信するとともに、前記サーバ装置から送信された第１の情報を受信する受信部と、
前記第１メッセージと前記第２メッセージとを時系列に並べて表示部に表示させるとともに、前記受信部が受信した前記第１の情報を前記第２メッセージとして前記表示部に表示させる表示制御部と、
前記表示制御部が前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合する照合部と、
を備え、
前記送信部は、
前記照合部が照合した照合結果に基づく情報を前記サーバ装置に送信する
ことを特徴とする端末装置。
【請求項１４】
サーバ装置から送信された第１の情報を受信する受信部と、
前記受信部が受信した前記第１の情報を表示部に表示させる表示制御部と、
前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時する計時部と、
前記計時部が計時した前記経過時間と前記第２の情報とを前記サーバ装置に送信する送信部と、
を備えることを特徴とする端末装置。
【請求項１５】
受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信するサーバ送信部と、
前記端末装置から送信された前記照合結果に基づく情報を受信するサーバ受信部と、
を備えることを特徴とするサーバ装置。
【請求項１６】
時間の経過にともなって逐次更新される情報をネットワークを介して取得する取得部と、
前記取得部が取得した情報に基づいて前記第１の情報を生成する生成部と、
を備えることを特徴とする請求項１５に記載のサーバ装置。
【請求項１７】
前記第１の情報を所定の条件に従って分類する分類部、
を備えることを特徴とする請求項１５または１６に記載のサーバ装置。
【請求項１８】
前記所定の条件は、
前記端末装置において、前記第１の情報と一致するように前記第２の情報を入力する操作の難易度に基づく条件であり、
前記分類部は、
前記第１の情報に含まれる情報の種類に基づいて前記難易度を判定し、当該判定した難易度に基づく条件に従って前記第１の情報を分類する
ことを特徴とする請求項１７に記載のサーバ装置。
【請求項１９】
前記端末装置から送信された複数の前記照合結果に基づく情報の順位付けを行う集計部、
を備え、
前記サーバ送信部は、
前記集計部により行われた前記順位付けを示す情報を前記端末装置に送信する
ことを特徴とする請求項１５から１８の何れか一項に記載のサーバ装置。
【請求項２０】
端末装置の制御方法であって、
サーバ装置から受信した第１の情報を表示部に表示させる手順と、
前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する手順と、
前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、
を備えることを特徴とする端末装置の制御方法。
【請求項２１】
端末装置の制御方法であって、
自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信する手順と、
前記第１メッセージと、一又は複数の他装置から送信されて前記サーバ装置を介して受信した第２メッセージとを時系列に並べて表示部に表示させる手順と、
前記サーバ装置から受信した第１の情報を前記第２メッセージとして前記表示部に表示させる手順と、
前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合する手順と、
前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、
を備えることを特徴とする端末装置の制御方法。
【請求項２２】
端末装置の制御方法であって、
サーバ装置から受信した第１の情報を表示部に表示させる手順と、
前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時する手順と、
前記計時した前記経過時間と前記第２の情報とを前記サーバ装置に送信する手順と、
を備えることを特徴とする端末装置の制御方法。
【請求項２３】
サーバ装置の制御方法であって、
受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信する手順と、
前記端末装置から送信された前記照合結果に基づく情報を受信する手順と、
を備えることを特徴とするサーバ装置の制御方法。
【請求項２４】
コンピュータに、
サーバ装置から受信した第１の情報を表示部に表示させるステップと、
前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合させるステップと、
前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、
を実行させるためのプログラム。
【請求項２５】
コンピュータに、
自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信させるステップと、
前記第１メッセージと、一又は複数の他装置から送信されて前記サーバ装置を介して受信した第２メッセージとを時系列に並べて表示部に表示させるステップと、
前記サーバ装置から受信した第１の情報を前記第２メッセージとして前記表示部に表示させるステップと、
前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合させるステップと、
前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、
を実行させるためのプログラム。
【請求項２６】
コンピュータに、
サーバ装置から受信した第１の情報を表示部に表示させるステップと、
前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時させるステップと、
前記計時させた前記経過時間と前記第２の情報とを前記サーバ装置に送信させるステップと、
を実行させるためのプログラム。
【請求項２７】
自装置から送信する第１メッセージと、一又は複数の他装置から送信された第２メッセージとを、時系列に並べて表示部に表示させるチャットアプリケーションプログラムが有する機能を拡張する機能を実行させるためのプログラムであって、
コンピュータに、
サーバ装置から受信した第１の情報を前記第２メッセージとして表示部に表示させるステップと、
前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合させるステップと、
前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、
を実行させるためのプログラム。
【請求項２８】
コンピュータに、
受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信させるステップと、
前記端末装置から送信された前記照合結果に基づく情報を受信させるステップと、
を実行させるためのプログラム。
【請求項２９】
自装置から送信する第１メッセージと、一又は複数の他装置から送信された第２メッセージとを、時系列に並べて表示部に表示させる機能を拡張する機能拡張方法であって、
サーバ装置から受信した第１の情報を前記第２メッセージとして表示部に表示させる手順と、
前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する手順と、
前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、
を備えることを特徴とする機能拡張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、サーバ装置、端末装置の制御方法、サーバ装置の制御方法、プログラム、および機能拡張方法に関する。
【背景技術】
【０００２】
電子メールやチャット等において入力されたメッセージを、複数のユーザ端末がインターネット等のネットワークを介して送受信して表示するアプリケーションが提供されている。（チャットアプリケーションとして、例えば、特許文献１参照）。このようなアプリケーションを備えるユーザ端末においては、例えば、ユーザがタイピングによる入力操作を行うことによって、送信するメッセージを作成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７８２８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばチャットアプリケーションにおける操作に慣れていないユーザにとっては、メッセージを作成する際のタイピング操作の方法が分からない場合や、メッセージを作成する際のタイピング操作に多くの時間を要してしまう場合があった。そこで、利便性の高いアプリケーションが望まれている。
【０００５】
本発明は、このような状況に鑑みてなされたもので、利便性の高いアプリケーションを提供することができる端末装置、サーバ装置、端末装置の制御方法、サーバ装置の制御方法、プログラム、および機能拡張方法を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の一態様は、サーバ装置（２００）から送信された第１の情報を受信する受信部（１５３）と、前記受信部が受信した前記第１の情報を表示部（１１０）に表示させる表示制御部（１５９）と、前記表示制御部が前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する照合部（１５６）と、前記照合部が照合した照合結果に基づく情報を前記サーバ装置に送信する送信部（１５２）と、を備えることを特徴とする端末装置（１００）である。
【０００７】
また、本発明の一態様は、上記の端末装置が、前記第１の情報が前記表示部に表示されてから前記第２の情報の入力の終了までの経過時間を計時する計時部（１５８）、を備え、前記照合部は、前記第１の情報と前記第２の情報とが一致したか否かを判定し、前記送信部は、前記照合部が、前記第１の情報と前記第２の情報とが一致したと判定した場合、前記計時部が計時した前記経過時間を、前記照合結果に基づく情報として前記サーバ装置に送信することを特徴とする。
【０００８】
また、本発明の一態様は、上記の端末装置において、前記送信部が、前記照合部が前記第１の情報と前記第２の情報とが一致したと判定した場合、当該一致したことを示す情報を、前記照合結果に基づく情報として前記サーバ装置に送信することを特徴とする。
【０００９】
また、本発明の一態様は、上記の端末装置において、前記照合部が、前記第１の情報に含まれる複数の情報のそれぞれと、前記第２の情報に含まれる複数の情報のそれぞれとが一致したか否かを判定し、前記送信部が、前記照合部が判定した前記一致したか否かに基づく情報を、前記照合結果に基づく情報として前記サーバ装置に送信することを特徴とする。
【００１０】
また、本発明の一態様は、上記の端末装置において、前記送信部が、前記照合部が前記第１の情報と前記第２の情報とが一致しないと判定した場合であっても、前記第１の情報が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、当該一致しないことを示す情報を、前記照合結果に基づく情報として前記サーバ装置に送信することを特徴とする。
【００１１】
また、本発明の一態様は、上記の端末装置が、前記表示制御部が前記第１の情報を前記表示部に表示させたことに応じて、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを開始させる指示をする操作受付指示部（１５４）、を備えることを特徴とする。
【００１２】
また、本発明の一態様は、上記の端末装置において、前記操作受付指示部が、前記照合部が前記第１の情報と前記第２の情報とが一致したと判定した場合、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを終了させる指示をし、前記第１の情報と前記第２の情報とが一致していないと判定した場合、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを継続させる指示をすることを特徴とする。
【００１３】
また、本発明の一態様は、上記の端末装置において、前記操作受付指示部が、前記照合部が前記第１の情報と前記第２の情報とが一致していないと判定した場合であっても、前記第１の情報が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、前記ユーザ操作受付部に対して、前記第２の情報の入力の受け付けを終了させる指示をすることを特徴とする。
【００１４】
また、本発明の一態様は、上記の端末装置において、前記表示制御部が、前記第２の情報を入力する際の操作方法を示す情報を前記表示部に表示させることを特徴とする。
【００１５】
また、本発明の一態様は、上記の端末装置において、前記送信部が、自装置から他装置に対して送信する第１メッセージを前記サーバ装置に送信し、前記受信部が、一又は複数の他装置から送信された第２メッセージを前記サーバ装置を介して受信し、前記表示制御部が、前記第１メッセージと前記第２メッセージとを時系列に並べて前記表示部に表示させるととともに、前記第１の情報を前記第２メッセージとして表示させることを特徴とする。
【００１６】
また、本発明の一態様は、上記の端末装置において、前記表示制御部が、前記第２の情報を前記第１メッセージとして表示させることを特徴とする。
【００１７】
また、本発明の一態様は、上記の端末装置において、前記送信部が、前記ユーザ操作受付部から入力された前記第１メッセージを前記サーバ装置に送信することを特徴とする。
【００１８】
また、本発明の一態様は、自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信する送信部と、一又は複数の他装置から送信された第２メッセージを前記サーバ装置を介して受信するとともに、前記サーバ装置から送信された第１の情報を受信する受信部と、前記第１メッセージと前記第２メッセージとを時系列に並べて表示部に表示させるとともに、前記受信部が受信した前記第１の情報を前記第２メッセージとして前記表示部に表示させる表示制御部と、前記表示制御部が前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合する照合部と、を備え、前記送信部は、前記照合部が照合した照合結果に基づく情報を前記サーバ装置に送信することを特徴とする端末装置である。
【００１９】
また、本発明の一態様は、サーバ装置から送信された第１の情報を受信する受信部と、前記受信部が受信した前記第１の情報を表示部に表示させる表示制御部と、前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時する計時部と、前記計時部が計時した前記経過時間と前記第２の情報とを前記サーバ装置に送信する送信部と、を備えることを特徴とする端末装置である。
【００２０】
また、本発明の一態様は、受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信するサーバ送信部（２５１）と、前記端末装置から送信された前記照合結果に基づく情報を受信するサーバ受信部（２５１）と、を備えることを特徴とするサーバ装置である。
【００２１】
また、本発明の一態様は、上記のサーバ装置において、時間の経過にともなって逐次更新される情報をネットワーク（５）を介して取得する取得部（２５６）と、前記取得部が取得した情報に基づいて前記第１の情報を生成する生成部（２５７）と、を備えることを特徴とする。
【００２２】
また、本発明の一態様は、上記のサーバ装置が、前記第１の情報を所定の条件に従って分類する分類部（２５８）、を備えることを特徴とする。
【００２３】
また、本発明の一態様は、上記のサーバ装置において、前記所定の条件が、前記端末装置において、前記第１の情報と一致するように前記第２の情報を入力する操作の難易度に基づく条件であり、前記分類部が、前記第１の情報に含まれる情報の種類に基づいて前記難易度を判定し、当該判定した難易度に基づく条件に従って前記第１の情報を分類することを特徴とする。
【００２４】
また、本発明の一態様は、上記のサーバ装置が、前記端末装置から送信された複数の前記照合結果に基づく情報の順位付けを行う集計部（２５５）、を備え、前記サーバ送信部が、前記集計部により行われた前記順位付けを示す情報を前記端末装置に送信することを特徴とする。
【００２５】
また、本発明の一態様は、端末装置の制御方法であって、サーバ装置から受信した第１の情報を表示部に表示させる手順と、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する手順と、前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、を備えることを特徴とする端末装置の制御方法である。
【００２６】
また、本発明の一態様は、端末装置の制御方法であって、自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信する手順と、前記第１メッセージと、一又は複数の他装置から送信されて前記サーバ装置を介して受信した第２メッセージとを時系列に並べて表示部に表示させる手順と、前記サーバ装置から受信した第１の情報を前記第２メッセージとして前記表示部に表示させる手順と、前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合する手順と、前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、を備えることを特徴とする端末装置の制御方法である。
【００２７】
また、本発明の一態様は、端末装置の制御方法であって、サーバ装置から受信した第１の情報を表示部に表示させる手順と、前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時する手順と、前記計時した前記経過時間と前記第２の情報とを前記サーバ装置に送信する手順と、を備えることを特徴とする端末装置の制御方法である。
【００２８】
また、本発明の一態様は、サーバ装置の制御方法であって、受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信する手順と、前記端末装置から送信された前記照合結果に基づく情報を受信する手順と、を備えることを特徴とするサーバ装置の制御方法である。
【００２９】
また、本発明の一態様は、コンピュータに、サーバ装置から受信した第１の情報を表示部に表示させるステップと、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合させるステップと、前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、を実行させるためのプログラムである。
【００３０】
また、本発明の一態様は、コンピュータに、自装置から他装置に対して送信する、ユーザ操作受付部から入力された第１メッセージをサーバ装置に送信させるステップと、前記第１メッセージと、一又は複数の他装置から送信されて前記サーバ装置を介して受信した第２メッセージとを時系列に並べて表示部に表示させるステップと、前記サーバ装置から受信した第１の情報を前記第２メッセージとして前記表示部に表示させるステップと、前記表示部に表示させた前記第１の情報と、前記ユーザ操作受付部から入力された第２の情報とを照合させるステップと、前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、を実行させるためのプログラムである。
【００３１】
また、本発明の一態様は、コンピュータに、サーバ装置から受信した第１の情報を表示部に表示させるステップと、前記第１の情報が前記表示部に表示されてから、ユーザ操作受付部に対して入力される第２の情報の入力の終了までの経過時間を計時させるステップと、前記計時させた前記経過時間と前記第２の情報とを前記サーバ装置に送信させるステップと、を実行させるためのプログラムである。
【００３２】
また、本発明の一態様は、自装置から送信する第１メッセージと、一又は複数の他装置から送信された第２メッセージとを、時系列に並べて表示部に表示させるチャットアプリケーションプログラムが有する機能を拡張する機能を実行させるためのプログラムであって、コンピュータに、サーバ装置から受信した第１の情報を前記第２メッセージとして表示部に表示させるステップと、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合させるステップと、前記照合させた照合結果に基づく情報を前記サーバ装置に送信させるステップと、を実行させるためのプログラムである。
【００３３】
また、本発明の一態様は、コンピュータに、受信した第１の情報を表示部に表示させ、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合し、当該照合した照合結果に基づく情報を送信する端末装置に対して、前記第１の情報を送信させるステップと、前記端末装置から送信された前記照合結果に基づく情報を受信させるステップと、を実行させるためのプログラムである。
【００３４】
また、本発明の一態様は、自装置から送信する第１メッセージと、一又は複数の他装置から送信された第２メッセージとを、時系列に並べて表示部に表示させる機能を拡張する機能拡張方法であって、サーバ装置から受信した第１の情報を前記第２メッセージとして表示部に表示させる手順と、前記表示部に表示させた前記第１の情報と、ユーザ操作受付部から入力された第２の情報とを照合する手順と、前記照合した照合結果に基づく情報を前記サーバ装置に送信する手順と、を備えることを特徴とする機能拡張方法である。
【発明の効果】
【００３５】
以上説明したように、本発明によれば、利便性の高いアプリケーションを提供することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施形態によるチャットシステムの構成の一例を示す概略ブロック図である。
【図２】チャットシステムにおけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。
【図３】本実施形態によるユーザ端末の構成の一例を示す概略ブロック図である。
【図４】本実施形態によるメッセージ画面の一例を示す図である。
【図５】本実施形態による自ユーザのユーザ情報の例を示す図である。
【図６】本実施形態による他ユーザのユーザ情報の例を示す図である。
【図７】本実施形態による仮想のユーザのユーザ情報の例を示す図である。
【図８】本実施形態によるグループ情報の例を示す図である。
【図９】本実施形態によるメッセージ情報の例を示す図である。
【図１０】本実施形態によるタイピングゲームを行うグループのグループ情報の例を示す図である。
【図１１】本実施形態によるタイピング画面の第１例を示す図である。
【図１２】本実施形態によるタイピング画面の第２例を示す図である。
【図１３】本実施形態によるサーバ装置の構成の一例を示す概略ブロック図である。
【図１４】本実施形態によるタイピングメニュー画面の一例を示す図である。
【図１５】ユーザ端末が実行するタイピングゲームの動作の第１例を示すフローチャートである。
【図１６】ユーザ端末が実行するタイピングゲームの動作の第２例を示すフローチャートである。
【図１７】ユーザ端末が実行するタイピングゲームの動作の第３例を示すフローチャートである。
【図１８】ユーザ端末が実行するタイピングゲームの動作の第４例を示すフローチャートである。
【図１９】ユーザ端末が実行するタイピングゲームの動作の第５例を示すフローチャートである。
【図２０】ユーザ端末が実行するタイピングゲームの動作の第６例を示すフローチャートである。
【図２１】ユーザ端末が実行するタイピングゲームの動作の第７例を示すフローチャートである。
【図２２】ユーザ端末が実行するタイピングゲームの動作の第８例を示すフローチャートである。
【図２３】サーバ装置が実行するタイピングゲームの動作の第１例を示すフローチャートである。
【図２４】本実施形態によるタイピング処理部２５２の構成の一例を示す概略ブロック図である。
【図２５】サーバ装置が実行するタイピングゲームの動作の第２例を示すフローチャートである。
【図２６】出題メッセージを分類する処理の動作例を示すフローチャートである。
【図２７】ユーザ端末の別の構成の一例を示す概略ブロック図である。
【図２８】チャットシステムの別の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００３７】
以下、本発明の一実施形態について、図面を参照して説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態によるチャットシステム１の構成の一例を示す概略ブロック図である。チャットシステム１は、複数のユーザ端末１００−Ｎ（Ｎは正の整数。ユーザ端末１００−１、ユーザ端末１００−２、ユーザ端末１００−３、・・・）と、サーバ装置２００とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワーク５を介して接続されている。ここで、複数のユーザ端末１００−Ｎは同様の構成であるので、特に区別しない場合には、「−１」、「−２」等の記載を省略してユーザ端末１００として説明する。ここでは３台のユーザ端末１００を明示して説明するが、チャットシステム１は、２台又は４台以上の任意の台数のユーザ端末１００を備えていてもよい。
【００３８】
ユーザ端末１００は、ユーザが利用するコンピュータ装置であり、サーバ装置２００を介して他のユーザ端末１００との間で送受信したメッセージを表示する表示装置である。ユーザ端末１００としては、例えばＰＣ（Personal Computer）、タブレットＰＣ、スマートフォン、ゲーム機器等の、表示デバイスを具備し情報通信ネットワークに接続可能な装置が適用できる。ここでは、ユーザ端末１００はスマートフォンであるとして説明する。また、ネットワーク５は、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、専用回線、またはこれらの組み合わせによって構成される情報通信ネットワークである。
【００３９】
チャットシステム１は、チャットを行うために複数のユーザが登録されたグループ（即ち、グループチャットを行うためのグループ）内において、複数のユーザのユーザ端末１００間でメッセージを送受信することにより、そのグループ内のユーザ間に限定したコミュニケーションを支援する。チャットシステム１としては、例えば、チャットアプリケーションによりグループ内の複数のユーザのユーザ端末１００間で日時情報が対応付けられたメッセージを送受信して日時情報に基づいて時系列に並べて表示するコンピュータシステムが適用できる。本実施形態では、チャットアプリケーションにより送受信された複数のメッセージをユーザ端末１００が表示する例を説明する。ここでは、ユーザ端末１００−１のユーザを識別するユーザＩＤ（Identifier）をユーザＡとし、ユーザ端末１００−２のユーザを識別するユーザＩＤをユーザＢとし、ユーザ端末１００−３のユーザを識別するユーザＩＤをユーザＣとして説明する。なお、ユーザＡと、ユーザＢと、ユーザＣと、がグループチャットを行うための同じグループに登録されているものとする。
【００４０】
まず、チャットにおけるメッセージの送受信処理の概要を説明する。グループ内の複数のユーザ間でチャットを行う場合、ユーザ端末１００（自装置）は、自身のユーザである自ユーザ（第１ユーザ）からの操作に応じて、他のユーザ端末１００に送信したメッセージ（第１メッセージ）と、相手側のユーザである他ユーザ（第２ユーザ）のユーザ端末１００（他装置）から送信されたメッセージ（第２メッセージ）とを記憶する。ユーザ端末１００は、記憶した複数のメッセージを、そのメッセージの送信日時または受信日時に基づいて時系列に並べた画面情報を生成し、ユーザが一覧できるように表示する。
【００４１】
つまり、グループには、ユーザ端末１００（自装置）を利用する自ユーザ（第１ユーザ）と、ユーザ端末１００（他装置）を利用する一または複数の他ユーザ（第２ユーザ）とが登録されている。そして、ユーザ端末１００（自装置）は、このグループにおいて、自ユーザ（第１ユーザ）の操作に応じてユーザ端末１００（自装置）から送信するメッセージと、他ユーザ（第２ユーザ）の操作に応じてユーザ端末１００（他装置）から送信されたメッセージと、を時系列に表示する。
【００４２】
図２は、チャットシステム１におけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。この図２では、ユーザＢからの操作に応じて、ユーザ端末１００−２が送信したメッセージＭを、ユーザＡのユーザ端末１００−１とユーザＣのユーザ端末１００−３とが受信する処理の例を示している。
まず、ユーザ端末１００−２は、ユーザＢからの操作に応じて、送信するメッセージの入力を受け付ける（ステップＳ１００）。そして、ユーザ端末１００−２は、ユーザＢからの操作に応じて入力された（作成された）メッセージＭを記憶するとともにメッセージ画面に表示する（ステップＳ１１０）。ここで、メッセージＭには、ユーザＩＤと、グループＩＤとが対応付けられている。ここで、グループＩＤは、グループを一意に識別する情報であって、このメッセージＭの宛先を示す情報である。続いて、ユーザ端末１００−２は、メッセージＭをサーバ装置２００に送信する（ステップＳ１２０）。
【００４３】
次に、サーバ装置２００は、ユーザ端末１００−２からネットワーク５を介してメッセージＭを受信し、受信したメッセージＭを一時的に記憶する（ステップＳ１３０）。このとき、サーバ装置２００は、このメッセージＭを受信したときの受信日時をユーザ端末１００−２へ受信完了通知と共に返信し、この受信日時をメッセージＭがユーザ端末１００−２から送信された日時情報とする。受信完了通知を受信したユーザ端末１００−２は、当該受信完了通知に含まれる日時情報を取得してメッセージＭと対応付けて記憶する。また、ユーザ端末１００−２は、取得した日時情報に基づいて、既にメッセージ画面に表示しているメッセージＭに対応付けて送信日時を表示する（ステップＳ１３５）。
【００４４】
続いて、サーバ装置２００は、受信して記憶したメッセージＭを、グループＩＤに基づいて、グループに登録されているユーザのユーザ端末１００（ユーザＡのユーザ端末１００−１及びユーザＣのユーザ端末１００−３）に対して送信する（ステップＳ１４０）。ここで、サーバ装置２００は、受信したメッセージＭに、ユーザＩＤと、グループＩＤと、日時情報（サーバ装置２００での受信日時）と、を対応付けて送信する。
【００４５】
次に、ユーザ端末１００−１は、サーバ装置２００から送信されたメッセージＭを、ネットワーク５を介して受信する（ステップＳ１５０）。また、ユーザ端末１００−３は、サーバ装置２００から送信されたメッセージＭを、ネットワーク５を介して受信する（ステップＳ１７０）。それぞれで受信したメッセージＭには、日時情報（サーバ装置での受信時間）と、ユーザＩＤ（ユーザＢ）と、グループＩＤとが対応付けられている。
【００４６】
次に、ユーザ端末１００−１は、受信したメッセージＭを記憶するとともに、対応付けられている日時情報に基づいてメッセージＭを時系列に並べてメッセージ画面に表示する（ステップＳ１６０）。また、ユーザ端末１００−３は、受信したメッセージＭを記憶するとともに、対応付けられている日時情報に応じてメッセージＭを時系列に並べてメッセージ画面に表示する（ステップＳ１８０）。このとき、ユーザ端末１００−１及びユーザ端末１００−３は、メッセージＭを時系列に並べて表示する際に、メッセージＭに対応付けられているユーザＩＤに基づいて、メッセージＭを送信したユーザを示す情報をメッセージＭに対応付けて表示する。
【００４７】
なお、ユーザ端末１００は、自ユーザが送信したメッセージには、そのメッセージを送信した自ユーザを示す情報を対応付けて表示せずに、他ユーザが送信したメッセージにのみ、そのメッセージを送信した他ユーザを示す情報を対応付けて表示してもよい。また、ユーザ端末１００は、メッセージを一画面に表示しきれない場合には、そのメッセージを時系列に並べたうちの一部を表示し、メッセージのスクロール制御を行う。
【００４８】
このように、チャットシステム１においては、グループ内のいずれかのユーザのユーザ端末１００から送信されたメッセージは、サーバ装置２００を介して、グループ内の他のユーザ（当該メッセージを送信したユーザ以外のユーザ）のユーザ端末１００に送信される。これにより、チャットシステム１においては、複数のユーザ（チャット相手）が属するグループにおいてメッセージを送受信するチャット（グループチャット）を行うことができる。
【００４９】
ここで、ユーザ端末１００からメッセージを送信する際には、ユーザ端末において、例えば、ユーザがタイピングによる入力操作を行うことによって、その送信するメッセージを作成する。しかしながら、チャットアプリケーションにおける操作に慣れていないユーザにとっては、例えばメッセージを作成する際の操作方法が分からない場合や、メッセージを作成する際に多くの時間を要してしまう場合があった。
【００５０】
ここで、パーソナルコンピュータにおけるタイピングを習得するものとしては、規格に従ったキーボートを正しい指でタッチして入力し、最終的にはタッチタイピングが習得できるように意図されたタイピング練習機能を有するアプリケーションが考えられる。また、所定時間内に指示された文字や文字列などを正確に幾つ入力できたかを競うタイピングゲーム等も考えられる。
本実施形態によるチャットシステム１においては、チャットを行う際の操作（例えば、タイピング操作や画像選択操作）を練習可能なタイピング練習機能を備えた構成とし、このタイピング練習機能とチャットアプリケーションを融合した新しいアプリケーションを提供する。なお、このタイピング練習機能は、既存のチャットアプリケーションに追加される機能として提供されるようにしてもよい。
【００５１】
これにより、本実施形態によれば、例えば、チャットアプリケーションとは関連しないタイピング練習機能（例えば、上述したパーソナルコンピュータの規格に従ったキーボートに対するタイピング練習機能）を利用する場合と異なって、チャットアプリケーション特有のユーザインターフェースによって、チャットアプリケーションにおける操作を練習可能とすることができる。よって、本実施形態によれば、利便性の高いアプリケーションを提供することができる。
【００５２】
以下、本実施形態によるチャットシステム１の構成について詳しく説明する。なお、本実施形態では、タイピング練習機能を有するタイピングゲームを備えた構成として説明する。
【００５３】
（ユーザ端末１００の構成）
まず、図３を参照して、ユーザ端末１００の構成について説明する。図３は、本実施形態によるユーザ端末１００の構成の一例を示す概略ブロック図である。
ユーザ端末１００は、表示部１１０と、操作受付部１２０と、通信部１３０と、記憶部１４０と、制御部１５０とを備えている。なお、図１に示す複数のユーザ端末１００−Ｎは、同様の各部を備えるものとする。
【００５４】
表示部１１０は、画像や文字等の情報を表示する表示デバイスである。表示部１１０の情報を表示する領域を画面といい、表示部１１０の画面に表示される情報を画面情報という。例えば、表示部１１０は、チャットアプリケーションにおいて、グループ内のユーザ間で送受信したメッセージを時系列に表示するメッセージ画面を表示する。ここで、表示部１１０が表示する画面は、ユーザからの操作に応じて制御部１５０によって制御される。
【００５５】
操作受付部１２０は、ユーザからの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示を生成する入力デバイスである。操作受付部１２０には、例えば、キーボードやボタン、タッチパネル等が適用できる。本実施形態では、操作受付部１２０と表示部１１０とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明する。
【００５６】
ここで、図４を参照して、ユーザ端末１００が表示部１１０に表示するチャットのメッセージ画面の例を説明する。図４は、本実施形態によるユーザ端末１００が表示するメッセージ画面の一例を示す図である。符号１１０ａは、メッセージ画面が表示されている領域の全体を示している。このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末１００は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。
【００５７】
この図４では、ユーザＡのユーザ端末１００−１が表示するユーザＡとユーザＢとによるチャット（１対１チャット）のメッセージ画面の例を示している。チャットを行うユーザの単位をグループという。このメッセージ画面はユーザＡとユーザＢとの２人が属するグループのチャットのメッセージ画面であり、自ユーザはユーザＡであり、他ユーザはユーザＢである。
符号１１０ｂの領域には、グループの名称が表示される。ここでは、ユーザＢのユーザ名を「ｎａｍｅＢ」とし、チャット相手となるユーザＢのユーザ名がグループ名として表示されている例を示している。なお、ユーザＢのユーザ端末１００−２において同一のグループのメッセージ画面を表示させる場合、グループの名称は、チャット相手であるユーザＡのユーザ名がグループ名として表示される。
【００５８】
符号１１０ｃの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて時系列に並べて表示されるように表示コンポーネントが配置される。この図に示す例では、メッセージが送信された日時に基づいて昇順（新しいメッセージが符号１１０ｃの領域の下側）に表示される。また、この図に示す例では、メッセージ画面において左側からの吹き出しには、他ユーザから送信されたメッセージが表示され、右側からの吹き出しには、自ユーザが送信したメッセージが表示される。
【００５９】
左側からの吹き出しＥ１には、他ユーザ（ここでは、ユーザＢ）から送信されたメッセージが表示される。アイコンＥ２は、吹き出しＥ１に表示されたメッセージを送信した他ユーザを示すアイコンである。このアイコンＥ２は、例えば他ユーザによって予め登録された画像（例えば、プロフィール画像）でもよいし、チャットシステム１が予め用意した画像でもよい。ユーザ名ラベルＥ３には、アイコンＥ２に対応するユーザのユーザ名が表示される。一方、右側からの吹き出しＥ４には、自ユーザ（ここでは、ユーザＡ）が送信したメッセージが表示される。
【００６０】
ここで、左側からの吹き出しに表示される他ユーザのメッセージには、そのメッセージを送信したユーザを示す情報（例えば、アイコンＥ２、ユーザ名ラベルＥ３）が対応付けられて表示されるが、一方、右側からの吹き出しに表示される自ユーザが送信したメッセージには、そのメッセージを送信したユーザを示す情報（即ち、自ユーザの情報）は表示されない。これは、自ユーザを示す情報が表示されなくとも、メッセージ画面の左側の吹き出しＥ４に表示されたメッセージが、自ユーザが送信したものであることが判別可能なためである。
【００６１】
符号１１０ｄの領域には、他のユーザ端末１００にメッセージを送信するための表示コンポーネントが配置される。テキストボックスＥ３１には、ユーザから入力されるメッセージが表示される。ここで、テキストボックスＥ３１に入力されるメッセージには、テキスト文字、顔文字、絵文字等が含まれる。送信ボタンＥ３２は、テキストボックスＥ３１に入力されたメッセージを他のユーザに送信するための操作子である。
【００６２】
例えば、ユーザは、テキストボックスＥ３１と対で表示されるソフトウェアキーボードに対する操作により、テキストボックスＥ３１にテキスト文字、顔文字、絵文字等を入力する。また、例えば、顔文字や絵文字は、ソフトウェアキーボート内に表示されている文字を入力するキーが配列されている画面から、顔文字や絵文字を選択する画面に切り替える操作（例えば、キーと並んで配列されている切り替えボタンに対する操作）をすることで入力することができるようになる。なお、ソフトウェアキーボートとは異なる画面であって、入力する顔文字、絵文字等を選択する選択メニュー画面が表示部１１０に表示され、その選択メニュー画面に対するユーザの操作に応じて顔文字や絵文字が選択されるようにしてもよい。
【００６３】
また、ユーザ端末１００から送信するメッセージには、ユーザによって選択されたアイテムが含まれてもよい。ここで、アイテムとは、例えば、画像（静止画や動画）、音（音声）、位置情報、ドキュメント、スタンプ、等のデータである。また、これらのアイテムは、メッセージに添付されてメッセージと共に送信されてもよいし、単独でメッセージとして送信されてもよい。上述のアイテムは、例えば、複数のアイテムが一覧表示された中からユーザが選択することができる。このアイテムを選択する画面は、例えば、メッセージ画面内の所定の領域に対する操作に応じて表示されるポップアップ画面内の項目から選択して表示させることができる。
【００６４】
図３に戻り、通信部１３０は、ネットワーク５を介してサーバ装置２００と通信する。例えば、制御部１５０の制御によりサーバ装置２００に送信するメッセージやサーバ装置２００から受信するメッセージは、この通信部１３０を介してサーバ装置２００と送受信される。
【００６５】
記憶部１４０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュＲＯＭ、ＨＤＤ（Hard Disk Drive）等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末１００が備える各部を制御するためのプログラムや各種情報を記憶する。なお、記憶部１４０は、ユーザ端末１００に装着するメモリカードであってもよい。また記憶部１４０は、ユーザ情報記憶部１４１と、グループ情報記憶部１４２と、メッセージ情報記憶部１４３と、画面情報記憶部１４４とを備えている。ここでは、記憶部１４０は、チャット機能に関する情報と、タイピングゲームに関する情報と、を記憶する。
【００６６】
ユーザ情報記憶部１４１は、チャットを行うユーザに関するユーザ情報を記憶する。図５及び図６は、ユーザ情報記憶部１４１に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザＩＤと、ユーザ名と、ユーザ画像とを対応付けた情報が含まれる。ユーザＩＤは、ユーザを識別する情報である。ユーザ名は、そのユーザの名称である。ユーザ画像は、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザＩＤと、ユーザ名と、対応付けられており、ユーザ情報記憶部１４１は、上述の対応付けしたユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。
【００６７】
ここで、図５に示すユーザ情報は、自ユーザのユーザ情報の例であって、ユーザＡのユーザ端末１００−１に記憶されているユーザＡのユーザ情報の例である。また、図６に示すユーザ情報は、チャット相手として登録可能な他ユーザのユーザ情報の例であって、ユーザＡのユーザ端末１００−１に記憶されている他ユーザのユーザ情報（例えば、ユーザＢのユーザ情報及びユーザＣのユーザ情報を含むユーザ情報）の例である。この図６に示す他ユーザのユーザ情報は、他ユーザそれぞれのユーザ端末１００−Ｎでそのユーザ自身で登録したものである。この図６に示す、ユーザＡのユーザ端末１００−１に記憶されている他ユーザのユーザ情報は、チャット相手として登録可能なユーザ関係になるとき、又は、チャット相手として登録されたときに、他ユーザそれぞれのユーザ端末１００−Ｎから取得して記憶する。なお、このチャット相手のユーザ情報は、事後的に自ユーザのユーザ端末１００で修正できるようにしてもよい。
【００６８】
また、ユーザ情報記憶部１４１は、タイピングゲームにおいてサーバ装置２００から受信するタイピングの出題となるメッセージ（以下、「出題メッセージ」（第１の情報）ともいう）を送信する仮想のユーザに関するユーザ情報を記憶する。
図７は、出題メッセージを送信する仮想のユーザのユーザ情報の例を示す図である。この図に示す例では、ユーザ情報記憶部１４１は、出題メッセージを送信する仮想のユーザ（ここでは、ユーザＴ）に関するユーザ情報として、ユーザＴのユーザＩＤと、ユーザ名（タイピング先生）と、ユーザ画像（ユーザＴのプロフィール画像）とを対応付けた情報が含まれるユーザ情報を記憶する。
なお、チャットを行うユーザに関するユーザ情報と、タイピングゲームにおいて出題メッセージを送信する仮想のユーザに関するユーザ情報とは、同じユーザ情報記憶部１４１に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
【００６９】
グループ情報記憶部１４２は、チャットを行うユーザのグループに関する情報を記憶する。図８は、グループ情報記憶部１４２に記憶されるグループ情報の例を示す図である。ひとつのグループには２以上のユーザが属する。例えば、ユーザＡとユーザＢとがチャットを行う場合、ユーザＡとユーザＢとが属するグループに関するグループ情報がグループ情報記憶部１４２に記憶される。グループ情報には、グループＩＤと、グループ名と、ユーザＩＤとを対応付けた情報が含まれる。グループＩＤは、サーバ装置２００で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが形成されたときにユーザにより設定され、ユーザにより設定されない場合には自動的に付与される。なお、このグループ名は。事後的にユーザにより設定できるようになっている。ユーザＩＤは、そのグループに属するユーザを識別する情報である。
【００７０】
この図に示す例では、グループＩＤが「Ｇ１」であるグループ名はユーザにより設定されていない。このグループのように２人が属するチャット（１対１チャット）では、チャット相手のユーザ名（ここでは、ユーザＢのユーザ名）がグループ名として自動的に設定される。また、このグループには「ユーザＡ」と「ユーザＢ」との２ユーザが属することが示されている。また、グループＩＤが「Ｇ２」であるグループ名はユーザにより「グループＡ」として設定されている。このグループに属するユーザが「ユーザＡ」と「ユーザＢ」と「ユーザＣ」の３ユーザであることが示されている。
【００７１】
また、グループ情報記憶部１４２は、タイピングゲームを行うグループとして、出題メッセージを送信する仮想のユーザと、タイピングゲームを利用するユーザとが属するグループのグループ情報を記憶する。つまり、タイピングゲームを行うグループは、出題メッセージを送信する仮想のユーザと、タイピングゲームを利用するユーザとの１対１チャットのグループとみなされる。
【００７２】
図９は、グループ情報記憶部１４２に記憶されるタイピングゲームを行うグループのグループ情報の例を示す図である。この図に示す例では、グループＩＤが「Ｇ７」であるグループのグループ情報が、出題メッセージを送信する仮想のユーザ（ユーザＴ）と、タイピングゲームを利用するユーザ（ユーザＡ）とが１対１チャットを行うグループのグループ情報として記憶されている。また、タイピングゲームを行うグループのグループ情報のグループ名には、タイピングゲームのグループ画面であることを示す情報や、ユーザが選択した出題メッセージの分類（問題のジャンル、問題の難易度等）が設定される。ここでは、「タイピング＜初級＞」がグループ名として設定されている。
なお、チャットを行うグループに関するグループ情報と、タイピングゲームを行うグループに関するグループ情報とは、同じユーザ情報記憶部１４１に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
【００７３】
ここで、ユーザ端末１００は、タイピングゲームを行うグループのグループ情報と、このグループに属する仮想のユーザのユーザ情報とを、例えば、タイピングゲームを実行したときに、サーバ装置２００から取得して記憶する。なお、ユーザ端末１００は、これらタイピングゲームに関するグループ情報とユーザ情報とを、タイピングゲームを最初に実行したときにサーバ装置２００から取得して記憶し、その後は記憶した情報を使用するようにしてもよいし、タイピングゲームを実行する度に取得して記憶するようにしてもよい。
【００７４】
メッセージ情報記憶部１４３は、自ユーザが属するグループにおいて送受信されたメッセージに関するメッセージ情報を記憶する。図１０は、メッセージ情報記憶部１４３に記憶されるメッセージ情報の例を示す図である。メッセージ情報には、グループＩＤと、ユーザＩＤと、日時情報と、メッセージと、グループ種類とを対応付けた情報が含まれる。グループＩＤは、メッセージが送受信されたグループを識別する情報である。ユーザＩＤは、メッセージを入力したユーザを識別する情報である。日時情報は、メッセージが送信された日時を示す情報である。本実施形態では、ユーザ端末１００の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末１００から送信されたメッセージをサーバ装置２００で受信した受信時間を当該メッセージが送信された日時を示す日時情報としている。日時情報には、年、月、日、時、分、秒（ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳ）の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージを示す文字列である。
【００７５】
また、グループ種類は、そのメッセージが、チャットを行うグループにおいて送受信したメッセージである場合と、タイピングゲームにおいて送受信したメッセージである場合とを識別するフラグ情報である。ここで、タイピングゲームにおいて送受信したメッセージとは、サーバ装置２００から受信した出題メッセージ、又は、出題メッセージに対してユーザが入力したメッセージ（以下、「入力メッセージ」（第２の情報）ともいう）である。この図１０に示す例では、チャットを行うグループにおいて送受信したメッセージには、グループ種類としてフラグ「０１」が対応付けられ、タイピングゲームにおいて送受信した出題メッセージと入力メッセージとには、グループ種類としてフラグ「１０」が対応付けられている。
なお、チャットを行うグループにおいて送受信したメッセージ情報と、タイピングゲームを行うグループにおいて送受信したメッセージ情報とは、同じメッセージ情報記憶部１４３に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
【００７６】
図３に戻り、画面情報記憶部１４４は、上述したような複数のメッセージを時系列に並べて表示するメッセージ画面の画面情報を一時的に記憶する。
【００７７】
制御部１５０は、ユーザ端末１００の制御中枢として機能するＣＰＵ（Central Processing Unit）等の情報処理装置を備えており、ユーザ端末１００が備える各部を制御する。制御部１５０は、メッセージ送信指示部１５１と、メッセージ送信部１５２と、メッセージ受信部１５３と、操作受付指示部１５４と、問題取得指示部１５５と、照合部１５６と、結果送信指示部１５７と、計時部１５８と、表示制御部１５９と、を備えている。
【００７８】
メッセージ送信指示部１５１は、操作受付部１２０に対するユーザの操作に応じて操作受付部１２０により生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。具体的には、メッセージ送信指示部１５１は、メッセージ画面においてテキストボックスＥ３１にメッセージが入力され、送信ボタンＥ３２にタップ操作がされると、テキストボックスＥ３１に入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループＩＤと、メッセージを入力したユーザである自ユーザを識別するユーザＩＤと、グループ種類（例えば、フラグ「０１」）と、を対応付けたメッセージ情報を含む送信指示情報を生成する。
【００７９】
また、メッセージ送信指示部１５１は、タイピングゲームにおいて、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２にタップ操作がされると、テキストボックスＥ３１に入力された入力メッセージに、タイピングゲームを行うグループを識別するグループＩＤと、入力メッセージを入力したユーザである自ユーザを識別するユーザＩＤと、グループ種類（例えば、フラグ「１０」）と、を対応付けたメッセージ情報を含む送信指示情報を生成する。
【００８０】
メッセージ送信部１５２は、メッセージ送信指示部１５１が、操作受付部１２０に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループＩＤをグループ情報記憶部１４２から読み出す。そして、メッセージ送信部１５２は、読み出したグループＩＤを宛先として、メッセージ送信指示部１５１によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置２００に送信する。このとき、メッセージ送信部１５２は、メッセージ情報に含まれるグループＩＤ、ユーザＩＤ（自ユーザ）、メッセージ、及びグループ種類を、新たなレコード（１メッセージ分のデータ）としてメッセージ情報記憶部１４３に記憶させる。なお、日時情報は、サーバ装置２００から受信完了通知と共に取得し、対応するメッセージのレコードの日時情報を更新する。
【００８１】
ここで、メッセージ送信部１５２は、メッセージ送信指示部１５１が生成した送信指示情報のうち、チャットのメッセージ（例えば、フラグ「０１」が対応付けられたメッセージ）をサーバ装置２００に送信するとともにメッセージ情報記憶部１４３に記憶させる。一方、メッセージ送信部１５２は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ（例えば、フラグ「１０」が対応付けられたメッセージ）をサーバ装置２００に送信せずに、メッセージ情報記憶部１４３に記憶させる。なお、メッセージ送信部１５２は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ（例えば、フラグ「１０」が対応付けられたメッセージ）をサーバ装置２００に送信する構成としてもよい。
【００８２】
メッセージ受信部１５３は、他のユーザ端末１００から、自ユーザが属するグループＩＤを宛先として送信されたメッセージ情報を、サーバ装置２００から受信し、メッセージ情報に含まれるグループＩＤ、ユーザＩＤ（他ユーザ）、日時情報、メッセージ、及びグループ種類（例えば、フラグ「０１」）を、新たなレコードとしてメッセージ情報記憶部１４３に記憶させる。
【００８３】
また、メッセージ受信部１５３は、サーバ装置２００から送信されたタイピングの出題メッセージを含む出題メッセージ情報を受信する。このとき、メッセージ受信部１５３は、この出題メッセージ情報に含まれるグループＩＤ、ユーザＩＤ（他ユーザ）、日時情報、出題メッセージ、及びグループ種類（例えば、フラグ「１０」）を、新たなレコードとしてメッセージ情報記憶部１４３に記憶させる（図１０参照）。
【００８４】
操作受付指示部１５４は、操作受付部１２０に対する操作入力の受け付けを許可するか又は禁止するか等を指示する。なお、操作受付指示部１５４は、タッチパネルに対する指示として、表示制御部１５９に対しても、操作入力の受け付けに対応する表示情報の変更の指示をしてもよい。例えば、操作受付指示部１５４は、メッセージ画面に表示されるテキストボックスＥ３１に対するユーザからの操作入力の受け付けの開始や終了を、操作受付部１２０及び表示制御部１５９に対して指示する。
【００８５】
問題取得指示部１５５は、操作受付部１２０に対するユーザの操作に応じて操作受付部１２０により生成された入力指示に基づいて、タイピングの出題メッセージの要求指示を示す「出題メッセージ要求指示情報」を生成し、生成した出題メッセージ要求指示情報をサーバ装置２００に送信する。ユーザ端末１００から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置２００は、出題メッセージを含む出題メッセージ情報を応答（送信）する。ユーザ端末１００は、サーバ装置２００から出題メッセージを含むメッセージ情報を受信して表示部１１０に表示する。
【００８６】
照合部１５６は、サーバ装置２００から送信された出題メッセージと、その出題メッセージ（表示部１１０に表示された出題メッセージ）に対応してユーザが入力した入力メッセージとを照合する。具体的には、照合部１５６は、メッセージ情報記憶部１４３に記憶されているメッセージ情報のうちの入力メッセージ（例えば、フラグ「０１」が対応付けられたメッセージ）と、その入力メッセージに対応する出題メッセージとを照合する。
【００８７】
結果送信指示部１５７は、照合部１５６が照合した照合結果に基づく情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、照合結果に基づく情報をサーバ装置２００に対して送信する。ここで照合結果に基づく情報とは、例えば、ユーザがタイピングに要した時間、即ち、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了まで（例えば、出題メッセージに一致した入力メッセージの入力が終了したときまで）の経過時間である。なお、照合結果に基づく情報は、出題メッセージと入力メッセージとが一致したか否かを示す情報としてもよい。
【００８８】
計時部１５８は、計時機能（時計機能）を有し、時刻または所定の時間間隔（時間）を計時する。例えば、計時部１５８は、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時する。ここで、入力メッセージの入力の終了とは、例えば、送信ボタンＥ３２に対してユーザの操作（例えば、タップ操作）がされたタイミングである。なお、入力メッセージの入力の終了は、テキストボックスＥ３１に対して入力される文字のそれぞれが順次確定したタイミングとしてもよい。例えば、入力メッセージの入力の終了は、出題メッセージに対して入力メッセージが一致したときに最後に入力された文字が確定したタイミングとしてもよい。
【００８９】
表示制御部１５９は、チャットのメッセージ画面の画面情報、及び、タイピングゲームによる画面（以下、タイピング画面）の画面情報を生成して表示部１１０に表示させる。
【００９０】
表示制御部１５９は、自ユーザの操作に応じて自身のユーザ端末１００から送信するメッセージと、他ユーザの操作に応じて他のユーザ端末１００から送信されたメッセージと、を時系列に表示するチャットのメッセージ画面を表示部１１０に表示させる。具体的には、表示制御部１５９は、メッセージ情報記憶部１４３に記憶されている複数のメッセージ情報のうち、チャットのメッセージ情報（フラグ「０１」が含まれるメッセージ情報）を読み出す。そして、表示制御部１５９は、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた日時情報に基づいて時系列に並べたメッセージ画面の画面情報を生成して画面情報記憶部１４４に記憶させる。そして、表示制御部１５９は、生成したメッセージ画面の画面情報のうちの一部を表示部１１０に表示させる。
【００９１】
また、表示制御部１５９は、タイピングゲームが実行されることにより、サーバ装置２００から取得した出題メッセージが表示されたタイピング画面を表示部１１０に表示させる。具体的には、表示制御部１５９は、メッセージ情報記憶部１４３に記憶されている複数のメッセージ情報のうち、タイピングゲームのメッセージ情報（フラグ「１０」が含まれるメッセージ情報）を読み出す。そして、表示制御部１５９は、読み出したメッセージ情報のうち、送信元が仮想のユーザ（例えば、ユーザＴ）である出題メッセージを表示するタイピング画面の画面情報を生成して画面情報記憶部１４４に記憶させる。そして、表示制御部１５９は、生成したタイピング画面の画面情報のうちの一部を表示部１１０に表示させる。
また、表示制御部１５９は、このタイピング画面において、チャットのメッセージを入力する際の操作と同じ操作で入力メッセージの入力が可能なテキストボックスＥ３１と送信ボタンＥ３２とを表示させる。
【００９２】
なお、表示制御部１５９は、生成した画面情報のうちの一部を表示部１１０に表示させる。例えば、表示制御部１５９は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部１１０に表示させる。初期段階で表示部１１０に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい日時情報が対応付けられたメッセージが含まれる箇所とすることができる。また、表示制御部１５９は、他ユーザのユーザ端末１００から送信されたメッセージに、当該他ユーザを示す情報を対応付けて時系列にメッセージ画面に表示させる。
【００９３】
なお、上述の複数のメッセージ情報には、互いに同じ日時情報が対応付けられたメッセージ情報（即ち、互いに同じ送信日時のメッセージ情報）が含まれていてもよい。この場合、表示制御部１５９は、互いに同じ日時情報が対応付けられているメッセージ情報のそれぞれを、例えば、メッセージ情報記憶部１４３に記憶された順にしたがって、時系列にメッセージ画面に表示させてもよい。なお、メッセージ受信部１５３が、互いに同じ日時情報が対応付けられたメッセージ情報を受信した場合に、一方の日時情報の時刻（例えば、秒数）をカウントアップさせて、互いに異なる日時情報として記憶させてもよい。また、サーバ装置２００は、メッセージ情報に互いに同じ日時情報を対応付けることを禁止し、メッセージ情報毎に異なる日時情報を対応付けるようにしてもよい。具体的には、サーバ装置２００は、互いに同じ日時情報となるようなメッセージ情報を受信した場合には、一方の日時情報の時刻（例えば、秒数）をカウントアップさせてもよい。
【００９４】
（タイピング画面の第１例）
次に、図１１を参照して、タイピングゲームにより表示部１１０に表示される画面（タイピング画面）について説明する。図１１は、本実施形態によるユーザ端末１００が表示するタイピング画面の第１例を示す図である。この図は、図７に示すタイピングゲームを行うグループＩＤ「Ｇ７」のグループにおけるタイピング画面の一例を示している。
【００９５】
このタイピング画面の各構成は、前述したメッセージ画面の各構成と対応しており、符号１１０ａの領域に、メッセージ画面に代えてタイピング画面が表示される。符号１１０ｂの領域には、タイピング練習機能を行うグループのグループ名（ここでは、「タイピング＜初級＞」）が表示される。
【００９６】
符号１１０ｃの領域には、サーバ装置２００から送信された出題メッセージが、そのメッセージが送信された日時に基づいて時系列に並べて表示されるように表示コンポーネントが配置される。ここで、この出題メッセージは、タイピング画面において、左側からの吹き出しに表示される。即ち、図４に示すメッセージ画面において他ユーザのメッセージが左側からの吹き出しに表示されるのと同様に、出題メッセージが左側からの吹き出しに表示される。
【００９７】
左側からの吹き出しＥ１１には、問題番号と出題メッセージとが表示される。アイコンＥ１２は、吹き出しＥ１１に表示された出題メッセージを送信した仮想のユーザ（ここでは、ユーザＴ）を示すアイコンである。ユーザ名ラベルＥ１３には、アイコンＥ１２に対応するユーザのユーザ名（ここでは、「タイピング先生」）が表示される。
【００９８】
また、符号１１０ｃの領域には、問題番号ラベルＥ２１と、経過時間ラベルＥ２２とが表示される。問題番号ラベルＥ２１には、吹き出しＥ１１に表示された出題メッセージの問題番号が表示される。経過時間ラベルＥ２２には、吹き出しＥ１１に出題メッセージが表示されてからの経過時間が表示される。
【００９９】
符号１１０ｄの領域には、図４に示すメッセージ画面と同様に、テキストボックスＥ３１と送信ボタンＥ３２とが表示される。ユーザは、吹き出しＥ１１に表示された出題メッセージと同じメッセージを、メッセージ画面においてメッセージを入力する操作方法と同様の操作方法でテキストボックスＥ３１に入力する。また、ユーザが、送信ボタンＥ３２に対して操作することにより、テキストボックスＥ３１に入力されたタイピングの内容である入力メッセージが確定する。ユーザ端末１００は、上述の出題メッセージと入力メッセージとを照合し、サーバ装置２００に照合結果に基づく情報（例えば、経過時間）を送信する。これにより、ユーザは、チャットにおけるタイピングの練習をすることができる。
【０１００】
なお、ユーザが送信ボタンＥ３２に対して操作することにより、テキストボックスＥ３１に入力されたタイピングの内容である入力メッセージが、ユーザ自身が送信するメッセージとして、符号１１０ｃの領域に表示されてもよい。
【０１０１】
（タイピング画面の第２例）
図１２は、ユーザ端末１００が表示するタイピング画面の第２例を示す図であって、図１１に示すタイピング画面において入力された入力メッセージと、次の問題の出題メッセージとが表示されているタイピング画面の一例を示す図である。符号１１０ｃの領域内の吹き出しＥ１１の下側には、上述の図１１においてユーザが入力した入力メッセージが右側からの吹き出しＥ１４に表示される。即ち、図４に示すメッセージ画面において自ユーザのメッセージが右側からの吹き出しに表示されるのと同様に、入力メッセージが右側からの吹き出しに表示される。
【０１０２】
また、符号１１０ｃの領域内の吹き出しＥ１４の下側に表示される左側からの吹き出しＥ１５には、次の問題の出題メッセージが表示される。例えば、吹き出しＥ１５には、ユーザ端末１００が、上述の図１１における出題メッセージ（第１問の出題メッセージ）における照合結果に基づく情報（例えば、経過時間）をサーバ装置２００に送信したことに応じてサーバ装置２００から取得した次の出題メッセージと問題番号（第２問）とが表示される。
【０１０３】
また、符号１１０ｃの領域には、吹き出しＥ１５に表示された出題メッセージの問題番号が表示される問題番号ラベルＥ２３と、吹き出しＥ１５に出題メッセージが表示されてからの経過時間が表示される経過時間ラベルＥ２４とが表示される。
【０１０４】
このように、タイピング画面においては、サーバ装置２００から取得した出題メッセージと、その出題メッセージに対応してユーザが入力した入力メッセージとが、時系列に並べて表示される（対話型で表示される）。
【０１０５】
（サーバ装置２００の構成）
次に、図１３を参照して、サーバ装置２００の構成について説明する。図１３は、本実施形態によるサーバ装置２００の構成の一例を示す概略ブロック図である。
サーバ装置２００は、サーバ通信部２３０と、サーバ記憶部２４０と、サーバ制御部２５０と、を備えている。サーバ通信部２３０は、ネットワーク５を介して複数のユーザ端末１００―Ｎと通信する。
【０１０６】
サーバ記憶部２４０は、ユーザ情報記憶部２４１と、グループ情報記憶部２４２と、メッセージ情報一時記憶部２４３と、問題記憶部２４４と、結果記憶部２４５と、を備えている。
【０１０７】
ユーザ情報記憶部２４１とグループ情報記憶部２４２とは、ユーザ端末１００が備えるユーザ情報記憶部１４１とグループ情報記憶部１４２と同様の情報を記憶する。なお、ユーザ端末１００が備えるユーザ情報記憶部１４１とグループ情報記憶部１４２とには、そのユーザ自身に関連する情報（ユーザ自身のユーザ情報、及び、ユーザ自身と同じグループに登録可能な他ユーザのユーザ情報）のみが記憶されていることに対し、サーバ装置２００が備えるユーザ情報記憶部２４１とグループ情報記憶部２４２とには、サーバ装置２００を介してメッセージの送受信を行う全てのユーザ及びグループに関する情報が記憶されている。なお、サーバ装置２００が備えるユーザ情報記憶部２４１には、ユーザ名やユーザ画像等のようにユーザを特定するような情報は記憶されず、単にユーザを識別可能なユーザＩＤが記憶されている構成としてもよい。
【０１０８】
メッセージ情報一時記憶部２４３は、各ユーザ端末１００から受信したメッセージ情報を一時的に記憶する。例えば、メッセージ情報一時記憶部２４３は、受信したメッセージ情報が、宛先（送信先）のユーザのユーザ端末１００に対して送信されるまでの間、受信したメッセージ情報を一時的に記憶する。
【０１０９】
問題記憶部２４４は、タイピングゲームにおけるタイピングの出題である出題メッセージを記憶する。例えば、問題記憶部２４４には、複数の出題メッセージのそれぞれを識別可能な出題メッセージＩＤと、出題メッセージと、ジャンル毎又は難易度毎等に分類可能な分類情報とが対応付けられた出題メッセージ情報が予め複数記憶されている。なお、問題記憶部２４４に記憶されている出題メッセージ情報は、所定のタイミングで更新されてもよい。
【０１１０】
結果記憶部２４５は、ユーザ端末１００においてユーザがタイピングゲームを行った結果を記憶する。例えば、結果記憶部２４５は、ユーザ端末１００から送信されて受信した照合結果に基づく情報を記憶する。また、結果記憶部２４５は、ユーザ端末１００か受信した照合結果に基づく情報に対して、サーバ制御部２５０が処理した結果（例えば、複数のユーザ端末１００から受信した照合結果に基づく情報の集計結果、ランキング等）を記憶してもよい。
【０１１１】
サーバ制御部２５０は、メッセージ転送部２５１と、タイピング処理部２５２とを備えている。メッセージ転送部２５１は、ユーザ端末１００から送信されたメッセージを受信するサーバ受信部と、ユーザ端末１００に対してメッセージを送信するサーバ送信部とを備えている。
【０１１２】
例えば、メッセージ転送部２５１は、ユーザ端末１００からグループＩＤを宛先として送信されたメッセージ情報を受信すると、受信したメッセージ情報をメッセージ情報一時記憶部２４３に一時的に記憶させる。そして、メッセージ転送部２５１は、受信したメッセージ情報の宛先であるグループＩＤに対応付けられたユーザＩＤを特定し、記憶させたメッセージ情報を、当該特定したユーザＩＤが示すユーザ端末１００のうち、メッセージを送信したユーザのユーザＩＤが示すユーザ端末１００以外のユーザ端末１００に送信する。
【０１１３】
なお、メッセージ転送部２５１は、このメッセージ情報を、当該特定したユーザＩＤが示すユーザ端末１００のうち、メッセージを送信したユーザのユーザＩＤが示すユーザ端末１００以外のユーザ端末１００に送信してもよい。即ち、メッセージ転送部２５１は、グループ内のユーザから送信されたメッセージを、グループ内の他のユーザに対して転送する。
【０１１４】
なお、メッセージ転送部２５１は、ユーザ端末１００からグループＩＤを宛先として送信されたメッセージ情報を受信すると、当該ユーザ端末１００に対して、受信したときの受信日時を受信完了通知と共に送信する。
【０１１５】
タイピング処理部２５２は、ユーザ端末１００から送信された出題メッセージ要求指示情報を受信すると、問題記憶部２４４から出題メッセージ情報を読み出し、読み出した出題メッセージ情報を、メッセージ転送部２５１を介してそのユーザ端末１００に対して応答（送信）する。また、タイピング処理部２５２は、ユーザ端末１００から送信された照合結果に基づく情報を、メッセージ転送部２５１を介して受信すると、受信した照合結果に基づく情報を結果記憶部２４５に記憶させる。
なお、タイピング処理部２５２は、ユーザ端末１００から受信した照合結果に基づく情報を集計してランキング情報等を生成してもよい。タイピング処理部２５２における処理について詳しくは、後述の第８の実施形態で説明する。
【０１１６】
（タイピングゲームにおける処理の動作）
次に、図１４及び図１５を参照して、本実施形態によるチャットシステム１の動作例を説明する。図１４は、本実施形態によるユーザ端末１００が表示するタイピングゲームの画面であって、実行させる機能を選択するタイピングメニュー画面の一例を示す図である。符号１１０ａは、タイピングメニュー画面が表示されている領域の全体を示している。符号１１０ｅの領域には、タイピングゲームの画面であることを示す情報（ここでは、「タイピング」）が表示される。
【０１１７】
符号１１０ｆの領域には、タイピングメニュー画面を表示させる操作子としてのタブＥ５１と、タイピング結果によるランキング画面を表示させる操作子としてのタブＥ６１とが表示される。ここでは、タブＥ５１が選択されている状態であって、符号１１０ｆの領域にはタイピングメニュー画面が表示されている。なお、タブＥ６１に対する操作がされると、タイピングメニュー画面からランキング画面に切り替わる。ここで、ランキング画面とは、複数のユーザが行ったタイピング結果によるランキングや自ユーザが複数回行ったタイピング結果のランキング等を表示する画面である。
【０１１８】
ここでは、符号１１０ｆの領域には、タイピングメニュー画面が表示され、複数の機能のそれぞれが表示された選択ラベルが、それぞれの機能を実行可能な操作子として表示される。選択ラベルＥ５２からＥ５５には、サーバ装置２００から取得可能な出題メッセージの種類がそれぞれ表示される。選択ラベルＥ５２には、初級レベルの出題メッセージが取得されることを示す情報（初級）が表示され、選択ラベルＥ５３には、中級レベルの出題メッセージが取得されることを示す情報（中級）が表示され、選択ラベルＥ５４には、上級レベルの出題メッセージが取得されることを示す情報（上級）が表示されている。ここで、初級レベルとは、例えば、テキスト文字のみで構成されたメッセージである。また、中級レベルとは、例えば、テキスト文字と絵文字と顔文字との組み合わせにより構成されたメッセージである。また、上級レベルとは、例えば、テキスト文字と絵文字と顔文字とスタンプの組み合わせにより構成されたメッセージである。このように、メッセージに含まれる文字の種類、アイテム（例えば、スタンプ）が含まれるか否かによって、タイピング練習の難易度が分類されてもよい。
また、選択ラベルＥ５５には、話題のニュースを題材とした出題メッセージが取得されることを示す情報（話題のニュース）が表示されている。なお、出題メッセージの種類は、難易度に限らずジャンル（分野）に応じて分類されてもよい。
【０１１９】
一方、選択ラベルＥ５６には、操作方法の説明が表示されることを示す情報（チュートリアル）が表示されている。この選択ラベルＥ５６に対して操作がされると、タイピングに関する操作方法が表示される。例えば、ユーザは、操作がよくわからない場合に、この選択ラベルＥ５６に対して操作することにより操作方法の説明を表示部１１０に表示させることができる。なお、操作方法の説明の表示は、このタイピングメニュー画面に対する操作に限らず、例えば、タイピング画面においても表示可能なようにしてもよい。例えば、操作方法の説明を表示させる操作子（チュートリアルボタン、ヘルプボタン）をタイピング画面に表示させてもよい。これにより、ユーザ端末１００は、ユーザがタイピング中（入力メッセージの入力中）に操作方法が分からない場合にも操作方法の説明を表示させることができる。
また、ユーザが入力する入力メッセージが、繰り返し出題メッセージと一致しない場合には、ユーザ端末１００は、所定の繰り返し回数を超えたときにユーザからの指示が無くとも操作方法の説明を表示させるようにしてもよい。
【０１２０】
図１５は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第１例を示すフローチャートである。まず、ユーザ端末１００の問題取得指示部１５５は、図１４に示すタイピングメニュー画面に対するユーザの操作に応じて、選択された出題メッセージ（第１の情報）の要求指示を示す「出題メッセージ要求指示情報」をサーバ装置２００に送信する（ステップＳ２００）。ユーザ端末１００から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置２００は、出題メッセージを含む出題メッセージ情報をユーザ端末１００に対して送信する。
【０１２１】
次に、ユーザ端末１００のメッセージ受信部１５３は、サーバ装置２００から送信されたタイピングの出題メッセージ（第１の情報）を含む出題メッセージ情報を受信し、メッセージ情報記憶部１４３に記憶させる（ステップＳ２１０）。
【０１２２】
続いて、表示制御部１５９は、サーバ装置２００から受信した出題メッセージ（第１の情報）をタイピング画面（表示部１１０）に表示させる（ステップＳ２２０）。具体的には、表示制御部１５９は、サーバ装置２００から受信した出題メッセージを、タイピング画面において、左側からの吹き出しに表示させる（図１１参照）。
【０１２３】
表示制御部１５９が出題メッセージをタイピング画面に表示させると、操作受付部１２０は、その出題メッセージに対応して、ユーザが入力した入力メッセージ（第２の情報）を受け付ける（ステップＳ２３０）。例えば、メッセージ送信指示部１５１は、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２にタップ操作がされると、テキストボックスＥ３１に入力された入力メッセージに、タイピングゲームを行うグループを識別するグループＩＤと、入力メッセージを入力したユーザである自ユーザを識別するユーザＩＤと、グループ種類（例えば、フラグ「１０」）と、を対応付けたメッセージ情報を含む送信指示情報を生成する。メッセージ送信部１５２は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ（例えば、フラグ「１０」が対応付けられたメッセージ）をサーバ装置２００に送信せずに、メッセージ情報記憶部１４３に記憶させる。
【０１２４】
次に、照合部１５６は、ステップＳ２２０においてタイピング画面に表示された出題メッセージ（第１の情報）と、ステップＳ２３０において、その出題メッセージに対応してユーザが入力した入力メッセージ（第２の情報）とを照合する（ステップＳ２４０）。
【０１２５】
結果送信指示部１５７は、照合部１５６が照合した照合結果に基づく情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、照合結果に基づく情報をサーバ装置２００に対して送信する（ステップＳ２５０）。
【０１２６】
サーバ装置２００は、照合結果に基づく情報を受信することに応じて、次の出題メッセージを含む出題メッセージ情報をユーザ端末１００に送信する。なお、サーバ装置２００は、次の出題メッセージが無い場合（例えば、最後の出題メッセージが送信済みであった場合）には、出題メッセージを送信しないで処理を終了する。
【０１２７】
したがって、ユーザ端末１００は、次の問題があるか否かを判定して（ステップＳ２６０）、次の出題メッセージがある場合には、ステップＳ２１０に処理を戻し、次の出題メッセージをタイピング画面に表示する（図１２参照）。一方、次の出題メッセージが無い場合には、ユーザ端末１００は、タイピングの問題を出題する処理（出題メッセージを表示して、ユーザの操作を受け付ける処理）を終了する。
【０１２８】
以上説明してきたように、本実施形態によるユーザ端末１００（端末装置）は、サーバ装置２００から送信された出題メッセージ（第１の情報）を受信するメッセージ受信部１５３（受信部）と、メッセージ受信部１５３が受信した出題メッセージ（第１の情報）を表示部１１０に表示させる表示制御部１５９とを備えている。また、ユーザ端末１００（端末装置）は、表示制御部１５９が表示部１１０に表示させた出題メッセージ（第１の情報）と、操作受付部１２０（ユーザ操作受付部）から入力された入力メッセージ（第２の情報）とを照合する照合部１５６と、照合部１５６が照合した照合結果に基づく情報をサーバ装置２００に送信するメッセージ送信部１５２（送信部）と、を備えている。
【０１２９】
つまり、ユーザ端末１００は、サーバ装置２００から送信された出題メッセージ（第１の情報）を受信して表示部１１０に表示し、表示した出題メッセージ（第１の情報）と、その出題メッセージに対応してユーザの操作により入力された入力メッセージ（タイピングの結果）とを照合する。そして、ユーザ端末１００は、照合した照合結果に基づく情報をサーバ装置２００に送信する。
【０１３０】
これにより、ユーザ端末１００は、タイピングゲームにおいて、タイピングの出題メッセージをサーバ装置２００から取得して表示部１１０に表示するため、サーバ装置２００に記憶されている様々な出題メッセージのうちのユーザの要望に沿う出題メッセージを出題することができる。また、ユーザ端末１００は、表示した出題メッセージに対応してユーザが入力した入力メッセージと、当該出題メッセージとを照合して、照合結果に基づく情報をサーバ装置２００に送信するため、タイピング中にサーバ装置２００との通信が途切れたとしても、入力のタイミングに応じて照合することができる。すなわち、サーバ装置２００からタイピングの出題メッセージを取得した後は、ユーザ端末１００にて、入力メッセージと出題メッセージとを照合するようにしたので、取得から照合までの間、サーバ装置２００とユーザ端末１００を通信する必要がない。
従って、本実施形態のユーザ端末１００によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末１００によれば、利便性の高いアプリケーションを提供することができる。
【０１３１】
また、メッセージ送信部１５２（送信部）は、自ユーザのユーザ端末１００（自装置）から他ユーザのユーザ端末１００（他装置）に対して送信するメッセージ（第１メッセージ）をサーバ装置２００に送信する。また、メッセージ受信部１５３（受信部）は、一又は複数の他ユーザのユーザ端末１００（他装置）から送信されたメッセージ（第２メッセージ）をサーバ装置２００を介して受信する。表示制御部１５９は、自装置から送信するメッセージ（第１メッセージ）と他装置から送信されたメッセージ（第２メッセージ）とを時系列に並べて表示部１１０に表示させるととともに、サーバ装置２００から送信された出題メッセージ（第１の情報）を他装置から送信されたメッセージ（第２メッセージ）として表示させる。すなわち、自装置から送信するメッセージ（第１メッセージ）と他装置から送信されたメッセージ（第２メッセージ）が時系列に並べて表示させるメッセージ画面のように、タイピング画面が表示部１１０に表示されているときには、出題メッセージ（第１の情報）が他装置から送信されたメッセージ（第２メッセージ）のように表示させる。
【０１３２】
つまり、ユーザ端末１００は、サーバ装置２００から送信された出題メッセージ（第１の情報）を、チャットにおいて他ユーザのユーザ端末１００から送信されたメッセージと同様（例えば、左側からの吹き出し）に表示部１１０に表示させる。
これにより、ユーザ端末１００は、タイピングゲームにおいても、ユーザが、チャットのメッセージ画面を見ているのと同じように、出題メッセージが表示されるタイピング画面を見ながらタイピング練習ができるようにすることができる。
【０１３３】
なお、表示制御部１５９は、入力メッセージ（第２の情報）を自装置から送信するメッセージ（第１メッセージ）として表示させてもよい。すなわち、メッセージ画面のように、タイピング画面が表示部１１０に表示されているときには、入力メッセージ（第２の情報）が自装置から送信するメッセージ（第１メッセージ）のように表示させる。つまり、ユーザ端末１００は、出題メッセージに対応して自ユーザが入力した入力メッセージを、チャットにおいて自装置から送信するメッセージと同様（例えば、右側からの吹き出し）に表示部１１０に表示させる。
これにより、ユーザ端末１００は、タイピングゲームにおいても、ユーザが、チャットのメッセージ画面を見ているのと同じように、入力メッセージが表示されるタイピング画面を見ながらタイピング練習ができるようにすることができる。
【０１３４】
なお、上記実施形態では、他装置から送信されたメッセージ（第２メッセージ）が左側からの吹き出しに表示され、自装置から送信するメッセージ（第１メッセージ）が右側からの吹き出しに表示されて区別される例を示したが、それぞれのメッセージは他の表示方法によって区別されてもよい。例えば、それぞれのメッセージが表示される吹き出しの色、形、枠の線種等によって、どちらのユーザ端末１００から送信したメッセージであるかが区別されてもよい。また、送信ユーザを示すユーザ情報（ユーザ名やプロフィール画像）がそれぞれのメッセージに対応付けて表示されることによって区別されてもよい。
【０１３５】
また、メッセージ送信部１５２（送信部）は、操作受付部１２０（ユーザ操作受付部）から入力されたメッセージ（第１メッセージ）をサーバ装置２００に送信する。つまり、ユーザ端末１００は、チャットにおけるメッセージの入力と、タイピングゲームにおける入力メッセージの入力とを、同じ操作受付部１２０が受け付ける。即ち、ユーザ端末１００は、チャットにおけるメッセージの入力と同じ操作方法により、タイピングゲームにおける入力メッセージの入力の操作を受け付ける。
これにより、ユーザ端末１００は、タイピングゲームにおいても、チャットの操作方法と同じ操作方法により、タイピング練習ができるようにすることができる。
【０１３６】
上述してきたように、本実施形態によるユーザ端末１００（端末装置）において、メッセージ送信部１５２（送信部）は、自ユーザのユーザ端末１００（自装置）から他ユーザのユーザ端末１００（他装置）に対して送信するチャットのメッセージ（第１メッセージ）をサーバ装置２００に送信するとともに、照合部１５６が照合した照合結果（タイピングの入力結果）に基づく情報をサーバ装置２００に送信する。ここで、照合部１５６は、タイピングゲームにおける出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合する。
また、メッセージ受信部１５３（受信部）は、一又は複数の他ユーザのユーザ端末１００（他装置）から送信されたチャットのメッセージ（第２メッセージ）をサーバ装置２００を介して受信するとともに、メッセージ受信部１５３（受信部）が受信したタイピングゲームの出題メッセージ（第１の情報）を受信する。
また、表示制御部１５９は、自装置から送信するチャットのメッセージ（第１メッセージ）と他装置から送信されたチャットのメッセージ（第２メッセージ）とを時系列に並べて表示部１１０に表示させるととともに、サーバ装置２００から送信されたタイピングゲームの出題メッセージ（第１の情報）を他装置から送信されたメッセージ（第２メッセージ）として表示させる。すなわち、自装置から送信するメッセージ（第１メッセージ）と他装置から送信されたメッセージ（第２メッセージ）が時系列に並べて表示させるメッセージ画面のように、タイピング画面が表示部１１０に表示されているときには、出題メッセージ（第１の情報）が他装置から送信されたメッセージ（第２メッセージ）のように表示させる。
【０１３７】
つまり、本実施形態では、チャットアプリケーションとタイピングゲーム（タイピング練習機能）とが融合したアプリケーションを提供する。これにより、本実施形態によるユーザ端末１００は、チャットアプリケーションを利用する際の入力操作（タイピング操作）を、チャットアプリケーションのユーザインターフェース上で練習可能とすることができる。よって、本実施形態によれば、チャットアプリケーションにタイピング練習機能が搭載されるため、ユーザは、チャットアプリケーション内で、短時間で且つ正しくメッセージを入力する操作を習得できるようにタイピングの練習を行うことができる。
【０１３８】
従って、本実施形態のユーザ端末１００によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態のユーザ端末１００によれば、利便性の高いアプリケーションを提供することができる。
【０１３９】
また、チャットにより送信するメッセージは、テキスト文字だけではなく、顔文字や絵文字を利用したり、画像やスタンプ等のアイテムを利用したりする。例えば、チャットアプリケーションを使い始めて間もないユーザにとっては、これらを利用できることを知らなかったり、利用できることを知っていても入力の仕方が分からなかったりする場合もある。そのため、本実施形態によれば、チャットアプリケーション上において実行されるため、出題メッセージに、顔文字や絵文字などを含ませるようにすることで、当該アプリケーションでメッセージとして入力可能な文字やアイテムのバリエーションをユーザに対して知らしめることができるようになる。
【０１４０】
なお、表示制御部１５９は、入力メッセージ（第２の情報）を入力する際の操作方法を示す情報を表示部１１０に表示させてもよい。例えば、出題メッセージに対する入力メッセージを正しく入力できなかった場合には、表示制御部１５９は、そのメッセージを正しく入力する際の操作方法を示す情報として、入力操作ガイド（操作方法の説明）を表示部１１０に表示させるようにしてもよい。具体的には、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）を比較することで、出題メッセージに対する入力メッセージを正しく入力できなかった文字を入力メッセージから特定し、特定された文字に対する入力操作ガイドを表示部１１０に表示させる。正しく入力できなかった文字が複数特定された場合には、特定された文字ごとに入力操作ガイド（操作方法の説明）を表示部１１０に表示させるようにしてもよい。
【０１４１】
また、表示制御部１５９は、ユーザが入力メッセージを入力中に操作方法が分からなくなった場合の対応として、例えば、ヘルプボタンに対する操作に応じて、入力操作ガイドを表示部１１０に表示させるようにしてもよい。また、自動的に、入力操作ガイドを表示部１１０に表示させるようにしてもよい。具体的には、入力メッセージの入力中に出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを逐次比較することで、所定時間の間、次に入力すべき文字が入力されなかった場合に、特定された文字に対する入力操作ガイドを表示部１１０に自動的に表示させるようにしてもよい。
【０１４２】
また、図１４に示す選択ラベルＥ５６（チュートリアル）に対して操作がされた場合に、表示制御部１５９は、入力操作ガイドを表示部１１０に表示させてもよい。
これにより、タイピングゲームをチャットアプリケーションのチュートリアルとして機能させることができる。
【０１４３】
＜第２の実施形態＞
次に、本発明の第２の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末１００の照合部１５６が出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合した照合結果に基づく情報が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かを示す情報である例について説明する。
【０１４４】
本実施形態による処理の動作について、図１６を参照して説明する。
図１６は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第２例を示すフローチャートである。この図１６において、図１５の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０１４５】
この図１６に示す例では、ステップＳ２４０の照合部１５６が出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合する処理において、ステップＳ２４１、Ｓ２４２の処理が行われる。また、ステップＳ２５０のメッセージ送信部１５２が照合結果に基づく情報をサーバ装置２００に対して送信する処理において、ステップＳ２５１の処理が行われる。
【０１４６】
ステップＳ２４１において、照合部１５６は、ステップＳ２２０においてタイピング画面に表示された出題メッセージ（第１の情報）と、ステップＳ２３０において、その出題メッセージに対応してユーザが入力した入力メッセージ（第２の情報）とを比較する。そして、照合部１５６は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かを判定する（ステップＳ２４２）。ここで、照合部１５６は、ステップＳ２３０の処理において、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２に対して操作（例えば、タップ操作）がされると、テキストボックスＥ３１に入力された入力メッセージが確定しものとして、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との比較を行う。
【０１４７】
ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定された場合（ステップＳ２４２：ＹＥＳ）、結果送信指示部１５７は、照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したことを示す情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したことを示す情報を、照合結果に基づく情報としてサーバ装置２００に対して送信する（ステップＳ２５１）。
【０１４８】
一方、ステップＳ２４２において、出題メッセージ（第１の情報）と、入力メッセージ（第２の情報）とが一致しないと判定された場合（ステップＳ２４１：ＮＯ）、照合部１５６は、ステップＳ２３０の処理に戻し、ユーザが入力した入力メッセージを操作受付部１２０が受け付ける処理を継続する。
【０１４９】
以上説明したように、本実施形態によるユーザ端末１００において、照合部１５６は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かを判定する。そして、メッセージ送信部１５２（送信部）は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定した場合、当該一致したことを示す情報を、照合結果に基づく情報としてサーバ装置２００に送信する。
【０１５０】
これにより、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合には、その旨をサーバ装置２００に対して送信することができる。また、ユーザ端末１００は、この照合結果に基づく情報をサーバ装置２００に対して送信することにより、サーバ装置２００から送信される次の出題メッセージ（第１の情報）を取得することができる。
【０１５１】
また、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との照合をユーザ端末１００側で行うため、ユーザ端末１００は、サーバ装置２００と通信不良になった場合であっても、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否か（タイピングが正しいか否か）を判定することができる。
【０１５２】
従って、本実施形態のユーザ端末１００によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末１００によれば、利便性の高いアプリケーションを提供することができる。
【０１５３】
なお、上述の図１６に示す処理の説明では、照合部１５６が、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２に対して操作（例えば、タップ操作）がされると、テキストボックスＥ３１に入力された入力メッセージが確定しものとして、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との比較を行うものとして説明したが、これに限られるものではない。例えば、照合部１５６は、テキストボックスＥ３１に文字が入力される度に逐次比較を行ってもよい。この場合には、送信ボタンＥ３２に対する操作がされなくとも、入力メッセージの入力中に入力メッセージが出題メッセージに対して一致したときに、当該一致したことを示す情報をサーバ装置２００に対して送信してもよい。
【０１５４】
なお、図１６を参照して、ユーザ端末１００が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合にのみ当該一致したことを示す情報をサーバ装置２００に送信し、当該一致しない場合には入力メッセージ（第２の情報）の入力の受け付けを継続する処理を説明したが、これに限られるものではない。例えば、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合には当該一致したことを示す情報をサーバ装置２００に送信し、当該一致しない場合には当該一致しないことを示す情報をサーバ装置２００に送信してもよい。この処理の動作について、図１７を参照して説明する。
【０１５５】
図１７は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第３例を示すフローチャートである。この図１７において、図１６の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０１５６】
ステップＳ２４１において、照合部１５６は、ステップＳ２２０においてタイピング画面に表示された出題メッセージ（第１の情報）と、ステップＳ２３０において、その出題メッセージに対応してユーザが入力した入力メッセージ（第２の情報）とを比較する。そして、照合部１５６は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かを判定する（ステップＳ２４２）。ここで、照合部１５６は、ステップＳ２３０の処理において、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２に対して操作（例えば、タップ操作）がされると、テキストボックスＥ３１に入力された入力メッセージが確定しものとして、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との比較を行う。
【０１５７】
ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定された場合（ステップＳ２４２：ＹＥＳ）の処理は、図１６に示すステップＳ２５１の処理と同様である。
【０１５８】
一方、ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないと判定された場合（ステップＳ２４２：ＮＯ）、結果送信指示部１５７は、照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないことを示す情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置２００に対して送信する（ステップＳ２５２）。
【０１５９】
これにより、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しなかった場合には、その旨をサーバ装置２００に対して送信することができる。また、ユーザ端末１００は、この照合結果に基づく情報をサーバ装置２００に対して送信することにより、サーバ装置２００から送信される次の出題メッセージ（第１の情報）を取得することができる。
【０１６０】
＜第３の実施形態＞
次に、本発明の第３の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末１００の照合部１５６が出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合した照合結果に基づく情報が、出題メッセージ（第１の情報）に対して、ユーザが正しく入力メッセージ（第２の情報）を入力するために要した時間である例について説明する。
【０１６１】
本実施形態による処理の動作について、図１８を参照して説明する。
図１８は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第４例を示すフローチャートである。この図１８において、図１６の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０１６２】
表示制御部１５９が、サーバ装置２００から受信した出題メッセージ（第１の情報）をタイピング画面（表示部１１０）に表示させる（ステップＳ２２０）と、計時部１５８は、経過時間の計時を開始する（ステップＳ２２５）。
【０１６３】
また、ステップＳ２３０において、操作受付部１２０に対するユーザの入力メッセージの入力が終了すると、計時部１５８は、出題メッセージを表示させてからの経過時間を取得する。例えば、計時部１５８は、出題メッセージを表示させてから、テキストボックスＥ３１に入力メッセージが入力され送信ボタンＥ３２にタップ操作がされるまでの経過時間を取得する（ステップＳ２３５）。即ち、計時部１５８は、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時する。なお、計時部１５８は、出題メッセージを表示させてからの経過時間の計時を継続して行う。
【０１６４】
また、ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定された場合（ステップＳ２４２：ＹＥＳ）、結果送信指示部１５７は、照合結果に基づく情報として、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を、照合結果に基づく情報としてサーバ装置２００に対して送信する（ステップＳ２５５）。
【０１６５】
以上説明したように、本実施形態によるユーザ端末１００は、出題メッセージ（第１の情報）が表示部１１０に表示されてから入力メッセージ（第２の情報）の入力の終了までの経過時間を計時する計時部１５８を備えている。また、照合部１５６は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かを判定する。そして、メッセージ送信部１５２（送信部）は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定した場合、計時部１５８が計時した上述の経過時間を、照合結果に基づく情報としてサーバ装置２００に送信する。
【０１６６】
これにより、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合には、ユーザが出題メッセージに対して正しく入力メッセージを入力するために要した時間（経過時間）をサーバ装置２００に対して送信することができる。
【０１６７】
また、照合処理と経過時間の計時処理をユーザ端末１００側で行うため、ユーザ端末１００は、サーバ装置２００と通信不良になった場合であっても、サーバ装置２００との通信時間の影響を受けずに、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否か（タイピングした結果が正しいか否か）の判定と経過時間の計時とをすることができる。
【０１６８】
従って、本実施形態のユーザ端末１００によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末１００によれば、利便性の高いアプリケーションを提供することができる。
【０１６９】
また、ユーザ端末１００は、ユーザが出題メッセージに対して正しく入力メッセージを入力するために要した時間（経過時間）をサーバ装置２００に対して送信することにより、サーバ装置２００においてユーザ自身の上達レベルや他のユーザとの比較を行うことができるようにするため、タイピングゲームのゲーム性を高めることができる。
【０１７０】
なお、上述の説明では、入力メッセージの入力の終了までの経過時間を、テキストボックスＥ３１に入力メッセージが入力され送信ボタンＥ３２にタップ操作がされるまでの経過時間として説明したが、これに限られるものではない。例えば、照合部１５６が、入力メッセージの入力中に出題メッセージと入力メッセージとを逐次照合（比較）する場合には、入力メッセージの入力の終了までの経過時間を、出題メッセージに対して入力メッセージが一致したときに最後に入力された文字が確定したタイミングまでの経過時間としてもよい。即ち、送信ボタンＥ３２を設けない構成としてもよい。
【０１７１】
＜第４の実施形態＞
次に、本発明の第４の実施形態を説明する。上述した第２の実施形態において、ユーザ端末１００が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合にのみ当該一致したことを示す情報をサーバ装置２００に送信する処理の例と、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したか否かに基づいて、当該一致したか否かを示す情報をサーバ装置２００に送信する処理の例とを説明した、これに限られるものではない。例えば、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致した場合にのみ当該一致したことを示す情報をサーバ装置２００に送信するとともに、上述した第３の実施形態のように経過時間を計時して、制限時間を越えた場合には、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致していなくとも、当該一致していないことを示す情報をサーバ装置２００に送信してもよい。
【０１７２】
本実施形態による処理の動作について、図１９を参照して説明する。
図１９は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第５例を示すフローチャートである。この図１９において、図１７又は図１８の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０１７３】
この図１９に示す処理は、図１７に示す処理に対して、図１８に示す経過時間を計時するステップＳ２２５及びステップＳ２３５の処理を追加するとともに、ステップＳ２４３の経過時間の判定処理を新たに追加している。
【０１７４】
ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないと判定された場合（ステップＳ２４２：ＮＯ）、結果送信指示部１５７は、ステップＳ２３５において取得した経過時間が予め定められた閾値を超えているか否かを判定する（ステップＳ２４３）。ここで、予め定められた閾値は、ユーザに対して入力メッセージの入力を許可している制限時間の閾値として予め定められている。
【０１７５】
ステップＳ２４３において、ステップＳ２３５において取得した経過時間が予め定められた閾値を超えていると判定された場合（ステップＳ２４３：ＹＥＳ）、図１７に示すステップＳ２５２と同様の処理を実行し、メッセージ送信部１５２は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置２００に対して送信する。
【０１７６】
一方、ステップＳ２４３において、ステップＳ２３５において取得した経過時間が予め定められた閾値を超えていないと判定された場合（ステップＳ２４３：ＮＯ）、結果送信指示部１５７は、ステップＳ２３０に処理を戻し、ユーザが入力した入力メッセージを操作受付部１２０が受け付ける処理を継続する。
【０１７７】
以上説明したように、本実施形態によるユーザ端末１００において、メッセージ送信部１５２（送信部）は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致しないと判定した場合であっても、出題メッセージ（第１の情報）が表示部１１０に表示されてからの経過時間が予め定められた閾値を超えた場合には、当該一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置２００に送信する。
【０１７８】
つまり、ユーザ端末１００は、出題メッセージに対して、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、正しい入力ができていないことを示す情報をサーバ装置２００に送信する。
これにより、ユーザ端末１００は、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、サーバ装置２００から送信される次の出題メッセージ（第１の情報）を取得することができる。
【０１７９】
＜第５の実施形態＞
次に、本発明の第５の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末１００の照合部１５６が出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合した照合結果に基づく情報が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合を示す情報である例について説明する。
【０１８０】
本実施形態による処理の動作について、図２０を参照して説明する。
図２０は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第６例を示すフローチャートである。この図２０において、図１６の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０１８１】
この図２０に示す例では、ステップＳ２４０の照合部１５６が出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合する処理において、ステップＳ２６０に示すステップＳ２４１の処理と、新たなステップＳ２４２の処理とが行われる。また、ステップＳ２５０のメッセージ送信部１５２が照合結果に基づく情報をサーバ装置２００に対して送信する処理において、ステップＳ２５６の処理が行われる。
【０１８２】
ステップＳ２４０において、照合部１５６は、ステップＳ２２０においてタイピング画面に表示された出題メッセージ（第１の情報）と、ステップＳ２３０において、その出題メッセージに対応してユーザが入力した入力メッセージ（第２の情報）とを比較する。ここで、照合部１５６は、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かを判定する。
【０１８３】
そして、照合部１５６は、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かを示す情報に基づいて、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合（正解率）を算出する（ステップＳ２４３）。
【０１８４】
次に、結果送信指示部１５７は、照合結果に基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合（正解率）を示す情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合（正解率）を示す情報を、照合結果に基づく情報としてサーバ装置２００に対して送信する（ステップＳ２５６）。
【０１８５】
以上説明したように、本実施形態によるユーザ端末１００において、照合部１５６は、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かを判定する。そして、メッセージ送信部１５２（送信部）は、照合部１５６が判定した、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報を、照合結果に基づく情報としてサーバ装置２００に送信する。
【０１８６】
例えば、ユーザ端末１００は、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報として、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合（正解率）をサーバ装置２００に送信する。
【０１８７】
これにより、ユーザ端末１００は、例えば、制限時間を設けることにより速さと正確さを要求したタイピングゲームにおいて、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との一致した割合（正解率）をサーバ装置２００に送信することにより、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになるため、ゲーム性を高めることができる。
【０１８８】
なお、出題メッセージ（第１の情報）に含まれる複数の情報のそれぞれと、入力メッセージ（第２の情報）に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報として、一致した割合（正解率）に代えて、一致しなかった割合（不正解率）としてもよい。
【０１８９】
なお、ユーザ端末１００は、複数の出題メッセージそれぞれに対する入力メッセージの正解率（一致した問題の割合）を、サーバ装置に送信してもよい。この場合、ユーザ端末１００は、複数の出題メッセージそれぞれに対する入力メッセージが一致してもしていなくとも次の出題メッセージに移行するようにして正解率を算出してもよいし、制限時間を設けて制限時間内に正しく入力できなかった場合には誤と判定して次の出題メッセージに移行するようにして正解率を算出してもよい。
【０１９０】
＜第６の実施形態＞
次に、本発明の第６の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末１００がサーバ装置２００から複数の出題メッセージ（第１の情報）をまとめて取得する場合の処理について説明する。
【０１９１】
本実施形態による処理の動作について、図２１を参照して説明する。
図２１は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第７例を示すフローチャートである。この図２１に示す処理は、図１５の処理に対して、サーバ装置２００から複数の出題メッセージ（第１の情報）をまとめて取得し、取得した出題メッセージ（第１の情報）を一問ずつ順に出題して、最後に照合結果に基づく情報をサーバ装置２００に送信する処理を示している。
【０１９２】
まず、ユーザ端末１００の問題取得指示部１５５は、図１４に示すタイピングメニュー画面に対するユーザの操作に応じて、選択された分類（例えば、難易度のレベル）の複数の出題メッセージ（第１の情報）の要求指示を示す「出題メッセージ要求指示情報」をサーバ装置２００に送信する（ステップＳ３００）。ユーザ端末１００から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置２００は、複数の出題メッセージを含む複数の出題メッセージ情報をユーザ端末１００に対して送信する。
【０１９３】
次に、ユーザ端末１００のメッセージ受信部１５３は、サーバ装置２００から送信された複数の出題メッセージ情報を受信し、メッセージ情報記憶部１４３に記憶させる（ステップＳ３１０）。
【０１９４】
続いて、表示制御部１５９は、サーバ装置２００から受信した複数の出題メッセージ（第１の情報）のうちの一問目の出題メッセージをタイピング画面（表示部１１０）に表示させる（ステップＳ３２０）。具体的には、表示制御部１５９は、サーバ装置２００から受信した出題メッセージのうちの一問目の出題メッセージを、タイピング画面において、左側からの吹き出しに表示させる（図１１参照）。
【０１９５】
表示制御部１５９が出題メッセージをタイピング画面に表示させると、操作受付部１２０は、その出題メッセージに対応して、ユーザが入力した入力メッセージ（第２の情報）を受け付ける（ステップＳ３３０）。例えば、メッセージ送信指示部１５１は、テキストボックスＥ３１に入力メッセージが入力され、送信ボタンＥ３２にタップ操作がされると、テキストボックスＥ３１に入力された入力メッセージをサーバ装置２００に送信せずに、メッセージ情報記憶部１４３に記憶させる。
【０１９６】
次に、照合部１５６は、ステップＳ２２０においてタイピング画面に表示された出題メッセージ（第１の情報）と、ステップＳ２３０において、その出題メッセージに対応してユーザが入力した入力メッセージ（第２の情報）とを照合する（ステップＳ３４０）。
【０１９７】
続いて、表示制御部１５９は、メッセージ情報記憶部１４３を参照して、次に表示させる出題メッセージがあるか否かを判定する（ステップＳ３５０）。ステップＳ３５０において、次の出題メッセージがあると判定された場合（ステップＳ３５０：ＹＥＳ）、表示制御部１５９は、ステップＳ３２０の処理に戻し、次の出題メッセージをタイピング画面に表示させる（図１２参照）。
【０１９８】
一方、ステップＳ３５０において、次の出題メッセージがないと判定された場合（ステップＳ３５０：ＮＯ）、結果送信指示部１５７は、照合部１５６が複数の出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを照合した照合結果に基づく情報をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、照合結果に基づく情報をサーバ装置２００に対して送信する（ステップＳ３６０）。ここでの照合結果に基づく情報とは、例えば、最初（一問目）の出願メッセージ（第１の情報）が表示されてから、最後の出願メッセージ（第１の情報）に対応する入力メッセージ（第２の情報）の入力が終了するまで（最後の出願メッセージと、それに一致する入力メッセージの入力が終了したときまで）の経過時間を示す情報である。なお、ここでの照合結果に基づく情報とは、複数の出願メッセージ（第１の情報）と入力メッセージ（第２の情報）とのそれぞれが一致したか否かを示す情報、又は、一致した割合（正解率）を示す情報であってもよい。
【０１９９】
このように、本実施形態によるユーザ端末１００は、サーバ装置２００からまとめて送信された複数の出題メッセージを、１問ずつ順番に表示部１１０に表示させる。
これにより、ユーザ端末１００は、１問毎にサーバ装置２００と通信することなく、サーバ装置２００から１問ずつ取得する場合と同様に、１問ずつ順番に表示部１１０に表示させることができる。この場合も、ユーザ端末１００は、１問ずつ順番に出題メッセージを例えば左側からの吹き出しに表示させる。
【０２００】
＜第７の実施形態＞
【０２０１】
次に、本発明の第７の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末１００の操作受付部１２０に対する操作入力の受け付けを制御する処理について説明する。
【０２０２】
本実施形態による処理の動作について、図２２を参照して説明する。
図２２は、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作の第８例を示すフローチャートである。この図２２に示す処理は、操作受付部１２０に対する操作入力の受け付けを制御する処理を示している。この図２２において、図１６の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０２０３】
ステップＳ２２０において、表示制御部１５９が出題メッセージをタイピング画面に表示させると、操作受付指示部１５４は、操作受付部１２０に対する操作入力の受け付けを許可する。例えば、操作受付指示部１５４は、メッセージ画面に表示されるテキストボックスＥ３１に対するユーザからの操作入力の受け付けの開始を指示する（ステップＳ２２５）。これにより、操作受付部１２０は、ユーザが入力した入力メッセージ（第２の情報）を受け付ける（ステップＳ２３０）。
【０２０４】
また、ステップＳ２４２において、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定された場合（ステップＳ２４２：ＹＥＳ）、操作受付指示部１５４は、操作受付部１２０に対する操作入力の受け付けを禁止する。例えば、操作受付指示部１５４は、メッセージ画面に表示されるテキストボックスＥ３１に対するユーザからの操作入力の受け付けの終了を指示する（ステップＳ２４５）。
【０２０５】
一方、ステップＳ２４２において、出題メッセージ（第１の情報）と、入力メッセージ（第２の情報）とが一致しないと判定された場合（ステップＳ２４２：ＮＯ）、操作受付指示部１５４は、ステップＳ２３０の処理に戻し、ユーザが入力した入力メッセージを操作受付部１２０が受け付ける処理を継続させる。
【０２０６】
以上説明したように、本実施形態によるユーザ端末１００は、表示制御部１５９が出題メッセージ（第１の情報）を表示部１１０に表示させたことに応じて、操作受付部１２０（ユーザ操作受付部）に対して、入力メッセージ（第２の情報）の入力の受け付けを開始させる指示をする操作受付指示部１５４を備えている。
【０２０７】
これにより、ユーザ端末１００は、出題メッセージを表示させたことに応じて、入力メッセージ（第２の情報）の入力の受け付けを開始（許可）することができる。なお、入力メッセージ（第２の情報）の入力の受け付けは、ユーザの操作受付部１２０（ユーザ操作受付部）に対する操作に応じて開始されるようにしてもよいし、常時受け付けが許可されているようにしてもよい。
【０２０８】
また、操作受付指示部１５４は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致したと判定した場合、操作受付部１２０（ユーザ操作受付部）に対して、入力メッセージ（第２の情報）の入力の受け付けを終了させる指示をする。一方、操作受付指示部１５４は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致していないと判定した場合、操作受付部１２０（ユーザ操作受付部）に対して、入力メッセージ（第２の情報）の入力の受け付けを継続させる指示をする。
【０２０９】
これにより、ユーザ端末１００は、出題メッセージに対して、正しく入力メッセージが入力された（タイピングが正しかった）場合には、入力メッセージ（第２の情報）の入力の受け付けを終了（禁止）することができる。また、ユーザ端末１００は、出題メッセージに対して、正しく入力メッセージが入力されなかった（タイピングが誤っている）場合には、入力メッセージ（第２の情報）の入力の受け付けを継続（許可）することができる。
【０２１０】
なお、操作受付指示部１５４は、照合部１５６が、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とが一致していないと判定した場合であっても、出題メッセージ（第１の情報）が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、操作受付部１２０（ユーザ操作受付部）に対して、入力メッセージ（第２の情報）の入力の受け付けを終了させる指示をしてもよい。
【０２１１】
これにより、ユーザ端末１００は、ユーザ端末１００は、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、入力メッセージ（第２の情報）の入力の受け付けを終了（禁止）することができる。
＜第８の実施形態＞
【０２１２】
次に、本発明の第８の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態と同様である。本実施形態では、サーバ装置２００の構成と処理について詳しく説明する。
【０２１３】
まず、本実施形態によるサーバ装置２００が実行するタイピングゲームの基本的な処理の動作について、図２３を参照して説明する。
図２３は、本実施形態によるサーバ装置２００が実行するタイピングゲームの動作の第１例を示すフローチャートである。
【０２１４】
サーバ装置２００のタイピング処理部２５２は、ユーザ端末１００から送信された出題メッセージ要求指示情報を受信する（ステップＳ４００）ことに応じて、出題メッセージ（第１の情報）を問題記憶部２４４から読み出して、読み出した出題メッセージを含む出題メッセージ情報を当該ユーザ端末１００に送信する（ステップＳ４１０）。
【０２１５】
次に、タイピング処理部２５２は、ユーザ端末１００から送信された照合結果に基づく情報を受信する（ステップＳ４２０）ことに応じて、次の出題メッセージ（第１の情報）があるか否かを判定する（ステップＳ４３０）。
【０２１６】
ステップＳ４３０において、次の出題メッセージ（第１の情報）があると判定された場合（ステップＳ４３０：ＹＥＳ）、タイピング処理部２５２は、ステップＳ４１０に処理を戻し、次の出題メッセージ（第１の情報）を含む出題メッセージ情報を問題記憶部２４４から読み出して、ユーザ端末１００に送信する）。一方、ステップＳ４３０において、次の出題メッセージ（第１の情報）がないと判定された場合（ステップＳ４３０：ＮＯ）、タイピング処理部２５２は、出題メッセージ（第１の情報）をユーザ端末１００に送信する処理を終了する。
【０２１７】
このように、本実施形態によるサーバ装置２００は、ユーザ端末１００（端末装置）に対して、出題メッセージ（第１の情報）を送信するメッセージ転送部２５１（サーバ送信部）を備えている。ここで、このユーザ端末１００は、受信した出題メッセージ（第１の情報）を表示部１１０に表示させ、表示部１１０に表示させた出題メッセージ（第１の情報）と、操作受付部１２０（ユーザ操作受付部）から入力された入力メッセージ（第２の情報）とを照合し、当該照合した照合結果に基づく情報を送信する。また、メッセージ転送部２５１（サーバ受信部）は、ユーザ端末１００（端末装置）から送信された照合結果に基づく情報を受信する。
【０２１８】
これにより、サーバ装置２００は、タイピングゲームの出題メッセージをユーザ端末１００に送信することができる。また、サーバ装置２００は、送信した出題メッセージに対してユーザが入力した入力メッセージと、当該出題メッセージとの照合結果に基づく情報を取得することができる。例えば、サーバ装置２００は、出題メッセージと入力メッセージとの照合結果に基づく情報として、出題メッセージに対して正しく入力メッセージが入力されたか否かを示す情報、又は、出題メッセージに対して正しく入力メッセージが入力されるまでに要した時間（経過時間）等を取得することができる。
【０２１９】
次に、サーバ装置２００が備えるタイピング処理部２５２の構成について詳しく説明する。図２４は、本実施形態によるタイピング処理部２５２の構成の一例を示す概略ブロック図である。
【０２２０】
タイピング処理部２５２は、問題送信指示部２５３と、結果処理部２５４と、集計部２５５と、取得部２５６、生成部２５７と、分類部２５８と、を備えている。
【０２２１】
問題送信指示部２５３は、問題記憶部２４４から出題メッセージ（第１の情報）を読み出して、読み出した出題メッセージに、グループＩＤ（例えば、グループＩＤ「Ｇ７」）と、ユーザＩＤ（例えば、ユーザＴのユーザＩＤ「Ｔ」）と、日時情報と、グループ種類（例えば、フラグ「１０」）とが含まれる出題メッセージ情報を生成する。メッセージ転送部２５１は、問題送信指示部２５３が出題メッセージ情報を生成すると、当該生成した出題メッセージ情報をユーザ端末１００に送信する。
つまり、問題送信指示部２５３は、ユーザ端末１００から送信された出題メッセージ要求指示情報を受信することに応じて出題メッセージ情報を生成することにより、生成した出題メッセージ情報をメッセージ転送部２５１を介して当該ユーザ端末１００に送信する。
【０２２２】
結果処理部２５４は、ユーザ端末１００から送信された照合結果に基づく情報を受信することに応じて、次の出題メッセージがあるか否かを判定し、次の出題メッセージがあると判定した場合には、問題送信指示部２５３に対して、次の出題メッセージをユーザ端末１００に送信する指示を生成するように指示する。また、結果処理部２５４は、ユーザ端末１００から送信された照合結果に基づく情報を結果記憶部２４５に記憶させるとともに、集計部２５５に供給する。
【０２２３】
さらに、結果処理部２５４は、照合結果に基づく情報を供給することにより集計部２５５が集計した集計結果（例えば、ランキング情報）を取得して、取得した集計結果を結果記憶部２４５に記憶させる。また、結果処理部２５４は、ユーザ端末１００からの要求等に応じて、集計結果（例えば、ランキング情報）をユーザ端末１００に送信する指示を生成し、メッセージ転送部２５１を介してユーザ端末１００に送信する。
【０２２４】
集計部２５５は、ユーザ端末１００から送信された複数の照合結果に基づく情報を集計して、照合結果に基づく情報の順位付けを行う。例えば、集計部２５５は、複数のユーザ端末１００のそれぞれから送信された照合結果に基づく情報の順位付けを行うことにより、複数のユーザが行ったタイピング結果のランキング情報を生成する。また、集計部２５５は、一のユーザ端末１００から送信された複数の照合結果に基づく情報の順位付けを行うことにより、一のユーザが複数回行ったタイピング結果のランキング情報を生成する。
【０２２５】
例えば、結果処理部２５４は、ユーザ端末１００から送信された照合結果に基づく情報を受信することに応じて、次の出題メッセージがあるか否かを判定し、次の出題メッセージ（第１の情報）がないと判定した場合には、ユーザ端末１００に集計結果を送信するようにしてもよい。この処理について、図２５を参照して説明する。
【０２２６】
図２５は、本実施形態によるサーバ装置２００が実行するタイピングゲームの動作の第２例を示すフローチャートである。この図２５において、図２３の各処理に対応する処理には同一の符号を付け、その説明を省略する。
【０２２７】
ステップＳ４００からＳ４２０の処理は、図２３を参照して説明した処理と同様の処理である。ステップＳ４３０において、次の出題メッセージ（第１の情報）がないと判定された場合（ステップＳ４３０：ＮＯ）、結果処理部２５４は、照合結果に基づく情報を集計部２５５に供給する。集計部２５５は、結果処理部２５４から供給された照合結果に基づく情報（例えば、経過時間）を集計して、照合結果に基づく情報の順位付けを行う。例えば、集計部２５５は、結果処理部２５４から供給された照合結果に基づく情報（例えば、経過時間）と、過去に複数のユーザ端末１００のそれぞれから送信された照合結果に基づく情報（例えば、経過時間）とに基づいて、結果処理部２５４から供給された照合結果に基づく情報（例えば、経過時間）の順位を示すランキング情報を生成する。そして、集計部２５５は、生成したランキング情報を結果記憶部２４５に記憶させるとともに、結果処理部２５４に対して供給（応答）する（ステップＳ４４０）。
【０２２８】
結果処理部２５４は、集計部２５５から供給されたランキング情報を取得して、当該ランキング情報をユーザ端末１００に送信する指示を生成する。この指示に応じて、メッセージ転送部２５１は、当該ランキング情報をユーザ端末１００に送信する（ステップＳ４５０）。
【０２２９】
このように、本実施形態によるサーバ装置２００は、ユーザ端末１００（端末装置）から送信された複数の照合結果に基づく情報の順位付けを行う集計部２５５を備えている。そして、メッセージ転送部２５１（サーバ送信部）は、集計部２５５により行われた順位付けを示す情報をユーザ端末１００（端末装置）に送信する。つまり、サーバ装置２００は、ユーザ端末１００から送信された複数の照合結果に基づく情報の順位付けを行い、例えば、ランキング情報を生成する。そして、サーバ装置２００は、生成したランキング情報をユーザ端末１００に送信する。
【０２３０】
これにより、サーバ装置２００は、各ユーザのタイピングの成績を、各ユーザのユーザ端末１００それぞれに送信することができるため、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになる。例えば、チャット仲間どうしで、タイピングを競うことができるようになる。従って、本実施形態によれば、タイピングゲームのゲーム性を高めることができ、チャットを行う際の操作（例えば、タイピング操作や画像選択操作）の習得を促進させることができる。
【０２３１】
なお、サーバ装置２００は、各ユーザのタイピングの成績に応じて、特定のユーザに称号を与えるようにしてもよい。例えば、サーバ装置２００は、付与された称号をユーザのプロフィールとして紹介されるようにユーザ情報を更新してもよいし、称号によってプロフィール画像に称号バッチが表示されるようにユーザ情報を更新してもよい。
【０２３２】
また、各ユーザのタイピングの成績は、例えば、出題数が例えば１０問であり、それぞれの出題に係る経過時間の累計により決定されるようにしてもよい。また、各ユーザのタイピングの成績は、予め定められた時間内に何問正しく入力できたかを競うことにより決定されてもよい。ここで、正しく入力できた数が同一のユーザがいる場合には、出題に対して最後まで入力しきれなかった途中までの入力文字数を加味して成績が決定されてもよい。
【０２３３】
（出題メッセージの生成）
なお、上記実施形態では、タイピングの出題となる出題メッセージは、固定の出題メッセージが予めサーバ装置２００に記憶されているものとして説明したが、サーバ装置２００は、その時々に応じた出題メッセージを生成してもよい。例えば、サーバ装置２００は、その時々のニュースの見出しや内容を出題メッセージとしてもよい。
【０２３４】
図２４に戻り、取得部２５６は、時間の経過にともなって逐次更新される情報をネットワーク５を介して取得する。ここで、時間の経過にともなって逐次更新される情報とは、例えば、最新の時事情報（最新のニュース）である。例えば、取得部２５６は、新聞社、通信社、放送局等が逐次更新して配信するニュースを、ネットワーク５を介して取得する。
【０２３５】
生成部２５７は、取得部２５６が取得した情報（例えば、ニュース）に基づいて出題メッセージを生成する。例えば、生成部２５７は、取得部２５６が取得したニュースに基づいて、当該ニュースの見出しや内容を含む出題メッセージを生成し、生成した出題メッセージを含むメッセージ情報を問題記憶部２４４に記憶させる。なお、生成部２５７は、取得部２５６がジャンル毎に取得したニュースに基づいてジャンル毎の出題メッセージを生成し、生成した出題メッセージと、ジャンル毎に区別可能な分類情報とを対応付けた出題メッセージ情報を問題記憶部２４４に記憶させてもよい。
【０２３６】
このように、本実施形態によるサーバ装置２００は、時間の経過にともなって逐次更新される情報をネットワーク５を介して取得する取得部２５６と、取得部２５６が取得した情報に基づいて出題メッセージ（第１の情報）を生成する生成部２５７と、を備えている。
【０２３７】
これにより、サーバ装置２００は、現在、注目度の高い話題やよく用いられている用語等が含まれる情報を、タイピングの出題メッセージとすることができる。また、サーバ装置２００は、ニュースの見出しや内容をタイピングの出題メッセージとすることにより、タイピングゲームを行うユーザがニュースに精通するようにさせることができる。
【０２３８】
なお、サーバ装置２００は、例えば、ニュースの見出しや内容をタイピングの出題メッセージとした場合に、ニュースのジャンルをユーザが選択できるようにしてもよい。
【０２３９】
（出題するタイピングの問題の分類）
図２４に示す分類部２５８は、出題メッセージを所定の条件に従って分類する。ここで、所定の条件とは、例えば、ユーザ端末１００において、タイピングの出題である出題メッセージと同じになるように入力メッセージを入力する操作の難易度に基づく条件である。
【０２４０】
具体的には、メッセージに含まれる文字の種類、アイテム（例えば、スタンプ）が含まれるか否かによって、タイピング操作の難易度が定められる。例えば、ソフトウェアキーボードに対する単純なキー操作により入力可能な出題メッセージ（テキスト文字のみの出題メッセージ）は難易度の低い出題に分類され、出題メッセージに絵文字や顔文字が含まれること、さらにはアイテム（例えば、スタンプ）が含まれることに応じて、入力に複雑な操作が必要となって難易度の高い出題に分類される。
【０２４１】
ここでは、分類部２５８は、出題メッセージに含まれる情報の種類（文字の種類、アイテム（例えば、スタンプ）が含まれるか否か等）に基づいてタイピング操作の難易度を判定し、当該判定した難易度に基づく条件に従って当該出題メッセージを分類する。例えば、分類部２５８は、複数の出題メッセージのそれぞれを、難易度に基づく条件に従って、初級の出題、中級の出題、又は、上級の出題のいずれかに分類する（図１４参照）。
なお、分類部２５８は、出題メッセージをジャンルに基づいて分類してもよい。
【０２４２】
図２６は、本実施形態による出題メッセージを分類する処理の動作例を示すフローチャートである。この図２６を参照して、サーバ装置２００が出題メッセージを分類する処理の動作を説明する。
【０２４３】
分類部２５８は、問題記憶部２４４から出題メッセージ（第１の情報）を読み出す（ステップＳ５００）。この出題メッセージは、例えば、生成部２５７が生成した出題メッセージである。なお、この出題メッセージは、予め記憶されている出題メッセージであってもよい。
【０２４４】
次に、分類部２５８は、出題メッセージに含まれる情報の種類（文字の種類、アイテム（例えば、スタンプ）が含まれるか否か等）に基づいてタイピング操作の難易度を判定する（ステップＳ５１０）。そして、分類部２５８は、ステップＳ５１０において判定した難易度に基づく条件に従って当該出題メッセージを、初級の出題、中級の出題、又は、上級の出題のいずれかに分類する。
【０２４５】
ステップＳ５１０において、分類部２５８は、出題メッセージに含まれる情報の種類がテキスト文字のみである場合には難易度が初級であると判定し、当該出題メッセージを初級の出題に分類する（ステップＳ５２０）。また、ステップＳ５１０において、分類部２５８は、出題メッセージに含まれる情報の種類がテキスト文字と絵文字と顔文字とを含む場合には難易度が中級であると判定し、当該出題メッセージを中級の出題に分類する（ステップＳ５３０）。また、ステップＳ５１０において、分類部２５８は、出題メッセージに含まれる情報の種類がテキスト文字と絵文字と顔文字とスタンプとを含む場合には難易度が上級であると判定し、当該出題メッセージを上級の出題に分類する（ステップＳ５４０）。
【０２４６】
なお、分類部２５８は、分類した結果に基づいて、出題メッセージと、難易度毎に区別可能な分類情報とを対応付けた出題メッセージ情報を問題記憶部２４４に記憶させる。
【０２４７】
このように、本実施形態によるサーバ装置２００は、出題メッセージ（第１の情報）を所定の条件に従って分類する分類部２５８を備えている。
これにより、サーバ装置２００は、所定の条件に従って分類された出題メッセージをユーザ端末１００に提供することができるため、ユーザが出題メッセージを所定の条件により選択できるようにすることができる。
【０２４８】
ここで、所定の条件は、例えば、ユーザ端末１００（端末装置）において、出題メッセージ（第１の情報）と一致するように入力メッセージ（第２の情報）を入力する操作の難易度に基づく条件である。
これにより、サーバ装置２００は、操作の難易度に基づく条件に従って分類された出題メッセージをユーザ端末１００に提供することができるため、ユーザが出題メッセージを操作の難易度により選択できるようにすることができる。
【０２４９】
具体的には、分類部２５８は、例えば、出題メッセージ（第１の情報）に含まれる情報の種類に基づいて難易度を判定し、当該判定した難易度に基づく条件に従って出題メッセージ（第１の情報）を分類する。
これにより、サーバ装置２００は、例えば、出題メッセージに含まれる文字の種類、又は、出題メッセージにアイテム（例えば、スタンプ）が含まれるか否か等に基づいて判定した操作の難易度に従って、出題メッセージを分類することができる。
【０２５０】
よって、サーバ装置２００は、例えば、生成部２５７が生成したニュースの見出しや内容を含む出題メッセージを、操作の難易度に基づく条件に従って分類してユーザ端末１００に提供することができる。また、サーバ装置２００は、例えば、予め問題記憶部２４４に記憶されている出題メッセージのうち分類されていない出題メッセージを分類してユーザ端末１００に提供することができる。
【０２５１】
なお、サーバ装置２００は、生成部２５７が生成したる出題メッセージ、又は、予め問題記憶部２４４に記憶されている出題メッセージのうち分類されていない出題メッセージを、ジャンルに基づく条件に従って分類してユーザ端末１００に提供してもよい。
【０２５２】
以上のように、本実施形態のサーバ装置２００によれば、利便性の高いタイピング練習アプリケーションを提供することができる。また、本実施形態のサーバ装置２００によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態のサーバ装置２００によれば、利便性の高いアプリケーションを提供することができる。
【０２５３】
＜第９の実施形態＞
次に、本発明の第９の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１の実施形態に対してユーザ端末１００が照合部１５６を備えていないことが異なる。本実施形態では、ユーザ端末１００では、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）との照合を行わずに、入力された入力メッセージ（第２の情報）と、入力メッセージの入力に要した時間（経過時間）とをサーバ装置２００に送信する例について説明する。
【０２５４】
まず、図２７を参照して、ユーザ端末１００の構成について説明する。図２７は、本実施形態によるユーザ端末１００の構成の一例を示す概略ブロック図である。この図２７に示す構成は、図３に示す構成に対して、照合部１５６を備えていない構成であることが異なる。なお、この図２７において、図３の各部と対応する構成には同じ符号をつけておりその説明を省略する。
【０２５５】
本実施形態では、ユーザ端末１００において出題メッセージと入力メッセージとの照合を行わない。そして、結果送信指示部１５７は、入力メッセージの入力が終了すると（例えば、送信ボタンＥ３２に対する操作がされると）、ユーザが入力メッセージの入力（タイピング）に要した時間、即ち、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了まで（例えば、送信ボタンＥ３２に対する操作がされるまで）の経過時間を、サーバ装置２００に送信する。また、結果送信指示部１５７は、この経過時間とともに、ユーザが入力した入力メッセージをサーバ装置２００に送信する。これにより、サーバ装置２００において、出題メッセージと入力メッセージとの照合処理を行うように構成してもよい。
【０２５６】
また、本実施形態によるユーザ端末１００が実行するタイピングゲームの動作例は、図１８に示すフローチャートにおいて、ステップＳ２４０の処理（ステップＳ２４１、Ｓ２４２の処理）を省くことにより示すことができる。
【０２５７】
具体的には、ステップＳ２３５において、計時部１５８が、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時すると、次に、結果送信指示部１５７は、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置２００に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部１５２は、表示部１１０に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置２００に対して送信する（ステップＳ２５５）。なお、メッセージ送信部１５２は、ステップＳ２３０において、操作受付部１２０が受け付けた入力メッセージをサーバ装置２００に対して送信する。
【０２５８】
以上説明したように、本実施形態によるユーザ端末１００は、サーバ装置２００から送信された出題メッセージ（第１の情報）を受信するメッセージ受信部１５３（受信部）と、メッセージ受信部１５３が受信した出題メッセージ（第１の情報）を表示部１１０に表示させる表示制御部１５９とを備えている。また、ユーザ端末１００は、出題メッセージ（第１の情報）が表示部１１０に表示されてから、操作受付部１２０（ユーザ操作受付部）に対して入力される入力メッセージ（第２の情報）の入力の終了までの経過時間を計時する計時部１５８と、計時部１５８が計時した経過時間と入力メッセージ（第２の情報）とをサーバ装置２００に送信するメッセージ送信部１５２（送信部）と、を備えている。
【０２５９】
つまり、ユーザ端末１００は、サーバ装置２００から送信された出題メッセージ（第１の情報）を受信して表示部１１０に表示し、表示部１１０に出題メッセージ（第１の情報）が表示されてから入力メッセージ（第２の情報）の入力の終了までの経過時間と、入力メッセージ（第２の情報）とをサーバ装置２００に送信する。即ち、ユーザ端末１００は、出題メッセージ（第１の情報）と入力メッセージ（第２の情報）とを行わないで、入力メッセージ（第２の情報）と入力メッセージ（第２の情報）の入力に要した時間（経過時間）とを送信する。
【０２６０】
これにより、ユーザ端末１００は、経過時間の計時処理をユーザ端末１００側で行うため、サーバ装置２００と通信不良になった場合であっても、サーバ装置２００との通信時間の影響を受けずに、入力メッセージの入力に要した時間（経過時間）の計時をすることができる。従って、本実施形態のユーザ端末１００によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末１００によれば、利便性の高いアプリケーションを提供することができる。
【０２６１】
また、ユーザ端末１００は、入力メッセージと入力メッセージの入力に要した時間（経過時間）とをサーバ装置２００に送信することにより、サーバ装置２００側でタイピングの結果の照合（判定）やタイピングに要した時間の集計を行うことができるようにする。よって、本実施形態によれば、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになるため、タイピングゲームのゲーム性を高めることができる。
【０２６２】
＜第１０の実施形態＞
次に、本発明の第１０の実施形態を説明する。上記実施形態で説明したサーバ装置２００が備えているチャット機能を実行する構成と、タイピングゲームを実行する構成とは、それぞれ異なるサーバ装置が備える構成としてもよい。
図２８は、本実施形態によるチャットシステム１Ａの構成の一例を示す概略ブロック図である。チャットシステム１Ａは、複数のユーザ端末１００−Ｎと、チャットサーバ装置２００Ａと、タイピングサーバ装置２００Ｂとを備えている。これら複数のユーザ端末１００−Ｎと、チャットサーバ装置２００Ａと、タイピングサーバ装置２００Ｂとは、ネットワーク５を介して接続される。
【０２６３】
チャットサーバ装置２００Ａは、サーバ装置２００が備える構成のうちの少なくともチャット機能を実行する構成を備えている。例えば、チャットサーバ装置２００Ａは、サーバ通信部２３０Ａと、ユーザ情報記憶部２４１、グループ情報記憶部２４２、及びメッセージ情報一時記憶部２４３を有するサーバ記憶部２４０Ａと、メッセージ転送部２５１を有するサーバ制御部２５０Ａと、を備えている。
【０２６４】
一方、タイピングサーバ装置２００Ｂは、サーバ装置２００が備える構成のうちの少なくともタイピングゲームを実行する構成を備えている。例えば、タイピングサーバ装置２００Ｂは、サーバ通信部２３０Ｂと、問題記憶部２４４、及び結果記憶部２４５を有するサーバ記憶部２４０Ｂと、タイピング処理部２５２を有するサーバ制御部２５０Ｂと、を備えている。
【０２６５】
上述したチャットサーバ装置２００Ａとタイピングサーバ装置２００Ｂとが、ネットワーク５を介して連携して処理を実行することにより、上記実施形態で説明したサーバ装置２００と同様の処理を実行することができる。即ち、本実施形態によるチャットシステム１Ａは、上記実施形態により得られる効果と同様の効果を得ることができる。
【０２６６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第１から第１０の実施形態において説明した各機能は、任意に組み合わせることができる。以下の記述では、サーバ装置２００、チャットサーバ装置２００Ａ、又は、タイピングサーバ装置２００Ｂを、サーバ装置２００と総称する。
【０２６７】
なお、上述の実施形態では、メッセージ情報に含まれるメッセージに対応付ける日時情報として、他ユーザから送信されたメッセージである場合には、そのメッセージが送信された日時（実際には、そのメッセージをサーバ装置２００が受信した日時）を示す情報とし、自ユーザが送信したメッセージである場合には、そのメッセージをサーバ装置２００が受信した日時を示す情報とする例を示した。ただし、他ユーザから送信されたメッセージである場合に、そのメッセージが他ユーザのユーザ端末１００において実際に送信された日時を示す情報をメッセージとともに受信して日時情報としてもよいし、そのメッセージがサーバ装置２００から送信された日時をメッセージとともに受信して日時情報としてもよい。また、サーバ装置２００から送信された出題メッセージには、そのサーバ装置２００から送信された日時を出題メッセージとともに受信して日時情報としてもよい。
【０２６８】
また、上述の実施形態では、操作受付部１２０と表示部１１０とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明したが、操作受付部１２０と表示部１１０とが別に構成され、操作受付部１２０としてキーボードやボタンを適用してもよい。また、操作受付部１２０を、音声認識により操作入力可能に構成してもよい。また、上述の実施形態では、ユーザ端末１００において表示部１１０が一体として構成された例を説明したが、これに限らず、外部の表示部（表示装置）と有線又は無線により接続される構成としてもよい。
【０２６９】
また、上述の実施形態では、チャットアプリケーションにおける制御の例を示したが、上述したように、送信されたメッセージをグループ内のユーザに対して送信する電子メールによるメーリングリスト、電子掲示板、タイムライン、ミニブログ（マイクロブログ、つぶやきブログ）チャット等における制御にも上述の実施形態を適用することができる。ここで、電子メールとは、携帯電話等によるショートメッセージサービス等により送受信されるメールであってもよい。なお、ユーザ間で送受信されるメッセージの表示の即時性という観点では、チャットアプリケーションにおける制御がより好適である。
【０２７０】
また、本発明の実施形態は、上述の例に限るものではなく、本発明の範囲内で様々な形態をとることができる。例えば、上述したチャットシステム１が備える各構成は、任意のコンピュータ装置に分散または集約して配置することができる。例えば、サーバ装置２００は、クラウド環境やネットワーク環境、ユーザ数の規模、チャットシステム１を構成するために用意されたハードウェアの数やスペック等に応じて、任意のコンピュータ装置に分散または集約して配置することができる。
また、例えば、複数のユーザ端末１００間で送受信されるメッセージの全てをサーバ装置２００が記憶しておき、ユーザ端末１００からの任意の要求に応じてメッセージを送信し、ユーザ端末１００に表示させるようにしてもよい。
また、上述の実施形態では、複数のユーザ端末１００はサーバ装置２００を介してメッセージを送受信する例を示したが、サーバ装置２００を介さずに、複数のユーザ端末１００同士が直接メッセージを送受信してもよい。
【０２７１】
また、上述したタイピングゲームは、チャットアプリケーション内に含まれている機能であってもよいが、チャットアプリケーションが有するチャット機能を拡張する機能であってもよい。即ち、上述のタイピングゲームは、自ユーザのユーザ端末１００（自装置）から送信するメッセージ（第１メッセージ）と、一又は複数の他ユーザのユーザ端末１００（他装置）から送信されたメッセージ（第２メッセージ）とを、時系列に並べて表示部１１０に表示させるチャット機能を拡張する機能であってもよい。
具体的には、タイピングゲームは、サーバ装置２００から受信した出題メッセージ（第１の情報）を、自装置から送信するメッセージ（第１メッセージ）として表示部１１０に表示させる機能と、表示部１１０に表示させた出題メッセージ（第１の情報）と、操作受付部１２０（ユーザ操作受付部）から入力された入力メッセージ（第２の情報）とを照合する機能と、照合した照合結果に基づく情報をサーバ装置２００に送信する機能と、を備える。
これにより、チャットアプリケーション自体を変更することなく、タイピングゲームを追加することができる。従って、本実施形態によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態によれば、利便性の高いアプリケーションを提供することができる。
【０２７２】
なお、上述の制御部１５０（１５０Ａ）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の制御部１５０（１５０Ａ）の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０２７３】
また、上述したタイピングゲームを実行させるプログラムは、チャットアプリケーションプログラム内に含まれているプログラムであってもよいが、チャットアプリケーションプログラムにより実行されるチャット機能を拡張する機能を実行させるためのプログラムであってもよい。例えば、タイピングゲームを実行させるプログラムは、チャットアプリケーションプログラムのアドオンプログラムであってもよい。
これにより、チャットアプリケーションプログラム自体を変更することなく、タイピングゲームを実行させるためのプログラムを追加することができる。
【０２７４】
また、上述した機能の一部または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０２７５】
１  チャットシステム、５  ネットワーク、１００  ユーザ端末、１１０  表示部、１２０  操作受付部、１３０  通信部、１４０  記憶部、１４１  ユーザ情報記憶部、１４２  グループ情報記憶部、１４３  メッセージ情報記憶部、１４４  画面情報記憶部、１５０  制御部、１５１  メッセージ送信指示部、１５２  メッセージ送信部、１５３  メッセージ受信部、１５４  操作受付指示部、１５５  問題取得指示部、１５６  照合部、１５７  結果送信指示部、１５８  計時部、１５９  表示制御部、２００  サーバ装置、２３０  サーバ通信部、２４０  サーバ記憶部、２４１  ユーザ情報記憶部、２４２  グループ情報記憶部、２４３  メッセージ情報一時記憶部、２４４  問題記憶部、２４５  結果記憶部、２５０  サーバ制御部、２５１  メッセージ転送部、２５２  タイピング処理部、２５３  問題送信指示部、２５４  結果処理部、２５５  集計部、２５６  取得部、２５７  生成部、２５８  分類部
【図１】
2014127835.tif 000003
【図２】
2014127835.tif 000004
【図３】
2014127835.tif 000005
【図４】
2014127835.tif 000006
【図５】
2014127835.tif 000007
【図６】
2014127835.tif 000008
【図７】
2014127835.tif 000009
【図８】
2014127835.tif 000010
【図９】
2014127835.tif 000011
【図１０】
2014127835.tif 000012
【図１１】
2014127835.tif 000013
【図１２】
2014127835.tif 000014
【図１３】
2014127835.tif 000015
【図１４】
2014127835.tif 000016
【図１５】
2014127835.tif 000017
【図１６】
2014127835.tif 000018
【図１７】
2014127835.tif 000019
【図１８】
2014127835.tif 000020
【図１９】
2014127835.tif 000021
【図２０】
2014127835.tif 000022
【図２１】
2014127835.tif 000023
【図２２】
2014127835.tif 000024
【図２３】
2014127835.tif 000025
【図２４】
2014127835.tif 000026
【図２５】
2014127835.tif 000027
【図２６】
2014127835.tif 000028
【図２７】
2014127835.tif 000029
【図２８】
2014127835.tif 000030