<第1実施形態>
図1を参照して、本発明の第1実施形態に係る情報処理システムについて説明する。図1には、第1実施形態に係る情報処理システムの一例が示されている。
第1実施形態に係る情報処理システムは、一例として、複数の端末装置10とサーバ12を含む。例えば、各端末装置10とサーバ12は、インターネット等の通信経路Nを介して他の装置と通信する機能を有する。もちろん、端末装置10とサーバ12は、通信経路Nを利用せずに、それぞれ異なる通信経路を介して他の装置と通信してもよいし、直接的に他の装置と通信してもよい。図1に示す例では、3つの端末装置10が情報処理システムに含まれているが、1又は複数の端末装置10が情報処理システムに含まれていてもよい。
端末装置10は、パーソナルコンピュータ(PC)、タブレットPC、スマートフォン、携帯電話、等の装置であり、他の装置との間でデータを送受信する機能を有する。端末装置10は、ウェアラブル端末(腕時計型端末、リストバンド型端末、眼鏡型端末、指輪型端末、コンタクトレンズ型端末、体内埋め込み型端末、ヒアラブル端末等)であってもよい。また、端末装置10は、表示装置としてフレキシブルディスプレイを有していてもよい。フレキシブルディスプレイとして、例えば、有機エレクトロルミネッセンス型のディスプレイ(フレキシブル有機ELディスプレイ)、電子ペーパー型のディスプレイ、フレキシブル液晶ディスプレイ、等が用いられる。これら以外の表示方式が採用されたフレキシブルディスプレイが用いられてもよい。フレキシブルディスプレイは、表示部分が柔軟に変形可能なディスプレイであり、例えば、曲げたり、折り畳んだり、巻いたり、捩ったり、伸ばしたりすることが可能なディスプレイである。端末装置10全体がフレキシブルディスプレイによって構成されていてもよいし、フレキシブルディスプレイとそれ以外の構成とが機能的又は物理的に分かれていてもよい。
サーバ12は、データやユーザ情報の管理等を行う装置である。例えば、サーバ12は、ユーザに対してソーシャルネットワーキングサービス(SNS)を提供する機能を有する。端末装置10は、サーバ12が提供するSNSを利用することで、当該SNSを利用する他の端末装置10との間で情報(例えば、文字列、静止画像、動画像、音声等)の送受信を行うことができる。そのSNSにおいては、対話グループ単位での対話(情報のやり取り)が可能となっており、サーバ12は、各対話グループにおける対話を管理する。各対話グループには、1又は複数のユーザ(話者ともいう)の参加が可能であり、同一対話グループに属する複数のユーザの端末装置10の間で、情報の送受信が可能となる。例えば、同一の対話グループに複数のユーザがログインしている場合、当該複数のユーザの端末装置10の間で、情報が送受信される。
以下、図2を参照して、端末装置10の構成について詳しく説明する。
通信部14は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部14は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。通信部14は、例えば、1又は複数の種類の通信方式に対応しており、通信相手に適した通信方式(つまり、通信相手が対応している通信方式)に従って通信相手と通信してもよい。通信方式は、例えば、赤外線通信、可視光通信、Wi-Fi(登録商標)通信、近接無線通信(例えばNFC(Near Field Communication)等)、等である。近接無線通信としては、Felica(登録商標)、Bluetooth(ブルートゥース)(登録商標)、RFID(Radio Frequency Identifier)等が用いられる。もちろん、別の方式の無線通信が近接無線通信として用いられてもよい。通信部14は、通信相手に応じて通信方式や周波数帯域を切り替えてもよいし、周囲の環境に応じて通信方式や周波数帯域を切り替えてもよい。
UI部16はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。表示部は、フレキシブルディスプレイであってもよい。操作部は、例えばタッチパネルやキーボード等の入力装置である。表示部と操作部を兼ねたユーザインターフェース(例えば、タッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示する装置等を含む)であってもよい。また、UI部16は、マイク等の集音部やスピーカ等の音声発生部を含んでいてもよい。この場合、音声入力によって情報が端末装置10に入力されてもよいし、音声によって情報が発せられてもよい。
記憶部18はハードディスクやメモリ(例えばSSD等)等の記憶装置である。記憶部18には、例えば、各種のデータ、各種のプログラム(例えば、OS(Operating System)、各種のアプリケーションプログラム(アプリケーションソフトウェア)等)、他の端末装置10のアドレスを示す情報(端末アドレス情報)、サーバ12のアドレスを示す情報(サーバアドレス情報)、等が記憶されている。それらは別々の記憶装置に記憶されてもよいし、1つの記憶装置に記憶されてもよい。例えば、サーバ12が提供するSNSを利用するためのSNSアプリケーションプログラムが記憶部18に記憶されており、そのSNSアプリケーションプログラムを実行することで、当該SNSの利用が可能となる。また、SNSを利用して端末装置10が送信した情報や受信した情報が、記憶部18に記憶されてもよい。
検知部20は、ユーザの操作を検知する機能を有する。ユーザの操作は、例えば、ユーザのジェスチャー動作や音声等である。ジェスチャー動作は、例えば、ユーザの指の動き、手の動き、腕の動き、首の動き、足の動き、眼球の動き、瞼の動き、上半身の動き、下半身の動き、全身の動き、顔の表情の変化、口の動き等である。例えば、検知部20は、センサを用いてユーザの操作を検知する。センサとして、例えば、UI部16の表示部に対する物理的な接触を検知するセンサが用いられる。そのようなセンサとして、例えば、表示部に対する圧力を検知する圧力センサ、静電容量の変化を検知する静電容量センサ、接触による温度の変化を検知する温度センサ、湿度の変化を検知する湿度センサ等が用いられる。また、センサとしてカメラが用いられてもよい。カメラを用いることで、表示部に対する物理的な接触が検知されてもよいし、表示部に対して物理的に接触しないユーザの操作が検知されてもよい。表示部としてフレキシブルディスプレイが用いられる場合、センサとして、圧力センサ、加速度センサ、ジャイロセンサ等が用いられ、検知部20は、フレキシブルディスプレイの曲げ変化、圧力の変化、静電容量の変化、光学特性の変化、温度、湿度、加速度、向き、等を検知してもよい。なお、端末装置10以外の場所や装置に設けられた外部センサによって、ユーザの操作が検知されてもよい。この場合、その検知結果を示す情報が、当該センサから端末装置10に送信され、制御部22は、その情報を受け付ける。外部センサが用いられる場合、端末装置10はセンサを有していなくてもよい。また、センサとしてマイク等の集音装置が用いられ、検知部20は、ユーザの音声を検知してもよい。
制御部22は、端末装置10の各部の動作を制御する機能を有する。例えば、制御部22は、各種のプログラムの実行、通信部14による通信の制御、UI部16を用いた情報の通知(例えば表示や音声出力等)の制御、UI部16を用いて入力された情報の受け付け、等を行う。例えば、制御部22が、SNSアプリケーションプログラムを実行することで、サーバ12が提供するSNSの利用が可能となる。また、制御部22は、表示制御部24を含む。
表示制御部24は、各種の情報の表示を制御する機能を有する。例えば、SNSが利用されている場合、表示制御部24は、そのSNSを利用して送信や受信された情報(文字列や画像等)を、UI部16の表示部に表示させる。なお、SNSを利用して送信や受信された音声情報が、スピーカ等から出力されてもよい。また、ユーザが、SNSにおける現在の対話相手を別の対話相手に変更するための操作を行い、検知部20が、その操作を検知した場合、表示制御部24は、表示部に表示されている画面を、当該別の対話相手と対話するための画面に変更する。表示制御部24による処理については、後で詳しく説明する。
以下、図3を参照して、サーバ12の構成について詳しく説明する。図3には、サーバ12の構成が示されている。
通信部26は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部26は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。
記憶部28はハードディスクやメモリ(例えばSSD等)等の記憶装置である。記憶部28には、例えば、各種のデータ、各種のプログラム、端末装置10の端末アドレス情報、サーバ12のサーバアドレス情報、等が記憶されている。もちろん、それらは別々の記憶装置に記憶されてもよいし、1つの記憶装置に記憶されてもよい。例えば、SNSを利用して端末装置10が送信した情報が、記憶部28に記憶されてもよい。
制御部30は、サーバ12の各部の動作を制御する。例えば、制御部30は、通信部26による通信を制御する。また、制御部30は、サービス提供部32を含む。
サービス提供部32は、端末装置10に対してSNSを提供する機能を有する。例えば、サービス提供部32は、当該SNSを利用して端末装置10からサーバ12に送られてきた情報(例えば、文字列、画像、音声情報等)を、当該SNSを利用する他の端末装置10に送信する。また、サービス提供部32は、対話グループ単位での対話(情報のやり取り)を制御する機能を有する。具体的には、サービス提供部32は、同一対話グループにログインしている複数のユーザの端末装置10の間での情報の送受信を制御する。つまり、サービス提供部32は、ある対話グループにログイン中のユーザの端末装置10からサーバ12に送信されてきた情報を、当該対話グループにログイン中の他のユーザの端末装置10に送信する。例えば、サービス提供部32は、対話グループ毎に、対話グループを識別するための対話グループ識別情報と、当該対話グループにログイン中のユーザや端末装置10を識別するための識別情報(例えば、ユーザアカウント情報等のユーザ識別情報や、端末識別情報等)とを互いに対応付けて、それらの情報を管理する。サービス提供部32は、その管理されている情報を参照することで、各対話グループにログイン中のユーザや端末装置10を特定して、複数の端末装置10の間における情報の送受信を制御する。
なお、SNSを利用した情報の送受信は、サーバ12を介して行われてもよいし、サーバ12を介さずに、複数の端末装置10の間で、直接的に(他の装置を介さずに)、又は、間接的に(他の装置を介して)、行われてもよい。
以下、端末装置10の動作について具体例を挙げて詳しく説明する。
例えば、ユーザA,B,Cが対話グループ1に属しており、ユーザA,D,Eが対話グループ2に属しており、対話グループ1,2共に、SNSを利用して対話が行われているものとする。例えば、ユーザA,B,Cが、対話グループ1にログインしてメッセージを送受信しており、ユーザA,D,Eが、対話グループ2にログインしてメッセージを送受信しているものとする。
各ユーザは、自身の端末装置10を利用してSNSを利用する。もちろん、同一の端末装置10にて、ユーザアカウントの切り替えが可能な場合や、各ユーザを区別して情報の送受信が可能な場合、複数のユーザによって同一の端末装置10が共用されてもよい。
以下では、説明の便宜上、ユーザAが利用する端末装置10を「端末装置10A」と称し、ユーザBが利用する端末装置10を「端末装置10B」と称し、ユーザCが利用する端末装置10を「端末装置10C」と称し、ユーザDが利用する端末装置10を「端末装置10D」と称し、ユーザEが利用する端末装置10を「端末装置10E」と称することとする。
例えば、あるユーザが他のユーザに情報を送信することで、それらのユーザによって対話グループが形成されてもよいし、既に形成されている対話グループに新たなユーザが参加したり勧誘されたりすることで、当該新たなユーザが当該対話グループに追加されてもよい。また、予め対話グループが形成されていてもよい。これらの対話グループは、サーバ12のサービス提供部32によって管理される。
例えば、ユーザA,B,Cが、それぞれ自身の端末装置10を利用してSNSアプリケーションプログラムを起動させ、サービス提供部32が提供するSNSにて形成されている対話グループ1にログインする。ログインするためには、ユーザを識別するための情報(例えばユーザIDや氏名等)や、認証情報(例えば、パスワードやユーザの生体情報等)が用いられてもよい。ユーザAが、対話グループ1へのメッセージの送信を指示すると、端末装置10Aは、当該メッセージをサーバ12に送信する。サーバ12のサービス提供部32は、端末装置10Aから送信されてきたメッセージを受信し、ユーザBの端末装置10BとユーザCの端末装置10Cに当該メッセージを送信する。なお、端末装置10B,10Cのそれぞれの端末アドレス情報は、端末装置10Aからサーバ12に送られてもよいし、サーバ12に予め記憶されていてもよい。サービス提供部32は、それらの端末アドレス情報を用いて端末装置10B,10Cを識別し、ユーザAからのメッセージを端末装置10B,10Cに送信する。端末装置10Bの表示制御部24は、端末装置10AからのメッセージをUI部16の表示部に表示させる。端末装置10Cにおいても同じ処理が行われる。
なお、サービス提供部32は、ユーザAからメッセージが送られてきた旨を示す確認メッセージを、端末装置10B,10Cに送信してもよい。この場合、端末装置10Bの表示制御部24は、当該確認メッセージを表示部に表示させる。ユーザBが、UI部16を用いて、ユーザAからのメッセージの取得を指示した場合、端末装置10Bは、当該メッセージの取得要求をサーバ12に送信する。サービス提供部32は、その取得要求に応じて、ユーザAからのメッセージを端末装置10Bに送信する。端末装置10Bの表示制御部24は、当該メッセージを表示部に表示させる。端末装置10Cにおいても同じ処理が行われる。
なお、ユーザBが対話グループ1にログインしていない場合や、端末装置10BにてSNSアプリケーションが起動していない場合、端末装置10Bの表示制御部24は、上記の確認メッセージを表示部に表示させてもよい。例えば、表示制御部24は、SNSアプリケーションプログラムを表す画像(例えばアイコン)を表示部に表示させ、その画像に紐付けて確認メッセージ(例えば、ユーザBによって取得や読まれていないメッセージの数)を表示部に表示させる。ユーザBが対話グループ1にログインした場合や、端末装置10BにてSNSアプリケーションプログラムが起動した場合、端末装置10Bは、ユーザAのメッセージの取得要求をサーバ12に送信する。サービス提供部32は、その取得要求に応じて、当該メッセージを端末装置10Bに送信する。端末装置10Bの表示制御部24は、当該メッセージを表示部に表示させる。ユーザCが対話グループ1にログインしていない場合や、端末装置10CにてSNSアプリケーションプログラムが起動していない場合についても、上記と同じ処理が行われる。
ユーザB,Cがメッセージを送信する場合も、ユーザAがメッセージを送信する場合と同じ処理が実行される。また、対話グループ2についても同じ処理が実行される。各ユーザは、後から対話グループにログインしてもよいし、途中で対話グループからログアウトしてもよい。
図4を参照して、SNSの利用時に端末装置10に表示される画面について説明する。図4には、ユーザAが利用する端末装置10Aに表示される画面の一例が示されている。端末装置10Aの表示制御部24は、UI部16の表示部に画面34を表示させ、その画面34に各種の情報を表示させる。画面34は、他のユーザ(話者)と対話するためのインターフェース(対話画面)である。画面34には、各ユーザが入力した情報(例えば、文字列や画像等)が表示される。複数のユーザの間の対話は、いわゆるチャット形式の対話(つまり、リアルタイム形式の対話、更に換言すると、各ユーザが発言しながら対話が進む形式)であってもよい。例えば、端末装置10Aの制御部22が、SNSアプリケーションプログラムを実行することで、表示制御部24は、SNSを利用して対話するための画面34をUI部16の表示部に表示させる。なお、SNSアプリケーションプログラムを実行することで、チャット機能の他に、インターネット電話機能等の利用が可能となってもよい。
画面34は、対話グループ1にログインしているユーザA,B,Cの間の対話内容が表示される画面である。表示中の対話グループ1が、ユーザAにとって現在の対話相手(対話グループ)であり、ユーザB,Cが、ユーザAにとって現在の話者である。
表示制御部24は、ユーザAに紐付く画像36、ユーザBに紐付く画像38、及び、ユーザCに紐付く画像40を、画面34に表示させる。画像36はユーザAを識別するための画像であり、画像38はユーザBを識別するための画像であり、画像40はユーザCを識別するための画像である。なお、画像36に代えて又は画像36と共に、ユーザAを示す文字列(例えば、氏名、ユーザID、ハンドルネーム、ニックネーム等のようにユーザを識別するための文字列)が表示されてもよい。画像38,40についても同じである。ユーザAに紐付く画像36は、画面34内において、端末装置10Aを利用するユーザに割り当てられた領域に表示され、ユーザBに紐付く画像38とユーザCに紐付く画像40は、画面34内において、他のユーザに割り当てられた領域に表示される。
以降、ユーザA,B,Cの間で対話が行われる。各ユーザは、自身の端末装置10のUI部16を操作して文字列や画像等を入力することで、発言内容を入力してもよいし、音声によって発言内容を入力してもよい。また、各ユーザの発言内容は、音声として出力されてもよい。入力された発言内容は、ユーザの指示に従って、他のユーザの端末装置10に送信される。各発言内容は、送信された日時に従って時系列に沿って表示される。画面34上で対話が進むと、画面34がスクロールし、画面34に表示しきれない過去の発言内容は画面34から消え、最新の発言内容や、その直近の発言内容が、画面34に表示される。
発言内容42は、ユーザBが端末装置10Bを利用して送信した発言内容(例えばメッセージ)である。発言内容42は、端末装置10Bからサーバ12に送信され、サービス提供部32によって、サーバ12から対話グループ1に属する端末装置10A,10Cに送信される。もちろん、発言内容42は、サーバ12を介さずに端末装置10Bから端末装置10A,10Cに送信されてもよい。発言内容42は、ユーザBの画像38に紐付けて画面34に表示される。発言内容42は、端末装置10B,10Cにも、ユーザBの発言内容として表示される。発言内容44は、ユーザAが端末装置10Aを利用して送信した発言内容であり、ユーザAの画像36に紐付けて画面34に表示され、また、端末装置10B,10Cにも、ユーザAの発言内容として表示される。発言内容46は、ユーザCが端末装置10Cを利用して送信した発言内容であり、ユーザCの画像40に紐付けて画面34に表示され、また、端末装置10B,10Cにも、ユーザCの発言内容として表示される。発言内容48は、ユーザAによって送信された発言内容である。図4に示す例では、発言内容42,44,46,48の順番で各発言内容が送信されており、発言内容42,44,46,48は、送信された日時に従って時系列に沿って表示されている。以降の発言内容についても同様である。
また、各発言内容が送信された時間(例えば、時刻や日時)を示す情報が、画面34に表示されてもよい。例えば、画面34には、日付(例えば、今日の日付、11月2日)を示す文字列が表示されている。その日付を示す文字列の表示位置よりも下部に表示されている発言内容が、その日付以降に送信された発言内容であり、その表示位置よりも上部に表示されている発言内容が、その日付よりも前の日付に送信された発言内容である。例えば、発言内容42は、ユーザBによって11月2日の16:00に送信されており、その時刻を示す情報が発言内容42に紐付けて表示されている。他の発言内容についても同様に、時刻を示す情報が表示されている。もちろん、時刻や日時を示す情報が表示されなくてもよい。
また、発言内容の既読及び未読が管理されてもよい。ここで、既読メッセージと未読メッセージについて説明する。既読メッセージは、他のユーザによって読まれている発言内容であり、未読メッセージは、他のユーザによって読まれていない発言内容である。例えば、ユーザAが対話グループ1宛てに送信したメッセージ(発言内容)が、他のユーザ(例えばユーザBやユーザC)によって読まれた場合、当該メッセージが読まれたことを示す既読情報が、当該メッセージを読んだユーザの端末装置10から端末装置10Aに送信される。例えば、他のユーザの端末装置10においてSNSアプリケーションプログラムが実行されて、対話するための画面(例えば画面34に相当する画面)にユーザAのメッセージが表示された場合、当該メッセージが当該他のユーザによって読まれたとして扱われる。この場合、既読情報が、当該他のユーザの端末装置10から端末装置10Aに送信される。もちろん、他のユーザが、自身の端末装置10にて、ユーザAのメッセージを指定した場合や、当該メッセージを指定して別ウィンドウ(別画面)にて当該メッセージを表示させた場合や、既読情報の送信指示を与えた場合に、既読情報が、当該他のユーザの端末装置10から端末装置10Aに送信されてもよい。別の例として、ユーザAのメッセージが送信されてきたことを示す確認メッセージが、他のユーザの端末装置10の表示部に表示され、他のユーザがユーザAのメッセージの表示指示を与えたときや、当該メッセージが実際に表示されたときに、既読情報が、当該他のユーザの端末装置10から端末装置10Aに送信されてもよい。
他の端末装置10から端末装置10Aに既読情報が送信されてきた場合、端末装置10Aの表示制御部24は、既読情報(文字列や画像等)をメッセージに紐付けて表示部に表示させる。図4に示す例において、ユーザAの発言内容44(メッセージ)が他のユーザによって読まれており、既読情報(例えば文字列「既読」)が、発言内容44に紐付けて表示されている。例えば、既読情報が発言内容44の近傍に表示される。発言内容44が、すべての他のユーザによって読まれた場合に、既読情報が発言内容44に紐付けて表示されてもよいし、少なくとも1人の他のユーザによって読まれた場合に、既読情報が発言内容44に紐付けて表示されてもよい。
既読情報が紐付けられている発言内容は、既読メッセージに該当し、既読情報が紐付けられていないメッセージは、未読メッセージに該当する。ユーザAの発言内容48には、既読情報(例えば文字列「既読」)が紐付けて表示されていないため、発言内容48は、未読メッセージに該当する。
表示制御部24は、メッセージが他のユーザによって読まれていないことを示す未読情報を、未読メッセージに紐付けて画面34に表示させてもよい。例えば、未読情報が発言内容48に紐付けられて表示されてもよい。また、既読情報及び未読情報の両方が表示されてもよいし、いずれか一方が表示されてもよい。
なお、図4に示す例では、既読情報が文字列として発言内容に紐付けて表示されているが、既読の表現方法として、文字列を用いる方法以外の方法が用いられてもよい。例えば、表示制御部24は、既読メッセージと未読メッセージとで表現の態様を異ならせてもよい。具体的には、表示制御部24は、未読メッセージに含まれる文字列を特定のフォントを使って表現してもよいし、その文字列を特定の色で表現してもよいし、その文字列を太字で表現してもよいし、未読メッセージの表示枠を装飾してもよいし、未読メッセージをハイライト表示してもよい。こうすることで、既読メッセージと未読メッセージが互いに区別されて表示される。図4に示す例では、発言内容44は既読メッセージであり、発言内容48は未読メッセージであるため、表示制御部24は、発言内容44と発言内容48とで表現の態様を異ならせる。もちろん、表示制御部24は、既読メッセージについて上記の処理を適用し、未読メッセージには上記の処理を適用しなくてもよい。また、表示制御部24は、既読情報や未読情報を表示すると共に、上記の処理を実行してもよい。
既読メッセージと未読メッセージの概念は、上記の概念に限定されるものではない。例えば、他のユーザが送信したメッセージをユーザAが読んだ場合、当該メッセージが既読メッセージとして扱われ、他のユーザが送信したメッセージをユーザAが読んでいない場合、当該メッセージが未読メッセージとして扱われてもよい。例えば、ユーザBが対話グループ1宛てに送信したメッセージが、ユーザAによって読まれていない場合、当該メッセージは、ユーザAにとって未読メッセージに該当する。ユーザAが端末装置10Aにて、ユーザBのメッセージを指定した場合や、当該メッセージを指定して別ウィンドウ(別画面)にて当該メッセージを表示させた場合や、既読情報の送信指示を与えた場合、端末装置10Aの制御部22は、当該メッセージがユーザAによって読まれたと判断する。別の例として、ユーザBのメッセージが送信されてきたことを示す確認メッセージが、端末装置10Aの表示部に表示され、ユーザAがユーザBのメッセージの表示指示を与えたときや、当該メッセージが実際に表示されたときに、制御部22は、当該メッセージがユーザAによって読まれたと判断してもよい。また、ユーザBのメッセージが画面34に表示された場合に、制御部22は、当該メッセージがユーザAによって読まれたと判断してもよい。このような場合、既読情報が、端末装置10Aから端末装置10Bに送信される。
端末装置10Aの制御部22が、ユーザAによって他のユーザのメッセージが読まれたと判断した場合、端末装置10Aの表示制御部24は、既読情報を当該メッセージに紐付けて画面34に表示させる。例えば、ユーザBの発言内容42がユーザAによって読まれたと判断された場合、表示制御部24は、既読情報(例えば文字列「既読」)を発言内容42に紐付けて画面34に表示させる。表示制御部24は、既読メッセージに既読情報を紐付けて画面34に表示せずに又は表示させると共に、未読メッセージに未読情報(例えば文字列「未読」)を紐付けて画面34に表示させてもよい。また、表示制御部24は、既読メッセージと未読メッセージとが区別して表示されるように、既読メッセージと未読メッセージとで表現の態様を異ならせてもよい。
ユーザAのメッセージについての既読情報や未読情報が、画面34に表示されると共に、他のユーザのメッセージについての既読情報や未読情報が、画面34に表示されてもよい。なお、既読情報や未読情報が表示されなくてもよい。
上記のように、対話グループ1の対話内容が画面34に表示されているときに、ユーザAが、現在の対話グループを、ユーザAがログイン中の別の対話グループに変更するための操作を行い、その操作が検知部20によって検知された場合、端末装置10Aの表示制御部24は、画面34を、当該別の対話グループと対話するための画面に変更する。例えば、ユーザAが、矢印50が示す方向に画面34を動かす操作を行った場合(例えば、フリック操作を行った場合)、表示制御部24は、画面34を、別の対話グループと対話するための画面に変更する。ユーザが、上方向、下方向、左方向、又は、右方向にフリック操作を行った場合に、表示制御部24は、画面34を変更してもよい。対話グループを変更するための操作は、フリック操作以外のジェスチャー動作であってもよいし、音声入力であってもよいし、ジェスチャー動作と音声との組み合わせであってもよい。
以下、図5を参照して、別の対話グループと対話するための画面について説明する。図5には、当該画面の一例が示されている。画面52は、対話グループ2にログイン中のユーザA,D,Eの間の対話内容が表示される画面である。表示中の対話グループ2が、ユーザAにとって現在の対話相手(対話グループ)であり、ユーザD,Eが、ユーザAにとっての現在の話者である。
表示制御部24は、ユーザAに紐付く画像36、ユーザDに紐付く画像54、及び、ユーザEに紐付く画像56を、画面52に表示させる。画像54はユーザDを識別するための画像であり、画像56はユーザEを識別するための画像である。なお、画面34と同様に、ユーザの画像に代えて又は画像と共に、ユーザを示す文字列が表示されてもよい。画面34と同様に、各発言内容が送信された時間(例えば、時刻や日時)を示す情報が、画面52に表示されてもよい。図5に示す例では、画面52に、日付(例えば、昨日の日付、11月1日)を示す文字列が表示されている。その日付の文字列の表示位置よりも下部に表示されている発言内容が、その日付以降に送信された発言内容であり、その表示位置よりも上部に表示されている発言内容が、その日付よりも前の日付に送信された発言内容である。例えば、発言内容58は、ユーザDによって11月1日の21:00に送信されており、その時刻を示す情報が発言内容58に紐付けて表示されている。他の発言内容についても同様に、時刻を示す情報が表示されている。また、既読情報や未読情報が表示されてもよいし、未読メッセージと既読メッセージが識別可能なように、それらの表示態様が互いに異なっていてもよい。図5に示す例では、既読情報が、ユーザAの発言内容と他のユーザの発言内容に紐付けて表示されている。ユーザAに紐付く画像36は、画面52内において、端末装置10Aを利用するユーザに割り当てられた領域に表示され、ユーザDに紐付く画像54とユーザEに紐付く画像56は、画面52内において、他のユーザに割り当てられた領域に表示される。
以降、ユーザA,D,Eの間で対話が行われる。各ユーザの発言内容は、各ユーザの自身の端末装置10から、対話グループ2にログイン中の他のユーザの端末装置10に送信されて表示される。例えば、ユーザDの発言内容58が、ユーザDの画像54に紐付けて画面52に表示され、ユーザAの発言内容60が、ユーザAの画像36に紐付けて画面52に表示され、ユーザEの発言内容62が、ユーザEの画像56に紐付けて画面52に表示され、ユーザAの発言内容64が、画像36に紐付けて画面52に表示されている。画面34と同様に、各発言内容は、送信された日時に従って時系列に沿って表示される。
以上のように、第1実施形態によれば、簡易な操作(例えばジェスチャー動作や音声)によって、対話相手と対話するための画面を変更することができる。上記の例では、簡易な操作によって、対話グループ1の画面を対話グループ2の画面に変更して、対話グループを変更することができる。
第1実施形態に対する比較例として、対話相手を選択するための画面(例えば、対話グループの一覧を表示する選択画面)を表示し、対話相手を変える場合に、ユーザが、その選択画面にて、対話相手を選択することが考えられる。この場合、以下の手順に従って、対話グループ1と対話するための画面34が、対話グループ2と対話するための画面52に変更されると考えられる。まず、画面34が表示されているときに、ユーザが、UI部16を操作することで、対話相手の選択画面の表示指示を与える。その表示指示に応じて、画面34に代えて選択画面が表示される。ユーザが、その選択画面において、別の対話相手としての対話グループ2を選択すると、選択画面に代えて画面52が表示される。このように、比較例においては、選択画面の表示指示、選択画面の表示、及び、選択画面上での対話グループ2の選択という作業及び処理が発生する。これに対して、第1実施形態によれば、そのような作業や処理を実行せずに、対話相手と画面を変更することができる。
また、別の比較例として、別の対話グループのポップアップメッセージを表示し、ユーザがそのメッセージを選択した場合に、対話相手を当該別の対話グループに切り替えることが考えられる。この場合も、ポップアップメッセージの表示及び選択という処理及び作業が発生する。本実施形態によれば、そのような処理や作業を実行せずに、対話相手と画面を変更することができる。
なお、対話グループの表示順を定義したリストが予め作成され、表示制御部24は、その表示順に従って画面を変更してもよい。例えば、対話グループ1,2,3の順番で表示順が定義されている場合、表示制御部24は、画面の変更操作に従って、対話グループ1,2,3の順番で画面を変更する。対話グループ3の画面が表示されているときに変更操作が行われた場合、表示制御部24は、対話グループ3の画面を対話グループ1の画面に変更する。表示順は、ユーザによって定義されてもよいし、ユーザがログインした対話グループの順番に従って定義されてもよい。
以下、第1実施形態の変形例について説明する。
(変形例1)
変形例1では、表示制御部24は、ユーザの操作に従って、表示中の画面を拡大又は縮小する。例えば図6に示すように、画面34が表示されているときに、ユーザが矢印66で示すように画面34を拡大する操作(例えば、ピンチアウト操作)を行い、その操作が検知された場合、表示制御部24は画面34を拡大する。また、ユーザが、画面34を摘むような操作(例えば、ピンチイン操作)を行い、その操作が検知された場合、表示制御部24は画面34を縮小する。拡大操作及び縮小操作は、例えば、予め定義されており、ユーザによってその定義が変更されてもよい。上記のピンチアウト操作やピンチイン操作以外の操作によって、画面が拡大又は縮小されてもよい。
表示中の画面34に対して拡大操作又は縮小操作が行われた場合、表示制御部24は、その操作に連動させて、非表示中の他の対話グループと対話するための画面(例えば画面52)を拡大又は縮小してもよい。つまり、表示制御部24は、表示中の対話グループの画面と非表示中の対話グループの画面との間で、画面の拡大又は縮小を同期させる。非表示中の画面52の拡大率(拡大量)又は縮小率(縮小量)は、表示中の画面34の拡大率(拡大量)又は縮小率(縮小量)と同じであってもよいし、異なっていてもよい。その設定がユーザによって行われてもよい。対話グループを変更するための操作が検知された場合、表示制御部24は、現在表示中の画面(例えば画面34)を、他の対話グループと対話するための画面(拡大又は縮小が反映された状態の画面)(例えば画面52)に変更する。こうすることで、変更後の画面に対して拡大操作又は縮小操作を行わなくても、拡大又は縮小された画面が表示され、ユーザによる拡大操作又は縮小操作の手間が省ける。
もちろん、表示中の画面に対して拡大操作又は縮小操作が行われた場合、表示制御部24は、その操作に連動させずに、表示中の画面のみを拡大又は縮小し、非表示中の他の対話グループと対話するための画面を拡大又は縮小しなくてもよい。連動制御(同期制御)又は非連動制御(非同期制御)が、ユーザによって設定されてもよい。
(変形例2)
図7及び図8を参照して、変形例2について説明する。変形例2では、表示制御部24は、ユーザの操作に従って、表示中の画面をスクロールさせることで、画面に表示しきれない情報(文字列や画像等)を表示部に表示させる。例えば図7に示すように、画面34が表示されているときに、ユーザAが、矢印68で示すように画面34をスクロールさせる操作を行い、その操作が検知された場合、表示制御部24は、その矢印68が示す方向に画面34をスクロールさせる。
表示中の画面に対してスクロール操作が行われた場合、表示制御部24は、そのスクロール操作に連動させて、非表示中の他の対話グループと対話するための画面をスクロールさせてもよい。つまり、表示制御部24は、表示中の対話グループの画面と非表示中の対話グループの画面との間で、画面のスクロールを同期させる。図8には、他の対話グループと対話するための画面52が示されている。画面52は表示部に表示されていないが、表示制御部24は、画面34に対するスクロール操作に連動させて、矢印70が示す方向(矢印68が示す方向と同じ方向)に画面52をスクロールさせる。非表示中の画面52のスクロール量は、表示中の画面34のスクロール量と同じであってもよいし、異なっていてもよい。その設定がユーザによって行われてもよい。対話グループを変更するための操作が検知された場合、表示制御部24は、現在表示中の画面(例えば画面34)を、他の対話グループと対話するための画面(スクロールが反映された状態の画面)(例えば画面52)に変更する。こうすることで、変更後の画面に対してスクロール操作を行わなくても、スクロールされた画面が表示されるので、ユーザによるスクロール操作の手間が省ける。
もちろん、表示中の画面に対してスクロール操作が行われた場合、表示制御部24は、その操作に連動させずに、表示中の画面のみスクロールさせ、非表示中の他の対話グループと対話するための画面をスクロールさせなくてもよい。連動制御(同期制御)又は非連動制御(非同期制御)が、ユーザによって設定されてもよい。
表示中の画面に対してスクロール操作が行われた場合、表示制御部24は、非表示中の他の対話グループと対話するための画面を、未読メッセージが表示されている位置までスクロールさせてもよい。
例えば、表示中の画面34に対してスクロール操作が行われた場合において、非表示中の対話グループ2において未読メッセージが存在する場合、表示制御部24は、対話グループ2の画面52を、非表示の状態で、当該未読メッセージの表示位置までスクロールさせる。例えば、表示制御部24は、当該未読メッセージが画面52の特定位置(例えば中央位置、最上部、最下部等)に表示されるように、画面52をスクロールさせる。図9には、スクロール後の画面52の一例が示されている。例えば、今日(11月2日)、ユーザAによって送信された発言内容72が未読状態の場合、表示制御部24は、その発言内容72が、画面52の中央位置に表示されるように画面52をスクロールさせる。もちろん、発言内容72が画面52の最上部や最下部に表示されるように、表示制御部24は、画面52をスクロールさせてもよい。なお、今日の日付(11月2日)を示す文字列の表示位置よりも下部に表示されている発言内容が、11月2日以降に送信された発言内容であり、その表示位置よりも上部に表示されている発言内容が、11月2日よりも前の日付に送信された発言内容である。複数の未読メッセージが存在する場合、表示制御部24は、画面52を、最も古い日時に送信された未読メッセージの表示位置までスクロールさせてもよいし、最も新しい日時に送信された未読メッセージの表示位置までスクロールさせてもよい。
対話グループを変更するための操作が検知された場合、表示制御部24は、現在表示中の画面(例えば画面34)を、他の対話グループと対話するための画面(未読メッセージの表示位置までスクロールが反映された状態の画面)(例えば画面52)に変更する。こうすることで、変更後の画面に対してスクロール操作を行わなくても、未読メッセージが表示され、ユーザによるスクロール操作の手間が軽減される。図9に示す例では、画面変更後に、発言内容72が表示されることになる。
また、表示中の画面34に対してスクロール操作が行われた場合において、非表示中の対話グループ2に、ユーザAによって読まれていない未読メッセージが存在する場合、表示制御部24は、対話グループ2の画面52を、非表示の状態で、当該未読メッセージの表示位置までスクロールさせる。こうすることで、表示中の画面34が画面52に変更された場合に、変更後の画面52に対してスクロール操作を行わなくても、未読メッセージ(ユーザAが読んでいないメッセージ)が表示され、ユーザによるスクロール操作の手間が軽減される。
また、表示中の対話グループ1において未読メッセージが存在する場合、表示制御部24は、表示中の画面34に対するスクロール操作に応じて、その未読メッセージの表示位置まで画面34をスクロールさせてもよい。
(変形例3)
変形例3では、現在の対話グループを別の対話グループに変更するための操作が検知された場合、表示制御部24は、現在表示中の対話グループの画面を、アクティブ状態の別の対話グループと対話するための画面に優先的に変える。アクティブ状態の対話グループは、例えば、他のユーザがログイン中の対話グループや、最終メッセージの送受信時からの経過時間が予め定められた時間内の対話グループ、等である。例えば、ユーザAが、複数の対話グループにログインして複数の対話グループにて対話している場合、表示制御部24は、画面の変更操作に従って、現在表示中の対話グループの画面を、アクティブ状態の対話グループと対話するための画面に変更する。
一方、表示制御部24は、非アクティブ状態の対話グループ(上記のアクティブ状態の対話グループではない対話グループ)を、表示対象から除外してもよいし、複数回の変更操作が行われた場合に、非アクティブ状態の対話グループと対話するための画面を、表示部に表示させてもよい。
アクティブ状態の対話グループは、非アクティブ状態の対話グループと比較して、ユーザが対話する可能性が高いと推測される。それ故、変形例3によれば、ユーザが対話し得る対話グループの画面が優先的に表示される。
(変形例4)
変形例4では、表示制御部24は、各対話グループにおけるログイン中のユーザ数に基づく優先順位に従って画面を変更する。制御部22は、各対話グループにログイン中のユーザ数(話者数)に基づいて、各対話グループの優先順位を決定する。例えば、ログイン中のユーザ数が多い対話グループほど、優先順位が高くなる。具体例を挙げて説明すると、ユーザAが、対話グループ4,5,6にログインしているものとする。対話グループ4には、ユーザAを含めて4人のユーザがログインしており、対話グループ5には、ユーザAを含めて5人のユーザがログインしており、対話グループ6には、ユーザAを含めて6人のユーザがログインしているものとする。この場合、対話グループ6の優先順位が1位であり、対話グループ5の優先順位が2位であり、対話グループ4の優先順位が3位であり、対話グループ6,5,4の順番で画面が変更される。例えば、対話グループ4の画面が表示されているときに画面の変更操作が検知された場合、表示制御部24は、対話グループ4の画面を、優先順位が1位の対話グループ6と対話するための画面に変更する。対話グループ6の画面が表示されているときに画面の変更操作が検知された場合、表示制御部24は、対話グループ6の画面を、優先順位が2位の対話グループ5と対話するための画面に変更する。対話グループ5の画面が表示されているときに画面の変更操作が検知された場合、表示制御部24は、対話グループ5の画面を、優先順位が3位の対話グループ4と対話するための画面に変更する。以降も同じ処理が行われる。
変形例4によれば、ユーザは、簡易な操作によって、ログイン中のユーザ数に応じた画面変更を行うことができる。
操作に応じて優先順位が変更されてもよい。例えば、第1操作(例えば、画面上での右方向へのフリック操作)が検知された場合、表示制御部24は、上記の優先順位に従って画面を変更する。第2操作(例えば、画面上での左方向へのフリック操作)が検知された場合、表示制御部24は、上記の優先順位とは逆の優先順位に従って画面を変更する。こうすることで、簡易な操作によって、優先順位を変えることができる。第1操作及び第2操作は、予め定められていてもよいし、ユーザによって変更されてもよい。
なお、特定の変更操作(例えば、画面上での上方向へのフリック操作)が検知された場合、制御部22は、ユーザAがログイン中の対話グループであってログイン中のユーザ数が最大の別の対話グループを特定し、表示制御部24は、現在表示中の画面を、その対話グループと対話するための画面に変更してもよい。特定の変更操作以外の変更操作が検知された場合、表示制御部24は、上記の優先順位に従って画面を変更する。こうすることで、ユーザは、簡易な操作によって、ログイン中のユーザ数が最大の対話グループと対話することができる。特定の変更操作は、予め定められていてもよいし、ユーザによって変更されてもよい。
変形例3,4を組み合わせてもよい。例えば、アクティブ状態の対話グループが複数存在する場合、制御部22は、当該複数の対話グループを対象として、変形例3に係る優先順位を決定し、表示制御部24は、その優先順位に従って画面を変更する。
(変形例5)
変形例5では、表示制御部24は、各対話グループにおける最新の発言内容(メッセージ)の送信日時に基づく優先順位に従って画面を変更する。制御部22は、対話グループ毎に、最新の発言内容が送信された日時(つまり、最終メッセージの送信日時)を特定し、各対話グループの最新発言内容の送信日時に基づいて、各対話グループの優先順位を決定する。例えば、最新発言内容の送信日時が現在の日時に近い対話グループほど、優先順位が高くなる。具体例を挙げて説明すると、ユーザAが、対話グループ4,5,6にログインしているものとする。対話グループ4における最新発言内容の送信日時が「2017年10月30日10時00分」であり、対話グループ5における最新発言内容の送信日時が「2017年10月30日10時30分」であり、対話グループ6における最新発言内容の送信日時が「2017年10月30日11時00分」であるものとする。この場合、対話グループ6の優先順位が1位であり、対話グループ5の優先順位が2位であり、対話グループ4の優先順位が3位であり、対話グループ6,5,4の順番で画面が変更される。つまり、変形例4で説明した順位と同じ順位で画面が変更される。
変形例5によれば、ユーザは、簡易な操作によって、発言内容の入力日時に応じた画面変更を行うことができる。
変形例4と同様に、操作に応じて優先順位が変更されてもよい。また、特定の変更操作が検知された場合、制御部22は、ユーザAがログイン中の対話グループであって、最新の発言内容が入力された対話グループ(つまり、最終発言内容の送信日時が現在の日時に最も近い対話グループ)を特定し、表示制御部24は、現在表示中の画面を、その対話グループと対話するための画面に変更してもよい。特定の変更操作以外の変更操作が検知された場合、表示制御部24は、上記の優先順位に従って画面を変更する。こうすることで、ユーザは、簡易な操作によって、最新発言内容が入力された対話グループと対話することができる。
変形例3,5を組み合わせてもよい。例えば、アクティブ状態の対話グループが複数存在する場合、制御部22は、当該複数の対話グループを対象として、変形例5に係る優先順位を決定し、表示制御部24は、その優先順位に従って画面を変更する。
また、変形例4,5を組み合わせてもよい。つまり、制御部22は、ログイン中のユーザ数と最新発言内容の送信日時に基づいて優先順位を決定してもよい。この場合、制御部22は、ユーザ数に基づく順位や送信日時に基づく順位に対して重み付け処理を適用してもよい。変形例3,4,5を組み合わせてもよい。
(変形例6)
変形例6では、表示制御部24は、各対話グループにおける未読メッセージの数に基づく優先順位に従って画面を変更する。ユーザAが利用する端末装置10Aにおいては、未読メッセージは、他のユーザが読んでいないユーザAのメッセージであってもよいし、ユーザAが読んでいない他のユーザのメッセージであってもよいし、それら両方であってもよい。制御部22は、ユーザAがログイン中の対話グループ毎に未読メッセージの数を管理し、各対話グループにおける未読メッセージの数に基づいて、各対話グループの優先順位を決定する。例えば、未読メッセージの数が多い対話グループほど、優先順位が高くなる。具体例を挙げて説明すると、ユーザAが、対話グループ4,5,6にログインしているものとする。対話グループ4における未読メッセージの数が「4」であり、対話グループ5における未読メッセージの数が「5」であり、対話グループ6における未読メッセージの数が「6」であるものとする。この場合、対話グループ6の優先順位が1位であり、対話グループ5の優先順位が2位であり、対話グループ4の優先順位が3位であり、対話グループ6,5,4の順番で画面が変更される。つまり、変形例4で説明した順位と同じ順位で画面が変更される。
変形例6によれば、ユーザは、簡易な操作によって、未読メッセージの数に応じた画面変更を行うことができる。
変形例4と同様に、操作に応じて優先順位が変更されてもよい。また、特定の変更操作が検知された場合、制御部22は、ユーザAがログイン中の対話グループであって、未読メッセージが最大の対話グループを特定し、表示制御部24は、現在表示中の画面を、その対話グループと対話するための画面に変更してもよい。特定の変更操作以外の変更操作が検知された場合、表示制御部24は、上記の優先順位に従って画面を変更する。こうすることで、ユーザは、簡易な操作によって、未読メッセージが最大の対話グループと対話することができる。なお、未読メッセージの数が少ない対話グループほど、優先順位を高くしてもよい。このような設定は、ユーザによって行われてもよい。
変形例3,6を組み合わせてもよい。例えば、アクティブ状態の対話グループが複数存在する場合、制御部22は、当該複数の対話グループを対象として、変形例6に係る優先順位を決定し、表示制御部24は、その優先順位に従って画面を変更する。
また、変形例4,6を組み合わせてもよい。つまり、制御部22は、ログイン中のユーザ数と未読メッセージの数に基づいて優先順位を決定してもよい。この場合、制御部22は、ユーザ数に基づく順位や未読メッセージの数に基づく順位に対して重み付け処理を適用してもよい。変形例3,4,6を組み合わせてもよい。
また、変形例5,6を組み合わせてもよい。つまり、制御部22は、最新メッセージの送信日時と未読メッセージの数に基づいて優先順位を決定してもよい。この場合、制御部22は、最新メッセージの送信日時に基づく順位や未読メッセージの数に基づく順位に対して重み付け処理を適用してもよい。変形例3,5,6を組み合わせてもよいし、変形例3,4,5,6を組み合わせてもよい。
また、上記の優先順位の決定方法によって優先順位が決定されない場合、制御部22は、各対話グループの過去の表示履歴に基づいて優先順位を決定してもよい。例えば、複数の対話グループにおいて、最新メッセージの送信日時と未読メッセージの数が同じ場合、それらの条件によっては、当該複数の対話グループの優先順位を決定することができない。この場合、制御部22は、各対話グループの表示履歴に基づいて優先順位を決定する。例えば、制御部22は、対話内容が表示されていない期間(非表示期間)が長い対話グループほど、優先順位を高くする。非表示期間によっても優先順位を決定することができない場合、制御部22は、対話グループの名称に基づいて優先順位を決定してもよい。例えば、制御部22は、五十音順やアルファベット順に従って優先順位を決定する。
(変形例7)
変形例7では、現在の対話グループを別の対話グループに変更するための操作が検知された場合、制御部22は、現在の対話グループにログインしている1又は複数のユーザがログインしている別の対話グループを特定し、表示制御部24は、現在表示中の画面を、その別の対話グループと対話するための画面に変更する。そのような別の対話グループが無い場合、表示制御部24は、予め定められた表示順に従って画面を変更する。
具体例を挙げて説明する。例えば、ユーザAが、対話グループ1,2,3にログインしており、対話グループ1が現在の対話グループであるものとする。この場合、ユーザAの端末装置10Aには、図4に示されている画面34が表示されている。この状態で、ユーザAが、対話グループを変更する操作を行った場合、制御部22は、ユーザAがログインしている別の対話グループであって、ユーザB,Cの中の少なくとも1人がログインしている別の対話グループを特定する。上記のように、対話グループ1には、ユーザA、B,Cがログインしており、対話グループ2には、ユーザA,D,Eがログインしている。また、対話グループ3には、ユーザA,B,Dがログインしているものとする。この場合、制御部22は、ユーザBがログインしている対話グループ3を別の対話グループとして特定し、表示制御部24は、画面34を、対話グループ3と対話するための画面に変更する。対話グループ3と対話するための画面が表示されているときに、画面を変更するための操作が検知された場合、表示制御部24は、対話グループ3と対話するための画面を、対話グループ2と対話するための画面52に変更する。
変形例7によれば、ユーザは、簡易な操作によって、現在の対話グループにログインしているユーザがログイン中の他の対話グループと対話することができる。
また、制御部22は、ログイン中の共通のユーザの数に基づいて優先順位を決定し、表示制御部24は、その優先順位に従って画面を変更してもよい。例えば、ログイン中の共通のユーザの数が多い対話グループほど、優先順位が高くなる。具体例を挙げて説明する。ユーザAが、対話グループ1,7,8にログインしているものとする。対話グループ1には、ユーザA,B,Cがログインしており、対話グループ7には、ユーザA,B,Dがログインしており、対話グループ8には、ユーザA,B,C,Eがログインしているものとする。この場合、ユーザAを除いて、対話グループ1と対話グループ7との間における共通のユーザ数は「1」(ユーザBが共通のユーザ)であり、対話グループ1と対話グループ8との間における共通のユーザ数は「2」(ユーザB,Cが共通のユーザ)である。従って、対話グループ8の優先順位が1位であり、対話グループ7の優先順位は2位であり、表示制御部24は、対話グループ8,7の順番で画面を変更する。つまり、上記の例では、対話グループ1,8,7の順番で画面が変更される。
変形例4と同様に、操作に応じて優先順位が変更されてもよい。また、特定の変更操作が検知された場合、制御部22は、ユーザAがログイン中の対話グループであって、共通のユーザ数が最大の対話グループを特定し、表示制御部24は、現在表示中の画面を、その対話グループと対話するための画面に変更してもよい。特定の変更操作以外の変更操作が検知された場合、表示制御部24は、上記の優先順位に従って画面を変更する。こうすることで、ユーザは、簡易な操作によって、共通のユーザ数が最大の対話グループと対話することができる。
変形例3,4,5,6の中の少なくとも1つの変形例と変形例7を組み合わせてもよい。
(変形例8)
変形例8では、制御部22は、ユーザAが直近まで対話していた対話グループを特定し、表示制御部24は、現在表示中の画面を、その対話グループと対話するための画面に変更する。こうすることで、簡易な操作によって、直近の対話グループと対話することができる。
(変形例9)
変形例9では、制御部22は、複数の対話グループの間において、発言内容の複製及び転写(コピー&ペースト)を行う。発言内容は、ユーザ自身が送信した発言内容であってもよいし、他のユーザが送信した発言内容であってもよい。
以下、図10及び図11を参照して、変形例9について詳しく説明する。図10には、対話グループ1の画面34が示されており、図11には、対話グループ2の画面52が示されている。例えば、ユーザAが、表示中の対話グループ1の画面34上においてユーザBの発言内容42を指定し、非表示中の他の対話グループへのコピー操作を行った場合、制御部22は、発言内容42をコピーし、非表示中の当該他の対話グループの画面(例えば対話グループ2の画面52)に、ユーザAの発言内容としてペーストする。コピー操作は、例えば、矢印74で示す方向に発言内容42をスライドさせる操作である。ユーザAが、コピー対象の発言内容を画面34の外側までスライドさせた場合に、他の対話グループの画面に当該発言内容がペーストされてもよい。図11に示されている画面52において、コピーされた発言内容42が、ユーザAの発言内容76として追加されている。その発言内容76は、対話グループ2にログイン中のユーザD,Eの端末装置10に送信される。なお、コピー操作が行われた時点で、発言内容76がユーザD,Eの端末装置10に送信されてもよいし、画面34を画面52に変更する操作が検知された時点で、発言内容76がユーザD,Eの端末装置10に送信されてもよい。
対話グループを変更するための操作が検知された場合、表示制御部24は、現在表示中の画面(例えば画面34)を、他の対話グループと対話するための画面(例えば、コピー&ペーストされた発言内容が表示された画面52)に変更する。
変形例9によれば、簡易な操作によって、複数の対話グループの間で、発言内容のコピー&ペーストを行うことができる。
なお、ユーザAが、コピー元の画面34内にてコピー操作を止めた場合(例えば、画面34への接触を止めた場合)、制御部22は、コピーを行わない。
(変形例10)
変形例10では、制御部22は、ある対話グループにログインしているユーザを、他の対話グループに追加する。例えば、制御部22は、表示中の対話グループに含まれるユーザを、非表示中の対話グループに追加する。
以下、図12及び図13を参照して、変形例10について詳しく説明する。図12には、対話グループ1の画面34が示されており、図13には、対話グループ2の画面52が示されている。例えば、ユーザAが、表示中の対話グループ1の画面34上においてユーザBに紐付く画像38を指定し、非表示中の他の対話グループへの追加操作を行った場合、制御部22は、ユーザBを、非表示中の当該他の対話グループ(例えば対話グループ2)に追加する。追加操作は、例えば、矢印78で示す方向に画像38をスライドさせる操作である。ユーザAが、追加対象のユーザの画像を画面34の外側までスライドさせた場合に、追加対象のユーザが他の対話グループに追加されてもよい。図13に示されている画面52に、ユーザBに紐付く画像38が表示されており、これにより、ユーザBが対話グループ2に追加される。つまり、ユーザBが対話グループ2にログインした状態となる。
対話グループを変更するための操作が検知された場合、表示制御部24は、現在表示中の画面(例えば画面34)を、他の対話グループと対話するための画面(例えば、ユーザBが追加された対話グループ2の画面52)に変更する。
変形例10によれば、簡易な操作によって、ある対話グループにログインしているユーザを、他の対話グループに追加することができる。
なお、ユーザAが、追加元の画面34内にて追加操作を止めた場合(例えば、画面34への接触を止めた場合や、画面34内において特定の表示領域内に追加対象のユーザの画像を配置した場合)、制御部22は、ユーザの追加を行わない。
変形例10において、他のユーザが追加される対話グループにログイン中のユーザの承認が得られた場合に、当該他のユーザが当該対話グループに追加され、承認が得られなかった場合、当該他のユーザは当該対話グループに追加されなくてもよい。例えば、ユーザAによって、対話グループ1にログイン中のユーザBを対話グループ2に追加する操作が行われた場合、端末装置10Aは、ユーザDの端末装置10DとユーザEの端末装置10Eに、承認要求を送信する。この場合、図14に示すように、端末装置10D,10EのUI部16には、承認画面80が表示され、その承認画面80に、ユーザBの参加を承認するか否かを問うメッセージ82が表示される。ユーザDがユーザBの参加を承認した場合(例えば、ユーザDが承認画面80にて「はい」ボタンを押した場合)、端末装置10Dは、承認する旨を示す情報を端末装置10A,10Bに送信する。ユーザDがユーザBの参加を承認しない場合(例えば、ユーザが承認画面80にて「いいえ」ボタンを押した場合)、端末装置10Dは、承認しない旨を示す情報を端末装置10A,10Bに送信する。ユーザEについても同様である。
すべてのユーザ(例えばユーザD,E)によって承認が得られた場合、ユーザBは、対話グループ2に追加される。そうではない場合、ユーザBは、対話グループ2に追加されない。別の例として、予め定められた数以上のユーザによって承認が得られた場合や、特定のユーザ(例えば承認権限を有するユーザ)によって承認が得られた場合に、ユーザBは、対話グループ2に追加されてもよい。
上記のように承認を必要とすることで、追加先の対話グループにログイン中のユーザの意思を反映させることができる。
また、追加対象のユーザBが参加を認めた場合に、ユーザBが対話グループ2に追加され、ユーザBが参加を認めなかった場合、ユーザBは対話グループ2に追加されなくてもよい。例えば、端末装置10Aは、ユーザBの端末装置10Bに参加要求を送信する。この場合、図15に示すように、端末装置10BのUI部16には、勧誘画面84が表示され、その勧誘画面84には、対話グループ2へのユーザBの参加を要求する旨を示すメッセージ86が表示される。ユーザBが対話グループ2への参加を希望する場合(例えば、ユーザBが勧誘画面84にて「はい」ボタンを押した場合)、端末装置10Bは、参加する旨を示す情報を端末装置10Aに送信する。ユーザBが対話グループ2への参加を希望しない場合(例えば、ユーザBが勧誘画面84にて「いいえ」ボタンを押した場合)、端末装置10Bは、参加しない旨を示す情報を端末装置10Aに送信する。
ユーザBが対話グループ2への参加を希望した場合、ユーザBは、対話グループ2に追加される。ユーザBが対話グループ2への参加を希望しない場合、ユーザBは、対話グループ2に追加されない。こうすることで、追加対象のユーザの意思を反映させることができる。
また、追加先の対話グループにログイン中のユーザ(例えばユーザD,E)の承認が得られ、かつ、追加対象のユーザ(例えばユーザB)が参加を希望した場合に、追加対象のユーザが当該対話グループに追加されてもよい。
(変形例11)
変形例11では、制御部22は、ユーザの操作の態様に応じて、変更対象の対話グループを変更する。その操作の態様は、例えば、操作の方向、操作の速さ、及び、操作の回数の中の少なくとも1つによって決定される。
以下、図16を参照して、変形例11について詳しく説明する。図16には、対話グループ1の画面34が示されている。各方向へのフリック操作には、ユーザAがログイン中の他の対話グループが紐付けられている。以下に、各フリック操作と対話グループとの対応関係を示す。
・矢印88が示す方向(画面34の右方向)への1回のフリック操作:対話グループ2
・矢印90が示す方向(画面34の左方向)への1回のフリック操作:対話グループ3
・矢印92が示す方向(画面34の上方向)への1回のフリック操作:対話グループ4
・矢印94が示す方向(画面34の右斜め上方向)への1回のフリック操作:対話グループ5
・矢印96が示す方向(画面34の左斜め上方向)への1回のフリック操作:対話グループ6
・矢印98が示す方向(画面34の左斜め下方向)への1回のフリック操作:対話グループ7
・矢印100が示す方向(画面34の右斜め下方向)への1回のフリック操作:対話グループ8
・矢印102が示す方向(画面34の下方向)への1回のフリック操作:対話グループ9
・矢印104が示す方向(画面34の右方向)への2回連続のフリック操作:対話グループ10
・矢印106が示す方向(画面34の右方向)への1回の速めのフリック操作:対話グループ11
各フリック操作について更に詳しく説明する。矢印88から矢印102が示すフリック操作は、予め定められた通常の速さ範囲内の1回のフリック操作である。矢印104が示すフリック操作は、通常の速さ範囲内の2回のフリック操作が連続して行われた操作である。例えば、2回のフリック操作の間の時間間隔が予め定められた時間内である場合に、2回のフリック操作が連続して行われたと検知される。矢印106が示すフリック操作は、上記の通常の速さ範囲よりも速い1回のフリック操作である。
例えば、矢印88が示す方向に、通常の速さ範囲内の1回のフリック操作が行われ、そのフリック操作が検知された場合、表示制御部24は、対話グループ1の画面34に代えて、対話グループ2の画面52を表示部に表示させる。また、矢印104が示す方向に、通常の速さ範囲内の2回のフリック操作が連続して行われ、その連続フリック操作が検知された場合、表示制御部24は、対話グループ1の画面34に代えて、対話グループ10の画面を表示部に表示させる。また、矢印106が示す方向に、通常の速さ範囲よりも速い1回のフリック操作が行われ、そのフリック操作が検知された場合、表示制御部24は、対話グループ1の画面34に代えて、対話グループ11の画面を表示部に表示させる。他の方向のフリック操作が検知された場合も、表示中の画面が、当該フリック操作に紐付く対話グループと対話するための画面に変更される。
変更後の画面においては、変更後の対話グループに紐付けられていた方向へのフリック操作に、変更前の対話グループ1が紐付けられる。例えば、画面34において、矢印88が示すフリック操作が行われた場合、画面34に代えて、対話グループ2の画面52が表示される。この場合、矢印88が示す方向への1回のフリック操作に、対話グループ1が紐付けられる。画面52において、矢印88が示すフリック操作が行われた場合、画面52に代えて、対話グループ1の画面34が表示される。もちろん、各対話グループ用の画面毎に、操作と対話グループとが紐付けられていてもよい。
上記の対応付けは一例に過ぎず、他の対応付けがなされてもよいし、ユーザによって対応付けが行われてもよい。例えば、操作の方向、速さ、回数等が、ユーザによって設定され、また、操作態様と対話グループとの対応付けがユーザによって行われてもよい。
変形例11によれば、操作態様に応じて対話グループを変更することができるので、簡易な操作によって、対話グループを変更することができる。
なお、上記のフリック操作は、対話グループを変更するための操作の一例に過ぎず、フリック操作以外の操作(ジェスチャー動作や音声)によって、対話グループが変更されてもよい。また、ユーザのジェスチャー動作と音声との組み合わせに、対話グループが紐付けられていてもよい。
変形例11において、表示制御部24は、操作態様と対話グループとの対応関係を示す情報を表示部に表示させてもよい。例えば、ユーザAが対話グループ1,2,3,4にログインしており、現在の対話グループが対話グループ1であるものとする。この場合、表示制御部24は、図17に示すように、表示制御部24は、対話グループ1の画面34を表示部に表示させる。表示制御部24は、図4に示す例と同様に、対話グループ1にログイン中の各ユーザに紐付く画像と対話内容とを画面34に表示させ、更に、他の対話グループ2,3,4を示す情報を画面34に表示させる。例えば、画面34の右方向に対話グループ2が紐付けられており、画面34の左方向に対話グループ3が紐付けられており、画面34の上方向に対話グループ4が紐付けられているものとする。この場合、表示制御部24は、対話グループ2を示す情報108を画面34の右側に表示させ、対話グループ3を示す情報110を画面34の左側に表示させ、対話グループ4を示す情報112を画面34の上側に表示させる。対話グループを示す情報は、例えば、対話グループを示す文字列や画像である。ユーザAが画面34上にて右方向にフリック操作を行い、そのフリック操作が検知された場合、表示制御部24は、画面34に代えて、対話グループ2の画面52を表示部に表示させる。操作態様(例えば操作方向)と対話グループとの対応関係を示す情報を表示することで、どのような操作を行った場合にどの対話グループとの対話が可能になるのかを示す視覚的な情報が、ユーザに与えられる。
なお、対話グループを示す情報108等は、画面34に常時表示されていてもよいし、ユーザの指示に応じて表示されてもよい。例えば、ユーザが特定の操作を行い、当該特定の操作が検知された場合に、表示制御部24は、対話グループを示す情報108等を、予め定められた時間内、又は、他の操作が検知されるまでの間、画面34に表示させてもよい。特定の操作は、例えば、画面34内にて、ユーザに紐付く画像や対話内容が表示されていない箇所を、予め定められた時間以上にわたって押す操作(長押し操作)、等である。もちろん、別の操作が特定の操作として定められてもよい。また、情報108等は、表示中は半透明の状態で表示されてもよい。
図18には、対応関係を示す情報の別の例が示されている。この例では、表示制御部24は、対話グループ1の画面34にマップ画像114を表示させる。マップ画像114は、操作方向と対話グループとの対応関係を示す画像である。マップ画像114内に表示されている数値は、対話グループの番号を示しており、その数値の表示位置は、対話グループが紐付けられている操作方向を示している。例えば、数値「2」は対話グループ2を示している。数値「2」は、マップ画像114内において右側の位置に表示されているため、右方向への操作に対話グループ2が紐付けられている。従って、ユーザAが画面34上にて右方向に操作(例えばフリック操作)を行い、その操作が検知された場合、表示制御部24は、画面34に代えて、対話グループ2の画面52を表示部に表示させる。このようなマップ画像114を表示することで、どのような操作を行った場合にどの対話グループとの対話が可能になるのかを示す視覚的な情報が、ユーザに与えられる。
図17に示す例と同様に、マップ画像114は、画面34に常時表示されていてもよいし、ユーザの指示に応じて表示されてもよい。例えば、ユーザによる特定の操作が検知された場合に、表示制御部24は、マップ画像114を画面34に表示させてもよい。また、マップ画像114が表示されているときに、画面34が他の対話グループの画面に変更された場合や、他のユーザが他の対話グループに移動させられた場合に、表示制御部24は、マップ画像114を非表示にしてもよい。こうすることで、ユーザの操作が完了した場合にマップ画像114が非表示になるので、マップ画像114の表示によって発言内容がユーザにとって見難いといった状況を回避することができる。もちろん、ユーザが非表示の指示を与えるまで、表示制御部24は、マップ画像114を表示してもよい。また、マップ画像114は、表示中は半透明の状態で表示されてもよい。
図19には、対応関係を示す更に別の例が示されている。図19に示す例では、表示制御部24は、画面34の縁部に、操作方向と対話グループとの対応関係を示す画像116~130を表示させる。各画像内に表示されている数値は、対話グループの番号を示しており、画像の表示位置は、対話グループが紐付けられている操作方向を示している。例えば、数値「2」は対話グループ2を示している。その数値「2」を表す画像116は、画面34の右縁部に表示されているため、右方向への操作に対話グループ2が紐付けられている。従って、ユーザAが画面34上にて右方向に操作(例えばフリック操作)を行い、その操作が検知された場合、表示制御部24は、画面34に代えて、対話グループ2の画面52を表示部に表示させる。このように、対話グループを示す画像を画面の縁部に表示することで、発言内容上にその画像が重畳し難くなるので、発言内容がその画像によって遮られ難くなる。もちろん、表示制御部24は、表示内容の位置や大きさを把握して、ユーザに紐付く画像や各ユーザの発言内容の表示部分を避けるように、対話グループを示す画像を画面34内に配置してもよい。そのとき、表示制御部24は、ユーザに紐付く画像や各ユーザの発言内容を縮小することで、上記の配置を実現してもよい。あるいは、表示制御部24は、操作方向と対話グループとの対応関係を示す画像を縮小して画面34に表示させてもよい。そうすることで、操作方向と対話グループとの対応関係を示す画像の視認性を落とすことなく表示することが可能となる。図18に示されているマップ画像114と同様に、画面34が他の対話グループの画面に変更された場合や、他のユーザが他の対話グループに移動させられた場合に、表示制御部24は、画像116~130を非表示にしてもよい。もちろん、ユーザが非表示の指示を与えるまで、表示制御部24は、画像116~130を表示してもよい。また、画像116~130は、表示中は半透明の状態で表示されてもよい。そうすることで、画像116~130が、ユーザに紐付く画像や各ユーザの発言内容の表示部分に重なって表示されたとしても、各画像や発言内容の視認性が落ちることを防ぐことができる。
<第2実施形態>
以下、第2実施形態に係る情報処理システムについて説明する。第2実施形態に係る情報処理システムは、第1実施形態に係る情報処理システムと同じ構成を有する。第2実施形態に係るサーバ12は、第1実施形態に係るサーバ12と同じ構成を有し、第1実施形態と同様に、SNSを提供する機能を有する。また、第2実施形態に係る端末装置10は、第1実施形態に係る端末装置10と同じ構成を有するが、表示制御部24の機能が、第1実施形態に係る表示制御部24の機能と異なる。以下では、主に、第2実施形態に係る表示制御部24の処理について詳しく説明する。
第2実施形態においても、第1実施形態と同様に、表示制御部24は、SNSが利用されている場合、そのSNSを利用して送信や受信された情報(文字列や画像等)を、UI部16の表示部に表示させる。第2実施形態では、ユーザが複数の対話グループにログインしている場合、表示制御部24は、当該複数の対話グループの対話内容を同一の画面に表示させる。
以下、第2実施形態に係る端末装置10の動作について具体例を挙げて詳しく説明する。
例えば、ユーザA,B,Cが対話グループ1に属しており、ユーザA,D,Eが対話グループ2に属しており、対話グループ1,2共に、SNSを利用して対話が行われているものとする。例えば、ユーザA,B,Cが、対話グループ1にログインしてメッセージを送受信しており、ユーザA,D,Eが、対話グループ2にログインしてメッセージを送受信しているものとする。
図20を参照して、SNSの利用時に端末装置10に表示される画面について説明する。図20には、ユーザAが利用する端末装置10Aに表示される画面の一例が示されている。端末装置10Aの表示制御部24は、UI部16の表示部に画面132を表示させ、その画面132に各種の情報を表示させる。画面132は、他のユーザ(話者)と対話するためのインターフェース(対話画面)である。画面132には、各ユーザが入力した情報(例えば、文字列や画像等)が表示される。複数のユーザの間の対話は、いわゆるチャット形式の対話(つまり、リアルタイム形式の対話、更に換言すると、各ユーザが発言しながら対話が進む形式)であってもよい。例えば、端末装置10Aの制御部22が、SNSアプリケーションプログラムを実行することで、表示制御部24は、SNSを利用して対話するための画面をUI部16の表示部に表示させる。なお、SNSアプリケーションプログラムを実行することで、チャット機能の他に、インターネット電話機能等の利用が可能となってもよい。
例えば、ユーザAが、対話グループ1,2にログインしているものとする。この場合、表示制御部24は、対話グループ1の対話内容と対話グループ2の対話内容を、同一の画面132に表示させる。例えば、表示制御部24は、仮想線134を境にして、画面132内にて横方向に(左右に)表示領域136,138を設定し、表示領域136内に対話グループ1の対話内容を表示させ、表示領域138内に対話グループ2の対話内容を表示させる。表示領域136内には、対話グループ1にログインしているユーザA,B,Cの間の対話内容が表示される。表示領域138内には、対話グループ2にログインしているユーザA,D,Eの間の対話内容が表示される。ユーザAが2つの対話グループにログインしている場合、仮想線134は、例えば、画面132の横方向の中央に設定される。もちろん、表示制御部24は、各対話グループにおける発言内容(例えばメッセージ)の長さに応じて仮想線134の位置を変えることで、各表示領域の広さを制御してもよい。例えば、表示制御部24は、発言内容が長い対話グループの表示領域が、発言内容が短い対話グループの表示領域よりも広くなるように、仮想線134の位置を変えてもよい。また、表示制御部24は、発言内容の量に応じて仮想線134の位置を変えてもよい。表示制御部24は、ユーザの操作に従って仮想線134の位置を変えてもよい。なお、表示制御部24は、仮想線134を画面132に表示させてもよいし、表示させなくてもよい。
図20に示す例では、2つの対話グループの対話内容が同一の画面132に表示されているが、3つ以上の対話グループの対話内容が同一の画面132に表示されてもよい。例えば、ユーザAが3つ以上の対話グループにログインしている場合、当該3つ以上の対話グループの対話内容が同一の画面132に表示される。もちろん、ユーザAが1つの対話グループ(例えば対話グループ1)にログインしている場合、図4に示すように、当該1つの対話グループ(例えば対話グループ1)の対話内容が表示される。
例えば、ユーザAが1つの対話グループ(例えば対話グループ1)にログインしている場合、表示制御部24は、図4に示すように、対話グループ1と対話するための画面34を表示部に表示させる。この状況で、ユーザAが、更に別の対話グループ(例えば対話グループ2)にログインした場合、表示制御部24は、例えば、対話するための画面を広げて、その画面132に、対話グループ1,2の対話内容を表示させる。
別の例として、ユーザAが1つの対話グループ(例えば対話グループ1)にログインしている場合、表示制御部24は、図4に示すように、画面を縦長の状態で使用し、その縦長の画面に対話グループ1の対話内容を表示させる。ユーザAが、更に別の対話グループ(例えば対話グループ2)にログインした場合、表示制御部24は、画面を縦長の状態から横長の状態に変えて、その横長の画面132に対話グループ1,2の対話内容を表示させる。図20に示す例では、横長の画面132に、対話グループ1,2の対話内容が表示されている。
また、表示制御部24は、より多くの対話グループの対話内容を表示するほど、各対話内容(文字列や画像等)を縮小して画面に表示させてもよい。
以下、各表示領域に表示される情報について詳しく説明する。
表示制御部24は、ユーザAに紐付く画像140、ユーザBに紐付く画像142、及び、ユーザCに紐付く画像144を、対話グループ1に割り当てられた表示領域136内に表示させる。画像140はユーザAを識別するための画像であり、画像142はユーザBを識別するための画像であり、画像144はユーザCを識別するための画像である。なお、画像140に代えて又は画像140と共に、ユーザAを示す文字列(例えば、氏名、ユーザID、ハンドルネーム、ニックネーム等のようにユーザAを識別するための文字列)が表示されてもよい。画像142,144についても同じである。ユーザAに紐付く画像140は、表示領域136内において、端末装置10Aを利用するユーザAに割り当てられた領域に表示され、ユーザBに紐付く画像142とユーザCに紐付く画像144は、表示領域136内において、他のユーザに割り当てられた領域に表示される。
以降、ユーザA,B,Cの間で対話が行われる。各ユーザは、自身の端末装置10のUI部16を操作して文字列や画像等を入力することで、発言内容を入力してもよいし、音声によって発言内容を入力してもよい。また、各ユーザの発言内容は、音声として出力されてもよい。各発言内容は、送信された日時に従って時系列に沿って表示される。表示領域136上で対話が進むと、表示領域136がスクロールし、表示領域136に表示しきれない過去の発言内容は表示領域136から消え、最新の発言内容や、その直近の発言内容が、表示領域136に表示される。
発言内容146は、ユーザBが端末装置10Bを利用して送信した発言内容(例えばメッセージ)であり、ユーザBの画像142に紐付けて表示領域136に表示される。発言内容146は、端末装置10B,10Cにも、ユーザBの発言内容として表示される。発言内容148は、ユーザAが端末装置10Aを利用して送信した発言内容であり、ユーザAの画像140に紐付けて表示領域136に表示され、また、端末装置10B,10Cにも、ユーザAの発言内容として表示される。発言内容150は、ユーザCが端末装置10Cを利用して送信した発言内容であり、ユーザCの画像144に紐付けて表示領域136に表示され、また、端末装置10B,10Cにも、ユーザCの発言内容として表示される。発言内容152は、ユーザAによって送信された発言内容である。図20に示す例では、発言内容146,148,150,152の順番で各発言内容が送信されており、発言内容146,148,150,152は、送信された日時に従って時系列に沿って表示される。以降の発言内容についても同様である。
また、第1実施形態と同様に、各発言内容が送信された時間(例えば、時刻や日時)を示す情報が、表示領域136に表示されてもよい。例えば、表示領域136には、日付(例えば、今日の日付、11月2日)を示す文字列が表示されている。その日付を示す文字列の表示位置よりも下部に表示されている発言内容が、その日付以降に送信された発言内容であり、その表示位置よりも上部に表示されている発言内容が、その日付よりも前の日付に送信された発言内容である。もちろん、時刻や日時を示す情報が表示されなくてもよい。
また、第1実施形態と同様に、発言内容の既読及び未読が管理されてもよい。既読メッセージと未読メッセージの定義は、第1実施形態に係る定義と同じである。
また、表示制御部24は、ユーザAに紐付く画像140、ユーザDに紐付く画像154、及び、ユーザEに紐付く画像156を、対話グループ2に割り当てられた表示領域138内に表示させる。画像154はユーザDを識別するための画像であり、画像156はユーザEを識別するための画像である。なお、表示領域136と同様に、ユーザの画像に代えて又は画像と共に、ユーザを示す文字列が表示されてもよい。ユーザAに紐付く画像140は、表示領域138内において、端末装置10Aを利用するユーザAに割り当てられた領域に表示され、ユーザDに紐付く画像154とユーザEに紐付く画像156は、表示領域138内において、他のユーザに割り当てられた領域に表示される。
以降、ユーザA,D,Eの間で対話が行われる。各ユーザの発言内容は、各ユーザの自身の端末装置10から、対話グループ2にログイン中の他のユーザの端末装置10に送信されて表示される。例えば、ユーザDの発言内容158が、ユーザDの画像154に紐付けて表示領域138に表示され、ユーザAの発言内容160が、ユーザAの画像140に紐付けて表示領域138に表示され、ユーザEの発言内容162が、ユーザEの画像156に紐付けて表示領域138に表示され、ユーザAの発言内容164が、ユーザAの画像140に紐付けて表示領域138に表示される。表示領域136と同様に、各発言内容は、送信された日時に従って時系列に沿って表示される。
表示領域138においても、表示領域136と同様に、各発言内容が送信された時間(例えば、時刻や日時)を示す情報が表示されてもよい。例えば、表示領域138には、日付(例えば、昨日の日付、11月1日)を示す文字列が表示されている。その日付を示す文字列の表示位置よりも下部に表示されている発言内容が、その日付以降に送信された発言内容であり、その表示位置よりも上部に表示されている発言内容が、その日付よりも前の日付に送信された発言内容である。もちろん、時刻や日時を示す情報が表示されなくてもよい。
また、対話グループ2においても、対話グループ1と同様に、発言内容の既読及び未読が管理されてもよい。
ユーザAは、画面132上にて、対話グループ1,2に対して発言内容を送ることができる。つまり、対話グループ1,2への発言内容の送信が可能な状態となっている。例えば、ユーザAは、UI部16を用いて送信先の対話グループを選択し、発言内容を入力する。これにより、その発言内容が、送信先の対話グループに送信される。例えば、ユーザAが、表示領域136を指定して発言内容を入力すると、その発言内容が、対話グループ1に送信される。表示領域の指定は、例えば、表示領域へのタッチ操作や音声によって行われる。ユーザAは、発言内容を入力した後に、その発言内容の送信先の対話グループを指定してもよい。例えば、ユーザAは、フリック操作等の操作によって、送信先の対話グループを指定してもよい。この場合も、その発言内容が、送信先の対話グループに送信される。
以上のように、第2実施形態によれば、同じ画面上に、複数の対話グループを表示して対話することができる。例えば、表示領域を拡張したり、表示部を増やしたり、複数の画面を利用したりせずに、複数の対話グループを表示して対話することができる。
以下、第2実施形態の変形例について説明する。
(変形例12)
変形例12では、表示制御部24は、アクティブ状態の対話グループの対話内容を表示部に表示させ、非アクティブ状態の対話グループの対話内容を表示部に表示させない。アクティブ状態の対話グループが複数存在する場合、表示制御部24は、当該複数の対話グループの対話内容を同一の画面に表示させる。
アクティブ状態の対話グループは、例えば、他のユーザがログイン中の対話グループや、最終メッセージの送受信時からの経過時間が予め定められた時間内の対話グループ、等である。
例えば、ユーザAが対話グループ1,2にログインしており、対話グループ1,2がアクティブ状態の対話グループに該当する場合、表示制御部24は、図20に示されているように、対話グループ1,2の対話内容を同一の画面132に表示させる。
表示制御部24は、非アクティブ状態の対話グループ(上記のアクティブ状態の対話グループではない対話グループ)を、表示対象から除外する。表示制御部24は、ユーザによる特定の操作(非アクティブ状態の対話グループの対話内容の表示指示を示す操作)が検知された場合に、非アクティブ状態の対話グループの対話内容を表示部に表示させてもよい。この場合、表示制御部24は、アクティブ状態の対話グループの対話内容と非アクティブ状態の対話グループの対話内容の両方を同一の画面に表示させてもよいし、アクティブ状態の対話グループの対話内容を表示部に表示させずに、非アクティブ状態の対話グループの対話内容を表示部に表示させてもよい。
アクティブ状態の対話グループは、非アクティブ状態の対話グループと比較して、ユーザが対話する可能性が高いと推測される。それ故、変形例12によれば、ユーザが対話し得る対話グループが優先的に表示される。
(変形例13)
変形例13では、表示制御部24は、対話グループの対話内容に含まれる発言内容を発したユーザが識別可能なように、各発言内容の表示を制御する。例えば、表示制御部24は、ユーザ毎に発言内容を色分けして表示する。以下、図21を参照して、変形例13について詳しく説明する。図21には、画面132が示されている。
ここでは、対話グループ1について説明する。図20に示す例と同様に、表示制御部24は、ユーザBの発言内容166、ユーザAの発言内容168,172、及び、ユーザCの発言内容170を、表示領域136に表示させる。このとき、表示制御部24は、各ユーザの発言内容の表示色を互いに異ならせる。
また、表示制御部24は、対話グループ1を識別するための文字列(例えば文字列「対話グループ1」)を、表示領域136に表示させてもよい。図21に示す例では、文字列「対話グループ1」が、表示領域136の上部に表示されている。
また、表示制御部24は、対話グループ1にログイン中の各ユーザの情報をまとめて表示領域136に表示させてもよい。図21に示す例では、各ユーザの情報として、各ユーザに紐づく画像174,176,178が、表示領域136の上部にまとめて表示されている。画像174はユーザAに紐づく画像であり、画像176はユーザBに紐づく画像であり、画像178はユーザCに紐づく画像である。各画像の表示色は、各ユーザの発言内容の表示色に対応している。例えば、ユーザAに紐づく画像174の表示色は、ユーザAの発言内容168,172の表示色と同じである。ユーザBに紐づく画像176の表示色は、ユーザBの発言内容166の表示色と同じである。ユーザCに紐づく画像178の表示色は、ユーザCの発言内容170の表示色と同じである。こうすることで、各発言内容が、誰の発言内容であるのかが視覚的に分かり易くなる。
なお、各発言内容を色分けして表示する場合、ユーザに紐づく画像140,142,144は表示されなくてもよい。画像140,142,144が表示されなくても、各発言内容が誰の発言内容であるのかが識別できるからである。
表示制御部24は、各発言内容を色分けすると共に又は色分けせずに、各発言内容の表示形状を互いに異ならせてもよい。それに応じて、表示制御部24は、各ユーザに紐付く画像174,176,178の表示形状を互いに異ならせてもよい。例えば、表示制御部24は、同一のユーザに紐付く画像と発言内容の表示形状を互いに同じにして、各画像と各発言内容を表示領域136に表示させる。
なお、図21に示す例では、対話グループ1についてのみ、上記の処理が適用されているが、対話グループ2についても、上記の処理が適用されてもよい。
(変形例14)
変形例14では、表示制御部24は、同一の対話グループの対話内容に含まれる各発言内容(例えばメッセージ)を同一直線上に配置して、当該対話グループに割り当てられている表示領域に表示させる。以下、図21を参照して、変形例14について詳しく説明する。
ここでは、対話グループ1について説明する。表示制御部24は、表示領域136内に、時系列方向に沿った仮想の直線180を設定し、その直線180上に、発言内容166,168,170,172を配置する。例えば、表示制御部24は、各発言内容の中央部分が直線180上に配置されるように各発言内容を配置する。これにより、各発言内容は、直線180を対称軸として線対称の関係を有する(左右対称)。こうすることで、図20に示すように、各ユーザの発言内容を表示領域136内にて左右に分けて表示する場合と比較して、表示領域136内により多くのスペースを確保することができる。つまり、各発言内容を直線180に沿って詰めて配置することで、各発言内容を分散して配置する場合と比較して、より多くのスペースを確保することができる。例えば、表示領域136,138を規定する仮想線134に最も近い位置に表示されているユーザAに紐付く画像140と、仮想線134との間の距離の分、スペース(符号182で示すスペース)を確保することができる。また、上記の変形例13で説明したように、ユーザに紐付く画像140,142,144を表示しない場合、仮想線134に最も近い位置に表示されている発言内容172と、仮想線134との間の距離の分、スペース(符号184で示すスペース)を確保することができる。そのスペースの分、他の対話グループの表示領域を大きくしてもよい。例えば、そのスペースの分、対話グループ1の表示領域136を狭くし、対話グループ2の表示領域138を広くしてもよい。
変形例14によれば、有限な表示領域を有効に活用することができる。
上記の配置例は一例に過ぎず、別の配置例が採用されてもよい。例えば、表示制御部24は、直線180上に配置された状態の各発言内容を、表示領域136内において、一方の縁部(例えば画面132の左側の縁部)へ移動させてもよいし、各表示領域の一端を一直線上に揃えてもよい。
なお、図21に示す例では、対話グループ1についてのみ、上記の処理が適用されているが、対話グループ2についても、上記の処理が適用されてもよい。
また、表示制御部24は、複数の対話グループの中で最長の発言内容が最も短い対話グループを対象として、各発言内容を同一直線上に配置して表示領域に表示させてもよい。例えば、表示制御部24は、対話グループ1における最長の発言内容(例えば最も文字数の多いメッセージ)と、対話グループ2における最長の発言内容とを比較する。対話グループ1における最長の発言内容が、対話グループ2における最長の発言内容よりも短い場合(例えば、文字数が少ない場合)、表示制御部24は、対話グループ1における各発言内容を同一直線上に配置する。こうすることで、より多くのスペースを確保し得る。もちろん、表示制御部24は、すべての対話グループを対象として、変形例14に係る処理を適用してもよい。
(変形例15)
変形例15では、表示制御部24は、複数の対話グループに含まれるある対話グループの対話内容の表示領域の変化に連動させて、他の対話グループの対話内容の表示領域を変化させる。例えば、表示制御部24は、ある対話グループの表示領域に対するユーザの操作(例えば、拡大操作又は縮小操作)に連動させて、他の対話グループの表示領域を拡大又は縮小させる。以下、図22を参照して、変形例15について詳しく説明する。図22には、画面132が示されている。
例えば画面132が表示されているときに、ユーザが、矢印186で示すように、対話グループ1の表示領域136を拡大する操作(例えば、ピンチアウト操作)を行い、その操作が検知された場合、表示制御部24は、表示領域136を拡大する。これに伴い、表示領域136内に表示されている発言内容やユーザに紐付く画像が、拡大して表示される。また、表示制御部24は、表示領域136の拡大操作に連動させて、その拡大の分、対話グループ2の表示領域138を縮小する。これに伴い、表示領域138内に表示されている発言内容やユーザに紐付く画像が、縮小して表示される。表示制御部24は、拡大後の対話グループ1の対話内容と、縮小後の対話グループ2の対話内容を、同一の画面132に表示させる。また、ユーザが、表示領域136を摘むような操作(例えば、ピンチイン操作)を行い、その操作が検知された場合、表示制御部24は、表示領域136を縮小し、それに連動させて、対話グループ2の表示領域138を拡大する。
変形例15によれば、限られた表示領域において、一部の対話グループの対話内容を拡大又は縮小して表示することができる。
また、表示制御部24は、ユーザAが発言内容を入力している対話グループの表示領域を拡大し、これに連動させて、他の対話グループの表示領域を縮小してもよい。例えば、ユーザAが対話グループ1に対する発言内容を入力している場合、表示制御部24は、対話グループ1の表示領域136を拡大し、対話グループ2の表示領域138を縮小する。その発言内容の送信が完了した場合、表示制御部24は、表示領域136のサイズを拡大前のサイズに戻し、表示領域138のサイズを縮小前のサイズに戻す。また、ユーザAが対話グループ1に対する発言内容を入力している場合、表示制御部24は、表示領域136を画面132の全体に表示させ、表示領域138を画面132に表示させなくてもよい。つまり、表示領域136の全画面表示が実行される。その発言内容の送信が完了した場合、表示制御部24は、表示領域136,138のサイズを元のサイズに戻す。対話グループ2に対する発言内容が入力される場合も同じである。
もちろん、画面132に対して拡大操作又は縮小操作が行われた場合、表示制御部24は、画面132の全領域を拡大又は縮小してもよい。その設定が、ユーザによって行われてもよい。
(変形例16)
変形例16では、表示制御部24は、ユーザの操作に従って、表示領域をスクロールさせることで、その表示領域に表示しきれない情報(文字列や画像等)を表示部に表示させる。このとき、表示制御部24は、複数の対話グループの間で対話内容のスクロールを同期させる。つまり、表示制御部24は、ある対話グループの表示領域に対してスクロール操作が行われた場合、当該対話グループの表示領域をスクロールさせ、更に、同一画面に表示されている他の対話グループの表示領域をスクロールさせる。以下、図23を参照して、変形例16について詳しく説明する。
図23には、画面132が表示されている。例えば、ユーザAが、矢印188で示すように、対話グループ1の表示領域136をスクロールさせる操作を行い、その操作が検知された場合、表示制御部24は、その矢印188が示す方向に表示領域136をスクロールさせる。また、表示制御部24は、矢印190で示すように、矢印188が示す方向と同じ方向に、対話グループ2の表示領域138をスクロールさせる。こうすることで、実際にスクロール操作が行われていない表示領域もスクロールされるので、ユーザによるスクロール操作の手間が省ける。
実際にスクロール操作が行われた表示領域136におけるスクロール量と、スクロール操作が行われていない表示領域138におけるスクロール量とは同じであってもよいし、異なっていてもよい。その設定は、ユーザによって行われてもよい。
もちろん、表示制御部24は、実際にスクロール操作が行われた表示領域136をスクロールさせ、そのスクロール操作に連動させずに、スクロール操作が行われていない表示領域138をスクロールさせなくてもよい。連動制御(同期制御)又は非連動制御(非同期制御)は、ユーザによって設定されてもよい。
スクロール操作が行われた場合において、未読メッセージが存在する場合、表示制御部24は、その未読メッセージの表示位置まで表示領域をスクロールさせてもよい。以下、図24を参照して、この処理について説明する。図24には、画面132が示されている。
例えば、対話グループ1の表示領域136に対してスクロール操作が行われた場合において、対話グループ1において未読メッセージが存在する場合、表示制御部24は、表示領域136を、当該未読メッセージの表示位置までスクロールさせる。例えば、表示制御部24は、当該未読メッセージが表示領域136の特定位置(例えば中央位置、最上部、最下部等)に表示されるように、表示領域136をスクロールさせる。図24には、スクロール後の表示領域136が示されている。例えば、対話グループ1においてユーザAの発言内容192が未読状態の場合、表示制御部24は、その発言内容192が表示領域136の特定位置に表示されるように表示領域136をスクロールさせる。複数の未読メッセージが存在する場合、表示制御部24は、表示領域136を、最も古い日時に送信された未読メッセージの表示位置までスクロールさせてもよいし、最も新しい日時に送信された未読メッセージの表示位置までスクロールさせてもよい。
また、スクロール操作が行われていない対話グループ2において未読メッセージが存在する場合、表示制御部24は、対話グループ2の表示領域138を、当該未読メッセージの表示位置までスクロールさせてもよい。図24には、スクロール後の表示領域138が示されている。例えば、対話グループ2においてユーザAの発言内容194が未読状態の場合、表示制御部24は、その発言内容194が表示領域138の特定位置に表示されるように表示領域138をスクロールさせる。複数の未読メッセージが存在する場合の処理は、表示領域136に対する上記の処理と同じである。
上記のように、未読メッセージの表示位置まで表示領域をスクロールさせることで、ユーザが未読メッセージを探す手間が省ける。また、スクロール操作が行われていない表示領域についても未読メッセージの表示位置までスクロールさせることで、ユーザによるスクロール操作の手間が省ける。
(変形例17)
変形例17では、制御部22は、複数の対話グループの間で、発言内容の複製及び転写(コピー&ペースト)を行う。発言内容は、ユーザ自身が送信した発言内容であってもよいし、他のユーザが送信した発言内容であってもよい。
以下、図25を参照して、変形例17について詳しく説明する。図25には、画面132が示されている。例えば、ユーザAが、対話グループ1の表示領域136上においてユーザBの発言内容146を指定し、対話グループ2へコピー操作を行った場合、制御部22は、発言内容146をコピーし、対話グループ2の表示領域138に、ユーザAの発言内容としてペーストする。コピー操作は、例えば、矢印196で示す方向に発言内容146をスライドさせる操作である。ユーザAが、コピー対象の発言内容146を、コピー先の対話グループ2の表示領域138までスライドさせた場合に、制御部22は、発言内容146を表示領域138にペーストしてもよい。図25に示す例では、コピーされた発言内容146が、ユーザAの発言内容198として表示領域138に表示されている。その発言内容198は、対話グループ2にログイン中のユーザD,Eの端末装置10に送信される。なお、コピー操作が行われた時点で、発言内容198がユーザD,Eの端末装置10に送信されてもよいし、ユーザAによって送信指示が与えられた場合に、発言内容198がユーザD,Eの端末装置10に送信されてもよい。
変形例17によれば、簡易な操作によって、複数の対話グループの間で、発言内容のコピー&ペーストを行うことができる。
なお、ユーザAが、コピー元の表示領域136内にてコピー操作を止めた場合(例えば、表示領域136への接触を止めた場合)、制御部22は、コピーを行わない。
(変形例18)
変形例18では、制御部22は、ある対話グループにログインしているユーザを、他の対話グループに追加する。
以下、図26を参照して、変形例18について詳しく説明する。図26には、画面132が示されている。例えば、ユーザAが、対話グループ1の表示領域136においてユーザBに紐付く画像142を指定し、対話グループ2へ追加操作を行った場合、制御部22は、ユーザBを、対話グループ2に追加する。追加操作は、例えば、矢印200で示す方向に画像142をスライドさせる操作である。ユーザAが、追加対象のユーザBの画像142を、追加先の対話グループ2の表示領域138までスライドさせた場合に、制御部22は、ユーザBを対話グループ2に追加してもよい。図26に示す例では、対話グループ2の表示領域138内に、ユーザBに紐付く画像142が表示されており、これにより、ユーザBが対話グループ2に追加される。つまり、ユーザBが対話グループ2にログインした状態となる。
変形例18によれば、簡易な操作によって、ある対話グループにログインしているユーザを、他の対話グループに追加することができる。
なお、ユーザAが、追加元の表示領域136内にて追加操作を止めた場合(例えば、表示領域136への接触を止めた場合や、表示領域136内において特定の表示領域内に、追加対象のユーザの画像を配置した場合)、制御部22は、ユーザの追加を行わない。
変形例18において、他のユーザが追加される対話グループにログイン中のユーザの承認が得られた場合に、当該他のユーザが当該対話グループに追加され、承認が得られなかった場合、当該他のユーザは当該対話グループに追加されなくてもよい。例えば、ユーザAによって、対話グループ1にログイン中のユーザBを対話グループ2に追加する操作が行われた場合、端末装置10Aは、ユーザDの端末装置10DとユーザEの端末装置10Eに、承認要求を送信する。この場合、第1実施形態と同様に、端末装置10D,10EのUI部16には承認画面(例えば図14に示されている承認画面80)が表示され、その承認画面に、ユーザBの参加を承認するか否かを問うメッセージが表示される。ユーザDがユーザBの参加を承認した場合(例えば、ユーザDが承認画面にて「はい」ボタンを押した場合)、端末装置10Dは、承認する旨を示す情報を端末装置10A,10Bに送信する。ユーザDがユーザBの参加を承認しない場合(例えば、ユーザが承認画面にて「いいえ」ボタンを押した場合)、端末装置10Dは、承認しない旨を示す情報を端末装置10A,10Bに送信する。ユーザEについても同様である。
すべてのユーザ(例えばユーザD,E)によって承認が得られた場合、ユーザBは、対話グループ2に追加される。そうではない場合、ユーザBは、対話グループ2に追加されない。別の例として、予め定められた数のユーザによって承認が得られた場合や、特定のユーザ(例えば承認権限を有するユーザ)によって承認が得られた場合に、ユーザBは、対話グループ2に追加されてもよい。
上記のように承認を必要とすることで、追加先の対話グループにログイン中のユーザの意思を反映させることができる。
また、追加対象のユーザBが参加を認めた場合に、ユーザBが対話グループ2に追加され、ユーザBが参加を認めなかった場合、ユーザBは対話グループ2に追加されなくてもよい。例えば、端末装置10Aは、ユーザBの端末装置10Bに参加要求を送信する。この場合、第1実施形態と同様に、端末装置10BのUI部16には、勧誘画面(例えば図15に示されている勧誘画面84)が表示され、その勧誘画面には、対話グループ2へのユーザBの参加を要求する旨を示すメッセージが表示される。ユーザBが対話グループ2への参加を希望する場合(例えば、ユーザBが勧誘画面にて「はい」ボタンを押した場合)、端末装置10Bは、参加する旨を示す情報を端末装置10Aに送信する。ユーザBが対話グループ2への参加を希望しない場合(例えば、ユーザBが勧誘画面にて「いいえ」ボタンを押した場合)、端末装置10Bは、参加しない旨を示す情報を端末装置10Aに送信する。
ユーザBが対話グループ2への参加を希望した場合、ユーザBは、対話グループ2に追加される。ユーザBが対話グループ2への参加を希望しない場合、ユーザBは、対話グループ2に追加されない。こうすることで、追加対象のユーザの意思を反映させることができる。
また、追加先の対話グループにログイン中のユーザ(例えばユーザD,E)の承認が得られ、かつ、追加対象のユーザ(例えばユーザB)が参加を希望した場合に、追加対象のユーザが当該対話グループに追加されてもよい。
(変形例19)
変形例19では、表示制御部24は、複数の対話グループの対話内容を、縦方向に並べた状態で同一画面に表示させる。以下、図27を参照して、変形例19について詳しく説明する。図27には、画面132が示されている。
表示制御部24は、画面132を縦長の状態で使用し、対話グループ1,2の対話内容を画面132に縦方向に並べて表示させる。例えば、表示制御部24は、仮想線202を境にして、画面132内にて縦方向に(上下に)表示領域204,206を設定し、表示領域204内に対話グループ1の対話内容を表示させ、表示領域206内に対話グループ2の対話内容を表示させる。表示領域204内には、対話グループ1にログインしているユーザA,B,Cの間の対話内容が表示される。表示領域206内には、対話グループ2にログインしているユーザA,D,Eの間の対話内容が表示される。ユーザAが2つの対話グループにログインしている場合、仮想線202は、例えば、画面132の縦方向の中央に設定される。もちろん、表示制御部24は、各対話グループにおける発言内容の長さに応じて仮想線202の位置を変えることで、各表示領域の広さを制御してもよい。例えば、表示制御部24は、発言内容が長い対話グループの表示領域が、発言内容が短い対話グループの表示領域よりも広くなるように、仮想線202の位置を変えてもよい。また、表示制御部24は、発言内容の量に応じて仮想線202の位置を変えてもよい。例えば、表示制御部24は、発言内容が多い対話グループの表示領域が、発言内容が少ない対話グループの表示領域よりも広くなるように、仮想線202の位置を変えてもよい。表示制御部24は、ユーザの操作に従って仮想線202の位置を変えてもよい。なお、表示制御部24は、仮想線202を画面132に表示させてもよいし、表示させなくてもよい。
図27に示す例では、2つの対話グループの対話内容が同一の画面132に表示されているが、3つ以上の対話グループの対話内容が同一の画面132に表示されてもよい。
例えば、ユーザAが1つの対話グループ(例えば対話グループ1)にログインしている場合、表示制御部24は、図4に示すように、縦長の画面に対話グループ1の対話内容を表示させる。この状況で、ユーザAが、更に別の対話グループ(例えば対話グループ2)にログインした場合、表示制御部24は、対話グループ1,2の対話内容を縦長の画面132に縦方向に並べて表示させる。
また、ユーザAが、矢印208で示すように、対話グループ1の表示領域204をスクロールさせる操作を行い、その操作が検知された場合、表示制御部24は、その矢印208が示す方向に表示領域204をスクロールさせる。また、表示制御部24は、矢印210が示すように、矢印208が示す方向と同じ方向に、対話グループ2の表示領域206をスクロールさせる。こうすることで、実際にスクロール操作が行われていない表示領域もスクロールされるので、ユーザによるスクロール操作の手間が省ける。
もちろん、表示制御部24は、実際にスクロール操作が行われた表示領域204をスクロールさせ、そのスクロール操作に連動させずに、スクロール操作が行われていない表示領域206をスクロールさせなくてもよい。連動制御(同期制御)又は非連動制御(非同期制御)は、ユーザによって設定されてもよい。
なお、図27に示す例では、発言内容の送信日時や既読情報が表示されていないが、それらが表示されてもよい。
また、上記の変形例16と同様に、表示制御部24は、スクロール操作が行われた表示領域を、未読メッセージの表示位置までスクロールさせてもよい。表示制御部24は、スクロール操作が行われた表示領域のスクロールに連動させて、スクロール操作が行われていない表示領域を、未読メッセージの表示位置までスクロールさせてもよい。
また、上記の変形例12と同様に、表示制御部24は、アクティブ状態の対話グループの対話内容を表示部に表示させ、非アクティブ状態の対話グループの対話内容を表示部に表示させなくてもよい。上記の変形例13と同様に、表示制御部24は、ユーザ毎の発言内容を色分けしてもよい。上記の変形例15と同様に、表示制御部24は、ある対話グループの表示領域の拡大又は縮小に連動させて、他の対話グループの表示領域を拡大又は縮小させてもよい。上記の変形例17と同様に、制御部22は、複数の対話グループの間で、発言内容のコピー&ペーストを行ってもよい。上記の変形例18と同様に、制御部22は、ある対話グループにログインしているユーザを、他の対話グループに追加してもよい。
発言内容(例えばメッセージ)の入力時には、表示制御部24は、図28に示すように、入力領域212を画面132に表示させる。ユーザAが、入力領域212内にメッセージを入力して送信を指示した場合、入力領域212内に入力されたメッセージが、送信先として指定された対話グループに送信される。例えば、対話グループ1に対して発言内容を送信する場合、ユーザAは、対話グループ1の表示領域204を指定する。表示制御部24は、その指定に応じて、入力領域212を画面132に表示させる。表示制御部24は、対話グループ1の表示領域204内に入力領域212を表示させてもよいし、発言内容の送信先ではない対話グループ2の表示領域206内に入力領域212を表示させてもよい。また、表示制御部24は、表示領域204,206を跨いで入力領域212を画面132に表示させてもよい。入力領域212の表示位置や表示サイズの設定は、ユーザによって行われてもよい。入力領域212内にメッセージが入力され、メッセージの送信が完了した場合、表示制御部24は、入力領域212を非表示にする。もちろん、ユーザAは、入力領域212内にメッセージを入力した後に、そのメッセージの送信先の対話グループを指定してもよい。例えば、ユーザAが、フリック操作等の操作によって、入力領域212をある表示領域に移動させた場合、制御部22は、その表示領域に紐付く対話グループにメッセージを送信する。
また、表示制御部24は、画面切替条件に従って、横長の画面(図20参照)と縦長の画面(図27参照)とを切り替えてもよい。画面切替条件は、ユーザによって設定されてもよいし、予め定められていてもよい。例えば、表示制御部24は、画面132の全体のサイズ、ユーザAがログイン中の対話グループの数、単位時間当たりの各対話グループの発言の数や長さ、単位時間当たりの未読メッセージの数、直近(現時点と、現時点から予め定められた時間遡った時点との間の時間)の発言の数や長さ、直近の未読メッセージの数、発言の総数、発言の長さの合計、未読メッセージの総数、等の条件に従って、横長の画面と縦長の画面を切り替えてもよい。表示制御部24は、複数の条件に従って、画面を切り替えてもよい。例えば、表示制御部24は、ユーザAがログイン中の対話グループの数が予め定められた閾値以上となる場合、縦長の画面を使用し、その数が閾値未満となる場合、横長の画面を使用してもよい。もちろん、表示制御部24は、ユーザの指示に従って、横長の画面と縦長の画面とを切り替えてもよい。
(変形例20)
変形例20では、表示制御部24は、発言内容を入力するための入力領域を、複数の対話グループの表示領域に跨いで画面に表示させる。発言内容の送信が完了した場合、表示制御部24は、入力領域を非表示にして、送信先の対話グループの表示領域内に、当該発言内容を表示させる。以下、図29及び図30を参照して、変形例20について詳しく説明する。図29及び図30には、画面132が示されている。
例えば、発言内容(メッセージ)の入力時には、表示制御部24は、図29に示すように、入力領域214を画面132に表示させる。このとき、表示制御部24は、入力領域214を、対話グループ1の表示領域136と対話グループ2の表示領域138とに跨いで画面132に表示させる。ユーザAが、入力領域214内にメッセージを入力し、そのメッセージの送信を指示した場合、そのメッセージが、送信先として指定された対話グループにログイン中のユーザの端末装置10に送信される。送信先の対話グループの指定は、入力領域214の表示前に行われてもよいし、入力領域214の表示後に行われてもよい。例えば、ユーザAが、対話グループ1の表示領域136を指定した場合、制御部22は、対話グループ1を送信先の対話グループとして識別し、表示制御部24は、入力領域214を画面132に表示させる。続けて、ユーザAが、入力領域214にメッセージを入力して送信指示を与えた場合、そのメッセージが、ユーザAの発言内容として、対話グループ1にログイン中のユーザB,Cのそれぞれの端末装置10に送信される。別の例として、ユーザAが、入力領域214の表示指示を与えた場合、表示制御部24は、入力領域214を画面132に表示させる。続けて、ユーザAが、入力領域214にメッセージを入力し、送信先の対話グループ1を指定して送信指示を与えた場合、そのメッセージが、ユーザAの発言内容として、対話グループ1にログイン中のユーザB,Cのそれぞれの端末装置10に送信される。例えば、ユーザAが、フリック操作等によって、入力領域214を対話グループ1の表示領域136内に移動させた場合、制御部22は、メッセージをユーザB,Cのそれぞれの端末装置10に送信する。
ユーザAのメッセージが送信された場合、図30に示すように、当該メッセージが、ユーザAの発言内容216として、ユーザAの画像140に紐付けて表示領域136内に表示される。メッセージの送信が完了した場合、表示制御部24は、入力領域214を非表示にする。
(変形例21)
図31及び図32を参照して、変形例21について説明する。上記の第2実施形態では、2つの対話グループの対話内容が同一画面に表示されているが、3つ以上の対話グループの対話内容が同一画面に表示されてもよい。図31及び図32には、対話グループの数が4つの場合の表示例が示されている。
例えば、ユーザAが4つの対話グループ1,2,3,4にログインしている場合、表示制御部24は、図31に示すように、画面132を左右に分ける仮想線218と、画面132を上下に分ける仮想線220を設定することで、4つの表示領域(表示領域222,224,226,228)を設定する。表示制御部24は、例えば、表示領域222内に対話グループ1の対話内容を表示させ、表示領域224内に対話グループ2の対話内容を表示させ、表示領域226内に対話グループ3の対話内容を表示させ、表示領域228内に対話グループ4の対話内容を表示させる。各表示領域のサイズは互いに同一であってもよいし、各対話グループの発言の数や長さに応じて、各表示領域のサイズは互いに異なっていてもよい。ユーザによって、各表示領域のサイズが変更されてもよいし、ある表示領域が拡大又は縮小された場合、それに連動して、他の表示領域が拡大又は縮小されてもよい。
図32には、別の表示例が示されている。この例では、表示制御部24は、画面132を左右に分ける仮想線230と、画面の横半分(例えば右半分)を上下方向に3つの領域に分ける仮想線232,234を設定することで、4つの表示領域(表示領域236,238,240,242)を設定する。表示領域236は、他の表示領域よりも広い領域であり、表示領域238,240,242は、互いに同じサイズを有する領域である。例えば、表示領域236は、メイン表示領域として使用され、ユーザによって指定されたメインの対話グループの対話内容が表示される。表示領域238,240,242は、サブ表示領域として使用され、メインの対話グループ以外の対話グループの対話内容が表示される。
表示制御部24は、優先順位に従って、メインの表示領域236に表示される対話グループを変えてもよい。その優先順位は、例えば、単位時間当たりの各対話グループの発言の数や長さ、単位時間当たりの未読メッセージの数、直近(現時点と、現時点から予め定められた時間遡った時点との間の時間)の発言の数や長さ、直近の未読メッセージの数、発言の総数、発言の長さの合計、未読メッセージの総数、等によって定められる。例えば、表示制御部24は、直近の発言の数が最も多い対話グループの対話内容を、表示領域236に表示させてもよいし、直近の発言の長さが最も長い対話グループの対話内容を、表示領域236に表示させてもよいし、直近の未読メッセージの数が最も多い対話グループの対話内容を、表示領域236に表示させてもよい。また、表示制御部24は、アクティブ状態の対話グループの対話内容を、表示領域236に表示させてもよい。なお、表示制御部24は、上記の優先順位に応じて、表示領域238,240,242のそれぞれのサイズを変えてもよい。
<第3実施形態>
以下、第3実施形態に係る情報処理システム及び端末装置10について説明する。第3実施形態では、表示制御部24は、切替条件に応じて、第1実施形態に係る表示制御と第2実施形態に係る表示制御とを切り替える。つまり、表示制御部24は、切替条件に応じて、1つの対話グループの対話内容を表す画面と、複数の対話グループの対話内容を表す画面とを切り替える。以下、切替条件に応じた処理について詳しく説明する。
例えば、表示制御部24は、ユーザAがログイン中の対話グループの数に応じて、表示制御を切り替えてもよい。具体的には、表示制御部24は、ユーザAがログイン中の対話グループの数が、予め定められた閾値以上である場合、第1実施形態に係る表示制御を実行し、その数が閾値未満である場合、第2実施形態に係る表示制御を実行する。その閾値は、ユーザによって変更されてもよい。
例えば、その閾値が「3」であるものとする。ユーザAが3つ以上の対話グループ(例えば、対話グループ1,2,3)にログインしている場合、表示制御部24は、第1実施形態に係る表示制御を実行する。つまり、表示制御部24は、ユーザによる変更操作に応じて、表示中の対話グループの画面を、他の対話グループの画面に変更する。例えば、対話グループ1の画面が表示部に表示されている場合に、ユーザによって変更操作が行われた場合、表示制御部24は、画面を、対話グループ1の画面から対話グループ2の画面に変える。一方、ユーザAが2つの対話グループ(例えば、対話グループ1,2)にログインしている場合、表示制御部24は、第2実施形態に係る表示制御を実行する。つまり、表示制御部24は、対話グループ1,2の対話内容を同一画面に表示させる。
同一画面に複数の対話グループの対話内容を表示する場合、対話グループの数が多くなるほど、各対話グループの対話内容の表示領域を狭くせざるを得ないため、ユーザにとって、各対話内容が見え難くなる。一方、対話グループの数が少ないほど、各対話内容の表示領域を広くすることができるので、複数の対話グループの対話内容を同一画面に表示した場合であっても、より多くの対話グループの対話内容を同一画面に表示する場合と比べて、ユーザにとって、各対話内容が見易くなる。そこで、対話グループの数が閾値以上の場合には、第1実施形態に係る表示制御を実行することで、各対話グループの対話内容がユーザにとって見え難くなるのを防止しつつ、簡易な操作によって、各対話グループの画面を変更することができる。また、対話グループの数が閾値未満の場合には、第2実施形態に係る表示制御を実行することで、画面の変更操作を不要としつつ、ユーザによって見易い状態で、複数の対話グループの対話内容を表示することができる。
また、第1実施形態と第2実施形態との組み合わせとして、表示制御部24は、ユーザによる変更操作に応じて、複数の対話グループの対話内容を表す画面を、他の複数の対話グループの対話内容を表す画面に変更してもよい。この処理について、図33及び図34を参照して詳しく説明する。
図33には画面132が示されており、図34には画面244が示されている。例えば、ユーザAが、対話グループ1,2,3,4にログインしているものとする。画面132には、仮想線134によって、表示領域136,138が定められている。同様に、画面244には、仮想線246によって、表示領域248,250が定められている。一例として、表示領域136は、対話グループ1の対話内容が表示される領域であり、表示領域138は、対話グループ2の対話内容が表示される領域であり、表示領域248は、対話グループ3の対話内容が表示される領域であり、表示領域250は、対話グループ4の対話内容が表示される領域である。例えば、表示制御部24は、ユーザAが各対話グループにログインした順番に応じて、各対話グループの対話内容が表示される表示領域を定めてもよいし、ユーザAが各対話グループの表示領域を指定してもよいし、変形例21で説明した優先順位に従って、各対話グループの表示領域を定めてもよい。なお、各表示領域のサイズは、ユーザによって変更されてもよいし、優先順位に従って定められてもよいし、予め定められていてもよい。
例えば、画面132が表示部に表示されているときに、第1実施形態と同様に、ユーザによって変更操作が行われた場合、表示制御部24は、表示中の画面を画面132から画面244に変更する。こうすることで、ユーザAは、画面の変更操作を行わずに、複数の対話グループと対話することができ、更に、簡易な画面変更操作を行うことで、更に別の複数の対話グループと対話することができる。
<その他の実施形態>
第1実施形態において、ユーザの変更操作に応じて、画面が徐々に変更されてもよい。以下、図35から図37を参照して、この処理について説明する。図35から図37には、端末装置10に表示される画面が示されている。
例えば、ユーザAが、対話グループ1,2にログインしているものとする。この場合、図35から図37に示すように、制御部22は、表示領域252を形成し、その表示領域252に仮想線254を設定し、表示領域256,258を設定する。制御部22は、表示領域256内に対話グループ1の対話内容を配置し、表示領域258内に対話グループ2の対話内容を配置する。この配置状況は、例えば、第2実施形態に係る対話内容の配置状況と同じであってもよい。
図35から図37に示す例では、端末装置10の画面260よりも表示領域252が広い。より詳しく説明すると、表示領域252の横幅は、画面260の横幅よりも広い。従って、画面260には、表示領域252の全体が一度に表示し切れていない。図35に示す例では、画面260に、対話グループ1の表示領域256が表示されており、ユーザAは、対話グループ1にログイン中のユーザB,Cと対話することができる。この表示状態は、図4に示されている表示状態と同じである。また、画面260には、対話グループ2の表示領域258は表示されていない。
表示領域256が画面260に表示されている状態で、ユーザAが、対話グループ2の表示領域258の方向に画面260を操作した場合(例えば、矢印262が示す方向にフリック操作やスライド操作をした場合)、表示制御部24は、その操作量に応じて、画面260に表示される表示領域252の箇所を変える。例えば、図36に示すように、その操作量に応じて、表示領域256の一部と表示領域258の一部が、画面260に表示される。このように、対話グループ1の表示領域256と対話グループ2の表示領域258が、連続して画面260に表示される。
ユーザAが、矢印262の方向に更に画面260を操作した場合、表示制御部24は、その操作量に応じて、画面260に表示される表示領域252の箇所を変える。例えば、図37に示すように、その操作量に応じて、表示領域258の全体が画面260に表示される。この状態では、表示領域256は画面260に表示されていない。
上記のように、ある対話グループの表示領域と他の対話グループの表示領域とが繋がっていて、ユーザの操作によって、画面260に表示される領域が連続的に変更されてもよい。
上記の第1から第3実施形態及び変形例において、ユーザの対話相手は、人間としてのユーザに限られず、人工知能(AI)によって実現される自動応答AIであってもよい。ある対話グループに属する一部又は全部の話者が、自動応答AIであってもよい。つまり、ある対話グループには、人間としての他のユーザと自動応答AIの両方が話者として属していてもよいし(ユーザと自動応答AIの混在)、全話者が自動応答AIであってもよい。
自動応答AIは、各ユーザの発言内容を解析し、その発言内容に対する回答等の返事をユーザに提供する機能を有する。自動応答AIは、いわゆるチャットボット(chatbot)(人工知能を活用した自動会話プログラム)であってもよい。自動応答AIは、人工知能による学習機能を有し、その学習機能によって、人に近い判断を行う能力を有していてもよい。また、ニューラルネットワーク型のディープラーニングが利用されてもよいし、部分的に学習分野を強化する強化学習等が利用されてもよいし、その他、遺伝的アルゴリズム、クラスタ分析、自己組織化マップ、アンサンブル学習、等が利用されてもよい。もちろん、これら以外の人工知能に関する技術が利用されてもよい。
自動応答AIに関するプログラムは、端末装置10にインストールされていてもよいし、サーバ12等の外部装置にインストールされ、自動応答AIの機能が、外部装置から端末装置10に提供されてもよい。
上記の端末装置10及びサーバ12のそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、端末装置10及びサーバ12のそれぞれは、図示しないCPU等の1又は複数のプロセッサを備えている。当該1又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、端末装置10及びサーバ12のそれぞれの各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、端末装置10及びサーバ12のそれぞれの各部は、例えばプロセッサや電子回路やASIC(Application Specific Integrated Circuit)等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、端末装置10及びサーバ12のそれぞれの各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。