以下、本発明の一実施形態について、図面を参照して説明する。
<第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においては、グループ内の複数のユーザのユーザ端末100間でメッセージを送受信するとともに、その送受信されたメッセージを時系列に並べたメッセージ画面をユーザ端末100に表示する。これにより、チャットシステム1においては、複数のユーザ(チャット相手)が属するグループにおいてメッセージを送受信するチャット(グループチャット)を行うことができる。つまり、グループチャットに参加しているユーザが送信(投稿)したメッセージは、その送信時間(投稿時間)に基づいて時系列に並べられてメッセージ画面にて表示される。
ここで、本実施形態のチャットシステム1が解決する課題を明らかにするために、一般的なチャットアプリケーションにおけるグループチャットについて説明する。一般的なグループチャットでは、グループ内のユーザ(チャットメンバー)が任意のタイミングで自由にメッセージを送信できる。したがって、グループ内のユーザから送信されたメッセージに対する返答のメッセージ(返答メッセージ)を送信しようとしても、その返答メッセージを送信する前に、グループ内の他のユーザからメッセージが送信されてしまうと、その後に送信した返答メッセージがグループ内のいずれのユーザに対する返答なのかが分からなくなってしまうことがある。そこで、返答メッセージを作成する場合に、いずれのユーザのメッセージに対する返答であるかが分かるように、メッセージの文中(例えば、先頭)に「>○○さん」や「○○さんへ」という返答先をテキストで加える方法がある。また、メッセージ画面に表示される返答したい相手のメッセージの吹き出し、または当該メッセージのユーザ情報を選択(例えばタップ操作により選択)すると、メッセージとしてのテキストを入力する入力欄(テキストボックス)に自動的に「>○○さん」というテキストが入力されるようにすることも考えうる。
ところで、チャットアプリケーションを利用するためには、それを利用するユーザを示すユーザ情報(プロフィール情報)を登録する必要がある。このユーザ情報とは、「ユーザ名(名前)」や「プロフィール画像」等である。ここで、この「ユーザ名」は、ユーザを一意に識別する識別情報として利用されるものではなく、いわゆるスクリーンネーム(表示用の名前)として、表示されたメッセージの送信者を特定するために用いられるものである。この「ユーザ名」は、チャットアプリケーションの利用の途中でユーザ名を変更することも可能である。
しかしながら、この「ユーザ名」には、本人を特定しにくいようなニックネームが多く使用される。このようなニックネームが用いられると、他ユーザ(チャット相手)からはそのニックネームの相手がいずれのユーザであるかを特定しにくくなる。そこで、チャットアプリケーションにおいて、グループ内のそれぞれのユーザ自身がチャットアプリケーションを利用するために登録したユーザ名に代えて、ユーザ自身のユーザ端末において、チャット相手のユーザ名を独自に登録できる機能が搭載されているものがある。この機能により、チャット相手となるユーザ自信が登録したユーザ名が分かりにくい場合や、チャット相手となるユーザ自信が登録したユーザ名が途中で変更された場合であっても、独自に設定したユーザ名が優先されて表示されるため、チャット相手のユーザを特定しやすくなる。なお、ユーザが独自に登録したチャット相手のユーザ名は、他のユーザに対して分からないようになっている。また、独自のユーザ名が登録されていない場合には、チャット相手のユーザ自身が登録したユーザ名がそのまま用いられることになる。
このようにチャット相手のユーザ名を独自に登録できる機能を搭載したチャットアプリケーションでは、ユーザが独自に登録したチャット相手のユーザ名が優先されて用いられるため、チャット相手のユーザそれぞれのユーザ端末において表示されるメッセージ画面では、同一人が投稿(送信)したメッセージであっても、それぞれのメッセージ画面間で異なるユーザ名が表示されることになる。なお、この機能を搭載しないチャットアプリケーションでは、チャット相手のユーザそれぞれのメッセージ画面において、同一人が投稿したメッセージには同一のユーザ名が表示されることになる。
そこで、前述の返答メッセージを作成する場合では、いずれのユーザへの返答であるが分かるように、メッセージの文中に返答先としてのユーザ名をテキストで加える方法が有効ではあった。しかしながら、上述のチャット相手のユーザ名を独自に登録できる機能を搭載したチャットアプリケーションでは、独自に登録されたユーザ名が優先されて表示されるため、メッセージ画面において表示される、メッセージの文中に返答先として加えられたユーザ名と、独自に登録されたチャット相手のユーザ名とが異なり、ユーザ名の整合がとれなくなることがあるという課題が生じた。
そこで、上記課題を解決するために、本実施形態のチャットシステム1においては、ユーザ端末100は、次のように構成した。まず、ユーザ端末100は、他ユーザ(チャット相手)のユーザ名を独自に登録できる機能を搭載し、独自に登録した他ユーザ(チャット相手)のユーザ名を、その他ユーザ(チャット相手)のユーザを一意に識別する識別情報(ユーザID)と対応付けて登録するようにした。さらに、ユーザ端末100は、受信したメッセージ(返答メッセージ)に、そのメッセージの返答先となる返答先ユーザ(第3ユーザ)のユーザIDが対応付けられている場合、そのユーザIDに対応する独自に登録したユーザ名を返答先ユーザを示す情報としてメッセージ画面に表示するようにした。これにより、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。
ここで、図3から図5を参照して、まず、他ユーザ(チャット相手)のユーザ名を独自に登録できる機能について説明する。
図3は、他ユーザのユーザ名を独自に登録する前のメッセージ画面の一例を示す図である。符号110aは、メッセージ画面が表示されている領域の全体を示している。このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末100は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。
この図3では、ユーザAのユーザ端末100−1が表示するユーザAとユーザBとユーザCとによるチャット(グループチャット)のメッセージ画面の例を示している。チャットを行うユーザの単位をグループという。このメッセージ画面はユーザAとユーザBとユーザCとの3人が属するグループのチャットのメッセージ画面であり、自ユーザはユーザAであり、他ユーザ(チャット相手)はユーザB及びユーザCである。符号110bの領域には、グループチャットにおけるグループの名称が表示される。ここでは、ユーザAとユーザBとユーザCとの3人が属するグループの名称として「会社」が設定されているものとして、この設定されたグループの名称が表示されている例を示している。
符号110cの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて昇順(新しいメッセージが符号110cの領域の下側)に表示されるように表示コンポーネントが配置される。日付ラベルE1には、メッセージが送信された日付が表示される。同一の日付のメッセージが複数ある場合には、日付ラベルE1は、その複数のメッセージのうち、最も古い日時を示す送信日時情報が対応付けられたメッセージの上部に表示される。すなわちメッセージは日付毎に日付ラベルE1により区切られて表示される。アイコンE3は、他ユーザを示すアイコンである。このアイコンE3は、例えば他ユーザによって予め登録された画像(例えば、プロフィール画像)でもよいし、チャットシステム1が予め用意した画像でもよい。ユーザ名ラベルE4には、アイコンE3に対応するユーザのユーザ名が表示される。ここでは、ユーザBのユーザ端末100−2において登録されたユーザ名を「山田B男」とし、ユーザBのユーザ名が表示される。
吹き出しE5には、他ユーザ(ここではユーザB)から送信されたメッセージと送信時間(送信時刻)が表示される。この送信時間は、吹き出しE5に表示されたメッセージが他ユーザ(ここではユーザB)から送信された時刻であって、このメッセージに対応付けられた送信日時情報に基づく送信時間である。この図に示す例では、他ユーザ(ユーザB又はユーザC)のメッセージがメッセージ画面の左側からの吹き出しに表示される。自ユーザ(ユーザA)のメッセージはメッセージ画面の右側からの吹き出しに表示されるが、この図では省略する(メッセージ画面上に自ユーザのメッセージがない状態とする)。
図4は、他ユーザ(チャット相手)のユーザ名を独自に登録する方法を説明する図である。ここでは、登録手順にしたがってユーザAのユーザ端末100−1の表示部110に表示される画面を、符号ST1、符号ST2、符号ST3、符号ST4の順に示している。符号ST1に示す画面は、他ユーザ(ここでは、ユーザB)のユーザ情報(プロフィール情報)が表示される画面である。符号ST1に示す画面において、符号110aの画面領域のうちの符号110fの領域には、この画面がユーザ情報(プロフィール情報)を表示する画面であること示す名称(ここでは、「プロフィール」)と、「戻る」ボタンF1とが表示される。「戻る」ボタンF1は、ユーザの操作に応じて、一つ前に表示されていた画面に切替える(戻る)。符号110gの領域には、ユーザの操作に応じて選択されたユーザ(ここでは、ユーザB)のユーザ情報が表示されるように表示コンポーネントが配置される。アイコンF2は、ユーザB示すアイコン(例えばプロフィール画像)である。ユーザ名ラベルF3には、ユーザBのユーザ名が表示される。ここでは、ユーザBのユーザ端末100−2において登録されたユーザBのユーザ名である「山田B男」が表示される。以下の説明において、ユーザのユーザ端末100において登録されたそのユーザ自身のユーザ名を、「基本ユーザ名」とも称する。この符号ST1に示す画面において、アイコンF2又はユーザ名ラベルF3に対してタップ操作がされると、符号ST2に示すユーザ名を編集可能な画面に移行する。
符号ST2に示す画面において、符号110fの領域には、この画面がユーザ名を編集可能な画面であること示す名称(ここでは、「ユーザ名を編集」)と、「キャンセル」ボタンF4と、「完了」ボタンF5とが表示される。「キャンセル」ボタンF4は、ユーザの操作に応じて、ユーザ名の編集を行わずに符号ST1に示す画面に切替える(戻る)。「完了」ボタンF5は、ユーザの操作に応じて、ユーザ名の編集を完了して、符号ST1に示す画面に切替える(戻る)。符号110hの領域には、ユーザ名としてのテキストを入力するテキストボックスF6が表示される。テキストボックスF6には、現在登録されているユーザBの基本ユーザ名(「山田B男」)が入力されている。また、符号110kの領域には、テキストボックスF6に対してテキストの入力又は修正を行うためのソフトウェアキーボードF7が表示される。この符号ST2に示す画面において、ソフトウェアキーボードF7に対する操作に応じてテキストボックスF6に入力されているユーザ名としてのテキストが編集されると、符号ST3に示す画面となる。
符号ST3に示す画面は、テキストボックスF6に入力されているユーザ名としてのテキストのみが符号ST2に示す画面と異なる。ここでは、テキストボックスF6には、ソフトウェアキーボードF7に対する操作に応じて編集されたユーザ名(「会社の上司」)が表示される。ここで、符号ST2に示す画面において編集されたユーザ名(「会社の上司」)とは、即ち、このユーザAのユーザ端末100−1において独自に登録したユーザBのユーザ名である。以下の説明において、ユーザのユーザ端末100において独自に登録された他ユーザのユーザ名を、「固有ユーザ名」とも称する。この符号ST3に示す画面において、「完了」ボタンF5に対してタップ操作がされると、ユーザ名の編集が完了され、符号ST4に示す画面に移行する。
符号ST4に示す画面は、ユーザ名ラベルF3に表示されているユーザ名のみが符号ST1に示す画面と異なる。つまり、符号ST1に示す画面では、ユーザ名ラベルF3には、ユーザBの基本ユーザ名(「山田B男」)が表示されていたが、編集後の符号ST4に示す画面では、ユーザ名ラベルF3には、ユーザBの固有ユーザ名(「会社の上司」)が表示される。このように、ユーザ端末100において、チャット相手のユーザ名を固有ユーザ名として独自に登録することができる。ユーザ端末100において、この固有ユーザ名が登録された場合には、基本ユーザ名に代えて固有ユーザ名が用いられる。
図5は、他ユーザのユーザ名を独自に登録した後のメッセージ画面の一例を示す図である。この図5において、図3に示す各部に対応する部分には同じ符号を付けておりその説明を適宜省略する。図3では、ユーザ名ラベルE4には、ユーザBの基本ユーザ名(「山田B男」)が表示されたが、図5では、ユーザAのユーザ端末100−1において独自に登録されたユーザBの固有ユーザ名(「会社の上司」)が表示される。
このように、本実施形態のチャットシステム1においては、ユーザ端末100は、メッセージに対応付けて表示されるユーザ名(そのメッセージを送信した他ユーザのユーザ名)を、独自に登録した固有ユーザ名で表示することができる。この固有ユーザ名は、登録したユーザ本人のユーザ端末100において利用されるものであり、他ユーザには知られないユーザ名である。そのため、仮に、ユーザが、返答先ユーザのユーザ名(以下、返答先ユーザ名とも称する)としての固有ユーザ名を含むメッセージを送信した場合、そのメッセージを受信した他ユーザのユーザ端末100には、受信した他ユーザにとって知らない返答先ユーザ名が表示される。そこで、本実施形態のチャットシステム1においては、ユーザ端末100は、返答先ユーザ名に代えて、返答先ユーザID(以下、返答先ユーザIDとも称する)をメッセージに対応付けて送付する。また、ユーザ端末100は、受信したメッセージに返答先ユーザIDが対応付けられている場合、そのメッセージを受信したユーザ端末100において登録された固有ユーザ名のうち、当該返答先ユーザIDに対応する固有ユーザ名を当該メッセージに対応付けてメッセージ画面に表示する。これにより、ユーザ端末100は、メッセージ画面に表示する、メッセージを送信した他ユーザのユーザ名と、返答先ユーザ名との整合を取ることができる。
以下、本実施形態によるチャットシステム1の構成について詳しく説明する。
まず、図6を参照して、ユーザ端末100の構成について説明する。図6は、本実施形態によるユーザ端末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は、チャットを行うユーザに関するユーザ情報を記憶する。図7及び図8は、ユーザ情報記憶部141に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザIDと、ユーザ名と、を対応付けた情報が含まれる。ユーザIDは、ユーザを識別する情報である。ユーザ名は、そのユーザの名称である。また、この図においては図示していないが、ユーザ情報には、さらにユーザ画像がユーザIDと、ユーザ名と、対応付けられて記憶されてもよい。ユーザ画像とは、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザIDと、ユーザ名と、対応付けられており、ユーザ情報記憶部141は、上述の対応付けしたユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。なお、このユーザ画像としては、ユーザによって任意に登録された画像を適用できるが、未登録の場合には予め設定されている共通の画像が適用される。
ここで、図7に示すユーザ情報は、自ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されているユーザAのユーザ情報の例である。また、図8に示すユーザ情報は、チャット相手として登録可能な他ユーザのユーザ情報の例であって、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報(ユーザBのユーザ情報及びユーザCのユーザ情報を含むユーザ情報)の例である。この図8に示す他ユーザのユーザ情報に含まれるユーザ名には、基本ユーザ名と固有ユーザ名とが含まれる。基本ユーザ名は、他ユーザそれぞれのユーザ端末100−Nでそのユーザ自身で登録したものである。この図8に示す、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザIDと基本ユーザ名とは、チャット相手として登録可能なユーザ関係になるとき、又は、チャット相手として登録されたときに、他ユーザそれぞれのユーザ端末100−Nから取得して記憶される。この図では、ユーザBの基本ユーザ名として「山田B男」が記憶され、ユーザCの基本ユーザ名として「高橋C子」が記憶されている。一方、固有ユーザ名は、ユーザAのユーザ端末100−1において、ユーザAが独自に登録した他ユーザのユーザ名(ユーザBのユーザ名及びユーザCのユーザ名を含むユーザ名)である。この図では、ユーザBの固有ユーザ名として「会社の上司」が記憶され、ユーザCの固有ユーザ名として「会社の部下」が記憶されている。
グループ情報記憶部142は、チャットを行うユーザのグループに関する情報を記憶する。図9は、グループ情報記憶部142に記憶されるグループ情報の例を示す図である。ひとつのグループには2以上のユーザが属する。例えば、ユーザAとユーザBとがチャットを行う場合、ユーザAとユーザBとが属するグループに関するグループ情報がグループ情報記憶部142に記憶される。グループ情報には、グループIDと、グループ名と、ユーザIDとを対応付けた情報が含まれる。グループIDは、サーバ装置200で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが形成された場合に自動的に付与され、事後的にユーザにより設定できるようになっている。ユーザIDは、そのグループに属するユーザを識別する情報である。ここでは、例えば、グループIDが「G1」であるグループの名称はユーザにより「会社」として設定されている。このグループに属するユーザが「ユーザA」と「ユーザB」と「ユーザC」との3ユーザであることが示されている。また、グループIDが「G2」であるグループの名称はユーザにより設定されていない。G2グループのように2人が属するチャット(1対1チャット)では、ユーザ情報記憶部141を参照して、チャット相手のユーザ名(ここでは「山田B男」)がグループの名称として自動的に設定される。G1グループには「ユーザA」と「ユーザB」との2ユーザが属することが示されている。
メッセージ情報記憶部143は、自ユーザが属するグループにおいて送受信されたメッセージに関するメッセージ情報、または、ユーザ端末100から下書きメッセージとして入力されたメッセージに関するメッセージ情報を記憶する。メッセージ情報には、グループIDと、ユーザIDと、送信日時情報と、メッセージと、を対応付けた情報が含まれる。グループIDは、メッセージが送受信されたグループを識別する情報である。ユーザIDは、メッセージを入力したユーザを識別する情報である。送信日時情報は、メッセージが送信された日時を示す情報である。本実施形態では、ユーザ端末100の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末100から送信されたメッセージをサーバ装置200で受信した受信時間を当該メッセージが送信された日時を示す送信日時情報としている。ここで、送信日時情報には、年、月、日、時、分、秒(YYYY/MM/DD HH:MM:SS)の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージまたは自ユーザが入力した下書きメッセージを示す文字列(テキスト)である。
図6に戻り、画面情報記憶部144は、上述したような複数のメッセージを時系列に並べて表示するメッセージ画面の画面情報を一時的に記憶する。
制御部150は、ユーザ端末100の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、ユーザ端末100が備える各部を制御する。制御部150は、メッセージ送信指示部151と、メッセージ送信部152と、メッセージ受信部153と、取得部155と、登録部156と、管理部157と、表示制御部158とを備えている。
メッセージ送信指示部151は、操作受付部120に対するユーザの操作に応じて操作受付部120により生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。具体的には、メッセージ送信指示部151は、メッセージ画面において、ユーザによりメッセージが入力されてその入力されたメッセージを送信する操作がされると、入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループIDと、メッセージを入力したユーザである自ユーザを識別するユーザIDと、を対応付けたメッセージ情報を含む送信指示情報を生成する。また、上述の送信するメッセージに対してユーザにより返答先ユーザを選択する操作がされた場合には、メッセージ送信指示部151は、入力されたメッセージに、さらに、返答先ユーザを識別するユーザIDを対応付けたメッセージ情報を含む送信指示情報を生成する。
メッセージ送信部152は、メッセージ送信指示部151が、操作受付部120に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループIDをグループ情報記憶部142から読み出す。そして、メッセージ送信部152は、読み出したグループIDを宛先として、メッセージ送信指示部151によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置200に送信する。具体的には、メッセージ送信部152は、入力されたメッセージを、グループIDとユーザID(自ユーザ)と対応付けて送信する。また、返答先ユーザ(第3ユーザ)が選択された場合には、メッセージ送信部152は、入力されたメッセージを、グループIDとユーザID(自ユーザ)と対応付けるとともに、さらに返答先ユーザIDと対応付けて送信する。即ち、メッセージ送信部152は、返答先ユーザを示す情報をテキストとしてメッセージに含めて送信するのではなく、メッセージに返答先ユーザIDを対応付けて送信する。このとき、メッセージ送信部152は、メッセージ情報に含まれるグループID、ユーザID(自ユーザ)、及びメッセージ、又は返答先ユーザIDを、新たなレコードとしてメッセージ情報記憶部143に記憶させる。なお、送信日時情報は、サーバ装置200から受信完了通知と共に取得した受信日時情報を送信日時情報として、対応するメッセージのレコードの送信日時情報を更新する。
メッセージ受信部153は、他ユーザのユーザ端末100から送信されたメッセージ情報を受信する。具体的には、メッセージ受信部153は、他のユーザ端末100から、自ユーザが属するグループのグループIDを宛先として送信されたメッセージ情報を、サーバ装置200から受信し、メッセージ情報に含まれるグループID、ユーザID(他ユーザ)、送信日時情報、及びメッセージ、又は返答先ユーザIDを、新たなレコードとしてメッセージ情報記憶部143に記憶させる。
取得部155は、複数の他ユーザ(第2ユーザ)のそれぞれが設定した、他ユーザを示す情報としての基本ユーザ名(第2の第2ユーザ情報)を、それぞれの他ユーザのユーザIDと対応付けて取得する。ここで、取得部155は、例えば、他ユーザがチャット相手としてグループに登録可能なユーザ関係になるとき、又は、チャット相手としてグループに登録されたとき等に、他ユーザそれぞれのユーザ端末100から他ユーザのユーザIDと基本ユーザ名とを取得する。また、取得部155は、取得した他ユーザのユーザIDと基本ユーザ名とを対応付けて、管理部157を介してユーザ情報記憶部141に記憶させる。ここでは、取得部155は、図8に示すように、取得したユーザBの基本ユーザ名である「山田B男」と、取得したユーザCの基本ユーザ名である「高橋C子」とを、ユーザ情報記憶部141に記憶させる。
登録部156は、他ユーザ(第2ユーザ)を示す情報としての固有ユーザ名(第1の第2ユーザ情報)を、他ユーザのユーザIDと対応付けて登録する。例えば、登録部156は、自ユーザ(第1ユーザ)が入力した情報に基づいて、固有ユーザ名(第1の第2ユーザ情報)を登録する。ここで、自ユーザが入力した情報とは、自ユーザのユーザ端末100において、自ユーザが独自に入力した他ユーザのユーザ名を示す情報である。例えば、図4を用いて説明した操作手順に従った操作に応じて、登録部156は、他ユーザの固有ユーザ名を登録する。また、登録部156は、登録する他ユーザのユーザIDと固有ユーザ名とを対応付けて、管理部157を介してユーザ情報記憶部141に記憶させる。ここでは、登録部156は、図8に示すように、ユーザBの固有ユーザ名を「会社の上司」とし、ユーザCの固有ユーザ名を「会社の部下」として、ユーザ情報記憶部141に記憶させる。
管理部157は、登録部156が登録した他ユーザの固有ユーザ名(第1の第2ユーザ情報)と、取得部155が取得した他ユーザの基本ユーザ名(第2の第2ユーザ情報)とを、他ユーザのユーザIDに対応付けて管理する。具体的には、他ユーザの固有ユーザ名と他ユーザの基本ユーザ名とを他ユーザのユーザIDに対応付けてユーザ情報記憶部141に記憶させて管理する。
なお、この管理部157は、ユーザ情報記憶部141として構成されてもよい。その場合、ユーザ情報記憶部141が、管理部157として、他ユーザの固有ユーザ名と他ユーザの基本ユーザ名とを他ユーザのユーザIDに対応付けて管理してもよい。また、このユーザ情報記憶部141がユーザ端末100とネットワーク5を介して接続される外部の記憶装置(例えば、チャットサーバやクラウドサーバ)に備えられた構成としてもよい。その場合、管理部157は、外部の記憶装置が備えるユーザ情報記憶部141に対して、他ユーザの固有ユーザ名と他ユーザの基本ユーザ名とを他ユーザのユーザIDに対応付けて記憶させて管理してもよい。
表示制御部158は、自ユーザ(第1ユーザ)の操作に応じてユーザ端末100(自装置)から送信するメッセージ(第1メッセージ)と、一又は複数の他ユーザ(第2ユーザ)の操作に応じて他のユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)とを、時系列に並べて表示部110に表示させる。また、表示制御部158は、他のユーザ端末100(他装置)から送信されたメッセージに対しては当該メッセージを送信した他ユーザを示す情報を対応付けて表示させる(図5参照)。具体的には、表示制御部158は、メッセージ情報記憶部143に記憶されている複数のメッセージ情報を読み出し、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた日時情報に基づいて時系列に並べたメッセージ画面の画面情報を生成して画面情報記憶部144に記憶させる。そして、表示制御部158は、生成した画面情報のうちの一部を表示部110に表示させる。
また、表示制御部158は、他のユーザ端末100(他装置)から送信されたメッセージ情報に含まれるメッセージに対しては、当該メッセージに対応付けられたユーザID(他ユーザ)に基づいて、ユーザ情報記憶部141に記憶されている、当該ユーザIDに対応付けられた他ユーザの固有ユーザ名(例えば、図5のユーザ名ラベルE4参照)やプロフィール画像を対応付けて表示させる。
ここで、メッセージ送信部152が送信するメッセージに、返答相手として選択された返答先ユーザ(第3ユーザ)のユーザIDが対応付けられているとする。この場合、表示制御部158は、当該ユーザIDに対応した固有ユーザ名(第1の第2ユーザ情報)を、返答先ユーザを示す情報として、当該送信するメッセージに対応付けて表示部110に表示させる。また、メッセージ受信部153が受信したメッセージ(他のユーザ端末100(他装置)から送信されたメッセージ)に、グループに登録されている複数の他ユーザ(第2ユーザ)のうち、返答相手として選択された返答先ユーザ(第3ユーザ)のユーザIDが対応付けられているとする。この場合、表示制御部158は、当該ユーザIDに対応した固有ユーザ名(第1の第2ユーザ情報)を、返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。このような固有ユーザ名を返答先ユーザを示す情報としてメッセージ画面に表示する表示例については、図11から図13を用いて後述する。
なお、表示制御部158は、固有ユーザ名を返答先ユーザを示す情報としてメッセージに対応付けて表示部110に表示させた後に、自ユーザ(第1ユーザ)の操作に応じて登録部156により固有ユーザ名が変更された場合には、表示させる返答先ユーザを示す情報を変更後の固有ユーザ名に置き換える。
ここで、表示制御部158は、生成した画面情報のうちの一部を表示部110に表示させる。例えば、表示制御部158は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部110に表示させる。初期段階で表示部110に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい送信日時情報が対応付けられたメッセージ(最新のメッセージ)が含まれる箇所とすることができる。
なお、上述の複数のメッセージ情報には、互いに同じ送信日時情報が対応付けられたメッセージ情報(即ち、互いに同じ送信日時のメッセージ情報)が含まれていてもよい。この場合、表示制御部158は、互いに同じ送信日時情報が対応付けられているメッセージ情報のそれぞれを、例えば、メッセージ情報記憶部143に記憶された順にしたがって、時系列にメッセージ画面に表示させてもよい。なお、メッセージ受信部153が、互いに同じ送信日時情報が対応付けられたメッセージ情報を受信した場合に、一方の送信日時情報の時刻(例えば、秒数)をカウントアップさせて、互いに異なる送信日時情報として記憶させてもよい。
また、上述の複数のメッセージ情報において、上述の複数のメッセージ情報には、互いに同じ送信日時情報が対応付けられたメッセージ情報が含まれないように構成してもよい。この場合、サーバ装置200は、メッセージ情報に互いに同じ送信日時情報を対応付けることを禁止し、メッセージ情報毎に異なる送信日時情報を対応付けるようにしてもよい。具体的には、サーバ装置200は、互いに同じ送信日時情報となるようなメッセージ情報を受信した場合には、一方の送信日時情報の時刻(例えば、秒数)をカウントアップさせてもよい。
次に、図10を参照して、サーバ装置200の構成について説明する。図10は、本実施形態によるサーバ装置200の構成を示す概略ブロック図である。
サーバ装置200は、サーバ通信部230と、サーバ記憶部240と、サーバ制御部250と、を備えている。サーバ通信部230は、ネットワーク5を介して複数のユーザ端末100―Nと通信する。
サーバ記憶部240は、ユーザ端末100が備えるユーザ情報記憶部141とグループ情報記憶部142と同様の情報を記憶するユーザ情報記憶部241とグループ情報記憶部242とを備えている。但し、固有ユーザ名はユーザ端末100において、独自に登録されて記憶されるものであって、ユーザ情報記憶部241に記憶されなくともよい(記憶されたとしても、他のユーザ端末100に対しては通知されず、利用もできない)。
なお、ユーザ端末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において、返答先ユーザを選択してメッセージを送信する処理と、メッセージに返答先ユーザを示す情報(ユーザ名)を対応付けて表示する処理とについて、詳しく説明する。
図11は、返答先ユーザを選択してメッセージを送信する際のメッセージ画面の表示例を示す図である。この図11において、図5に示す各部に対応する部分には同じ符号を付けておりその説明を適宜省略する。
この図11では、ユーザAのユーザ端末110−1の表示部110に表示されるメッセージ画面の一例を示している。符号110cの領域には、ユーザBのユーザ端末100−2から送信されたメッセージと、ユーザCのユーザ端末100−3から送信されたメッセージとが、送信日時情報に基づいて時系列に並べて表示されている。ここでは、図5と同様に、ユーザBから送信されたメッセージと送信日時とが表示された吹き出しE5(左側からの吹き出し)に、ユーザBの固有ユーザ名が表示されたユーザ名ラベルE4と、ユーザBを示すアイコンE3とが対応付けられて表示されている。また、吹き出しE5の下には、ユーザCから送信されたメッセージと送信日時とが表示された吹き出しE8(左側からの吹き出し)が表示されている。また、吹き出しE8に対応付けられてユーザCの固有ユーザ名が表示されたユーザ名ラベルE7と、ユーザCを示すアイコンE6とが表示されている。
つまり、表示制御部158は、ユーザ情報記憶部141に記憶されているユーザ情報(図8参照)を参照して、受信したメッセージ情報に含まれるメッセージを、そのメッセージ情報に含まれるユーザID(他ユーザ)に対応付けられた固有ユーザ名とユーザ画像とを対応付けて時系列に並べて表示部110に表示させる。ここで、表示制御部158は、受信したメッセージ情報に含まれるメッセージを、そのメッセージ情報に含まれる送信日時情報に基づいて、時系列に並べて表示部110に表示させる。
符号110dの領域には、他のユーザ端末100にメッセージを送信するための表示コンポーネントが配置される。ここでは、グループ内のユーザのうち、返答先ユーザを選択してメッセージを送信する場合の表示コンポーネントが配置されている。なお、この符号110dの領域の表示コンポーネントは、例えば、メッセージ画面において返答先ユーザを選択する操作がされたことに応じて表示される。返答先ユーザを選択する操作とは、例えば、アイコンE3或いは吹き出しE5、又は、アイコンE6或いは吹き出しE8に対するタップ操作である。ここでは、アイコンE6或いは吹き出しE8に対するタップ操作がされたことにより、ユーザBが返答先ユーザとして選択されたものとして説明する。
なお、返答先ユーザ(第3ユーザ)とは、メッセージの内容に対して返答するメッセージの返答相手として選択されるユーザのみでなく、単に、送信するメッセージの内容を見て貰いたい相手として選択されるユーザであってもよい。
アイコンE31は、返答先ユーザ(ここではユーザB)を示すアイコンである。ユーザ名ラベルE32には、自ユーザ(ユーザA)の操作に応じて選択された送信先ユーザのユーザ名が表示される。ここでは、ユーザ名ラベルE32には、ユーザBの固有ユーザ名(「会社の上司」)が表示される。テキストボックスE33には、自ユーザ(ユーザA)から入力されるメッセージとしてのテキストが表示される。ここで、テキストボックスE33に入力されるテキストには、文字、記号、絵文字、等が含まれる。送信ボタンE34は、テキストボックスE33に入力されたメッセージをグループ内の他のユーザに(グループIDを送信先として)送信するための操作子である。また、符号110dの領域には、テキストボックスE33に対してテキストの入力又は修正を行うためのソフトウェアキーボードE35が表示される。つまり、操作受付部120は、この図11に示すメッセージ画面に対する操作に応じて、グループ内の複数の他ユーザの中から返答先ユーザを選択する指示と、自ユーザ(ユーザA)がユーザ端末100−1から送信するメッセージを入力する指示とを受け付ける。即ち、操作受付部120は、グループ内の複数の他ユーザの中から返答先ユーザを選択可能に、自ユーザ(ユーザA)がユーザ端末100−1から送信するメッセージを入力する入力部である。
なお、この符号110dの領域には、返答先ユーザを選択しないでメッセージを送信する場合(グループを宛先としてメッセージを送信する場合)の表示コンポーネントも配置される。この場合には、返答先ユーザを示すアイコンE31及びユーザ名ラベルE32が表示されずに、テキストボックスE33、送信ボタンE34、及びソフトウェアキーボードE35が表示される。
図12は、返答先ユーザを選択して送信するメッセージが表示されたメッセージ画面の一例を示す図である。この図12において、図11に示す各部に対応する部分には同じ符号を付けておりその説明を適宜省略する。この図12は、図11に示すメッセージ画面において、ユーザBを返答先ユーザとして選択してメッセージを送信した場合に、送信したユーザ(ユーザA)のユーザ端末100−1の表示部110に表示されるメッセージ画面の一例を示している。
符号110cの領域には、吹き出しE8の下に、ユーザ端末100−1からユーザBを返答先ユーザとして送信するメッセージが表示される。ここで、このメッセージは、自ユーザが送信するメッセージであるため右側からの吹き出しE9に表示される。吹き出しE9には、ユーザBを返答先ユーザとして送信するメッセージが表示される。なお、ユーザ端末100がサーバ装置200からこのメッセージの受信完了通知と送信時間とを受信したときに、吹き出しE9に送信時間の表示が追加される。また、吹き出しE9に対応付けてアイコンE10と返答先ユーザ名ラベルE11とが表示される。アイコンE10は、返答先ユーザを示すアイコン(例えば、ユーザBのプロフィール画像)である。返答先ユーザ名ラベルE11には、返信を意味する情報(ここでは、「RE:」)と、返答先ユーザ名(ここでは、ユーザBの固有ユーザ名「会社の上司」)とが表示される。
つまり、表示制御部158は、ユーザ情報記憶部141に記憶されているユーザ情報(図8参照)を参照して、送信するメッセージ情報に含まれるメッセージを時系列に並べて表示部110に表示させる場合、そのメッセージ情報に含まれる返答先ユーザID(他ユーザ)に対応付けられた固有ユーザ名とユーザ画像とを返答先ユーザを示す情報として対応付けて表示させる。ここで、表示制御部158は、送信するメッセージ情報に含まれるメッセージを、そのメッセージ情報に含まれる送信日時情報に基づいて、時系列に並べて表示部110に表示させる。
このように、自ユーザ(ユーザA)がユーザ端末100−1から返答先ユーザを選択して送信するメッセージは、返答先ユーザの固有ユーザ名が返答先ユーザを示す情報として対応付けられて表示部110に表示される。よって、ユーザは、ユーザ自身が送信するメッセージに返答先ユーザ名として固有ユーザ名が対応付けられて表示されるため、その送信するメッセージがいずれのユーザに対して返答したメッセージであるかを容易に判別することができる。
次に、図13及び図14を参照して、ユーザAが返答先ユーザを選択して送信したメッセージを、他ユーザのユーザ端末100が受信した場合のメッセージ画面について説明する。ここでは、ユーザCのユーザ端末100−3の表示部110に表示されるメッセージ画面を例に説明する。
図13は、ユーザCのユーザ端末100−3のユーザ情報記憶部141に記憶されているユーザ情報の一例を示す図である。この図13に示すユーザ情報は、図8に示すユーザAのユーザ端末100−1に記憶されているユーザ情報に対応するユーザ情報であって、ユーザCのユーザ端末100−3に記憶されているユーザ情報である。この図13に示すユーザ情報には、ユーザCにとって他ユーザとなるユーザA及びユーザBのユーザ情報が含まれる。ここでは、ユーザAの基本ユーザ名として「田中A太」が記憶され、ユーザBの基本ユーザ名として「山田B男」が記憶されている。前述したように、これらの基本ユーザ名は、各ユーザのユーザ端末100において登録された各ユーザ自身のユーザ名である。一方、固有ユーザ名は、ユーザCのユーザ端末100−3において、ユーザCが独自に登録した他ユーザのユーザ名(ユーザAのユーザ名及びユーザBのユーザ名を含むユーザ名)である。ここでは、ユーザAの固有ユーザ名として「田中さん」が記憶され、ユーザBの固有ユーザ名として「山田さん」が記憶されている。
図14は、返答先ユーザが選択されたメッセージを受信した場合のメッセージ画面の一例を示す図である。この図は、ユーザCのユーザ端末100−3の表示部110に表示されるメッセージ画面の一例である。図12に示すユーザAのユーザ端末100−1の表示部110に表示されるメッセージ画面と同様に、符号110aはメッセージ画面が表示されている領域の全体を示し、符号110bの領域にはグループの名称が表示される。また、同様に、符号110cの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて昇順(新しいメッセージが符号110cの領域の下側)に表示されるように表示コンポーネントが配置される。グループ内で送受信されるメッセージは、図12に示す例と同様である。即ち、この図13においては、図12に示すメッセージ画面に表示されているメッセージのそれぞれが、ユーザCにとって他ユーザのメッセージとなるものは左側からの吹き出しに表示され、自ユーザのメッセージとなるものは右側からの吹き出しに表示される。
ユーザBから送信されたメッセージと送信日時が表示された吹き出しE17(左側からの吹き出し)に、ユーザBの固有ユーザ名(ここでは「山田さん」)が表示されたユーザ名ラベルE16と、ユーザBを示すアイコンE15とが対応付けられて表示されている。また、吹き出しE17の下には、自ユーザであるユーザCが送信したメッセージと送信日時が表示された吹き出しE18(右側からの吹き出し)が表示されている。
さらに、吹き出しE18の下には、ユーザBを返答先ユーザとしてユーザ端末100−1(ユーザA)から送信されたメッセージが表示される。ここでは、このメッセージは、他ユーザ(ユーザA)が送信したメッセージであるため左側からの吹き出しE22に表示される。吹き出しE22には、ユーザBを返答先ユーザとして送信されたメッセージと、送信時間とが表示される。また、吹き出しE22に対応付けて返答先ユーザ名ラベルE21と、ユーザ名ラベルE20と、アイコンE19とが表示される。返答先ユーザ名ラベルE21には、返信を意味する情報(ここでは、「RE:」)と、返答先ユーザ名(ここでは、ユーザBの固有ユーザ名「山田さん」)とが表示される。ユーザ名ラベルE20には、ユーザAの固有ユーザ名(ここでは「田中さん」)が表示される。アイコンE19は、このメッセージを送信したユーザAを示すアイコン(例えば、ユーザAのプロフィール画像)である。
なお、吹き出しE22に対応付けて、返答先ユーザを示すアイコン(例えば、ユーザBのプロフィール画像)が表示される構成としてもよい。
このように、他ユーザ(ここではユーザA)がユーザ端末100−1から返答先ユーザを選択して送信したメッセージを受信したユーザ(ここではユーザC)のユーザ端末100−3において、返答先ユーザの固有ユーザ名が返答先ユーザを示す情報として対応付けられて表示部110に表示される。よって、ユーザは、他ユーザから受信したメッセージに返答先ユーザ名として固有ユーザ名が対応付けられて表示されるため、その送信するメッセージがいずれのユーザに対して返答されたメッセージであるかを容易に判別することができる。
次に、図面を参照して、本実施形態によるチャットシステム1の動作例を説明する。
(表示処理の動作の説明)
まず、図15を参照して、受信したメッセージに返答先ユーザIDが対応付けられているか否かに応じて、メッセージに対応付けて返答先ユーザを示す情報を表示する処理の動作を説明する。図15は、ユーザ端末100が受信したメッセージを表示する表示処理の一例を示すフローチャートである。
メッセージ受信部153は、他ユーザのユーザ端末100から送信されたメッセージ情報を、ネットワーク5を介してサーバ装置200から受信する。そして、メッセージ受信部153は、サーバ装置200から受信したメッセージ情報を、新たなレコードとしてメッセージ情報記憶部143に記憶させる(ステップS210)。
次に、表示制御部158は、メッセージ情報記憶部143に記憶されたメッセージ情報に、返答先ユーザIDが含まれているか否かを判定する。例えば、表示制御部158は、メッセージ情報記憶部143に記憶されたメッセージ情報を表示部110に時系列に並べて表示させる際に、メッセージ情報記憶部143から読み出したメッセージ情報それぞれに返答先ユーザIDが含まれているか否かを判定する(ステップS220)。
ステップS220において、返答先ユーザIDが含まれていると判定された場合(ステップS220:YES)、表示制御部158は、そのメッセージ情報に含まれている返答先ユーザIDに対応付けられた固有ユーザ名をユーザ情報記憶部141から読み出して、読み出した固有ユーザ名を返答先ユーザ名として表示部110に表示させる。ここで、表示制御部158は、メッセージ画面において、当該メッセージ情報に含まれるメッセージを表示させる位置に対応付けられた所定の位置に、この返答先ユーザ名を表示させる(ステップS230)。一方、ステップS220において、返答先ユーザIDが含まれていないと判定された場合(ステップS220:NO)、表示制御部158は、ステップS230の処理を行わずに、ステップS240に処理を進める。
続いて、表示制御部158は、ステップS210においてメッセージ情報記憶部143から読み出したメッセージ情報それぞれに含まれるメッセージを、当該メッセージ情報それぞれに含まれる送信日時情報に基づいて時系列に並べて表示部110に表示させる(ステップS240)。
なお、図15を用いて、受信したメッセージに対応付けて返答先ユーザを示す情報を表示する処理について説明したが、送信するメッセージに対応付けて返答先ユーザを示す情報を表示する処理も同様に行われる。例えば、表示制御部158は、送信するメッセージのメッセージ情報に返答先ユーザIDが含まれているか否かを判定し、返答先ユーザIDが含まれているメッセージには返答先ユーザIDに対応する固有ユーザ名を対応付けて表示部110に表示させる。
(送信処理の動作の説明)
次に、図16を参照して、返答先ユーザが選択されたか否かに応じて、メッセージに返答先ユーザIDを対応付けて送信する処理の動作を説明する。図16は、ユーザ端末100がメッセージを送信する送信処理の一例を示すフローチャートである。
まず、ユーザは、表示部110に表示されるメッセージ画面に対する操作により、送信するメッセージとしてのテキストを入力する(ステップS310)。操作受付部120は、ユーザからの操作に応じてメッセージを入力する指示を受け付ける。このとき、ユーザが返答先ユーザを選択してメッセージを入力する操作を行ったとする。その場合には、操作受付部120は、例えば、前述の図11に示すメッセージ画面に対する操作に応じて、返答先ユーザを選択する指示と、送信するメッセージを入力する指示とを受け付ける。また、操作受付部120は、受け付けた指示内容に応じた入力指示を生成する。
次に、メッセージ送信指示部151は、操作受付部120に対するユーザの操作に応じて操作受付部120により生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。ここで、メッセージ送信指示部151は、操作受付部120により生成された入力指示に基づいて、入力されたメッセージが、返答先ユーザが選択されたメッセージであるか否かを判定する(ステップS320)。ステップS320において、返答先ユーザが選択されたメッセージであると判定された場合(ステップS320:YES)、メッセージ送信指示部151は、選択された返答先ユーザIDを入力されたメッセージに対応付けたメッセージ情報を含む送信指示情報を生成する(ステップS330)。一方、ステップS320において、返答先ユーザが選択されていないメッセージであると判定された場合(ステップS320:NO)、メッセージ送信指示部151は、返答先ユーザIDを含めない(無効データとした)メッセージ情報を含む送信指示情報を生成する。
続いて、メッセージ送信部152は、メッセージ送信指示部151が、操作受付部120に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループIDをグループ情報記憶部142から読み出す。そして、メッセージ送信部152は、読み出したグループIDを宛先として、メッセージ送信指示部151によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置200に送信する。このとき、メッセージ送信部152は、メッセージ情報に含まれるグループID、ユーザID(自ユーザ)、及びメッセージ、又は返答先ユーザIDを、新たなレコードとしてメッセージ情報記憶部143に記憶させる(ステップS340)。
以上説明してきたように、本実施形態によるユーザ端末100は、ユーザ端末100(自装置)を利用する自ユーザ(第1ユーザ)と、他のユーザ端末100(他装置)を利用する複数の他ユーザ(第2ユーザ)とが登録されたグループにおいて送信されたメッセージを時系列に表示部110に表示させるとともに、他のユーザ端末100(他装置)から送信されたメッセージに対しては当該メッセージを送信した他ユーザを示す情報を対応付けて表示させる表示制御部158を備えている。また、ユーザ端末100は、他ユーザを示す情報としての固有ユーザ名(第1の第2ユーザ情報)を、他ユーザを一意に識別する識別情報(他ユーザのユーザID)と対応付けて登録する登録部156と、他のユーザ端末100(他装置)から送信されたメッセージを受信するメッセージ受信部153と、を備えている。そして、メッセージ受信部153が受信したメッセージに、上記グループに登録されている複数の他ユーザのうち、返答相手として選択された返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられているとする。この場合、表示制御部158は、登録部156が登録した固有ユーザ名のうち、当該識別情報(返答先ユーザID)に対応した固有ユーザ名を返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。
つまり、表示制御部158は、メッセージ受信部153が受信したメッセージに、返答相手として選択された返答先ユーザIDが対応付けられている場合、当該受信したメッセージを時系列に並べて表示部110に表示させる。また、表示制御部158は、返答先ユーザIDに対応した固有ユーザ名を返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。
これにより、ユーザ端末100は、受信したメッセージにおいて返答相手として選択された返答先ユーザを示す情報を、当該メッセージを受信したユーザ端末100において独自に登録された固有ユーザ名を用いて表示することができる。また、ユーザ端末100は、受信したメッセージに対しては当該メッセージを送信した他ユーザを示す情報を、当該メッセージを受信したユーザ端末100において独自に登録された固有ユーザ名を用いて表示するため、受信したメッセージを送信したユーザ(他ユーザ)を示す情報と、メッセージの返答先ユーザを示す情報とのいずれも固有ユーザ名を用いて表示することができる。このように、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。よって、ユーザは、メッセージ画面に表示されるメッセージが、グループ内のいずれのユーザに対して返答されたものであるかを容易に判別することができる。即ち、本実施形態のユーザ端末100によれば、利便性を向上させた、メッセージの表示をすることができる。
また、ユーザ端末100は、複数の他ユーザ(第2ユーザ)の中から返答先ユーザ(第3ユーザ)を選択可能に、ユーザ端末100(自装置)から送信するメッセージを入力する操作受付部120(入力部)を備えている。さらに、ユーザ端末100は、操作受付部120において返答先ユーザが選択された場合には、操作受付部120に入力されたメッセージを、返答先ユーザを一意に識別する識別情報(返答先ユーザID)と対応付けて送信するメッセージ送信部152を備えている。
これにより、ユーザ端末100は、送信するメッセージに対して返答先ユーザを選択可能である。また、ユーザ端末100は、返答先ユーザが選択されたメッセージには、返答先ユーザIDを対応付けて送信することができる。よって、ユーザ端末100は、返答先ユーザが選択されたメッセージを受信したユーザ端末100(他装置)において、その受信したユーザ端末100(他装置)で登録されているユーザ名(例えば、他装置で登録されている固有ユーザ名)を表示することができるように、選択された返答先ユーザのユーザIDを対応付けてメッセージを送信することができる。
また、ユーザ端末100において、メッセージ送信部152が送信するメッセージに操作受付部120(入力部)において選択された返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられているとする。この場合、表示制御部158は、登録部156が登録した固有ユーザ名のうち、当該識別情報(返答先ユーザID)に対応した固有ユーザ名(第1の第2ユーザ情報)を返答先ユーザを示す情報として、当該送信するメッセージに対応付けて表示部110に表示させる。
つまり、表示制御部158は、送信するメッセージに返答相手として選択された返答先ユーザIDが対応付けられている場合、送信するメッセージを時系列に並べて表示部110に表示させるとともに、返答先ユーザIDに対応した固有ユーザ名を返答先ユーザを示す情報として、送信するメッセージに対応付けて表示部110に表示させる。
これにより、ユーザ端末100は、送信するメッセージにおいて返答相手として選択された返答先ユーザを示す情報を、このユーザ端末100において独自に登録された固有ユーザ名を用いて表示することができる。また、ユーザ端末100は、受信したメッセージに対しては当該メッセージを送信した他ユーザを示す情報を、このユーザ端末100において独自に登録された固有ユーザ名を用いて表示するため、受信したメッセージを送信したユーザ(他ユーザ)を示す情報と、送信するメッセージの返答先ユーザを示す情報とのいずれも固有ユーザ名を用いて表示することができる。よって、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。
なお、ユーザ端末100において、登録部156は、自ユーザ(第1ユーザ)が入力した情報に基づいて、固有ユーザ名(第1の第2ユーザ情報)を登録する。
これにより、ユーザ端末100は、他ユーザのユーザ名を、自ユーザからの操作に応じて入力された固有ユーザ名を用いて表示させることができる。即ち、ユーザは、ユーザ端末100において、チャット相手のユーザ名を任意の名前で表示させることができる。
このように、本実施形態によれば、利便性を向上させた、メッセージの表示をすることができる。
なお、上記実施形態において、ユーザ端末100が、返答先ユーザを示す情報として、他ユーザのユーザ名として独自に登録した固有ユーザ名を表示する処理を説明した。これは、返答先ユーザが他ユーザであることを前提としているが、返答先ユーザが自ユーザの場合もある。この場合には、ユーザ端末100が受信したメッセージに対応付けられた返答先ユーザIDは、自ユーザのユーザIDであり、ユーザ端末100は、返答先ユーザを示す情報として、自ユーザのユーザ名(例えば、図7に示す自ユーザのユーザ情報において、自ユーザのユーザIDに対応付けられたユーザ名)を表示してもよい。
なお、上記実施形態において、メッセージに対応付けられた返答先ユーザIDに対応する固有ユーザ名を、返答先ユーザを示す情報として表示する処理を説明したが、これに限らず、ユーザ端末100は、固有ユーザ名以外の情報を、返答先ユーザを示す情報として表示してもよい。例えば、ユーザ端末100は、固有ユーザ名が登録されていない場合には、その返答先ユーザの基本ユーザ名を返答先ユーザを示す情報として表示してもよい。このように、固有ユーザ名が登録されているか否かに応じて固有ユーザ名又は基本ユーザ名を表示する処理については、後述の第2の実施形態において詳しく説明する。
また、ユーザ端末100は、基本ユーザ名と固有ユーザ名との両方が登録されていない場合には、その返答先ユーザのユーザID又はメールアドレス等を、返答先ユーザを示す情報として表示してもよい。また、ユーザ端末100は、他ユーザに対応するユーザ画像(例えばプロフィール画像)を登録可能とし、ユーザ端末100において独自に登録された固有のユーザ画像を、返答先ユーザを示す情報として表示してもよい。また、ユーザ端末100は、ユーザ名(固有ユーザ名又は基本ユーザ名)とユーザ画像とのいずれか一方又は両方を、返答先ユーザを示す情報として表示してもよい。
(変形例)
上述の実施形態において、ユーザ端末100は、少なくとも、表示制御部158と、登録部156と、メッセージ受信部153と、を備えた構成であればよい。例えば、ユーザ端末100は、返答先ユーザを選択してメッセージを送信する機能を備えない構成であってもよい。なお、ユーザ端末100は、返答先ユーザを選択しないでメッセージを送信する機能を備えてもよく、返答先ユーザを選択してメッセージを送信する機能をオプション機能として追加(例えば、追加プログラムをダウンロードすることによって追加)可能な構成としてもよい。
ここで、表示制御部158は、ユーザ端末100(自装置)を利用する自ユーザ(第1ユーザ)と、他のユーザ端末100(他装置)を利用する複数の他ユーザ(第2ユーザ)とが登録されたグループにおいて送信されたメッセージを時系列に表示部110に表示させるとともに、他のユーザ端末100(他装置)から送信されたメッセージに対しては当該メッセージを送信した他ユーザを示す情報を対応付けて表示させる。登録部156は、他ユーザを示す情報としての固有ユーザ名(第1の第2ユーザ情報)を、他ユーザを一意に識別する識別情報(他ユーザのユーザID)と対応付けて登録する。メッセージ受信部153は、他のユーザ端末100(他装置)から送信されたメッセージを受信する。そして、メッセージ受信部153が受信したメッセージに、上記グループに登録されている複数の他ユーザのうち、返答相手として選択された返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられているとする。この場合、表示制御部158は、登録部156が登録した固有ユーザ名のうち、当該識別情報(返答先ユーザID)に対応した固有ユーザ名を返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。
この構成により、ユーザ端末100は、受信したメッセージにおいて返答相手として選択された返答先ユーザを示す情報を、当該メッセージを受信したユーザ端末100において独自に登録された固有ユーザ名を用いて表示することができる。また、ユーザ端末100は、受信したメッセージに対しては当該メッセージを送信した他ユーザを示す情報を、当該メッセージを受信したユーザ端末100において独自に登録された固有ユーザ名を用いて表示するため、受信したメッセージを送信したユーザ(他ユーザ)を示す情報と、メッセージの返答先ユーザを示す情報とのいずれも固有ユーザ名を用いて表示することができる。このように、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。よって、ユーザは、メッセージ画面に表示されるメッセージが、グループ内のいずれのユーザに対して返答されたものであるかを容易に判別することができる。即ち、本実施形態のユーザ端末100によれば、利便性を向上させた、メッセージの表示をすることができる。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、ユーザ端末100は、固有ユーザ名が登録されているか否かに応じて、応答先ユーザを示す情報として表示するユーザ名を選択する処理について説明する。
前述したように、固有ユーザ名は、それぞれのユーザ端末100において、そのユーザ端末100を利用するユーザが独自に登録するユーザ名である。そして、この固有のユーザ名がユーザ端末100に登録されていないとする。この場合、ユーザ端末100は、他ユーザのユーザ名を表示する場合には基本ユーザ名を用いて表示する。具体的には、表示制御部158は、受信したメッセージ情報に含まれるメッセージに、そのメッセージ情報に含まれるユーザID(他ユーザ、メッセージの送信者)に対応した基本ユーザ名を対応付けて表示部110に表示させる。さらに、受信したメッセージに返答先ユーザIDが対応付けられている場合には、表示制御部158は、返答先ユーザIDに対応した基本ユーザ名を対応付けて表示部110に表示させる。
図17を参照して、固有ユーザ名が登録されている否かに応じて、受信したメッセージに対応付けて表示する返答先ユーザを示す情報を制御する処理の動作を説明する。図17は、本実施形態によるユーザ端末100が受信したメッセージを表示する表示処理の一例を示すフローチャートである。なお、この図17において、図15の各処理と対応する処理には同一の符号をつけその説明を適宜省略する。
まず、図15を用いて説明した処理と同様に、メッセージ受信部153が、他ユーザのユーザ端末100から送信されたメッセージ情報を受信し(ステップS210)、表示制御部158が、受信されたメッセージ情報に、返答先ユーザIDが含まれているか否かを判定する(ステップS220)。
ステップS220において、返答先ユーザIDが含まれていると判定された場合(ステップS220:YES)、表示制御部158は、登録部156により固有ユーザ名が登録されているか否かを判定する(ステップS225)。一方、ステップS220において、返答先ユーザIDが含まれていないと判定された場合(ステップS220:NO)、表示制御部158は、ステップS225、S232、S234の処理を行わずに、ステップS240に処理を進める。
ステップS225において、固有ユーザ名が登録されていると判定された場合(ステップS225:YES)、表示制御部158は、そのメッセージ情報に含まれている返答先ユーザIDに対応付けられた固有ユーザ名をユーザ情報記憶部141から読み出して、読み出した固有ユーザ名を返答先ユーザ名として表示部110に表示させる。ここで、表示制御部158は、メッセージ画面において、当該メッセージ情報に含まれるメッセージを表示させる位置に対応付けられた所定の位置に、この返答先ユーザ名を表示させる(ステップS232)。即ち、この場合には、表示制御部158は、図15のステップS230の処理と同様の処理を行う。
一方、ステップS225において、固有ユーザ名が登録されていないと判定された場合(ステップS225:NO)、表示制御部158は、そのメッセージ情報に含まれている返答先ユーザIDに対応付けられた基本ユーザ名をユーザ情報記憶部141から読み出して、読み出した基本ユーザ名を返答先ユーザ名として表示部110に表示させる。ここで、表示制御部158は、メッセージ画面において、当該メッセージ情報に含まれるメッセージを表示させる位置に対応付けられた所定の位置に、この返答先ユーザ名を表示させる(ステップS234)。
続いてのステップS240の処理は、図5のステップS240の処理と同様であり、受信したメッセージを送信日時情報に基づいて時系列に並べて表示部110に表示させる。
なお、上述の受信したメッセージに代えて、送信するメッセージとしてもよい。例えば、表示制御部158は、送信するメッセージのメッセージ情報に返答先ユーザIDが含まれているか否かを判定するとともに、登録部156により固有ユーザ名が登録されているか否かを判定してもよい。そして、表示制御部158は、固有ユーザ名が登録されている場合には送信するメッセージに固有ユーザ名を対応付けて表示させ、固有ユーザ名が登録されていない場合には送信するメッセージに基本ユーザ名を対応付けて表示させてもよい。
以上説明したように、本実施形態によるユーザ端末100は、複数の他ユーザ(第2ユーザ)のそれぞれが設定した、他ユーザを示す情報としての基本ユーザ名(第2の第2ユーザ情報)を、それぞれの他ユーザを一意に識別する識別情報(ユーザID)と対応付けて取得する取得部155を備えている。さらに、ユーザ端末100は、登録部156が登録した固有ユーザ名(前記第1の第2ユーザ情報)と、取得部155が取得した基本ユーザ名とを、他ユーザを一意に識別する識別情報(ユーザID)に対応付けて管理する管理部157を備えている。
そして、メッセージ受信部153が受信したメッセージに返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)に対応した固有ユーザ名が登録部156により登録されているとする。このときには、表示制御部158は、登録部156が登録した固有ユーザ名のうち、当該識別情報(返答先ユーザID)に対応した固有ユーザ名を返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。
一方、メッセージ受信部153が受信したメッセージに返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)に対応した固有ユーザ名が登録部156により登録されていないとする。このときには、表示制御部158は、取得部155が取得した基本ユーザ名(第2の第2ユーザ情報)のうち、当該識別情報(返答先ユーザID)に対応した基本ユーザ名を返答先ユーザを示す情報として、当該受信したメッセージに対応付けて表示部110に表示させる。
つまり、表示制御部158は、受信したメッセージに対応付けて表示させる返答先ユーザを示す情報として、固有ユーザ名が登録されている場合には固有ユーザ名を表示させ、固有ユーザ名が登録されていない場合には基本ユーザ名を表示させる。
これにより、ユーザ端末100は、固有ユーザ名が登録されている場合には、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名とを、固有ユーザ名を用いて表示部110に表示させることができる。一方、ユーザ端末100は、固有ユーザ名が登録されていない場合には、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名とを、基本ユーザ名を用いて表示部110に表示させることができる。よって、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。
また、ユーザ端末100において、メッセージ送信部152が送信するメッセージに操作受付部120(入力部)において選択された返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)に対応した固有ユーザ名(第1の第2ユーザ情報)が登録部156により登録されているとする。このときには、表示制御部158は、
登録部156が登録した固有ユーザ名のうち、当該識別情報(返答先ユーザID)に対応した固有ユーザ名を返答先ユーザを示す情報として、当該送信するメッセージに対応付けて表示部110に表示させる。
一方、メッセージ送信部152が送信するメッセージに操作受付部120(入力部)において選択された返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)に対応した固有ユーザ名が登録部156により登録されていないとする。このときには、表示制御部158は、取得部155が取得した基本ユーザ名(第2の第2ユーザ情報)のうち、当該識別情報(返答先ユーザID)に対応した基本ユーザ名を返答先ユーザを示す情報として、当該送信するメッセージに対応付けて表示部110に表示させる。
つまり、表示制御部158は、送信するメッセージに対応付けて表示させる返答先ユーザを示す情報として、固有ユーザ名が登録されている場合には固有ユーザ名を表示させ、固有ユーザ名が登録されていない場合には基本ユーザ名を表示させる。
これにより、ユーザ端末100は、固有ユーザ名が登録されている場合には、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名とを、固有ユーザ名を用いて表示部110に表示させることができる。一方、ユーザ端末100は、固有ユーザ名が登録されていない場合には、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名とを、基本ユーザ名を用いて表示部110に表示させることができる。よって、ユーザ端末100は、メッセージ画面において表示される、メッセージ(返答メッセージ)の返答先としてのユーザ名と、他ユーザ(チャット相手)のユーザ名との整合をとることができる。
このように、本実施形態のユーザ端末100によれば、利便性を向上させた、メッセージの表示をすることができる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態による表示制御部158は、返答先ユーザを示す情報を、メッセージが表示される吹き出しの中に表示させる。例えば、表示制御部158は、返答先ユーザを示す情報(テキスト)をメッセージの先頭に付加して、表示部110に表示させる。
図18及び図19は、本実施形態によるメッセージ画面の例を示す図である。この図18及び図19を参照して、返答先ユーザを示す情報(テキスト)をメッセージの先頭に付加して、表示部110に表示させる例を説明する。
図18は、自ユーザ(ユーザA)のユーザ端末100の表示部110に表示されるメッセージ画面の一例を示す図である。この図18に示すメッセージ画面は、図12に示すメッセージ画面に対して、返答先ユーザを示す情報が吹き出しの中に表示されている点が異なる。なお、ここでは、ユーザAのユーザ端末100-1には、図8に示すユーザ情報が記憶されているものとする。即ち、ユーザAのユーザ端末100-1では、ユーザBの固有ユーザ名が「会社の上司」として登録されている。図18において、吹き出しE9には、ユーザA(自ユーザ)がユーザBを返答先ユーザとして送信するメッセージが表示される。さらに、吹き出しE9には、当該メッセージの先頭に、返信を意味する情報(ここでは、「>」)と、返答先ユーザ名(ここでは、ユーザBの固有ユーザ名「会社の上司」)とが返答先ユーザを示す情報として表示される。
一方、図19は、他ユーザ(ユーザC)のユーザ端末100の表示部110に表示されるメッセージ画面の一例を示す図である。この図19に示すメッセージ画面は、図14に示すメッセージ画面に対して、返答先ユーザを示す情報が吹き出しの中に表示されている点が異なる。なお、ここでは、ユーザCのユーザ端末100-3には、図13に示すユーザ情報が記憶されているものとする。即ち、ユーザCのユーザ端末100-3では、ユーザBの固有ユーザ名が「山田さん」として登録されている。図18において、吹き出しE22には、ユーザA(他ユーザ)がユーザBを返答先ユーザとして送信したメッセージが表示される。さらに、吹き出しE22には、当該メッセージの先頭に、返信を意味する情報(ここでは、「>」)と、返答先ユーザ名(ここでは、ユーザBの固有ユーザ名「山田さん」)とが返答先ユーザを示す情報として表示される。
このように、本実施形態によるユーザ端末100は、メッセージに対応付けられた返答先ユーザIDに基づいて、吹き出し内に表示されるメッセージの先頭に返答先ユーザを示す情報を表示する。これにより、ユーザ端末100は、あたかも返答先ユーザ名がメッセージの一部として入力されたかのように表示部110に表示させることができる。よって、ユーザは、メッセージ画面に表示されるメッセージが、グループ内のいずれのユーザに対して返答されたものであるかを容易に判別することができる。即ち、本実施形態のユーザ端末100によれば、利便性を向上させた、メッセージの表示をすることができる。
なお、吹き出し内にメッセージの一部(メッセージの先頭)に表示される返答先ユーザを示す情報は、固有ユーザ名に限られるものではなく、上記第1、第2の実施形態において説明したように、基本ユーザ名、ユーザ画像、ユーザID、メールアドレス、等の少なくともいずれかであってもよい。
<第4の実施形態>
次に、本発明の第4の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態による登録部156は、他の機能において登録されたユーザ情報に基づいて、固有ユーザ名(第1の第2ユーザ情報)を登録する。
ここで、他の機能とは、上述したチャットアプリケーションによるチャット機能とは異なる機能であって、例えば、ユーザ端末100に搭載された電話機能である。例えば、登録部156は、電話機能において登録された電話帳(アドレス帳)内のユーザ情報に基づいて、当該電話帳(アドレス帳)内のユーザ情報に含まれる名前を、固有ユーザ名として登録する。
なお、登録部156は、チャット機能において自ユーザが独自に入力した他ユーザのユーザ名、及び他の機能において登録されたユーザ情報に含まれるユーザ名のうち、いずれか一方のユーザ名を固有ユーザ名として登録する構成としてもよいし、それぞれのユーザ名を2種類の固有ユーザ名として登録する構成としてもよい。ここで、2種類の固有ユーザ名を登録する構成の場合には、いずれか一方の固有ユーザ名が優先される構成としてもよい。
例えば、登録部156は、チャット機能において自ユーザが独自に入力した他ユーザのユーザ名を、固有ユーザ名(ここでは、固有ユーザ名N1とする)として登録する。また、登録部156は、電話帳(アドレス帳)内のユーザ情報に含まれる名前を、固有ユーザ名(ここでは、固有ユーザ名N2とする)として登録する。ここで、固有ユーザ名N2は、例えば、チャット機能が有する電話帳(アドレス帳)連動機能が実行されることにより、登録される。具体的には、この連動機能が実行されることにより、電話帳(アドレス帳)内のユーザを特定可能な情報(ユーザID、電子メールアドレス等)と、チャット機能におけるユーザ情報に含まれるユーザを特定可能な情報(ユーザID、電子メールアドレス等)とが照合される。そして、照合結果が一致したユーザについて、電話帳(アドレス帳)内のユーザ情報に含まれる名前が、固有ユーザ名N2として登録される。
図20及び図21は、本実施形態によるユーザ情報記憶部141に記憶されたユーザ情報の例を示す図である。この図では、ユーザ情報記憶部141に記憶されたユーザ情報には、固有ユーザ名N1と固有ユーザ名N2との2種類の固有ユーザ名が含まれる。
図20は、ユーザAのユーザ端末100−1において、登録部156が固有ユーザ名N2を登録する処理を実行した後のユーザ情報の一例を示す図である。ここでは、ユーザBに対して、電話帳(アドレス帳)内のユーザ情報に含まれる名前に基づいて固有ユーザ名N2(ここでは「山田先輩」)が登録されている。なお、ユーザCに対しては、電話帳(アドレス帳)内のユーザ情報にはユーザCに該当するユーザ情報がなかったものとし、固有ユーザ名N2は登録されていない。
例えば、表示制御部158は、ユーザ情報記憶部141に記憶されたユーザ情報を参照して、ユーザBを示す情報としてユーザ名を表示させる場合には、ユーザBに対応する固有ユーザ名N2(ここでは「山田先輩」)を表示させる。また、表示制御部158は、ユーザCを示す情報としてユーザ名を表示させる場合には、ユーザCに対応する基本ユーザ名(ここでは「高橋C子」)を表示させる。
図21は、ユーザAのユーザ端末100−1において、登録部156が固有ユーザ名N2を登録する処理を実行した後にユーザAが独自に固有ユーザ名をさらに登録したユーザ情報の一例を示す図である。ここで、固有ユーザ名N2は、図20と同様にユーザBに対して登録され、ユーザCに対して登録されていない。また、固有ユーザ名N1は、ユーザBに対して、ユーザAが独自に入力した固有ユーザ名N1(ここでは「会社の上司」)が登録されている。また、ユーザCに対しては、ユーザAが独自に入力した固有ユーザ名N1(ここでは「会社の部下」)が登録されている。
例えば、表示制御部158は、ユーザ情報記憶部141に記憶されたユーザ情報を参照して、ユーザBを示す情報としてユーザ名を表示させる場合には、ユーザBに対応する固有ユーザ名N1(ここでは「会社の上司」)を表示させる。また、表示制御部158は、ユーザCを示す情報としてユーザ名を表示させる場合には、ユーザCに対応する固有ユーザ名N1(ここでは「会社の部下」)を表示させる。即ち、表示制御部158は、基本ユーザ名よりも固有ユーザ名を優先して表示させるとともに、固有ユーザ名N2よりも固有ユーザ名N1を優先して表示させる。
つまり、図20及び図21の示すユーザ情報のいずれの場合であっても、表示制御部158は、メッセージを送信したユーザのユーザ名も返答先ユーザ名も、同一のユーザである場合には同一のユーザ名を表示させる。また、表示制御部158は、基本ユーザ名よりも固有ユーザ名を優先し、固有ユーザ名のなかでは、固有ユーザ名N2よりも固有ユーザ名N1を優先して表示させる。
以上説明したように、本実施形態によるユーザ端末100において、登録部156は、他の機能において登録されたユーザ情報に基づいて、固有ユーザ名(第1の第2ユーザ情報)を登録する。
これにより、ユーザ端末100は、他の機能(例えば、電話機能)において登録されたユーザ情報に基づいて、当該ユーザ情報に含まれる名前を、固有ユーザ名として登録することができる。よって、ユーザ端末100は、チャット機能において自ユーザが他ユーザの固有ユーザ名を登録する操作をしなくとも、他の機能において登録されたユーザ情報に含まれる名前を、固有ユーザ名として登録することができる。
また、ユーザ端末100は、他の機能において登録されたユーザ情報に含まれる名前による固有ユーザ名N2と、チャット機能において自ユーザが独自に入力した他ユーザのユーザ名による固有ユーザ名N1とのそれぞれを登録することができる。これにより、ユーザ端末100は、例えば、固有ユーザ名N1が登録されていない場合には、固有ユーザ名N2を表示させ、その後、固有ユーザ名N1が登録された場合には、固有ユーザ名N2よりも固有ユーザ名N1を優先して表示させることができる。
なお、上述した固有ユーザ名N1と固有ユーザ名N2との優先順位は一例であって、固有ユーザ名N1よりも固有ユーザ名N2を優先する構成としてもよい。また、上述した、他の機能とは、ユーザ端末100に搭載された電話機能に限られるものではなく、メール機能、SNS(Social Networking Service)機能、ミニブログ(マイクロブログ、つぶやきブログ)機能であってもよい。すなわち、外部サービスで提供される機能であってもよい。具体的には、固有ユーザ名N2としてSNS機能におけるアカウント名が例示できる。
<第5の実施形態>
次に、本発明の第5の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態による表示制御部158は、受信したメッセージ情報に含まれる返答先ユーザが自ユーザ(メッセージを受け取ったユーザ)でない場合(即ち、自分宛てのメッセージではない場合)には、その受信したメッセージをメッセージ画面に表示させない(非表示とする)。
図22は、本実施形態によるメッセージの表示処理の一例を示すフローチャートである。この図22を参照して、本実施形態によるメッセージの表示処理の動作を説明する。なお、この図22において、図15の各処理と対応する処理には同一の符号を付けその説明を適宜省略する。
まず、図15を用いて説明した処理と同様に、メッセージ受信部153が、他ユーザのユーザ端末100から送信されたメッセージ情報を受信し(ステップS210)、表示制御部158が、受信されたメッセージ情報に、返答先ユーザIDが含まれているか否かを判定する(ステップS220)。
ステップS220において、返答先ユーザIDが含まれていないと判定された場合(ステップS220:NO)、表示制御部158は、当該メッセージ情報それぞれに含まれる送信日時情報に基づいて時系列に並べて表示部110に表示させる(ステップS240)。
一方、ステップS220において、返答先ユーザIDが含まれていると判定された場合(ステップS220:YES)、表示制御部158は、当該返答先ユーザIDが自ユーザ(メッセージを受け取ったユーザ)のユーザIDと一致するか否かを判定する(ステップS222)。
ステップS222において、返答先ユーザIDが自ユーザのユーザIDと一致しないと判定された場合(ステップS222:NO)、表示制御部158は、当該受信したメッセージ情報に含まれるメッセージを表示部110に表示させない(非表示とする)(ステップS250)。
一方、ステップS222において、返答先ユーザIDが自ユーザのユーザIDと一致すると判定された場合(ステップS222:YES)、表示制御部158は、返答先ユーザ名を表示させないで、当該受信したメッセージ情報に含まれるメッセージを時系列に並べて表示部110に表示させる(ステップS260)。
以上説明したように、本実施形態によるユーザ端末100において、表示制御部158は、メッセージ受信部153が受信したメッセージに返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)が自ユーザ(第1ユーザ)を一意に識別する識別情報(ユーザID)と一致しない場合には、当該受信したメッセージを表示部110に表示させない。
これにより、ユーザ端末100は、返答先ユーザが選択されたメッセージを受信した場合、返答先ユーザが自ユーザのメッセージ(即ち、自分宛のメッセージ)のみ表示することができる。すなわち、チャットシステム1において、返答先ユーザが選択されたメッセージは、当該メッセージを送信したユーザと、当該メッセージの返答先ユーザとの2者のユーザ端末100においてのみメッセージ画面に表示され、この2者以外のユーザのユーザ端末100においては表示されないようにすることができる。つまり、チャットシステム1において、2者間でのシークレットチャット(当該2者以外にはメッセージの内容が表示されないチャット)を行うことができる。
また、ユーザ端末100において、表示制御部158は、メッセージ受信部153が受信したメッセージに返答先ユーザ(第3ユーザ)を一意に識別する識別情報(返答先ユーザID)が対応付けられている場合であって、当該識別情報(返答先ユーザID)が自ユーザ(第1ユーザ)を一意に識別する識別情報(ユーザID)と一致する場合には、返答先ユーザを示す情報を対応付けずに、当該受信したメッセージを表示部110に表示させるようにしてもよい。
例えば、チャットシステム1において、2者間でのシークレットチャットが行われた場合にはメッセージの返答先ユーザが明らかであるため、ユーザ端末100は、返答先ユーザを示す情報を表示しない。これにより、ユーザ端末100は、不要な情報をメッセージ画面に表示しないため、メッセージ画面に表示される情報(メッセージ等)を見やすくすることができる。
なお、ユーザ端末100は、シークレットチャットの場合には、メッセージ画面に表示されるメッセージ又は吹き出しの表示態様(文字色、フォント、吹き出しの形状や色等)を、シークレットチャット以外の通常のチャットの場合と異ならせるようにしてもよい。これにより、ユーザ端末100は、シークレットチャットによるメッセージであるか否かをユーザが容易に判別可能なように表示することができる。
なお、ユーザ端末100は、シークレットチャットによるメッセージに対して返答するメッセージを送信する(例えば、シークレットチャットによるメッセージを選択してメッセージを送信する)ことにより、シークレットチャットを継続することができる。
なお、上記実施形態では、ユーザ端末100は、受信したメッセージ情報に含まれる返答先ユーザが自ユーザ(メッセージを受け取ったユーザ)でない場合(即ち、自分宛てのメッセージではない場合)には、その受信したメッセージをメッセージ画面に表示しない処理を説明した。これに対し、チャットシステム1において、サーバ装置200が、グループ内の各ユーザのユーザ端末100のそれぞれから送信されたメッセージに返答先ユーザIDが対応付けられている場合、当該返答先ユーザIDが示すユーザのユーザ端末100にのみ当該メッセージを送信するようにしてもよい。これにより、返答先ユーザが他ユーザとなるメッセージはサーバ装置200から送信されないため、各ユーザのユーザ端末100のそれぞれのメッセージ画面には、返答先ユーザが他ユーザとなるメッセージは表示されない。即ち、サーバ装置200が、グループ内の各ユーザのユーザ端末100のそれぞれから送信されたメッセージに対応付けられている返答先ユーザIDが示すユーザのユーザ端末100にのみ当該メッセージを送信することにより、チャットシステム1において、上述したような2者間でのシークレットチャットを行うことができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第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に代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。