本発明の実施例を説明する前に、まず、本発明の概要を述べる。本発明は、情報通信端末装置間においてメッセージを送受信するためのチャットサービスに関する。チャットサービスに登録しているユーザ(以下、「登録ユーザ」という。)は、チャットサービスを用いてメッセージのやり取りをするに際し、相手方がチャットサービスに登録しているか否かを意識することなく、その相手方との間でチャットを実施することができる。
また、登録ユーザは、チャットサービスを管理するサーバ(以下、「チャットサーバ」ともいう。)上に知り合い(以下、「フレンド」もしくは「友だち」という)をフレンドリストに登録することで、チャット相手を効率的に探したり、また、チャット相手について記録されているユーザ情報を閲覧できる。なお、フレンドリストは、登録ユーザ毎にサーバにて管理される。
フレンドリストへの登録は、チャットサーバから推奨される友だち候補のリスト(以下、「サジェストリスト」という。)をもとに、サジェストリストに含まれたいずれかのユーザを選択することによってなされる。詳細は後述するが、推奨の基準は、チャットサービス上におけるその登録ユーザとの間の「親密度」であり、これが高いほど優先的にサジェストリストに追加される。また、サジェストリストには、チャットサービスに登録していないユーザ(以下、「未登録ユーザ」という。)も含まれる。なお、サジェストリストは、登録ユーザ毎にサーバにて管理される。
サジェストリストには、知り合いの名前をチャット画面上に入力して検索することによって表示されるリスト、あるいは、ユーザの端末に記憶されている電話帳をチャットサーバにアップロードすることによって表示されるリストなどを含めることができる。このように生成されたサジェストリストの中から、登録ユーザにより友だちとして登録したい他のユーザが選択されることによって、フレンドリストに登録できる。なお、サジェストリストがユーザ端末に表示される際の順序は、前述した推奨の基準「親密度」に相当する基準となる。
ここで、未登録ユーザであってもフレンドリストに登録されている可能性があることから、新たにチャットサービスに登録した未登録ユーザであっても、既登録ユーザの中には、その未登録ユーザをすでにフレンドリストに追加している場合がある。こういった場合に、その未登録ユーザが登録ユーザになった後に、未登録であったときにすでにフレンドリストに追加している既登録ユーザを友だちとして推奨することによって、新規登録ユーザには、新規登録の時点から多数の友だちが推奨されるため、友だち関係を形成しやすく、チャットサービスの使用意欲を高めることができる。
従来のチャットサービスにおいては、サービスに登録したものの、友だちが思うように増えず、サービスの使用頻度が低くなったり、サービスを停止したりするといった課題があったが、本発明においては、以上の課題を解消しており、チャット開始当初から複数の友だちを獲得できるチャンスがあるため、チャットサービスの使用意欲を高められ、ひいてはチャットサービス全体を盛り上げることができる。以下、例を用いて説明する。
まず、実施例1について説明する。図1は、本発明の実施例1にかかるチャットシステム100を示す図である。チャットシステム100は、サーバ10と、サーバ10と基地局40とを有線回線で接続するネットワーク30と、基地局40で代表される第1基地局40a〜第3基地局40cと、モバイル端末50で代表される第1モバイル端末50a〜第3モバイル端末50cと、PC端末70とを含む。
なお、図示の都合上、基地局40、モバイル端末50は共に3台のみ図示したが、これにかぎらず、それ以上の基地局40、モバイル端末50が存在してもよい。PC端末70についても同様である。また、第1モバイル端末50a〜第3モバイル端末50cは、それぞれ異なる基地局50と接続されるとして図示しているが、これにかぎらず、1つの基地局50に複数のモバイル端末50が接続されていても、本発明が適用可能であることは言うまでもない。
サーバ10は、チャットサービスを実施、提供するための装置である。サーバ10は、ネットワーク30と基地局40とを介して、モバイル端末50やPC端末70との間で、チャット処理のための通信処理を実行する。なお、以下においては、説明を簡易にするため、単に、「サーバ10とモバイル端末40ないしPC端末70との間で通信処理を実行する」などと表現し、ネットワーク30および基地局40を介する点については記載を省略する。また、以下においては、モバイル端末50やPC端末70を総称して、ユーザ端末と表現することもある。
サーバ10は、ユーザ端末からの要求にしたがって、アプリをダウンロードさせる。その後、ユーザ端末内のメモリに記憶されている連絡先情報をアップロードさせて、サーバ10内のメモリにインポートすることによって、ユーザはチャットサービスの使用を開始することができる。ここで、サーバ10は、チャットシステムにおける友だちを推奨する友だち推奨機能と、友だちのリストを管理するフレンドリスト管理機能と、友だちなどを検索したり、チャット相手を検索する検索機能と、チャット相手とチャットをするためのメール統合機能と、を有する。
友だち推奨機能は、フレンドリストに登録すべきユーザを紹介、推奨する機能(以下、「サジェスト機能」という。)を有する。詳細は後述するが、サジェスト機能は、登録ユーザに推奨すべき他のユーザを決定する。フレンドリスト管理機能は、推奨されたユーザのうち、登録ユーザによって選択されたユーザをフレンドリストに登録する機能を有する。検索機能は、サーバ10内に記憶されたユーザ情報を対象として検索し、検索された1以上のユーザ情報をユーザ端末に所定の順序で表示する。ユーザ情報は、登録ユーザのID、所属するグループのID、過去のチャット相手のユーザID、SNS上のIDなどが含まれる。
メール統合機能は、チャット相手が登録ユーザであるか否かをユーザに考慮させることなく、所望のユーザとの間でチャットを実施させるための機能である。サーバ10は、ユーザ端末からチャットサービスの開始の要求があると、チャットサービスの相手先への通信方式を決定する。具体的には、通信方式の優先度情報に従って、サーバ10内のメモリに格納された登録情報から最も適した通信方式を決定し、ユーザ端末から送信されたメッセージをその通信方式、たとえば、Eメールの形式に変換して、相手先に送信する。
送信相手先への通信の際に適用される通信方式は、送信相手が登録ユーザの場合は原則としてチャット方式が選択される。一方、送信相手が未登録ユーザの場合は、未登録ユーザに関してメモリに登録された情報に応じた方式が選択される。詳細は後述する。このような態様をとることで、ユーザは、相手先が未登録ユーザであっても、それを意識することなく、チャットをすることができる。
ユーザ端末は、チャットサービスを使用する場合は、まず、サーバ10にアクセスして、アプリをダウンロードし、インストールする。ついで、サーバ10からの要求にしたがって、端末内に登録されている連絡先情報をアップロードする。以後、チャットサービスを利用する場合は、アプリを立ち上げ、フレンドリストとして登録されている友だち、あるいは、検索機能によって検索されたユーザを送信先として指定するとともに、送信先へのメッセージを作成して、送信すればよい。なお、前述しているように、ユーザ端末の使用者は、チャットシステム100の利用に際して、送信先のユーザが未登録ユーザであるか否かは問われない。
図2は、図1のチャットシステム100におけるサーバ10の構成例を示す図である。サーバ10は、サーバ受信部12と、チャット制御部14と、サーバ送信部16と、サーバメモリ20とを含む。
サーバ受信部12は、ユーザ端末からの信号を受信し、所定の復調処理を実施して、チャット制御部14に復調された信号を送る。サーバ送信部16は、チャット制御部14にて選択された通信方式にて、所定のメッセージを送信相手へ送信する。また、サーバ送信部16は、所定のタイミングで、サーバメモリ20内に記憶されたフレンドリスト、あるいは、サジェストリストをチャット制御部14を介して取得し、そのリストに紐づけられたユーザのユーザ端末に送信する。サーバ受信部12、および、サーバ送信部16における変復調処理は、従来用いられている変復調技術が用いられてよく、このような態様であったとしても、本発明を適用することができることは当業者に理解されるところである。
チャット制御部14は、サーバ受信部12からの信号を受けて、内容に応じた処理を実施して、サーバメモリ20にアクセスし、また、サーバ送信部16に対して送信を指示する。サーバ受信部12から受ける信号はユーザ端末からの信号であり、たとえば、チャットサービスを利用するためのアプリ(以下、チャットアプリという。)のダウンロード要求、ユーザ端末からアップロードされた情報、チャット相手や友だち登録するユーザの選択、ならびに、送信先へのメッセージなどである。
また、チャット制御部14は、サーバメモリ20に対して、ユーザにダウンロードさせるためのチャットアプリを読み出したり、ユーザ端末から送信された連絡先情報をインポートしたり、通信方式を決定するための情報にアクセスを行う。チャット制御部14は、ユーザからの要求にしたがって、ユーザ端末にアプリをダウンロードさせる。ユーザ端末にダウンロードさせた後において、チャット制御部14は、ユーザ端末に対して、そのユーザ端末に記憶された連絡先情報を当該サーバ10にインポートさせるか否かの問合せを行う。インポートの許可があった場合、ユーザ端末から連絡先情報が送られてくるので、チャット制御部14は、サーバメモリ20に当該情報を書き込む。
また、チャット制御部14は、友だち推奨機能を有し、チャットサービスへの登録の有無に応じて設定された所定の条件を用いて、友だち候補として、登録ユーザに推奨すべき他のユーザを決定して、サーバメモリ20内のサジェストリストに登録する。チャットサービスへの登録の有無に応じて設定された所定の条件とは、推奨対象のユーザが登録ユーザである場合と、未登録ユーザである場合とで、それぞれ異なった条件であることを指す。この条件は、被推奨ユーザとの親密度を推定するための条件となる。
また、チャット制御部14は、フレンドリスト管理機能を有し、友だち候補としてサジェストリストに登録されたユーザのうち、サーバ受信部12を介して受け付けた、登録ユーザから選択されたユーザをサーバメモリ20内のフレンドリストに登録する。フレンドリストは、サーバメモリ20内において、登録ユーザごとに管理される。
また、チャット制御部14は、検索機能を有し、登録ユーザからの要求がない場合は、サーバメモリ20に記憶されている登録ユーザのサジェストリストに含まれたユーザを対象として、表示対象とすべき1以上のユーザを検索する。ここで検索されたユーザは、友だち候補として、ユーザ端末に表示される。
複数のユーザが検索された場合、所定のアルゴリズムによって表示順序を決定して、ユーザ端末のチャット画面上に表示する。すなわち、ユーザ端末には、「ともだちかも」として、友だち候補の一覧が表示される。検索のタイミング、表示のタイミングは、チャットサービスアプリを起動したときや、起動後、一定間隔において実施されてもよい。これにより、ユーザに対して、友だちを増やすきっかけを与えることができる。
また、チャット制御部14は、登録ユーザから実名検索の要求をサーバ受信部12から受け付けて、検索対象の実名を取得して、その実名を対象にサーバメモリ20内に記憶されたすべてのユーザ情報を対象として検索する。検索は、前方一致、部分一致などの従来の検索技術が用いられてもよい。
複数のユーザが検索された場合、登録ユーザとの親密度に応じて決定される所定のアルゴリズムによって表示順序を決定して、サーバ送信部16を介して送信し、ユーザ端末のチャット画面上に表示させる。サジェストリストは、サーバメモリ20内において、登録ユーザごとに管理される。
また、チャット制御部14は、送信先への通信方式を決定する場合に、送信先に関してサーバメモリ20に登録されている1以上の通信方式から、適用すべき通信方式の優先順位が示された情報にしたがって、1つの通信方式を選択する。「適用すべき通信方式の優先順位が示された情報」や選択の詳細については後述することとする。
図3は、図2のチャット制御部14の構成例を示す図である。チャット制御部14は、フレンド登録部200と、検索表示部300と、メール統合部400とを含む。フレンド制御部200は、フレンドリスト管理機能を有し、サーバメモリ20内のサジェストリストおよびフレンドリストを管理する。
検索表示部300は、検索機能を有し、サーバメモリ20内のサジェストリストもしくはユーザ情報を用いて検索し、所定のアルゴリズムによって決定された表示順序で、ユーザ端末のチャット画面上に検索結果を表示する。メール統合部400は、ユーザから受け付けた送信メッセージと送信先をもとに、送信先への通信方式を決定する。また、メール統合部400は、メール統合機能を有し、ユーザ端末からの要求をもとにイベントを管理する。以下、順に説明する。
(1)フレンドリスト管理機能
まず、図3のフレンド登録部200によるフレンドリスト管理機能について説明する。図4は、図3のフレンド登録部200の構成例を示す図である。フレンド登録部200は、グループ設定部210と、グループ管理部212と、サジェスト部214と、フレンドリスト管理部216と、サジェストリスト管理部218とを含む。
グループ設定部210は、それぞれ特定の性質を有する複数のグループを設定する。グループ管理部212は、グループ設定部210によって設定された複数のグループのうち、登録ユーザにより選択されたグループと、その登録ユーザとを関連づけてサーバメモリ20上で管理する。
ここで、「グループ」とは、同じ趣味や、共通の地域など、ユーザ間における任意の共通事項の存在をきっかけとして、任意のユーザによって作成される。グループへの加入は、グループに所属しているユーザからの招待や、自己の選択により加入することができる。グループに加入すると、自己のユーザ情報内に、加入したグループのグループIDが追加される。このグループIDを用いると、特定の仲間同士におけるチャットの実施や、後述するイベント生成、管理が容易となる。
フレンドリスト管理部216は、登録ユーザ毎に、フレンドリストをサーバメモリ20上にて管理する。サジェスト部214は、登録ユーザに対して、その登録ユーザとの親密度を考慮して、フレンドリストに追加すべき他のユーザを推奨する。ここで、サジェスト部214は、チャットサービスへの登録の有無に応じて設定された所定の条件を用いて、登録ユーザに推奨すべき他のユーザを決定する。詳細は後述する。サジェストリスト管理部218は、サジェスト部214によって決定された他のユーザのユーザ情報をサーバメモリ20内のサジェストリストに登録する。
ここで、フレンドリスト管理部216は、サジェストリストに含まれたユーザ情報のうち、当該登録ユーザによって選択されたユーザ情報をサーバメモリ20内のフレンドリストに追加する。サジェストリスト管理部218は、フレンドリストへのユーザ情報の追加に伴って、そのユーザ情報をサーバメモリ20内のサジェストリストから消去する。
ここで、サジェスト部214における動作例(A)〜(G)について順に説明する。いずれも、登録ユーザとの親密度の高さに応じて、その登録ユーザに推奨すべきユーザが決定される。なお、(A)は未登録ユーザが推奨対象となる場合、(B)〜(G)は登録ユーザが推奨対象となる場合の動作例である。
(A)サジェスト部214は、チャットサービスに登録されていない未登録ユーザであって、ユーザ端末内に記憶されている連絡先情報の中に、フレンドリストに含まれていないユーザの情報が含まれている場合、そのユーザを友だち候補としてサーバメモリ20内のサジェストリストに追加させる。登録ユーザであっても、サジェストリストに追加する対象としてもよい。また、追加させるユーザとして、連絡先情報にモバイルに関する連絡先情報、たとえば、携帯端末の電話番号やメールアドレスが含まれている場合に限定してもよい。
この(A)の動作例は、たとえば、サーバ10にユーザ端末内の連絡先情報がアップロードされたことを契機として実施されてもよい。アップロードは、チャットアプリをダウンロードした際に実施されるほか、連絡先情報に新たな情報が追加された際、あるいは、定期的に実施されるものである。これにより、ユーザは、ユーザ端末内に登録された友だちをチャットサービス上においても友だちとして登録できる。
(B)サジェスト部214は、未登録ユーザであった第1ユーザに対して、第1ユーザが登録ユーザになった後に推奨すべき他の既登録ユーザとして、未登録であったときにすでにフレンドリストに第1ユーザを追加している既登録ユーザをサーバメモリ20内のサジェストリストに追加させる。これにより、新規登録ユーザである第1ユーザは、チャットサービスを開始した直後から、多くの友だちをフレンドリストに登録することができる。
(C)サジェスト部214は、そのユーザ自身をフレンドリストに任意のユーザを追加した他のユーザが存在する場合に、推奨すべきユーザとして、当該他のユーザを友だち候補としてサーバメモリ20内のサジェストリストに追加させる。
この(C)の動作例は、たとえば、他のユーザがフレンドリストに新たに登録したことを契機として、その登録されたユーザのサジェストリストに、登録実行者の他のユーザが登録される。これにより、お互いに友だちとして登録されるきっかけとなり、以後のコミュニケーションが簡易に実施でき、また、チャットサービス全体を活性化できる。
(D)サジェスト部214は、現在または過去において、チャットシステム上においてメッセージの送受信をしたことがあるユーザが存在する場合に、推奨すべきユーザとして、そのユーザを友だち候補としてサーバメモリ20内のサジェストリストに追加させる。
この(D)の動作例は、たとえば、チャットを開始するためのチャットルームと呼ばれるチャットシステム上の仮想空間内において、登録ユーザが入っているチャットルーム内に、登録ユーザが入る以前から入っていたユーザ、あるいは、登録ユーザが入った後に新たにユーザが入ってきたことを契機として、そのユーザが登録ユーザのサジェストリストに登録される。また、過去において、登録ユーザとチャットルームにおいて同居したことがあるユーザも、サジェストリストに登録される対象となる。このように、現在または過去において、チャットルーム内に同居した場合、登録ユーザのユーザ情報内に、同居したユーザのユーザIDが記憶され、これをもとに、サジェスト部214は推奨処理を実行することとなる。なお、チャットルームは、同じグループに所属するユーザで形成されるものでも、複数のグループにそれぞれ属するユーザ同士、たとえば、同じグループに属するユーザと他のグループに属するユーザとで形成されるものでもよい。サジェスト部214は、所属するグループによらず、チャットルーム内において登録ユーザとチャットを実施、もしくは、同居したことがあることをもって、そのユーザを推奨対象としてもよい。
(E)サジェスト部214は、同一のグループに共に所属しているユーザが存在する場合に、推奨すべきユーザとして、そのユーザを友だち候補としてサーバメモリ20内のサジェストリストに追加させる。
この(E)の動作例は、登録ユーザが新たにグループに登録した場合、あるいは、登録ユーザが登録しているグループに新たに他のユーザが登録してきた場合を契機として、その新たに入ってきたユーザが、登録ユーザのサジェストリストに登録される。これにより、グループ内のコミュニケーションを活発化でき、後発にグループに参加したユーザであっても、積極的にそのグループに参加することができる。なお、サジェスト部214は、前述の(D)と組み合わせた条件をもって、推奨してもよい。すなわち、サジェスト部214は、登録ユーザとチャットを実施した、または、同居したユーザであって、かつ、同一グループであるユーザを推奨してもよい。
(F)サジェスト部214は、共通の友だちをフレンドリスト内に有するユーザを友だち候補としてサーバメモリ20内のサジェストリストに追加させる。この(F)の動作例は、共通の友だちの人数が所定の人数、たとえば、3人以上になったことを契機として実行されてもよい。
(G)サジェスト部214は、SNS上の友だちが登録ユーザである場合に、推奨すべきユーザとして、その友だちをチャットサービス上の友だち候補としてサーバメモリ20内のサジェストリストに追加させる。この処理は、SNS連携の要求をユーザ端末からサーバ受信部12を介して受け付けたことを契機として実行されてもよい。SNSとは、Facebook(登録商標)などのネットワーク上のコミュニティを含む。これにより、SNS上の友だちもチャットサ―ビス上の友だちとして簡易に登録できる。
以上、7つの場合を列挙したが、これにかぎらず、同じ年代、生年月日が同一、検索ユーザと居住地が同じ、後述するイベント管理機能において管理されるイベントに共に参加したことがあるなど、お互いに親密度が高いと推定される共通事項が存在するユーザがいた場合、そのユーザを登録ユーザのサジェストリストに登録してもよい。
また、フレンド登録部200は、登録ユーザのSNS上の友だちであって、かつ、その友だちがチャットサービスに未登録である場合、その友だちに、チャットサービスへの登録を促す通知を行ってもよい。通知は、電子メールで行われてもよく、登録可能なURLに誘導させるためのメッセージが含まれる。これにより、チャットサービスの登録者を効率的に増やすことができる。
(2)検索機能
つぎに、図3の検索表示部300による検索機能について説明する。図5は、図3の検索表示部300の構成例を示す図である。検索表示部300は、検索部310と、表示順序決定部312と、表示制御部314とを含む。なお、以下においては、検索を実行する登録ユーザを検索ユーザと称することとする。
検索部310は、検索ユーザのユーザ端末に表示された検索ウインドウ内になんらかの文字を入力するなどの登録ユーザからの検索要求にもとづいて検索する場合は当該サーバ装置に記憶されているすべてのユーザ情報を対象として、表示対象とすべき1以上のユーザを検索する。登録ユーザからの要求がない場合は、チャットアプリ起動時に、あるいは、定期的に、登録ユーザのサジェストリストに含まれたユーザを対象として、表示対象とすべき1以上のユーザを検索する。
表示順序決定部312は、検索部310によって複数のユーザが検索された場合、それらのユーザ情報の表示順序を所定の条件を用いて決定する。この所定の順序は、検索ユーザとの親密度の高さに応じて決定される。表示制御部314は、表示順序決定部312によって決定された順序で、検索部310によって検索されたユーザのユーザ情報を登録ユーザのチャット画面上に表示する。
ここで、表示順序決定部312における所定の条件について説明する。
(条件1)フレンドリスト内の検索ユーザの存否
表示順序決定部312は、検索された複数のユーザのうち、フレンドリストに検索ユーザが含まれている(検索ユーザをフレンドリストに登録している)ユーザの優先順位が上位となるように、表示順序を決定する。
(条件2)検索ユーザとのメッセージの送受信の回数
また、表示順序決定部312は、検索された複数のユーザのうち、現在もしくは過去において、検索ユーザとの間でなされたメッセージの送受信の回数が多いユーザほど優先順位が上位となるように、表示順序を決定する。
(条件3)検索ユーザと共に関連づけられたグループの数
また、表示順序決定部312は、検索された複数のユーザのうち、検索ユーザと共に関連づけられたグループの数が多いユーザほど優先順位が上位となるように、表示順序を決定する。
(条件4)お互いのフレンドリスト内の共通のユーザの人数
表示順序決定部312は、検索された複数のユーザのうち、検索ユーザとの間で、お互いのフレンドリストに共通に登録されているユーザの人数が多いユーザほど優先順位が上位となるように、表示順序を決定する。
以上、4つの条件を列挙したが、これにかぎらず、検索ユーザと同じ年代、生年月日が同一、検索ユーザと居住地が同じ、後述するイベント管理機能において管理されるイベントに検索ユーザと共に参加したことがあるなど、検索ユーザとの間で親密度が高いと推定される共通事項が存在することを条件として、表示順序が決定されてもよい。
また、表示順序決定部312は、表示順序を決定するための条件1〜条件4について優先ポイントP1〜P4が設定されてもよい。このとき、条件2における「送受信の回数」をAとし、条件3における「登録ユーザと共に関連づけられたグループの数」をBとし、条件4における「お互いのフレンドリスト内の共通のユーザの人数」をCとした場合、表示順序決定部312は、「P1+A×P2+B×P3+C×P4」の式にしたがって、スコアを算出し、スコアが大きい順に、表示順序を上位としてもよい。また、表示順序決定部312は、優先ポイントとして、P1≧P2≧P3≧P4となるように設定してもよい。なお、P1〜P4は実数であり、A〜Cは正の整数である。
(3)メール統合機能
さいごに、図3のメール統合部400によるメール統合機能について説明する。図6は、図3のメール統合部400の構成例を示す図である。メール統合部400は、チャット制御部14は、登録制御部22と、選択部24と、変換部26と、イベント管理部80とを含む。
登録制御部22は、ユーザ端末から取得した連絡先情報をサーバメモリ20に登録する処理を行う。選択部24は、ユーザ端末からのチャット要求を契機として、サーバメモリ20にアクセスして送信先の情報を取得し、送信先への通信方式を決定し、変換部26に伝える。変換部26は、変換部26より伝えられた通信方式のフォーマットに、ユーザ端末から受け付けた送信先へのメッセージを変換する。変換部26による変換は、公知の方法で行われてもよい。
イベント管理部80は、サーバ受信部12を介して受け付けられたユーザからのイベントに関する指示にしたがって、サーバメモリ20にアクセスし、イベントに関する情報を管理する。イベントに関する指示には、ユーザからのイベントに関する情報の入力や、イベント参加を促したいユーザに関する情報などが含まれる。また、イベント管理部80は、ユーザからのイベントに関する指示にしたがって、所定の画面をユーザ端末のディスプレイのチャットインタフェース画面に表示する。以下、順に説明する。
登録制御部22は、ユーザ端末にチャットアプリがインストールされ、ユーザ端末内の連絡先情報がアップロードされたのを契機として、その連絡先情報をサーバメモリ20に登録する。その際、登録制御部22は、まず、アップロードの主体となったユーザ端末にIDを付与する。
さらに、登録制御部22は、アップロードされた連絡先情報と、登録ユーザの連絡先情報とを照合する。登録ユーザの連絡先情報とは、すでにチャットサービスに登録しているユーザの連絡先情報である。また、登録制御部22は、アップロードされた連絡先情報と、登録済の連絡先情報とを照合してもよい。登録済の連絡先情報とは、サーバメモリ20に記憶されている、他の登録ユーザによってすでにインポートされていた未登録ユーザの連絡先情報を含む連絡先情報である。
連絡先情報とは、氏名、フリガナ、電話番号、携帯電話番号、Eメールアドレス、SNS情報、ユーザ情報などを含む。電話番号、携帯電話番号、Eメールアドレス、あるいは、SNS情報は、複数であってもよい。SNS情報は、facebook、twitter、mixi、Linkedin(以上4つはすべて登録商標)などのSNSにおいてユーザを識別し、また、そのユーザに対して連絡をするために必要な1以上の情報を含む。ユーザ情報は、チャットシステムを利用するためのアプリをインストールしているか否かを示す情報であり、登録ユーザであるか未登録ユーザであるかを判断するためのフラグとなる。
照合の結果、2つの連絡先情報に共通部分があった場合、登録制御部22は、2つの連絡先情報を統合して記憶する。たとえば、以下に示すような2つの連絡先情報であったとすると、両連絡先情報において、氏名と携帯電話番号が同一である。そのため、双方の連絡先情報は同一人物にかかるものであると推定できる。
アップロードされた連絡先情報
氏名 A
携帯電話番号 090-XXX-YYYY
Eメールアドレス b@ppp.co.jp
登録済の連絡先情報
氏名 A
携帯電話番号 090-XXX-YYYY
電話番号 03-mmmm-nnnn
Eメールアドレス a@qqq.ne.jp
よって、登録制御部22は、上記2つの連絡先情報を統合して、以下のような1つの連絡先情報として、サーバメモリ20に記憶する。
統合後の連絡先情報
氏名 A
携帯電話番号 090-XXX-YYYY
電話番号 03-mmmm-nnnn
Eメールアドレス a@qqq.ne.jp
Eメールアドレス b@ppp.co.jp
なお、2つの連絡先情報が完全一致する場合、登録制御部22は、統合処理をしなくてもよい。お互いに補間すべき情報がないからである。また、統合の際に、共通部分の個数をもって、統合するか否かの条件してもよいし、1以上の所定の情報が一致していることを条件としてもよいし、これらの組み合わせでもよい。この個数を増やすほど、同一人物にかかるものである確率が高まるからである。また、1以上の所定の情報を、たとえば氏名と携帯電話番号のようにすることで、不変あるいは変更されにくい連絡先情報を判断基準にできるので、同一人物にかかるものである確率をより高めることができる。なお、処理スピード、処理負荷の観点と、確率を高めることはトレードオフの関係にあるが、これらを鑑みると、上記個数は、2ないし3が好適であるといえ、また、所定の情報は、氏名と携帯電話番号および/または電話番号の組み合わせが好適であるといえる。
つぎに、選択部24について説明する。選択部24は、受け付けた送信先のユーザに関してサーバメモリ20に登録されている1以上の通信方式から、適用すべき通信方式の優先順位が示された情報にしたがって、1つの通信方式を選択する。ただし、サーバ受信部12から受け付けたメッセージがチャット形式である場合と、そうでない場合とで、選択部24は動作が異なる。チャット形式の場合は、登録ユーザからのメッセージであり、チャット形式以外の形式の場合は、未登録ユーザからのメッセージとなるからである。
ここでは、まず、サーバ受信部12から受け付けたメッセージがチャット形式である場合について、例を用いて説明する。この例においては、以下のユーザA、ユーザB、ユーザCの連絡先情報がサーバメモリ20に記憶されていることを前提とする。
ユーザA
氏名
Eメールアドレス
登録ユーザ
ユーザB
氏名
Eメールアドレス
SNS情報
未登録ユーザ
ユーザC
氏名
Eメールアドレス1
Eメールアドレス2
未登録ユーザ
また、適用すべき通信方式の優先順位が示された情報(以下、優先度情報という。)が以下のように設定されていたと仮定する。なお、この優先度情報とは、たとえば、以下のような情報となる。優先度1は、もっとも優先度が高いことを示し、番号が大きくなるほど優先度が低くなることを示している。
優先度1 チャット形式
優先度2 Eメール形式
優先度3 SNS形式
なお、この優先度情報は、登録ユーザごとに設定されていてもよい。また、登録ユーザが任意に設定してもよい。また、常に、チャット形式が優先度1になるように設定されてもよいし、この場合に、優先度2以降の形式をユーザが任意に設定できるようになっていてもよい。
以上のような場合において、ユーザAが送信先である場合について説明する。まず、選択部24は、送信先について記憶されている連絡先情報のうち、ユーザ情報を取得する。ここで、ユーザ情報により、送信先のユーザが登録ユーザであることが判明し、この場合、チャット形式が選ばれる。
ここで、選択部24は、変換部26に対して、受け付けたメッセージをチャット形式に変換する旨を指示する。なお、登録ユーザである場合、選択部24は、優先度情報にアクセスすることなく、チャット形式を選択してもよい。
次に、ユーザBが送信先である場合について説明する。上述のユーザAの場合と異なり、ユーザBは未登録ユーザとなる。このような場合、選択部24は、優先度情報のうち、優先度2を参照する。ここで、優先度2はEメール形式となっているので、選択部24は、Eメールアドレスが、ユーザBの連絡先情報として存在するか否かを照合する。
上記の例においては、ユーザBのEメールアドレスが存在するため、選択部24は、通信方式としてEメール形式を選択することとなる。なお、ユーザBのEメールアドレスが登録されていなかった場合、次の優先度3のSNS形式について登録されているかが判断され、この場合においてはユーザBの登録情報としてSNS情報が登録されているため、選択部24は、SNS形式を選択することとなる。
次に、ユーザCが送信先である場合について説明する。ユーザCの登録情報によると、ユーザCは未登録ユーザであるため、選択部24は、優先度2のEメール形式が選択できるかどうかを判断するために、ユーザCの登録情報にEメールアドレスが存在するか否かを確認する。ここで、ユーザCの登録情報として、Eメールアドレスが2つ存在している。このような場合、選択部24は、携帯電話宛のEメールアドレスを優先して選択する。
なお、2つ以上の携帯電話宛のEメールアドレスが登録されている場合、より遅い時期に登録されているEメールアドレスを選択してもよい。より遅い時期に登録されたEメールアドレスのほうが、より最近に登録された最新の情報である可能性があり、より確実にユーザCにメッセージを到達させることができるからである。
また、優先度情報としてEメール形式が優先度2に設定されているが、これを以下の優先度情報の例2のように、宛先に応じて優先度を設定してもよい。
<優先度情報の例2>
優先度1 チャット形式
優先度2 携帯電話以外を宛先とするEメールアドレス
優先度3 携帯電話宛のEメールアドレス
また、以下の優先度情報の例3のように、gmail.comやフリーアドレスのように、携帯電話であるか他の宛先であるかを問わない汎用のEメールアドレスを設定できるようにしてもよい。このように優先度情報を設定することで、より柔軟に送信先を選択することができ、より確実に送信先にメッセージを到達させることができる。
<優先度情報の例3>
優先度1 チャット形式
優先度2 汎用のEメールアドレス
優先度3 携帯電話宛のEメールアドレス
優先度4 携帯電話以外を宛先とするEメールアドレス
変換部26は、送信先が未登録ユーザである場合、サーバ受信部12から受け付けたメッセージに、URL情報を付加する。URL情報とは、未登録ユーザにチャットシステムへの招待を促すWebページへのリンクに関する情報である。未登録ユーザは、この情報をクリックすることで、サーバ10にアクセスでき、そこから、チャットを実施するためのチャットアプリをダウンロードできることとなる。つぎに、変換部26は、選択部24から指示された通信方式の形式に、送信すべきメッセージを変換してサーバ送信部16に送る。
つぎに、サーバ受信部12から受け付けたメッセージがチャット形式以外の形式の場合について説明する。この場合におけるメッセージは、未登録ユーザから登録ユーザへのメッセージとなる。そのため、サーバメモリ20においては、宛先であるユーザの登録情報は、登録ユーザとなる。ここで、チャット形式は、登録ユーザにかかる優先度情報の優先度1となっている。よって、前述したように、選択部24は、登録ユーザ宛のメッセージの通信方式としてチャット形式を選択することとなる。
ついで、変換部26は、未登録ユーザから受け付けたメッセージをチャット形式に変換する。変換されたメッセージは、サーバ送信部16を介して、宛先であるユーザ端末50に送信される。ユーザ端末50においては、端末のディスプレイ上のチャットインタフェース画面に、送信されたメッセージが表示される。以上のような態様により、チャットシステム100においては、サーバ10において記録されている連絡先情報と優先度情報から通信方式を適切に変換することで、登録ユーザ、未登録ユーザ間においても、ユーザに余計な操作をさせることなく、スムーズなチャットが実現できる。
つぎに、ユーザ端末側の構成について説明する。図8は、図1のモバイル端末50あるいはPC端末70における構成例を示す図である。ここでは、説明の都合上、モバイル端末50の構成として説明するが、PC端末70においても同様の構成となる。
モバイル端末50は、端末受信部52と、端末制御部54と、端末送信部56と、ユーザインタフェース58と、端末メモリ60とを備える。端末受信部52は、サーバ10からダウンロードしたチャットアプリや、サーバ10から送信されたサジェストリストやフレンドリスト、あるいは、他のユーザからのメッセージなどを受信する。
端末制御部54は、ユーザからの指示を受け付けて、端末メモリ60にアクセスしながら、チャットアプリのインストール制御や、端末メモリ60に登録された連絡先情報のアップロード制御、あるいは、チャットのための送信先の選択、送信先へのメッセージ管理などを行う。
また、ユーザインタフェース58は、ユーザへのメッセージを画面に表示し、また、キーボードやタッチパネルなどを操作した結果として入力されたユーザからの指示を受け付けて、端末制御部54に伝える。ユーザへのメッセージとは、たとえば、メモリ60に記憶された連絡先情報をサーバ10内にインポートしてもよいか否かの問合せや、サジェストリストとして表示された友だち候補の選択を要求したり、チャットを行う際の送信先の指定や、送信先へのメッセージ編集画面などである。これらのメッセージは、所定のチャットインタフェース画面に表示されてもよい。
以下、ユーザAがチャットサービスの使用を開始する場面の一例として、モバイル端末50の総括的な動作を説明する。
ユーザAが、ユーザAのモバイル端末50に、チャットアプリをインストールしたとする。その際に、端末制御部54は、「アドレス帳をインポートしますか?」などのようなポップアップメッセージをユーザインタフェース58に表示させ、これに対してユーザがYesボタンを押すと、端末メモリ60に記憶されている連絡先情報が、サーバ10のサーバメモリ20にインポートされる。
なお、チャットアプリをインストールする際に、ポップアップ表示等を出さずに、自動的にユーザAの端末メモリ60に記憶されている連絡先情報がサーバ10にインポートされてもよい。また、定期的に、インポート処理が実施されてもよいし、新たな連絡先情報が端末メモリ60に追加された場合にインポート処理が実施されてもよい。
次に、サーバ10において、連絡先情報に含まれた電話番号やEメールアドレス等と、サーバ10に記憶されている登録ユーザの連絡先情報とが照合され、一致する登録ユーザが存在する場合、登録ユーザの連絡先情報とインポートされたアドレス情報とが結合される。
この様に、チャットアプリをインストールすれば、モバイル端末50の端末メモリ60に登録されているユーザの知り合い等に関する連絡先情報が、チャット相手として自動的に登録される。そのため、ユーザはストレスを感じることなく、チャットサービスの使用を開始することができる。
つぎに、ユーザAが、ユーザBとチャットを介してメッセージのやりとりをする場面の一例を説明する。
ユーザAは、チャットアプリを起動させると、ユーザインタフェース58は、送信先の候補としてフレンドリスト内に友だちとして登録されたユーザの情報を表示する。ユーザAは、表示された候補から、メッセージの送信相手として、たとえば、ユーザBを選択する。選択された送信先は、端末制御部54、端末送信部56を介して、サーバ10に通知される。
つぎに、サーバ10は、ユーザBの連絡先情報及び優先度情報に基づいて、メッセージの通信方式(チャット、メール、SNS)を決定する。優先度情報とは、前述したように、どの通信方式を利用してメッセージを送信するかの優先順位を示す情報である。例えば、優先度情報がチャット>SNSメッセージ>Eメールアドレス>SMSの順になっており、ユーザBがチャットサービスの登録ユーザである場合は、通信方式はチャットとなる。また、ユーザBが未登録ユーザであってEメールアドレスと電話番号のみがわかっている場合は、より優先順位が高い、Eメール形式による通信形式が選択される。
ユーザAがユーザインタフェース58により画面に表示されたチャットインターフェース画面のメッセージ欄に、ユーザBへのメッセージを記入し、送信ボタンを押すと、その旨が端末制御部54、端末送信部56、さらには、サーバ10を介して、ユーザBに対してメッセージが送信される。ユーザBへの通信方式としてEメール方式が選択されている場合、サーバ10がユーザAのチャットメッセージをEメール形式に変換し、端末メモリ60よりインポートされたユーザBのメールアドレスを宛先としてメールがサーバ10より送信される。
未登録ユーザであるユーザBがユーザAからのEメール形式のメッセージを受信し、そのメッセージに対してEメール形式にて返信すると、サーバ10は、まず、ユーザBからのEメールをチャット形式のメッセージに変換して、ユーザAのモバイル端末50に送信し、その端末のディスプレイ上のチャットインターフェースに表示させる。
図7は、図6のイベント管理部80におけるチャットインタフェース画面の遷移例を示す図である。チャットインタフェース画面は、グローバルメニュー画面G0と、イベントホーム画面G1と、ユーザ選択画面G2と、イベント作成画面G3と、チャット画面G4と、イベント詳細画面G5と、イベント回答確認画面G6とを含む。
G0からG6までのチャットインタフェース画面は、ユーザから受け付けた指示にしたがって、サーバ10内のサーバメモリ20において管理されているイベント情報が更新され、更新の態様に応じて、図7に示すごとく、それぞれの画面に遷移していく。
ユーザがチャットを開始すると、まず、チャットシステム100の初期画面となるグローバルメニュー画面G0がユーザ端末に表示される。ここでユーザがイベントに関する処理を要求した場合、イベントホーム画面G1に遷移する。このイベントホーム画面G1を起点として、ユーザはイベントを作成し、また、管理することとなる。
イベント画面G1は、グローバルメニュー画面G0から遷移されて、イベントを一元管理する画面であり、ユーザは、この画面により、進行中ならびに過去に参加したイベントを確認することができる。図示するように、イベント画面G1には、新規イベント作成ボタンG10と、イベント欄G12が表示される。イベント欄G12には、イベント画像G14やイベント参加者画像G16などが表示される。
ユーザは、新規にイベントを作成する際に、新規イベント作成ボタンG10をタップすることで、イベントを作成できる。イベントを作成する際は、ユーザ選択画面G2に遷移し、イベント参加を問い合わせるユーザをユーザに選択させる画面が表示される。
イベント欄G12には、イベントのタイトル、日時、場所、参加者一覧などが表示される。ユーザにより、個別のイベントの欄がタップされると、イベント詳細画面G5に遷移する。新規に作成されたイベントは、イベント欄G12の最上部に表示され、過去のイベントほど、下部に表示される。イベントが終了した場合や、イベント自体が削除された場合、イベント欄G12から削除される。なお、下部に表示されるイベントは、色調が薄く表示されたりするなど、新規のイベントと比較して、異なる表示処理が施されてもよい。
イベント画像G14には、イベント作成において指定されたイベントを示す画像が表示される。指定されない場合は、任意の画像が表示されてもよい。イベント参加者画像G16には、そのイベントに対してすでに参加の旨を回答したユーザによって指定された画像が表示される。
イベント作成画面G3は、参加問合ユーザ画像G30と、ユーザ編集ボタンG31と、イベント説明欄G32と、候補追加ボタン33と、回答候補ボタンG34と、日程候補欄G35と、時間候補欄G36と、自由入力ボタンG37と、マップ表示ボタンG38と、検索ボタンG39とが表示される。
参加問合ユーザ画像G30には、参加を問い合わせたユーザにかかる画像が表示される。ユーザ編集ボタンG31は、ユーザがタップすることによって、ユーザ選択画面G2に遷移する。イベント説明欄G32は、イベントのタイトルと、イベントの説明を記入するための欄である。なお、タイトルの入力は必須となる。候補追加ボタン33は、日程、時間、あるいは、場所の候補を増やしたい際にユーザがタップするボタンである。ユーザがタップすると、図示されるように、候補が追加表示される。
回答候補ボタンG34は、参加を問い合わせられたユーザによりタップされるボタンであって、表示されている日程、時間、場所において開催されるイベントへの参加の可否の程度を選択肢から選択させるためのボタンである。ここでは、○、△、×のように、3択による選択肢を想定しているが、これに限られない。
日程候補欄G35、時間候補欄G36は、イベントを開催する日と時間とを記入する欄である。前述したごとく、候補追加ボタン33により候補が複数ある場合、候補ごとに記入することとなる。
自由入力ボタンG37は、場所に関して、コメントを記入する際にユーザがタップするボタンである。マップ表示ボタンG38は、イベント作成者にあっては、当該場所を示す情報を設定するためのボタンであり、イベント参加を問い合わせられたユーザにあっては、場所の情報を表示させるためのボタンとなる。場所の情報は、住所や電話番号であってもよいし、地図情報でもよいし、これらの組み合わせであってもよい。検索ボタンG39は、イベント参加を問い合わせられたユーザによって、場所等に関する情報を所定の検索ツールにより検索させるための画面に遷移するためのボタンである。
チャット画面G4は、作成されたイベントへの参加を問い合わせられたユーザのチャットインタフェースに表示される画面である。チャット画面G4は、単回答モード欄G40と、選択肢モード欄G41と、イベント説明欄G42と、選択肢ボタンG43と、回答ボタンG44とが表示される。
単回答モード欄G40には、作成されたイベントにおいて、イベントの日時、場所が1つのみ設定されている場合において表示される画面である。イベント説明欄G42には、イベント名、日時、場所、ならびに、選択肢ボタンG43が表示される。参加を問い合わせられたユーザがイベント名をタップすることで、イベント詳細画面G5に遷移する。回答ボタンG44は、図示するごとく、○と△と×のそれぞれが表示されており、イベントへの参加を問い合わせられたユーザがいずれかをタップすることで、イベントへの参加の意志表明ができる。
選択肢モード欄41には、単回答モード欄G40と異なり、作成された1つのイベントに対して、複数の日時、場所が設定されている場合において表示される画面である。選択肢モードにおいては、ユーザが回答ボタンG44をタップすることで、イベント詳細画面G5に遷移し、ユーザはイベント詳細画面G5から、それぞれの選択肢に対して、参加の意志表示をすることとなる。
イベント詳細画面G5には、参加予定ユーザー画像G50と、未回答ユーザー画像G51と、一覧表示ボタンG52と、回答ボタンG53と、店舗画像G54と、店舗リンクG55と、コメント欄G56とが表示される。
参加予定ユーザー画像G50には、すでに参加を表明したユーザによって指定された画像が表示される。なお、三択での回答形式の場合、○と回答したユーザのみを表示してもよいし、○あるいは△と回答したユーザをあわせて表示してもよいし、○と△とで色をかえるなどの表示態様を変えて表示させてもよい。
未回答ユーザー画像G51には、未回答のユーザによって指定された画像が表示される。参加予定ユーザー画像G50と比べて、異なる表示態様で表示させてもよい。図14においては、やや白い色調にて表示させた場合の例である。
一覧表示ボタンG52は、友達一覧画面に遷移するためのボタンである。回答ボタンG53においては、ユーザがタップすることで、回答の選択肢が表示され、いずれかを選択することで、回答が表示される。図示するごとく、日時、場所が複数ある場合、複数の回答ボタンG53が表示される。
店舗画像G54は、イベントが開催される店舗等があらかじめ指定している画像が表示される。店舗リンクG55においては、ユーザがタップすることで、当該店舗の情報が示されたWebページが表示される。コメント欄G56は、イベントへの参加の回答を行ったユーザがコメントを書き込むための欄である。
チャット画面G4の第2の表示例は、第1の表示例、あるいは、イベント詳細画面G5において、いずれかのユーザーがイベント参加問合せに回答した場合に表示される画面の例である。第2の表示例においては、回答があったイベントに応じて、単回答モード表示欄G60と、選択肢モード欄G61が表示される。それぞれの欄において、参加を表明したユーザーによって指定された参加予定ユーザー画像G62と、イベント詳細画面G5への遷移ボタンG63が表示される。
イベント回答確認画面G6は、イベントを作成したイベント主催者にかかるユーザが確認できる画面であり、その時点における回答状況が表示される画面となる。
イベント回答確認画面G6には、参加予定ユーザー画像G64と、イベント作成画面G3への遷移ボタンG65と、イベント選択肢カラムG66と、が表示される。イベント選択肢カラムG66には、イベントの候補数に応じて、列方向に、イベントの候補場所、日時が表示される。行方向には、それぞれの候補ごとに、○、△、×を回答した人数が表示される集計欄G68と、回答者ごとの回答が表示される回答欄G69とが表示される。
イベント主催者は、イベントの参加の可否状況を視認して、いずれの候補を採用するかを決定し、採用にかかる候補の欄に表示されたイベント確定ボタンG67をタップする。イベント確定ボタンG67がタップされると、確定されたイベントに参加の旨を回答したユーザにその旨のメッセージが通知される。メッセージは、登録ユーザであればチャットインタフェース上に表示される。未登録ユーザであれば、変換された通信方式により通知される。あるいは、決定されたイベントを知らせるためのURLを通知する。なお、参加不明、参加不可能の旨を回答したユーザーに対しても通知されてもよい。その場合、イベント主催者は、コメントをあわせて通知することができ、そのコメントはあらかじめ設定されたいくつかの定型文から選択されてもよい。
ユーザは、チャットシステム内においてイベントを作成し、チャット相手に対して、イベントの参加の有無をチャット上で回答させる。また、チャット相手から得られた回答は自動集計され、ユーザは、集計結果を一覧することが可能である。
また、単にイベント参加の可否だけでなく、イベント開催の日時や場所の候補をいくつか挙げ、候補ごとにチャット相手に回答させてもよい。チャットサービスの未登録ユーザに対しては、メール本文中にイベントの参加可否や希望日を選択するためのWebページのURLを記載しておく。または、メール本文中に、参加と不参加とで別々のURLを貼っておき、参加のURLを押せば参加と返事、不参加のURLを押せば不参加と返事することができる様にしてもよい。
このイベント等のスケジューリング管理は、以下の機能を有してもよい。
(1)イベントを主催するユーザーは、友達や家族とのイベント予定を調整できる。参加の有無、希望日時、希望場所を回答させ、主催者が集計結果を一覧できる。
(2)イベントを開催する日時の投票、および、集計ができる。日時の候補は、複数であってもよい。場所についても同様である。イベントを開催する会場ごとの選択肢であってもよい。
(3)回答者は各日程ごとに「○」「△」「×」などの複数の選択肢から回答できる。
(4)日時を指定せず、「いま暇な人募集」のようなイベントも開催できる。
(5)所定の日までに回答してないユーザーに対してリマインドメッセージを送ることができる。また、参加予定者に対して、たとえば、開催の24時間前などに参加者に対してメッセージを送ることができる。
(6)チャットインタフェースにて実施できるほか、Webブラウザ上でも同様に実施でき、双方は同期される。そのため、アプリの未登録ユーザーであっても、簡易にこの機能を使用することができる。
以上の機能を実現するために、チャットシステムを管理するサーバは、ユーザの指示にしたがって、1以上の候補日時と、1以上の候補地とをそれぞれ1つずつ組み合わせたイベント情報を作成し、作成されたイベント情報に関するイベントへの参加の可否を問い合わせる。イベントへの参加の可否を未登録ユーザなどに対して問い合わせる際において、チャット以外の通信方式を選択した場合、参加の可否に関する回答をユーザから受け付けるためのURL情報を送信すべきメッセージに含めてもよい。
図9は、図3のフレンド登録部200の処理手順例を示すフローチャートである。このフローチャートにおける処理は、あるユーザ(以下、第1ユーザという)のユーザ端末上に、第1ユーザに対して推奨すべき友だちを表示するためのものである。また、この処理は、ユーザ端末からアップロードされた連絡先情報がサーバメモリ20に格納された後に、フレンド登録部200がサーバメモリ20にアクセスして、サーバメモリ20内に記憶されたいずれかのユーザ情報を取得したことを契機として実行される。
まず、フレンド登録部200は、取得したユーザ情報にかかるユーザがチャットサービスに登録済であるか否かを確認する(S50)。登録済である場合(S50のY)はS52の処理に移り、未登録の場合(S50のN)は、S64の処理に移る。
S52において、フレンド登録部200は、取得したユーザ情報のフレンドリストに第1ユーザにかかるユーザ情報が含まれている場合(S52のY)、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。含まれていなかった場合(S52のN)、S56の処理に移る。
S56において、フレンド登録部200は、取得した取得したユーザ情報にかかるユーザが、現在または過去において、チャットサービス上で第1ユーザとチャットを実施したことがある(S56のY)場合、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。チャットを実施したことがなかった場合(S56のN)、S58の処理に移る。
S58において、フレンド登録部200は、取得した取得したユーザ情報に登録されている1以上のグループIDのうち、いずれかのグループIDが、第1ユーザが所属している1以上のグループのうちのいずれかのグループのグループIDと一致している場合(S58のY)、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。チャットを実施したことがなかった場合(S58のN)、S60の処理に移る。S56およびS58について、他の実施形態として、第1ユーザが所属するグループと他のグループとで形成されるチャットルームにおいて、第1ユーザとチャットを実施したユーザ、または、当該チャットルーム内に第1ユーザと同居したユーザを第1ユーザに推奨するために当該ユーザをサジェストリストに追加することもできる。なお、追加されるユーザは、第1ユーザとチャットを実施する、または、第1ユーザとチャットルーム内に同居したことがあればよく、追加される条件としてその所属グループは問われなくてもよい。すなわち、追加されるユーザは、第1ユーザが属するグループに共に属していてもよいし、第1ユーザが属していない他のグループに属していてもよい。また、同一グループのユーザを優先して推奨してもよい。
S60において、フレンド登録部200は、取得した取得したユーザ情報内のフレンドリストに登録されている複数のユーザIDのうち、いずれかのユーザIDが、第1ユーザのフレンドリストに登録されている複数のユーザIDのうちのいずれかと一致している場合(S60のY)、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。チャットを実施したことがなかった場合(S60のN)、S62の処理に移る。
S62において、フレンド登録部200は、取得した取得したユーザ情報にかかるユーザが、SNS上において第1ユーザの友だちであった場合(S62のY)、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。チャットを実施したことがなかった場合(S62のN)、処理を終了する。
S64において、フレンド登録部200は、取得したユーザ情報が、第1ユーザのユーザ端末からアップロードした連絡先情報に含まれている場合(S64のY)、S66の処理に移る。含まれていなかった場合(S64のN)、処理を終了する。
S66において、フレンド登録部200は、第1ユーザのユーザ端末からアップロードした連絡先情報に、取得したユーザ情報にかかるユーザについてのモバイルに関する情報が含まれている場合(S66のY)、取得したユーザ情報にかかるユーザを第1ユーザに推奨するためにサジェストリストに追加する(S54)。含まれ得ていなかった場合(S66のN)、処理を終了する。
なお、S52からS62の処理は、順不同であってもよいし、それぞれ独立に判断されてもよいし、並列に判断されてもよい。
図10は、図3のメール統合部400の第1の処理手順例を示すフローチャートである。この第1の処理手順例は、ユーザ端末にアプリをダウンロードさせたことを契機として開始される。
まず、メール統合部400は、サーバ送信部16を介して、ユーザ端末にインポート要求を行う(S10)。インポート要求とは、ユーザ端末内のメモリに記憶されている連絡先情報をサーバ10にアップロードさせて、サーバ10内のサーバメモリ20に記憶させてもよいか否かを問い合わせるためのものである。
ここで、ユーザ端末からインポートを許可しない旨の信号をサーバ受信部12にて受け付けた場合(S12のNo)、メール統合部400は、この処理を終了する。一方、ユーザ端末からインポートを許可する旨の信号を受け付けた場合(S12のYes)、ついで送信されてくる連絡先情報をサーバ受信部12を介して、取得する。
取得した連絡先情報と、サーバメモリ20にすでに登録されている連絡先情報とを照合した結果、共通する情報が存在した場合(S14のYes)、登録制御部22は、サーバメモリ20内に記憶されていた連絡先情報と、取得した連絡先情報とを統合する(S16)。一方、共通した情報が存在しなかった場合(S14のNo)、登録制御部22は、取得した連絡先情報をそのままサーバメモリ20に登録する(S18)。その際、連絡先情報を特定するためのIDなどを付してもよい。
ここで、インポートすべきすべての連絡先情報がインポートされた場合(S20のYes)、チャット制御部14は、この処理を終了する。一方、他の連絡先情報がある場合(S20のNo)、メール統合部400は、S14の処理に戻り、インポートすべき連絡先情報がなくなるまで、S14〜S20の処理を繰り返す。
図11は、図3のメール統合部400の第2の処理手順例を示すフローチャートである。この第2の処理手順例は、ユーザ端末がチャットを開始したことを契機として開始される。
メール統合部400は、サーバ受信部12を介して、ユーザが指定した送信先と、当該送信先に送信されるべきメッセージとを取得する(S30)。ついで、メール統合部400は、送信先に関してサーバメモリ20に登録されている連絡先情報のうちの1以上の通信方式から、適用すべき通信方式の優先順位が示された優先度情報にしたがって、1つの通信方式を選択する(S32)。
ここで、送信先が未登録ユーザの場合(S34のYes)、メール統合部400は、送信すべきメッセージに、未登録ユーザにチャットシステムへの参加を促すためのURL情報を付加する(S36)。登録ユーザの場合(S34のNo)、S38の処理に移る。
メール統合部400は、送信すべきメッセージに対して、S32において選択された通信方式に変換する処理を実施する(S38)。ついで、メール統合部400は、サーバ送信部16に対して、変換したメッセージをユーザから指定された送信先に送信させる(S40)。
以上のような態様によると、チャットサービスへの登録の有無に応じて設定された所定の条件を用いて、推奨すべき他のユーザを決定することによって、未登録のユーザを友だちとしてフレンドリストに登録することができる。また、登録ユーザが管理するユーザ情報の中に、未登録ユーザのユーザ情報が含まれている場合、その未登録ユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、未登録のユーザであっても友だちにすることができる。また、未登録ユーザであった第1ユーザに対して、第1ユーザが登録ユーザになった後に推奨すべき他の既登録ユーザとして、未登録であったときにすでにフレンドリストに第1ユーザを追加している既登録ユーザを決定することによって、未登録ユーザには、新規登録の時点から多数の友だちが推奨されるため、友だち関係を形成しやすく、チャットサービスの使用意欲を高めることができる。
また、フレンドリストに登録ユーザが含まれている場合に、そのユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、お互いに友だちとしてフレンドリストに登録でき、以後のチャットを円滑に実施することができる。また、現在もしくは過去において、チャットサービス上でそのユーザと前記登録ユーザとの間でお互いにメッセージを送受信したことがある場合、そのユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、チャットにて知り合ったユーザを友だちとして簡易に登録できる。
また、同じグループにそのユーザと登録ユーザとが共に関連づけられている場合、そのユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、同じグループに所属しているユーザを友だちとして簡易に登録できる。また、フレンドリストに共通のユーザが1人以上含まれている場合、そのユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、共通の友だちが多いユーザを友だちとして簡易に登録できる。また、SNS上の友達である場合、そのユーザを当該登録ユーザに推奨すべき他のユーザとして決定することによって、SNS上の友だちをチャットシステムでも同様に友だちとして簡易に登録できる。
また、検索された1以上のユーザ情報の表示順序を決定することによって、登録ユーザと関係の深いユーザを優先的に表示させることができる。また、フレンドリストに登録ユーザが含まれているユーザの優先順位が上位となるように、表示順序を決定することによって、自分をフレンドリストに追加しているユーザを優先的に表示させることができるため、登録ユーザは、より親密度が高いユーザを効率的に知ることができる。また、現在もしくは過去におけるチャットの回数に応じて表示することによって、登録ユーザは、より親密度が高いと推定されるユーザを効率的に知ることができる。また、お互いに登録しているグループの数が多いユーザを上位に表示することによって、登録ユーザは、より親密度が高いと推定されるユーザを効率的に知ることができる。
また、受け付けた送信先に関してメモリに登録されている1以上の通信方式から適用すべき通信方式の優先順位が示された情報にしたがって1つの通信方式を選択することによって、通信方式が自動設定されるため、メッセージを送る際のユーザへの負担を軽減できる。また、取得した連絡先情報と登録済の連絡先情報とを照合した結果、2つの連絡先情報に共通する情報が含まれている場合、登録済の連絡先情報に取得した連絡先情報を結合することによって、サービス使用開始時のユーザへの負担を軽減することができる。
以上、本発明を実施例をもとに説明した。本発明は上述した実施例並びに各実施例の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。