以下、本発明の一実施形態について、図面を参照して説明する。
<第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ユーザ)からの操作に応じて、他のユーザ端末100に送信したメッセージ(第1メッセージ)と、相手側のユーザである他ユーザ(第2ユーザ)のユーザ端末100(他装置)から送信されたメッセージ(第2メッセージ)とを記憶する。ユーザ端末100は、記憶した複数のメッセージを、そのメッセージが送信された日時または受信された日時に基づいて時系列に並べた画面情報(メッセージ画面)を生成し、ユーザが一覧できるように表示する。
つまり、チャットシステム1において、チャットを行うグループには、自ユーザのユーザ端末100と、一または複数の他ユーザのユーザ端末100とが登録されている。そして、ユーザ端末100は、このグループにおいて、自ユーザの操作に応じて自ユーザのユーザ端末100から送信するメッセージと、他ユーザの操作に応じて他ユーザのユーザ端末100から送信されたメッセージと、を時系列に並べたメッセージ画面を表示する。
以下、ユーザ端末100−1を利用するユーザをユーザAとし、ユーザ端末100−2を利用するユーザをユーザBとし、ユーザ端末100−3を利用するユーザをユーザCとして説明する。ここで、ユーザを識別するユーザID(Identifier)が、それぞれのユーザが利用するユーザ端末100それぞれに固有に設定されている。なお、ユーザAと、ユーザBと、ユーザCとがチャット(グループチャット)を行うための同じグループに登録されているものとする。
図2は、チャットシステム1におけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。この図2では、ユーザBからの操作に応じて、ユーザ端末100−2が送信したメッセージMを、ユーザAのユーザ端末100−1とユーザCのユーザ端末100−3とが受信する処理の例を示している。なお、ここでは、グループチャットにおいて送受信されるメッセージをメッセージMと称する。
まず、ユーザ端末100−2は、ユーザBの操作に応じて、送信するメッセージの入力を受け付ける(ステップS100)。次に、ユーザ端末100−2は、ユーザBの操作に応じて入力された(作成された)メッセージMを記憶するとともにメッセージ画面に表示する(ステップS110)。また、ユーザ端末100−2は、メッセージMをサーバ装置200に送信する(ステップS120)。ここで、ユーザ端末100−2が送信するメッセージMには、ユーザIDと、グループIDとが対応付けられている。なお、このグループIDは、グループを一意に識別する情報であって、このメッセージMの宛先を示す情報である。また、このユーザIDは、このメッセージを送信したユーザのユーザIDである。
次に、サーバ装置200は、ユーザ端末100−2からネットワーク5を介してメッセージMを受信し、受信したメッセージMを一時的に記憶する(ステップS130)。このとき、サーバ装置200は、このメッセージMを受信したときの受信日時をユーザ端末100−2へ受信完了通知と共に返信し、この受信日時をメッセージMがユーザ端末100−2から送信された日時情報とする。受信完了通知を受信したユーザ端末100−2は、当該受信完了通知に含まれる日時情報を取得してメッセージMと対応付けて記憶する。また、ユーザ端末100−2は、取得した日時情報に基づいて、既にメッセージ画面に表示しているメッセージMに対応付けて送信日時を表示する(ステップS135)。
続いて、サーバ装置200は、受信して記憶したメッセージMを、グループIDに基づいて、グループに登録されているユーザのユーザ端末100(ユーザAのユーザ端末100−1及びユーザCのユーザ端末100−3)に対して送信する(ステップS140)。ここで、サーバ装置200は、受信したメッセージMに、ユーザIDと、グループIDと、日時情報(サーバ装置200での受信日時)と、を対応付けて送信する。
次に、ユーザ端末100−1は、サーバ装置200から送信されたメッセージMを、ネットワーク5を介して受信する(ステップS150)。また、ユーザ端末100−3は、サーバ装置200から送信されたメッセージMを、ネットワーク5を介して受信する(ステップS170)。それぞれで受信したメッセージMには、日時情報(サーバ装置での受信時間)と、ユーザID(ユーザB)と、グループIDとが対応付けられている。
次に、ユーザ端末100−1は、受信したメッセージMを記憶するとともに、対応付けられている日時情報に基づいてメッセージMを時系列に並べてメッセージ画面に表示する(ステップS160)。また、ユーザ端末100−3は、受信したメッセージMを記憶するとともに、対応付けられている日時情報に応じてメッセージMを時系列に並べてメッセージ画面に表示する(ステップS180)。このとき、ユーザ端末100−1及びユーザ端末100−3は、メッセージMを時系列に並べて表示する際に、メッセージMに対応付けられているユーザIDに基づいて、メッセージMを送信したユーザを示す情報をメッセージMに対応付けて表示する。
なお、ユーザ端末100は、自ユーザが送信したメッセージには、そのメッセージを送信した自ユーザを示す情報を対応付けて表示せずに、他ユーザが送信したメッセージにのみ、そのメッセージを送信した他ユーザを示す情報を対応付けて表示してもよい。また、ユーザ端末100は、メッセージを一画面に表示しきれない場合には、そのメッセージを時系列に並べたうちの一部を表示し、メッセージのスクロール制御を行う。
ここで、図3を参照して、ユーザ端末100が表示部110に表示するチャットのメッセージ画面の一例を説明する。図3は、本実施形態によるユーザ端末100が表示するメッセージ画面の一例を示す図である。符号110aは、メッセージ画面が表示されている領域の全体を示している。このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末100は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。
この図3は、ユーザAのユーザ端末100−1が表示するメッセージ画面の例を示している。このメッセージ画面はユーザAとユーザBとユーザCとの3ユーザが属するグループのチャットのメッセージ画面であり、自ユーザはユーザAであり、他ユーザはユーザBとユーザCである。
符号110bの領域には、グループの名称(グループ名)が表示される。ここでは、グループ名として「グループG」が設定され、このグループ名が表示されている例を示している。
符号110cの領域には、そのグループにおいてユーザから送信されたメッセージが、そのメッセージが送信された日時に基づいて時系列に並べて表示されるように表示コンポーネントが配置される。この図に示す例では、メッセージが送信された日時に基づいて昇順(新しいメッセージが符号110cの領域の下側)に表示される。また、この図に示す例では、メッセージ画面において左側からの吹き出しには、他ユーザから送信されたメッセージが表示され、右側からの吹き出しには、自ユーザから送信するメッセージが表示される。
左側からの吹き出しE1には、他ユーザ(ここでは、ユーザB)から送信されたメッセージが表示される。アイコンE2は、吹き出しE1に表示されたメッセージを送信した他ユーザを示すアイコンである。このアイコンE2は、例えば他ユーザによって予め登録された画像(ユーザ画像)でもよいし、チャットシステム1が予め用意した画像でもよい。ユーザ名ラベルE3には、アイコンE2に対応するユーザのユーザ名(ここでは、「nameB」)が表示される。一方、右側からの吹き出しE4には、自ユーザ(ここでは、ユーザA)から送信するメッセージが表示される。
ここで、左側からの吹き出しに表示される他ユーザのメッセージには、そのメッセージを送信したユーザを示す情報(例えば、アイコンE2、ユーザ名ラベルE3)が対応付けられて表示されるが、一方、右側からの吹き出しに表示される自ユーザが送信するメッセージには、そのメッセージを送信したユーザを示す情報(即ち、自ユーザの情報)は表示されない。これは、自ユーザを示す情報が表示されなくとも、メッセージ画面の右側からの吹き出しE4に表示されたメッセージが、自ユーザが送信したものであることが判別可能なためである。
符号110dの領域には、他のユーザ端末100にメッセージを送信するための表示コンポーネントが配置される。テキストボックスE31には、ユーザから入力されるメッセージが表示される。即ち、テキストボックスE31は、メッセージとしてのテキストを入力する入力部である。なお、具体的には、ユーザは、例えば、テキストボックスE31と対で表示されるソフトウェアキーボードに対する操作により、テキストボックスE31にテキストを入力する。ここで、テキストボックスE31に入力されるテキストには、文字、記号、絵文字等が含まれる。送信ボタンE32は、テキストボックスE31に入力されたメッセージを他のユーザに送信するための操作子である。
このように、チャットシステム1においては、グループ内のいずれかのユーザのユーザ端末100から送信されたメッセージが、サーバ装置200を介して、グループ内の他のユーザ(当該メッセージを送信したユーザ以外のユーザ)のユーザ端末100に送信され、送受信されたメッセージが対話形式でユーザ端末100に表示されるチャット(グループチャット)を行うことができる。
本実施形態では、例えば、ウェブ上で提供されるウェブサイト形式のブログ(ウェブログ)を、チャットシステム1(チャットアプリケーション)において、チャット形式(対話形式)で行うブログ(以下、チャットブログと称する)として提供する。
ここで、上述のチャットブログは、ブログを作成したユーザと、このブログを閲覧するユーザとが属するグループ内において閲覧可能に公開される。ここでは、このチャットブログのグループを「コミュニティ」と称する。ユーザは、コミュニティを開設することによりブログを作成することができる。また、このコミュニティを開設したユーザ(以下、開設ユーザと称する)以外の他のユーザは、このコミュニティに参加する(属する、登録される)ことにより、このブログを閲覧可能なユーザ(以下、閲覧ユーザと称する)となることができる。
チャットブログにおけるメッセージの送受信処理は、開設ユーザによってこのブログに投稿されるメッセージが他ユーザのいずれのユーザ端末100においても閲覧可能なように送信されるが、このブログを閲覧する他ユーザから投稿されたメッセージが開設ユーザのユーザ端末100においてのみ閲覧可能なように送信されることが、チャット(グループチャット)におけるメッセージの送受信処理と異なる。なお、メッセージを投稿したユーザ端末100では、そのメッセージが送信されなくとも端末内に記憶されるため、そのメッセージを閲覧可能である。
このように、本実施形態では、チャットアプリケーション上で、対話形式でブログを簡単に行うことができるようにしたため、チャット感覚で気軽にブログを運用することができる。
以下、本実施形態のチャットシステム1の構成について詳しく説明する。
以下の説明では、チャットシステム1には、ユーザ端末100−1を利用するユーザAと、ユーザ端末100−2を利用するユーザBと、ユーザ端末100−3を利用するユーザCとを含む複数のユーザが登録されているものとする。また、チャット(グループチャット)のグループには、ユーザAとユーザBとユーザCとが登録され、チャットブログのコミュニティには、ユーザAとユーザBとユーザCとが登録されているものとする。また、このコミュニティの開設ユーザをユーザBとし、閲覧ユーザをユーザAとユーザCとする。
(サーバ装置200の構成)
まず、図4を参照して、サーバ装置200の構成について説明する。図4は、本実施形態によるサーバ装置200の構成の一例を示す概略ブロック図である。
サーバ装置200は、サーバ通信部230と、サーバ記憶部240と、サーバ制御部250と、を備えている。サーバ通信部230は、ネットワーク5を介して複数のユーザ端末100―Nと通信する。
サーバ記憶部240は、ユーザ情報記憶部241と、グループ情報記憶部242と、コミュニティ情報記憶部243と、メッセージ情報一時記憶部244とを備えており、チャットシステム1における各種情報を記憶する。
ユーザ情報記憶部241は、チャットシステム1(チャットアプリケーション)に登録されているユーザに関するユーザ情報を記憶する。具体的には、サーバ装置200を介してメッセージを送受信する複数のユーザ端末100それぞれに固有に設定されたユーザIDをユーザ情報として記憶する。ユーザIDは、ユーザを識別する情報であって、チャットシステム1において、ユーザが利用する端末を一意に識別する情報である。このユーザIDは、例えば、ユーザ端末100が最初にチャットシステム1に登録されたときに、サーバ装置200において発行される。例えば、ユーザAとユーザBとユーザCとのそれぞれのユーザIDが、それぞれ「A」と「B」と「C」として、各ユーザが利用するユーザ端末100それぞれに固有に設定される。
ここで、各種のユーザに関するユーザ情報(ユーザ名やユーザ画像等)は、このユーザ情報記憶部241には記憶されずに、それぞれのユーザが利用するユーザ端末100において記憶される。なお、ユーザ情報記憶部241が、各種のユーザに関するユーザ情報(ユーザ名やユーザ画像等)をユーザIDに対応付けて記憶する構成としてもよい。
グループ情報記憶部242は、チャットを行うユーザのグループに関するグループ情報を記憶する。具体的には、グループ情報記憶部242は、複数のユーザが属するグループと、当該複数のユーザのユーザIDとを対応付けて記憶する。
図5は、グループ情報記憶部242に記憶されるグループ情報の一例を示す図である。ひとつのグループには2以上のユーザが属する。例えば、ユーザAとユーザBとがチャットを行う場合、ユーザAとユーザBとが属するグループに関するグループ情報がグループ情報記憶部142に記憶される。グループ情報には、グループIDと、グループ名と、グループに属するユーザ(グループメンバー)のユーザIDとを対応付けた情報が含まれる。グループIDは、サーバ装置200で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが作成される際にユーザにより設定される。なお、ユーザがグループを作成する際にグループ名を設定しない場合には、サーバ装置200によって自動的に付与され、事後的にユーザにより設定できる。ユーザIDは、そのグループに属するユーザを識別する情報である。
この図5に示す例では、グループIDが「G1」であるグループには、グループ名として「グループAB」が設定され、ユーザAとユーザBとの2ユーザが属している。また、グループIDが「G2」であるグループには、グループ名として「グループG」が設定され、ユーザAとユーザBとユーザCとの3ユーザが属している。
コミュニティ情報記憶部243は、チャットブログを行うユーザが開設したコミュニティに関するコミュニティ情報を記憶する。例えば、コミュニティ情報記憶部243は、グループ情報記憶部242が記憶するグループに関する情報と同様にコミュニティに関する情報を記憶する。具体的には、コミュニティ情報記憶部243は、複数のユーザが属するコミュニティと、当該複数のユーザのユーザIDとを対応付けて記憶する。
図6は、コミュニティ情報記憶部243に記憶されるコミュニティ情報の一例を示す図である。例えば、ユーザBがコミュニティを開設した場合、開設ユーザであるユーザBとそのコミュニティに参加している閲覧ユーザとが属するコミュニティに関するコミュニティ情報がコミュニティ情報記憶部243に記憶される。コミュニティ情報には、コミュニティIDと、コミュニティ名と、コミュニティに属するユーザ(開設ユーザと閲覧ユーザ)のユーザIDとを対応付けた情報が含まれる。コミュニティIDは、サーバ装置200で生成されるコミュニティを一意に識別する情報である。コミュニティ名は、コミュニティの名称であり、コミュニティが開設される際にユーザにより設定される。なお、ユーザがコミュニティを開設する際にコミュニティ名を設定しない場合には、サーバ装置200によって自動的に付与され、事後的にユーザにより設定できる。ユーザIDは、そのコミュニティに属するユーザを識別する情報であって、開設ユーザのユーザIDがそのコミュニティを開設したユーザを識別する情報であり、閲覧ユーザのユーザIDがそのコミュニティに参加しているユーザを識別する情報である。
この図に示す例では、コミュニティIDが「CM1」であるコミュニティには、コミュニティ名として「ブログB」が設定され、ユーザAとユーザBとユーザCとの3ユーザが属している。また、ユーザBが開設ユーザであって、ユーザAとユーザCとがこのコミュニティに参加している閲覧ユーザである。
メッセージ情報一時記憶部244は、チャット(グループチャット)のグループにおいて、各ユーザ端末100から受信したチャットのメッセージが含まれるメッセージ情報を一時的に記憶する。ここで、チャットに対応したメッセージ情報には、グループIDと、ユーザIDと、日時情報と、メッセージとを対応付けた情報が含まれる。グループIDは、メッセージが送受信されたグループを識別する情報である。ユーザIDは、メッセージを送信したユーザ(ユーザのユーザ端末100)を識別する情報である。日時情報は、メッセージが送信された日時を示す情報である。本実施形態では、ユーザ端末100の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末100から送信されたメッセージ情報をサーバ装置200で受信した受信時間を当該メッセージが送信された日時を示す日時情報としている。日時情報には、年、月、日、時、分、秒(YYYY/MM/DD HH:MM:SS)の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージを示す文字列(テキスト)である。
また、メッセージ情報一時記憶部244は、チャットブログのコミュニティにおいて、各ユーザ端末100から受信したチャットブログに投稿するメッセージが含まれるメッセージ情報を一時的に記憶する。ここで、チャットブログに対応したメッセージ情報には、コミュニティIDと、ユーザIDと、日時情報と、メッセージとを対応付けた情報が含まれる。コミュニティIDは、メッセージが送受信されたコミュニティを識別する情報である。ユーザIDは、メッセージを送信したユーザ(ユーザのユーザ端末100)を識別する情報である。日時情報は、メッセージが送信された日時を示す情報である。
つまり、グループIDがコミュニティIDに代わることにより、チャットブログに対応したメッセージ情報がチャットに対応したメッセージ情報と同様の構成として、メッセージ情報一時記憶部244に一時的に記憶される。また、例えば、メッセージ情報一時記憶部244は、受信したメッセージ情報が、宛先(送信先)のユーザのユーザ端末100に対して送信されるまでの間、受信したメッセージ情報を一時的に記憶する。
なお、サーバ記憶部240が備えている各記憶部のそれぞれは、サーバ装置200の内部に備えられていてもよいし、サーバ装置200の外部に備えられていてもよい。
図4に戻り、サーバ制御部250は、受信部251と、送信部252と、管理部253とを備えている。ここで、受信部251及び送信部252は、サーバ通信部230を介して、複数のユーザ端末100と通信する。
受信部251は、チャットシステム1において、複数のユーザのそれぞれが利用するユーザ端末100から送信されたメッセージを受信する。例えば、受信部251は、グループID又はコミュニティIDを宛先として送信されたメッセージ情報をユーザ端末100から受信すると、受信したメッセージ情報をメッセージ情報一時記憶部244に一時的に記憶させる。つまり、メッセージ情報一時記憶部244には、チャットに対応したメッセージ情報と、チャットブログに対応したメッセージ情報とが記憶される。
送信部252は、受信部251が受信してメッセージ情報一時記憶部244に記憶させたチャットに対応したメッセージ情報を、チャットのグループに属する複数のユーザのそれぞれのユーザ端末100のうち、当該メッセージを送信したユーザ端末100を除くユーザ端末100に対して送信する。具体的には、送信部252は、受信部251が受信したチャットに対応したメッセージ情報に含まれるグループIDに対応付けられたユーザIDを、宛先となるユーザ端末100のユーザIDとして特定する。そして、送信部252は、受信部251が受信したメッセージ情報のうちグループIDを宛先としたメッセージ情報を、宛先として特定したユーザIDが示すユーザ端末100のうち、当該メッセージ情報を送信したユーザのユーザIDが示すユーザ端末100を除くユーザ端末100に対して送信する。
例えば、図2を参照して説明したように、送信部252は、チャットのグループにおいて、ユーザBのユーザ端末100−2から送信されたメッセージ情報を、ユーザAのユーザ端末100−1と、ユーザCのユーザ端末100−3とにそれぞれ送信する。
また、送信部252は、受信部251が受信してメッセージ情報一時記憶部244に記憶させたチャットブログに対応したメッセージ情報を、当該メッセージ情報を送信したユーザが開設ユーザ(第1ユーザ)と閲覧ユーザ(第2ユーザ)とのいずれであるかに応じて、チャットブログのコミュニティに属する複数のユーザのそれぞれのユーザ端末100のうちの所定のユーザ端末100に対して送信する。ここで、送信部252は、受信部251が受信したチャットブログに対応したメッセージ情報に含まれるコミュニティIDに対応付けられたユーザIDが、そのコミュニティにおける開設ユーザのユーザIDであるか又は閲覧ユーザのユーザIDであるかを、コミュニティ情報を参照することにより特定する。
例えば、送信部252は、受信部251が受信したチャットブログに対応したメッセージ情報が、そのチャットブログのコミュニティの開設ユーザのユーザ端末100から送信されたメッセージ情報である場合には、その開設ユーザ(第1ユーザ)から送信されたメッセージ情報(第1メッセージ)を、そのコミュニティに属する一又は複数の閲覧ユーザ(第2ユーザ)のユーザ端末100のそれぞれに対して送信する。この場合、具体的には、送信部252は、受信部251が受信したチャットブログに対応したメッセージ情報に含まれるコミュニティIDに対応付けられた一又は複数の閲覧ユーザのユーザIDを、宛先となるユーザ端末100のユーザIDとして特定する。そして、送信部252は、受信部251が受信したメッセージ情報を、宛先として特定したユーザIDが示すユーザ端末100に対して送信する。
一方、送信部252は、受信部251が受信したチャットブログに対応したメッセージ情報が、そのチャットブログのコミュニティの閲覧ユーザのユーザ端末100から送信されたメッセージ情報である場合には、その閲覧ユーザ(第2ユーザ)から送信されたメッセージ情報(第2メッセージ)を、そのコミュニティに属する閲覧ユーザ(第2ユーザ)のユーザ端末100には送信せずに、そのコミュニティに属する開設ユーザ(第1ユーザ)のユーザ端末100に対して送信する。この場合、具体的には、送信部252は、受信部251が受信したチャットブログに対応したメッセージ情報に含まれるコミュニティIDに対応付けられた開設ユーザのユーザIDを、宛先となるユーザ端末100のユーザIDとして特定する。そして、送信部252は、受信部251が受信したメッセージ情報を、宛先として特定したユーザIDが示すユーザ端末100に対して送信する。
例えば、送信部252は、ユーザBが開設してユーザAとユーザCとが閲覧ユーザとして参加しているチャットブログのコミュニティにおいて、ユーザBのユーザ端末100−2から送信されたメッセージ情報を、ユーザAのユーザ端末100−1と、ユーザCのユーザ端末100−3とにそれぞれ送信する。また、送信部252は、このコミュニティにおいて、ユーザAのユーザ端末100−1又はユーザCのユーザ端末100−3から送信されたメッセージ情報を、ユーザBのユーザ端末100−2に送信する。
管理部253は、チャットシステム1において、ユーザ情報、グループ情報、及びコミュニティ情報を管理する。例えば、管理部253は、チャットシステム1に登録された複数のユーザ端末100のそれぞれに対応する互いに異なるユーザIDを含むユーザ情報をユーザ情報記憶部241に記憶させて管理する。具体的には、管理部253は、複数のユーザ端末100のそれぞれに対して互いに異なるユーザIDを発行して、ユーザ情報記憶部241に記憶させるとともに、各ユーザ端末100に対して、それぞれ対応するユーザIDを送信する。これにより、管理部253は、チャットシステム1に登録された複数のユーザ端末100のそれぞれに固有のユーザIDを設定して、それぞれのユーザ端末100を識別可能に管理する。
また、管理部253は、チャットを行うグループに登録されているユーザを示す情報として、グループのグループIDと、そのグループに属するユーザのユーザIDとを対応付けた情報を含むグループ情報をグループ情報記憶部242に記憶させて管理する(図5参照)。
また、管理部253(第1管理部)は、チャットブログを行うユーザが開設したコミュニティに登録されているユーザを示す情報として、そのコミュニティに属する開設ユーザ(第1ユーザ)のユーザIDと、閲覧ユーザ(第2ユーザ)のユーザIDと、コミュニティのコミュニティIDとを対応付けた情報を含むコミュニティ情報を、コミュニティ情報記憶部243に記憶させて管理する(図6参照)。
ここで、サーバ装置200において、管理部253が管理するコミュニティ情報には、コミュニティの開設ユーザのユーザIDと、そのコミュニティの閲覧ユーザのすべてのユーザIDとが含まれている。
なお、上述のコミュニティ情報は、コミュニティの開設ユーザのユーザ端末100と、そのコミュニティの閲覧ユーザのユーザ端末100とのそれぞれにおいても管理(記憶)されるが、開設ユーザのユーザ端末100と閲覧ユーザのユーザ端末100とではコミュニティ情報に含まれる情報が異なる。開設ユーザのユーザ端末100では、サーバ装置200において管理(記憶)されるコミュニティ情報と同様に、コミュニティの開設ユーザのユーザIDと、そのコミュニティの閲覧ユーザのすべてのユーザIDとが含まれるコミュニティ情報が管理(記憶)される(図6参照)。一方、閲覧ユーザのユーザ端末100では、コミュニティの開設ユーザのユーザIDと、そのコミュニティの閲覧ユーザのうちの自身のユーザIDのみとが含まれるコミュニティ情報が管理(記憶)される(具体例は、図11を参照して後述する)。即ち、開設ユーザはすべての閲覧ユーザを知ることができるが、閲覧ユーザどうしは互いに知ることができない。
上述のコミュニティ情報は、例えば、コミュニティに新たなユーザが参加したときに更新される。サーバ装置200は、コミュニティに新たなユーザが参加したときに、コミュニティ情報に、そのユーザのユーザIDを閲覧ユーザとして加える更新をするとともに、開設ユーザのユーザ端末100にその情報(新たに参加したユーザのユーザID)を送信する。これにより、開設ユーザのユーザ端末100は、サーバ装置200と同様に、新たに参加したユーザのユーザIDを閲覧ユーザとして加える更新をする。一方、サーバ装置200は、他の閲覧ユーザ(新たに参加してユーザ以外の既にそのコミュニティに登録されている閲覧ユーザ)のユーザ端末100には、その情報(新たに参加したユーザのユーザID)を送信しないことにより、他の閲覧ユーザには、新たに参加したユーザを知らせないようにする。
つまり、サーバ装置200の送信部252は、複数の閲覧ユーザのユーザIDそれぞれとコミュニティIDとを対応付けたコミュニティ情報を、開設ユーザのユーザ端末100に送信する。一方、送信部252は、複数の閲覧ユーザのうちの一の閲覧ユーザのユーザIDとコミュニティIDとを対応付けたコミュニティ情報を、複数の閲覧ユーザのうちの当該一の閲覧ユーザを除く閲覧ユーザのユーザ端末100には送信しない。このように、開設ユーザと閲覧ユーザとによりコミュニティ情報の送信先が異なる処理は、後述する図7に示すチャットブログのメッセージの送信先が開設ユーザと閲覧ユーザとにより異なる処理と同様である。
(チャットブログのメッセージ送信処理の動作)
次に、図7を参照して、本実施形態によるチャットシステム1の動作例を説明する。図7は、本実施形態によるチャットブログのメッセージの送信処理の一例を示すフローチャートである。この図7では、ユーザBが開設したコミュニティにおいて、チャットブログに投稿されるメッセージの送信処理の一例を示している。また、このコミュニティには、ユーザAとユーザCとが閲覧ユーザとして登録されているものとする。ここでは、開設ユーザのユーザ端末100から送信されたメッセージ(メッセージ情報)をメッセージT(第1メッセージ)とし、閲覧ユーザのユーザ端末100から送信されたメッセージ(メッセージ情報)をメッセージU(第2メッセージ)と称する。
図7に示すステップS100、S110、S120、S130、S135、S150、S160、S170、S180の各処理は、図2の同じ符号を付した各処理と同様の処理である。つまり、開設ユーザであるユーザBのユーザ端末100から送信されたメッセージTは、サーバ装置200を介して、ユーザAのユーザ端末100−1とユーザCのユーザ端末100−3とのそれぞれに送信される。ユーザAのユーザ端末100−1とユーザCのユーザ端末100−3とのそれぞれは、ユーザBのユーザ端末100から送信されたメッセージTを、サーバ装置200を介して受信してブログ画面に時系列に並べて表示する。ここで、ブログ画面とは、チャットのメッセージ画面と同様に、チャットブログに投稿されたメッセージが時系列に並べて(対話形式で)表示される画面である。ここでは、チャットのメッセージ画面と区別するために、チャットブログに投稿されたメッセージが表示される画面を、ブログ画面と称する。
続いて、閲覧ユーザから送信されたメッセージUの送信処理の動作について説明する。ユーザ端末100−1は、閲覧ユーザであるユーザAの操作に応じて、送信するメッセージの入力を受け付ける(ステップS200)。続いて、ユーザ端末100−1は、ユーザAの操作に応じて入力された(作成された)メッセージUを記憶するとともにブログ画面に表示する(ステップS210)。また、ユーザ端末100−1は、メッセージUをサーバ装置200に送信する(ステップS220)。
次に、サーバ装置200の受信部251は、ユーザ端末100−1からネットワーク5を介してメッセージUを受信し、受信したメッセージUを一時的にメッセージ情報一時記憶部244に記憶させる(ステップS230)。このとき、サーバ装置200は、このメッセージUを受信したときの受信日時をユーザ端末100−1へ受信完了通知と共に返信し、この受信日時をメッセージUがユーザ端末100−1から送信された日時情報とする。受信完了通知を受信したユーザ端末100−1は、当該受信完了通知に含まれる日時情報を取得してメッセージUと対応付けて記憶する。また、ユーザ端末100−1は、取得した日時情報に基づいて、既にブログ画面に表示しているメッセージUに対応付けて送信日時を表示する(ステップS235)。
続いて、サーバ装置200の送信部252は、メッセージ情報一時記憶部244に記憶されたメッセージUを、そのメッセージUに対応付けられているコミュニティIDとユーザID(送信ユーザであるユーザA(閲覧ユーザ)のユーザID)とに基づいて、このコミュニティの開設ユーザであるユーザBのユーザ端末100−2に対して送信する(ステップS240)。ここで、サーバ装置200は、受信したメッセージUに、ユーザID(送信ユーザであるユーザA(閲覧ユーザ)のユーザID)と、コミュニティIDと、日時情報(サーバ装置200での受信日時)と、を対応付けて送信する。
次に、ユーザBのユーザ端末100−2は、サーバ装置200から送信されたメッセージUを、ネットワーク5を介して受信する(ステップS250)。そして、ユーザ端末100−2は、受信したメッセージUを記憶するとともに、対応付けられている日時情報に基づいてメッセージUを時系列に並べてブログ画面に表示する(ステップS260)。このとき、ユーザ端末100−2は、メッセージUを時系列に並べて表示する際に、メッセージUに対応付けられているユーザIDに基づいて、メッセージUを送信したユーザを示す情報をメッセージUに対応付けて表示する。
以上説明してきたように、本実施形態によるサーバ装置200は、コミュニティを開設した開設ユーザ(第1ユーザ)と複数の閲覧ユーザ(第2ユーザ)とが登録されたコミュニティにおいて、開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)から送信されたメッセージ(第1メッセージ)と、複数の閲覧ユーザ(第2ユーザ)それぞれのユーザ端末100(端末装置)から送信されたメッセージ(第2メッセージ)とを受信する受信部251を備えている。ここで、閲覧ユーザ(第2ユーザ)とは、コミュニティにおいて、開設ユーザ(第1ユーザ)と異なる当該コミュニティに属する(参加した)ユーザであって、開設ユーザのブログを閲覧可能なユーザである。また、サーバ装置200は、受信部251が受信した開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)から送信されたメッセージ(第1メッセージ)を、複数の閲覧ユーザ(第2ユーザ)それぞれのユーザ端末100(端末装置)に送信する送信部252を備えている。また、送信部252は、受信部251が受信した複数の閲覧ユーザ(第2ユーザ)それぞれのユーザ端末100(端末装置)から送信されたメッセージ(第2メッセージ)を、複数の閲覧ユーザ(第2ユーザ)それぞれのユーザ端末100(端末装置)には送信せずに、開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)に送信する。
なお、受信部251は、チャットグループを開設したチャット開設ユーザ(第3ユーザ)と複数の参加ユーザ(第4ユーザ)とが登録されたチャットグループにおいて、チャット開設ユーザ(第3ユーザ)のユーザ端末100から送信されたチャットに対応したメッセージ(第3メッセージ)と、複数の参加ユーザ(第4ユーザ)それぞれのユーザ端末100から送信されたチャットに対応したメッセージ(第4メッセージ)とを受信可能としてよい。この場合、送信部252は、受信部251が受信したチャット開設ユーザ(第3ユーザ)のユーザ端末100から送信されたチャットに対応したメッセージ(第3メッセージ)を、複数の参加ユーザ(第4ユーザ)それぞれのユーザ端末100(端末装置)に送信する。また、受信部251が受信した複数の参加ユーザ(第4ユーザ)それぞれのユーザ端末100(端末装置)から送信されたチャットに対応したメッセージ(第4メッセージ)を、他の参加ユーザ(第4ユーザ)それぞれのユーザ端末100(端末装置)に送信すると共に、チャット開設ユーザ(第3ユーザ)のユーザ端末100(端末装置)に送信する。すなわち、受信部251と送信部252は、チャットブログに対応したメッセージと、チャットに対応したメッセージの双方に対応可能としてよい。
つまり、サーバ装置200は、コミュニティにおいて、開設ユーザから送信されたメッセージを、そのコミュニティに登録されている閲覧ユーザそれぞれに送信し、閲覧ユーザから送信されたメッセージを、そのコミュニティの開設ユーザのみに送信する。
これにより、サーバ装置200は、コミュニティにおいて、開設ユーザが複数の閲覧ユーザに対してメッセージを送信(例えば、ブログへの投稿)をすることができるとともに、閲覧ユーザが開設ユーザに対してのみメッセージを送信(例えば、ブログへの投稿)することができる。よって、本実施形態によれば、チャットアプリケーション上で、対話形式でブログを簡単に行うことができるようにしたため、チャット感覚で気軽にブログを運用することができる。即ち、本実施形態によれば、チャットアプリケーションの利便性を向上させることができる。
例えば、本実施形態によれば、自宅で犬のトリミングサービスを提供しているユーザは、当該サービスに関するチャットブログを行うためのコミュニティを開設し、トリミングサービスの概要(トリミングの種類、料金体系等)、又は営業日や休業日の情報等をメッセージとして(チャットにより送信するメッセージと同様にチャットブログへの投稿メッセージとして)、閲覧ユーザに提供することができる。また、開設ユーザは、閲覧ユーザからの予約をメッセージにより受け付けたり、予約状況(空き状況)をメッセージとして閲覧ユーザに提供したりすることができる。また、開設ユーザは、トリミング後の犬の写真をメッセージとして送信することができる。この犬の写真の例では、他の閲覧ユーザが当該サービスを利用する場合のトリミングのカットスタイルを、掲載されている写真の中から参考にすることができるようになる。
また、サーバ装置200は、コミュニティに登録されているユーザを示す情報(コミュニティ情報)として、開設ユーザ(第1ユーザ)及び複数の閲覧ユーザ(第2ユーザ)のそれぞれと、当該コミュニティとを対応付けた情報を管理する管理部253(第1管理部)を備えている。そして、送信部252は、複数の閲覧ユーザ(第2ユーザ)のそれぞれと当該コミュニティとを対応付けた情報(コミュニティ情報)を、開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)に送信する。一方、送信部252は、複数の閲覧ユーザ(第2ユーザ)のうちの一の閲覧ユーザ(第2ユーザ)と当該コミュニティとを対応付けた情報(コミュニティ情報)を、複数の閲覧ユーザ(第2ユーザ)のうちの当該一の閲覧ユーザ(第2ユーザ)を除く閲覧ユーザ(第2ユーザ)のユーザ端末100(端末装置)には送信しない。
つまり、サーバ装置200は、コミュニティ登録されているすべての閲覧ユーザを示す情報(例えばユーザID)を含むコミュニティ情報を開設ユーザのユーザ端末100に送信する。また、サーバ装置200は、コミュニティ登録されている少なくとも一以上の閲覧ユーザを示す情報(例えばユーザID)を含むコミュニティ情報を閲覧ユーザ(第2ユーザ)のユーザ端末100には送信しない。これにより、サーバ装置200は、開設ユーザがコミュニティ登録されているすべての閲覧ユーザを知ることができるようにし、閲覧ユーザどうしは互いに知ることができないようにすることができる。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。本実施形態では、チャットシステム1におけるユーザ端末100の構成と処理について詳しく説明する。
(ユーザ端末100の構成)
まず、ユーザ端末100の構成について説明する。図8は、本実施形態によるユーザ端末100の構成を示す概略ブロック図である。ユーザ端末100は、表示部110と、操作受付部120と、通信部130と、記憶部140と、制御部150とを備えている。なお、図1に示す複数のユーザ端末100−Nは、同様の各部を備えるものとする。
表示部110は、画像や文字等の情報を表示する表示デバイスである。表示部110の情報を表示する領域を画面といい、表示部110の画面に表示される情報を画面情報という。なお、この画面情報には一画面では表示しきれない情報も含まれる。例えば、表示部110は、チャットアプリケーションにおいて、グループ内のユーザ間で送受信したメッセージを時系列に並べて表示するメッセージ画面の画面情報を表示部110に表示する。また、表示部110は、チャットアプリケーションにおいて、チャットブログに投稿するためにコミュニティ内のユーザ間で送受信したメッセージを時系列に並べて表示するブログ画面の画面情報を表示部110に表示する。ここで、表示部110が表示する画面情報は、ユーザからの操作に応じて制御部150によって制御される。
操作受付部120は、ユーザからの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示を生成する入力部(入力デバイス)である。操作受付部120には、例えば、キーボードやボタン、タッチパネル等を適用できる。本実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明する。チャットアプリケーションにおいて、ユーザのタッチパネルへの操作に応じて、操作受付部120は、例えば、チャットシステム1への登録、送信するメッセージの入力、ユーザ情報(ユーザ名、ユーザ画像、メールアドレス等)の入力、グループの作成やグループへの登録、コミュニティの開設やコミュニティへの登録(参加)等を受け付ける。また、ユーザのタッチパネルへの操作に応じて、操作受付部120は、表示部110に表示する画面の切替え指示やスクロール指示等を受け付ける。
通信部130は、ネットワーク5を介してサーバ装置200と通信する。
記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュROM、HDD(Hard Disk Drive)等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末100が備える各部を制御するためのプログラムや各種情報を記憶する。また、記憶部140は、ユーザ端末100に装着するメモリカードであってもよい。記憶部140は、ユーザ情報記憶部141と、グループ情報記憶部142と、コミュニティ情報記憶部143と、メッセージ情報記憶部144と、画面情報記憶部145とを備えている。
ユーザ情報記憶部141は、チャット又はチャットブログを行うユーザに関するユーザ情報を記憶する。図9及び図10は、ユーザ情報記憶部141に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザIDと、ユーザ名と、ユーザ画像とを対応付けた情報が含まれる。ユーザIDは、上述したサーバ装置200のユーザ情報記憶部241に記憶されているユーザIDと同様の情報であって、ユーザが利用する端末を一意に識別する情報である。このユーザIDは、例えば、ユーザ端末100が最初にチャットシステム1に登録されたときにサーバ装置200から取得して、記憶される。ユーザ名は、そのユーザの名称である。ユーザ画像は、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザIDと、ユーザ名と対応付けられており、ユーザ情報記憶部141は、上述のユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。なお、ユーザ情報記憶部141は、ユーザ情報として、自ユーザのユーザ情報と、チャット相手となる他ユーザのユーザ情報とを記憶する。
図9に示すユーザ情報は、自ユーザのユーザ情報の一例であって、ユーザAのユーザ端末100−1に記憶されているユーザAのユーザ情報の例である。ここでは、ユーザ端末100−1のユーザ情報として、ユーザID(「A」)と、ユーザAのユーザ名(「nameA」)、とユーザAのユーザ画像とが対応付けられている。
また、図10に示すユーザ情報は、グループ又はコミュニティに登録可能な他ユーザのユーザ情報の一例であって、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報(ユーザB、及びユーザCのユーザ情報を含むユーザ情報)の例である。この図10に示す他ユーザのユーザ情報は、他ユーザそれぞれのユーザ端末100−Nでそのユーザ自身で登録したものである。この図10に示す、ユーザAのユーザ端末100−1に記憶されている他ユーザのユーザ情報は、チャット相手として登録可能な所定の関係(例えば、友達関係)になるとき、又は、チャット相手として登録されたときに、サーバ装置200を介して他ユーザそれぞれのユーザ端末100−Nから取得して記憶される。
なお、ユーザ端末100が備えるユーザ情報記憶部141には、そのユーザ自身に関連する情報(例えば、ユーザ自身のユーザ情報、及び、ユーザ自身と同じグループ又はコミュニティに登録可能な他ユーザのユーザ情報)のみが記憶されている。これに対し、サーバ装置200が備えるユーザ情報記憶部241には、サーバ装置200を介してメッセージの送受信を行う全てのユーザ(例えば、チャットシステム1に登録されている全てのユーザ)に関する情報が記憶されている。
グループ情報記憶部142は、チャットを行うユーザのグループに関する情報を記憶する。例えば、グループ情報記憶部142は、サーバ装置200のグループ情報記憶部242に記憶されているグループ情報と同様の情報が記憶される。
なお、ユーザ端末100が備えるグループ情報記憶部142には、そのユーザ自身に関連するグループのグループ情報(例えば、ユーザ自身が属するグループのグループ情報)のみが記憶される。これに対し、サーバ装置200が備えるグループ情報記憶部242には、サーバ装置200を介してメッセージの送受信を行う全てのユーザに関するグループ(例えば、チャットシステム1において生成された全てのグループ)のグループ情報が記憶される。
コミュニティ情報記憶部143は、チャットブログを行うコミュニティに関するコミュニティ情報を記憶する。例えば、コミュニティ情報記憶部143は、自ユーザが開設したコミュニティのコミュニティ情報、及び、自ユーザが参加しているコミュニティのコミュニティ情報を記憶する。
即ち、ユーザ端末100が備えるコミュニティ情報記憶部143には、そのユーザ自身に関連する(属する)コミュニティのコミュニティ情報のみが記憶される。これに対し、サーバ装置200が備えるコミュニティ情報記憶部243には、サーバ装置200を介してメッセージの送受信を行う全てのユーザに関するコミュニティ(例えば、チャットシステム1において生成された全てのコミュニティ)のコミュニティ情報が記憶される。
ここで、サーバ装置200のコミュニティ情報記憶部243には、そのコミュニティの開設ユーザのユーザIDと、そのコミュニティに登録されている全ての閲覧ユーザのユーザIDとが含まれるコミュニティ情報が記憶される。これに対し、ユーザ端末100のコミュニティ情報記憶部143には、他ユーザが開設したコミュニティであって、自ユーザが参加している(登録されている)コミュニティである場合には、そのコミュニティの開設ユーザのユーザIDが含まれるとともに、閲覧ユーザとしては自ユーザのユーザIDのみが含まれるコミュニティ情報が記憶される。
図11は、コミュニティ情報記憶部143に記憶されるコミュニティ情報の一例を示す図である。この図11に示すコミュニティ情報は、ユーザAのユーザ端末100−1のコミュニティ情報記憶部143に記憶されるコミュニティ情報の一例である。このコミュニティ情報には、ユーザBが開設したコミュニティに登録されているユーザのユーザIDとして、開設ユーザであるユーザBのユーザIDと、閲覧ユーザである自ユーザ(ユーザA)のユーザIDとが含まれている。
なお、自ユーザが開設したコミュニティである場合には、ユーザ端末100のコミュニティ情報記憶部143は、サーバ装置200のコミュニティ情報記憶部243に記憶されるコミュニティ情報と同様に、そのコミュニティの開設ユーザである自ユーザのユーザIDと、そのコミュニティに登録されている全ての閲覧ユーザのユーザIDとが含まれるコミュニティ情報を記憶する。例えば、図11に示すコミュニティID「CM1」のコミュニティと同じコミュニティのコミュニティ情報が、ユーザBのユーザ端末100−2のコミュニティ情報記憶部143では、開設ユーザであるユーザB(自ユーザ)のユーザIDと全ての閲覧ユーザ(ユーザA及びユーザC)のユーザIDとが含まれるコミュニティ情報として記憶される。
メッセージ情報記憶部144は、自ユーザが属するグループ又はコミュニティにおいて送受信されたメッセージに関するメッセージ情報を記憶する。このメッセージ情報には、サーバ装置200のメッセージ情報一時記憶部244に一時的に記憶されるメッセージ情報と同様に、グループID又はコミュニティIDと、ユーザIDと、日時情報と、メッセージとを対応付けした情報が含まれる。
図8に戻り、画面情報記憶部145は、チャット、又はチャットブログにおいて、送受信された複数のメッセージを時系列に並べて(対話形式で)表示するメッセージ画面の画面情報、又はブログ画面の画面情報を一時的に記憶する。
制御部150は、ユーザ端末100の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、ユーザ端末100が備える各部を制御する。制御部150は、指示部151と、メッセージ送受信部152と、コミュニティ開設部153と、表示制御部154と、を備えている。
指示部151は、操作受付部120に対するユーザの操作に応じて操作受付部120により生成された入力指示に基づいて、指示情報を生成する。例えば、指示部151は、操作受付部120により生成された入力指示に基づいて、チャット又はチャットブログにおけるメッセージの送信指示やメッセージの表示指示を生成する。この指示部151が生成した指示に基づいて、メッセージ送受信部152がメッセージを送信する処理を行い、表示制御部154がメッセージを表示部110に表示させる処理を行う。
例えば、指示部151は、チャットのメッセージ画面において(例えば、図3に示すテキストボックスE31に)メッセージが入力され、その入力されたメッセージを送信する操作(例えば、図3に示す送信ボタンE32に対するタップ操作)がされると、入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループIDと、メッセージを入力したユーザである自ユーザを識別するユーザIDと、を対応付けたメッセージ情報を含む送信指示を生成する。また、指示部151は、チャットブログのブログ画面においても同様に、メッセージが入力され、その入力されたメッセージを送信する操作がされると、そのメッセージが入力されたブログ画面のチャットブログのコミュニティを識別するコミュニティIDと、メッセージを入力したユーザである自ユーザを識別するユーザIDと、を対応付けたメッセージ情報を含む送信指示を生成する。
メッセージ送受信部152は、指示部151が、操作受付部120に対する操作に応じて送信指示を生成すると、生成された送信指示に含まれるメッセージ情報を、当該メッセージ情報に含まれるグループID又はコミュニティIDを宛先として、サーバ装置200に送信する。このとき、メッセージ情報に含まれるグループID又はコミュニティID、ユーザID(自ユーザ)、及びメッセージを、新たなレコード(1メッセージ分のデータ)としてメッセージ情報記憶部144に記憶させる。なお、メッセージ送受信部152は、送信したメッセージ情報に対応して受信するサーバ装置200から受信完了通知と共に日時情報(サーバ装置200がこのメッセージを受信したときの受信日時情報)を取得し、対応するメッセージのレコードの日時情報を更新する。また、メッセージ送受信部152は、他のユーザ端末100から自ユーザが属するグループIDを宛先として送信されたメッセージ情報を、サーバ装置200から受信する。そして、メッセージ送受信部152は、受信したメッセージ情報に含まれるグループID又はコミュニティID、ユーザID、日時情報、及びメッセージを、新たなレコードとしてメッセージ情報記憶部144に記憶させる。
コミュニティ開設部153は、ユーザからの操作受付部120に対する操作に応じて、チャットブログを行うコミュニティを開設する。具体的には、コミュニティ開設部153は、操作受付部120に対するユーザの操作に応じて生成されたコミュニティを開設する指示に基づいて、コミュニティを開設する要求信号をサーバ装置200に送信する。このコミュニティを開設する要求信号には、このコミュニティを開設する指示をした開設ユーザのユーザIDと、操作受付部120に対する操作に応じて設定されたコミュニティ名とが含まれている。サーバ装置200は、この要求信号を受け取ると、要求信号に含まれるユーザIDを開設ユーザとしたコミュニティ情報を生成して記憶する(コミュニティ情報記憶部243に記憶させる)。また、コミュニティ開設部153は、サーバ装置200が生成したコミュニティ情報を取得して、コミュニティ情報記憶部143に記憶させる。
表示制御部154は、自ユーザの操作に応じて自ユーザのユーザ端末100から送信するメッセージと、一又は複数の他ユーザの操作に応じて他のユーザ端末100から送信されたメッセージとを、時系列に並べて表示部110に表示させる。また、表示制御部154は、表示させるメッセージに当該メッセージを送信したユーザを示す情報(例えば、ユーザ名やユーザ画像)を対応付けて表示させる(例えば、図3参照)。具体的には、表示制御部154は、指示部151が生成した表示指示に応じて、メッセージ情報記憶部144に記憶されている複数のメッセージ情報を読み出し、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた日時情報に基づいて時系列に並べたメッセージ画面又はブログ画面の画面情報を生成して画面情報記憶部145に記憶させる。
そして、表示制御部154は、生成した画面情報のうちの一部を表示部110に表示させる。例えば、表示制御部154は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部110に表示させる。初期段階で表示部110に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい日時情報が対応付けられたメッセージ(最新のメッセージ)が含まれる箇所とすることができる。
また、表示制御部154は、自ユーザのユーザ端末100から送信するメッセージと、他ユーザのユーザ端末100から送信されたメッセージとを区別して、時系列に並べて表示部110に表示させる。例えば、図3に示すように、表示制御部154は、自ユーザのユーザ端末100から送信するメッセージをメッセージ画面の右側からの吹き出しに表示させ、他ユーザのユーザ端末100から送信されたメッセージをメッセージ画面の左側からの吹き出しに表示させる。
(ブログ画面の表示例)
次に、図12及び図13を参照して、ユーザ端末100が表示するブログ画面について説明する。なお、この図12及び図13において、図3の各部に対応する部分には同一の符号をつけており、適宜説明を省略する。図12は、コミュニティID「CM1」のコミュニティにおけるチャットブログのブログ画面であって、閲覧ユーザであるユーザAのユーザ端末100−1が表示するブログ画面の一例を示す図である。
このコミュニティID「CM1」のコミュニティは、開設ユーザであるユーザBと、閲覧ユーザであるユーザA及びユーザCとが登録されているが(図6参照)、ユーザAのユーザ端末100−1には、自ユーザ以外の閲覧ユーザ(ここでは、ユーザCのユーザ端末100−3)から送信されたメッセージが届かない(図7、図11参照)。そのため、この図に示すユーザAのユーザ端末100−1が表示するブログ画面には、ユーザA(自ユーザ)がユーザB(他ユーザ)とチャット(1対1チャット)行ったときのメッセージ画面と同様に、閲覧ユーザであるユーザA(自ユーザ)のユーザ端末100−1から送信するメッセージと、開設ユーザであるユーザB(他ユーザ)のユーザ端末100−2から送信されたメッセージとが表示される。
符号110aの領域には、図3に示すメッセージ画面に代えて、ブログ画面が表示されている。このブログ画面は、メッセージ画面と同様に、送受信された複数のメッセージのうちの一部分が表示されている。符号110bの領域には、コミュニティ名(ここでは、「ブログB」)が表示される。
符号110cの領域には、そのコミュニティにおいて送信されたメッセージが、そのメッセージが送信された日時に基づいて昇順(新しいメッセージが符号110cの領域の下側)に表示されるように表示コンポーネントが配置される。例えば、符号110cの領域には、他ユーザのユーザ端末100から送信されたメッセージがブログ画面の左側からの吹き出しに表示され、自ユーザが送信するメッセージがブログ画面の右側からの吹き出しに表示される。
左側からの吹き出しE1には、他ユーザ(ここでは、開設ユーザであるユーザB)から送信されたメッセージが表示される。アイコンE2は、吹き出しE1に表示されるメッセージを送信したユーザを示すアイコンであって、ここでは、ユーザBを示すユーザ画像である。ユーザ名ラベルE3には、アイコンE2に対応するユーザのユーザ名が表示される。ここでは、ユーザBのユーザ名を「nameB」とし、ユーザBのユーザ名が表示される。一方、右側からの吹き出しE4には、自ユーザ(ここでは、閲覧ユーザであるユーザA)が送信するメッセージが表示される。
符号110dの領域には、図3に示すメッセージ画面の符号110dの領域と同様に、他のユーザ端末100にメッセージを送信するための表示コンポーネント(テキストボックスE31、送信ボタンE32)が配置される。
続いて、開設ユーザのユーザ端末100が表示するブログ画面について説明する。
図13は、コミュニティID「CM1」のコミュニティにおけるチャットブログのブログ画面であって、開設ユーザであるユーザBのユーザ端末100−2が表示するブログ画面の一例を示す図である。
ユーザBのユーザ端末100−2が表示するブログ画面には、ユーザB(自ユーザ)がユーザA及びユーザC(他ユーザ)とチャット(グループチャット)行ったときのメッセージ画面と同様に、開設ユーザであるユーザB(自ユーザ)のユーザ端末100−2から送信するメッセージと、閲覧ユーザであるユーザA及びユーザC(他ユーザ)から送信されたメッセージとが表示される。
符号110cの領域において、ブログ画面の右側からの吹き出しE21、E22には、自ユーザ(ここでは、開設ユーザであるユーザB)が送信するメッセージが表示される。また、ブログ画面の左側からの吹き出しE11、E14には、他ユーザ(ここでは、閲覧ユーザであるユーザA又はユーザC)から送信されたメッセージが表示される。
ここでは、吹き出しE11には、ユーザAから送信されたメッセージが表示されている。また、吹き出しE14には、ユーザCから送信されたメッセージが表示されている。アイコンE12は、吹き出しE11に表示されるメッセージを送信したユーザAを示すアイコンであって、ユーザ名ラベルE13には、アイコンE12に対応するユーザAのユーザ名(ここでは、「nameA」)が表示される。アイコンE15は、吹き出しE14に表示されるメッセージを送信したユーザCを示すアイコンであって、ユーザ名ラベルE16には、アイコンE15に対応するユーザCのユーザ名(ここでは、「nameC」)が表示される。
このように、コミュニティにおいて、開設ユーザのユーザ端末100が表示するブログ画面には、この端末を利用している開設ユーザが送信するメッセージと、このコミュニティに属する全ての閲覧ユーザから送信されたメッセージとが表示される(図13参照)。一方、コミュニティにおいて、閲覧ユーザのユーザ端末100が表示するブログ画面には、この端末を利用している閲覧ユーザが送信するメッセージと、このコミュニティの開設ユーザから送信されたメッセージとが表示される(図12参照)。
なお、上述の実施形態では、自ユーザが送信するメッセージと他ユーザから送信指されたメッセージとが、メッセージ画面又はブログ画面の右側からの吹き出しと左側からの吹き出しとによって区別される例を示したが、区別される方法はこれに限られるものではない。例えば、自ユーザが送信するメッセージと他ユーザから送信されたメッセージとが、メッセージが表示される吹き出しの色、形、枠の線種等によって区別されてもよいし、単に、送信ユーザを示すユーザ情報(ユーザ名やユーザ画像)がメッセージに対応付けて表示されることによって区別されてもよい。
以上説明してきたように、ユーザ端末100(端末装置)は、サーバ装置200を介して複数の他ユーザそれぞれのユーザ端末100とメッセージを送受信するメッセージ送受信部152と、メッセージ送受信部152が送受信するメッセージを時系列に並べて表示部110に表示させる表示制御部154と、を備えている。また、ユーザ端末100は、複数の他ユーザを登録可能なコミュニティを開設するコミュニティ開設部153(開設部)を備えている。このコミュニティ開設部153(開設部)は、サーバ装置200を介して、自ユーザのユーザ端末100から送信したメッセージ(第1メッセージ)が複数の他ユーザそれぞれのユーザ端末100に送信され、複数の他ユーザそれぞれのユーザ端末100から送信されたメッセージ(第2メッセージ)が複数の他ユーザそれぞれのユーザ端末100には送信されずに自ユーザのユーザ端末100に送信されるコミュニティを開設する。ここで、このコミュニティにおいて送信されるメッセージは、例えば、このコミュニティにおけるブログへの投稿メッセージである。また、上述の自ユーザがこのコミュニティの開設ユーザであって、他ユーザがこのコミュニティ閲覧ユーザである。
これにより、ユーザ端末100は、開設ユーザから送信されたメッセージが、そのコミュニティに登録されている閲覧ユーザそれぞれに送信され、閲覧ユーザから送信されたメッセージが、そのコミュニティの開設ユーザのみに送信されるチャットブログを行うコミュニティを開設することができる。例えば、ユーザ端末100は、チャットアプリケーション上で、このコミュニティを開設することができ、このコミュニティにおけるチャットブログに投稿されるメッセージを、チャットのメッセージ画面と同様にメッセージが時系列に表示されるブログ画面に表示することができる。
よって、本実施形態によれば、チャットアプリケーション上で、対話形式でブログを簡単に行うことができるようにしたため、チャット感覚で気軽にブログを運用することができる。即ち、本実施形態によれば、チャットアプリケーションの利便性を向上させることができる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。
第1の実施形態では、コミュニティにおいて、開設ユーザから送信されたメッセージをサーバ装置200が全ての閲覧ユーザに対して送信(転送)する処理を説明したが、サーバ装置200は、開設ユーザから送信されたメッセージを特定の閲覧ユーザに対してのみ送信することができるようにしてもよい。本実施形態では、開設ユーザが所定の操作に応じて送信したメッセージを、サーバ装置200が特定の閲覧ユーザに対して送信する処理について説明する。以下、このコミュニティにおいて、開設ユーザが特定の閲覧ユーザに対してのみ送信するメッセージを、「プライベートメッセージ」とも称する。
このプライベートメッセージの送信処理としては、開設ユーザのユーザ端末100のメッセージ送受信部152は、複数の閲覧ユーザ(他ユーザ)のうち、所定の操作に応じて選択された特定の閲覧ユーザが送信先として設定されたメッセージをサーバ装置200に送信する。サーバ装置200は、受信部251が受信したメッセージに、特定の閲覧ユーザが送信先として設定されている場合、当該受信したメッセージを、この設定されている特定の閲覧ユーザのユーザ端末100に送信する。これにより、開設ユーザは、コミュニティにおいてチャットブログに投稿するメッセージを、特定の閲覧ユーザを送信先として設定して送信することにより、そのメッセージを特定の閲覧ユーザに送信することができる。
ここで、上述の所定の操作とは、開設ユーザのユーザ端末100において、コミュニティに登録されている(参加している)複数の閲覧ユーザのなかから特定の閲覧ユーザを選択する操作である。例えば、この所定の操作は、前述の図13に示すブログ画面において、閲覧ユーザから送信されたメッセージが表示されている吹き出し(吹き出しE11、E14)、又は、吹き出しに対応して表示される閲覧ユーザを示すアイコン(アイコンE12、E15)に対する操作(例えば、タップ操作)である。例えば、図13に示す吹き出しE14に対して操作(例えば、タップ操作)がされると(符号K1参照)、この吹き出しE14に表示されているメッセージを送信したユーザCが特定の閲覧ユーザとして選択される。開設ユーザは、この特定の閲覧ユーザを選択してからメッセージを入力して送信することにより、この特定の閲覧ユーザを送信先としたプライベートメッセージを送信することができる。
図14は、本実施形態によるプライベートメッセージの送信処理の一例を示すフローチャートである。この図14を参照して、チャットシステム1におけるチャットブログのプライベートメッセージの送信処理の動作例を説明する。この図に示す例は、コミュニティID「CM1」のコミュニティにおいて、開設ユーザであるユーザBが、ユーザC(特定の閲覧ユーザ)を送信先として選択してメッセージ(プライベートメッセージ)を送信した場合の処理を示している。
まず、ユーザ端末100−2の操作受付部120は、開設ユーザであるユーザBの操作に応じて、プライベートメッセージとして送信する送信先ユーザ(特定の閲覧ユーザ)を選択する選択指示を受け付ける(ステップS300)。次に、ユーザ端末100−2の操作受付部120は、ユーザBの操作に応じて、送信するメッセージの入力を受け付ける(ステップS305)。続いて、ユーザ端末100−2の表示制御部154は、このメッセージTをブログ画面に表示させる(ステップS310)。また、ユーザ端末100−2のメッセージ送受信部152は、ユーザBの操作に応じて入力された(作成された)メッセージTをメッセージ情報記憶部144に記憶させるとともに、このメッセージTをサーバ装置200に送信する(ステップS320)。ここで、ユーザ端末100−2は、メッセージTをプライベートメッセージとして送信する場合には、送信先として選択されたユーザC(特定の閲覧ユーザ)のユーザIDを対応付けて送信する。
なお、ユーザ端末100−2の表示制御部154は、特定の閲覧ユーザに対して送信するメッセージ(プライベートメッセージ)をブログ画面に表示させる場合に、そのメッセージの送信先がわかるように表示させてもよい。例えば、表示制御部154は、プライベートメッセージをブログ画面に表示させる場合には、プライベートメッセージと、そのメッセージの送信先として選択された特定の閲覧ユーザを示す情報とを対応付けてブログ画面に表示さてもよい。
次に、サーバ装置200の受信部251は、ユーザ端末100−2からネットワーク5を介してメッセージTを受信し、受信したメッセージTを一時的にメッセージ情報一時記憶部244に記憶させる(ステップS330)。このとき、サーバ装置200は、このメッセージTを受信したときの受信日時をこのメッセージTの送信日時の日時情報として、ユーザ端末100−2へ受信完了通知と共に返信する。受信完了通知を受信したユーザ端末100−2のメッセージ送受信部152は、当該受信完了通知に含まれる日時情報を取得してメッセージTと対応付けてメッセージ情報記憶部144に記憶させる。また、ユーザ端末100−2の表示制御部154は、取得した日時情報に基づいて、既にブログ画面に表示しているメッセージTに対応付けて送信日時を表示させる(ステップS335)。
続いて、サーバ装置200の送信部252は、メッセージ情報一時記憶部244に記憶されたメッセージTを、そのメッセージTに対応付けられている送信先として選択されたユーザC(特定の閲覧ユーザ)のユーザIDに基づいて、ユーザCのユーザ端末100−3に対して送信する(ステップS340)。ここで、サーバ装置200は、受信したメッセージTに、コミュニティIDと、ユーザID(送信ユーザであるユーザBのユーザIDと、送信先として選択されたユーザCのユーザID)と、日時情報(サーバ装置200での受信日時)と、を対応付けて送信する。
次に、ユーザCのユーザ端末100−3のメッセージ送受信部152は、サーバ装置200から送信されたメッセージTを、ネットワーク5を介して受信してメッセージ情報記憶部144に記憶させる(ステップS350)。そして、ユーザ端末100−3の表示制御部154は、受信したメッセージTを、そのメッセージTに対応付けられている日時情報に基づいて時系列に並べてブログ画面に表示させる(ステップS360)。なお、表示制御部154は、このメッセージTをブログ画面に表示させる際に、プライベートメッセージであることがわかるように、メッセージが表示される吹き出しの色、形、枠の線種等によって区別して表示させてもよい。
以上説明したように、本実施形態によるユーザ端末100(開設ユーザのユーザ端末100)は、第2の実施形態で説明したコミュニティにおいて、メッセージ送受信部152が、複数の他ユーザ(閲覧ユーザ)のうち、所定の操作に応じて選択された特定の他ユーザ(閲覧ユーザ)が送信先として設定されたメッセージをサーバ装置200に送信する。
これにより、開設ユーザのユーザ端末100は、コミュニティにおいて、特定の閲覧ユーザを送信先としてメッセージ(プライベートメッセージ)を送信することができる。
ここで、ユーザ端末100(開設ユーザのユーザ端末100)の表示制御部154は、他ユーザ(閲覧ユーザ)のユーザ端末100(端末装置)から送信されたメッセージ及び当該送信されたメッセージに対応した他ユーザ(閲覧ユーザ)を示す情報のうちの少なくとも一方を、複数の他ユーザ(閲覧ユーザ)のいずれかを選択可能な操作子として表示させてもよい。そして、メッセージ送受信部152は、所定の操作として、上述の操作子に対する操作がされた場合、当該操作に応じて選択された特定の他ユーザ(閲覧ユーザ)が送信先として設定されたメッセージをサーバ装置200に送信してもよい。
つまり、ユーザ端末100は、チャットブログのブログ画面に表示される他ユーザ(閲覧ユーザ)から送信されたメッセージが表示される吹き出し、又は他ユーザ(閲覧ユーザ)を示すアイコンを、メッセージ(プライベートメッセージ)を送信する際の送信先となる特定の閲覧ユーザを選択可能な操作子として表示する。
これにより、ユーザ端末100(開設ユーザのユーザ端末100)は、チャットブログのブログ画面に対するユーザの操作によって選択された閲覧ユーザを送信先としてメッセージ(プライベートメッセージ)を送信することができる。よって、ユーザ端末100は、コミュニティにおいて、特定の閲覧ユーザを送信先としてメッセージ(プライベートメッセージ)を送信する際の特定の閲覧ユーザを、ユーザに容易に選択させることができる。
なお、チャットブログのブログ画面において表示される閲覧ユーザから送信されたメッセージが表示される吹き出し、又は閲覧ユーザを示すアイコンを、メッセージ(プライベートメッセージ)を送信する際の送信先となる特定の閲覧ユーザを選択可能な操作子として表示する例を説明したが、これに限られるものではない。例えば、ユーザ端末100は、閲覧ユーザの名前を示す情報、吹き出し以外の形式のオブジェクト、又はメッセージ自体を、上述の特定の閲覧ユーザを選択可能な操作子として表示してもよい。
また、上述の特定の閲覧ユーザを選択可能な操作子は、ブログ画面に表示されるメッセージ又は閲覧ユーザを示す情報に限られるものではない。例えば、ユーザ端末100は、コミュニティに属する閲覧ユーザを一覧可能なリストを表示し、そのリスト内の閲覧ユーザそれぞれを示す情報を、上述の特定の閲覧ユーザを選択可能な操作子として表示してもよい。また、ユーザ端末100は、音声入力機能を備え、ユーザが上述の特定の閲覧ユーザのユーザ名を音声入力することにより、上述の特定の閲覧ユーザを選択してもよい。
また、サーバ装置200の受信部251が受信したメッセージ(第1メッセージ)に、特定の閲覧ユーザ(第2ユーザ)が送信先として設定されている場合、当該受信したメッセージ(第1メッセージ)を、複数の閲覧ユーザ(第2ユーザ)のうちの当該特定の閲覧ユーザ(第2ユーザ)のユーザ端末100(端末装置)に送信する。
これにより、サーバ装置200は、コミュニティにおいて、ユーザ端末100から特定の閲覧ユーザが送信先として設定されたメッセージを、当該特定のユーザのユーザ端末100にのみ送信することができる。よって、本実施形態によれば、コミュニティを開設したユーザは、ブログに投稿するメッセージをそのコミュニティの閲覧ユーザ全てに閲覧可能とすることができるとともに、特定の閲覧ユーザを設定してブログにメッセージを投稿することにより、その特定の閲覧ユーザにのみ閲覧可能なメッセージを投稿することができる。
なお、上述の実施形態では、コミュニティにおいて、開設ユーザから送信されたメッセージを特定の閲覧ユーザに対してのみ送信するプライベートメッセージの処理を説明したが、このプライベートメッセージの処理に代えて、開設ユーザと特定の閲覧ユーザとのチャット(1対1チャット)の処理としてもよい。
例えば、開設ユーザのユーザ端末100は、ブログ画面において、閲覧ユーザから送信されたメッセージが表示されている吹き出し、又は、吹き出しに対応して表示される閲覧ユーザを示すアイコンに対する操作がされると(図13、符号K1参照)、当該閲覧ユーザとの1対1チャットのメッセージ画面に移行して、開設ユーザと当該閲覧ユーザとのチャットが行えるようにしてもよい。
ここで、コミュニティにおいて、プライベートメッセージの処理とした場合には、ブログ画面のみで、プライベートメッセージも含むブログに投稿されるすべてのメッセージ(開設ユーザから全閲覧ユーザへのメッセージ、閲覧ユーザから開設ユーザへのメッセージ、開設ユーザから特定の閲覧ユーザへのメッセージ)のやりとりが可能である。一方、コミュニティにおけるプライベートメッセージの処理に代えて1対1チャットとする例では、ブログに投稿されるメッセージと1対1チャットにおけるメッセージとのやりとりを、ブログ画面とメッセージ画面とを行き来しながら行うことになる。
<第4の実施形態>
次に、本発明の第4の実施形態を説明する。本実施形態のチャットシステム1の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、チャットシステム1が、ユーザが参加しているコミュニティに関する情報を、所定の関係にあるユーザに公開する処理について説明する。
ここで、上述の所定の関係とは、チャットシステム1(チャットアプリケーション)に登録されているユーザのうちのユーザ同士の互いの関係であって、例えば、ユーザが自身の属するチャットのグループに登録可能な友達関係である。
サーバ装置200のユーザ情報記憶部241には、チャットシステム1に登録されているユーザIDと、そのユーザと所定の関係にあるユーザのユーザIDとが対応付けられている。サーバ装置200は、コミュニティに登録されていないユーザのうち、当該コミュニティに登録されているユーザと所定の関係にあるユーザのユーザ端末100に対して、当該コミュニティに関する情報を送信することにより公開する。
図15は、本実施形態による、コミュニティを公開する処理の一例を示すフローチャートである。この図は、コミュニティに属するユーザと所定の関係にあるユーザのユーザ端末100に対しては、当該コミュニティに関する情報を送信するサーバ装置200の処理の一例を示している。
まず、特定のユーザのコミュニティ参加リスト(参加しているコミュニティ、又は開設しているコミュニティに関する情報のリスト)を取得するためのユーザの操作に応じて、ユーザ端末100は、サーバ装置200から特定のユーザのコミュニティ参加リストが送信されるように送信要求をサーバ装置200に対して送信する。
サーバ装置200において、受信部251が、ユーザ端末100から、特定のユーザのコミュニティ参加リストの送信要求を受信する(ステップS410)と、管理部253は、この特定のユーザと、送信要求を送信したユーザとに所定の関係があるか否かを判定する(ステップS420)。
ステップS420において、所定の関係にあると判定された場合(ステップS420:YES)、送信部252は、この特定のユーザが参加している又は開設しているコミュニティに関する情報をコミュニティ参加リストとして、送信要求を送信したユーザ端末100に対して送信する(ステップS430)。
一方、ステップS420において、所定の関係にないと判定された場合(ステップS420:NO)、送信部252は、コミュニティ参加リストの送信不可を示す情報を、送信要求を送信したユーザ端末100に対して送信する(ステップS440)。なお、この場合、送信部252は、この特定のユーザと所定の関係にないことを示す情報を、送信要求を送信したユーザ端末100に対して送信してもよい。
なお、ユーザ端末100から送信される特定のユーザに対する送信要求が、ユーザ端末100のユーザと特定のユーザと所定の関係であることが前提である場合には、図15に示すコミュニティを公開する処理のうち、ステップS420とステップS440を省略することができる。
図16は、コミュニティ参加リストの表示例を示す図である。この図は、ユーザCのユーザ端末100−3が表示するユーザAのコミュニティ参加リストが表示された画面を示している。ユーザAは、ユーザCと所定の関係にあるユーザであって、サーバ装置200から取得したユーザAのコミュニティ参加リストがユーザ端末100−3の表示部110(符号110aの領域)に表示される。
符号110gの領域には、この画面のタイトルとして、表示される内容(コミュニティ参加リスト)を示す情報と、そのリストのユーザ(ここではユーザA)を示す情報と(ここでは、「nameAさんの参加コミュニティ」)が表示される。
符号110hの領域には、ユーザAが参加しているコミュニティに関する情報が、コミュニティ毎に並んで表示される。アイコンE41は、コミュニティを示すアイコンである。このアイコンは、例えば、開設ユーザがそのコミュニティを開設する際又は開設後に登録した画像でもよいし、チャットシステム1が予め用意した画像でもよい。コミュニティ名ラベルE42には、アイコンE41に対応するコミュニティのコミュニティ名(ここでは、「ブログB」)が表示される。ユーザ名ラベルE43には、アイコンE41に対応するコミュニティを開設した開設ユーザのユーザ名(ここでは、「nameB」)が表示される。
ここで、符号110hの領域に表示されるコミュニティには、ユーザC(この画面を表示しているユーザ端末100−3を利用するユーザ)がすでに参加しているコミュニティも、参加していないコミュニティもある。例えば、アイコンE41が示すコミュニティは、ユーザCが参加しているコミュニティである。これに対し、アイコンE45が示すコミュニティは、ユーザCが参加していないコミュニティである。このアイコンE45に対応付けて、コミュニティへの参加を要求することが可能操作子としての参加ボタンE46が表示される。このように、自身が参加していないコミュニティには、参加ボタンが表示される。
以上説明したように、サーバ装置200の送信部252は、コミュニティに登録されていないユーザのうち、閲覧ユーザ(第2ユーザ)と所定の関係(例えば、友達関係)にあるユーザとして登録されているユーザのユーザ端末100(端末装置)に対して、当該コミュニティに関する情報を送信する。
これにより、サーバ装置200は、ユーザが参加しているコミュニティをそのユーザと所定の関係(例えば、友達関係)にあるユーザに対して公開することができる。よって、チャットシステム1において、所定の関係(例えば、友達関係)にあるユーザ(チャット友達)どうしでは、参加しているコミュニティを互いに知ることができるため、コミュニティ(チャットブログ)を、ソーシャルグラフを利用して、チャットシステム1に登録されているユーザに対して広めることができる。
<第5の実施形態>
次に、本発明の第5の実施形態を説明する。本実施形態では、コミュニティにおいて、開設ユーザが予め設定したメッセージをサーバ装置200が所定のタイミングでユーザ端末100に対して送信する態様を説明する。ここで、開設ユーザが予め設定したメッセージとは、例えば、ユーザがコミュニティに参加したときにそのユーザのユーザ端末100に対して送信される歓迎の意を表すメッセージ(以下、ウェルカムメッセージと称する)である。また、開設ユーザが予め設定したメッセージとは、例えば、コミュニティにおいて、ユーザのユーザ端末100から送信された所定のコマンドを含むメッセージに対応して、ユーザのユーザ端末100に対して送信されるメッセージ(以下、コマンドメッセージと称する)である。
以下、図17及び図18を参照して、本実施形態のチャットシステム1の構成について説明する。図17は、本実施形態によるサーバ装置200の構成の一例を示す概略ブロック図である。また、図18は、本実施形態によるユーザ端末100が備えているコミュニティ開設部153の構成の一例を示す概略ブロック図である。なお、チャットシステム1が、ユーザ端末100−Nとサーバ装置200とを備えた構成であることは、図1に示す構成と同様である。
(サーバ装置200の構成)
まず、図17を参照して、本実施形態によるサーバ装置200の構成について説明する。なお、図17において、図4に示す各部に対応する構成には同じ符号をつけており、説明を省略する。
サーバ記憶部240は、図4に示す構成に加えて、ウェルカムメッセージ記憶部245と、コマンドメッセージ記憶部246とを備えている。
ウェルカムメッセージ記憶部245は、コミュニティIDと、開設ユーザによりウェルカムメッセージとして入力されたメッセージとが対応付けられたウェルカムメッセージ情報を記憶する。コマンドメッセージ記憶部246は、コミュニティIDに対応付けて、開設ユーザにより設定されたコマンドと、開設ユーザにより設定されたそのコマンドに対応するメッセージ(コマンドメッセージ)とが関連付けられているコマンドメッセージ情報を記憶する。
サーバ制御部250の管理部253(第1管理部)は、図4に示す構成に加えて、ウェルカムメッセージ管理部254(第2管理部)と、コマンドメッセージ管理部255(第3管理部)とを備えている。
ウェルカムメッセージ管理部254は、ウェルカムメッセージ情報を管理する。例えば、コミュニティに対応して登録されたウェルカムメッセージ(第3メッセージ)を、開設ユーザのユーザ端末100から受信部251が受信したとする。その場合、ウェルカムメッセージ管理部254は、受信したウェルカムメッセージと、当該コミュニティのコミュニティIDとを対応付けたウェルカムメッセージ情報をウェルカムメッセージ記憶部245に記憶させる。
また、ウェルカムメッセージ管理部254は、コミュニティに登録されていないユーザが閲覧ユーザとして当該コミュニティに登録された際に(即ち、コミュニティに新たなユーザが参加した際に)、ウェルカムメッセージ記憶部245からウェルカムメッセージを読み出す。例えば、ウェルカムメッセージ管理部254は、コミュニティに新たなユーザが参加した際に、ウェルカムメッセージ記憶部245を参照して、当該コミュニティのコミュニティIDに対応付けられたウェルカムメッセージを読み出す。なお、送信部252は、ウェルカムメッセージ管理部254が読み出したウェルカムメッセージを、当該コミュニティに新たに参加したユーザのユーザ端末100に対して送信する。
コマンドメッセージ管理部255は、コマンドメッセージ情報を管理する。コミュニティに対応して登録される互いに関連付けされたコマンドとコマンドメッセージ(第4メッセージ)とを、開設ユーザのユーザ端末100から受信部251が受信したとする。その場合、コマンドメッセージ管理部255は、当該コミュニティのコミュニティIDと対応付けて当該受信したコマンドとコマンドメッセージとを関連付けたコマンドメッセージ情報をコマンドメッセージ記憶部246に記憶させる。
また、コマンドメッセージ管理部255は、コミュニティにおいて、受信部251がコマンドを受信することに応じて、コマンドメッセージ記憶部246からマンドメッセージを読み出す。例えば、コマンドメッセージ管理部255は、コミュニティにおいて、受信部251がコマンドを受信することに応じて、コマンドメッセージ記憶部246を参照して、当該コミュニティに対応付けられたコマンドのうちの当該受信したコマンドに関連付けられたコマンドメッセージを読み出す。なお、送信部252は、が読み出したコマンドメッセージを、当該受信したコマンドを送信したユーザのユーザ端末100に対して送信する。
(ユーザ端末100の構成)
次に、図18を参照して、本実施形態によるユーザ端末100の構成について説明する。なお、図18に示すコミュニティ開設部153以外の構成は、図8に示すユーザ端末100の構成と同様であり、その説明を省略する。
コミュニティ開設部153は、ウェルカムメッセージ登録部155(第1登録部)と、コマンドメッセージ登録部156(第2登録部)と、を備えている。
ウェルカムメッセージ登録部155は、開設ユーザのユーザ端末100において、開設ユーザの操作に応じて入力された、コミュニティに対応して登録されるウェルカムメッセージを登録する。このウェルカムメッセージは、コミュニティに登録されていないユーザが閲覧ユーザとして当該コミュニティに登録された際に(即ち、コミュニティに新たなユーザが参加した際に)、当該登録されたユーザのユーザ端末100に送信されるメッセージとして登録される。例えば、ウェルカムメッセージ登録部155は、開設ユーザの操作に応じて入力された、コミュニティに対応して登録されるウェルカムメッセージを、当該コミュニティのコミュニティIDと対応付けて、サーバ装置200に対して送信することにより、サーバ装置200に登録する。
なお、開設ユーザは、自身が開設したコミュニティに参加してくれたユーザに対して、歓迎の言葉、自己紹介、このチャットブログのおける投稿ルール等任意な内容を含むメッセージを、ウェルカムメッセージとして登録することができる。
コマンドメッセージ登録部156は、開設ユーザのユーザ端末100において、開設ユーザの操作に応じて入力されたコマンドとコマンドメッセージとを関連付けて登録する。このコマンドとコマンドメッセージとは、当該コマンドを送信したユーザ端末100に対して当該コマンドメッセージが送信されるように、互いに関連付けされて登録される。例えば、コマンドメッセージ登録部156は、開設ユーザの操作に応じて入力された、コミュニティに対応して登録される互いに関連付けされるコマンドとコマンドメッセージとを、当該コミュニティのコミュニティIDと対応付けて、サーバ装置200に対して送信することにより、サーバ装置200に登録する。
ここで、上述のコマンドには、例えば、質問と回答(Q&A)、ヘルプ等のように各チャットブログで共通のコマンド(共通コマンド)であることが望ましいものと、各チャットブログで個別に登録されるコマンド(特殊コマンド)とがある。例えば、共通コマンドは、チャットシステム1において予め設定されており各チャットブログで共通に利用されるようにしてもよい。一方、特殊コマンドは、開設ユーザの操作に応じて上述のコマンドメッセージ登録部156により各チャットブログで個別に登録されるようにしてもよい。
例えば、特殊コマンドの例として、店舗のブログである場合には、コマンドとして「#アクセス」と、コマンドメッセージとして「○○駅2番出口より地上に出てください。地上出口の付近に△○のお店があります。△○の隣が当店です。」というように登録したとする。この場合、閲覧ユーザから「#アクセス」のメッセージが送信されると、当該閲覧ユーザのユーザ端末100に対して、「#アクセス」に対応した上記メッセージがサーバ装置200から送信される。なお、メッセージと合わせて所定の画像(例えば、地図画像)が送付されるようにしてもよい。
図19は、本実施形態によるユーザ端末100が表示するコミュニティの開設及び設定画面の表示例を示す図である。この図は、ユーザが、ユーザ端末100において、コミュニティを開設する際、又は、コミュニティの設定を行う際に、表示部110に表示される画面(コミュニティの開設及び設定画面)の一例を示している。
符号110aは、コミュニティの開設及び設定画面が表示部110に表示される全体の領域を示している。符号110eの領域には、この画面のタイトルとして、コミュニティの開設及び設定が可能な画面であることを示す情報(ここでは、「コミュニティ開設設定」)が表示される。
符号110fの領域には、コミュニティ情報やコミュニティにおいて自動送信されるメッセージ(ユーザ端末100から送信することなく所定のタイミングでサーバ装置200が送信するメッセージ)を登録するための表示コンポーネントが配置される。
テキストボックスE51は、このコミュニティのコミュニティ名としてのテキストを入力する入力部である。テキストボックスE52は、このコミュニティに対応して登録されるウェルカムメッセージとしてのテキストの入力を受け付ける入力部(第1入力部)である。
また、符号E60が示す入力部(テキストボックスE61とテキストボックスE62)は、コミュニティに対応して登録される互いに関連付けされるコマンドとコマンドメッセージとしてのテキストの入力を受け付ける入力部(第2入力部)である。テキストボックスE61は、コマンドとしてのテキストの入力を受け付け、テキストボックスE62は、テキストボックスE61に入力されるコマンドと関連付けされるコマンドメッセージとしてのテキストの入力を受け付ける。ここで、テキストボックスE61には、入力されたテキストによる文字列がコマンドであることを示す識別子(ここでは「#」)が予め表示されている。この識別子が先頭に付されている文字列はコマンドとして認識され、ブログに投稿するメッセージと区別される。
なお、コミュニティにおいて、複数のコマンドメッセージの登録が可能である。追加ボタンE65は、次のコマンドを追加登録するための操作子であり、符号E60が示す入力部(テキストボックスE61とテキストボックスE62と)に対して新たなコマンドとコマンドメッセージとを入力可能にする操作子として表示される。
(ウェルカムメッセージの送信処理)
次に、図20を参照して、チャットシステム1におけるウェルカムメッセージの送信処理の動作を説明する。図20は、本実施形態によるウェルカムメッセージの送信処理の一例を示すフローチャートである。ここでは、ユーザBが開設したコミュニティにユーザAが参加した(登録された)ときに、ユーザAのユーザ端末100−1にウェルカムメッセージが送信される処理の例を説明する。なお、このコミュニティにおけるウェルカムメッセージは、このコミュニティの開設時又は開設後にユーザBによって(例えば、図19に示す画面に対する操作によって)既に登録されているものとする。
まず、ユーザAは、ユーザ端末100−1において、例えば、図16に示すコミュニティ参加リスト(ユーザBが参加しているコミュニティのリスト)に対して、自身が現在登録されていないコミュニティに新たに参加する操作(例えば、参加ボタンE46に対するタップ操作)を行う。ユーザ端末100−1の操作受付部120は、このユーザAからの操作に応じて、コミュニティに参加する参加指示を受け付ける(ステップS500)。
ユーザ端末100−1は、操作受付部120が参加指示を受け付けると、そのコミュニティのコミュニティIDとユーザID(参加するユーザAのユーザID)とを含む参加通知を、サーバ装置200に送信する(ステップS510)。
サーバ装置200において、受信部251がユーザ端末100−1から参加通知を受信すると、管理部253は、コミュニティ情報記憶部243に記憶されているコミュニティ情報のうち、受信した参加通知に含まれているコミュニティIDのコミュニティ情報に対してユーザAのユーザIDの対応付けを追加する。このとき、管理部253は、受信した参加通知に含まれているコミュニティIDのコミュニティ情報に、ユーザAのユーザIDが対応付けられているか否かを判定し、対応付けられていない場合には、ユーザAがこのコミュニティに登録されていないユーザであるとして、新たにユーザAのユーザIDの対応付けを追加する。また、サーバ装置200は、このコミュニティへの参加通知を受信したことを示す受信完了通知を、ユーザ端末100−1に送信(応答)する(ステップS520)。ユーザ端末100−1において、メッセージ送受信部152がこの受信完了通知を受信すると、表示制御部154は、このコミュニティへの参加完了通知を表示部110に表示させる(ステップS530)。
次に、サーバ装置200の送信部252は、このコミュニティの開設ユーザであるユーザBのユーザ端末100−2に対して、このコミュニティにユーザAが参加してことを示す参加通知を送信する(ステップS540)。そして、ユーザ端末100−2において、メッセージ送受信部152がこの参加通知を受信すると、表示制御部154は、このコミュニティにユーザAが参加したことを示す参加通知を表示部110に表示させる(ステップS550)。
なお、サーバ装置200は、ユーザ端末100−1から参加通知を受信した場合、ユーザAの参加を許可するか否かをユーザB(開設ユーザ)のユーザ端末100−2に対して問い合わせして許可されてから、コミュニティに対してユーザIDの対応付けの処理(コミュニティに新たなユーザを登録する処理)を行ってもよい。
また、サーバ装置200の管理部253(ウェルカムメッセージ管理部254)は、ウェルカムメッセージ記憶部245を参照して、このコミュニティのコミュニティIDに対応付けられたウェルカムメッセージを読み出す。そして、サーバ装置200の送信部252は、管理部253が読み出したウェルカムメッセージをユーザAのユーザ端末100−1に送信する(ステップS560)。
次に、ユーザAのユーザ端末100−1メッセージ送受信部152は、サーバ装置200から送信されたウェルカムメッセージを、ネットワーク5を介して受信してメッセージ情報記憶部144に記憶させる(ステップS570)。そして、ユーザ端末100−1の表示制御部154は、受信したウェルカムメッセージを、そのウェルカムメッセージに対応付けられている日時情報に基づいて時系列に並べてブログ画面に表示させる(ステップS580)。ここで、このブログ画面は、このコミュニティにおいてユーザBが行っているブログの投稿メッセージが表示される画面である。
(コマンドメッセージの送信処理)
次に、図21を参照して、チャットシステム1におけるコマンドメッセージの送信処理の動作を説明する。図21は、本実施形態によるコマンドメッセージの送信処理の一例を示すフローチャートである。ここでは、ユーザBが開設したコミュニティにおいて、閲覧ユーザであるユーザAがコマンドを送信することにより、そのコマンドに対応するコマンドメッッセージがユーザAのユーザ端末100に送信される送信処理の例を説明する。なお、このコミュニティにおけるコマンドメッセージは、このコミュニティの開設時又は開設後にユーザBによって(例えば、図19に示す画面に対する操作によって)既に登録されているものとする。
まず、ユーザ端末100−1は、コミュニティにおいて、閲覧ユーザであるユーザAの操作に応じて、送信するメッセージUの入力と同様にコマンドの入力を受け付ける(ステップS600)。ここで、このメッセージUと同様に入力されるコマンドは、コミュニティにおいて予め設定されているコマンドのいずれかであって、ブログに投稿するメッセージと異なりコマンドであることを示す識別子(例えば「#」)が先頭に付された文字列である。
続いて、ユーザ端末100−1の表示制御部154は、このメッセージU(ここでは、コマンド)をブログ画面に表示させる(ステップS610)。また、ユーザ端末100−1のメッセージ送受信部152は、ユーザAの操作に応じて入力された(作成された)メッセージU(ここでは、コマンド)をメッセージ情報記憶部144に記憶させるとともに、このメッセージUをサーバ装置200に送信する(ステップS620)。
次に、サーバ装置200の受信部251は、ユーザ端末100−1からネットワーク5を介してメッセージU(ここでは、コマンド)を受信し、受信したメッセージUを一時的にメッセージ情報一時記憶部244に記憶させる(ステップS630)。このとき、サーバ装置200は、このメッセージUを受信したときの受信日時をこのメッセージUの送信日時の日時情報として、ユーザ端末100−1へ受信完了通知と共に返信する。受信完了通知を受信したユーザ端末100−1のメッセージ送受信部152は、当該受信完了通知に含まれる日時情報を取得してメッセージUと対応付けてメッセージ情報記憶部144に記憶させる。また、ユーザ端末100−1の表示制御部154は、取得した日時情報に基づいて、既にブログ画面に表示しているメッセージUに対応付けて送信日時を表示させる(ステップS635)。
続いて、サーバ装置200の送信部252は、コマンドメッセージ記憶部を参照して、メッセージ情報一時記憶部244に記憶されたメッセージU(ここでは、コマンド)が、このコミュニティに登録されているコマンドであると判定した場合(ステップS640)、このコマンドに対応するコマンドメッセージをユーザ端末100−1に送信する(ステップS645)。ここで、サーバ装置200は、コマンドメッセージに、ユーザID(ユーザB(開設ユーザ)のユーザID)と、コミュニティIDと、日時情報(サーバ装置200でのコマンドの受信日時又はコマンドメッセージの送信日時)と、を対応付けて送信する。
なお、送信部252は、メッセージUがコマンドではないと判定した場合(このコミュニティに登録されていないコマンドである場合、又は、コマンドであることを示す識別子が付されていない場合)には、図7に示すステップS240の処理と同様に、このメッセージUを開設ユーザのユーザ端末100−3に送信する。
次に、ユーザAのユーザ端末100−1のメッセージ送受信部152は、サーバ装置200から送信されたコマンドメッセージを、ネットワーク5を介して受信してメッセージ情報記憶部144に記憶させる(ステップS650)。そして、ユーザ端末100−3の表示制御部154は、受信したコマンドメッセージを、そのコマンドメッセージに対応付けられている日時情報に基づいて時系列に並べてブログ画面に表示させる(ステップS660)。
以上説明したように、本実施形態によるサーバ装置200は、受信部251が、コミュニティに対応して登録されるウェルカムメッセージ(第3メッセージ)を開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)から受信した場合、当該受信したウェルカムメッセージ(第3メッセージ)を当該コミュニティと対応付けて管理するウェルカムメッセージ管理部254(第2管理部)を備えている。ここで、上述のコミュニティは、開設ユーザ(第1ユーザ)が開設したものである。そして、送信部252は、コミュニティに登録されていないユーザが閲覧ユーザ(第2ユーザ)として当該コミュニティに登録された際に、当該コミュニティに対応付けられているウェルカムメッセージ(第3メッセージ)を、当該登録されたユーザのユーザ端末100(端末装置)に送信する。
これにより、サーバ装置200は、コミュニティに新たにユーザが参加した場合、当該コミュニティの開設ユーザが登録したウェルカムメッセージを、新たに参加したユーザのユーザ端末100に対して送信することができる。即ち、コミュニティに参加したユーザは、そのコミュニティのウェルカムメッセージを受け取ることができる。
また、本実施形態によるユーザ端末100は、コミュニティに対応して登録されるウェルカムメッセージ(第3メッセージ)の入力を受け付ける第1入力部(例えば、図19に示すテキストボックスE52)を備えている。また、ユーザ端末100は、第1入力部(例えば、図19に示すテキストボックスE52)に入力されたウェルカムメッセージ(第3メッセージ)を、当該コミュニティに登録されていない他ユーザが当該コミュニティに登録された際に当該登録されたユーザのユーザ端末100(端末装置)に送信されるメッセージとして登録するウェルカムメッセージ登録部155(第1登録部)を備えている。
これにより、ユーザ端末100は、コミュニティに新たにユーザが参加した場合にその新たに参加したユーザのユーザ端末100に対してサーバ装置200から送信されるウェルカムメッセージを、開設ユーザの操作に応じて登録することができる。よって、開設ユーザは、自身が開設したコミュニティに新たに参加したユーザのユーザ端末100に対して、予め登録したウェルカムメッセージを自動で(サーバ装置200の処理により)送信することができる。
また、本実施形態によるサーバ装置200は、受信部251が、コミュニティに対応して登録される互いに関連付けされたコマンドとコマンドメッセージ(第4メッセージ)とを、開設ユーザ(第1ユーザ)のユーザ端末100(端末装置)から受信した場合、当該コミュニティと対応付けて、当該受信したコマンドとコマンドメッセージ(第4メッセージ)とを関連付けて管理するコマンドメッセージ管理部(第3管理部)を備えている。そして、送信部252は、コミュニティにおいて、受信部251がコマンドを受信した場合、当該受信したコマンドに関連付けられているコマンドメッセージ(第4メッセージ)を、当該受信したコマンドを送信したユーザ端末100(端末装置)に送信する。
これにより、サーバ装置200は、コミュニティにおいて、閲覧ユーザのユーザ端末100から送信されたコマンドに応じて、当該コマンドに対応する予め登録されたコマンドメッセージを、当該コマンドを送信した閲覧ユーザのユーザ端末100に対して送信することができる。即ち、ユーザは、予め登録されているコマンドのなかから自身が知りたい情報のコマンドを送信することにより、知りたい情報を含むコマンドメッセージを受け取ることができる。
また、本実施形態によるユーザ端末100は、コミュニティに対応して登録される互いに関連付けされるコマンドとコマンドメッセージ(第4メッセージ)との入力を受け付ける第2入力部(例えば、図19に示す符号E60が示す入力部(テキストボックスE61とテキストボックスE62))を備えている。また、ユーザ端末100は、第2入力部(例えば、図19に示す符号E60が示す入力部(テキストボックスE61とテキストボックスE62))に入力されたコマンドとコマンドメッセージ(第4メッセージ)とを、当該コミュニティにおいて、当該コマンドを送信したユーザ端末100(端末装置)に対して当該コマンドメッセージ(第4メッセージ)が送信されるように関連付けて登録するコマンドメッセージ登録部156(第2登録部)を備えている。
これにより、ユーザ端末100は、各コミュニティにおいて、互いに関連付けされるコマンドとコマンドメッセージとを、開設ユーザの操作に応じて登録することができる。よって、開設ユーザは、自身が開設したコミュニティに属する閲覧ユーザのユーザ端末100からコマンドが送信された場合に、予め登録した対応するコマンドメッセージを自動で(サーバ装置200の処理により)送信することができる。
以上説明してきたように、本実施形態によれば、チャットアプリケーションの利便性を向上させることができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1から第5の実施形態において説明した各機能は、任意に組み合わせることができる。
なお、上述の実施形態では、チャットシステム1において、チャットブログを行うコミュニティの開設ユーザが1ユーザである場合を例に説明したが、複数のユーザが開設ユーザとしてコミュニティに登録されてもよい。この場合、チャットシステム1は、コミュニティを開設するときに、複数のユーザを開設ユーザとして登録可能としてもよい、コミュニティの開設後に開設ユーザの追加登録を可能としてもよい。
また、上述の実施形態では、グループ情報とコミュニティ情報とがそれぞれ、グループ情報記憶部242(142)とコミュニティ情報記憶部243(143)とのそれぞれに記憶される例を示したが、グループ情報とコミュニティ情報とが同じ記憶部(同じ記憶テーブル)に記憶される構成としてもよい。この構成の場合、グループ情報とコミュニティ情報とのそれぞれには、それぞれを識別する識別情報(例えば、フラグ情報)が含まれる構成としてもよい。
また、チャットシステム1は、チャットブログを行うためのコミュニティを開設する際に、開設ユーザが、所定量(第1数量)の通貨価値(仮想通貨、ポイント)の消費と引き換えにブログを開設することができるようにしてもよい。また、チャットシステム1において、所定期間毎(例えば毎月)に、開設したブログを維持するための所定量(第2数量)の通貨価値の消費を必要とするようにしてもよい。ここで、上述の第1数量と第2数量は同じであってもよい。
なお、チャットシステム1は、通貨価値の消費なし(無料)で開設できるようにして、維持する際に通貨価値を消費させるようにしてもよい。また、チャットシステム1は、上述の所定期間内に、チャットシステム1へのインバイト(招待)を規定数以上達成した場合には、通貨価値の消費なしに、次の所定期間を維持させることができるようにしてもよい。
また、上述の実施形態では、操作受付部120と表示部110とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明したが、操作受付部120と表示部110とが別に構成され、操作受付部120としてキーボードやボタンを適用してもよい。また、操作受付部120を、音声認識により操作入力可能な操作入力部として構成してもよい。また、上述の実施形態では、ユーザ端末100において表示部110が一体として構成された例を説明したが、これに限らず、外部の表示部(表示装置)と有線又は無線により接続される構成としてもよい。
また、上述の実施形態では、例えば、ウェブ上で提供されるウェブサイト形式のブログ(ウェブログ)を、チャットシステム1(チャットアプリケーション)において、チャット形式(対話形式)で行うブログ(以下、チャットブログと称する)として提供する例を示したが、上述したブログは、単にウェブ上で提供されるウェブサイト形式のブログ(ウェブログ)に限らず、電子掲示板等のように自身が投稿する情報(メッセージ)を複数のユーザに対して閲覧可能に(公開)するものを含む。
また、上述の実施形態では、ユーザ端末100間で送受信するメッセージには、文字列に限らず、絵文字や写真等の画像情報や音声等の情報が含まれていてもよい。
また、本発明の実施形態は、上述の例に限るものではなく、本発明の範囲内で様々な形態をとることができる。例えば、上述したチャットシステム1が備える各構成は、任意のコンピュータ装置に分散または集約して配置することができる。例えば、サーバ装置200は、クラウド環境やネットワーク環境、ユーザ数の規模、チャットシステム1を構成するために用意されたハードウェアの数やスペック等に応じて、任意のコンピュータ装置に分散または集約して配置することができる。
また、例えば、複数のユーザ端末100間で送受信されるメッセージの全てをサーバ装置200が記憶しておき、ユーザ端末100からの任意の要求に応じてメッセージを送信し、ユーザ端末100に表示させるようにしてもよい。
また、上述の実施形態では、複数のユーザ端末100はサーバ装置200を介してメッセージを送受信する例を示したが、サーバ装置200を介さずに、複数のユーザ端末100同士が直接メッセージを送受信してもよい。
なお、上述の制御部150又はサーバ制御部250の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の制御部150又はサーバ制御部250の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。