以下、本発明の一実施形態について、図面を参照して説明する。
<第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に送信したメッセージと、相手側のユーザである他ユーザ(第2ユーザ)のユーザ端末100(他装置)から送信されたメッセージとを記憶する。ユーザ端末100は、記憶した複数のメッセージを、そのメッセージが送信または受信された日時に基づいて時系列に並べた画面情報(メッセージ画面)を生成し、ユーザが一覧できるように表示する。
つまり、グループには、ユーザ端末100(自装置)を利用する自ユーザ(第1ユーザ)と、ユーザ端末100(他装置)を利用する一または複数の他ユーザ(第2ユーザ)とが登録されている。そして、ユーザ端末100(自装置)は、このグループにおいて、自ユーザ(第1ユーザ)の操作に応じてユーザ端末100(自装置)から送信するメッセージ(第1メッセージ)と、他ユーザ(第2ユーザ)の操作に応じてユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)と、を時系列に並べたメッセージ画面を表示する。
図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からメッセージMをネットワーク5を介して受信し、受信したメッセージ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)。次に、ユーザ端末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は、メッセージを一画面に表示しきれない場合には、そのメッセージを時系列に並べたうちの一部を表示し、メッセージのスクロール制御を行う。ここで、ユーザ端末100−1及びユーザ端末100−3は、メッセージMを時系列に並べて表示する際に、メッセージMに対応付けられているユーザIDに基づいて、メッセージMを送信したユーザを示す情報をメッセージMに対応付けて表示する。なお、ユーザ端末100−1及びユーザ端末100−3は、自ユーザが送信したメッセージには、そのメッセージを送信した自ユーザを示す情報を対応付けて表示せずに、他ユーザが送信したメッセージにのみ、そのメッセージを送信した他ユーザを示す情報を対応付けて表示してもよい。
このように、チャットシステム1においては、送信したメッセージがグループ内のユーザに対して一斉に通知(送信)されるとともに、その送信されたメッセージが時系列に並べられてメッセージ画面に表示される。このように、チャットシステム1においては、複数のチャット相手(他ユーザ)が属するグループにおいてメッセージを送受信するチャット(以下、グループチャットと称する)を行うことができる。また、チャットシステム1においては、グループ内の任意のチャット相手の1人と。メッセージを送受信するチャット(以下、1対1チャットと称する)を行うことができる。
次に、図3を参照して、グループチャットのメッセージ画面の表示例を説明する。ここで、以下に説明するグループチャットの例は、ユーザAとユーザBとユーザCとユーザDとの4人が属するグループのグループチャットとした例である。自ユーザがユーザAであり、他ユーザ(チャット相手)がユーザB、ユーザC、及びユーザDである。図3は、本実施形態によるユーザ端末100が表示するメッセージ画面の表示例を示す図であって、ユーザAのユーザ端末100−1が表示するグループチャットのメッセージ画面の例を示している。
符号110aは、表示部110が表示する領域の全体を示している。また、符号110bは、この表示部110がグループチャットのメッセージ画面を表示する領域を示している。ここでは、符号110aの領域のほぼ全体に、グループチャットのメッセージ画面が表示されている。なお、このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末100は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。
符号110cの領域には、グループの名称と、チャットの種類を示す情報とが表示される。ここでは、ユーザAとユーザBとユーザCとユーザDとの4人が属するグループの名称として「テニスサークル」が設定されているものとして、この設定されたグループの名称が表示されている例を示している。また、チャットの種類を示す情報とは、グループチャットであることを示す情報であって、ここではグループチャットであることを示す情報として「グループチャット」が表示されている例を示している。また、1対1チャットである場合には、このチャットの種類を示す情報が表示されない(チャットの種類を示す情報が表示されていないことが、1対1チャットであることを示す)。なお、1対1チャットである場合に、1対1チャットであることを示す情報が表示されるようにしてもよい。ユーザは、この符号110cの領域に表示される情報によって、いずれのグループのメッセージ画面が表示されているか、グループチャットであるか1対1チャットであるか、等を判別できる。
なお、1対1チャットである場合には、チャット相手のユーザ名がグループ名として表示される。例えば、ユーザAとユーザBとが1対1チャットを行う場合、ユーザAのユーザ端末100−1が表示するメッセージ画面には、グループ名としてユーザBのユーザ名が表示される。一方、ユーザBのユーザ端末100−2が表示するメッセージ画面には、グループ名としてユーザAのユーザ名が表示される。なお、これらのグループ名は、事後的に自ユーザのユーザ端末100で修正できる。
符号110dの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて昇順(新しいメッセージが符号110dの領域の下側)に表示されるように表示コンポーネントが配置される。アイコンE1は、他ユーザを示すアイコンである。このアイコンE1は、例えば他ユーザによって予め登録された画像(例えば、プロフィール画像)でもよいし、チャットシステム1が予め用意した画像でもよい。ここでは、アイコンE1は、ユーザBを示すプロフィール画像である。吹き出しE2には、他ユーザ(ここではユーザB)から送信されたメッセージが表示される。なお、アイコンE1に対応するユーザのユーザ名、吹き出しE2に表示されたメッセージの送信日時(送信時間)、等がこの符号110dの領域に表示されてもよい。また、アイコンE3は、ユーザCを示すアイコンであって、ここではユーザCを示すプロフィール画像である。また、吹き出しE4には、ユーザCから送信されたメッセージが表示される。
ここでは、他ユーザであるユーザB及びユーザCから送信されたメッセージが表示される吹き出しE2と吹き出しE4とは、メッセージ画面の左側からの吹き出しとして表示されている。つまり、他ユーザから送信されたメッセージがメッセージ画面の左側からの吹き出しに表示される。例えば、この図3では不図示であるが、ユーザDから送信されたメッセージは、ユーザB及びユーザCから送信されたメッセージと同様に左側からの吹き出しに表示される。一方、この図3では不図示であるが、自ユーザが送信するメッセージは、メッセージ画面の右側からの吹き出しに表示される。
符号110eの領域には、ユーザ端末100から送信するメッセージとしてのテキストを入力するための表示コンポーネントが配置される。テキストボックスE11には、ユーザから入力されるメッセージが表示される。ここで、テキストボックスE11に入力されるテキストには、文字、記号、絵文字、等が含まれる。具体的には、ユーザは、例えば、テキストボックスE11と対で表示されるソフトウェアキーボードに対する操作により、テキストボックスE11にテキストを入力する。なお、ソフトウェアキーボードに対する操作に代えて、有線又は無線で接続されるハードウェアキーボードに対する操作や音声入力等により、テキストボックスE11にテキストを入力する構成としてもよい。送信ボタンE12は、テキストボックスE11に入力されたメッセージをユーザ端末100から送信するための操作子である。
このように、本実施形態のチャットシステム1においては、ユーザ端末100は、グループチャットを行うことによりグループ内の複数のユーザから送信されるメッセージをグループ内で共有可能なようにメッセージ画面に表示する。これにより、チャットシステム1においては、グループ内の複数のユーザ間で会話(メッセージの送受信)ができる。ところで、ユーザは、グループチャットでの会話中に、そのグループに属するチャット相手(他ユーザ、第2ユーザ)のうちの一人のチャット相手とのみ、他のユーザには会話の内容が知られないように会話を行いたい場合がある。このような場合、本実施形態のチャットシステム1においては、グループチャットを終了しなくとも、ユーザがグループチャットの実行中に任意に選択したチャット相手と1対1チャットを開始することが可能である。1対1チャットを開始する操作の一例としては、例えば、グループチャットのメッセージ画面に表示されている他ユーザを示すアイコン又は吹き出しのうちから、1対1チャットを行いたいユーザのアイコン又は吹き出しを選択する操作が適用できる。例えば、この図3に示すように、ユーザBを示すアイコンE1に対するタップ操作(符号K1参照)、又は吹き出しE2に対するタップ操作(符号K2参照)がされた場合、ユーザ端末100は、実行中のグループチャットを終了しないで、ユーザA(自ユーザ、第1ユーザ)と、タップ操作により選択されたユーザB(第2ユーザのうちの選択されたユーザ、第3ユーザ)との1対1チャットを開始する。このとき、ユーザ端末100は、グループチャットのメッセージ画面の一部を表示しつつ、開始した1対1チャットのメッセージ画面を表示する。以下の説明において、グループチャットの実行中に開始する1対1チャットを「ダイレクトチャット」とも称する。このダイレクトチャットのメッセージ画面の表示例については、後述する。
このように、本実施形態によるユーザ端末100は、グループチャットの実行中にダイレクトチャットを開始することができるため、チャットアプリケーションにおける利便性を向上させることができる。
以下、本実施形態によるチャットシステム1の構成について詳しく説明する。
まず、図4を参照して、ユーザ端末100の構成について説明する。図4は、本実施形態によるユーザ端末100の構成を示す概略ブロック図である。ユーザ端末100は、表示部110と、操作受付部120と、通信部130と、記憶部140と、制御部150とを備えている。なお、図1に示す複数のユーザ端末100−Nは、同様の各部を備えるものとする。
表示部110は、画像や文字等の情報を表示する表示デバイスである。表示部110の情報を表示する領域を画面といい、表示部110の画面に表示される情報を画面情報という。なお、この画面情報には一画面では表示しきれない情報も含まれる。例えば、表示部110は、チャットアプリケーションにおいて、グループ内のユーザ間で送受信したメッセージを時系列に並べて表示するメッセージ画面を表示する。ここで、表示部110が表示するこれらの画面は、ユーザからの操作に応じて制御部150によって制御される。
操作受付部120は、ユーザ(第1ユーザ)からの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示を生成する入力デバイスである。操作受付部120には、例えば、キーボードやボタン、タッチパネル等が適用できる。本実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例として説明する。
通信部130は、ネットワーク5を介してサーバ装置200と通信する。
記憶部140は、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末100が備える各部を制御するためのプログラムや各種情報を記憶する。また、記憶部140は、ユーザ端末100に装着するメモリカードであってもよい。記憶部140は、ユーザ情報記憶部141と、グループ情報記憶部142と、メッセージ情報記憶部143と、画面情報記憶部144とを備えている。
ユーザ情報記憶部141は、チャットを行うユーザに関するユーザ情報を記憶する。図5及び図6は、ユーザ情報記憶部141に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザIDと、ユーザ名と、ユーザ画像とを対応付けた情報が含まれる。ユーザIDは、ユーザを識別する情報である。ユーザ名は、そのユーザの名称である。ユーザ画像は、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザIDと、ユーザ名と、対応付けられており、ユーザ情報記憶部141は、上述の対応付けしたユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。なお、このユーザ画像としては、ユーザによって任意に登録された画像を適用できるが、未登録の場合には予め設定されている共通の画像が適用される。
ここで、図5に示すユーザ情報は、自ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されているユーザAのユーザ情報の例である。この図5に示す自ユーザのユーザ情報は、自ユーザのユーザ端末100−Nでそのユーザ自身で登録したものである。また、図6に示すユーザ情報は、チャット相手として登録可能な他ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報の例である。この図6に示す他ユーザのユーザ情報は、他ユーザそれぞれのユーザ端末100−Nでそのユーザ自身が登録したものである。例えば、ユーザAのユーザ端末100−1は、この図6に示す他ユーザのユーザ情報を、チャット相手として登録可能なユーザ関係になるとき、又は、チャット相手として登録されたときに、他ユーザそれぞれのユーザ端末100−Nから取得して記憶する。なお、このチャット相手のユーザ情報は、事後的に自ユーザのユーザ端末100で修正できるようにしてもよい。
グループ情報記憶部142は、チャットを行うユーザのグループに関する情報を記憶する。図7は、グループ情報記憶部142に記憶されるグループ情報の例を示す図である。ひとつのグループには2以上のユーザが属する。例えば、ユーザAとユーザBとが1対1チャットを行う場合、ユーザAとユーザBとが属するグループに関するグループ情報がグループ情報記憶部142に記憶される。グループ情報には、グループIDと、グループ名と、ユーザIDとを対応付けた情報が含まれる。グループIDは、サーバ装置200で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが形成された場合に自動的に付与され、事後的にユーザにより設定できるようになっている。ユーザIDは、そのグループに属するユーザを識別する情報である。
この図7において、グループIDが「G1」であるグループには、「ユーザA」と「ユーザB」との2ユーザが属することが示されている。即ち、グループIDが「G1」であるグループでのチャットは、1対1チャットである。ここでは、例えば、グループIDが「G1」であるグループの名称はユーザにより設定されていない。このように2人が属する1対1チャットでは、ユーザ情報記憶部141を参照して、チャット相手のユーザ名(ここでは、「田中B子」)がグループの名称として自動的に設定される。また、グループIDが「G2」であるグループには、「ユーザA」と「ユーザB」と「ユーザC」と「ユーザD」との4ユーザが属することが示されている。即ち、グループIDが「G2」であるグループでのチャットは、3ユーザ以上(ここでは4ユーザ)が属するグループチャットである。このグループIDが「G2」であるグループの名称はユーザにより「テニスサークル」として設定されている。
メッセージ情報記憶部143は、自ユーザが属するグループにおいて送受信されたメッセージに関するメッセージ情報を記憶する。図8及び図9は、メッセージ情報記憶部143に記憶されるメッセージ情報の例を示す図である。メッセージ情報には、グループIDと、ユーザIDと、送信日時情報と、メッセージとを対応付けた情報が含まれる。グループIDは、メッセージが送受信されたグループを識別する情報である。ユーザIDは、メッセージを入力したユーザを識別する情報である。送信日時情報は、メッセージが送信された日時を示す情報である。実際には、ユーザ端末100の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末100から送信されたメッセージをサーバ装置200で受信した受信時間を当該メッセージが送信された日時を示す送信日時情報としている。送信日時情報には、年、月、日、時、分、秒(YYYY/MM/DD HH:MM:SS)の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージを示す文字列である。
ここで、図8に示すメッセージ情報は、グループチャットにより送受信されたメッセージに関するメッセージ情報である。ここでは、このグループチャットによるメッセージ情報は、グループIDが「G2」であるグループで送受信されたメッセージに関するメッセージ情報である。また、図9に示すメッセージ情報は、1対1チャットにより送受信されたメッセージに関するメッセージ情報である。ここでは、この1対1チャットによるメッセージ情報は、グループIDが「G1」であるグループで送受信されたメッセージに関するメッセージ情報である。
なお、図8と図9とにグループ毎のメッセージ情報を示したが、これに限られるものではない。例えば、メッセージ情報記憶部143が記憶するメッセージ情報は、グループ毎に分かれていなくてもよく、単にメッセージ情報に含まれるグループIDによっていずれのグループのメッセージ情報であるかが区別されてもよい。
図4に戻り、画面情報記憶部144は、上述したような複数のメッセージを時系列に並べて表示するメッセージ画面の画面情報を一時的に記憶する。
制御部150は、ユーザ端末100の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、ユーザ端末100が備える各部を制御する。制御部150は、メッセージ送信指示部151と、メッセージ送受信部152と、表示制御部153と、画面制御部156とを備えている。
メッセージ送信指示部151は、操作受付部120に対するユーザからの操作に応じて操作受付部120により生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。具体的には、メッセージ送信指示部151は、メッセージ画面においてテキストボックスE11にメッセージが入力され、送信ボタンE12にタップ操作がされると、テキストボックスE11に入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループIDと、メッセージを入力したユーザである自ユーザを識別するユーザIDと、を対応付けたメッセージ情報を含む送信指示情報を生成する。
メッセージ送受信部152は、メッセージ送信指示部151が、操作受付部120に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループIDをグループ情報記憶部142から読み出す。そして、メッセージ送受信部152は、読み出したグループIDを宛先として、メッセージ送信指示部151によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置200に送信する。このとき、メッセージ情報に含まれるグループID、ユーザID(自ユーザ)、及びメッセージを、新たなレコードとしてメッセージ情報記憶部143に記憶させる。なお、送信日時情報は、サーバ装置200から受信完了通知と共に取得し、対応するメッセージのレコードの送信日時情報を更新する。また、メッセージ送受信部152は、他のユーザ端末100から、自ユーザが属するグループIDを宛先として送信されたメッセージ情報を、サーバ装置200から受信し、メッセージ情報に含まれるグループID、ユーザID(他ユーザ)、送信日時情報、及びメッセージを、新たなレコードとしてメッセージ情報記憶部143に記憶させる。
表示制御部153は、メッセージ画面に関する表示を制御する。例えば、表示制御部153は、自ユーザ(第1ユーザ)の操作に応じてユーザ端末100(自装置)から送信するメッセージ(第1メッセージ)と、他ユーザ(第2ユーザ)の操作に応じて他のユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)とを、時系列に並べて表示部110に表示させる。具体的には、表示制御部153は、メッセージ情報記憶部143に記憶されている複数のメッセージ情報を読み出し、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた送信日時情報に基づいて時系列に並べたメッセージ画面の画面情報を生成して画面情報記憶部144に記憶させる。ここで、表示制御部153は、他のユーザ端末100(他装置)から送信されたメッセージに対しては当該メッセージを送信した他ユーザを示す情報(例えば、図3に示すユーザBを示すアイコンE1、ユーザCを示すアイコンE3)を対応付ける。そして、表示制御部153は、生成した画面情報のうちの一部を、画面制御部156の指示に従って表示部110に表示させる(図3参照)。
ここで、表示制御部153は、第1表示制御部154と、第2表示制御部155と、を備えている。
第1表示制御部154は、グループチャットのメッセージ画面(第1画面)に関する表示を制御する。例えば、第1表示制御部154は、自ユーザ(第1ユーザ)と、複数の他ユーザ(第2ユーザ)とが登録されたグループにおいて送受信するグループチャットによるメッセージ(第1メッセージ)を時系列に並べて表示するメッセージ画面(第1画面)の画面情報を生成し、画面制御部156の指示に従って表示部110に表示させる。ここで、第1表示制御部154は、グループチャットによるメッセージ(第1メッセージ)のうち、受信したメッセージ(他ユーザから送信されたメッセージ)に対しては当該受信したメッセージを送信した他ユーザを示す情報を対応付ける。
一方、第2表示制御部155は、ダイレクトチャット(1対1チャット)のメッセージ画面(第2画面)に関する表示を制御する。例えば、第2表示制御部155は、自ユーザ(第1ユーザ)と、複数の他ユーザ(第2ユーザ)のうち選択されたユーザ(第3ユーザ)とにおいて送受信するダイレクトチャット(1対1チャット)によるメッセージ(第2メッセージ)を時系列にならべて表示するメッセージ画面(第2画面)の画面情報を生成し、画面制御部156の指示に従って表示部110に表示させる。ここで、第2表示制御部155は、1対1チャット(或いはダイレクトチャット)によるメッセージ(第2メッセージ)のうち、受信したメッセージ(他ユーザから送信されたメッセージ)に対しては当該受信したメッセージを送信した他ユーザを示す情報を対応付ける。なお、ダイレクトチャット(1対1チャット)である場合には他ユーザが一人に特定されるため、第2表示制御部155は、受信したメッセージに対して当該受信したメッセージを送信した他ユーザを示す情報を対応付けなくともよい。
ここで、表示制御部153は、生成した画面情報のうちの一部を表示部110に表示させる。例えば、表示制御部153は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部110に表示させる。初期段階で表示部110に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい送信日時情報が対応付けられたメッセージ(最新のメッセージ)が含まれる箇所とすることができる。
なお、表示制御部153は、他ユーザから送信されたメッセージに対応付けて表示させる他ユーザを示す情報として、他ユーザを示すアイコン(例えば、他ユーザのプロフィール画像)に代えて又は加えて、他ユーザのユーザ名を表示させてもよい。また、表示制御部153は、メッセージ情報に含まれる送信日時に基づいて、メッセージに対応付けてそのメッセージの送信日時を表示させてもよい。
なお、上述の複数のメッセージ情報には、互いに同じ送信日時情報が対応付けられたメッセージ情報(即ち、互いに同じ送信日時のメッセージ情報)が含まれていてもよい。この場合、表示制御部153は、互いに同じ送信日時情報が対応付けられているメッセージ情報のそれぞれを、例えば、メッセージ情報記憶部143に記憶された順にしたがって、時系列にメッセージ画面に表示させてもよい。なお、メッセージ送受信部152が、互いに同じ送信日時情報が対応付けられたメッセージ情報を受信した場合に、一方の送信日時情報の時刻(例えば、秒数)をカウントアップさせて、互いに異なる送信日時情報として記憶させてもよい。
また、上述の複数のメッセージ情報において、上述の複数のメッセージ情報には、互いに同じ送信日時情報が対応付けられたメッセージ情報が含まれないように構成してもよい。この場合、サーバ装置200は、メッセージ情報に互いに同じ送信日時情報を対応付けることを禁止し、メッセージ情報毎に異なる送信日時情報を対応付けるようにしてもよい。具体的には、サーバ装置200は、互いに同じ送信日時情報となるようなメッセージ情報を受信した場合には、一方の送信日時情報の時刻(例えば、秒数)をカウントアップさせてもよい。
画面制御部156は、表示部110に表示させる画面を、表示制御部153(第1表示制御部154又は第2表示制御部155)に対して指示する。例えば、画面制御部156は、表示部110に表示させる画面が、グループチャットのメッセージ画面(第1画面)、又は、1対1チャット(或いはダイレクトチャット)のメッセージ画面(第2画面)となるように第1表示制御部154または第2表示制御部155に対して指示する。
また、画面制御部156は、所定の操作に応じて、他ユーザ(第2ユーザ)のうち選択されたユーザ(第3ユーザ)をチャット相手とするダイレクトチャットのメッセージ画面(第2画面)と、グループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させるように指示する。
ここで、所定の操作とは、グループチャットの実行中にダイレクトチャットを行いたいユーザを選択する操作のことである。例えば、前述の図3を用いて説明したように、グループチャットのメッセージ画面(第1画面)において、ユーザBを示すアイコンE1に対するタップ操作(符号K1参照)、又は吹き出しE2に対するタップ操作(符号K2参照)である。つまり、グループチャットのメッセージ画面(第1画面)において表示される他ユーザを示すアイコン、又は他ユーザから送信されたメッセージが表示される吹き出しは、ダイレクトチャットのチャット相手を選択可能な操作子(第1操作子)として表示される。即ち、第1表示制御部154は、他ユーザから送信されたメッセージ及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、複数の他ユーザのいずれかをダイレクトチャットのチャット相手として選択可能な操作子(第1操作子)として表示させる。
例えば、画面制御部156は、実行中のグループチャットのメッセージ画面(第1画面)が表示部110に表示されている際に、上述の操作子(第1操作子)に対する操作がされた場合、当該操作に応じて選択された他ユーザをダイレクトチャットのチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)と、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させるように指示する。この指示に応じて、表示制御部153は、当該ダイレクトチャットのメッセージ画面(第2画面)と、当該グループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させる。
また、画面制御部156は、所定の操作に応じて、互いに異なる複数のユーザ(第3ユーザ)がダイレクトチャットのチャット相手として選択された場合には、当該選択された複数のユーザそれぞれに対応するダイレクトチャットのメッセージ画面(第2画面)のうちの一つと、そのメッセージ画面以外の他のダイレクトチャットのメッセージ画面(第2画面)の少なくとも一部と、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させるように指示する。この指示に応じて、表示制御部153は、表示部110には、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部と、ダイレクトチャットのメッセージ画面(第2画面)のうちの一つと、他のダイレクトチャットのメッセージ画面(第2画面)の少なくとも一部(例えば、それぞれのメッセーセージ画面に対応するタブ)とを表示部110に表示させる。
ここで、グループチャットの実行中にダイレクトチャットを開始(実行)した場合に表示部110に表示されるメッセージ画面の表示例について、図10を参照して説明する。
図10は、グループチャットの実行中にダイレクトチャットを開始した場合のメッセージ画面の表示例を示す図である。この図10では、図3に示すグループチャットのメッセージ画面(第1画面)において、ユーザBを示すアイコンE1に対するタップ操作(符号K1参照)、又は吹き出しE2に対するタップ操作(符号K2参照)がされ、ユーザAとユーザBとがダイレクトチャットによるメッセージを送受信したときのメッセージ画面を示している。
表示部110が表示する領域の全体を示す符号110aの領域には、グループチャットのメッセージ画面(第1画面)と、ダイレクトチャットのメッセージ画面(第2画面)とが上下に並べて表示される。ここでは、符号110fの領域(上側の領域)にはグループチャットのメッセージ画面が表示され、符号110mの領域(下側の領域)にはダイレクトチャットのメッセージ画面が表示される。
ここで、符号110fの領域に表示されるグループチャットのメッセージ画面は、図3に示す符号110bの領域のメッセージ画面に対応する。この図10に示す符号110hの領域は、図3に示す符号110dの領域とは大きさ(上限方向の長さ)が相違するが、同様にグループチャットにより送受信するメッセージが時系列に並べて表示される。また、この図10に示す符号110gの領域と、符号110kの領域とのそれぞれは、図3に示す符号110cの領域と符号110eの領域とにそれぞれ対応する。
符号110mの領域に表示されるダイレクトチャットのメッセージ画面において、符号110nの領域には、そのダイレクトチャットのグループ名が表示される。ここでは、複数のダイレクトチャットが実行された場合を例にしており、それぞれのダイレクトチャットのメッセージ画面を符号110mの領域に切替えて表示するための操作子としての機能を有するタブが並べて表示される例を示している。タブF1は、このユーザA(自ユーザ)とユーザB(チャット相手)とによるダイレクトチャットに対応し、チャット相手となるユーザBのユーザ名がグループ名として表示される。タブG1及びタブH1は、他のダイレクトチャット(例えば、ユーザAとユーザCとのダイレクトチャット、又はユーザAとユーザDとのダイレクトチャット)に対応する。
ここで、対応するメッセージ画面が符号110mの領域に表示されているタブF1と、表示されていないタブG1及びタブH1とは、区別可能に表示される。例えば、タブG1及びタブH1は、タブF1よりも目立たないような表示(例えば、有色に対して無色、濃い色に対して淡い色、実線の枠に対して破線の枠、等)となる。このように、ユーザ端末100は、グループチャットによるメッセージ画面(第1画面)を表示させている状態で、複数のダイレクトチャットによるメッセージ画面(第2画面)それぞれの少なくとも一部(タブ)を表示することができる。
なお、実行されているダイレクトチャットが1つの場合には、この符号110nの領域には、実行されているタブのみが表示されてもよいし、操作子としての機能を持たず且つグループ名が表示されていない形のみのタブと、実行されているタブとが表示されてもよいし、さらには、タブ形式ではなく単にグループ名が表示されてもよい。
符号110pの領域には、そのグループ(ダイレクトチャットのグループ)においてユーザから送信されたメッセージが、そのメッセージの送信日時に基づいて昇順(新しいメッセージが符号110pの領域の下側)に表示されるように表示コンポーネントが配置される。吹き出しF2には、ユーザA(自ユーザ)が送信したメッセージが表示される。ここで、この吹き出しF2は、自ユーザのメッセージが表示されるため、メッセージ画面の右側からの吹き出しである。また、この吹き出しF2に表示されているメッセージは、例えば、図3に示すグループチャットのメッセージ画面において、アイコンE1又は吹き出しE2に対するタップ操作(符号K1又はK2参照)がされて、ユーザBに対して送信されたダイレクトチャットによるメッセージ(このダイレクトチャットが開始された最初のメッセージ)である。吹き出しF2の下に配置されたメッセージ画面の左側からの吹き出しF4には、このダイレクトチャットにおいてユーザBから送信されたメッセージが表示される。アイコンF3は、吹き出しF4に対応するユーザBを示すアイコンである。このように、符号110pの領域には、グループチャット中に開始されたダイレクトチャットにより送受信されるメッセージが表示される。
なお、タブF1にはチャット相手となるユーザ名がグループ名として表示されるため、グループチャット中に開始されたダイレクトチャットにより送受信されるメッセージが表示される符号110pの領域では、ユーザを示すアイコンF3は省略可能である。例えば、グループチャットにより送受信するメッセージが表示される符号110hの領域ではアイコンF3を表示し、ダイレクトチャットにより送受信されるメッセージが表示される符号110pの領域ではアイコンF3を表示しないようにメッセージ画面の構成を異ならせて、ユーザに互いの画面の区別をし易いようにしてもよい。
なお、ここで、符号110pの領域に表示されるダイレクトチャットにより送受信されるメッセージは、そのグループと同一のグループで既に1対1チャット(或いは、ダイレクトチャット)が行われている場合には、そこで既に送受信されたメッセージの続きとして表示される。つまり、ダイレクトチャットにより送受信されるメッセージ情報は、1対1チャットにより送受信されるメッセージ情報と同様に区別無く、メッセージ情報記憶部143に記憶される。そして、符号110pの領域には、ダイレクトチャットのメッセージと1対1チャットのメッセージとが区別無く時系列に並べられたメッセージ画面の画面情報のうちの一部が表示される。なお、グループチャットのメッセージ画面においてダイレクトチャットのチャット相手として選択された他ユーザとのダイレクトチャットのグループが、グループ情報記憶部142に記憶されていないことがある。この場合には、ユーザ端末100は、選択された他ユーザとのダイレクトチャットのグループを新たに登録して(当該グループのグループ情報をグループ情報記憶部142に新たに記憶させて)、選択された他ユーザとのダイレクトチャットを開始する。
符号110rの領域には、このダイレクトチャットにおいてユーザ端末100から送信するメッセージとしてのテキストを入力するための表示コンポーネントが配置される。テキストボックスF11は、図3に示すテキストボックスE11がグループチャットのメッセージ画面におけるメッセージ入力部であるのに対して、このダイレクトチャットのメッセージ画面におけるメッセージ入力部である。即ち、このテキストボックスF11は、自ユーザ(第1ユーザ)が送信するダイレクトチャットによるメッセージ(第2メッセージ)を入力するメッセージ入力部である。テキストボックスF11には、ユーザから入力されるメッセージが表示される。送信ボタンF12は、テキストボックスF11に入力されたメッセージをユーザ端末100から送信するための操作子である。なお、この符号110rの領域には、表示されているダイレクトチャットのメッセージ画面を終了する操作子である終了ボタンF13が表示される。この終了ボタンF13に対してタップ操作がされると、ユーザ端末100は、符号110mの領域に表示されているメッセージ画面のダイレクトチャットを終了して、実行中のグループチャットのメッセージ画面が、符号110aの領域のほぼ全体(図3の符号110bの領域)に表示される。
なお、終了ボタンF13に対してタップ操作がされた場合、タブF1に対応するダイレクトチャットのメッセージ画面が閉じ、他のタブ(タブG1)が表示されているときには、当該タブに対応するダイレクトチャットのメッセージ画面が表示されるようにし、他のタブが表示されていないときには、実行中のグループチャットのメッセージ画面が、符号110aの領域のほぼ全体に表示されるようにしてもよい。
このように、画面制御部156は、グループチャットの実行中にダイレクトチャットを行いたいユーザを選択する所定の操作(第1操作子に対する操作)がされた場合、第1表示制御部154に対して、符号110fの領域にグループチャットのメッセージ画面(第1画面)を表示させるように指示をする。この指示に応じて、第1表示制御部154は、符号110fの領域にグループチャットのメッセージ画面(第1画面)を表示させる。具体的には、第1表示制御部154は、図3に示す符号110bの領域に表示させていたメッセージ画面の少なくとも一部を図10に示す符号110fの領域に表示させる。
また、このとき、画面制御部156は、第2表示制御部155に対して、符号110mの領域にダイレクトチャットのメッセージ画面(第2画面)を表示させるように指示をする。この指示に応じて、第2表示制御部155は、上記所定の操作(第1操作子に対する操作)に応じて選択された他ユーザ(第2ユーザ)をチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)を図10に示す符号110mの領域に表示させる。
なお、第2表示制御部155は、グループチャットの実行中にグループチャットのメッセージ画面(第1画面)において操作された他ユーザを示すアイコン又は吹き出し(第1操作子)に対応するメッセージ(第2メッセージ)を引用する形式のテキストが入力されたテキストボックスF11を表示部110に表示させてもよい。例えば、図3に示すアイコンE1又は吹き出しE2に対するタップ操作に応じてダイレクトチャットが開始される場合、第2表示制御部155は、吹き出しE2に表示されているメッセージ(ここでは、「明日飲みに行かない」)を引用する形式のテキスト(ここでは、「>明日飲みに行かない」)が入力されたテキストボックスF11を、ダイレクトチャットのメッセージ画面において表示させてもよい。この引用する形式のテキストが入力されたテキストボックスF11に、メッセージが追加入力されて送信されると、例えば、図10に示す吹き出しF2にその送信されたメッセージ(引用する形式のテキストが含まれるメッセージ)が表示される。さらに、アイコンE1に対するタップ操作の場合には吹き出しE2に表示されているメッセージを引用せず、吹き出しE2に対するタップ操作の場合には当該メッセージを引用するように、タップ操作の対象によって、引用するか否かを選択できるようにしてもよい。
次に、図11を参照して、サーバ装置200の構成について説明する。図11は、本実施形態によるサーバ装置200の構成を示す概略ブロック図である。
サーバ装置200は、サーバ通信部230と、サーバ記憶部240と、サーバ制御部250と、を備えている。サーバ通信部230は、ネットワーク5を介して複数のユーザ端末100―Nと通信する。
サーバ記憶部240は、ユーザ端末100が備えるユーザ情報記憶部141とグループ情報記憶部142と同様の情報を記憶するユーザ情報記憶部241とグループ情報記憶部242とを備えている。
なお、ユーザ端末100が備えるユーザ情報記憶部141とグループ情報記憶部142とには、そのユーザ自身に関連する情報(ユーザ自身のユーザ情報、及び、ユーザ自身と同じグループに登録可能な他ユーザのユーザ情報)のみが記憶されている。これに対し、サーバ装置200が備えるユーザ情報記憶部241とグループ情報記憶部242とには、サーバ装置200を介してメッセージの送受信を行う全てのユーザ及びグループに関する情報が記憶されている。なお、サーバ装置200が備えるユーザ情報記憶部241には、ユーザ名やユーザ画像等のようにユーザを特定するような情報は記憶されず、単にユーザを識別可能なユーザIDが記憶されている構成としてもよい。
また、サーバ記憶部240は、メッセージ情報一時記憶部243を備えている。メッセージ情報一時記憶部243は、各ユーザ端末100から受信したメッセージ情報を一時的に記憶する。例えば、メッセージ情報一時記憶部243は、受信したメッセージ情報が、宛先(送信先)のユーザのユーザ端末100に対して送信されるまでの間、受信したメッセージ情報を一時的に記憶する。
サーバ制御部250は、メッセージ転送部251を備えている。
メッセージ転送部251は、ユーザ端末100からグループIDを宛先として送信されたメッセージ情報を受信すると、受信したメッセージ情報をメッセージ情報一時記憶部243に一時的に記憶させる。そして、メッセージ転送部251は、受信したメッセージ情報の宛先であるグループIDに対応付けられたユーザIDを特定し、記憶させたメッセージ情報を、当該特定したユーザIDが示すユーザ端末100のうち、メッセージを送信したユーザのユーザIDが示すユーザ端末100以外のユーザ端末100に送信する。なお、メッセージ転送部251は、このメッセージ情報を、当該特定したユーザIDが示すユーザ端末100のうち、メッセージを送信したユーザのユーザIDが示すユーザ端末100以外のユーザ端末100に送信してもよい。即ち、メッセージ転送部251は、グループ内のユーザにより送信されたメッセージを、グループ内の他のユーザに転送する。
なお、メッセージ転送部251は、ユーザ端末100からグループIDを宛先として送信されたメッセージ情報を受信すると、当該ユーザ端末100に対して、受信したときの受信日時を受信完了通知と共に送信する。
次に、図面を参照して、本実施形態によるユーザ端末100がメッセージ画面を表示する表示処理の動作を説明する。
図12は、本実施形態によるユーザ端末100の表示処理の一例を示すフローチャートである。
まず、ユーザ端末100はユーザのからの操作に応じて、グループチャットを開始する(ステップS210)。画面制御部156は、第1表示制御部154に対して、表示部110の表示領域のほぼ全体(例えば、図3の符号110bの領域)にグループチャットのメッセージ画面(第1画面)を表示させるように指示をする。この指示に応じて、第1表示制御部154は、符号110aの領域全体にグループチャットのメッセージ画面(第1画面)を表示部110の表示領域のほぼ全体(例えば、図3の符号110bの領域)に表示させる(図3参照)(ステップS220)。
次に、画面制御部156は、ダイレクトチャットの開始要求があるか否かを判定する。例えば、画面制御部156は、グループチャットのメッセージ画面(第1画面)において、ダイレクトチャットを行うユーザが選択されたか否かに基づいて、ダイレクトチャットの開始要求があるか否かを判定する(ステップS230)。
ステップS230において、ダイレクトチャットの開始要求があると判定された場合(ステップS230:YES)、画面制御部156は、第1表示制御部154と第2表示制御部155とに対して、グループチャットのメッセージ画面(第1画面)の少なくとも一部と、選択されたユーザをチャット相手とするダイレクトチャットのメッセージ画面(第2画面)と、を表示部110に表示させるように指示する。この指示に応じて、第1表示制御部154は、グループチャットのメッセージ画面(第1画面)の少なくとも一部を表示部110に(例えば、図10の符号110fの領域に)表示させる。また、第2表示制御部155は、ダイレクトチャットのメッセージ画面(第2画面)を表示部110に(例えば、図10の符号110mの領域に)表示させる。これにより、表示部110には、グループチャットのメッセージ画面(第1画面)の少なくとも一部とダイレクトチャットのメッセージ画面(第2画面)とが表示される(ステップS240)。そして、画面制御部156は、ステップS250に処理を進める。
一方、ステップS230において、ダイレクトチャットの開始要求がないと判定された場合(ステップS230:NO)、画面制御部156は、上述のステップS240の処理を実行せずに、ステップS250に処理を進める。例えば、画面制御部156は、ステップS220の処理において表示部110に表示させたグループチャットのメッセージ画面(第1画面)の表示を継続する。なお、少なくとも一以上のダイレクトチャットが既に開始されて、グループチャットのメッセージ画面(第1画面)の少なくとも一部とダイレクトチャットのメッセージ画面(第2画面)とが表示されている場合には、その表示が継続される。
次にステップS250において、画面制御部156は、ダイレクトチャットの終了要求があるか否かを判定する。例えば、画面制御部156は、ダイレクトチャットのメッセージ画面(第2画面)において、ダイレクトチャットの終了を指示する操作(例えば、図10の終了ボタンF13に対するタップ操作)がされたか否かに基づいて、ダイレクトチャットの終了要求があるか否かを判定する。
ここで、表示部110にダイレクトチャットのメッセージ画面(第2画面)が表示されていない場合(ダイレクトチャットが開始されていない場合)には、ダイレクトチャットの終了要求もない。一方、表示部110にダイレクトチャットのメッセージ画面(第2画面)が表示されている場合(少なくとも一以上のダイレクトチャットが開始されている場合)には、ユーザによってダイレクトチャットの終了を指示する操作(例えば、図10の終了ボタンF13に対するタップ操作)がされると、ダイレクトチャットの終了要求が生じる。
ステップS250において、ダイレクトチャットの終了要求があると判定された場合(ステップS250:YES)、画面制御部156は、第2表示制御部155に対して、当該終了要求のあったダイレクトチャットのメッセージ画面(第2画面)を非表示にさせるように指示する。この指示に応じて、第2表示制御部155は、当該終了要求のあったダイレクトチャットのメッセージ画面(第2画面)の表示部110に対する表示を非表示にさせる(ステップS260)。そして、画面制御部156は、ステップS270に処理を進める、
一方、ステップS250において、ダイレクトチャットの終了要求がないと判定された場合(ステップS250:NO)、画面制御部156は、上述のステップS260の処理を実行せずに、ステップS270に処理を進める。
次にステップS270において、画面制御部156は、全てのダイレクトチャットメッセージ画面(第2画面)の表示部110に対する表示が非表示であるか否か(即ち、実行中のダイレクトチャットがない状態か、又は、ある状態か)を判定する。
ステップS270において、ダイレクトチャットのメッセージ画面(第2画面)が表示されている(即ち、実行中のダイレクトチャットがある)と判定された場合(ステップS270:NO)、画面制御部156は、第2表示制御部155に対して、実行中のダイレクトチャットのメッセージ画面(複数ある場合は、そのうちの一つのメッセージ画面と、他のメッセージ画面それぞれの少なくとも一部(タブ)と)を表示部110(ステップS260においてダイレクトチャットのメッセージ画面を非表示にした領域、例えば図10の符号110mの領域)に表示させるように指示をする。この指示に応じて、第2表示制御部155は、実行中のダイレクトチャットのメッセージ画面(複数ある場合は、そのうちの一つのメッセージ画面と、他のメッセージ画面それぞれの少なくとも一部(タブ)と)を表示部110に表示させる。なお、第1表示制御部154は、継続して、グループチャットのメッセージ画面(第1画面)の少なくとも一部を表示部110(例えば、図10の符号110fの領域)に表示させる。そして、画面制御部156は、ステップS230に処理を戻す。
一方、ステップS270において、全てのダイレクトチャットのメッセージ画面(第2画面)が非表示である(即ち、実行中のダイレクトチャットがない)と判定された場合(ステップS270:YES)、画面制御部156は、ステップS220に処理を戻し、第1表示制御部154に対して、表示部110の表示領域のほぼ全体(例えば、図3の符号110bの領域)にグループチャットのメッセージ画面(第1画面)を表示させるように指示をする。この指示に応じて、第1表示制御部154は、符号110aの領域全体にグループチャットのメッセージ画面(第1画面)を表示部110の表示領域のほぼ全体(例えば、図3の符号110bの領域)に表示させる。ここで、このステップS270において、全てのダイレクトチャットのメッセージ画面(第2画面)が非表示である(即ち、実行中のダイレクトチャットがない)と判定される場合とは、ダイレクトチャットが開始されていない場合、又は、開始されたダイレクトチャットの全てが終了している場合である。
以上説明してきたように、本実施形態によるユーザ端末100は、当該ユーザ端末100(自装置)を利用する自ユーザ(第1ユーザ)と、他のユーザ端末100(他装置)を利用する複数の他ユーザ(第2ユーザ)とが登録されたグループにおいて送受信するグループチャットによるメッセージ(第1メッセージ)を時系列に表示するグループチャットのメッセージ画面(第1画面)を表示部110に表示させる第1表示制御部154を備えている。ここで、第1表示制御部154は、他のユーザ端末100(他装置)から受信したグループチャットによるメッセージ(第1メッセージ)に対しては、当該受信したメッセージを送信した他ユーザを示す情報を対応付けて表示させる。なお、自ユーザ(第1ユーザ)のユーザ端末100(自装置)から送信するメッセージ(第1メッセージ)に対しては、自ユーザを示す情報を対応付けて表示させてもよいし、表示させなくてもよい。
また、ユーザ端末100は、自ユーザ(第1ユーザ)と、複数の他ユーザ(第2ユーザ)のうち選択されたユーザ(第3ユーザ)とにおいて送受信するダイレクトチャット(1対1チャット)によるメッセージ(第2メッセージ)を時系列に表示するダイレクトチャットのメッセージ画面(第2画面)を表示部110に表示させる第2表示制御部を備えている。さらに、ユーザ端末100は、表示部110に表示させる画面を第1表示制御部154または第2表示制御部155に対して指示する画面制御部156を備えている。
そして、画面制御部156は、所定の操作に応じて選択された他ユーザをダイレクトチャットのチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)と、グループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させるように指示する。なお、ダイレクトチャットのメッセージ画面(第2画面)では、自ユーザ(第1ユーザ)のユーザ端末100(自装置)から送信するメッセージ(第2メッセージ)またはダイレクトチャットのチャット相手(第3ユーザ)のユーザ端末100(他装置)から受信したメッセージ(第2メッセージ)に対しては、ユーザを示す情報を対応付けて表示させてもよいし、表示させなくてもよい。
これにより、ユーザ端末100は、グループチャットの実行中に、グループに属するユーザのうちの選択されたユーザとダイレクトチャット(1対1チャット)を開始して、当該開始したダイレクトチャットのメッセージ画面(第2画面)と、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示することができる。例えば、ユーザが、グループチャットでの会話中に、そのグループに属するユーザのうちの一人のユーザとのみ、他のユーザには会話の内容が知られないように会話をしたくなったとする。その場合、本実施形態のユーザ端末100によれば、ユーザは、そのグループチャットを終了させなくとも、その会話をしたくなったユーザをチャット相手として選択してダイレクトチャット(1対1チャット)を行うことができる。また、ユーザ端末100が、ダイレクトチャットのメッセージ画面とともに、実行中のグループチャットのメッセージ画面の少なくとも一部を表示しているため、ユーザは、ダイレクトチャット(1対1チャット)を行いながらも、すぐにグループチャットのメッセージ画面に切替えてグループチャットによるメッセージを確認することができる。このように、本実施形態によるユーザ端末100は、グループチャットの実行中にダイレクトチャット(1対1チャット)を開始することができるため、チャットアプリケーションにおける利便性を向上させることができる。
また、第1表示制御部154は、他のユーザ端末100(他装置)から受信したグループチャットによるメッセージ(第1メッセージ)及び当該受信したメッセージ(第1メッセージ)に対応した他ユーザ(第2ユーザ)を示す情報のうちの少なくとも一方を、複数の他ユーザ(第2ユーザ)のいずれかを選択可能な操作子(第1操作子)として表示させる。つまり、第1表示制御部154は、グループチャットのメッセージ画面において、他のユーザ端末100(他装置)から受信したメッセージ(例えば図3に示す、吹き出しE2)、又は、他ユーザを示す情報(例えば図3に示す、他ユーザを示すアイコンE1)を、複数の他ユーザ(第2ユーザ)のいずれかをダイレクトチャットのチャット相手(第3ユーザ)として選択可能な操作子(第1操作子)として表示させる。
そして、表示部110にグループチャットのメッセージ画面(第1画面)が表示されている際に、上述の所定の操作として、他のユーザ端末100(他装置)から受信したメッセージ、又は、他ユーザを示す情報に対する操作(第1操作子に対する操作)がされたとする。その場合、画面制御部156は、当該操作に応じて選択された他ユーザ(第2ユーザ)をダイレクトチャットのチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)と、当該表示されていたグループチャットのメッセージ画面(第1画面)の少なくとも一部とを前記表示部に表示させるように指示する。
これにより、ユーザ端末100は、グループチャットのメッセージ画面に対するユーザの操作によって選択された他ユーザをチャット相手としたダイレクトチャットを開始することができる。よって、ユーザは、グループチャットを行っている際に、ダイレクトチャットを行いたいユーザを容易に選択することができる。
なお、グループチャットのメッセージ画面(第1画面)において表示される他ユーザを示すアイコン、又は他ユーザから送信されたメッセージが表示される吹き出しを、ダイレクトチャットのチャット相手を選択可能な操作子(第1操作子)として表示する例を説明したが、これに限られるものではない。例えば、他ユーザの名前を示す情報、吹き出し以外の形式のオブジェクト、又はメッセージ自体を、ダイレクトチャットのチャット相手を選択可能な操作子(第1操作子)として表示してもよい。
また、ダイレクトチャットのチャット相手を選択可能な操作子(第1操作子)は、メッセージ画面に表示されるメッセージ又は他ユーザを示す情報に限らず、例えば、グループチャットのメッセージ画面において、そのグループに属するユーザを一覧可能なリストが表示されている場合にはそのリストとしてもよい。また、ユーザ端末100は、音声入力機能を備え、ユーザがチャット相手のユーザ名を音声入力することにより、ダイレクトチャットのチャット相手を選択してもよい。
また、ダイレクトチャットのメッセージ画面(第2画面)には、自ユーザ(第1ユーザ)が送信するダイレクトチャットによるメッセージ(第2メッセージ)を入力するテキストボックスF11(メッセージ入力部)が含まれている。第2表示制御部155は、上述の第1操作子に対する操作に応じて選択された他ユーザをチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)を表示部110に表示させるとともに、当該操作された第1操作子に対応するグループチャットによるメッセージ(第2メッセージ)を引用する形式のテキストが入力されたテキストボックスF11を表示部110に表示させる。
これにより、ユーザ端末100は、ダイレクトチャットのメッセージを入力するテキストボックスF11に、ダイレクトチャットを開始するトリガとしてユーザによって選択されたグループチャットのメッセージを引用する形式のテキストが入力されている状態として表示することができる。よって、ユーザは、ダイレクトチャットを開始するトリガとしたメッセージの内容を、テキストボックスF11にあらためて入力することなく、引用する形式のテキストとして含めたダイレクトチャットのメッセージをユーザ端末100から送信することができる。従って、ユーザ端末100は、ダイレクトチャットを開始するトリガとしたメッセージの内容を含むダイレクトチャットのメッセージを送信することができるため、そのメッセージがグループチャットの実行中に開始された(グループチャットの会話の流れの中で投稿された)ダイレクトチャットのメッセージであることを分かりやすくすることができる。
なお、テキストボックスF11(メッセージ入力部)に入力されたテキストは、ユーザからの操作に応じて修正や削除が可能である。即ち、第2表示制御部155がテキストボックスF11(メッセージ入力部)に入力して表示させた、引用する形式のテキストは、ユーザからの操作に応じて修正や削除が可能である。また、引用する形式のテキストは、ダイレクトチャットを開始するトリガとしたメッセージの全部ではなく、その一部であってもよい。例えば、当該メッセージの先頭から所定文字数以内に収まるようにしてもよい。つまり、ダイレクトチャットのチャット相手が、自身が送信したメッセージのうち、どのメッセージに対する応答であるかを把握できるテキスト内容であればよい。
なお、ダイレクトチャットのチャット相手を選択可能な操作子(第1操作子)に対する操作が、いずれの操作子に対する操作であるかによって、第2表示制御部155がグループチャットのメッセージを引用する形式のテキストをテキストボックスF11(メッセージ入力部)に入力するか否かを切替えてもよい。例えば、他ユーザを示すアイコン(他ユーザのプロフィール画像)に対する操作である場合には、第2表示制御部155は、グループチャットのメッセージを引用する形式のテキストを入力しないでテキストボックスF11(メッセージ入力部)を表示部110に表示させてもよい。一方、他ユーザから送信されたメッセージが表示される吹き出しに対する操作である場合には、第2表示制御部155は、グループチャットのメッセージを引用する形式のテキストを入力してテキストボックスF11(メッセージ入力部)を表示部110に表示させてもよい。
また、画面制御部156は、所定の操作(例えば上述の第1操作子に対する操作)に応じて互いに異なる複数のダイレクトチャットのチャット相手(第3ユーザ)が選択された場合、当該選択された複数のチャット相手(第3ユーザ)それぞれに対応するダイレクトチャットのメッセージ画面(第2画面)のうちの一のメッセージ画面と、他のメッセージ画面の少なくとも一部と、グループチャットのメッセージ画面(第1画面)の少なくとも一部とを前記表示部に表示させるように指示する。
これにより、ユーザ端末100は、グループチャットを実行中に、複数のダイレクトチャットを開始することができるとともに、当該開始した複数のダイレクトチャットのメッセージ画面を選択して表示可能なように表示することができる。
なお、第2表示制御部155は、複数のダイレクトチャットのメッセージ画面(第2画面)のうちの一のメッセージ画面と、他のメッセージ画面の少なくとも一部(タブ)とを表示部110に表示させた場合、他のメッセージ画面に未読メッセージがあるか否かを示す情報を、当該メッセージ画面の少なくとも一部(タブ)に表示させてもよい。ここで、第2表示制御部155は、未読メッセージがあるメッセージ画面のタブを、未読メッセージがないメッセージ画面のタブと区別可能なように、例えば、ハイライト表示、点滅表示、又は色を変更して表示させる。
これにより、ユーザ端末100は、グループチャットを実行中に開始した複数のダイレクトチャットのうち、いずれかのダイレクトチャットに未読メッセージがある場合、その未読メッセージがあるダイレクトチャットのメッセージ画面がいずれのメッセージ画面であるかをユーザに判別可能なように表示することができる。
なお、上記実施形態では、自ユーザのユーザ端末100(自装置)が、グループチャットを実行中にダイレクトチャットを開始したときのメッセージ画面の表示例を説明したが、グループチャットの実行中に他ユーザのユーザ端末100(他装置)において、ダイレクトチャットが開始される場合もある。この場合に、他ユーザのユーザ端末100(他装置)から送信されたダイレクトチャットによるメッセージを受信したときの自ユーザのユーザ端末100(自装置)における表示処理を以下に説明する。なお、この表示処理は、ダイレクトチャットによるメッセージ(グループチャット実行中に送信された1対1チャットによるメッセージ)を受信した場合に限らず、1対1チャットによるメッセージ(グループチャット非実行中に送信された1対1チャットによるメッセージ)を受信した場合も同様の処理である。
例えば、表示部110にグループチャットのメッセージ画面(第1画面)が表示されている際にダイレクトチャット(又は1対1チャット)によるメッセージ(第2メッセージ)が受信されたとする。この場合、画面制御部156は、当該受信されたメッセージ(第2メッセージ)の表示を含むダイレクトチャットのメッセージ画面(第2画面)と、当該表示されていたグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させるように指示する。この指示に応じて、表示制御部153は、当該ダイレクトチャットのメッセージ画面(第2画面)と、当該グループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示させる。
これにより、ユーザ端末100は、グループチャットを実行中に、他のユーザ端末100(他装置)からダイレクトチャット(又は1対1チャット)によるメッセージを受信した場合には、自ユーザのユーザ端末100(自装置)においてダイレクトチャットを開始した場合と同様に、当該受信したメッセージを含むダイレクトチャットのメッセージ画面(第2画面)と、当該実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示部110に表示することができる。
よって、本実施形態のユーザ端末100によれば、ユーザは、そのグループチャットを終了させなくとも、他ユーザから送信されたダイレクトチャット(又は1対1チャット)によるメッセージを受信することができるとともに、その受信したメッセージを送信したユーザをチャット相手としたダイレクトチャットを開始することができる。
一方、表示部110にグループチャットのメッセージ画面(第1画面)が表示されていない際にダイレクトチャット(又は1対1チャット)によるメッセージ(第2メッセージ)が受信されたとする。この場合、画面制御部156は、当該受信されたメッセージ(第2メッセージ)の表示を含むダイレクトチャット(又は1対1チャット)のメッセージ画面(第2画面)を表示部110に表示させるように指示する。
これにより、ユーザ端末100は、グループチャットのメッセージ画面を表示していない際に(グループチャットを非実行中の際に)、ダイレクトチャット(又は1対1チャット)によるメッセージを受信した場合には、当該受信したメッセージを含むダイレクトチャット(又は1対1チャット)のメッセージ画面(第2画面)を表示することができる。
ここで、ユーザ端末100が、ダイレクトチャットによるメッセージを送信又は受信した場合には、そのメッセージはグループチャットでの会話の流れの中で投稿(送信)されたものであることがある。自ユーザとダイレクトチャットのチャット相手となる他ユーザとのいずれのユーザも同一のグループチャットを実行中の場合には、ダイレクトチャットが開始されても、そのいずれのユーザもグループチャットでの会話の流れを把握できている。しかし、例えば、上述したように、ユーザ端末100がグループチャットのメッセージ画面(第1画面)を表示していない際に(グループチャットを非実行中の際に)、ダイレクトチャットによるメッセージを受信したとする。この場合、ユーザ端末100は、当該ユーザ端末100を利用する自ユーザがグループチャットでの会話の流れを把握できていない状態で、そのグループチャットでの会話の流れの中で投稿(送信)されたダイレクトチャットのメッセージを含むメッセージ画面を表示してしまうことがある。
このような場合には、上述したような、第2表示制御部155が、グループチャットによるメッセージ(第2メッセージ)を引用する形式のテキストが入力されたテキストボックスF11を表示部110に表示させることができる機能が有効である。これにより、例えば、他ユーザは、ダイレクトチャットを開始するトリガとしたグループチャットによるメッセージの内容を、テキストボックスF11にあらためて入力することなく、引用する形式のテキストとして含めたダイレクトチャットのメッセージを送信することができる。従って、他ユーザから送信されたダイレクトチャットのメッセージには、グループチャットによるメッセージの内容を引用する形式のテキストが含まれているため、そのダイレクトチャットによるメッセージが、グループチャットでの会話の流れの中で投稿(送信)されたメッセージであることが分かるようになる。これにより、ユーザは、ユーザ端末100が受信したメッセージの内容に、引用する形式のテキストが含まれている否かに基づいて、受信したメッセージが、ダイレクトチャットによるメッセージ(グループチャット実行中に送信された1対1チャットによるメッセージ)であるか、又は、1対1チャットによるメッセージ(グループチャット非実行中に送信された1対1チャットによるメッセージ)であるかを、判別することができるようになる。
なお、ダイレクトチャット(又は1対1チャット)によるメッセージ(第2メッセージ)が受信された場合に、ユーザ端末100は、ダイレクトチャット(又は1対1チャット)のメッセージ画面を、当該受信されたことに応じて(自動的に)表示するのではなく、所定の操作を経てから表示するようにしてもよい。ここでの所定の操作とは、ダイレクトチャット(又は1対1チャット)のメッセージ画面を表示することをユーザに確認させる操作、ダイレクトチャット(又は1対1チャット)のメッセージ画面を表示するか否かをユーザに選択させる操作、等である。
例えば、ダイレクトチャット(又は1対1チャット)によるメッセージ(第2メッセージ)が受信された場合に、画面制御部156は、ダイレクトチャット(又は1対1チャット)のメッセージ画面を表示することをユーザが「確認可能な操作子」を含む画面(画面情報)、又は、ダイレクトチャット(又は1対1チャット)のメッセージ画面を表示するか否かをユーザが「選択可能な操作子」を含む画面(画面情報)、等を表示部110に表示させるように表示制御部153に対して指示してもよい。この指示に応じて、表示制御部153が表示部110に表示させた、上述の「確認可能な操作子」を含む画面(画面情報)、又は、上述の「選択可能な操作子」を含む画面(画面情報)に対する操作に基づいて、画面制御部156は、ダイレクトチャット(又は1対1チャット)のメッセージ画面を表示部110に表示させるか否かを表示制御部153に指示してもよい。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100がダイレクトチャットのメッセージ画面を表示する処理の別の態様について説明する。ユーザ端末100は、グループチャットを実行中にダイレクトチャットを開始する場合、グループチャットのメッセージ画面(第1画面)の少なくとも一部と、ダイレクトチャットのメッセージ画面(第2画面)とを表示する。上記第1実施形態では、ユーザ端末100が表示するグループチャットのメッセージ画面(第1画面)の少なくとも一部として、例えば図10に示すように、少なくともグループチャットによるメッセージが含まれるメッセージ画面が表示される例を説明した。これに対し、本実施形態では、ユーザ端末100が表示するグループチャットのメッセージ画面(第1画面)の少なくとも一部として、グループチャットによるメッセージが含まれない部分が表示される。ここでは、グループチャットのメッセージ画面の少なくとも一部として、例えば、グループチャットのメッセージ画面に対応するタブが表示される例を説明する。
図13は、本実施形態によるダイレクトチャットのメッセージ画面の表示例を示す図である。この図13において、図10と対応する部分には同じ符号を付けておりその説明を適宜省略する。また、この図13に示すダイレクトチャットのメッセージ画面は、図3に示すグループチャットのメッセージ画面において、他のユーザ端末100(他装置)から受信したメッセージ(例えば、吹き出しE2)、又は、他ユーザを示す情報(例えば、他ユーザを示すアイコンE1)に対して操作(例えば、タップ操作)がされることにより開始されたダイレクトチャットのメッセージ画面の一例を示している。
符号110aの領域のほぼ全体の符号110sの領域には、ダイレクトチャットのメッセージ画面が表示される。符号110tの領域には、グループ名(ここでは、「田中B子」)とダイレクトチャットであることを示す情報(ここでは、「ダイレクトチャット」)が表示される。
符号110uの領域には、そのグループ(ダイレクトチャットのグループ)においてユーザから送信されたメッセージが、そのメッセージの送信日時に基づいて昇順(新しいメッセージが符号110uの領域の下側)に表示されるように表示コンポーネントが配置される。即ち、図10の符号110pの領域と同様に、アイコン(例えば、アイコンF3)や吹き出し(例えば、吹き出しF2や吹き出しF4)が表示される。また、この符号110uの領域内の左端の領域には、タブE20が表示される。このタブE20は、実行中のグループチャットのメッセージ画面(第1画面)に対応するタブであって、グループチャットのメッセージ画面の表示に切替えるための操作子として表示される。この図の例では、タブE20には、グループチャットに切替えること示す情報(ここでは、「グループチャットへ」)が表示される。なお、タブE20には、対応するグループチャットのグループ名が表示されてもよい。例えば、このタブE20に対してタップ操作がされると、ユーザ端末100は、グループチャットのメッセージ画面の表示に切替える(戻す)。
符号110vの領域には、図10に示す符号110rの領域と同様に、このダイレクトチャットにおいてユーザ端末100から送信するメッセージとしてのテキストを入力するための表示コンポーネントが配置される。テキストボックスF11は、自ユーザ(第1ユーザ)が送信するダイレクトチャットによるメッセージ(第2メッセージ)を入力するメッセージ入力部である。送信ボタンF12は、テキストボックスF11に入力されたメッセージをユーザ端末100から送信するための操作子である。なお、この符号110vの領域には、表示されているダイレクトチャットのメッセージ画面を終了する操作子である終了ボタンF13が表示される。
次に、図14を参照して、図13に示すダイレクトチャットのメッセージ画面から切替わったグループチャットのメッセージ画面の表示例について説明する。図14は、本実施形態によるグループチャットのメッセージ画面の表示例を示す図である。この図14において、図3と対応する部分には同じ符号を付けておりその説明を適宜省略する。符号110aの領域のほぼ全体の符号110bの領域には、グループチャットのメッセージ画面が表示される。
符号110dの領域には、そのグループ(グループチャットのグループ)においてユーザから送信されたメッセージが、そのメッセージの送信日時に基づいて昇順(新しいメッセージが符号110dの領域の下側)に表示される。ここで、この符号110dの領域に表示されるメッセージ画面は、直前(図13に示すダイレクトチャットのメッセージ画面が表示される前)のグループチャットのメッセージ画面(例えば、図3に示すメッセージ画面)の画面情報の位置(箇所)が維持される。つまり、ユーザ端末100は、グループチャットを実行中にダイレクトチャットを開始した場合、ダイレクトチャットのメッセージ画面を表示部110に表示するとともに、実行中のグループチャットのメッセージ画面の時系列上の位置(箇所)を保持しておく。ここで、ユーザ端末100は、例えば、メッセージ情報に含まれる送信日時情報、又はメッセージを一意に識別する識別情報(メッセージID)等に基づいて、時系列上の位置を保持する。
そして、ユーザ端末100は、ダイレクトチャットのメッセージ画面から再びグループチャットのメッセージ画面に切替える(戻す)場合、保持した時系列上の位置に基づいて、ダイレクトチャットを開始したときにグループチャットのメッセージ画面に表示されていたメッセージの少なくとも一部を含むメッセージ画面を表示部110に表示する。具体的には、画面制御部156は、ダイレクトチャットのメッセージ画面においてグループチャットのメッセージ画面に戻す操作がされた場合、ダイレクトチャットを開始する操作(所定の操作)がされた際に表示されていたグループチャットのメッセージの少なくとも一部を含むグループチャットのメッセージ画面を表示部110に表示させるように第1表示制御部154に指示する。この指示に応じて、第1表示制御部154は、ダイレクトチャットを開始する操作(所定の操作)がされた際に表示されていたグループチャットのメッセージの少なくとも一部を含むグループチャットのメッセージ画面を表示部110に表示させる。
なお、このグループチャットのメッセージ画面の時系列上の位置を維持する処理は、上述した第1実施形態にも適用できる。
また、符号110dの領域内の左端の領域には、タブF20が表示される。このタブF20は、実行中のダイレクトチャットのメッセージ画面(第2画面)に対応するタブであって、ダイレクトチャットのメッセージ画面の表示に切替えるための操作子として表示される。なお、複数のダイレクトチャットが実行中の場合には、それぞれのダイレクトチャットのメッセージ画面に対応するタブ(ここでは、タブG20、タブH20)が表示されてもよい。これらのタブには、例えば、それぞれのタブがいずれのグループのダイレクトチャットであるか区別可能なように、それぞれに対応するグループ名が表示されてもよい。例えば、タブF20には、ユーザBとのダイレクトチャットのグループ名(ここでは、「田中B子」)が表示される。なお、実行中のダイレクトチャットが1つのグループである場合には、タブF20には、ダイレクトチャットに切替えること示す情報(例えば、「ダイレクトチャットへ」)が表示されてもよい。例えば、このタブF20に対してタップ操作がされると、ユーザ端末100は、ユーザBとのダイレクトチャットのメッセージ画面(例えば、図13に示すメッセージ画面)の表示に切替える。
以上説明したように、本実施形態のユーザ端末100において、画面制御部156は、ダイレクトチャットによるメッセージ画面を表示部110に表示させる場合には、上記第1の実施形態と同様に、ダイレクトチャットによるメッセージ画面(第2画面)と、グループチャットによるメッセージ画面(第1画面)の少なくとも一部(タブ)とを表示部110に表示させるように指示する。
これにより、本実施形態のユーザ端末100は、第1実施形態のユーザ端末100と同様に、グループチャットの実行中に、ダイレクトチャット(1対1チャット)を開始して、当該開始したダイレクトチャットのメッセージ画面(第2画面)と、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示することができる。なお、第1実施形態とは異なりグループチャットのメッセージ画面(第1画面)の少なくとも一部がタブであるため、ユーザ端末100は、ダイレクトチャットのメッセージ画面を符号110aの領域のほぼ全体に表示することができる。つまり、本実施形態によれば、ユーザに対して、ダイレクトチャットのメッセージ画面において表示できる情報量を第1実施形態よりも増加することができる。
また、画面制御部156は、グループチャットによるメッセージ画面(第1画面)と、複数のダイレクトチャットによるメッセージ画面(第2画面)それぞれの少なくとも一部(タブ)とを表示部110に表示させるように指示する。
これにより、ユーザ端末100は、グループチャットによるメッセージ画面(第1画面)を表示させている状態で、複数のダイレクトチャットによるメッセージ画面(第2画面)それぞれの少なくとも一部(タブ)を表示することができる。そのため、ユーザ端末100は、複数のダイレクトチャットが開始された場合であっても、タブに対する容易な操作(例えば、図14に示すタブF20、G20、H20に対するタップ操作)により選択されたダイレクトチャットのメッセージ画面を表示部110に表示させることができる。よって、本実施形態によるユーザ端末100は、チャットアプリケーションにおける利便性を向上させることができる。
また、画面制御部156は、表示部110にグループチャットによるメッセージ画面(第1画面)が表示されている際に、上述の所定の操作がされた場合、当該操作に応じて選択された他ユーザ(第2ユーザ)をダイレクトチャットのチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)と、当該表示されていたグループチャットのメッセージ画面(第1画面)の少なくとも一部とを前記表示部に表示させるように指示する。また、画面制御部156は、当該指示に応じて表示部110に表示されたダイレクトチャットのメッセージ画面(第2画面)においてグループチャットによるメッセージ画面(第1画面)に戻す操作がされた場合、上記所定の操作がされた際に表示されていたグループチャットによるメッセージ(第1メッセージ)の少なくとも一部を含むグループチャットのメッセージ画面(第1画面)を表示部110に表示させるように指示する。
これにより、ユーザ端末100は、ダイレクトチャットのメッセージ画面において、グループチャットのメッセージ画面に戻す操作(例えば、図13に示すタブE20に対するタップ操作)がされることにより、グループチャットのメッセージ画面に戻すことができるとともに、グループチャットを終了していないため、ダイレクトチャットが開始されたときに表示されていたグループチャットのメッセージ画面に戻すことができる。
なお、図14に示すメッセージ画面において、ユーザ端末100は、複数のダイレクトチャットのメッセージ画面のそれぞれに対応するタブに、未読メッセージがあるか否かを示す情報を表示させてもよい。例えば、ユーザ端末100は、未読メッセージがあるメッセージ画面のタブを、未読メッセージがないメッセージ画面のタブと区別可能なように、例えば、ハイライト表示、点滅表示、又は色を変更して表示させる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100がダイレクトチャットのメッセージ画面を表示する処理の別の態様について説明する。上記第1、2実施形態では、ユーザ端末100が、グループチャットを実行中にダイレクトチャットを開始した場合、グループチャットのメッセージ画面(第1画面)の少なくとも一部と、ダイレクトチャットのメッセージ画面(第2画面)とを表示する例を説明した。これに対し、本実施形態では、ユーザ端末100が、ダイレクトチャットを開始する場合、ダイレクトチャットのメッセージ画面の表示に切替えて、グループチャットのメッセージ画面(第1画面)を含まない表示とする。具体的には、画面制御部156は、表示部110にグループチャットのメッセージ画面(第1画面)が表示されている際に、ダイレクトチャットを開始する操作がされた場合、当該操作に応じて選択された他ユーザ(第2ユーザ)をチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)を表示部110に表示させるように第2表示制御部155に対して指示する。この指示に応じて、第2表示制御部155は、ダイレクトチャットのメッセージ画面(第2画面)を表示部110に表示させる。
図15は、本実施形態によるダイレクトチャットのメッセージ画面の表示例を示す図である。この図15において、図13と対応する部分には同じ符号を付けておりその説明を適宜省略する。また、この図15に示すダイレクトチャットのメッセージ画面は、図3に示すグループチャットのメッセージ画面において、他のユーザ端末100(他装置)から受信したメッセージ(例えば、吹き出しE2)、又は、他ユーザを示す情報(例えば、他ユーザを示すアイコンE1)に対して操作(例えば、タップ操作)がされることにより開始されたダイレクトチャットのメッセージ画面の一例を示している。
符号110aの領域のほぼ全体の符号110sの領域には、第2実施形態と同様にダイレクトチャットのメッセージ画面が表示される。第2実施形態と異なるのは、実行中のグループチャットのメッセージ画面に対応するタブ(図13では、タブE20)が表示されないことである。即ち、符号110aの領域には、ダイレクトチャットのメッセージ画面のみが表示される。
本実施形態では、このダイレクトチャットのメッセージ画面において、グループチャットのメッセージ画面に戻す操作がされると、ユーザ端末100は、グループチャットのメッセージ画面に切替える(戻す)。ここで、上述したグループチャットのメッセージ画面に戻す操作とは、例えば、符号110sの領域内の任意の箇所において行われる、符号K3に示すような左から右へのスライド操作である。また、ユーザ端末100は、グループチャットのメッセージ画面に切替えて表示する場合、ダイレクトチャットのメッセージ画面のタブ等は表示させず、グループチャットのメッセージ画面のみを表示する(例えば、図3に示すメッセージ画面)。
このグループチャットのメッセージ画面は、直前(図15に示すダイレクトチャットのメッセージ画面が表示される前)のグループチャットのメッセージ画面の画面情報の位置(箇所)が維持される。つまり、ユーザ端末100は、グループチャットを実行中にダイレクトチャットを開始した場合、ダイレクトチャットのメッセージ画面を表示部110に表示するとともに、実行中のグループチャットのメッセージ画面の時系列上の位置(箇所)を保持しておく。ここで、ユーザ端末100は、例えば、メッセージ情報に含まれる送信日時情報、又はメッセージを一意に識別する識別情報(メッセージID)等に基づいて、時系列上の位置を保持する。
そして、ユーザ端末100は、ダイレクトチャットのメッセージ画面から再びグループチャットのメッセージ画面に切替える(戻す)場合、保持した時系列上の位置に基づいて、ダイレクトチャットを開始したときにグループチャットのメッセージ画面に表示されていたメッセージの少なくとも一部を含むメッセージ画面を表示部110に表示する。具体的には、画面制御部156は、ダイレクトチャットのメッセージ画面においてグループチャットのメッセージ画面に戻す操作がされた場合、ダイレクトチャットを開始する操作(所定の操作)がされた際に表示されていたグループチャットのメッセージの少なくとも一部を含むグループチャットのメッセージ画面を表示部110に表示させるように第1表示制御部154に指示する。この指示に応じて、第1表示制御部154は、ダイレクトチャットを開始する操作(所定の操作)がされた際に表示されていたグループチャットのメッセージの少なくとも一部を含むグループチャットのメッセージ画面を表示部110に表示させる。
なお、ユーザ端末100は、グループチャットのメッセージ画面(例えば、図3に示すメッセージ画面)に切替えた後に、このグループチャットのメッセージ画面においてスライド操作(例えば、図3に示す符号110bの領域内の任意の箇所において行われる、符号K3に示す向きとは逆の右から左へのスライド操作)がされると、ダイレクトチャットのメッセージ画面の表示に切替えてもよい。
次に、本実施形態によるユーザ端末100が、複数のダイレクトチャットを実行した場合のメッセージ画面の表示処理について説明する。
図16は、本実施形態における複数のダイレクトチャットのメッセージ画面の表示例を示す図である。ユーザ端末100は、グループチャットを実行中に複数のダイレクトチャットを開始した場合、複数のダイレクトチャットのメッセージ画面のうちの一のメッセージ画面を表示部110に表示する(ここでは、「(1)ユーザBとのダイレクトチャット」のメッセージ画面)。また、表示部110に表示されているダイレクトチャットのメッセージ画面から、実行中の他のダイレクトチャットのメッセージ画面に切替える操作がされたとする。この場合、ユーザ端末100は、表示部110に表示しているダイレクトチャットのメッセージ画面から、実行中の他のダイレクトチャットのメッセージ画面のうちの一のメッセージ画面に切替えて表示部110に表示する。ここで、上述した、他のダイレクトチャットのメッセージ画面に切替える操作とは、例えば、符号110sの領域内の任意の箇所において行われる、符号K4に示すような右から左へのスライド操作である。
続いて、上述した、他のダイレクトチャットのメッセージ画面を切替える操作がされた場合にユーザ端末100が切替えるメッセージ画面の順番についての例を説明する。例えば、ユーザ端末100が、グループチャットを実行中に、(1)ユーザBとのダイレクトチャット、(2)ユーザCとのダイレクトチャット、(3)ユーザDとのダイレクトチャット、の順に、それぞれのダイレクトチャットを開始したとする。この場合、ユーザ端末100は、実行中のダイレクトチャットのメッセージ画面それぞれを、開始した順((1)、(2)、(3)の順)に切替えて表示してもよい。なお、ユーザ端末100は、開始した順((1)、(2)、(3)の順)にメッセージ画面を切替えて表示した後に、さらに上述した切替える操作がされた場合には、再びこの開始した順((1)、(2)、(3)の順)にメッセージ画面を切替えて表示してもよい。また、ユーザ端末100は、開始した順((1)、(2)、(3)の順)にメッセージ画面を切替えて表示した後に、さらに上述した切替える操作がされた場合には、実行中のグループチャットのメッセージ画面を表示してもよい。またその後に、再びこの開始した順((1)、(2)、(3)の順)にメッセージ画面を切替えて表示してもよい。
また、ユーザ端末100は、実行中のダイレクトチャットのメッセージ画面のうち未読メッセージのあるダイレクトチャットのメッセージ画面を優先して表示してもよい。例えば、ユーザ端末100は、(1)ユーザBとのダイレクトチャットのメッセージ画面を表示している状態、且つ、(3)ユーザDとのダイレクトチャットに未読メッセージがある状態で、上述した切替える操作がされた場合には、開始された順には関係なく、まず、(3)ユーザDとのダイレクトチャットのメッセージ画面に切替えて表示してもよい(例えば、(1)、(3)、(2)の順にメッセージ画面を切替えて表示してもよい)。このように、ユーザ端末100は、複数のダイレクトチャットが開始された場合であっても、複数のメッセージ画面のそれぞれを順番に表示部110に表示することができる。また、未読メッセージにかえて最も新しい送信日時情報が対応付けられたメッセージ(最新のメッセージ)に基づいて優先するメッセージ画面を決定してもよい。
なお、この複数のメッセージ画面のそれぞれを表示する順番の処理は、上述した第1実施形態および第2実施形態にも適用できる。
なお、ユーザ端末100が、複数のダイレクトチャットを実行している場合、その複数のダイレクトチャットのうち未読メッセージのあるメッセージ画面を示す情報(例えば、各ダイレクトチャットに対応するそれぞれのアイコン等)を、表示中のメッセージ画面上に表示してもよい。
また、ユーザ端末100は、ユーザからの操作(例えば、画面上においてピンチイン(縮小)操作や所定のアイコンに対するタップ操作等)に応じて、実行中のチャット(グループチャット及びダイレクトチャット)のメッセージ画面それぞれに対応するアイコンを並べて表示部110に表示してもよい。図17は、複数の実行中のチャットのメッセージ画面それぞれに対応するアイコンが並べて表示された表示例を示す図である。ここで、このアイコンのそれぞれは、表示部110に表示するチャットのメッセージ画面を選択可能な操作子として表示される。なお、このチャットのアイコンのそれぞれは、各チャットのグループが区別可能な情報(例えばグループ名)が表示されたアイコンであってもよいし、各チャットのメッセージ画面の縮小画像(サムネイル画像)が表示されたアイコンであってもよい。
以上説明したように、本実施形態によるユーザ端末100において、画面制御部156は、表示部110にグループチャットのメッセージ画面(第1画面)が表示されている際に所定の操作がされた場合、当該操作に応じて選択された他ユーザ(第2ユーザ)をチャット相手(第3ユーザ)とするダイレクトチャットのメッセージ画面(第2画面)を表示部110に表示させるように指示する。また、画面制御部156は、当該指示に応じて表示部110に表示されたダイレクトチャットのメッセージ画面(第2画面)においてグループチャットのメッセージ画面(第1画面)に戻す操作がされた場合、上記所定の操作がされた際に表示されていたグループチャットによるメッセージ(第1メッセージ)の少なくとも一部を含むグループチャットのメッセージ画面(第1画面)を表示部110に表示させるように指示する。
これにより、本実施形態のユーザ端末100は、第1、2実施形態のユーザ端末100と同様に、グループチャットの実行中に、ダイレクトチャット(1対1チャット)を開始して、当該開始したダイレクトチャットのメッセージ画面(第2画面)と、実行中のグループチャットのメッセージ画面(第1画面)の少なくとも一部とを表示することができる。なお、ユーザ端末100は、第1、2実施形態とは異なりグループチャットのメッセージ画面(第1画面)の少なくとも一部を表示せずに、ダイレクトチャットのメッセージ画面のみを表示する。そのため、ユーザ端末100は、ダイレクトチャットのメッセージ画面を符号110aの領域のほぼ全体に表示することができる。また、ユーザ端末100は、ダイレクトチャットのメッセージ画面において、容易な操作(例えば、スライド操作)により、グループチャットのメッセージ画面に戻すことができる。このとき、ユーザ端末100は、グループチャットを終了していないため、ダイレクトチャットが開始されたときに表示されていたグループチャットのメッセージ画面に戻すことができる。よって、本実施形態によるユーザ端末100は、チャットアプリケーションにおける利便性を向上させることができる。
また、画面制御部156は、所定の操作に応じて互いに異なる複数のダイレクトチャットのチャット相手(第3ユーザ)が選択された場合、当該選択された複数のダイレクトチャットのチャット相手(第3ユーザ)それぞれに対応するダイレクトチャットのメッセージ画面(第2画面)のうちのいずれかを表示部110に表示させるように指示する。
これにより、ユーザ端末100は、グループチャットを実行中に複数のダイレクトチャットを開始することができるとともに、当該開始した複数のダイレクトチャットうちのいずれかのダイレクトチャットのメッセージ画面を表示することができる。また、ユーザ端末100は、容易な操作(例えば、スライド操作)により、複数のダイレクトチャットのメッセージ画面を、例えば開始した順に従って切替えて表示することができる。
また、画面制御部156は、複数のダイレクトチャットのメッセージ画面(第2画面)それぞれに含まれるメッセージに未読メッセージがあるか否かに基づいて、複数のダイレクトチャットのメッセージ画面(第2画面)のうちのいずれかを表示部110に表示させるように指示する。
これにより、ユーザ端末100は、未読メッセージがあるか否かに基づいて、複数のダイレクトチャットのメッセージ画面を切替えて表示することができる。例えば、ユーザ端末100は、複数のダイレクトチャットのうち、未読メッセージがあるダイレクトチャットのメッセージ画面を優先して表示することができる。
また、画面制御部156は、複数のダイレクトチャットのメッセージ画面(第2画面)及びグループチャットのメッセージ画面(第1画面)のそれぞれを縮小した画面を、複数のダイレクトチャットのメッセージ画面(第2画面)及びグループチャットのメッセージ画面(第1画面)のうちのいずれかを選択可能な操作子として、表示部110に表示させるように指示する。
これにより、ユーザ端末100は、複数のダイレクトチャット及びグループチャットのそれぞれのメッセージ画面のうちから表示するメッセージ画面を、容易に選択可能にすることができる。
<第4の実施形態>
次に、本発明の第4の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100は、ダイレクトチャットのメッセージ画面からグループチャットのメッセージ画面に切替える処理の一例について説明する。
本実施形態によるユーザ端末100において、第2表示制御部155は、ダイレクトチャットのメッセージ画面において、メッセージ(例えば、メッセージが表示されている吹き出し)及びそのメッセージを送信した他ユーザを示す情報(例えば、他ユーザを示すアイコン)の少なくとも一方を、ダイレクトチャットのメッセージ画面からグループチャットのメッセージ画面に切替える(戻す)操作子(第3操作子)として表示する。ここで、ダイレクトチャットのメッセージ画面からグループチャットのメッセージ画面に切替える(戻す)操作子(第3操作子)として表示される吹き出し又は他ユーザを示すアイコンは、グループチャットのメッセージ画面において、ダイレクトチャットが開始されたときのトリガとなる(最初の)メッセージが表示される吹き出し又は当該吹き出しに対応する他ユーザを示すアイコンである。
例えば、ダイレクトチャットのメッセージ画面において、メッセージが表示されている吹き出し又は他ユーザを示すアイコンに対して操作(例えばタップ操作)がされたとする。画面制御部156は、その操作に応じて、ダイレクトチャットが開始されたときのグループチャットのメッセージ画面を表示させるように第1表示制御部154に指示する。ここで、画面制御部156は、ダイレクトチャットが開始されたときに表示されていたグループチャットのメッセージの一部又は全部が表示されるグループチャットのメッセージ画面を表示させるように指示する。
ここで、ダイレクトチャットが開始されたときに表示されていたグループチャットのメッセージは、メッセージ情報に含まれる送信日時情報に基づいて特定されてもよいし、複数のメッセージそれぞれを一意に識別する識別情報(メッセージID)がそれぞれのメッセージに対応付けられている場合には、そのメッセージIDに基づいて特定されてもよい。
例えば、図13に示すダイレクトチャットのメッセージ画面において、吹き出しF2にタップ操作がされたとする。この場合、ユーザ端末100は、この吹き出しF2対応する吹き出しE2を含むグループチャットのメッセージ画面(図14参照)に表示を切替える(戻す)。即ち、ユーザ端末100は、ダイレクトチャットが開始されるときに選択されたメッセージが表示されている吹き出しE2を含むグループチャットのメッセージ画面に表示を切替える(戻す)。また同様に、例えば、図15に示すダイレクトチャットのメッセージ画面において、吹き出しF2にタップ操作がされたとする。この場合、ユーザ端末100は、この吹き出しF2対応する吹き出しE2を含むグループチャットのメッセージ画面(図3参照)に表示を切替える(戻す)。
以上説明したように、第2表示制御部155は、他のユーザ端末100(他装置)から受信したダイレクトチャットによるメッセージ(第2メッセージ)及び当該受信したメッセージ(第2メッセージ)に対応した他ユーザ(第2ユーザ)を示す情報のうちの少なくとも一方を、ダイレクトチャットのメッセージ画面(第2画面)においてグループチャットのメッセージ画面(第1画面)に戻す操作が可能な操作子(第3操作子)として表示部110に表示させる。
これにより、ユーザ端末100は、グループチャットを実行中に開始したダイレクトチャットのメッセージ画面から、ダイレクトチャットを開始したときに表示されていたグループチャットのメッセージ画面に、容易な操作で切替える(戻す)ことができる。よって、本実施形態によれば、チャットアプリケーションにおける利便性を向上させることができる。
<第5の実施形態>
次に、本発明の第5の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、他ユーザから送信されたメッセージ及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、自ユーザと所定の関係がある他ユーザであるか否かによって互いに異なる機能を有する操作子として表示させる処理について説明する。
ユーザ情報記憶部141には、複数の他ユーザ(第2ユーザ)のユーザ情報が記憶されている。この記憶されている他ユーザのそれぞれは、自ユーザと所定の関係(例えば、友達関係)があるユーザとして登録されている。一方、ユーザ情報記憶部141に記憶されていない他ユーザは、所定の関係(例えば、友達関係)が無いユーザである。ところで、グループチャットのグループに属するユーザには、自ユーザと所定の関係があるユーザのみならず、自ユーザと所定の関係がないユーザも含まれる。例えば、自ユーザと所定の関係がないユーザであっても、グループに属する他ユーザのうちのいずれかがそのユーザと所定の関係がある場合には、当該グループに属することが可能である。
上記実施形態では、第1表示制御部154が、他ユーザから送信されたグループチャットによるメッセージ(第1メッセージ)及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、複数の他ユーザのいずれかをダイレクトチャットのチャット相手として選択可能な操作子(第1操作子)として表示させる処理を説明した。本実施形態では、第1表示制御部154が、他ユーザから送信されたメッセージ及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、自ユーザと所定の関係がある他ユーザであるか否かによって互いに異なる機能を有する操作子として表示させる。
例えば、第1表示制御部154は、自ユーザと所定の関係がある他ユーザから送信されたグループチャットによるメッセージ(第1メッセージ)及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、当該他ユーザをダイレクトチャットのチャット相手として選択可能な操作子(第1操作子)として表示させる。一方、第1表示制御部154は、自ユーザと所定の関係がない他ユーザから送信されたグループチャットによるメッセージ(第1メッセージ)及び当該メッセージに対応した他ユーザを示す情報のうちの少なくとも一方を、当該他ユーザを自ユーザと所定の関係があるユーザとして登録可能な操作子(第2操作子)として表示させる。
なお、第1表示制御部154は、自ユーザと所定の関係があるユーザとして登録可能な操作子(第2操作子)として、例えば、操作されたことに応じて、所定の関係があるユーザとして登録するか否か(例えば、「登録」又は「キャンセル」)を選択可能なポップアップ画面を表示部110に表示させてもよい。
ここで、第1表示制御部154は、メッセージ送受信部152が受信してメッセージ情報記憶部にしたメッセージ情報を参照して、メッセージ情報に含まれるユーザIDと、ユーザ情報記憶部141に記憶されている他ユーザのユーザIDとを照合する。そして、第1表示制御部154は、照合した結果、メッセージ情報に含まれるユーザIDが、ユーザ情報記憶部141に記憶されている他ユーザのユーザIDに含まれる場合には、自ユーザと所定の関係がある他ユーザのメッセージ情報であると判定して上述の表示処理を行う。一方、第1表示制御部154は、照合した結果、メッセージ情報に含まれるユーザIDが、ユーザ情報記憶部141に記憶されている他ユーザのユーザIDに含まれない場合には、自ユーザと所定の関係がない他ユーザのメッセージ情報であると判定して上述の表示処理を行う。
以上説明したように、第1表示制御部154は、複数の他ユーザ(第2ユーザ)のうち自ユーザ(第1ユーザ)と所定の関係があるユーザとして登録されている他ユーザに対応したグループチャットによるメッセージ(第1メッセージ)及び当該登録されている他ユーザを示す情報のうちの少なくとも一方を、複数の他ユーザ(第2ユーザ)のいずれかをダイレクトチャットのチャット相手(第3ユーザ)として選択可能な操作子(第1操作子)として表示部110に表示させる。
これにより、ユーザ端末100は、ユーザが、所定の関係(例えば、友達関係)にないユーザと、いきなりダイレクトチャットを開始してしまうことを防止することができる。
さらに、第1表示制御部154は、複数の他ユーザ(第2ユーザ)のうち自ユーザ(第1ユーザ)と所定の関係があるユーザとして登録されていない他ユーザに対応したグループチャットによるメッセージ(第1メッセージ)及び当該登録されていない他ユーザを示す情報のうちの少なくとも一方を、当該登録されていない他ユーザのいずれかを自ユーザと所定の関係があるユーザとして登録可能な操作子(第2操作子)として表示部110に表示させるようにしてもよい。
これにより、ユーザ端末100は、自ユーザと所定の関係(例えば、友達関係)にあるか否かによって、操作子の機能を切替えることができる。例えば、ユーザ端末100は、自ユーザと所定の関係にあるユーザである場合にはダイレクトチャットを開始するための操作子とし、自ユーザと所定の関係にないユーザである場合には所定の関係としての登録を誘導又は選択する操作子とすることができる。よって、ユーザ端末100は、ユーザが、所定の関係(例えば、友達関係)にないユーザと、いきなりダイレクトチャットを開始してしまうことを防止することができるとともに、所定の関係(例えば、友達関係)にないユーザとダイレクトチャットを望む場合には、所定の関係として登録する手続きに誘導できるようにする。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1から第4の実施形態において説明した各機能は、任意に組み合わせることができる。
なお、上述の実施形態では、メッセージ情報に含まれるメッセージに対応付ける送信日時情報として、他ユーザから送信されたメッセージである場合には、そのメッセージが送信された日時(実際には、そのメッセージをサーバ装置200が受信した日時)を示す情報とし、自ユーザが送信したメッセージである場合には、そのメッセージをサーバ装置200が受信した日時を示す情報とする例を示した。ただし、他ユーザから送信されたメッセージである場合に、そのメッセージが他ユーザのユーザ端末100において実際に送信された日時を示す情報をメッセージとともに受信して送信日時情報としてもよいし、そのメッセージがサーバ装置200から送信された日時をメッセージとともに受信して送信日時情報とすることもできる。
また、上述の実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明したが、操作受付部120と表示部110とが別に構成され、操作受付部120としてキーボードやボタンを適用してもよい。また、操作受付部120を、音声認識により操作入力可能な操作入力部として構成してもよい。また、上述の実施形態では、ユーザ端末100において表示部110が一体として構成された例を説明したが、これに限らず、外部の表示部(表示装置)と有線又は無線により接続される構成としてもよい。
また、上述の実施形態では、チャットアプリケーションにおける制御の例を示したが、上述したように、送信されたメッセージをグループ内のユーザに対して送信する電子メール、電子掲示板、タイムライン、ミニブログ(マイクロブログ、つぶやきブログ)等における制御にも上述の実施形態を適用することができる。ここで、電子メールとは、携帯電話等によるショートメッセージサービス等により送受信されるメールであってもよい。即ち、上述の実施形態で示したチャットシステム1に代えて、上述したチャット以外のメール送受信システムにも上述の実施形態を適用することができる。なお、ユーザ間で送受信されるメッセージの表示の即時性という観点では、チャットアプリケーションにおける制御がより好適である。
また、本発明の実施形態は、上述の例に限るものではなく、本発明の範囲内で様々な形態をとることができる。例えば、上述したチャットシステム1が備える各構成は、任意のコンピュータ装置に分散または集約して配置することができる。例えば、サーバ装置200は、クラウド環境やネットワーク環境、ユーザ数の規模、チャットシステム1を構成するために用意されたハードウェアの数やスペック等に応じて、任意のコンピュータ装置に分散または集約して配置することができる。
また、例えば、複数のユーザ端末100間で送受信されるメッセージの全てをサーバ装置200が記憶しておき、ユーザ端末100からの任意の要求に応じてメッセージを送信し、ユーザ端末100に表示させるようにしてもよい。
また、上述の実施形態では、複数のユーザ端末100はサーバ装置200を介してメッセージを送受信する例を示したが、サーバ装置200を介さずに、複数のユーザ端末100同士が直接メッセージを送受信してもよい。
なお、上述の制御部150の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の制御部150の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。