Information processing apparatus and non-transitory computer readable medium for changing screen for conversation

An information processing apparatus includes a controller that, when a current conversation partner is changed to another conversation partner by an operation of a user, changes a screen to a screen for making a conversation with the other conversation partner.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2017-219081 filed Nov. 14, 2017.

BACKGROUND

Technical Field

The present invention relates to an information processing apparatus and a non-transitory computer readable medium.

SUMMARY

According to an aspect of the invention, an information processing apparatus includes a controller that, when a current conversation partner is changed to another conversation partner by an operation of a user, changes a screen to a screen for making a conversation with the other conversation partner.

DETAILED DESCRIPTION

First Exemplary Embodiment

Hereinafter, an information processing system according to a first exemplary embodiment of the present invention will be described with reference toFIG. 1.FIG. 1illustrates an example of an information processing system according to the first exemplary embodiment.

The information processing system according to the first exemplary embodiment includes plural terminal devices10and a server12as an example. For example, each terminal device10and the server12have a function of communicating with other devices via a communication path N such as the Internet. The terminal device10and the server12may communicate with other devices via different communication paths as well or may directly communicate with other devices without using the communication path N. In the example illustrated inFIG. 1, three terminal devices10are provided in the information processing system, but fewer or more terminal devices10may be provided in the information processing system.

The terminal device10is a device such as a personal computer (PC), a tablet PC, a smartphone, a mobile phone or the like, and has a function of exchanging data with other devices. The terminal device10may be a wearable terminal (a wristwatch type terminal, a wristband type terminal, a spectacle type terminal, a ring type terminal, a contact lens type terminal, an intracorporeal embedded terminal, a hearable terminal, etc.). Further, the terminal device10may have a flexible display as a display device. Examples of the flexible display include an organic electroluminescence type display (flexible organic EL display), an electronic paper type display, and a flexible liquid crystal display. Flexible displays employing other display modes may be used. The flexible display is a display with a flexibly-deformable display portion which can be, for example, bent, folded, rolled, twisted or stretched. The terminal device10may be entirely implemented by a flexible display or may be implemented by a flexible display and other components which are functionally or physically separated from each other.

The server12is a device for managing data and user information. For example, the server12has a function of offering a social networking service (SNS) to a user. The terminal device10can use the SNS offered by the server12to exchange information (for example, a character string, a still image, a moving image, a voice, etc.) with another terminal device10using the SNS. In the SNS, conversation (exchange of information) can be made on a conversation group basis and the server12manages the conversation in each conversation group. One or plural users (also referred to as speakers) can participate in each conversation group, and information can be exchanged among plural user terminal devices10that belong to the same conversation group. For example, when plural users log in to the same conversation group, information is exchanged among the plural user terminal devices10.

Hereinafter, the configuration of the terminal device10will be described in detail with reference toFIG. 2.

A communication unit14is a communication interface and has a function of transmitting data to other devices and a function of receiving data from other devices. The communication unit14may be either a communication interface having a wireless communication function or a communication interface having a wired communication function. For example, the communication unit14conforms to one or plural types of communication methods and may communicate with a communication partner according to a communication method suitable for the communication partner (that is, a communication method supported by the communication partner). The communication method is, for example, infrared communication, visible light communication, Wi-Fi® communication, close proximity wireless communication (for example, NFC (Near Field Communication), etc.), or the like. As the close proximity wireless communication, Felica®, Bluetooth®, RFID (Radio Frequency Identifier) and the like are used. Other types of wireless communication may be used as well as the close proximity wireless communication. The communication unit14may switch the communication method or the frequency band depending on a communication partner or the surrounding environments.

A UI unit16is a user interface unit and includes a display unit and an operation unit. The display unit is a display device such as a liquid crystal display. The display unit may be a flexible display. The operation unit is an input device such as a touch panel or a keyboard. The UI unit16may be a user interface that also serves as a display unit and an operation unit (including, for example, a touch type display, a device that electronically displays a keyboard or the like on a display). Further, the UI unit16may include a sound collecting unit such as a microphone and a sound generating unit such as a speaker. In this case, information may be input to the terminal device10by voice input or may be issued by voice.

A memory18is a storage device such as a hard disk or a memory (for example, SSD, etc.). The memory18stores, for example, various data, various programs (for example, OS (Operating System), various application programs (application software), etc.), information indicating addresses of other terminal devices10(terminal address information), information indicating an address of the server12(server address information), and the like. They may be stored in separate storage devices or may be stored in one storage device. For example, when an SNS application program for utilizing the SNS offered by the server12is stored in the memory18and the SNS application program is executed, the SNS can be used. In addition, information transmitted and/or received by the terminal device10using the SNS may be stored in the memory18.

A detection unit20has a function of detecting an operation of a user. The operation by the user is, for example, gesture motion, voice or the like of the user. The gesture motion may include, for example, finger movement, hand movement, arm movement, neck movement, foot movement, eyeball movement, eyelid movement, upper body movement, lower body movement, whole body movement, expression change, mouth movement and the like of the user. For example, the detection unit20uses a sensor to detect the user's operation. As the sensor, for example, a sensor for detecting physical contact with the display unit of the UI unit16is used. As such a sensor, for example, a pressure sensor for detecting a pressure on the display unit, a capacitance sensor for detecting a change in capacitance, a temperature sensor for detecting a change in temperature due to contact, a humidity sensor for detecting a change in humidity are used. A camera may be also used as the sensor. The camera may be used to detect physical contact with the display unit or the operation by the user not physically contacting the display unit. When a flexible display is used as the display unit, a pressure sensor, an acceleration sensor, a gyroscope sensor or the like is used as the sensor, and the detection unit20may detect a change in bending of the flexible display, a change in pressure, a change in capacitance, a change in optical characteristics, temperature, humidity, acceleration, direction, etc. In addition, the operation of the user may be detected by an external sensor installed in a location or a device other than the terminal device10. In this case, information indicating a result of the detection is transmitted from the sensor to the terminal device10, and a controller22receives the information. When the external sensor is used, the terminal device10may not have a sensor. Further, a sound collecting device such as a microphone may be used as the sensor, and the detection unit20may detect the user's voice.

The controller22has a function of controlling the operation of each unit of the terminal device10. For example, the controller22executes various programs, controls communication by the communication unit14, controls information notification (for example, display and voice output) using the UI unit16, receives information input by using the UI unit16, etc. For example, when the controller22executes the SNS application program, it becomes possible to use the SNS offered by the server12. Further, the controller22includes a display controller24.

The display controller24has a function of controlling display of various kinds of information. For example, when the SNS is used, the display controller24causes the display unit of the UI unit16to display the information (character strings, images, etc.) transmitted or received using the SNS. Voice information transmitted or received using the SNS may be output from a speaker or the like. When the user performs an operation for changing the current conversation partner in the SNS to another conversation partner and the detection unit20detects the operation, the display controller24changes a screen displayed on the display unit to a screen for making a conversation with the other conversation partner. The process by the display controller24will be described in detail later.

Hereinafter, the configuration of the server12will be described in detail with reference toFIG. 3.FIG. 3illustrates the configuration of the server12.

A communication unit26is a communication interface and has a function of transmitting data to other devices and a function of receiving data from other devices. The communication unit26may be either a communication interface having a wireless communication function or a communication interface having a wired communication function.

A memory28is a storage device such as a hard disk or a memory (for example, SSD, etc.). For example, various kinds of data, various kinds of programs, terminal address information of the terminal device10, server address information of the server12, and the like are stored in the memory28. They may be stored in separate storage devices as well or may be stored in one storage device. For example, information transmitted by the terminal device10using the SNS may be stored in the memory28.

A controller30controls the operation of each unit of the server12. For example, the controller30controls communication by the communication unit26. Further, the controller30includes a service provision unit32.

The service provision unit32has a function of providing an SNS to the terminal device10. For example, the service provision unit32transmits information (e.g., character strings, images, sound information, etc.), which is sent from the terminal device10to the server12using the SNS, to another terminal device10using the SNS. Further, the service provision unit32has a function of controlling conversation (information exchange) on a conversation group basis. Specifically, the service provision unit32controls information exchange among terminal devices10of plural users who log in to the same conversation group. That is, the service provision unit32transmits information, which is transmitted from a terminal device10of a user who is logging in to a certain conversation group to the server12, to a terminal device10of another user who is logging in to the same conversation group. For example, for each conversation group, the service provision unit32manages conversation group identification information for identifying the conversation group, identification information for identifying a user who is logging in to the conversation group or a terminal device10(for example, user identification information such as a user account, terminal identification information, etc.) in association with each other. The service provision unit32refers to the managed information to specify a user who is logging in to each conversation group or a terminal device10, and controls information exchange among the plural terminal devices10.

The information exchange using the SNS may be performed via the server12or may be performed without going through the server12among the plural terminal devices10directly (without going through another device) or indirectly (via another device).

Hereinafter, the operation of the terminal device10will be described in detail with a specific example.

For example, it is assumed that users A, B and C belong to conversation group1, users A, D and E belong to conversation group2, and a conversation is made using an SNS for both conversation groups1and2. For example, it is also assumed that the users A, B and C log in to the conversation group1to exchange messages, and the users A, D and E log in to the conversation group2to exchange messages.

Each user uses the SNS by using his/her own terminal device10. The same terminal device10may also be shared by plural users when it is possible to switch user accounts on the same terminal device10or when it is possible to distinguish between users to exchange information on the same terminal device10.

In the following description, for the convenience of explanation, a terminal device10used by the user A will be referred to as a “terminal device10A”, a terminal device10used by the user B will be referred to as a “terminal device10B”, a terminal device10used by the user C will be referred to as a “terminal device10C”, a terminal device10used by the user D will be referred to as a “terminal device10D”, and a terminal device10used by the user E will be referred to as a “terminal device10E”.

For example, a certain user may transmit information to other users so that a conversation group may be formed by these users, or a new user may join or be invited to an already formed conversation group to thereby add the new user to the conversation group. In addition, a conversation group may be formed in advance. These conversation groups are managed by the service provision unit32of the server12.

For example, the users A, B and C use their own terminal devices10to activate an SNS application program, and log in to the conversation group1formed by the SNS provided by the service provision unit32. In order to log in, information for identifying a user (for example, a user ID or a name) or authentication information (for example, a password or biometric information of a user) may be used. When the user A instructs transmission of a message to the conversation group1, the terminal device10A transmits the message to the server12. The service provision unit32of the server12receives the message transmitted from the terminal device10A, and transmits the message to the terminal device10B of the user B and the terminal device10C of the user C. The terminal address information of each of the terminal devices10B and10C may be sent from the terminal device10A to the server12or may be stored in advance in the server12. The service provision unit32identifies the terminal devices10B and10C using the terminal address information and transmits the message from the user A to the terminal devices10B and10C. The display controller24of the terminal device10B causes the display unit of the UI unit16to display the message from the terminal device10A. The same process is performed also in the terminal device10C.

The service provision unit32may transmit to the terminal devices10B and10C an acknowledgement message indicating that a message has been sent from the user A. In this case, the display controller24of the terminal device10B causes the display unit to display the acknowledgement message. When the user B uses the UI unit16to instruct acquisition of the message from the user A, the terminal device10B transmits a request for acquisition of the message to the server12. In response to the acquisition request, the service provision unit32transmits the message from the user A to the terminal device10B. The display controller24of the terminal device10B causes the display unit to display the message. The same process is performed also in the terminal device10C.

When the user B does not log in to the conversation group1or when the SNS application is not activated on the terminal device10B, the display controller24of the terminal device10B may cause the display unit to display the acknowledgement message. For example, the display controller24causes the display unit to display an image (for example, an icon) representing the SNS application program and display the acknowledgement message (for example, the number of messages not acquired or read by the user B) in association with the image. When the user B logs in to the conversation group1or when the SNS application program is activated in the terminal device10B, the terminal device10B transmits to the server12a request to acquire the message of the user A. In response to the acquisition request, the service provision unit32transmits the message to the terminal device10B. The display controller24of the terminal device10B causes the display unit to display the message. The same process as above is also performed when the user C does not log in to the conversation group1or when the SNS application program is not activated on the terminal device10C.

Even when the users B and C transmit a message, the same process as in the case where the user A transmits the message is executed. The same process is executed for the conversation group2. Each user may log in to a conversation group later or may log out from the conversation group on the way.

A screen displayed on the terminal device10when using the SNS will be described with reference toFIG. 4.FIG. 4illustrates an example of a screen displayed on the terminal device10A used by the user A. The display controller24of the terminal device10A causes the display unit of the UI unit16to display a screen34and causes the screen34to display various kinds of information. The screen34is an interface (conversation screen) for making a conversation with another user (speaker). Information (for example, character strings, images, etc.) input by each user is displayed on the screen34. The conversation between plural users may be a so-called chatting-type conversation (that is, a real-time conversation, in further other words, a form of conversation between users while remarking). For example, when the SNS application program is executed by the controller22of the terminal device10A, the display controller24causes the display unit of the UI unit16to display the screen34for making a conversation using the SNS. When the SNS application program is executed, it may be possible to use the Internet telephone function, etc. in addition to the chatting function.

The screen34is a screen on which the conversation contents between the users A, B and C logging in to the conversation group1are displayed. The conversation group1being displayed is a current conversation partner (conversation group) for the user A, and the users B and C are current speakers for the user A.

The display controller24displays an image36associated with the user A, an image38associated with the user B, and an image40associated with the user C on the screen34. The image36is an image for identifying the user A, the image38is an image for identifying the user B, and the image40is an image for identifying the user C. Instead of the image36or in addition to the image36, a character string (for example, a character string for identifying the user, such as a name, a user ID, a handle name, a nickname, etc.) indicating the user A may be displayed. The same applies to the images38and40. The image36associated with the user A is displayed in an area allocated to a user who uses the terminal device10A in the screen34, and the image38associated with the user B and the image40associated with the user C are displayed in an area allocated to other users in the screen34.

Thereafter, a conversation is made between the users A, B and C. Each user may operate the UI unit16of the terminal device10of his/her own to input the remark contents with a character string, an image, voice or the like. In addition, the remark contents of each user may be output as voice. According to an instruction of a user, the input remark contents are transmitted to the terminal device10of another user. The remark contents are displayed in time series according to the date and time of transmission. When the conversation progresses on the screen34, the screen34is scrolled such that the past remark contents which cannot be displayed on the screen34disappear from the screen34and the latest remark contents or the most recent remark contents are displayed on the screen34.

A remark content42is a remark content (for example, a message) transmitted by the user B using the terminal device10B. The remark content42is transmitted from the terminal device10B to the server12and is transmitted from the server12to the terminal devices10A and10C that belong to the conversation group1by the service provision unit32. The remark content42may also be transmitted from the terminal device10B to the terminal devices10A and10C without going through the server12. The remark content42is displayed on the screen34in association with the image38of the user B. The remark content42is also displayed on the terminal devices10B and10C as the remark content of the user B. A remark content44is a remark content transmitted by the user A using the terminal device10A and is displayed on the screen34in association with the image36of the user A. The remark content44is also displayed on the terminal devices10B and10C as the remark content of the user A. A remark content46is a remark content transmitted by the user C using the terminal device10C and is displayed on the screen34in association with the image40of the user C. The remark content46is also displayed on the terminal devices10B and10C as the remark content of the user C. A remark content48is a remark content transmitted by the user A. In the example illustrated inFIG. 4, the remark contents42,44,46and48are transmitted in this order. The remark contents42,44,46and48are displayed in time series according to the date and time of the transmission. The same also applies to the following remark contents.

In addition, information indicating a time at which each remark content is transmitted (for example, hour and minute or date and time) may be displayed on the screen34. For example, a character string indicating a date (for example, today's date, November 2) is displayed on the screen34. A remark content displayed below the display position of the character string indicating the date is a remark content transmitted after that date. A remark content displayed above the display position is a remark content transmitted before that date. For example, the remark content42is transmitted by the user B at 16:00 on November 2, and information indicating the time is associated with the remark content42. Similarly, information indicating the time is displayed for other remark contents. Information indicating hour and minute or date and time may not be displayed as well.

In addition, read and unread of a remark content may be managed. Here, a read message and an unread message will be described. The read message is a remark content read by another user and the unread message is a remark content not read by another user. For example, when a message (remark content) transmitted by the user A to the conversation group1is read by another user (for example, the user B or the user C), read information indicating that the message has been read is transmitted from the terminal device10of a user who reads the message to the terminal device10A. For example, when the SNS application program is executed on the terminal device10of another user and a message of the user A is displayed on a screen (for example, a screen corresponding to the screen34) for conversation, the message is treated as being read by another user. In this case, the read information is transmitted from the terminal device10of another user to the terminal device10A. When another user designates a message of the user A on his/her own terminal device10, when another user designates and displays the message on another window (another screen), or when another user gives an instruction to transmit the read information, the read information may be transmitted from the terminal device10of the other user to the terminal device10A. As another example, when an acknowledgement message indicating that the message of the user A has been transmitted is displayed on the display unit of the terminal device10of another user and when the other user gives an instruction to display the message of the user A or the message is actually displayed, the read information may be transmitted from the terminal device10of the other user to the terminal device10A.

When the read information is transmitted from another terminal device10to the terminal device10A, the display controller24of the terminal device10A displays the read information (a character string, an image, etc.) on the display unit in association with the message. In the example illustrated inFIG. 4, the remark content44(message) of the user A has been read by another user and the read information (for example, a character string “read”) is displayed in association with the remark content44. For example, the read information is displayed in the vicinity of the remark content44. When the remark content44is read by all the other users, the read information may be displayed in association with the remark content44. Alternatively, when the remark content44is read by at least one of the other users, the read information may be displayed in association with the remark content44.

The remark content with which the read information is associated corresponds to the read message, and the message with which the read information is not associated corresponds to the unread message. Since the read information (for example, the character string “read”) is not displayed in association with the remark content48of the user A, the remark content48corresponds to the unread message.

The display controller24may display the unread information indicating that the message has not been read by another user on the screen34in association with the unread message. For example, the unread information may be displayed in association with the remark content48. Also, both the read information and the unread information may be displayed, or one of the read information and the unread information may be displayed.

In the example illustrated inFIG. 4, the read information is displayed as a character string in association with the remark content. Alternatively, the read information may be expressed by a method other than the method using a character string. For example, the display controller24may apply different expression modes to a read message and an unread message. Specifically, the display controller24may (i) express a character string included in the unread message using a specific font, (ii) express the character string in a specific color, (iii) express the character string in boldface, (iv) decorate a display frame of the unread message, or (v) highlight the unread message. This allows the read message and the unread message to be distinguished from each other. In the example illustrated inFIG. 4, since the remark content44is the read message and the remark content48is the unread message, the display controller24applies the different expression modes to the remark content44and the remark content48. Also, the display controller24does not have to apply the above process to the unread message while applying the above process to the read message. Further, the display controller24may execute the above process while displaying the read information and the unread information.

The concept of the read message and the unread message is not limited to the above-described concept. For example, when the user A reads a message transmitted by another user, the message may be treated as the read message. When the user A does not read the message transmitted by another user, the message may be treated as the unread message. For example, when a message transmitted by the user B to the conversation group1is not read by the user A, the message corresponds to the unread message for the user A. When the user A designates the message of the user B on the terminal device10A, when the user A designates the message and displays the message on another window (another screen), or when the user A gives an instruction to transmit the read information, the controller22of the terminal device10A determines that the message has been read by the user A. As another example, when an acknowledgement message indicating that the message of the user B has been transmitted is displayed on the display unit of the terminal device10A and when the user A gives an instruction to display the message of the user B or the message is actually displayed, the controller22may determine that the message has been read by the user A. Further, when the message of the user B is displayed on the screen34, the controller22may determines that the message has been read by the user A. In such a case, the read information is transmitted from the terminal device10A to the terminal device10B.

When the controller22of the terminal device10A determines that the message of another user has been read by the user A, the display controller24of the terminal device10A displays the read information on the screen34in association with the message. For example, when it is determined that the remark content42of the user B has been read by the user A, the display controller24displays the read information (for example, the character string “read”) on the screen34in association with the remark content42. The display controller24may display the unread information (for example, the character string “unread”) on the screen34in association with the unread message while displaying or not displaying the read information on the screen34in association with the read message. In addition, the display controller24may apply the different expression modes to the read message and the unread message so that the read message and the unread message can be distinguished from each other.

While the read information or the unread information about the message of the user A is being displayed on screen34, the read information or the unread information about a message of another user may be displayed on screen34. The read information and the unread information may not be displayed.

As described above, when the conversation contents of the conversation group1is displayed on the screen34, the user A performs an operation for changing the current conversation group to another conversation group to which the user A is logging in. When the operation is detected by the detection unit20, the display controller24of the terminal device10A changes the screen34to a screen for making a conversation with the other conversation group. For example, when the user A performs an operation of moving the screen34in a direction indicated by an arrow50(for example, when the user A performs a flick operation), the display controller24changes the screen34to a screen for making a conversation with another conversation group. When the user performs the flick operation in the upward direction, the downward direction, the leftward direction or the rightward direction, the display controller24may change the screen34. The operation for changing the conversation group may be a gesture motion other than the flick operation, voice input, or a combination of gesture motion and voice.

Hereinafter, a screen for making a conversation with another conversation group will be described with reference toFIG. 5.FIG. 5illustrates an example of the screen. A screen52is a screen on which the conversation contents between the users A, D and E being logging in to the conversation group2are displayed. The conversation group2being displayed is the current conversation partner (conversation group) for the user A, and the users D and E are the current speakers for the user A.

The display controller24displays the image36associated with the user A, an image54associated with the user D, and an image56associated with the user E on the screen52. The image54is an image for identifying the user D, and the image56is an image for identifying the user E. Like the screen34, instead of or in addition to the user's image, a character string indicating the user may be displayed. Like the screen34, information indicating a time at which each remark content is transmitted (for example, hour and minute or date and time) may be displayed on the screen52. In the example illustrated inFIG. 5, a character string indicating a date (for example, yesterday's date, November 1) is displayed on the screen52. A remark content displayed below the display position of the character string of that date is a remark content transmitted after the date. A remark content displayed above the display position is a remark content transmitted before the date. For example, a remark content58is transmitted by the user D at 21:00 on November 1, and information indicating the time is displayed in association with the remark content58. Similarly, information indicating the time is displayed for other remark contents. In addition, the read information or the unread information may be displayed, or display modes of an unread message and a read message may be different from each other so that the unread message and the read message can be distinguished from each other. In the example illustrated inFIG. 5, the read information is displayed in association with the remark content of the user A and the remark contents of other users. The image36associated with the user A is displayed in an area allocated to a user using the terminal device10A in the screen52. The image54associated with the user D and the image56associated with the user E are displayed in an area allocated to other users in the screen52.

Thereafter, a conversation is made between the users A, D and E. The remark content of each user is transmitted from the terminal device10of his/her own to the terminal device10of another user who is logging in to the conversation group2and displayed. For example, the remark content58of the user D is displayed on the screen52in association with the image54of the user D, a remark content60of the user A is displayed on the screen52in association with the image36of the user A, a remark content62of the user E is displayed on the screen52in association with the image56of the user E, and a remark content64of the user A is displayed on the screen52in association with the image36. Like the screen34, each remark content is displayed in time series according to the date and time of transmission.

As described above, according to the first exemplary embodiment, it is possible to change a screen for making a conversation with a conversation partner by a simple operation (for example, gesture motion or voice). In the above example, it is possible to change a conversation group by changing the screen of the conversation group1to the screen of the conversation group2by a simple operation.

As a comparative example to the first exemplary embodiment, it is conceivable that a screen for selecting a conversation partner (for example, a selection screen for displaying a list of conversation groups) is displayed and, when changing a conversation partner, a user selects a conversation partner on the selection screen. In this case, it is considered that the screen34for making a conversation with the conversation group1is changed to the screen52for making a conversation with the conversation group2according to the following procedure. First, when the screen34is displayed, the user operates the UI unit16to give an instruction to display the selection screen of the conversation partner. In response to the display instruction, the selection screen is displayed instead of the screen34. When the user selects the conversation group2as another conversation partner on the selection screen, the screen52is displayed instead of the selection screen. In this manner, in the comparative example, work and a process such as instructing to display a selection screen, displaying the selection screen and selecting the conversation group2on the selection screen occur. On the other hand, according to the first exemplary embodiment, it is possible to change a conversation partner and a screen without executing such work or a process.

As another comparative example, it is conceivable to display a pop-up message of another conversation group and switch a conversation partner to the other conversation group when a user selects that message. Even in this case, a process and work of displaying and selecting the pop-up message occur. According to the present exemplary embodiment, it is possible to change a screen with a conversation partner without executing such a process or work.

In addition, a list defining the display order of conversation groups may be prepared in advance and the display controller24may change a screen according to the display order. For example, when the display order is defined in the order of conversation groups1,2and3, the display controller24changes the screen in the order of conversation groups1,2and3according to the screen changing operation. When the changing operation is performed while the screen of the conversation group3is being displayed, the display controller24changes the screen of the conversation group3to the screen of the conversation group1. The display order may be defined by the user or may be defined according to the order of conversation group to which the user has logged in.

Hereinafter, modifications of the first exemplary embodiment will be described.

In a first modification, the display controller24enlarges or reduces a screen being displayed according to an operation of a user. For example, as illustrated inFIG. 6, when the screen34is displayed, the user performs an operation of enlarging the screen34(for example, a pinch-out operation) as indicated by an arrow66. When the operation is detected, the display controller24enlarges the screen34. In addition, when the user performs an operation of pinching the screen34(for example, a pinch-in operation) and the operation is detected, the display controller24reduces the screen34. The enlarging operation and the reducing operation may be, for example, predefined and their definitions may be changed by the user. The screen may be enlarged or reduced by operations other than the pinch-out operation or the pinch-in operation.

When the enlarging operation or the reducing operation is performed on the screen34being displayed, the display controller24may enlarge or reduce a screen (for example, the screen52) for making a conversation with another conversation group not being displayed, in response to the enlarging operation or the reducing operation. That is, the display controller24synchronizes the enlargement or reduction of the screen between the screen of the conversation group being displayed and the screen of the conversation group not being displayed. The enlargement rate (enlargement amount) or reduction rate (reduction amount) of the screen52not being displayed may be the same as or different from the enlargement rate (enlargement amount) or reduction rate (reduction amount) of the screen34being displayed. This setting may be performed by the user. When an operation for changing a conversation group is detected, the display controller24changes the screen (for example, the screen34) currently being displayed to a screen for making a conversation with another conversation group (a screen in which the enlargement or reduction is reflected) (for example, the screen52). By doing this, even when the enlarging operation or the reducing operation is not performed on the changed screen, an enlarged or reduced screen is displayed, thereby saving the time taken for the enlarging operation or the reducing operation by the user.

When the enlarging operation or the reducing operation is performed on the screen being displayed, the display controller24may enlarge or reduce only the screen being displayed but not enlarge or reduce the screen for making a conversation with another conversation group not being displayed in response to the enlarging operation or the reducing operation. Interlock control (synchronous control) or non-interlock control (asynchronous control) may be set by the user.

A second modification will be described with reference toFIGS. 7 and 8. In the second modification, the display controller24causes the display unit to display information (character strings, images, etc.) that cannot be displayed on a screen being displayed, by scrolling the screen according to the operation of the user. For example, as illustrated inFIG. 7, when the screen34is displayed, the user A performs an operation of scrolling the screen34as indicated by an arrow68. When the operation is detected, the display controller24scrolls the screen34in a direction indicated by the arrow68.

When the scroll operation is performed on the screen being displayed, the display controller24may scroll a screen for making a conversation with another conversation group not being displayed in response to the scroll operation. That is, the display controller24synchronizes the screen scrolling between the screen of the conversation group being displayed and the screen of the conversation group not being displayed. A screen52for making a conversation with another conversation group is illustrated inFIG. 8. Although the screen52is not displayed on the display unit, the display controller24scrolls the screen52in a direction indicated by an arrow70(in the same direction as the direction indicated by the arrow68) in response to the scroll operation on the screen34. The scroll amount of the screen52being not displayed may be the same as or different from the scroll amount of the screen34being displayed. This setting may be performed by the user. When an operation for changing a conversation group is detected, the display controller24changes the screen (for example, the screen34) currently being displayed to a screen for making a conversation with another conversation group (a screen in which the scroll is reflected) (for example, the screen52). By doing so, since the scrolled screen is displayed without performing the scroll operation on the changed screen, it is possible to save the time for the scrolling operation by the user.

When the scroll operation is performed on the screen being displayed, the display controller24may scroll only the screen being displayed but may not scroll the screen for making a conversation with another conversation group being not displayed in response to the scroll operation. Interlock control (synchronous control) or non-interlock control (asynchronous control) may be set by the user.

When the scroll operation is performed on the screen being displayed, the display controller24may scroll the screen for making a conversation with another conversation group being not displayed to a position at which an unread message is displayed.

For example, in the case where the scroll operation is performed on the screen34being displayed, if there is an unread message in the conversation group2being not displayed, the display controller24scrolls the non-displayed screen52of the conversation group2to a position at which the unread message is displayed. For example, the display controller24scrolls the screen52so that the unread message is displayed at a specific position (for example, the center position, the top position, the bottom position, etc.) of the screen52.FIG. 9illustrates an example of the scrolled screen52. For example, when a remark content72transmitted by the user A today (November 2) is in an unread state, the display controller24scrolls the screen52such that the remark content72is displayed at the center position of the screen52. Also, the display controller24may scroll the screen52such that the remark content72is displayed at the top or bottom of the screen52. The remark content displayed below the display position of a character string indicating today's date (November 2) is a remark content transmitted after November 2, and the remark content displayed above the display position is a remark content transmitted before November 2. When there are plural unread messages, the display controller24may scroll the screen52to a position at which an unread message transmitted at the oldest date and time is displayed, or may scroll the screen52to a position at which an unread message transmitted at the latest date and time is displayed.

When an operation for changing a conversation group is detected, the display controller24changes a screen (for example, the screen34) currently being displayed to a screen for making a conversation with another conversation group (a screen in which the scroll to the display position of the unread message is reflected) (for example, the screen52). By doing so, the unread message is displayed without performing the scroll operation on the changed screen, thereby reducing the time taken for the scroll operation by the user. In the example illustrated inFIG. 9, the remark content72is displayed after the screen is changed.

In the case where the scroll operation is performed on the screen34being displayed, if there is an unread message not read by the user A in the conversation group2not being displayed, the display controller24scrolls the non-displayed screen52of the conversation group2to a position at which the unread message is displayed. In this way, when the screen34being displayed is changed to the screen52, the unread message (a message not read by the user A) is displayed without performing the scroll operation on the changed screen52, thereby reducing the time taken for the scroll operation by the user.

Further, when there is an unread message in the conversation group1being displayed, according to the scroll operation on the screen34being displayed, the display controller24may scroll the screen34to a position at which the unread message is displayed.

In a third modification, when an operation for changing the current conversation group to another conversation group is detected, the display controller24preferentially changes the screen of the conversation group that is currently being displayed to a screen for making a conversation with another active conversation group. The active conversation group is, for example, a conversation group to which another user is logging in, a conversation group in which the elapsed time from the transmission and reception of the last message is within a predetermined time, etc. For example, when the user A logs in to plural conversation groups and is making a conversation with the plural conversation groups, according to the screen changing operation, the display controller24changes the screen of the conversation group currently being displayed to a screen for making a conversation with the active conversation group.

On the other hand, the display controller24may exclude inactive conversation groups (conversation groups other than the above-described active conversation group) from the display target. When the changing operation is performed plural times, the display controller24may display on the display unit a screen for making a conversation with an inactive conversation group.

It is assumed that a user is more likely to make a conversation with an active conversation group than an inactive conversation group. Therefore, according to the third modification, a screen of a conversation group with which a user can make a conversation is preferentially displayed.

In a fourth modification, the display controller24changes a screen according to a priority based on the number of login users who are logging in to each conversation group. The controller22determines the priority of each conversation group based on the number of users (speakers) who are logging in to each conversation group. For example, a conversation group having the larger number of users who are logging in has a higher priority. As a specific example, it is assumed that the user A has logged in to conversation groups4,5and6. It is also assumed that four users including the user A have logged in to the conversation group4, five users including the user A have logged in to the conversation group5, and six users including the user A have logged in to the conversation group6. In this case, the conversation group6has the first priority, the conversation group5has the second priority, the conversation group4has the third priority, and the screen is changed in the order of conversation groups6,5and4. For example, when a screen changing operation is detected while the screen of the conversation group4is being displayed, the display controller24changes the screen of the conversation group4to a screen for making a conversation with the conversation group6having the first priority. When a screen changing operation is detected while the screen of the conversation group6is being displayed, the display controller24changes the screen of the conversation group6to a screen for making a conversation with the conversation group5having the second priority. When a screen changing operation is detected while the screen of the conversation group5is being displayed, the display controller24changes the screen of the conversation group5to a screen for making a conversation with the conversation group4having the third priority. The same process is performed thereafter.

According to the fourth modification, the user can change a screen by a simple operation according to the number of users who are logging in.

The priority may be changed according to an operation. For example, when a first operation (for example, a flick operation in the right direction on a screen) is detected, the display controller24changes the screen according to the above-described priority. When a second operation (for example, a flick operation in the left direction on the screen) is detected, the display controller24changes the screen according to a priority reverse to the above-described priority. By doing this, the priority can be changed by a simple operation. The first operation and the second operation may be predetermined or may be changed by the user.

When a specific changing operation (for example, a flick operation in the upward direction on the screen) is detected, the controller22may specify another conversation group to which the user A is logging in and which has the largest number of users who are logging in, and the display controller24may change the screen currently being displayed to a screen for making a conversation with the specified conversation group. When a changing operation other than the specific changing operation is detected, the display controller24changes the screen according to the above-described priority. By doing this, the user may make a conversation with the conversation group having the largest number of users who are logging in, by a simple operation. The specific changing operation may be predetermined or may be changed by the user.

The third and fourth modifications may be used in combination. For example, when there are plural active conversation groups, the controller22determines priorities according to the third modification for the plural active conversation groups, and the display controller24changes the screen according to the determined priorities.

In a fifth modification, the display controller24changes a screen according to a priority based on the date and time of transmission of the latest remark content (message) in each conversation group. The controller22specifies the date and time at which the latest remark content has been transmitted (that is, the transmission date and time of the last message) for each conversation group, and determines the priority of each conversation group based on the transmission date and time of the latest remark content of each conversation group. For example, a conversation group with the transmission date and time of the latest remark content closer to the current date and time has a higher priority. As a specific example, it is assumed that the user A has logged in to conversation groups4,5and6. It is also assumed that the transmission date and time of the latest remark content in the conversation group4is “10:00 on Oct. 30, 2017”, the transmission date and time of the latest remark content in the conversation group5is “10:30 on Oct. 30, 2017”, and the transmission date and time of the latest remark content in the conversation group6is “11:00 on Oct. 30, 2017”. In this case, the conversation group6has the first priority, the conversation group5has the second priority, the conversation group4has the third priority, and the screen is changed in the order of conversation groups6,5and4. That is, the screen is changed in the same order as described in the fourth modification.

According to the fifth modification, the user can change the screen by a simple operation according to the input date and time of remark content.

As in the fourth modification, the priority may be changed according to an operation. In addition, when a specific changing operation is detected, the controller22may specify a conversation group to which the user A is logging in and to which the latest remark content has been input (that is, a conversation group with the transmission date and time of the last remark content closest to the current date and time), and the display controller24may change the screen currently being displayed to a screen for making a conversation with the specified conversation group. When a changing operation other than the specific changing operation is detected, the display controller24changes the screen according to the above-described priority. By doing this, the user may make a conversation with the conversation group to which the latest remark content has been input, by a simple operation.

The third and fifth modifications may be used in combination. For example, when there are plural active conversation groups, the controller22determines priorities according to the fifth modification for the plural active conversation groups, and the display controller24changes the screen according to the determined priorities.

Further, the fourth and fifth modifications may be used in combination. That is, the controller22may determine a priority based on the number of users who are logging in and the transmission date and time of the latest remark content. In this case, the controller22may apply a weighting process to the priority based on the number of login users or the transmission date and time. The third to fifth modifications may be used in combination.

In a sixth modification, the display controller24changes a screen according to a priority based on the number of unread messages in each conversation group. In the terminal device10A used by the user A, the unread message may be a message of the user A not read by another user, or a message of another user not read by the user A, or both of them. The controller22manages the number of unread messages for each conversation group in which the user A is logging in, and determines the priority of each conversation group based on the number of unread messages in each conversation group. For example, a conversation group having the larger number of unread messages has a higher priority. As a specific example, it is assumed that the user A has logged in to conversation groups4,5and6. It is also assumed that the number of unread messages in the conversation group4is “4”, the number of unread messages in the conversation group5is “5”, and the number of unread messages in the conversation group6is “6”. In this case, the conversation group6has the first priority, the conversation group5has the second priority, the conversation group4has the third priority, and the screen is changed in the order of conversation groups6,5and4. That is, the screen is changed in the same order as described in the fourth modification.

According to the sixth modification, the user can change the screen by a simple operation according to the number of unread messages.

As in the fourth modification, the priority may be changed according to an operation. In addition, when a specific changing operation is detected, the controller22may specify a conversation group to which the user A is logging in and which has the largest number of unread messages as a conversation group to which the user A is logging in, and the display controller24may change the screen currently being displayed to a screen for making a conversation with the specified conversation group. When a changing operation other than the specific changing operation is detected, the display controller24changes the screen according to the above-described priority. By doing this, the user may make a conversation with the conversation group having the largest number of unread messages by a simple operation. In addition, a conversation group with the smaller number of unread messages may have a higher priority. This setting may be performed by the user.

The third and sixth modifications may be used in combination. For example, when there are plural active conversation groups, the controller22determines priorities according to the sixth modification for the plural active conversation groups, and the display controller24changes the screen according to the determined priorities.

Further, the fourth and sixth modifications may be used in combination. That is, the controller22may determine a priority based on the number of users who are logging in and the number of unread messages. In this case, the controller22may apply a weighting process to the priority based on the number of users or the number of unread messages. The third, fourth and sixth modifications may be used in combination.

Further, the fifth and sixth modifications may be used in combination. That is, the controller22may determine a priority based on the transmission date and time of the latest message and the number of unread messages In this case, the controller22may apply a weighting process to the priority based on the transmission date and time of the latest message or the number of unread messages. The third, fifth and sixth modifications may be used in combination, or the third, fourth, fifth and sixth modifications may be used in combination.

In addition, when the priority is not determined by the above-described priority determining method, the controller22may determine the priority based on the past display history of each conversation group. For example, if the transmission date and time of the latest message and the number of unread messages are the same in plural conversation groups, the priorities of the plural conversation groups cannot be determined depending on these conditions. In this case, the controller22determines the priority based on the display history of each conversation group. For example, the controller22assigns a higher priority to a conversation group having a longer period (non-display period) in which a conversation content is not displayed. If the priority cannot be determined also by the non-display period, the controller22may determine the priority based on the names of the conversation groups. For example, the controller22determines the priority in Japanese syllabary order or alphabetical order.

In a seventh modification, when an operation for changing the current conversation group to another conversation group is detected, the controller22specifies another conversation group to which one or plural users who log in to the current conversation group log in, and the display controller24changes the screen currently being displayed to a screen for making a conversation with the other conversation group. In the absence of such another conversation group, the display controller24changes the screen according to a predetermined display order.

A specific example will be described below. For example, it is assumed that the user A has logged in to the conversation groups1,2and3and the conversation group1is the current conversation group. In this case, the screen34illustrated inFIG. 4is displayed on the terminal device10A of the user A. In this state, when the user A performs an operation to change a conversation group, the controller22specifies another conversation group to which the user A logs in and to which at least one of the users B and C logs in. As described above, the users A, B and C have logged in to the conversation group1and the users A, D and E have logged in to the conversation group2. It is assumed that the users A, B and D have logged in to the conversation group3. In this case, the controller22specifies the conversation group3to which the user B logs in, as another conversation group, and the display controller24changes the screen34to a screen for making a conversation with the conversation group3. When an operation for changing a screen is detected while the screen for making a conversation with the conversation group3is being displayed, the display controller24changes the screen for making a conversation with the conversation group3to the screen52for making a conversation with the conversation group2.

According to the seventh modification, the user may make a conversation with another conversation group to which a user logged in to the current conversation group is logging in, by a simple operation.

Further, the controller22may determine the priority based on the number of common users who are logging in, and the display controller24may change the screen according to the determined priority. For example, a conversation group having the larger number of common users who are logging in has a higher priority. A specific example will be described below. It is assumed that the user A has logged in to conversation groups1,7and8. It is also assumed that the users A, B and C have logged in to the conversation group1, the users A, B and D have logged in to the conversation group7, and the users A, B, C and E has logged in to the conversation group8. In this case, except for the user A, the number of common users between the conversation group1and the conversation group7is “1” (the user B is the common user), and the number of common users between the conversation group1and the conversation group8is “2” (the users B and C are the common users). Therefore, the conversation group8has the first priority, the conversation group7has the second priority, and the display controller24changes the screen in the order of conversation groups8and7. That is, in the above example, the screen is changed in the order of conversation groups1,8and7.

As in the fourth modification, the priority may be changed according to an operation. When a specific changing operation is detected, the controller22may specify a conversation group to which the user A is logging in and which has the largest number of common users, and the display controller24may change the screen currently being displayed to a screen for making a conversation with the specified conversation group. When a changing operation other than the specific changing operation is detected, the display controller24changes the screen according to the above-described priority. By doing this, the user may make a conversation with the conversation group having the largest number of common users by a simple operation.

At least one of the third to sixth modifications and the seventh modification may be used in combination.

In an eighth modification, the controller22specifies a conversation group with which the user A has made a conversation most recently, and the display controller24changes the screen currently being displayed to a screen for making a conversation with the specified conversation group. By doing this, a user may make a conversation with the latest conversation group by a simple operation.

In a ninth modification, the controller22performs duplication and transfer (copy & paste) of a remark content among plural conversation groups. The remark content may be a remark content transmitted by a user or may be a remark content transmitted by another user.

The ninth modification will be described in detail below with reference toFIGS. 10 and 11.FIG. 10illustrates the screen34of the conversation group1andFIG. 11illustrates the screen52of the conversation group2. For example, when the user A designates the remark content42of the user B on the screen34of the conversation group1being displayed and performs an operation of copying it to another conversation group not being displayed, the controller22copies the remark content42and pastes it on the screen of the other conversation group (for example, the screen52of the conversation group2) not being displayed, as the remark content of the user A. The copying operation is, for example, an operation of sliding the remark content42in a direction indicated by an arrow74. When the user A slides the remark content to be copied to the outside of the screen34, the remark content may be pasted on the screen of another conversation group. In the screen52illustrated inFIG. 11, the copied remark content42is added as a remark content76of the user A. The remark content76is transmitted to the terminal devices10of the users D and E who are logging in to the conversation group2. The remark content76may be transmitted to the terminal devices10of the users D and E at the timing when the copying operation is performed. Alternatively, the remark content76may be transmitted to the terminal devices10of the users D and E at the timing when an operation of changing the screen34to the screen52is detected.

When an operation for changing a conversation group is detected, the display controller24changes the screen (for example, the screen34) currently being displayed to a screen for making a conversation with another conversation group (for example, the screen52on which the copied & pasted remark content is displayed).

According to the ninth modification, it is possible to copy and paste remark contents among plural conversation groups by a simple operation.

When the user A stops the copying operation within the screen34of the copy source (for example, when the user A stops touching the screen34), the controller22does not copy.

In a tenth modification, the controller22adds a user logged in to a certain conversation group to another conversation group. For example, the controller22adds a user included in a conversation group being displayed to a conversation group not being displayed.

The tenth modification will be described in detail below with reference toFIGS. 12 and 13.FIG. 12illustrates the screen34of the conversation group1andFIG. 13illustrates the screen52of the conversation group2. For example, when the user A designates the image38associated with the user B on the screen34of the conversation group1being displayed and performs an operation of adding it to another conversation group not being displayed, the controller22adds the user B to the other conversation group (for example, the conversation group2) not being displayed. The adding operation is, for example, an operation of sliding the image38in a direction indicated by an arrow78. When the user A slides the user image to be added to the outside of the screen34, the user to be added may be added to another conversation group. The image38associated with the user B is displayed on the screen52illustrated inFIG. 13, whereby the user B is added to the conversation group2. That is, the user B has logged in to the conversation group2.

When an operation for changing a conversation group is detected, the display controller24changes the screen (for example, the screen34) currently being displayed to a screen for making a conversation with another conversation group (for example, the screen52of the conversation group2to which the user B is added).

According to the tenth modification, it is possible to add a user logged in to a certain conversation group to another conversation group by a simple operation.

When the user A stops the adding operation within the screen34of the addition source (for example, when the user A stops touching the screen34or places an image of a user to be added in a specific display area within the screen34), the controller22does not add a user.

In the tenth modification, when an approval of a user who is logging in to a conversation group to which another user is to be added is obtained, the other user may be added to the conversation group. On the other hand, when the approval is not obtained, the other user need not be added to the conversation group. For example, when the user A performs an operation of adding the user B who is logging in to the conversation group1to the conversation group2, the terminal device10A transmits an approval request to the terminal device10D of the user D and the terminal device10E of the user E. In this case, as illustrated inFIG. 14, an approval screen80is displayed on the UI units16of the terminal devices10D and10E, and a message82asking whether or not to approve the participation of the user B is displayed on the approval screen80. When the user D approves the participation of the user B (for example, when the user D presses a “Yes” button on the approval screen80), the terminal device10D transmits information indicating the approval to the terminal devices10A and10B. When the user D does not approve the participation of the user B (for example, when the user D presses a “No” button on the approval screen80), the terminal device10D transmits information indicating no approval to the terminal devices10A and10B. The same applies to the user E.

When an approval is obtained by all users (for example, the users D and E), the user B is added to the conversation group2. Otherwise, the user B will not be added to the conversation group2. As another example, when an approval is obtained by a predetermined number of users or more, or when an approval is obtained by a specific user (for example, a user having approval authority), the user B may be added to the conversation group2.

By requiring an approval as described above, it is possible to reflect the intention of a user who is logging in to a conversation group to which the user is to be added.

In addition, when the user B to be added accepts the participation, the user B is added to the conversation group2. On the other hand, when the user B does not accept the participation, the user B need not be added to the conversation group2. For example, the terminal device10A transmits a participation request to the terminal device10B of the user B. In this case, as illustrated inFIG. 15, an invitation screen84is displayed on the UI unit16of the terminal device10B, and a message86indicating that the user B is requested to participate in the conversation group2is displayed on the invitation screen84. When the user B wishes to participate in the conversation group2(for example, when the user B presses a “Yes” button on the invitation screen84), the terminal device10B transmits information indicating the participation to the terminal device10A. On the other hand, when the user B does not wish to participate in the conversation group2(for example, when the user B presses a “No” button on the invitation screen84), the terminal device10B transmits information indicating no participation to the terminal device10A.

When the user B wishes to participate in the conversation group2, the user B is added to the conversation group2. When the user B does not wish to participate in the conversation group2, the user B is not added to the conversation group2. By doing this, it is possible to reflect the intention of a user to be added.

Further, when an approval of users (for example, the users D and E) who are logging in to a conversation group of an addition destination is obtained and a user to be added (for example, the user B) wishes to participate in the conversation group, the user to be added may be added to the conversation group.

In an eleventh modification, the controller22changes a conversation group to be changed according to the mode of an operation of a user. The operation mode is determined based on at least one of, for example, the direction of the operation, the speed of the operation or the number of times the operation is performed.

The eleventh modification will be described in detail below with reference toFIG. 16.FIG. 16illustrates the screen34of the conversation group1. Flick operations in respective directions are associated with other conversation groups to which the user A is logging in. The correspondence relationship between the respective flick operations and the conversation groups is shown below.

One flick operation in the direction indicated by an arrow88(the right direction of the screen34): conversation group2

One flick operation in the direction indicated by an arrow90(the left direction of screen34): conversation group3

One flick operation in the direction indicated by an arrow92(the upward direction of screen34): conversation group4

One flick operation in the direction indicated by an arrow94(the diagonal upward to right direction of the screen34): conversation group5

One flick operation in the direction indicated by an arrow96(the diagonal upward to left direction of the screen34): conversation group6

One flick operation in the direction indicated by an arrow98(the diagonal downward to left direction of the screen34): conversation group7

One flick operation in the direction indicated by an arrow100(the diagonal downward to right direction of the screen34): conversation group8

One flick operation in the direction indicated by an arrow102(the downward direction of the screen34): conversation group9

Two consecutive flick operations in the direction indicated by an arrow104(the right direction of the screen34): conversation group10

One quick flick operation in the direction indicated by an arrow106(the right direction of the screen34): conversation group11

Each flick operation will be described in more detail. The flick operation indicated by the arrow102from the arrow88is one flick operation within a predetermined normal speed range. The flick operation indicated by the arrow104is two consecutive flick operations within the normal speed range. For example, when a time interval between two flick operations is within a predetermined time, it is detected that two flick operations are performed consecutively. The flick operation indicated by the arrow106is one flick operation faster than the above normal speed range.

For example, when one flick operation within the normal speed range is performed and detected in the direction indicated by the arrow88, the display controller24displays the screen52of the conversation group2, instead of the screen34of the conversation group1, on the display unit. When two flick operations within the normal speed range are successively performed and detected in the direction indicated by the arrow104, the display controller24displays a screen of the conversation group10, instead of the screen34of the conversation group1, on the display unit. When one flick operation faster than the normal speed range is performed and detected in the direction indicated by the arrow106, the display controller24displays a screen of the conversation group11, instead of the screen34of the conversation group1, on the display unit. Even when a flick operation in a different direction is detected, the screen being displayed is changed to a screen for making a conversation with a conversation group associated with the flick operation.

On the screen after the change, the conversation group1before the change is associated with the flick operation in the direction associated with the conversation group after the change. For example, when the flick operation indicated by the arrow88is performed on the screen34, the screen52of the conversation group2is displayed instead of the screen34. In this case, the conversation group1is associated with the one flick operation in the direction indicated by the arrow88. When the flick operation indicated by the arrow88is performed on the screen52, the screen34of the conversation group1is displayed instead of the screen52. Also, an operation and a conversation group may be associated with each screen for each conversation group.

The above correspondence is merely an example, a different correspondence may be made, or the correspondence may be made by a user. For example, the direction of the operation, the speed of the operation, the number of times the operation is performed may be set by the user and an operation mode and a conversation group may be associated by the user.

According to the eleventh modification, since it is possible to change a conversation group depending on an operation mode, it is possible to change the conversation group by a simple operation.

The above-described flick operation is merely an example of an operation for changing a conversation group, and the conversation group may be changed by an operation (gesture motion or voice) other than the flick operation. In addition, the conversation group may be associated with a combination of user's gesture motion and voice.

In the eleventh modification, the display controller24may display information indicating the correspondence relationship between an operation mode and a conversation group on the display unit. For example, it is assumed that the user A has logged in to the conversation groups1,2,3and4and the current conversation group is the conversation group1. In this case, as illustrated inFIG. 17, the display controller24displays the screen34of the conversation group1on the display unit. As in the example illustrated inFIG. 4, the display controller24displays on the screen34an image associated with each user who is logging in to the conversation group1and a conversation content, and further displays information indicating the other conversation groups2,3and4on the screen34. For example, it is assumed that the conversation group2is associated with the right direction of the screen34, the conversation group3is associated with the left direction of the screen34, and the conversation group4is associated with the upward direction of the screen34. In this case, the display controller24displays information108indicating the conversation group2on the right side of the screen34, information110indicating the conversation group3on the left side of the screen34, and information112indicating the conversation group4on the upper side of the screen34. The information indicating the conversation group is, for example, a character string or an image indicating a conversation group. When the user A performs a flick operation in the right direction on the screen34and the flick operation is detected, the display controller24displays the screen52of the conversation group2, instead of the screen34, on the display unit. By displaying the information indicating the correspondence relationship between an operation mode (for example, the operation direction) and a conversation group, the user is provided with visual information indicating which conversation group the user may make a conversation with when performing an operation.

The information108or the like indicating the conversation group may be displayed on the screen34all the time or may be displayed according to an instruction from the user. For example, when the user performs a specific operation and the specific operation is detected, the display controller24may display on the screen34the information108or the like indicating the conversation group within a predetermined time or until another operation is detected. The specific operation is, for example, an operation (press and hold operation) of pressing for a predetermined time or more a portion of the screen34on which an image or conversation content associated with the user is not displayed, or the like. Also, another operation may be defined as the specific operation. Further, the information108or the like may be displayed in a translucent state during displaying.

FIG. 18illustrates another example of the information indicating the correspondence relationship. In this example, the display controller24displays a map image114on the screen34of the conversation group1. The map image114is an image indicating the correspondence relationship between an operation direction and a conversation group. A numerical value displayed in the map image114indicates the number of the conversation group, and the display position of the numerical value indicates an operation direction with which the conversation group is associated. For example, a numerical value “2” indicates the conversation group2. Since the numerical value “2” is displayed at the right side position in the map image114, the conversation group2is associated with an operation in the right direction. Therefore, when the user A performs an operation (for example, a flick operation) in the right direction on the screen34and the operation is detected, the display controller24displays the screen52of the conversation group2, instead of the screen34, on the display unit. By displaying such a map image114, the user is provided with visual information indicating which conversation group the user may make a conversation with when performing an operation.

As in the example illustrated inFIG. 17, the map image114may be displayed on the screen34all the time or may be displayed according to an instruction from the user. For example, when a specific operation by the user is detected, the display controller24may display the map image114on the screen34. In addition, when the screen34is changed to the screen of another conversation group while the map image114is being displayed or when another user is moved to another conversation group while the map image114is being displayed, the display controller24may not display the map image114. By doing this, since the map image114is not displayed when the operation of the user is completed, it is possible to avoid a situation where it is hard for the user to see a remark content due to display of the map image114. Also, the display controller24may display the map image114until the user gives a non-display instruction. Further, the map image114may be displayed in a translucent state during displaying.

FIG. 19illustrates still another example of the information indicating the correspondence relationship. In the example illustrated inFIG. 19, the display controller24displays images116to130indicating the correspondence relationship between the operation direction and the conversation group on the edges of the screen34. A numerical value displayed in each image indicates the number of a conversation group, and the display position of the image indicates the operation direction with which the conversation group is associated. For example, a numerical value “2” indicates the conversation group2. Since the image116representing the numerical value “2” is displayed on the right edge of the screen34, the conversation group2is associated with an operation in the right direction. Therefore, when the user A performs an operation (for example, a flick operation) in the right direction on the screen34and the operation is detected, the display controller24displays the screen52of the conversation group2, instead of the screen34, on the display unit. In this manner, by displaying an image indicating a conversation group on an edge of the screen, it becomes hard for the image to be superimposed on a remark content, so that the remark content becomes hard to be obstructed by the image. Also, the display controller24may grasp the position and size of the display content and arrange the image indicating the conversation group in the screen34so as to avoid the image associated with the user and the displayed portion of the remark content of each user. At that time, the display controller24may realize the above arrangement by reducing the image associated with the user or the remark content of each user. Alternatively, the display controller24may reduce the image indicating the correspondence relationship between the operation direction and the conversation group and may display it on the screen34. By doing so, it is possible to display the image without degrading the visibility of the image indicating the correspondence relationship between the operation direction and the conversation group. Similarly to the map image114illustrated inFIG. 18, when the screen34is changed to the screen of another conversation group or when another user is moved to another conversation group, the display controller24may not display the images116to130. Also, the display controller24may display the images116to130until the user gives a non-display instruction. In addition, the images116to130may be displayed in a translucent state during displaying. By doing so, even when the images116to130overlap with the display portion of the image associated with the user or the remark content of each user, it is possible to prevent the visibility of each image and the remark content from being degraded.

Second Exemplary Embodiment

Hereinafter, an information processing system according to a second exemplary embodiment will be described. The information processing system according to the second exemplary embodiment has the same configuration as the information processing system according to the first exemplary embodiment. A server12according to the second exemplary embodiment has the same configuration as the server12according to the first exemplary embodiment, and has a function of providing an SNS as in the first exemplary embodiment. A terminal device10according to the second exemplary embodiment has the same configuration as the terminal device10according to the first exemplary embodiment, but the function of a display controller24according to the second exemplary embodiment is different from the function of the display controller24according to the first exemplary embodiment. Hereinafter, the process of the display controller24according to the second exemplary embodiment will be mainly described in detail.

In the second exemplary embodiment, similarly to the first exemplary embodiment, when an SNS is used, the display controller24displays information (a character string, an image, etc.) transmitted or received using the SNS, on the display unit of the UI unit16. In the second exemplary embodiment, when a user has logged in to plural conversation groups, the display controller24displays conversation contents of the plural conversation groups on the same screen.

Hereinafter, the operation of the terminal device10according to the second exemplary embodiment will be described in detail by way of a specific example.

For example, it is assumed that users A, B and C belong to conversation group1, users A, D and E belong to conversation group2, and a conversation is made using an SNS for both conversation groups1and2. For example, it is also assumed that the users A, B and C log in to the conversation group1to exchange messages, and the users A, D and E log in to the conversation group2to exchange messages.

A screen displayed on the terminal device10when using the SNS will be described below with reference toFIG. 20.FIG. 20illustrates an example of a screen displayed on the terminal device10A used by the user A. The display controller24of the terminal device10A displays a screen132on the display unit of the UI unit16and displays various kinds of information on the screen132. The screen132is an interface (conversation screen) for making a conversation with another user (speaker). Information (for example, a character string, an image, etc.) input by each user is displayed on the screen132. The conversation between plural users may be a so-called chatting-type conversation (that is, a real-time conversation, in further other words, a form of conversation between users while remarking). For example, when the SNS application program is executed by the controller22of the terminal device10A, the display controller24displays a screen for making a conversation using the SNS on the display unit of the UI unit16. When the SNS application program is executed, it may be possible to use the Internet telephone function, etc. in addition to the chatting function.

For example, it is assumed that the user A has logged in to the conversation groups1and2. In this case, the display controller24displays the conversation contents of the conversation group1and the conversation contents of the conversation group2on the same screen132. For example, the display controller24sets display areas136and138in the lateral direction (on the left and right) within the screen132with a virtual line134as a boundary, displays the conversation contents of the conversation group1in the display area136, and displays the conversation contents of the conversation group2in the display area138. The conversation contents between the users A, B and C logged in the conversation group1are displayed in the display area136. The conversation contents between the users A, D and E logged in the conversation group2are displayed in the display area138. When the user A has logged in to two conversation groups, the virtual line134is set, for example, at the center in the lateral direction of the screen132. Also, the display controller24may control the size of each display area by changing the position of the virtual line134according to the length of a remark content (for example, a message) in each conversation group. For example, the display controller24may change the position of the virtual line134so that the display area of a conversation group having a longer remark content is wider than the display area of a conversation group having a shorter remark content. Further, the display controller24may change the position of the virtual line134according to the amount of the remark content. The display controller24may change the position of the virtual line134according to the operation of the user. The display controller24may or may not display the virtual line134on the screen132.

In the example illustrated inFIG. 20, the conversation contents of the two conversation groups are displayed on the same screen132, but the conversation contents of three or more conversation groups may be displayed on the same screen132. For example, when the user A has logged in to three or more conversation groups, the conversation contents of the three or more conversation groups are displayed on the same screen132. Also, when the user A has logged in to one conversation group (for example, the conversation group1), the conversation contents of the one conversation group (for example, the conversation group1) are displayed as illustrated inFIG. 4.

For example, when the user A has logged in to one conversation group (for example, the conversation group1), the display controller24displays the screen34for making a conversation with the conversation group1on the display unit, as illustrated inFIG. 4. In this situation, when the user A further logs in to another conversation group (for example, the conversation group2), the display controller24widens the screen for making a conversation, for example, and displays the conversation contents of the conversation groups1and2on the screen132.

As another example, when the user A has logged in to one conversation group (for example, the conversation group1), the display controller24uses the screen in a vertically long state, as illustrated inFIG. 4, to display the conversation contents of the conversation group1on the vertically long screen. When the user A further logs in to another conversation group (for example, the conversation group2), the display controller24changes the screen from the vertically long state to a laterally long state and displays the conversation contents of the conversation groups1and2on the laterally long screen132. In the example illustrated inFIG. 20, the conversation contents of the conversation groups1and2are displayed on the laterally long screen132.

Further, as the conversation contents of more conversation groups are displayed, the display controller24may reduce each conversation contents (a character string, an image, etc.) and display it on the screen.

Hereinafter, the information displayed in each display area will be described in detail.

The display controller24displays an image140associated with the user A, an image142associated with the user B, and an image144associated with the user C in the display area136assigned to the conversation group1. The image140is an image for identifying the user A, the image142is an image for identifying the user B, and the image144is an image for identifying the user C. Instead of the image140or in addition to the image140, a character string indicating the user A (for example, a character string for identifying the user A, such as a name, a user ID, a handle name, a nickname, etc.) may be displayed. The same applies to the images142and144. The image140associated with the user A is displayed in an area allocated to the user A who uses the terminal device10A in the display area136, and the image142associated with the user B and the image144associated with the user C are displayed in an area allocated to other users in the display area136.

Thereafter, a conversation is made between the users A, B and C. Each user may operate the UI unit16of the terminal device10of his/her own to input the remark contents with a character string, an image, voice or the like. In addition, the remark contents of each user may be output as voice. The remark contents are displayed in time series according to the date and time of transmission. When the conversation progresses on the display area136, the display area136is scrolled such that the past remark contents which cannot be displayed on the display area136disappear from the display area136and the latest remark contents or the most recent remark contents are displayed on the display area136.

A remark content146is a remark content (for example, a message) transmitted by the user B using the terminal device10B and is displayed in the display area136in association with the image142of the user B. The remark content146is also displayed as the remark content of the user B on the terminal devices10B and10C. A remark content148is a remark content transmitted by the user A using the terminal device10A and is displayed in the display area136in association with the image140of the user A. The remark content148is also displayed as the remark content of the user A on the terminal devices10B and10C. A remark content150is a remark content transmitted by the user C using the terminal device10C and is displayed in the display area136in association with the image144of the user C. The remark content150is also displayed as the remark content of the user C on the terminal devices10B and10C. A remark content152is a remark content transmitted by the user A. In the example illustrated inFIG. 20, the remark contents146,148,150and152are transmitted in this order, and the remark contents146,148,150and152are displayed in time series according to the date and time of transmission. The same also applies to the following remark contents.

In addition, as in the first exemplary embodiment, information indicating the time at which each remark content has been transmitted (for example, the timing or the date and time) may be displayed in the display area136. For example, a character string indicating a date (for example, today's date, November 2) is displayed in the display area136. A remark content displayed below the display position of the character string indicating the date is a remark content transmitted after that date. A remark content displayed above the display position is a remark content transmitted before that date. Information indicating hour and minute or date and time may not be displayed as well.

In addition, as in the first exemplary embodiment, read and unread of a remark content may be managed. The definition of a read message and an unread message is the same as the definition according to the first exemplary embodiment.

Further, the display controller24displays the image140associated with the user A, an image154associated with the user D, and an image156associated with the user E in the display area138allocated to the conversation group2. The image154is an image for identifying the user D, and the image156is an image for identifying the user E. Similarly to the display area136, a character string indicating a user may be displayed instead of or in addition to the user's image. The image140associated with the user A is displayed in an area allocated to the user A who uses the terminal device10A in the display area138, and the image154associated with the user D and the image156associated with the user E are displayed in an area allocated to other users in the display area138.

Thereafter, a conversation is made between the users A, D and E. The remark content of each user is transmitted from the terminal device10of his/her own to the terminal device10of another user who is logging in to the conversation group2and displayed. For example, a remark content158of the user D is displayed in the display area138in association with the image154of the user D, a remark content160of the user A is displayed in the display area138in association with the image140of the user A, a remark content162of the user E is displayed in the display area138in association with the image156of the user E, and a remark content164of the user A is displayed in the display area138in association with the image140of the user A. Similarly to the display area136, each remark content is displayed in time series according to the date and time of transmission.

In addition, similarly to the display area136, information indicating the time at which each remark content has been transmitted (for example, the timing or the date and time) may be displayed in the display area138. For example, a character string indicating a date (for example, yesterday's date, November 1) is displayed in the display area138. A remark content displayed below the display position of the character string indicating the date is a remark content transmitted after that date. A remark content displayed above the display position is a remark content transmitted before that date. Information indicating hour and minute or date and time may not be displayed as well.

In addition, similarly to the conversation group1, for the conversation group2, read and unread of a remark content may be managed.

The user A can send a remark content to the conversation groups1and2on the screen132. That is, it is in a state where it is possible to transmit the remark content to the conversation groups1and2. For example, the user A uses the UI unit16to select a conversation group of a transmission destination and input the remark content. Accordingly, the remark content is transmitted to the conversation group of the transmission destination. For example, when the user A designates the display area136and inputs the remark content, the remark content is transmitted to the conversation group1. The designation of the display area is performed, for example, by a touch operation on the display area or by voice. The user A may designate a conversation group to which the remark content is to be transmitted after inputting the remark content. For example, the user A may designate a conversation group of a transmission destination by an operation such as a flick operation. Also in this case, the remark content is transmitted to the conversation group of the transmission destination.

As described above, according to the second exemplary embodiment, it is possible to display plural conversation groups on the same screen for conversation. For example, it is possible to display plural conversation groups for conversation without expanding the display area, increasing the number of display units, or using plural screens.

Hereinafter, modifications of the second exemplary embodiment will be described.

In a twelfth modification, the display controller24displays a conversation content of an active conversation group on the display unit and does not display a conversation content of an inactive conversation group on the display unit. When there are plural active conversation groups, the display controller24displays the conversation contents of the plural conversation groups on the same screen.

The active conversation group is, for example, a conversation group to which another user is logging in, a conversation group in which the elapsed time from the transmission and reception of the last message is within a predetermined time, etc.

For example, when the user A has logged in to the conversation groups1and2and the conversation groups1and2correspond to the active conversation group, the display controller24displays the conversation contents of the conversation groups1and2on the same screen132, as illustrated inFIG. 20.

The display controller24excludes inactive conversation groups (conversation groups other than the above-described active conversation group) from the display target. When a specific operation by the user (an operation indicating a display instruction of a conversation content of an inactive conversation group) is detected, the display controller24may display the conversation content of the inactive conversation group on the display unit. In this case, the display controller24may display both the conversation content of the active conversation group and the conversation content of the inactive conversation group on the same screen, or may display the conversation content of the inactive conversation group on the display unit without displaying the conversation content of the active conversation group on the display unit.

It is assumed that a user is more likely to make a conversation with an active conversation group than an inactive conversation group. Therefore, according to the twelfth modification, a conversation group with which a user can make a conversation is preferentially displayed.

In a thirteenth modification, the display controller24controls the display of each remark content so that a user who issues a remark content included in a conversation content of a conversation group is identifiable. For example, the display controller24displays remark contents color-coded for different users. Hereinafter, the thirteenth modification will be described in detail with reference toFIG. 21.FIG. 21illustrates a screen132.

Here, the conversation group1will be described. As in the example illustrated inFIG. 20, the display controller24displays a remark content166of the user B, remark contents168and172of the user A, and a remark content170of the user C in the display area136. At this time, the display controller24makes the display colors of the remark contents of the users different from each other.

Further, the display controller24may display a character string (for example, a character string “conversation group1”) for identifying the conversation group1in the display area136. In the example illustrated inFIG. 21, the character string “Conversation group1” is displayed in the upper portion of the display area136.

In addition, the display controller24may display information of users who are logging in to the conversation group1collectively in the display area136. In the example illustrated inFIG. 21, as the information of the users, images174,176and178associated with the users are collectively displayed in the upper portion of the display area136. The image174is an image associated with the user A, the image176is an image associated with the user B, and the image178is an image associated with the user C. The display color of each image corresponds to the display color of the remark content of each user. For example, the display color of the image174associated with the user A is the same as the display color of the remark contents168and172of the user A. The display color of the image176associated with the user B is the same as the display color of the remark content166of the user B. The display color of the image178associated with the user C is the same as the display color of the remark content170of the user C. By doing this, it becomes easy to visually understand whom a remark content is for.

In the case of displaying color-coded remark contents, the images140,142and144associated with the users need not be displayed. This is because, even if the images140,142and144are not displayed, it is possible to identify whom each remark content is for.

The display controller24may make the display shapes of the respective remark contents different from each other by color-coding the remark contents or without color-coding. Accordingly, the display controller24may make the display shapes of the images174,176and178associated with the users different from each other. For example, the display controller24displays the images and the remark contents in the display area136with the same image associated with the same user and the same display shape of the remark content.

In the example illustrated inFIG. 21, the above process is applied only to the conversation group1, but the above process may also be applied to the conversation group2.

In a fourteenth modification, the display controller24arranges remark contents (for example, messages) included in the conversation content of the same conversation group on the same straight line and displays the remark contents in a display area allocated to the conversation group. Hereinafter, the fourteenth modification will be described in detail with reference toFIG. 21.

Here, the conversation group1will be described. The display controller24sets a virtual straight line180along a time-series direction in the display area136and arranges the remark contents166,168,170and172on the straight line180. For example, the display controller24places the remark contents so that the central portion of each remark content is arranged on the straight line180. Accordingly, the remark contents are line-symmetrical with respect to the straight line180as an axis of symmetry (bilaterally symmetrical). By doing this, as illustrated inFIG. 20, it is possible to secure more space in the display area136than a case where the remark contents of the users are bilaterally divided within the display area136. In other words, by arranging the remark contents in a stuffed state along the straight line180, it is possible to secure more space than a case where the remark contents are arranged in a distributed manner. For example, a space (a space denoted by reference numeral182) corresponding to a distance between a virtual line134defining the display areas136and138and the image140associated with the user A displayed at the position closest to the virtual line134can be secured. Further, as described in the thirteenth modification, when the images140,142and144associated with the users are not displayed, a space (a space denoted by reference numeral184) corresponding to a distance between the virtual line134and the remark content172displayed at the position closest to the virtual line134can be secured. The display areas of other conversation groups may be increased by the space. For example, the display area136of the conversation group1may be narrowed by the space, and the display area138of the conversation group2may be widened by the space.

According to the fourteenth modification, it is possible to effectively utilize a finite display area.

The above-described layout is merely an example, and another layout may be adopted. For example, the display controller24may move the remark contents arranged on the straight line180to one edge (for example, a left edge of the screen132) within the display area136, or may align one ends of the display areas on a straight line.

In the example illustrated inFIG. 21, the above process is applied only to the conversation group1, but the above process may also be applied to the conversation group2.

In addition, the display controller24may arrange respective remark contents in a conversation group whose longest remark content is shortest among the plural conversation groups, on the same straight line and display the arranged remark contents on the display area. For example, the display controller24compares the longest remark content (for example, a message with the largest number of characters) in the conversation group1with the longest remark content in the conversation group2. When the longest remark content in the conversation group1is shorter (for example, smaller in terms of the number of characters) than the longest remark content in the conversation group2, the display controller24arranges the remark contents in the conversation group1on the same straight line. By doing this, it is possible to secure more space. Also, the display controller24may apply the process according to the fourteenth modification to all the conversation groups.

In a fifteenth modification, in response to a change in a display area of a conversation content of a certain conversation group included in plural conversation groups, the display controller24changes a display area of a conversation content of another conversation group. For example, in response to a user's operation (for example, an enlargement operation or a reduction operation) on a display area of a certain conversation group, the display controller24enlarges or reduces a display area of another conversation group. Hereinafter, the fifteenth modification will be described in detail with reference toFIG. 22.FIG. 22illustrates a screen132.

For example, while the screen132is being displayed, when the user performs an operation (for example, a pinch-out operation) of enlarging the display area136of the conversation group1, as indicated by an arrow186, and the operation is detected, the display controller24enlarges the display area136. Along with this, a remark content displayed in the display area136and an image associated with the user are enlarged and displayed. Further, in response to the operation of enlarging the display area136, the display controller24reduces the display area138of the conversation group2by the enlargement. Along with this, a remark content displayed in the display area138and an image associated with the user are reduced and displayed. The display controller24displays the enlarged conversation content of the conversation group1and the reduced conversation content of the conversation group2on the same screen132. In addition, when the user performs an operation (for example, a pinch-in operation) to pinch the display area136and the operation is detected, the display controller24reduces the display area136and, in response thereto, enlarges the display area138of the conversation group2.

According to the fifteenth modification, it is possible to enlarge or reduce the conversation contents of some conversation groups in a limited display area.

Further, the display controller24may enlarge a display area of a conversation group to which the user A inputs a remark content and, in response thereto, may reduce a display area of another conversation group. For example, when the user A is inputting a remark content for the conversation group1, the display controller24enlarges the display area136of the conversation group1and reduces the display area138of the conversation group2. When the transmission of the remark content is completed, the display controller24returns the size of the display area136to the size before the enlargement and returns the size of the display area138to the size before the reduction. Further, when the user A is inputting the remark content for the conversation group1, the display controller24may display the display area136on the entire screen132without displaying the display area138on the screen132. That is, the display area136is fully displayed on the screen132. When the transmission of the remark content is completed, the display controller24returns the sizes of the display areas136and138to their original sizes. The same applies to a case where a remark content for the conversation group2is input.

Also, when the enlargement operation or the reduction operation is performed on the screen132, the display controller24may enlarge or reduce the entire area of the screen132. This setting may be performed by the user.

In a sixteenth modification, the display controller24scrolls a display area according to a user's operation so that information (a character string, an image, etc.) that cannot be displayed in the display area can be displayed on the display unit. At this time, the display controller24synchronizes the scroll of the conversation contents among plural conversation groups. That is, when the scroll operation is performed on a display area of a conversation group, the display controller24scrolls the display area of the conversation group and further scrolls a display area of another conversation group displayed on the same screen. Hereinafter, the sixteenth modification will be described in detail with reference toFIG. 23.

FIG. 23illustrates a screen132. For example, when the user A performs an operation of scrolling the display area136of the conversation group1, as indicated by an arrow188, and the operation is detected, the display controller24scrolls the display area136in a direction indicated by an arrow188. Further, the display controller24scrolls the display area138of the conversation group2, as indicated by an arrow190, in the same direction as the direction indicated by the arrow188. By doing so, a display area on which the scroll operation is not actually performed is also scrolled, thereby saving the time of the scroll operation by the user.

The scroll amount in the display area136on which the scroll operation is actually performed may be the same as or different from the scroll amount in the display area138on which the scroll operation is not performed. This setting may be performed by the user.

Also, the display controller24may scroll the display area136on which the scroll operation has actually been performed but may not scroll the display area138on which the scroll operation has not been performed, in response to the scroll operation. The interlock control (synchronous control) or non-interlock control (asynchronous control) may be set by the user.

In the case where the scrolling operation is performed, when there is an unread message, the display controller24may scroll the display area to the display position of the unread message. Hereinafter, this process will be described with reference toFIG. 24.FIG. 24illustrates a screen132.

For example, in a case where a scroll operation is performed on the display area136of the conversation group1, when there is an unread message in the conversation group1, the display controller24scrolls the display area136to the display position of the unread message. For example, the display controller24scrolls the display area136so that the unread message is displayed at a specific position (for example, the center position, the top position, the bottom position, or the like) of the display area136.FIG. 24illustrates the scrolled display area136. For example, when a remark content192of the user A in the conversation group1is in an unread state, the display controller24scrolls the display area136so that the remark content192is displayed at a specific position in the display area136. When there are plural unread messages, the display controller24may scroll the display area136to the display position of an unread message transmitted at the oldest date and time, or may scroll the display area136to the display position of an unread message transmitted at the latest date and time.

When there is an unread message in the conversation group2on which the scroll operation has not been performed, the display controller24may scroll the display area138of the conversation group2to the display position of the unread message.FIG. 24illustrates the scrolled display area138. For example, when a remark content194of the user A in the conversation group2is in an unread state, the display controller24scrolls the display area138so that the remark content194is displayed at a specific position in the display area138. The process when there are plural unread messages is the same as the above process for the display area136.

As described above, by scrolling a display area to the display position of an unread message, it is possible to save the time taken for the user to search for an unread message. In addition, by scrolling a display area on which no scrolling operation has been performed to the display position of an unread message, the time of the scroll operation by the user can be saved.

In a seventeenth modification, the controller22performs duplication and transfer (copy & paste) of a remark content among plural conversation groups. The remark content may be a remark content transmitted by a user or may be a remark content transmitted by another user.

The seventeenth modification will be described in detail below with reference toFIG. 25.FIG. 25illustrates a screen132. For example, when the user A designates the remark content146of the user B on the display area136of the conversation group1and performs an operation of copying it to the conversation group2, the controller22copies the remark content146and pastes it on the display area138of the conversation group2as the remark content of the user A. The copying operation is, for example, an operation of sliding the remark content146in a direction indicated by an arrow196. When the user A slides the remark content146to be copied to the display area138of the conversation group2of the copy destination, the controller22may paste the remark content146in the display area138. In the example illustrated inFIG. 25, the copied remark content146is displayed as the remark content198of the user A in the display area138. The remark content198is transmitted to the terminal devices10of the users D and E who are logging in to the conversation group2. The remark content198may be transmitted to the terminal devices10of the users D and E at the timing when the copying operation is performed. Alternatively, the remark content198may be transmitted to the terminal devices10of the users D and E when the user A gives a transmission instruction.

According to the seventeenth modification, it is possible to copy and paste remark contents among plural conversation groups by a simple operation.

When the user A stops the copying operation within the display area136of the copy source (for example, when the user A stops touching the display area136), the controller22does not copy.

In an eighteenth modification, the controller22adds a user logged in to a certain conversation group to another conversation group.

The eighteenth modification will be described in detail below with reference toFIG. 26.FIG. 26illustrates a screen132. For example, when the user A designates the image142associated with the user B on the display area136of the conversation group1and performs an operation of adding it to the conversation group2, the controller22adds the user B to the conversation group2. The adding operation is, for example, an operation of sliding the image142in a direction indicated by an arrow200. When the user A slides the image142of the user B to be added to the display area138of the conversation group2of the addition destination, the controller22may add the user B to the conversation group2. In the example illustrated inFIG. 26, the image142associated with the user B is displayed within the display area138of the conversation group2, whereby the user B is added to the conversation group2. That is, the user B has logged in to the conversation group2.

According to the eighteenth modification, it is possible to add a user logged in to a certain conversation group to another conversation group by a simple operation.

When the user A stops the adding operation within the display area136of the addition source (for example, when the user A stops touching the display area136or places an image of a user to be added in a specific display area within the display area136), the controller22does not add a user.

In the eighteenth modification, when an approval of a user who is logging in to a conversation group to which another user is to be added is obtained, the other user may be added to the conversation group. On the other hand, when the approval is not obtained, the other user need not be added to the conversation group. For example, when the user A performs an operation of adding the user B who is logging in to the conversation group1to the conversation group2, the terminal device10A transmits an approval request to the terminal device10D of the user D and the terminal device10E of the user E. In this case, as in the first exemplary embodiment, an approval screen (for example, the approval screen80illustrated inFIG. 14) is displayed on the UI units16of the terminal devices10D and10E, and a message asking whether or not to approve the participation of the user B is displayed on the approval screen. When the user D approves the participation of the user B (for example, when the user D presses a “Yes” button on the approval screen), the terminal device10D transmits information indicating the approval to the terminal devices10A and10B. When the user D does not approve the participation of the user B (for example, when the user D presses a “No” button on the approval screen), the terminal device10D transmits information indicating no approval to the terminal devices10A and10B. The same applies to the user E.

When an approval is obtained by all users (for example, the users D and E), the user B is added to the conversation group2. Otherwise, the user B will not be added to the conversation group2. As another example, when an approval is obtained by a predetermined number of users, or when an approval is obtained by a specific user (for example, a user having approval authority), the user B may be added to the conversation group2.

By requiring an approval as described above, it is possible to reflect the intention of a user who is logging in to a conversation group to which the user is to be added.

In addition, when the user B to be added accepts the participation, the user B is added to the conversation group2. On the other hand, when the user B does not accept the participation, the user B need not be added to the conversation group2. For example, the terminal device10A transmits a participation request to the terminal device10B of the user B. In this case, as in the first exemplary embodiment, an invitation screen (for example, the invitation screen84illustrated inFIG. 15) is displayed on the UI unit16of the terminal device10B, and a message indicating that the user B is requested to participate in the conversation group2is displayed on the invitation screen. When the user B wishes to participate in the conversation group2(for example, when the user B presses a “Yes” button on the invitation screen), the terminal device10B transmits information indicating the participation to the terminal device10A. On the other hand, when the user B does not wish to participate in the conversation group2(for example, when the user B presses a “No” button on the invitation screen), the terminal device10B transmits information indicating no participation to the terminal device10A.

When the user B wishes to participate in the conversation group2, the user B is added to the conversation group2. When the user B does not wish to participate in the conversation group2, the user B is not added to the conversation group2. By doing this, it is possible to reflect the intention of a user to be added.

Further, when an approval of users (for example, the users D and E) who are logging in to a conversation group of an addition destination is obtained and a user to be added (for example, the user B) wishes to participate in the conversation group, the user to be added may be added to the conversation group.

In a nineteenth modification, the display controller24displays the conversation contents of plural conversation groups on the same screen in a state of being arranged in the vertical direction. Hereinafter, the nineteenth modification will be described in detail with reference toFIG. 27.FIG. 27illustrates a screen132.

The display controller24displays the conversation contents of the conversation groups1and2on the screen132in a state where the conversation contents are aligned in a vertical direction of the screen132. For example, the display controller24sets display areas204and206in the vertical direction within the screen132with a virtual line202as a boundary, displays the conversation contents of the conversation group1in the display area204, and displays the conversation contents of the conversation group2in the display area206. The conversation contents between the users A, B and C logged in the conversation group1are displayed in the display area204. The conversation contents between the users A, D and E logged in the conversation group2are displayed in the display area206. When the user A has logged in to two conversation groups, the virtual line202is set, for example, at the center in the vertical direction of the screen132. Also, the display controller24may control the size of each display area by changing the position of the virtual line202according to the length of a remark content in each conversation group. For example, the display controller24may change the position of the virtual line202so that the display area of a conversation group having a longer remark content is wider than the display area of a conversation group having a shorter remark content. Further, the display controller24may change the position of the virtual line202according to the amount of the remark content. For example, the display controller24may change the position of the virtual line202so that the display area of a conversation group with more remark contents is wider than the display area of a conversation group with fewer remark contents. The display controller24may change the position of the virtual line202according to the operation of the user. The display controller24may or may not display the virtual line202on the screen132.

In the example illustrated inFIG. 27, the conversation contents of the two conversation groups are displayed on the same screen132, but the conversation contents of three or more conversation groups may be displayed on the same screen132.

For example, when the user A has logged in to one conversation group (for example, the conversation group1), the display controller24displays the conversation content of the conversation group1on the vertical screen, as illustrated inFIG. 4. In this situation, when the user A logs in to another conversation group (for example, the conversation group2), the display controller24aligns the conversation contents of the conversation groups1and2in the vertical direction of the screen132.

When the user A performs an operation of scrolling the display area204of the conversation group1, as indicated by an arrow208, and the operation is detected, the display controller24scrolls the display area204in a direction indicated by the arrow208. Further, the display controller24scrolls the display area206of the conversation group2, as indicated by an arrow210, in the same direction as the direction indicated by the arrow208. By doing so, a display area on which the scroll operation is not actually performed is also scrolled, thereby saving the time of the scroll operation by the user.

Also, the display controller24may scroll the display area204on which the scroll operation has actually been performed and, in response to the scroll operation, may not scroll the display area206on which the scroll operation has not been performed. The interlock control (synchronous control) or non-interlock control (asynchronous control) may be set by the user.

In the example illustrated inFIG. 27, although the transmission date and time of the remark content and the read information are not displayed, they may be displayed.

Further, as in the sixteenth modification, the display controller24may scroll the display area on which the scroll operation has been performed to the display position of the unread message. The display controller24may scroll the display area on which the scroll operation has not been performed to the display position of the unread message, in response to the scroll of the display area on which the scrolling operation has been performed.

In addition, as in the twelfth modification, the display controller24may display a conversation content of an active conversation group on the display unit and may not display a conversation content of an inactive conversation group on the display unit. As in the thirteenth modification, the display controller24may color-code the remark contents of different users. As in the fifteenth modification, the display controller24may enlarge or reduce the display area of another conversation group in response to the enlargement or reduction of a display area of a certain conversation group. As in the seventeenth modification, the controller22may copy and paste the remark contents among plural conversation groups. As in the eighteenth modification, the controller22may add a user logged in to a certain conversation group to another conversation group.

Upon inputting a remark content (for example, a message), the display controller24displays an input area212on the screen132, as illustrated inFIG. 28. When the user A inputs a message in the input area212and instructs transmission of the message, the message input in the input area212is transmitted to a conversation group designated as a transmission destination. For example, when transmitting a remark content to the conversation group1, the user A designates the display area204of the conversation group1. The display controller24displays the input area212on the screen132according to the designation. The display controller24may display the input area212in the display area204of the conversation group1or may display the input area212in the display area206of the conversation group2which is not the transmission destination of the remark content. Further, the display controller24may display the input area212on the screen132beyond the display areas204and206. The setting of the display position and display size of the input area212may be performed by the user. When a message is input in the input area212and the transmission of the message is completed, the display controller24does not display the input area212. Also, after inputting the message in the input area212, the user A may designate a conversation group to which the message is to be transmitted. For example, when the user A moves the input area212to a certain display area by an operation such as a flick operation, the controller22transmits the message to a conversation group associated with the display area.

In addition, the display controller24may switch between a laterally long screen (seeFIG. 20) and a vertically long screen (seeFIG. 27) according to screen switching conditions. The screen switching conditions may be set by the user or may be predetermined. For example, the display controller24may switch between the laterally long screen and the vertically long screen depending on the total size of the screen132, the number of conversation groups in which the user A is logging in, the number and length of remarks of conversation group per unit time, the number of unread messages per unit time, the number and length of remarks in the recent (the time between the present time and the time before a predetermined time since the present time), the number of most recent unread messages, the total number of remarks, the total length of remarks, the total number of unread messages, etc. The display controller24may switch the screen according to plural conditions. For example, the display controller24may use the vertically long screen when the number of conversation groups to which the user A is logging in is equal to or greater than a predetermined threshold value, and may use the laterally long screen when the number of conversation groups is smaller than the threshold value. Also, the display controller24may switch between the laterally long screen and the vertically long screen according to an instruction from the user.

In a twentieth modification, the display controller24displays an input area for inputting a remark content on the screen across the display areas of plural conversation groups. When the transmission of the remark content is completed, the display controller24does not display the input area and displays the remark content in a display area of a conversation group of a transmission destination. Hereinafter, the twentieth modification will be described in detail with reference toFIGS. 29 and 30.FIGS. 29 and 30illustrate a screen132.

When the message of the user A is transmitted, as illustrated inFIG. 30, the message is displayed in the display area136in association with the image140of the user A, as a remark content216of the user A. When the transmission of the message is completed, the display controller24does not display the input area214.

A 21st modification will be described with reference toFIGS. 31 and 32. In the second exemplary embodiment, the conversation contents of two conversation groups are displayed on the same screen, but the conversation contents of three or more conversation groups may be displayed on the same screen.FIGS. 31 and 32illustrate display examples in a case where the number of conversation groups is four.

For example, when the user A is logging in to four conversation groups1,2,3and4, the display controller24sets four display areas222,224,226and228by setting a virtual line218dividing a screen132laterally and a virtual line220dividing the screen132vertically, as illustrated inFIG. 31. For example, the display controller24displays the conversation content of the conversation group1in the display area222, displays the conversation content of the conversation group2in the display area224, displays the conversation content of the conversation group3in the display area226, and displays the conversation content of the conversation group4in the display area228. The sizes of the display areas may be equal to each other or may be different from each other depending on the number and length of remarks of each conversation group. The size of each display area may be changed by the user, or, when a certain display area is enlarged or reduced, another display area may be enlarged or reduced in response thereto.

FIG. 32illustrates another display example. In this example, the display controller24sets four display areas236,238,240and242by setting a virtual line230dividing a screen132laterally and virtual lines232and234dividing the lateral half (for example, the right half) of the screen into three areas in the vertical direction. The display area236is wider than the other display areas, and the display areas238,240and242have the same size. For example, the display area236is used as a main display area in which the conversation content of a main conversation group designated by the user is displayed. The display areas238,240and242are used as sub display areas in which the conversation contents of conversation groups other than the main conversation group are displayed.

The display controller24may change the conversation group displayed in the main display area236according to a priority. The priority is determined, for example, depending on the number and length of remarks of conversation group per unit time, the number of unread messages per unit time, the number and length of remarks in the recent (the time between the present time and the time before a predetermined time since the present time), the number of most recent unread messages, the total number of remarks, the total length of remarks, the total number of unread messages, etc. For example, the display controller24may display the conversation content of a conversation group having the largest number of recent remarks in the display area236, or may display the conversation content of a conversation group having the longest recent remark in the display area236, or may display the conversation content of a conversation group having the largest number of recent unread messages in the display area236. Further, the display controller24may display the conversation content of an active conversation group in the display area236. Further, the display controller24may change the size of each of the display areas238,240and242according to the priority.

Third Exemplary Embodiment

Hereinafter, an information processing system and a terminal device10according to a third exemplary embodiment will be described. In the third exemplary embodiment, the display controller24switches between the display control according to the first exemplary embodiment and the display control according to the second exemplary embodiment according to the switching conditions. That is, the display controller24switches between a screen representing the conversation content of one conversation group and a screen representing the conversation contents of plural conversation groups according to the switching conditions. Hereinafter, the process according to the switching conditions will be described in detail.

For example, the display controller24may switch the display control according to the number of conversation groups to which the user A is logging in. Specifically, the display controller24executes the display control according to the first exemplary embodiment when the number of conversation groups to which the user A is logging in is equal to or greater than a predetermined threshold value, and executes the display control according to the second exemplary embodiment when the number of conversation groups to which the user A is logging in is smaller than the predetermined threshold value. The threshold value may be changed by the user.

For example, it is assumed that the threshold value is “3.” When the user A has logged in to three or more conversation groups (for example, conversation groups1,2and3), the display controller24executes the display control according to the first exemplary embodiment. In other words, the display controller24changes the screen of a conversation group being displayed to the screen of another conversation group according to a changing operation by the user. For example, in the case where the screen of the conversation group1is displayed on the display unit, when the changing operation is performed by the user, the display controller24changes the screen from the screen of the conversation group1to the screen of the conversation group2. On the other hand, when the user A has logging in to two conversation groups (for example, conversation groups1and2), the display controller24executes the display control according to the second exemplary embodiment. That is, the display controller24displays the conversation contents of the conversation groups1and2on the same screen.

In the case of displaying the conversation contents of plural conversation groups on the same screen, as the number of conversation groups increases, the display area of the conversation content of each conversation group is narrowed, which makes it hard for the user to see the conversation content. On the other hand, the smaller the number of conversation groups is, the wider the display area of each conversation content can be. Therefore, even when the conversation contents of the plural conversation groups are displayed on the same screen, the conversation content can be more easily seen for the user than a case where the conversation contents of more conversation groups are displayed on the same screen. Therefore, when the number of conversation groups is equal to or larger than the threshold value, by executing the display control according to the first exemplary embodiment, it is possible to change the screen of each conversation group while preventing the conversation content of each conversation group from becoming invisible to the user. In addition, when the number of conversation groups is smaller than the threshold value, by executing the display control according to the second exemplary embodiment, it is possible to display the conversation contents of the plural conversation groups in a state easy for the user to see while eliminating a need to change the screen.

In addition, as a combination of the first exemplary embodiment and the second exemplary embodiment, the display controller24may change the screen representing the conversation contents of the plural conversation groups to a screen representing the conversation contents of other plural conversation groups according to a changing operation by the user. This process will be described in detail with reference toFIGS. 33 and 34.

A screen132is illustrated inFIG. 33, and a screen244is illustrated inFIG. 34. For example, it is assumed that the user A has logged in to conversation groups1,2,3and4. On the screen132, the display areas136and138are defined by a virtual line134. Similarly, on the screen244, the display areas248and250are defined by a virtual line246. As an example, the display area136is an area in which the conversation content of the conversation group1is displayed, the display area138is an area in which the conversation content of the conversation group2is displayed, the display area248is an area in which the conversation content of the conversation group3is displayed, and the display area250is an area in which the conversation content of the conversation group4is displayed. For example, the display controller24may determine a display area in which the conversation content of each conversation group is displayed, according to the order in which the user A logs in to each conversation group, or the user A may designate a display area of each conversation group. Alternatively, the display area of each conversation group may be determined according to the priority described in the 21st modification. The size of each display area may be changed by the user, or may be determined according to a priority, or may be predetermined.

For example, while the screen132is being displayed on the display unit, when a changing operation is performed by the user, as in the first exemplary embodiment, the display controller24changes the screen being displayed from the screen132to the screen244. By doing so, the user A may make a conversation with the plural conversation groups without performing a screen changing operation. Further, the user A may make a conversation with other plural conversation groups by performing a simple screen changing operation.

Other Exemplary Embodiments

In the first exemplary embodiment, the screen may be gradually changed according to the user's changing operation. This process will be described below with reference toFIGS. 35 to 37.FIGS. 35 to 37illustrate screens displayed on the terminal device10.

For example, it is assumed that the user A has logged in to the conversation groups1and2. In this case, as illustrated inFIGS. 35 to 37, the controller22forms a display area252, sets a virtual line254in the display area252, and sets display areas256and258. The controller22arranges the conversation contents of the conversation group1in the display area256and arranges the conversation contents of the conversation group2in the display area258. This arrangement situation may be, for example, the same as the arrangement situation of the conversation contents according to the second exemplary embodiment.

In the examples illustrated inFIG. 35toFIG. 37, the display area252is wider than the screen260of the terminal device10. More specifically, the lateral width of the display area252is wider than the lateral width of the screen260. Therefore, the entire display area252cannot be displayed at once on the screen260. In the example illustrated inFIG. 35, the display area256of the conversation group1is displayed on the screen260, and the user A may make a conversation with the users B and C who are logging in to the conversation group1. This display state is the same as the display state illustrated inFIG. 4. The display area258of the conversation group2is not displayed on the screen260.

In a state where the display area256is displayed on the screen260, when the user A operates the screen260in the direction of the display area258of the conversation group2(for example, when the user A performs a flick operation or a slide operation in the direction indicated by an arrow262), the display controller24changes the location of the display area252displayed on the screen260according to the operation amount. For example, as illustrated inFIG. 36, a portion of the display area256and a portion of the display area258are displayed on the screen260according to the operation amount. In this manner, the display area256of the conversation group1and the display area258of the conversation group2are continuously displayed on the screen260.

When the user A further operates the screen260in the direction of the arrow262, the display controller24changes the location of the display area252displayed on the screen260according to the operation amount. For example, as illustrated inFIG. 37, the entire display area258is displayed on the screen260according to the operation amount. In this state, the display area256is not displayed on the screen260.

As described above, the display area of a certain conversation group and the display area of another conversation group are connected, and an area displayed on the screen260may be continuously changed by the operation of the user.

In the first to third exemplary embodiments and the modifications thereof described above, the user's conversation partner is not limited to a user as a human being, but may be an automatic response artificial intelligence (AI). Some or all of speakers that belong to a conversation group may be an automatic response AI. In other words, both another user as human beings and an automatic response AI may belong as speakers to a conversation group (mixture of a user and an automatic response AI), or all speakers may be an automatic response AI.

The automatic response AI has a function of analyzing a remark content of each user and providing the user with an answer such as a response to the remark content. The automatic response AI may be a so-called chat-bot (an automatic conversation program making use of artificial intelligence). The automatic response AI has a learning function by artificial intelligence and may have the ability to make a judgment close to a person by its learning function. In addition, neural network type deep learning may be used, or reinforcement learning or the like which partially strengthens the learning field may be used, or genetic algorithm, cluster analysis, self-organization map, ensemble Learning, etc. may be used. Also, technologies related to artificial intelligence other than them may be used.

A program related to the automatic response AI may be installed in the terminal device10or may be installed in an external device such as the server12to provide the function of the automatic response AI from the external device to the terminal device10.

Each of the terminal device10and the server12is realized by cooperation of hardware and software as an example. Specifically, each of the terminal device10and the server12includes one or plural processors such as a CPU (not shown). When the one or plural processors read and execute a program stored in a storage device (not shown), the functions of the respective units of the terminal device10and the server12are realized. The program is stored in the storage device via a recording medium such as a CD or a DVD, or via a communication path such as a network. As another example, the respective units of the terminal device10and the server12may be realized by hardware resources such as a processor, an electronic circuit, an ASIC (Application Specific Integrated Circuit), and the like. A device such as a memory may be used for its realization. As still another example, the respective units of the terminal device10and the server12may be realized by a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array) or the like.