以下、本発明の一実施形態について、図面を参照して説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態によるチャットシステム1の構成の一例を示す概略ブロック図である。チャットシステム1は、複数のユーザ端末100−N(Nは正の整数。ユーザ端末100−1、ユーザ端末100−2、ユーザ端末100−3、・・・)と、サーバ装置200とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワーク5を介して接続されている。ここで、複数のユーザ端末100−Nは同様の構成であるので、特に区別しない場合には、「−1」、「−2」等の記載を省略してユーザ端末100として説明する。ここでは3台のユーザ端末100を明示して説明するが、チャットシステム1は、2台又は4台以上の任意の台数のユーザ端末100を備えていてもよい。
ユーザ端末100は、ユーザが利用するコンピュータ装置であり、サーバ装置200を介して他のユーザ端末100との間で送受信したメッセージを表示する表示装置である。ユーザ端末100としては、例えばPC(Personal Computer)、タブレットPC、スマートフォン、ゲーム機器等の、表示デバイスを具備し情報通信ネットワークに接続可能な装置が適用できる。ここでは、ユーザ端末100はスマートフォンであるとして説明する。また、ネットワーク5は、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、専用回線、またはこれらの組み合わせによって構成される情報通信ネットワークである。
チャットシステム1は、チャットを行うために複数のユーザが登録されたグループ(即ち、グループチャットを行うためのグループ)内において、複数のユーザのユーザ端末100間でメッセージを送受信することにより、そのグループ内のユーザ間に限定したコミュニケーションを支援する。チャットシステム1としては、例えば、チャットアプリケーションによりグループ内の複数のユーザのユーザ端末100間で日時情報が対応付けられたメッセージを送受信して日時情報に基づいて時系列に並べて表示するコンピュータシステムが適用できる。本実施形態では、チャットアプリケーションにより送受信された複数のメッセージをユーザ端末100が表示する例を説明する。ここでは、ユーザ端末100−1のユーザを識別するユーザID(Identifier)をユーザAとし、ユーザ端末100−2のユーザを識別するユーザIDをユーザBとし、ユーザ端末100−3のユーザを識別するユーザIDをユーザCとして説明する。なお、ユーザAと、ユーザBと、ユーザCと、がグループチャットを行うための同じグループに登録されているものとする。
まず、チャットにおけるメッセージの送受信処理の概要を説明する。グループ内の複数のユーザ間でチャットを行う場合、ユーザ端末100(自装置)は、自身のユーザである自ユーザ(第1ユーザ)からの操作に応じて、他のユーザ端末100に送信したメッセージ(第1メッセージ)と、相手側のユーザである他ユーザ(第2ユーザ)のユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)とを記憶する。ユーザ端末100は、記憶した複数のメッセージを、そのメッセージの送信日時または受信日時に基づいて時系列に並べた画面情報を生成し、ユーザが一覧できるように表示する。
つまり、グループには、ユーザ端末100(自装置)を利用する自ユーザ(第1ユーザ)と、ユーザ端末100(他装置)を利用する一または複数の他ユーザ(第2ユーザ)とが登録されている。そして、ユーザ端末100(自装置)は、このグループにおいて、自ユーザ(第1ユーザ)の操作に応じてユーザ端末100(自装置)から送信するメッセージと、他ユーザ(第2ユーザ)の操作に応じてユーザ端末100(他装置)から送信されたメッセージと、を時系列に表示する。
図2は、チャットシステム1におけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。この図2では、ユーザBからの操作に応じて、ユーザ端末100−2が送信したメッセージMを、ユーザAのユーザ端末100−1とユーザCのユーザ端末100−3とが受信する処理の例を示している。
まず、ユーザ端末100−2は、ユーザBからの操作に応じて、送信するメッセージの入力を受け付ける(ステップS100)。そして、ユーザ端末100−2は、ユーザBからの操作に応じて入力された(作成された)メッセージMを記憶するとともにメッセージ画面に表示する(ステップS110)。ここで、メッセージMには、ユーザIDと、グループIDとが対応付けられている。ここで、グループIDは、グループを一意に識別する情報であって、このメッセージMの宛先を示す情報である。続いて、ユーザ端末100−2は、メッセージMをサーバ装置200に送信する(ステップS120)。
次に、サーバ装置200は、ユーザ端末100−2からネットワーク5を介してメッセージMを受信し、受信したメッセージMを一時的に記憶する(ステップS130)。このとき、サーバ装置200は、このメッセージMを受信したときの受信日時をユーザ端末100−2へ受信完了通知と共に返信し、この受信日時をメッセージMがユーザ端末100−2から送信された日時情報とする。受信完了通知を受信したユーザ端末100−2は、当該受信完了通知に含まれる日時情報を取得してメッセージMと対応付けて記憶する。また、ユーザ端末100−2は、取得した日時情報に基づいて、既にメッセージ画面に表示しているメッセージMに対応付けて送信日時を表示する(ステップS135)。
続いて、サーバ装置200は、受信して記憶したメッセージMを、グループIDに基づいて、グループに登録されているユーザのユーザ端末100(ユーザAのユーザ端末100−1及びユーザCのユーザ端末100−3)に対して送信する(ステップS140)。ここで、サーバ装置200は、受信したメッセージMに、ユーザIDと、グループIDと、日時情報(サーバ装置200での受信日時)と、を対応付けて送信する。
次に、ユーザ端末100−1は、サーバ装置200から送信されたメッセージMを、ネットワーク5を介して受信する(ステップS150)。また、ユーザ端末100−3は、サーバ装置200から送信されたメッセージMを、ネットワーク5を介して受信する(ステップS170)。それぞれで受信したメッセージMには、日時情報(サーバ装置での受信時間)と、ユーザID(ユーザB)と、グループIDとが対応付けられている。
次に、ユーザ端末100−1は、受信したメッセージMを記憶するとともに、対応付けられている日時情報に基づいてメッセージMを時系列に並べてメッセージ画面に表示する(ステップS160)。また、ユーザ端末100−3は、受信したメッセージMを記憶するとともに、対応付けられている日時情報に応じてメッセージMを時系列に並べてメッセージ画面に表示する(ステップS180)。このとき、ユーザ端末100−1及びユーザ端末100−3は、メッセージMを時系列に並べて表示する際に、メッセージMに対応付けられているユーザIDに基づいて、メッセージMを送信したユーザを示す情報をメッセージMに対応付けて表示する。
なお、ユーザ端末100は、自ユーザが送信したメッセージには、そのメッセージを送信した自ユーザを示す情報を対応付けて表示せずに、他ユーザが送信したメッセージにのみ、そのメッセージを送信した他ユーザを示す情報を対応付けて表示してもよい。また、ユーザ端末100は、メッセージを一画面に表示しきれない場合には、そのメッセージを時系列に並べたうちの一部を表示し、メッセージのスクロール制御を行う。
このように、チャットシステム1においては、グループ内のいずれかのユーザのユーザ端末100から送信されたメッセージは、サーバ装置200を介して、グループ内の他のユーザ(当該メッセージを送信したユーザ以外のユーザ)のユーザ端末100に送信される。これにより、チャットシステム1においては、複数のユーザ(チャット相手)が属するグループにおいてメッセージを送受信するチャット(グループチャット)を行うことができる。
ここで、ユーザ端末100からメッセージを送信する際には、ユーザ端末において、例えば、ユーザがタイピングによる入力操作を行うことによって、その送信するメッセージを作成する。しかしながら、チャットアプリケーションにおける操作に慣れていないユーザにとっては、例えばメッセージを作成する際の操作方法が分からない場合や、メッセージを作成する際に多くの時間を要してしまう場合があった。
ここで、パーソナルコンピュータにおけるタイピングを習得するものとしては、規格に従ったキーボートを正しい指でタッチして入力し、最終的にはタッチタイピングが習得できるように意図されたタイピング練習機能を有するアプリケーションが考えられる。また、所定時間内に指示された文字や文字列などを正確に幾つ入力できたかを競うタイピングゲーム等も考えられる。
本実施形態によるチャットシステム1においては、チャットを行う際の操作(例えば、タイピング操作や画像選択操作)を練習可能なタイピング練習機能を備えた構成とし、このタイピング練習機能とチャットアプリケーションを融合した新しいアプリケーションを提供する。なお、このタイピング練習機能は、既存のチャットアプリケーションに追加される機能として提供されるようにしてもよい。
これにより、本実施形態によれば、例えば、チャットアプリケーションとは関連しないタイピング練習機能(例えば、上述したパーソナルコンピュータの規格に従ったキーボートに対するタイピング練習機能)を利用する場合と異なって、チャットアプリケーション特有のユーザインターフェースによって、チャットアプリケーションにおける操作を練習可能とすることができる。よって、本実施形態によれば、利便性の高いアプリケーションを提供することができる。
以下、本実施形態によるチャットシステム1の構成について詳しく説明する。なお、本実施形態では、タイピング練習機能を有するタイピングゲームを備えた構成として説明する。
(ユーザ端末100の構成)
まず、図3を参照して、ユーザ端末100の構成について説明する。図3は、本実施形態によるユーザ端末100の構成の一例を示す概略ブロック図である。
ユーザ端末100は、表示部110と、操作受付部120と、通信部130と、記憶部140と、制御部150とを備えている。なお、図1に示す複数のユーザ端末100−Nは、同様の各部を備えるものとする。
表示部110は、画像や文字等の情報を表示する表示デバイスである。表示部110の情報を表示する領域を画面といい、表示部110の画面に表示される情報を画面情報という。例えば、表示部110は、チャットアプリケーションにおいて、グループ内のユーザ間で送受信したメッセージを時系列に表示するメッセージ画面を表示する。ここで、表示部110が表示する画面は、ユーザからの操作に応じて制御部150によって制御される。
操作受付部120は、ユーザからの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示を生成する入力デバイスである。操作受付部120には、例えば、キーボードやボタン、タッチパネル等が適用できる。本実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明する。
ここで、図4を参照して、ユーザ端末100が表示部110に表示するチャットのメッセージ画面の例を説明する。図4は、本実施形態によるユーザ端末100が表示するメッセージ画面の一例を示す図である。符号110aは、メッセージ画面が表示されている領域の全体を示している。このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末100は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。
この図4では、ユーザAのユーザ端末100−1が表示するユーザAとユーザBとによるチャット(1対1チャット)のメッセージ画面の例を示している。チャットを行うユーザの単位をグループという。このメッセージ画面はユーザAとユーザBとの2人が属するグループのチャットのメッセージ画面であり、自ユーザはユーザAであり、他ユーザはユーザBである。
符号110bの領域には、グループの名称が表示される。ここでは、ユーザBのユーザ名を「nameB」とし、チャット相手となるユーザBのユーザ名がグループ名として表示されている例を示している。なお、ユーザBのユーザ端末100−2において同一のグループのメッセージ画面を表示させる場合、グループの名称は、チャット相手であるユーザAのユーザ名がグループ名として表示される。
符号110cの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて時系列に並べて表示されるように表示コンポーネントが配置される。この図に示す例では、メッセージが送信された日時に基づいて昇順(新しいメッセージが符号110cの領域の下側)に表示される。また、この図に示す例では、メッセージ画面において左側からの吹き出しには、他ユーザから送信されたメッセージが表示され、右側からの吹き出しには、自ユーザが送信したメッセージが表示される。
左側からの吹き出しE1には、他ユーザ(ここでは、ユーザB)から送信されたメッセージが表示される。アイコンE2は、吹き出しE1に表示されたメッセージを送信した他ユーザを示すアイコンである。このアイコンE2は、例えば他ユーザによって予め登録された画像(例えば、プロフィール画像)でもよいし、チャットシステム1が予め用意した画像でもよい。ユーザ名ラベルE3には、アイコンE2に対応するユーザのユーザ名が表示される。一方、右側からの吹き出しE4には、自ユーザ(ここでは、ユーザA)が送信したメッセージが表示される。
ここで、左側からの吹き出しに表示される他ユーザのメッセージには、そのメッセージを送信したユーザを示す情報(例えば、アイコンE2、ユーザ名ラベルE3)が対応付けられて表示されるが、一方、右側からの吹き出しに表示される自ユーザが送信したメッセージには、そのメッセージを送信したユーザを示す情報(即ち、自ユーザの情報)は表示されない。これは、自ユーザを示す情報が表示されなくとも、メッセージ画面の左側の吹き出しE4に表示されたメッセージが、自ユーザが送信したものであることが判別可能なためである。
符号110dの領域には、他のユーザ端末100にメッセージを送信するための表示コンポーネントが配置される。テキストボックスE31には、ユーザから入力されるメッセージが表示される。ここで、テキストボックスE31に入力されるメッセージには、テキスト文字、顔文字、絵文字等が含まれる。送信ボタンE32は、テキストボックスE31に入力されたメッセージを他のユーザに送信するための操作子である。
例えば、ユーザは、テキストボックスE31と対で表示されるソフトウェアキーボードに対する操作により、テキストボックスE31にテキスト文字、顔文字、絵文字等を入力する。また、例えば、顔文字や絵文字は、ソフトウェアキーボート内に表示されている文字を入力するキーが配列されている画面から、顔文字や絵文字を選択する画面に切り替える操作(例えば、キーと並んで配列されている切り替えボタンに対する操作)をすることで入力することができるようになる。なお、ソフトウェアキーボートとは異なる画面であって、入力する顔文字、絵文字等を選択する選択メニュー画面が表示部110に表示され、その選択メニュー画面に対するユーザの操作に応じて顔文字や絵文字が選択されるようにしてもよい。
また、ユーザ端末100から送信するメッセージには、ユーザによって選択されたアイテムが含まれてもよい。ここで、アイテムとは、例えば、画像(静止画や動画)、音(音声)、位置情報、ドキュメント、スタンプ、等のデータである。また、これらのアイテムは、メッセージに添付されてメッセージと共に送信されてもよいし、単独でメッセージとして送信されてもよい。上述のアイテムは、例えば、複数のアイテムが一覧表示された中からユーザが選択することができる。このアイテムを選択する画面は、例えば、メッセージ画面内の所定の領域に対する操作に応じて表示されるポップアップ画面内の項目から選択して表示させることができる。
図3に戻り、通信部130は、ネットワーク5を介してサーバ装置200と通信する。例えば、制御部150の制御によりサーバ装置200に送信するメッセージやサーバ装置200から受信するメッセージは、この通信部130を介してサーバ装置200と送受信される。
記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュROM、HDD(Hard Disk Drive)等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末100が備える各部を制御するためのプログラムや各種情報を記憶する。なお、記憶部140は、ユーザ端末100に装着するメモリカードであってもよい。また記憶部140は、ユーザ情報記憶部141と、グループ情報記憶部142と、メッセージ情報記憶部143と、画面情報記憶部144とを備えている。ここでは、記憶部140は、チャット機能に関する情報と、タイピングゲームに関する情報と、を記憶する。
ユーザ情報記憶部141は、チャットを行うユーザに関するユーザ情報を記憶する。図5及び図6は、ユーザ情報記憶部141に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザIDと、ユーザ名と、ユーザ画像とを対応付けた情報が含まれる。ユーザIDは、ユーザを識別する情報である。ユーザ名は、そのユーザの名称である。ユーザ画像は、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザIDと、ユーザ名と、対応付けられており、ユーザ情報記憶部141は、上述の対応付けしたユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。
ここで、図5に示すユーザ情報は、自ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されているユーザAのユーザ情報の例である。また、図6に示すユーザ情報は、チャット相手として登録可能な他ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報(例えば、ユーザBのユーザ情報及びユーザCのユーザ情報を含むユーザ情報)の例である。この図6に示す他ユーザのユーザ情報は、他ユーザそれぞれのユーザ端末100−Nでそのユーザ自身で登録したものである。この図6に示す、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報は、チャット相手として登録可能なユーザ関係になるとき、又は、チャット相手として登録されたときに、他ユーザそれぞれのユーザ端末100−Nから取得して記憶する。なお、このチャット相手のユーザ情報は、事後的に自ユーザのユーザ端末100で修正できるようにしてもよい。
また、ユーザ情報記憶部141は、タイピングゲームにおいてサーバ装置200から受信するタイピングの出題となるメッセージ(以下、「出題メッセージ」(第1の情報)ともいう)を送信する仮想のユーザに関するユーザ情報を記憶する。
図7は、出題メッセージを送信する仮想のユーザのユーザ情報の例を示す図である。この図に示す例では、ユーザ情報記憶部141は、出題メッセージを送信する仮想のユーザ(ここでは、ユーザT)に関するユーザ情報として、ユーザTのユーザIDと、ユーザ名(タイピング先生)と、ユーザ画像(ユーザTのプロフィール画像)とを対応付けた情報が含まれるユーザ情報を記憶する。
なお、チャットを行うユーザに関するユーザ情報と、タイピングゲームにおいて出題メッセージを送信する仮想のユーザに関するユーザ情報とは、同じユーザ情報記憶部141に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
グループ情報記憶部142は、チャットを行うユーザのグループに関する情報を記憶する。図8は、グループ情報記憶部142に記憶されるグループ情報の例を示す図である。ひとつのグループには2以上のユーザが属する。例えば、ユーザAとユーザBとがチャットを行う場合、ユーザAとユーザBとが属するグループに関するグループ情報がグループ情報記憶部142に記憶される。グループ情報には、グループIDと、グループ名と、ユーザIDとを対応付けた情報が含まれる。グループIDは、サーバ装置200で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが形成されたときにユーザにより設定され、ユーザにより設定されない場合には自動的に付与される。なお、このグループ名は。事後的にユーザにより設定できるようになっている。ユーザIDは、そのグループに属するユーザを識別する情報である。
この図に示す例では、グループIDが「G1」であるグループ名はユーザにより設定されていない。このグループのように2人が属するチャット(1対1チャット)では、チャット相手のユーザ名(ここでは、ユーザBのユーザ名)がグループ名として自動的に設定される。また、このグループには「ユーザA」と「ユーザB」との2ユーザが属することが示されている。また、グループIDが「G2」であるグループ名はユーザにより「グループA」として設定されている。このグループに属するユーザが「ユーザA」と「ユーザB」と「ユーザC」の3ユーザであることが示されている。
また、グループ情報記憶部142は、タイピングゲームを行うグループとして、出題メッセージを送信する仮想のユーザと、タイピングゲームを利用するユーザとが属するグループのグループ情報を記憶する。つまり、タイピングゲームを行うグループは、出題メッセージを送信する仮想のユーザと、タイピングゲームを利用するユーザとの1対1チャットのグループとみなされる。
図9は、グループ情報記憶部142に記憶されるタイピングゲームを行うグループのグループ情報の例を示す図である。この図に示す例では、グループIDが「G7」であるグループのグループ情報が、出題メッセージを送信する仮想のユーザ(ユーザT)と、タイピングゲームを利用するユーザ(ユーザA)とが1対1チャットを行うグループのグループ情報として記憶されている。また、タイピングゲームを行うグループのグループ情報のグループ名には、タイピングゲームのグループ画面であることを示す情報や、ユーザが選択した出題メッセージの分類(問題のジャンル、問題の難易度等)が設定される。ここでは、「タイピング<初級>」がグループ名として設定されている。
なお、チャットを行うグループに関するグループ情報と、タイピングゲームを行うグループに関するグループ情報とは、同じユーザ情報記憶部141に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
ここで、ユーザ端末100は、タイピングゲームを行うグループのグループ情報と、このグループに属する仮想のユーザのユーザ情報とを、例えば、タイピングゲームを実行したときに、サーバ装置200から取得して記憶する。なお、ユーザ端末100は、これらタイピングゲームに関するグループ情報とユーザ情報とを、タイピングゲームを最初に実行したときにサーバ装置200から取得して記憶し、その後は記憶した情報を使用するようにしてもよいし、タイピングゲームを実行する度に取得して記憶するようにしてもよい。
メッセージ情報記憶部143は、自ユーザが属するグループにおいて送受信されたメッセージに関するメッセージ情報を記憶する。図10は、メッセージ情報記憶部143に記憶されるメッセージ情報の例を示す図である。メッセージ情報には、グループIDと、ユーザIDと、日時情報と、メッセージと、グループ種類とを対応付けた情報が含まれる。グループIDは、メッセージが送受信されたグループを識別する情報である。ユーザIDは、メッセージを入力したユーザを識別する情報である。日時情報は、メッセージが送信された日時を示す情報である。本実施形態では、ユーザ端末100の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末100から送信されたメッセージをサーバ装置200で受信した受信時間を当該メッセージが送信された日時を示す日時情報としている。日時情報には、年、月、日、時、分、秒(YYYY/MM/DD HH:MM:SS)の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージを示す文字列である。
また、グループ種類は、そのメッセージが、チャットを行うグループにおいて送受信したメッセージである場合と、タイピングゲームにおいて送受信したメッセージである場合とを識別するフラグ情報である。ここで、タイピングゲームにおいて送受信したメッセージとは、サーバ装置200から受信した出題メッセージ、又は、出題メッセージに対してユーザが入力したメッセージ(以下、「入力メッセージ」(第2の情報)ともいう)である。この図10に示す例では、チャットを行うグループにおいて送受信したメッセージには、グループ種類としてフラグ「01」が対応付けられ、タイピングゲームにおいて送受信した出題メッセージと入力メッセージとには、グループ種類としてフラグ「10」が対応付けられている。
なお、チャットを行うグループにおいて送受信したメッセージ情報と、タイピングゲームを行うグループにおいて送受信したメッセージ情報とは、同じメッセージ情報記憶部143に記憶されてもよいし、互いに異なる記憶部に記憶されてもよい。
図3に戻り、画面情報記憶部144は、上述したような複数のメッセージを時系列に並べて表示するメッセージ画面の画面情報を一時的に記憶する。
制御部150は、ユーザ端末100の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、ユーザ端末100が備える各部を制御する。制御部150は、メッセージ送信指示部151と、メッセージ送信部152と、メッセージ受信部153と、操作受付指示部154と、問題取得指示部155と、照合部156と、結果送信指示部157と、計時部158と、表示制御部159と、を備えている。
メッセージ送信指示部151は、操作受付部120に対するユーザの操作に応じて操作受付部120により生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。具体的には、メッセージ送信指示部151は、メッセージ画面においてテキストボックスE31にメッセージが入力され、送信ボタンE32にタップ操作がされると、テキストボックスE31に入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループIDと、メッセージを入力したユーザである自ユーザを識別するユーザIDと、グループ種類(例えば、フラグ「01」)と、を対応付けたメッセージ情報を含む送信指示情報を生成する。
また、メッセージ送信指示部151は、タイピングゲームにおいて、テキストボックスE31に入力メッセージが入力され、送信ボタンE32にタップ操作がされると、テキストボックスE31に入力された入力メッセージに、タイピングゲームを行うグループを識別するグループIDと、入力メッセージを入力したユーザである自ユーザを識別するユーザIDと、グループ種類(例えば、フラグ「10」)と、を対応付けたメッセージ情報を含む送信指示情報を生成する。
メッセージ送信部152は、メッセージ送信指示部151が、操作受付部120に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループIDをグループ情報記憶部142から読み出す。そして、メッセージ送信部152は、読み出したグループIDを宛先として、メッセージ送信指示部151によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置200に送信する。このとき、メッセージ送信部152は、メッセージ情報に含まれるグループID、ユーザID(自ユーザ)、メッセージ、及びグループ種類を、新たなレコード(1メッセージ分のデータ)としてメッセージ情報記憶部143に記憶させる。なお、日時情報は、サーバ装置200から受信完了通知と共に取得し、対応するメッセージのレコードの日時情報を更新する。
ここで、メッセージ送信部152は、メッセージ送信指示部151が生成した送信指示情報のうち、チャットのメッセージ(例えば、フラグ「01」が対応付けられたメッセージ)をサーバ装置200に送信するとともにメッセージ情報記憶部143に記憶させる。一方、メッセージ送信部152は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ(例えば、フラグ「10」が対応付けられたメッセージ)をサーバ装置200に送信せずに、メッセージ情報記憶部143に記憶させる。なお、メッセージ送信部152は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ(例えば、フラグ「10」が対応付けられたメッセージ)をサーバ装置200に送信する構成としてもよい。
メッセージ受信部153は、他のユーザ端末100から、自ユーザが属するグループIDを宛先として送信されたメッセージ情報を、サーバ装置200から受信し、メッセージ情報に含まれるグループID、ユーザID(他ユーザ)、日時情報、メッセージ、及びグループ種類(例えば、フラグ「01」)を、新たなレコードとしてメッセージ情報記憶部143に記憶させる。
また、メッセージ受信部153は、サーバ装置200から送信されたタイピングの出題メッセージを含む出題メッセージ情報を受信する。このとき、メッセージ受信部153は、この出題メッセージ情報に含まれるグループID、ユーザID(他ユーザ)、日時情報、出題メッセージ、及びグループ種類(例えば、フラグ「10」)を、新たなレコードとしてメッセージ情報記憶部143に記憶させる(図10参照)。
操作受付指示部154は、操作受付部120に対する操作入力の受け付けを許可するか又は禁止するか等を指示する。なお、操作受付指示部154は、タッチパネルに対する指示として、表示制御部159に対しても、操作入力の受け付けに対応する表示情報の変更の指示をしてもよい。例えば、操作受付指示部154は、メッセージ画面に表示されるテキストボックスE31に対するユーザからの操作入力の受け付けの開始や終了を、操作受付部120及び表示制御部159に対して指示する。
問題取得指示部155は、操作受付部120に対するユーザの操作に応じて操作受付部120により生成された入力指示に基づいて、タイピングの出題メッセージの要求指示を示す「出題メッセージ要求指示情報」を生成し、生成した出題メッセージ要求指示情報をサーバ装置200に送信する。ユーザ端末100から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置200は、出題メッセージを含む出題メッセージ情報を応答(送信)する。ユーザ端末100は、サーバ装置200から出題メッセージを含むメッセージ情報を受信して表示部110に表示する。
照合部156は、サーバ装置200から送信された出題メッセージと、その出題メッセージ(表示部110に表示された出題メッセージ)に対応してユーザが入力した入力メッセージとを照合する。具体的には、照合部156は、メッセージ情報記憶部143に記憶されているメッセージ情報のうちの入力メッセージ(例えば、フラグ「01」が対応付けられたメッセージ)と、その入力メッセージに対応する出題メッセージとを照合する。
結果送信指示部157は、照合部156が照合した照合結果に基づく情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、照合結果に基づく情報をサーバ装置200に対して送信する。ここで照合結果に基づく情報とは、例えば、ユーザがタイピングに要した時間、即ち、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了まで(例えば、出題メッセージに一致した入力メッセージの入力が終了したときまで)の経過時間である。なお、照合結果に基づく情報は、出題メッセージと入力メッセージとが一致したか否かを示す情報としてもよい。
計時部158は、計時機能(時計機能)を有し、時刻または所定の時間間隔(時間)を計時する。例えば、計時部158は、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時する。ここで、入力メッセージの入力の終了とは、例えば、送信ボタンE32に対してユーザの操作(例えば、タップ操作)がされたタイミングである。なお、入力メッセージの入力の終了は、テキストボックスE31に対して入力される文字のそれぞれが順次確定したタイミングとしてもよい。例えば、入力メッセージの入力の終了は、出題メッセージに対して入力メッセージが一致したときに最後に入力された文字が確定したタイミングとしてもよい。
表示制御部159は、チャットのメッセージ画面の画面情報、及び、タイピングゲームによる画面(以下、タイピング画面)の画面情報を生成して表示部110に表示させる。
表示制御部159は、自ユーザの操作に応じて自身のユーザ端末100から送信するメッセージと、他ユーザの操作に応じて他のユーザ端末100から送信されたメッセージと、を時系列に表示するチャットのメッセージ画面を表示部110に表示させる。具体的には、表示制御部159は、メッセージ情報記憶部143に記憶されている複数のメッセージ情報のうち、チャットのメッセージ情報(フラグ「01」が含まれるメッセージ情報)を読み出す。そして、表示制御部159は、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた日時情報に基づいて時系列に並べたメッセージ画面の画面情報を生成して画面情報記憶部144に記憶させる。そして、表示制御部159は、生成したメッセージ画面の画面情報のうちの一部を表示部110に表示させる。
また、表示制御部159は、タイピングゲームが実行されることにより、サーバ装置200から取得した出題メッセージが表示されたタイピング画面を表示部110に表示させる。具体的には、表示制御部159は、メッセージ情報記憶部143に記憶されている複数のメッセージ情報のうち、タイピングゲームのメッセージ情報(フラグ「10」が含まれるメッセージ情報)を読み出す。そして、表示制御部159は、読み出したメッセージ情報のうち、送信元が仮想のユーザ(例えば、ユーザT)である出題メッセージを表示するタイピング画面の画面情報を生成して画面情報記憶部144に記憶させる。そして、表示制御部159は、生成したタイピング画面の画面情報のうちの一部を表示部110に表示させる。
また、表示制御部159は、このタイピング画面において、チャットのメッセージを入力する際の操作と同じ操作で入力メッセージの入力が可能なテキストボックスE31と送信ボタンE32とを表示させる。
なお、表示制御部159は、生成した画面情報のうちの一部を表示部110に表示させる。例えば、表示制御部159は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部110に表示させる。初期段階で表示部110に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい日時情報が対応付けられたメッセージが含まれる箇所とすることができる。また、表示制御部159は、他ユーザのユーザ端末100から送信されたメッセージに、当該他ユーザを示す情報を対応付けて時系列にメッセージ画面に表示させる。
なお、上述の複数のメッセージ情報には、互いに同じ日時情報が対応付けられたメッセージ情報(即ち、互いに同じ送信日時のメッセージ情報)が含まれていてもよい。この場合、表示制御部159は、互いに同じ日時情報が対応付けられているメッセージ情報のそれぞれを、例えば、メッセージ情報記憶部143に記憶された順にしたがって、時系列にメッセージ画面に表示させてもよい。なお、メッセージ受信部153が、互いに同じ日時情報が対応付けられたメッセージ情報を受信した場合に、一方の日時情報の時刻(例えば、秒数)をカウントアップさせて、互いに異なる日時情報として記憶させてもよい。また、サーバ装置200は、メッセージ情報に互いに同じ日時情報を対応付けることを禁止し、メッセージ情報毎に異なる日時情報を対応付けるようにしてもよい。具体的には、サーバ装置200は、互いに同じ日時情報となるようなメッセージ情報を受信した場合には、一方の日時情報の時刻(例えば、秒数)をカウントアップさせてもよい。
(タイピング画面の第1例)
次に、図11を参照して、タイピングゲームにより表示部110に表示される画面(タイピング画面)について説明する。図11は、本実施形態によるユーザ端末100が表示するタイピング画面の第1例を示す図である。この図は、図7に示すタイピングゲームを行うグループID「G7」のグループにおけるタイピング画面の一例を示している。
このタイピング画面の各構成は、前述したメッセージ画面の各構成と対応しており、符号110aの領域に、メッセージ画面に代えてタイピング画面が表示される。符号110bの領域には、タイピング練習機能を行うグループのグループ名(ここでは、「タイピング<初級>」)が表示される。
符号110cの領域には、サーバ装置200から送信された出題メッセージが、そのメッセージが送信された日時に基づいて時系列に並べて表示されるように表示コンポーネントが配置される。ここで、この出題メッセージは、タイピング画面において、左側からの吹き出しに表示される。即ち、図4に示すメッセージ画面において他ユーザのメッセージが左側からの吹き出しに表示されるのと同様に、出題メッセージが左側からの吹き出しに表示される。
左側からの吹き出しE11には、問題番号と出題メッセージとが表示される。アイコンE12は、吹き出しE11に表示された出題メッセージを送信した仮想のユーザ(ここでは、ユーザT)を示すアイコンである。ユーザ名ラベルE13には、アイコンE12に対応するユーザのユーザ名(ここでは、「タイピング先生」)が表示される。
また、符号110cの領域には、問題番号ラベルE21と、経過時間ラベルE22とが表示される。問題番号ラベルE21には、吹き出しE11に表示された出題メッセージの問題番号が表示される。経過時間ラベルE22には、吹き出しE11に出題メッセージが表示されてからの経過時間が表示される。
符号110dの領域には、図4に示すメッセージ画面と同様に、テキストボックスE31と送信ボタンE32とが表示される。ユーザは、吹き出しE11に表示された出題メッセージと同じメッセージを、メッセージ画面においてメッセージを入力する操作方法と同様の操作方法でテキストボックスE31に入力する。また、ユーザが、送信ボタンE32に対して操作することにより、テキストボックスE31に入力されたタイピングの内容である入力メッセージが確定する。ユーザ端末100は、上述の出題メッセージと入力メッセージとを照合し、サーバ装置200に照合結果に基づく情報(例えば、経過時間)を送信する。これにより、ユーザは、チャットにおけるタイピングの練習をすることができる。
なお、ユーザが送信ボタンE32に対して操作することにより、テキストボックスE31に入力されたタイピングの内容である入力メッセージが、ユーザ自身が送信するメッセージとして、符号110cの領域に表示されてもよい。
(タイピング画面の第2例)
図12は、ユーザ端末100が表示するタイピング画面の第2例を示す図であって、図11に示すタイピング画面において入力された入力メッセージと、次の問題の出題メッセージとが表示されているタイピング画面の一例を示す図である。符号110cの領域内の吹き出しE11の下側には、上述の図11においてユーザが入力した入力メッセージが右側からの吹き出しE14に表示される。即ち、図4に示すメッセージ画面において自ユーザのメッセージが右側からの吹き出しに表示されるのと同様に、入力メッセージが右側からの吹き出しに表示される。
また、符号110cの領域内の吹き出しE14の下側に表示される左側からの吹き出しE15には、次の問題の出題メッセージが表示される。例えば、吹き出しE15には、ユーザ端末100が、上述の図11における出題メッセージ(第1問の出題メッセージ)における照合結果に基づく情報(例えば、経過時間)をサーバ装置200に送信したことに応じてサーバ装置200から取得した次の出題メッセージと問題番号(第2問)とが表示される。
また、符号110cの領域には、吹き出しE15に表示された出題メッセージの問題番号が表示される問題番号ラベルE23と、吹き出しE15に出題メッセージが表示されてからの経過時間が表示される経過時間ラベルE24とが表示される。
このように、タイピング画面においては、サーバ装置200から取得した出題メッセージと、その出題メッセージに対応してユーザが入力した入力メッセージとが、時系列に並べて表示される(対話型で表示される)。
(サーバ装置200の構成)
次に、図13を参照して、サーバ装置200の構成について説明する。図13は、本実施形態によるサーバ装置200の構成の一例を示す概略ブロック図である。
サーバ装置200は、サーバ通信部230と、サーバ記憶部240と、サーバ制御部250と、を備えている。サーバ通信部230は、ネットワーク5を介して複数のユーザ端末100―Nと通信する。
サーバ記憶部240は、ユーザ情報記憶部241と、グループ情報記憶部242と、メッセージ情報一時記憶部243と、問題記憶部244と、結果記憶部245と、を備えている。
ユーザ情報記憶部241とグループ情報記憶部242とは、ユーザ端末100が備えるユーザ情報記憶部141とグループ情報記憶部142と同様の情報を記憶する。なお、ユーザ端末100が備えるユーザ情報記憶部141とグループ情報記憶部142とには、そのユーザ自身に関連する情報(ユーザ自身のユーザ情報、及び、ユーザ自身と同じグループに登録可能な他ユーザのユーザ情報)のみが記憶されていることに対し、サーバ装置200が備えるユーザ情報記憶部241とグループ情報記憶部242とには、サーバ装置200を介してメッセージの送受信を行う全てのユーザ及びグループに関する情報が記憶されている。なお、サーバ装置200が備えるユーザ情報記憶部241には、ユーザ名やユーザ画像等のようにユーザを特定するような情報は記憶されず、単にユーザを識別可能なユーザIDが記憶されている構成としてもよい。
メッセージ情報一時記憶部243は、各ユーザ端末100から受信したメッセージ情報を一時的に記憶する。例えば、メッセージ情報一時記憶部243は、受信したメッセージ情報が、宛先(送信先)のユーザのユーザ端末100に対して送信されるまでの間、受信したメッセージ情報を一時的に記憶する。
問題記憶部244は、タイピングゲームにおけるタイピングの出題である出題メッセージを記憶する。例えば、問題記憶部244には、複数の出題メッセージのそれぞれを識別可能な出題メッセージIDと、出題メッセージと、ジャンル毎又は難易度毎等に分類可能な分類情報とが対応付けられた出題メッセージ情報が予め複数記憶されている。なお、問題記憶部244に記憶されている出題メッセージ情報は、所定のタイミングで更新されてもよい。
結果記憶部245は、ユーザ端末100においてユーザがタイピングゲームを行った結果を記憶する。例えば、結果記憶部245は、ユーザ端末100から送信されて受信した照合結果に基づく情報を記憶する。また、結果記憶部245は、ユーザ端末100か受信した照合結果に基づく情報に対して、サーバ制御部250が処理した結果(例えば、複数のユーザ端末100から受信した照合結果に基づく情報の集計結果、ランキング等)を記憶してもよい。
サーバ制御部250は、メッセージ転送部251と、タイピング処理部252とを備えている。メッセージ転送部251は、ユーザ端末100から送信されたメッセージを受信するサーバ受信部と、ユーザ端末100に対してメッセージを送信するサーバ送信部とを備えている。
例えば、メッセージ転送部251は、ユーザ端末100からグループIDを宛先として送信されたメッセージ情報を受信すると、受信したメッセージ情報をメッセージ情報一時記憶部243に一時的に記憶させる。そして、メッセージ転送部251は、受信したメッセージ情報の宛先であるグループIDに対応付けられたユーザIDを特定し、記憶させたメッセージ情報を、当該特定したユーザIDが示すユーザ端末100のうち、メッセージを送信したユーザのユーザIDが示すユーザ端末100以外のユーザ端末100に送信する。
なお、メッセージ転送部251は、このメッセージ情報を、当該特定したユーザIDが示すユーザ端末100のうち、メッセージを送信したユーザのユーザIDが示すユーザ端末100以外のユーザ端末100に送信してもよい。即ち、メッセージ転送部251は、グループ内のユーザから送信されたメッセージを、グループ内の他のユーザに対して転送する。
なお、メッセージ転送部251は、ユーザ端末100からグループIDを宛先として送信されたメッセージ情報を受信すると、当該ユーザ端末100に対して、受信したときの受信日時を受信完了通知と共に送信する。
タイピング処理部252は、ユーザ端末100から送信された出題メッセージ要求指示情報を受信すると、問題記憶部244から出題メッセージ情報を読み出し、読み出した出題メッセージ情報を、メッセージ転送部251を介してそのユーザ端末100に対して応答(送信)する。また、タイピング処理部252は、ユーザ端末100から送信された照合結果に基づく情報を、メッセージ転送部251を介して受信すると、受信した照合結果に基づく情報を結果記憶部245に記憶させる。
なお、タイピング処理部252は、ユーザ端末100から受信した照合結果に基づく情報を集計してランキング情報等を生成してもよい。タイピング処理部252における処理について詳しくは、後述の第8の実施形態で説明する。
(タイピングゲームにおける処理の動作)
次に、図14及び図15を参照して、本実施形態によるチャットシステム1の動作例を説明する。図14は、本実施形態によるユーザ端末100が表示するタイピングゲームの画面であって、実行させる機能を選択するタイピングメニュー画面の一例を示す図である。符号110aは、タイピングメニュー画面が表示されている領域の全体を示している。符号110eの領域には、タイピングゲームの画面であることを示す情報(ここでは、「タイピング」)が表示される。
符号110fの領域には、タイピングメニュー画面を表示させる操作子としてのタブE51と、タイピング結果によるランキング画面を表示させる操作子としてのタブE61とが表示される。ここでは、タブE51が選択されている状態であって、符号110fの領域にはタイピングメニュー画面が表示されている。なお、タブE61に対する操作がされると、タイピングメニュー画面からランキング画面に切り替わる。ここで、ランキング画面とは、複数のユーザが行ったタイピング結果によるランキングや自ユーザが複数回行ったタイピング結果のランキング等を表示する画面である。
ここでは、符号110fの領域には、タイピングメニュー画面が表示され、複数の機能のそれぞれが表示された選択ラベルが、それぞれの機能を実行可能な操作子として表示される。選択ラベルE52からE55には、サーバ装置200から取得可能な出題メッセージの種類がそれぞれ表示される。選択ラベルE52には、初級レベルの出題メッセージが取得されることを示す情報(初級)が表示され、選択ラベルE53には、中級レベルの出題メッセージが取得されることを示す情報(中級)が表示され、選択ラベルE54には、上級レベルの出題メッセージが取得されることを示す情報(上級)が表示されている。ここで、初級レベルとは、例えば、テキスト文字のみで構成されたメッセージである。また、中級レベルとは、例えば、テキスト文字と絵文字と顔文字との組み合わせにより構成されたメッセージである。また、上級レベルとは、例えば、テキスト文字と絵文字と顔文字とスタンプの組み合わせにより構成されたメッセージである。このように、メッセージに含まれる文字の種類、アイテム(例えば、スタンプ)が含まれるか否かによって、タイピング練習の難易度が分類されてもよい。
また、選択ラベルE55には、話題のニュースを題材とした出題メッセージが取得されることを示す情報(話題のニュース)が表示されている。なお、出題メッセージの種類は、難易度に限らずジャンル(分野)に応じて分類されてもよい。
一方、選択ラベルE56には、操作方法の説明が表示されることを示す情報(チュートリアル)が表示されている。この選択ラベルE56に対して操作がされると、タイピングに関する操作方法が表示される。例えば、ユーザは、操作がよくわからない場合に、この選択ラベルE56に対して操作することにより操作方法の説明を表示部110に表示させることができる。なお、操作方法の説明の表示は、このタイピングメニュー画面に対する操作に限らず、例えば、タイピング画面においても表示可能なようにしてもよい。例えば、操作方法の説明を表示させる操作子(チュートリアルボタン、ヘルプボタン)をタイピング画面に表示させてもよい。これにより、ユーザ端末100は、ユーザがタイピング中(入力メッセージの入力中)に操作方法が分からない場合にも操作方法の説明を表示させることができる。
また、ユーザが入力する入力メッセージが、繰り返し出題メッセージと一致しない場合には、ユーザ端末100は、所定の繰り返し回数を超えたときにユーザからの指示が無くとも操作方法の説明を表示させるようにしてもよい。
図15は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第1例を示すフローチャートである。まず、ユーザ端末100の問題取得指示部155は、図14に示すタイピングメニュー画面に対するユーザの操作に応じて、選択された出題メッセージ(第1の情報)の要求指示を示す「出題メッセージ要求指示情報」をサーバ装置200に送信する(ステップS200)。ユーザ端末100から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置200は、出題メッセージを含む出題メッセージ情報をユーザ端末100に対して送信する。
次に、ユーザ端末100のメッセージ受信部153は、サーバ装置200から送信されたタイピングの出題メッセージ(第1の情報)を含む出題メッセージ情報を受信し、メッセージ情報記憶部143に記憶させる(ステップS210)。
続いて、表示制御部159は、サーバ装置200から受信した出題メッセージ(第1の情報)をタイピング画面(表示部110)に表示させる(ステップS220)。具体的には、表示制御部159は、サーバ装置200から受信した出題メッセージを、タイピング画面において、左側からの吹き出しに表示させる(図11参照)。
表示制御部159が出題メッセージをタイピング画面に表示させると、操作受付部120は、その出題メッセージに対応して、ユーザが入力した入力メッセージ(第2の情報)を受け付ける(ステップS230)。例えば、メッセージ送信指示部151は、テキストボックスE31に入力メッセージが入力され、送信ボタンE32にタップ操作がされると、テキストボックスE31に入力された入力メッセージに、タイピングゲームを行うグループを識別するグループIDと、入力メッセージを入力したユーザである自ユーザを識別するユーザIDと、グループ種類(例えば、フラグ「10」)と、を対応付けたメッセージ情報を含む送信指示情報を生成する。メッセージ送信部152は、タイピングの出題メッセージに対する入力メッセージとして入力されたメッセージ(例えば、フラグ「10」が対応付けられたメッセージ)をサーバ装置200に送信せずに、メッセージ情報記憶部143に記憶させる。
次に、照合部156は、ステップS220においてタイピング画面に表示された出題メッセージ(第1の情報)と、ステップS230において、その出題メッセージに対応してユーザが入力した入力メッセージ(第2の情報)とを照合する(ステップS240)。
結果送信指示部157は、照合部156が照合した照合結果に基づく情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、照合結果に基づく情報をサーバ装置200に対して送信する(ステップS250)。
サーバ装置200は、照合結果に基づく情報を受信することに応じて、次の出題メッセージを含む出題メッセージ情報をユーザ端末100に送信する。なお、サーバ装置200は、次の出題メッセージが無い場合(例えば、最後の出題メッセージが送信済みであった場合)には、出題メッセージを送信しないで処理を終了する。
したがって、ユーザ端末100は、次の問題があるか否かを判定して(ステップS260)、次の出題メッセージがある場合には、ステップS210に処理を戻し、次の出題メッセージをタイピング画面に表示する(図12参照)。一方、次の出題メッセージが無い場合には、ユーザ端末100は、タイピングの問題を出題する処理(出題メッセージを表示して、ユーザの操作を受け付ける処理)を終了する。
以上説明してきたように、本実施形態によるユーザ端末100(端末装置)は、サーバ装置200から送信された出題メッセージ(第1の情報)を受信するメッセージ受信部153(受信部)と、メッセージ受信部153が受信した出題メッセージ(第1の情報)を表示部110に表示させる表示制御部159とを備えている。また、ユーザ端末100(端末装置)は、表示制御部159が表示部110に表示させた出題メッセージ(第1の情報)と、操作受付部120(ユーザ操作受付部)から入力された入力メッセージ(第2の情報)とを照合する照合部156と、照合部156が照合した照合結果に基づく情報をサーバ装置200に送信するメッセージ送信部152(送信部)と、を備えている。
つまり、ユーザ端末100は、サーバ装置200から送信された出題メッセージ(第1の情報)を受信して表示部110に表示し、表示した出題メッセージ(第1の情報)と、その出題メッセージに対応してユーザの操作により入力された入力メッセージ(タイピングの結果)とを照合する。そして、ユーザ端末100は、照合した照合結果に基づく情報をサーバ装置200に送信する。
これにより、ユーザ端末100は、タイピングゲームにおいて、タイピングの出題メッセージをサーバ装置200から取得して表示部110に表示するため、サーバ装置200に記憶されている様々な出題メッセージのうちのユーザの要望に沿う出題メッセージを出題することができる。また、ユーザ端末100は、表示した出題メッセージに対応してユーザが入力した入力メッセージと、当該出題メッセージとを照合して、照合結果に基づく情報をサーバ装置200に送信するため、タイピング中にサーバ装置200との通信が途切れたとしても、入力のタイミングに応じて照合することができる。すなわち、サーバ装置200からタイピングの出題メッセージを取得した後は、ユーザ端末100にて、入力メッセージと出題メッセージとを照合するようにしたので、取得から照合までの間、サーバ装置200とユーザ端末100を通信する必要がない。
従って、本実施形態のユーザ端末100によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末100によれば、利便性の高いアプリケーションを提供することができる。
また、メッセージ送信部152(送信部)は、自ユーザのユーザ端末100(自装置)から他ユーザのユーザ端末100(他装置)に対して送信するメッセージ(第1メッセージ)をサーバ装置200に送信する。また、メッセージ受信部153(受信部)は、一又は複数の他ユーザのユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)をサーバ装置200を介して受信する。表示制御部159は、自装置から送信するメッセージ(第1メッセージ)と他装置から送信されたメッセージ(第2メッセージ)とを時系列に並べて表示部110に表示させるととともに、サーバ装置200から送信された出題メッセージ(第1の情報)を他装置から送信されたメッセージ(第2メッセージ)として表示させる。すなわち、自装置から送信するメッセージ(第1メッセージ)と他装置から送信されたメッセージ(第2メッセージ)が時系列に並べて表示させるメッセージ画面のように、タイピング画面が表示部110に表示されているときには、出題メッセージ(第1の情報)が他装置から送信されたメッセージ(第2メッセージ)のように表示させる。
つまり、ユーザ端末100は、サーバ装置200から送信された出題メッセージ(第1の情報)を、チャットにおいて他ユーザのユーザ端末100から送信されたメッセージと同様(例えば、左側からの吹き出し)に表示部110に表示させる。
これにより、ユーザ端末100は、タイピングゲームにおいても、ユーザが、チャットのメッセージ画面を見ているのと同じように、出題メッセージが表示されるタイピング画面を見ながらタイピング練習ができるようにすることができる。
なお、表示制御部159は、入力メッセージ(第2の情報)を自装置から送信するメッセージ(第1メッセージ)として表示させてもよい。すなわち、メッセージ画面のように、タイピング画面が表示部110に表示されているときには、入力メッセージ(第2の情報)が自装置から送信するメッセージ(第1メッセージ)のように表示させる。つまり、ユーザ端末100は、出題メッセージに対応して自ユーザが入力した入力メッセージを、チャットにおいて自装置から送信するメッセージと同様(例えば、右側からの吹き出し)に表示部110に表示させる。
これにより、ユーザ端末100は、タイピングゲームにおいても、ユーザが、チャットのメッセージ画面を見ているのと同じように、入力メッセージが表示されるタイピング画面を見ながらタイピング練習ができるようにすることができる。
なお、上記実施形態では、他装置から送信されたメッセージ(第2メッセージ)が左側からの吹き出しに表示され、自装置から送信するメッセージ(第1メッセージ)が右側からの吹き出しに表示されて区別される例を示したが、それぞれのメッセージは他の表示方法によって区別されてもよい。例えば、それぞれのメッセージが表示される吹き出しの色、形、枠の線種等によって、どちらのユーザ端末100から送信したメッセージであるかが区別されてもよい。また、送信ユーザを示すユーザ情報(ユーザ名やプロフィール画像)がそれぞれのメッセージに対応付けて表示されることによって区別されてもよい。
また、メッセージ送信部152(送信部)は、操作受付部120(ユーザ操作受付部)から入力されたメッセージ(第1メッセージ)をサーバ装置200に送信する。つまり、ユーザ端末100は、チャットにおけるメッセージの入力と、タイピングゲームにおける入力メッセージの入力とを、同じ操作受付部120が受け付ける。即ち、ユーザ端末100は、チャットにおけるメッセージの入力と同じ操作方法により、タイピングゲームにおける入力メッセージの入力の操作を受け付ける。
これにより、ユーザ端末100は、タイピングゲームにおいても、チャットの操作方法と同じ操作方法により、タイピング練習ができるようにすることができる。
上述してきたように、本実施形態によるユーザ端末100(端末装置)において、メッセージ送信部152(送信部)は、自ユーザのユーザ端末100(自装置)から他ユーザのユーザ端末100(他装置)に対して送信するチャットのメッセージ(第1メッセージ)をサーバ装置200に送信するとともに、照合部156が照合した照合結果(タイピングの入力結果)に基づく情報をサーバ装置200に送信する。ここで、照合部156は、タイピングゲームにおける出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合する。
また、メッセージ受信部153(受信部)は、一又は複数の他ユーザのユーザ端末100(他装置)から送信されたチャットのメッセージ(第2メッセージ)をサーバ装置200を介して受信するとともに、メッセージ受信部153(受信部)が受信したタイピングゲームの出題メッセージ(第1の情報)を受信する。
また、表示制御部159は、自装置から送信するチャットのメッセージ(第1メッセージ)と他装置から送信されたチャットのメッセージ(第2メッセージ)とを時系列に並べて表示部110に表示させるととともに、サーバ装置200から送信されたタイピングゲームの出題メッセージ(第1の情報)を他装置から送信されたメッセージ(第2メッセージ)として表示させる。すなわち、自装置から送信するメッセージ(第1メッセージ)と他装置から送信されたメッセージ(第2メッセージ)が時系列に並べて表示させるメッセージ画面のように、タイピング画面が表示部110に表示されているときには、出題メッセージ(第1の情報)が他装置から送信されたメッセージ(第2メッセージ)のように表示させる。
つまり、本実施形態では、チャットアプリケーションとタイピングゲーム(タイピング練習機能)とが融合したアプリケーションを提供する。これにより、本実施形態によるユーザ端末100は、チャットアプリケーションを利用する際の入力操作(タイピング操作)を、チャットアプリケーションのユーザインターフェース上で練習可能とすることができる。よって、本実施形態によれば、チャットアプリケーションにタイピング練習機能が搭載されるため、ユーザは、チャットアプリケーション内で、短時間で且つ正しくメッセージを入力する操作を習得できるようにタイピングの練習を行うことができる。
従って、本実施形態のユーザ端末100によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態のユーザ端末100によれば、利便性の高いアプリケーションを提供することができる。
また、チャットにより送信するメッセージは、テキスト文字だけではなく、顔文字や絵文字を利用したり、画像やスタンプ等のアイテムを利用したりする。例えば、チャットアプリケーションを使い始めて間もないユーザにとっては、これらを利用できることを知らなかったり、利用できることを知っていても入力の仕方が分からなかったりする場合もある。そのため、本実施形態によれば、チャットアプリケーション上において実行されるため、出題メッセージに、顔文字や絵文字などを含ませるようにすることで、当該アプリケーションでメッセージとして入力可能な文字やアイテムのバリエーションをユーザに対して知らしめることができるようになる。
なお、表示制御部159は、入力メッセージ(第2の情報)を入力する際の操作方法を示す情報を表示部110に表示させてもよい。例えば、出題メッセージに対する入力メッセージを正しく入力できなかった場合には、表示制御部159は、そのメッセージを正しく入力する際の操作方法を示す情報として、入力操作ガイド(操作方法の説明)を表示部110に表示させるようにしてもよい。具体的には、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)を比較することで、出題メッセージに対する入力メッセージを正しく入力できなかった文字を入力メッセージから特定し、特定された文字に対する入力操作ガイドを表示部110に表示させる。正しく入力できなかった文字が複数特定された場合には、特定された文字ごとに入力操作ガイド(操作方法の説明)を表示部110に表示させるようにしてもよい。
また、表示制御部159は、ユーザが入力メッセージを入力中に操作方法が分からなくなった場合の対応として、例えば、ヘルプボタンに対する操作に応じて、入力操作ガイドを表示部110に表示させるようにしてもよい。また、自動的に、入力操作ガイドを表示部110に表示させるようにしてもよい。具体的には、入力メッセージの入力中に出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを逐次比較することで、所定時間の間、次に入力すべき文字が入力されなかった場合に、特定された文字に対する入力操作ガイドを表示部110に自動的に表示させるようにしてもよい。
また、図14に示す選択ラベルE56(チュートリアル)に対して操作がされた場合に、表示制御部159は、入力操作ガイドを表示部110に表示させてもよい。
これにより、タイピングゲームをチャットアプリケーションのチュートリアルとして機能させることができる。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100の照合部156が出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合した照合結果に基づく情報が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かを示す情報である例について説明する。
本実施形態による処理の動作について、図16を参照して説明する。
図16は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第2例を示すフローチャートである。この図16において、図15の各処理に対応する処理には同一の符号を付け、その説明を省略する。
この図16に示す例では、ステップS240の照合部156が出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合する処理において、ステップS241、S242の処理が行われる。また、ステップS250のメッセージ送信部152が照合結果に基づく情報をサーバ装置200に対して送信する処理において、ステップS251の処理が行われる。
ステップS241において、照合部156は、ステップS220においてタイピング画面に表示された出題メッセージ(第1の情報)と、ステップS230において、その出題メッセージに対応してユーザが入力した入力メッセージ(第2の情報)とを比較する。そして、照合部156は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かを判定する(ステップS242)。ここで、照合部156は、ステップS230の処理において、テキストボックスE31に入力メッセージが入力され、送信ボタンE32に対して操作(例えば、タップ操作)がされると、テキストボックスE31に入力された入力メッセージが確定しものとして、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との比較を行う。
ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定された場合(ステップS242:YES)、結果送信指示部157は、照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したことを示す情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したことを示す情報を、照合結果に基づく情報としてサーバ装置200に対して送信する(ステップS251)。
一方、ステップS242において、出題メッセージ(第1の情報)と、入力メッセージ(第2の情報)とが一致しないと判定された場合(ステップS241:NO)、照合部156は、ステップS230の処理に戻し、ユーザが入力した入力メッセージを操作受付部120が受け付ける処理を継続する。
以上説明したように、本実施形態によるユーザ端末100において、照合部156は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かを判定する。そして、メッセージ送信部152(送信部)は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定した場合、当該一致したことを示す情報を、照合結果に基づく情報としてサーバ装置200に送信する。
これにより、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合には、その旨をサーバ装置200に対して送信することができる。また、ユーザ端末100は、この照合結果に基づく情報をサーバ装置200に対して送信することにより、サーバ装置200から送信される次の出題メッセージ(第1の情報)を取得することができる。
また、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との照合をユーザ端末100側で行うため、ユーザ端末100は、サーバ装置200と通信不良になった場合であっても、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否か(タイピングが正しいか否か)を判定することができる。
従って、本実施形態のユーザ端末100によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末100によれば、利便性の高いアプリケーションを提供することができる。
なお、上述の図16に示す処理の説明では、照合部156が、テキストボックスE31に入力メッセージが入力され、送信ボタンE32に対して操作(例えば、タップ操作)がされると、テキストボックスE31に入力された入力メッセージが確定しものとして、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との比較を行うものとして説明したが、これに限られるものではない。例えば、照合部156は、テキストボックスE31に文字が入力される度に逐次比較を行ってもよい。この場合には、送信ボタンE32に対する操作がされなくとも、入力メッセージの入力中に入力メッセージが出題メッセージに対して一致したときに、当該一致したことを示す情報をサーバ装置200に対して送信してもよい。
なお、図16を参照して、ユーザ端末100が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合にのみ当該一致したことを示す情報をサーバ装置200に送信し、当該一致しない場合には入力メッセージ(第2の情報)の入力の受け付けを継続する処理を説明したが、これに限られるものではない。例えば、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合には当該一致したことを示す情報をサーバ装置200に送信し、当該一致しない場合には当該一致しないことを示す情報をサーバ装置200に送信してもよい。この処理の動作について、図17を参照して説明する。
図17は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第3例を示すフローチャートである。この図17において、図16の各処理に対応する処理には同一の符号を付け、その説明を省略する。
ステップS241において、照合部156は、ステップS220においてタイピング画面に表示された出題メッセージ(第1の情報)と、ステップS230において、その出題メッセージに対応してユーザが入力した入力メッセージ(第2の情報)とを比較する。そして、照合部156は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かを判定する(ステップS242)。ここで、照合部156は、ステップS230の処理において、テキストボックスE31に入力メッセージが入力され、送信ボタンE32に対して操作(例えば、タップ操作)がされると、テキストボックスE31に入力された入力メッセージが確定しものとして、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との比較を行う。
ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定された場合(ステップS242:YES)の処理は、図16に示すステップS251の処理と同様である。
一方、ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないと判定された場合(ステップS242:NO)、結果送信指示部157は、照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないことを示す情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置200に対して送信する(ステップS252)。
これにより、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しなかった場合には、その旨をサーバ装置200に対して送信することができる。また、ユーザ端末100は、この照合結果に基づく情報をサーバ装置200に対して送信することにより、サーバ装置200から送信される次の出題メッセージ(第1の情報)を取得することができる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100の照合部156が出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合した照合結果に基づく情報が、出題メッセージ(第1の情報)に対して、ユーザが正しく入力メッセージ(第2の情報)を入力するために要した時間である例について説明する。
本実施形態による処理の動作について、図18を参照して説明する。
図18は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第4例を示すフローチャートである。この図18において、図16の各処理に対応する処理には同一の符号を付け、その説明を省略する。
表示制御部159が、サーバ装置200から受信した出題メッセージ(第1の情報)をタイピング画面(表示部110)に表示させる(ステップS220)と、計時部158は、経過時間の計時を開始する(ステップS225)。
また、ステップS230において、操作受付部120に対するユーザの入力メッセージの入力が終了すると、計時部158は、出題メッセージを表示させてからの経過時間を取得する。例えば、計時部158は、出題メッセージを表示させてから、テキストボックスE31に入力メッセージが入力され送信ボタンE32にタップ操作がされるまでの経過時間を取得する(ステップS235)。即ち、計時部158は、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時する。なお、計時部158は、出題メッセージを表示させてからの経過時間の計時を継続して行う。
また、ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定された場合(ステップS242:YES)、結果送信指示部157は、照合結果に基づく情報として、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を、照合結果に基づく情報としてサーバ装置200に対して送信する(ステップS255)。
以上説明したように、本実施形態によるユーザ端末100は、出題メッセージ(第1の情報)が表示部110に表示されてから入力メッセージ(第2の情報)の入力の終了までの経過時間を計時する計時部158を備えている。また、照合部156は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かを判定する。そして、メッセージ送信部152(送信部)は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定した場合、計時部158が計時した上述の経過時間を、照合結果に基づく情報としてサーバ装置200に送信する。
これにより、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合には、ユーザが出題メッセージに対して正しく入力メッセージを入力するために要した時間(経過時間)をサーバ装置200に対して送信することができる。
また、照合処理と経過時間の計時処理をユーザ端末100側で行うため、ユーザ端末100は、サーバ装置200と通信不良になった場合であっても、サーバ装置200との通信時間の影響を受けずに、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否か(タイピングした結果が正しいか否か)の判定と経過時間の計時とをすることができる。
従って、本実施形態のユーザ端末100によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末100によれば、利便性の高いアプリケーションを提供することができる。
また、ユーザ端末100は、ユーザが出題メッセージに対して正しく入力メッセージを入力するために要した時間(経過時間)をサーバ装置200に対して送信することにより、サーバ装置200においてユーザ自身の上達レベルや他のユーザとの比較を行うことができるようにするため、タイピングゲームのゲーム性を高めることができる。
なお、上述の説明では、入力メッセージの入力の終了までの経過時間を、テキストボックスE31に入力メッセージが入力され送信ボタンE32にタップ操作がされるまでの経過時間として説明したが、これに限られるものではない。例えば、照合部156が、入力メッセージの入力中に出題メッセージと入力メッセージとを逐次照合(比較)する場合には、入力メッセージの入力の終了までの経過時間を、出題メッセージに対して入力メッセージが一致したときに最後に入力された文字が確定したタイミングまでの経過時間としてもよい。即ち、送信ボタンE32を設けない構成としてもよい。
<第4の実施形態>
次に、本発明の第4の実施形態を説明する。上述した第2の実施形態において、ユーザ端末100が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合にのみ当該一致したことを示す情報をサーバ装置200に送信する処理の例と、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したか否かに基づいて、当該一致したか否かを示す情報をサーバ装置200に送信する処理の例とを説明した、これに限られるものではない。例えば、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致した場合にのみ当該一致したことを示す情報をサーバ装置200に送信するとともに、上述した第3の実施形態のように経過時間を計時して、制限時間を越えた場合には、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致していなくとも、当該一致していないことを示す情報をサーバ装置200に送信してもよい。
本実施形態による処理の動作について、図19を参照して説明する。
図19は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第5例を示すフローチャートである。この図19において、図17又は図18の各処理に対応する処理には同一の符号を付け、その説明を省略する。
この図19に示す処理は、図17に示す処理に対して、図18に示す経過時間を計時するステップS225及びステップS235の処理を追加するとともに、ステップS243の経過時間の判定処理を新たに追加している。
ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないと判定された場合(ステップS242:NO)、結果送信指示部157は、ステップS235において取得した経過時間が予め定められた閾値を超えているか否かを判定する(ステップS243)。ここで、予め定められた閾値は、ユーザに対して入力メッセージの入力を許可している制限時間の閾値として予め定められている。
ステップS243において、ステップS235において取得した経過時間が予め定められた閾値を超えていると判定された場合(ステップS243:YES)、図17に示すステップS252と同様の処理を実行し、メッセージ送信部152は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置200に対して送信する。
一方、ステップS243において、ステップS235において取得した経過時間が予め定められた閾値を超えていないと判定された場合(ステップS243:NO)、結果送信指示部157は、ステップS230に処理を戻し、ユーザが入力した入力メッセージを操作受付部120が受け付ける処理を継続する。
以上説明したように、本実施形態によるユーザ端末100において、メッセージ送信部152(送信部)は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致しないと判定した場合であっても、出題メッセージ(第1の情報)が表示部110に表示されてからの経過時間が予め定められた閾値を超えた場合には、当該一致しないことを示す情報を、照合結果に基づく情報としてサーバ装置200に送信する。
つまり、ユーザ端末100は、出題メッセージに対して、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、正しい入力ができていないことを示す情報をサーバ装置200に送信する。
これにより、ユーザ端末100は、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、サーバ装置200から送信される次の出題メッセージ(第1の情報)を取得することができる。
<第5の実施形態>
次に、本発明の第5の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100の照合部156が出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合した照合結果に基づく情報が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合を示す情報である例について説明する。
本実施形態による処理の動作について、図20を参照して説明する。
図20は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第6例を示すフローチャートである。この図20において、図16の各処理に対応する処理には同一の符号を付け、その説明を省略する。
この図20に示す例では、ステップS240の照合部156が出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合する処理において、ステップS260に示すステップS241の処理と、新たなステップS242の処理とが行われる。また、ステップS250のメッセージ送信部152が照合結果に基づく情報をサーバ装置200に対して送信する処理において、ステップS256の処理が行われる。
ステップS240において、照合部156は、ステップS220においてタイピング画面に表示された出題メッセージ(第1の情報)と、ステップS230において、その出題メッセージに対応してユーザが入力した入力メッセージ(第2の情報)とを比較する。ここで、照合部156は、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かを判定する。
そして、照合部156は、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かを示す情報に基づいて、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合(正解率)を算出する(ステップS243)。
次に、結果送信指示部157は、照合結果に基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合(正解率)を示す情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合(正解率)を示す情報を、照合結果に基づく情報としてサーバ装置200に対して送信する(ステップS256)。
以上説明したように、本実施形態によるユーザ端末100において、照合部156は、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かを判定する。そして、メッセージ送信部152(送信部)は、照合部156が判定した、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報を、照合結果に基づく情報としてサーバ装置200に送信する。
例えば、ユーザ端末100は、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報として、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合(正解率)をサーバ装置200に送信する。
これにより、ユーザ端末100は、例えば、制限時間を設けることにより速さと正確さを要求したタイピングゲームにおいて、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との一致した割合(正解率)をサーバ装置200に送信することにより、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになるため、ゲーム性を高めることができる。
なお、出題メッセージ(第1の情報)に含まれる複数の情報のそれぞれと、入力メッセージ(第2の情報)に含まれる複数の情報のそれぞれとが一致したか否かに基づく情報として、一致した割合(正解率)に代えて、一致しなかった割合(不正解率)としてもよい。
なお、ユーザ端末100は、複数の出題メッセージそれぞれに対する入力メッセージの正解率(一致した問題の割合)を、サーバ装置に送信してもよい。この場合、ユーザ端末100は、複数の出題メッセージそれぞれに対する入力メッセージが一致してもしていなくとも次の出題メッセージに移行するようにして正解率を算出してもよいし、制限時間を設けて制限時間内に正しく入力できなかった場合には誤と判定して次の出題メッセージに移行するようにして正解率を算出してもよい。
<第6の実施形態>
次に、本発明の第6の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100がサーバ装置200から複数の出題メッセージ(第1の情報)をまとめて取得する場合の処理について説明する。
本実施形態による処理の動作について、図21を参照して説明する。
図21は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第7例を示すフローチャートである。この図21に示す処理は、図15の処理に対して、サーバ装置200から複数の出題メッセージ(第1の情報)をまとめて取得し、取得した出題メッセージ(第1の情報)を一問ずつ順に出題して、最後に照合結果に基づく情報をサーバ装置200に送信する処理を示している。
まず、ユーザ端末100の問題取得指示部155は、図14に示すタイピングメニュー画面に対するユーザの操作に応じて、選択された分類(例えば、難易度のレベル)の複数の出題メッセージ(第1の情報)の要求指示を示す「出題メッセージ要求指示情報」をサーバ装置200に送信する(ステップS300)。ユーザ端末100から送信されたこの出題メッセージ要求指示情報を受信することに応じて、サーバ装置200は、複数の出題メッセージを含む複数の出題メッセージ情報をユーザ端末100に対して送信する。
次に、ユーザ端末100のメッセージ受信部153は、サーバ装置200から送信された複数の出題メッセージ情報を受信し、メッセージ情報記憶部143に記憶させる(ステップS310)。
続いて、表示制御部159は、サーバ装置200から受信した複数の出題メッセージ(第1の情報)のうちの一問目の出題メッセージをタイピング画面(表示部110)に表示させる(ステップS320)。具体的には、表示制御部159は、サーバ装置200から受信した出題メッセージのうちの一問目の出題メッセージを、タイピング画面において、左側からの吹き出しに表示させる(図11参照)。
表示制御部159が出題メッセージをタイピング画面に表示させると、操作受付部120は、その出題メッセージに対応して、ユーザが入力した入力メッセージ(第2の情報)を受け付ける(ステップS330)。例えば、メッセージ送信指示部151は、テキストボックスE31に入力メッセージが入力され、送信ボタンE32にタップ操作がされると、テキストボックスE31に入力された入力メッセージをサーバ装置200に送信せずに、メッセージ情報記憶部143に記憶させる。
次に、照合部156は、ステップS220においてタイピング画面に表示された出題メッセージ(第1の情報)と、ステップS230において、その出題メッセージに対応してユーザが入力した入力メッセージ(第2の情報)とを照合する(ステップS340)。
続いて、表示制御部159は、メッセージ情報記憶部143を参照して、次に表示させる出題メッセージがあるか否かを判定する(ステップS350)。ステップS350において、次の出題メッセージがあると判定された場合(ステップS350:YES)、表示制御部159は、ステップS320の処理に戻し、次の出題メッセージをタイピング画面に表示させる(図12参照)。
一方、ステップS350において、次の出題メッセージがないと判定された場合(ステップS350:NO)、結果送信指示部157は、照合部156が複数の出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを照合した照合結果に基づく情報をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、照合結果に基づく情報をサーバ装置200に対して送信する(ステップS360)。ここでの照合結果に基づく情報とは、例えば、最初(一問目)の出願メッセージ(第1の情報)が表示されてから、最後の出願メッセージ(第1の情報)に対応する入力メッセージ(第2の情報)の入力が終了するまで(最後の出願メッセージと、それに一致する入力メッセージの入力が終了したときまで)の経過時間を示す情報である。なお、ここでの照合結果に基づく情報とは、複数の出願メッセージ(第1の情報)と入力メッセージ(第2の情報)とのそれぞれが一致したか否かを示す情報、又は、一致した割合(正解率)を示す情報であってもよい。
このように、本実施形態によるユーザ端末100は、サーバ装置200からまとめて送信された複数の出題メッセージを、1問ずつ順番に表示部110に表示させる。
これにより、ユーザ端末100は、1問毎にサーバ装置200と通信することなく、サーバ装置200から1問ずつ取得する場合と同様に、1問ずつ順番に表示部110に表示させることができる。この場合も、ユーザ端末100は、1問ずつ順番に出題メッセージを例えば左側からの吹き出しに表示させる。
<第7の実施形態>
次に、本発明の第7の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100の操作受付部120に対する操作入力の受け付けを制御する処理について説明する。
本実施形態による処理の動作について、図22を参照して説明する。
図22は、本実施形態によるユーザ端末100が実行するタイピングゲームの動作の第8例を示すフローチャートである。この図22に示す処理は、操作受付部120に対する操作入力の受け付けを制御する処理を示している。この図22において、図16の各処理に対応する処理には同一の符号を付け、その説明を省略する。
ステップS220において、表示制御部159が出題メッセージをタイピング画面に表示させると、操作受付指示部154は、操作受付部120に対する操作入力の受け付けを許可する。例えば、操作受付指示部154は、メッセージ画面に表示されるテキストボックスE31に対するユーザからの操作入力の受け付けの開始を指示する(ステップS225)。これにより、操作受付部120は、ユーザが入力した入力メッセージ(第2の情報)を受け付ける(ステップS230)。
また、ステップS242において、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定された場合(ステップS242:YES)、操作受付指示部154は、操作受付部120に対する操作入力の受け付けを禁止する。例えば、操作受付指示部154は、メッセージ画面に表示されるテキストボックスE31に対するユーザからの操作入力の受け付けの終了を指示する(ステップS245)。
一方、ステップS242において、出題メッセージ(第1の情報)と、入力メッセージ(第2の情報)とが一致しないと判定された場合(ステップS242:NO)、操作受付指示部154は、ステップS230の処理に戻し、ユーザが入力した入力メッセージを操作受付部120が受け付ける処理を継続させる。
以上説明したように、本実施形態によるユーザ端末100は、表示制御部159が出題メッセージ(第1の情報)を表示部110に表示させたことに応じて、操作受付部120(ユーザ操作受付部)に対して、入力メッセージ(第2の情報)の入力の受け付けを開始させる指示をする操作受付指示部154を備えている。
これにより、ユーザ端末100は、出題メッセージを表示させたことに応じて、入力メッセージ(第2の情報)の入力の受け付けを開始(許可)することができる。なお、入力メッセージ(第2の情報)の入力の受け付けは、ユーザの操作受付部120(ユーザ操作受付部)に対する操作に応じて開始されるようにしてもよいし、常時受け付けが許可されているようにしてもよい。
また、操作受付指示部154は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致したと判定した場合、操作受付部120(ユーザ操作受付部)に対して、入力メッセージ(第2の情報)の入力の受け付けを終了させる指示をする。一方、操作受付指示部154は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致していないと判定した場合、操作受付部120(ユーザ操作受付部)に対して、入力メッセージ(第2の情報)の入力の受け付けを継続させる指示をする。
これにより、ユーザ端末100は、出題メッセージに対して、正しく入力メッセージが入力された(タイピングが正しかった)場合には、入力メッセージ(第2の情報)の入力の受け付けを終了(禁止)することができる。また、ユーザ端末100は、出題メッセージに対して、正しく入力メッセージが入力されなかった(タイピングが誤っている)場合には、入力メッセージ(第2の情報)の入力の受け付けを継続(許可)することができる。
なお、操作受付指示部154は、照合部156が、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とが一致していないと判定した場合であっても、出題メッセージ(第1の情報)が前記表示部に表示されてからの経過時間が予め定められた閾値を超えた場合には、操作受付部120(ユーザ操作受付部)に対して、入力メッセージ(第2の情報)の入力の受け付けを終了させる指示をしてもよい。
これにより、ユーザ端末100は、ユーザ端末100は、ユーザが正しい入力メッセージを入力できていない状態であっても、制限時間を超えた場合には、入力メッセージ(第2の情報)の入力の受け付けを終了(禁止)することができる。
<第8の実施形態>
次に、本発明の第8の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様である。本実施形態では、サーバ装置200の構成と処理について詳しく説明する。
まず、本実施形態によるサーバ装置200が実行するタイピングゲームの基本的な処理の動作について、図23を参照して説明する。
図23は、本実施形態によるサーバ装置200が実行するタイピングゲームの動作の第1例を示すフローチャートである。
サーバ装置200のタイピング処理部252は、ユーザ端末100から送信された出題メッセージ要求指示情報を受信する(ステップS400)ことに応じて、出題メッセージ(第1の情報)を問題記憶部244から読み出して、読み出した出題メッセージを含む出題メッセージ情報を当該ユーザ端末100に送信する(ステップS410)。
次に、タイピング処理部252は、ユーザ端末100から送信された照合結果に基づく情報を受信する(ステップS420)ことに応じて、次の出題メッセージ(第1の情報)があるか否かを判定する(ステップS430)。
ステップS430において、次の出題メッセージ(第1の情報)があると判定された場合(ステップS430:YES)、タイピング処理部252は、ステップS410に処理を戻し、次の出題メッセージ(第1の情報)を含む出題メッセージ情報を問題記憶部244から読み出して、ユーザ端末100に送信する)。一方、ステップS430において、次の出題メッセージ(第1の情報)がないと判定された場合(ステップS430:NO)、タイピング処理部252は、出題メッセージ(第1の情報)をユーザ端末100に送信する処理を終了する。
このように、本実施形態によるサーバ装置200は、ユーザ端末100(端末装置)に対して、出題メッセージ(第1の情報)を送信するメッセージ転送部251(サーバ送信部)を備えている。ここで、このユーザ端末100は、受信した出題メッセージ(第1の情報)を表示部110に表示させ、表示部110に表示させた出題メッセージ(第1の情報)と、操作受付部120(ユーザ操作受付部)から入力された入力メッセージ(第2の情報)とを照合し、当該照合した照合結果に基づく情報を送信する。また、メッセージ転送部251(サーバ受信部)は、ユーザ端末100(端末装置)から送信された照合結果に基づく情報を受信する。
これにより、サーバ装置200は、タイピングゲームの出題メッセージをユーザ端末100に送信することができる。また、サーバ装置200は、送信した出題メッセージに対してユーザが入力した入力メッセージと、当該出題メッセージとの照合結果に基づく情報を取得することができる。例えば、サーバ装置200は、出題メッセージと入力メッセージとの照合結果に基づく情報として、出題メッセージに対して正しく入力メッセージが入力されたか否かを示す情報、又は、出題メッセージに対して正しく入力メッセージが入力されるまでに要した時間(経過時間)等を取得することができる。
次に、サーバ装置200が備えるタイピング処理部252の構成について詳しく説明する。図24は、本実施形態によるタイピング処理部252の構成の一例を示す概略ブロック図である。
タイピング処理部252は、問題送信指示部253と、結果処理部254と、集計部255と、取得部256、生成部257と、分類部258と、を備えている。
問題送信指示部253は、問題記憶部244から出題メッセージ(第1の情報)を読み出して、読み出した出題メッセージに、グループID(例えば、グループID「G7」)と、ユーザID(例えば、ユーザTのユーザID「T」)と、日時情報と、グループ種類(例えば、フラグ「10」)とが含まれる出題メッセージ情報を生成する。メッセージ転送部251は、問題送信指示部253が出題メッセージ情報を生成すると、当該生成した出題メッセージ情報をユーザ端末100に送信する。
つまり、問題送信指示部253は、ユーザ端末100から送信された出題メッセージ要求指示情報を受信することに応じて出題メッセージ情報を生成することにより、生成した出題メッセージ情報をメッセージ転送部251を介して当該ユーザ端末100に送信する。
結果処理部254は、ユーザ端末100から送信された照合結果に基づく情報を受信することに応じて、次の出題メッセージがあるか否かを判定し、次の出題メッセージがあると判定した場合には、問題送信指示部253に対して、次の出題メッセージをユーザ端末100に送信する指示を生成するように指示する。また、結果処理部254は、ユーザ端末100から送信された照合結果に基づく情報を結果記憶部245に記憶させるとともに、集計部255に供給する。
さらに、結果処理部254は、照合結果に基づく情報を供給することにより集計部255が集計した集計結果(例えば、ランキング情報)を取得して、取得した集計結果を結果記憶部245に記憶させる。また、結果処理部254は、ユーザ端末100からの要求等に応じて、集計結果(例えば、ランキング情報)をユーザ端末100に送信する指示を生成し、メッセージ転送部251を介してユーザ端末100に送信する。
集計部255は、ユーザ端末100から送信された複数の照合結果に基づく情報を集計して、照合結果に基づく情報の順位付けを行う。例えば、集計部255は、複数のユーザ端末100のそれぞれから送信された照合結果に基づく情報の順位付けを行うことにより、複数のユーザが行ったタイピング結果のランキング情報を生成する。また、集計部255は、一のユーザ端末100から送信された複数の照合結果に基づく情報の順位付けを行うことにより、一のユーザが複数回行ったタイピング結果のランキング情報を生成する。
例えば、結果処理部254は、ユーザ端末100から送信された照合結果に基づく情報を受信することに応じて、次の出題メッセージがあるか否かを判定し、次の出題メッセージ(第1の情報)がないと判定した場合には、ユーザ端末100に集計結果を送信するようにしてもよい。この処理について、図25を参照して説明する。
図25は、本実施形態によるサーバ装置200が実行するタイピングゲームの動作の第2例を示すフローチャートである。この図25において、図23の各処理に対応する処理には同一の符号を付け、その説明を省略する。
ステップS400からS420の処理は、図23を参照して説明した処理と同様の処理である。ステップS430において、次の出題メッセージ(第1の情報)がないと判定された場合(ステップS430:NO)、結果処理部254は、照合結果に基づく情報を集計部255に供給する。集計部255は、結果処理部254から供給された照合結果に基づく情報(例えば、経過時間)を集計して、照合結果に基づく情報の順位付けを行う。例えば、集計部255は、結果処理部254から供給された照合結果に基づく情報(例えば、経過時間)と、過去に複数のユーザ端末100のそれぞれから送信された照合結果に基づく情報(例えば、経過時間)とに基づいて、結果処理部254から供給された照合結果に基づく情報(例えば、経過時間)の順位を示すランキング情報を生成する。そして、集計部255は、生成したランキング情報を結果記憶部245に記憶させるとともに、結果処理部254に対して供給(応答)する(ステップS440)。
結果処理部254は、集計部255から供給されたランキング情報を取得して、当該ランキング情報をユーザ端末100に送信する指示を生成する。この指示に応じて、メッセージ転送部251は、当該ランキング情報をユーザ端末100に送信する(ステップS450)。
このように、本実施形態によるサーバ装置200は、ユーザ端末100(端末装置)から送信された複数の照合結果に基づく情報の順位付けを行う集計部255を備えている。そして、メッセージ転送部251(サーバ送信部)は、集計部255により行われた順位付けを示す情報をユーザ端末100(端末装置)に送信する。つまり、サーバ装置200は、ユーザ端末100から送信された複数の照合結果に基づく情報の順位付けを行い、例えば、ランキング情報を生成する。そして、サーバ装置200は、生成したランキング情報をユーザ端末100に送信する。
これにより、サーバ装置200は、各ユーザのタイピングの成績を、各ユーザのユーザ端末100それぞれに送信することができるため、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになる。例えば、チャット仲間どうしで、タイピングを競うことができるようになる。従って、本実施形態によれば、タイピングゲームのゲーム性を高めることができ、チャットを行う際の操作(例えば、タイピング操作や画像選択操作)の習得を促進させることができる。
なお、サーバ装置200は、各ユーザのタイピングの成績に応じて、特定のユーザに称号を与えるようにしてもよい。例えば、サーバ装置200は、付与された称号をユーザのプロフィールとして紹介されるようにユーザ情報を更新してもよいし、称号によってプロフィール画像に称号バッチが表示されるようにユーザ情報を更新してもよい。
また、各ユーザのタイピングの成績は、例えば、出題数が例えば10問であり、それぞれの出題に係る経過時間の累計により決定されるようにしてもよい。また、各ユーザのタイピングの成績は、予め定められた時間内に何問正しく入力できたかを競うことにより決定されてもよい。ここで、正しく入力できた数が同一のユーザがいる場合には、出題に対して最後まで入力しきれなかった途中までの入力文字数を加味して成績が決定されてもよい。
(出題メッセージの生成)
なお、上記実施形態では、タイピングの出題となる出題メッセージは、固定の出題メッセージが予めサーバ装置200に記憶されているものとして説明したが、サーバ装置200は、その時々に応じた出題メッセージを生成してもよい。例えば、サーバ装置200は、その時々のニュースの見出しや内容を出題メッセージとしてもよい。
図24に戻り、取得部256は、時間の経過にともなって逐次更新される情報をネットワーク5を介して取得する。ここで、時間の経過にともなって逐次更新される情報とは、例えば、最新の時事情報(最新のニュース)である。例えば、取得部256は、新聞社、通信社、放送局等が逐次更新して配信するニュースを、ネットワーク5を介して取得する。
生成部257は、取得部256が取得した情報(例えば、ニュース)に基づいて出題メッセージを生成する。例えば、生成部257は、取得部256が取得したニュースに基づいて、当該ニュースの見出しや内容を含む出題メッセージを生成し、生成した出題メッセージを含むメッセージ情報を問題記憶部244に記憶させる。なお、生成部257は、取得部256がジャンル毎に取得したニュースに基づいてジャンル毎の出題メッセージを生成し、生成した出題メッセージと、ジャンル毎に区別可能な分類情報とを対応付けた出題メッセージ情報を問題記憶部244に記憶させてもよい。
このように、本実施形態によるサーバ装置200は、時間の経過にともなって逐次更新される情報をネットワーク5を介して取得する取得部256と、取得部256が取得した情報に基づいて出題メッセージ(第1の情報)を生成する生成部257と、を備えている。
これにより、サーバ装置200は、現在、注目度の高い話題やよく用いられている用語等が含まれる情報を、タイピングの出題メッセージとすることができる。また、サーバ装置200は、ニュースの見出しや内容をタイピングの出題メッセージとすることにより、タイピングゲームを行うユーザがニュースに精通するようにさせることができる。
なお、サーバ装置200は、例えば、ニュースの見出しや内容をタイピングの出題メッセージとした場合に、ニュースのジャンルをユーザが選択できるようにしてもよい。
(出題するタイピングの問題の分類)
図24に示す分類部258は、出題メッセージを所定の条件に従って分類する。ここで、所定の条件とは、例えば、ユーザ端末100において、タイピングの出題である出題メッセージと同じになるように入力メッセージを入力する操作の難易度に基づく条件である。
具体的には、メッセージに含まれる文字の種類、アイテム(例えば、スタンプ)が含まれるか否かによって、タイピング操作の難易度が定められる。例えば、ソフトウェアキーボードに対する単純なキー操作により入力可能な出題メッセージ(テキスト文字のみの出題メッセージ)は難易度の低い出題に分類され、出題メッセージに絵文字や顔文字が含まれること、さらにはアイテム(例えば、スタンプ)が含まれることに応じて、入力に複雑な操作が必要となって難易度の高い出題に分類される。
ここでは、分類部258は、出題メッセージに含まれる情報の種類(文字の種類、アイテム(例えば、スタンプ)が含まれるか否か等)に基づいてタイピング操作の難易度を判定し、当該判定した難易度に基づく条件に従って当該出題メッセージを分類する。例えば、分類部258は、複数の出題メッセージのそれぞれを、難易度に基づく条件に従って、初級の出題、中級の出題、又は、上級の出題のいずれかに分類する(図14参照)。
なお、分類部258は、出題メッセージをジャンルに基づいて分類してもよい。
図26は、本実施形態による出題メッセージを分類する処理の動作例を示すフローチャートである。この図26を参照して、サーバ装置200が出題メッセージを分類する処理の動作を説明する。
分類部258は、問題記憶部244から出題メッセージ(第1の情報)を読み出す(ステップS500)。この出題メッセージは、例えば、生成部257が生成した出題メッセージである。なお、この出題メッセージは、予め記憶されている出題メッセージであってもよい。
次に、分類部258は、出題メッセージに含まれる情報の種類(文字の種類、アイテム(例えば、スタンプ)が含まれるか否か等)に基づいてタイピング操作の難易度を判定する(ステップS510)。そして、分類部258は、ステップS510において判定した難易度に基づく条件に従って当該出題メッセージを、初級の出題、中級の出題、又は、上級の出題のいずれかに分類する。
ステップS510において、分類部258は、出題メッセージに含まれる情報の種類がテキスト文字のみである場合には難易度が初級であると判定し、当該出題メッセージを初級の出題に分類する(ステップS520)。また、ステップS510において、分類部258は、出題メッセージに含まれる情報の種類がテキスト文字と絵文字と顔文字とを含む場合には難易度が中級であると判定し、当該出題メッセージを中級の出題に分類する(ステップS530)。また、ステップS510において、分類部258は、出題メッセージに含まれる情報の種類がテキスト文字と絵文字と顔文字とスタンプとを含む場合には難易度が上級であると判定し、当該出題メッセージを上級の出題に分類する(ステップS540)。
なお、分類部258は、分類した結果に基づいて、出題メッセージと、難易度毎に区別可能な分類情報とを対応付けた出題メッセージ情報を問題記憶部244に記憶させる。
このように、本実施形態によるサーバ装置200は、出題メッセージ(第1の情報)を所定の条件に従って分類する分類部258を備えている。
これにより、サーバ装置200は、所定の条件に従って分類された出題メッセージをユーザ端末100に提供することができるため、ユーザが出題メッセージを所定の条件により選択できるようにすることができる。
ここで、所定の条件は、例えば、ユーザ端末100(端末装置)において、出題メッセージ(第1の情報)と一致するように入力メッセージ(第2の情報)を入力する操作の難易度に基づく条件である。
これにより、サーバ装置200は、操作の難易度に基づく条件に従って分類された出題メッセージをユーザ端末100に提供することができるため、ユーザが出題メッセージを操作の難易度により選択できるようにすることができる。
具体的には、分類部258は、例えば、出題メッセージ(第1の情報)に含まれる情報の種類に基づいて難易度を判定し、当該判定した難易度に基づく条件に従って出題メッセージ(第1の情報)を分類する。
これにより、サーバ装置200は、例えば、出題メッセージに含まれる文字の種類、又は、出題メッセージにアイテム(例えば、スタンプ)が含まれるか否か等に基づいて判定した操作の難易度に従って、出題メッセージを分類することができる。
よって、サーバ装置200は、例えば、生成部257が生成したニュースの見出しや内容を含む出題メッセージを、操作の難易度に基づく条件に従って分類してユーザ端末100に提供することができる。また、サーバ装置200は、例えば、予め問題記憶部244に記憶されている出題メッセージのうち分類されていない出題メッセージを分類してユーザ端末100に提供することができる。
なお、サーバ装置200は、生成部257が生成したる出題メッセージ、又は、予め問題記憶部244に記憶されている出題メッセージのうち分類されていない出題メッセージを、ジャンルに基づく条件に従って分類してユーザ端末100に提供してもよい。
以上のように、本実施形態のサーバ装置200によれば、利便性の高いタイピング練習アプリケーションを提供することができる。また、本実施形態のサーバ装置200によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態のサーバ装置200によれば、利便性の高いアプリケーションを提供することができる。
<第9の実施形態>
次に、本発明の第9の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態に対してユーザ端末100が照合部156を備えていないことが異なる。本実施形態では、ユーザ端末100では、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)との照合を行わずに、入力された入力メッセージ(第2の情報)と、入力メッセージの入力に要した時間(経過時間)とをサーバ装置200に送信する例について説明する。
まず、図27を参照して、ユーザ端末100の構成について説明する。図27は、本実施形態によるユーザ端末100の構成の一例を示す概略ブロック図である。この図27に示す構成は、図3に示す構成に対して、照合部156を備えていない構成であることが異なる。なお、この図27において、図3の各部と対応する構成には同じ符号をつけておりその説明を省略する。
本実施形態では、ユーザ端末100において出題メッセージと入力メッセージとの照合を行わない。そして、結果送信指示部157は、入力メッセージの入力が終了すると(例えば、送信ボタンE32に対する操作がされると)、ユーザが入力メッセージの入力(タイピング)に要した時間、即ち、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了まで(例えば、送信ボタンE32に対する操作がされるまで)の経過時間を、サーバ装置200に送信する。また、結果送信指示部157は、この経過時間とともに、ユーザが入力した入力メッセージをサーバ装置200に送信する。これにより、サーバ装置200において、出題メッセージと入力メッセージとの照合処理を行うように構成してもよい。
また、本実施形態によるユーザ端末100が実行するタイピングゲームの動作例は、図18に示すフローチャートにおいて、ステップS240の処理(ステップS241、S242の処理)を省くことにより示すことができる。
具体的には、ステップS235において、計時部158が、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間を計時すると、次に、結果送信指示部157は、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置200に対して送信する指示情報を生成する。この指示情報が生成されたことに応じて、メッセージ送信部152は、表示部110に出題メッセージが表示されてから入力メッセージの入力の終了までの経過時間をサーバ装置200に対して送信する(ステップS255)。なお、メッセージ送信部152は、ステップS230において、操作受付部120が受け付けた入力メッセージをサーバ装置200に対して送信する。
以上説明したように、本実施形態によるユーザ端末100は、サーバ装置200から送信された出題メッセージ(第1の情報)を受信するメッセージ受信部153(受信部)と、メッセージ受信部153が受信した出題メッセージ(第1の情報)を表示部110に表示させる表示制御部159とを備えている。また、ユーザ端末100は、出題メッセージ(第1の情報)が表示部110に表示されてから、操作受付部120(ユーザ操作受付部)に対して入力される入力メッセージ(第2の情報)の入力の終了までの経過時間を計時する計時部158と、計時部158が計時した経過時間と入力メッセージ(第2の情報)とをサーバ装置200に送信するメッセージ送信部152(送信部)と、を備えている。
つまり、ユーザ端末100は、サーバ装置200から送信された出題メッセージ(第1の情報)を受信して表示部110に表示し、表示部110に出題メッセージ(第1の情報)が表示されてから入力メッセージ(第2の情報)の入力の終了までの経過時間と、入力メッセージ(第2の情報)とをサーバ装置200に送信する。即ち、ユーザ端末100は、出題メッセージ(第1の情報)と入力メッセージ(第2の情報)とを行わないで、入力メッセージ(第2の情報)と入力メッセージ(第2の情報)の入力に要した時間(経過時間)とを送信する。
これにより、ユーザ端末100は、経過時間の計時処理をユーザ端末100側で行うため、サーバ装置200と通信不良になった場合であっても、サーバ装置200との通信時間の影響を受けずに、入力メッセージの入力に要した時間(経過時間)の計時をすることができる。従って、本実施形態のユーザ端末100によれば、利便性の高いタイピング練習アプリケーションを提供することができる。即ち、本実施形態のユーザ端末100によれば、利便性の高いアプリケーションを提供することができる。
また、ユーザ端末100は、入力メッセージと入力メッセージの入力に要した時間(経過時間)とをサーバ装置200に送信することにより、サーバ装置200側でタイピングの結果の照合(判定)やタイピングに要した時間の集計を行うことができるようにする。よって、本実施形態によれば、ユーザ自身の上達レベルや他のユーザとの比較を行うことができるようになるため、タイピングゲームのゲーム性を高めることができる。
<第10の実施形態>
次に、本発明の第10の実施形態を説明する。上記実施形態で説明したサーバ装置200が備えているチャット機能を実行する構成と、タイピングゲームを実行する構成とは、それぞれ異なるサーバ装置が備える構成としてもよい。
図28は、本実施形態によるチャットシステム1Aの構成の一例を示す概略ブロック図である。チャットシステム1Aは、複数のユーザ端末100−Nと、チャットサーバ装置200Aと、タイピングサーバ装置200Bとを備えている。これら複数のユーザ端末100−Nと、チャットサーバ装置200Aと、タイピングサーバ装置200Bとは、ネットワーク5を介して接続される。
チャットサーバ装置200Aは、サーバ装置200が備える構成のうちの少なくともチャット機能を実行する構成を備えている。例えば、チャットサーバ装置200Aは、サーバ通信部230Aと、ユーザ情報記憶部241、グループ情報記憶部242、及びメッセージ情報一時記憶部243を有するサーバ記憶部240Aと、メッセージ転送部251を有するサーバ制御部250Aと、を備えている。
一方、タイピングサーバ装置200Bは、サーバ装置200が備える構成のうちの少なくともタイピングゲームを実行する構成を備えている。例えば、タイピングサーバ装置200Bは、サーバ通信部230Bと、問題記憶部244、及び結果記憶部245を有するサーバ記憶部240Bと、タイピング処理部252を有するサーバ制御部250Bと、を備えている。
上述したチャットサーバ装置200Aとタイピングサーバ装置200Bとが、ネットワーク5を介して連携して処理を実行することにより、上記実施形態で説明したサーバ装置200と同様の処理を実行することができる。即ち、本実施形態によるチャットシステム1Aは、上記実施形態により得られる効果と同様の効果を得ることができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1から第10の実施形態において説明した各機能は、任意に組み合わせることができる。以下の記述では、サーバ装置200、チャットサーバ装置200A、又は、タイピングサーバ装置200Bを、サーバ装置200と総称する。
なお、上述の実施形態では、メッセージ情報に含まれるメッセージに対応付ける日時情報として、他ユーザから送信されたメッセージである場合には、そのメッセージが送信された日時(実際には、そのメッセージをサーバ装置200が受信した日時)を示す情報とし、自ユーザが送信したメッセージである場合には、そのメッセージをサーバ装置200が受信した日時を示す情報とする例を示した。ただし、他ユーザから送信されたメッセージである場合に、そのメッセージが他ユーザのユーザ端末100において実際に送信された日時を示す情報をメッセージとともに受信して日時情報としてもよいし、そのメッセージがサーバ装置200から送信された日時をメッセージとともに受信して日時情報としてもよい。また、サーバ装置200から送信された出題メッセージには、そのサーバ装置200から送信された日時を出題メッセージとともに受信して日時情報としてもよい。
また、上述の実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明したが、操作受付部120と表示部110とが別に構成され、操作受付部120としてキーボードやボタンを適用してもよい。また、操作受付部120を、音声認識により操作入力可能に構成してもよい。また、上述の実施形態では、ユーザ端末100において表示部110が一体として構成された例を説明したが、これに限らず、外部の表示部(表示装置)と有線又は無線により接続される構成としてもよい。
また、上述の実施形態では、チャットアプリケーションにおける制御の例を示したが、上述したように、送信されたメッセージをグループ内のユーザに対して送信する電子メールによるメーリングリスト、電子掲示板、タイムライン、ミニブログ(マイクロブログ、つぶやきブログ)チャット等における制御にも上述の実施形態を適用することができる。ここで、電子メールとは、携帯電話等によるショートメッセージサービス等により送受信されるメールであってもよい。なお、ユーザ間で送受信されるメッセージの表示の即時性という観点では、チャットアプリケーションにおける制御がより好適である。
また、本発明の実施形態は、上述の例に限るものではなく、本発明の範囲内で様々な形態をとることができる。例えば、上述したチャットシステム1が備える各構成は、任意のコンピュータ装置に分散または集約して配置することができる。例えば、サーバ装置200は、クラウド環境やネットワーク環境、ユーザ数の規模、チャットシステム1を構成するために用意されたハードウェアの数やスペック等に応じて、任意のコンピュータ装置に分散または集約して配置することができる。
また、例えば、複数のユーザ端末100間で送受信されるメッセージの全てをサーバ装置200が記憶しておき、ユーザ端末100からの任意の要求に応じてメッセージを送信し、ユーザ端末100に表示させるようにしてもよい。
また、上述の実施形態では、複数のユーザ端末100はサーバ装置200を介してメッセージを送受信する例を示したが、サーバ装置200を介さずに、複数のユーザ端末100同士が直接メッセージを送受信してもよい。
また、上述したタイピングゲームは、チャットアプリケーション内に含まれている機能であってもよいが、チャットアプリケーションが有するチャット機能を拡張する機能であってもよい。即ち、上述のタイピングゲームは、自ユーザのユーザ端末100(自装置)から送信するメッセージ(第1メッセージ)と、一又は複数の他ユーザのユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)とを、時系列に並べて表示部110に表示させるチャット機能を拡張する機能であってもよい。
具体的には、タイピングゲームは、サーバ装置200から受信した出題メッセージ(第1の情報)を、自装置から送信するメッセージ(第1メッセージ)として表示部110に表示させる機能と、表示部110に表示させた出題メッセージ(第1の情報)と、操作受付部120(ユーザ操作受付部)から入力された入力メッセージ(第2の情報)とを照合する機能と、照合した照合結果に基づく情報をサーバ装置200に送信する機能と、を備える。
これにより、チャットアプリケーション自体を変更することなく、タイピングゲームを追加することができる。従って、本実施形態によれば、チャットアプリケーションにおける利便性を向上させることができる。即ち、本実施形態によれば、利便性の高いアプリケーションを提供することができる。
なお、上述の制御部150(150A)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の制御部150(150A)の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述したタイピングゲームを実行させるプログラムは、チャットアプリケーションプログラム内に含まれているプログラムであってもよいが、チャットアプリケーションプログラムにより実行されるチャット機能を拡張する機能を実行させるためのプログラムであってもよい。例えば、タイピングゲームを実行させるプログラムは、チャットアプリケーションプログラムのアドオンプログラムであってもよい。
これにより、チャットアプリケーションプログラム自体を変更することなく、タイピングゲームを実行させるためのプログラムを追加することができる。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。