Using multiple simultaneous threads of communication
First Claim
1. A method in a client computing device for maintaining multiple simultaneous interactive threads of communication for a user of the client computing device, the method comprising:
- creating multiple persistent threads of communication for the user of the client computing device, each thread having a distinct group of multiple participants that includes the user and multiple other users and each having a distinct associated topic such that the communications for a thread each have contents related to the topic for that thread, the creating of each of the multiple threads occurring before receiving any communications for the thread and including,receiving an indication from the user to create the thread, the received indication including an indication of the group of multiple participants for the thread; and
automatically communicating with computing devices of the other indicated participants to create the thread on each of those computing devices, so that each of the thread participants is enabled to send communications for the thread and is enabled to view received communications for the thread from other thread participants; and
simultaneously displaying the multiple threads of communication to the user of the client computing device in such a manner that, for each of the multiple threads, communications of the thread are displayed together in a uniform manner and are displayed separately from communications of the other threads, the displaying of each thread of communication including,while the client computing device is actively communicating with other computing devices,receiving multiple communications for the thread that are each from one of the multiple other users for the thread;
receiving multiple communications for the thread from the user that are each intended for the multiple other users for the thread;
sending the multiple communications from the user to the multiple other users for the thread in a manner without notification to the user; and
displaying to the user in a single window and in a specified order all the received communications for the thread from the user and from the other users such that all of the contents of all of the communications are displayed to the user in a uniform manner;
after the displaying of all the received communications for the thread and while the client computing device is no longer actively communicating with other computing devices,receiving one or more additional communications for the thread from the user that are intended for the multiple other users for the thread; and
without sending the received additional communications to the multiple other users for the thread, updating the display for the thread to include the received additional communications from the user in such a manner that those additional communications are displayed in the same manner as the previously sent communications for the thread from the user; and
after the updating of the display and while the client computing device is again actively communicating with other computing devices,sending the received additional communications for the thread from the user to the multiple other users for the thread, the sending performed in a manner without notification to the user;
receiving additional communications for the thread that are each from one of the multiple other users for the thread, one or more of the received additional communications sent while the client computing device was not actively communicating with other computing devices; and
updating the display for the thread to include the received additional communications from the other users in such a manner that those additional communications are displayed in the same manner as the other previously received communications for the thread from the other users,so that the user of the client computing device can send communications to each of multiple simultaneous threads whether or not the client computing device is actively communicating with other computing devices and can see a display with all of the contents of all of the communications for a thread shown in a uniform manner.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable medium is described for providing a thread messaging system for communications between users of thread client computing devices. The thread messaging system provides significant benefits over existing prior art messaging systems such as email, IM, chat and bulletin boards. In some situations, the thread messaging system supports each user having multiple simultaneous threads of conversation with distinct user-specified groups of multiple other users, maintains communications in a persistent and virtual manner such that a user can specify communications for threads regardless of their own connectivity status or that of the intended recipients and can receive thread communications from others that occurred while the user was not connected, and allows the communications for each thread conversation to be displayed distinctly and simultaneously such that the contents of current and previous communications are displayed together in a uniform manner and in a user-specified order.
-
Citations
94 Claims
-
1. A method in a client computing device for maintaining multiple simultaneous interactive threads of communication for a user of the client computing device, the method comprising:
-
creating multiple persistent threads of communication for the user of the client computing device, each thread having a distinct group of multiple participants that includes the user and multiple other users and each having a distinct associated topic such that the communications for a thread each have contents related to the topic for that thread, the creating of each of the multiple threads occurring before receiving any communications for the thread and including, receiving an indication from the user to create the thread, the received indication including an indication of the group of multiple participants for the thread; and automatically communicating with computing devices of the other indicated participants to create the thread on each of those computing devices, so that each of the thread participants is enabled to send communications for the thread and is enabled to view received communications for the thread from other thread participants; and simultaneously displaying the multiple threads of communication to the user of the client computing device in such a manner that, for each of the multiple threads, communications of the thread are displayed together in a uniform manner and are displayed separately from communications of the other threads, the displaying of each thread of communication including, while the client computing device is actively communicating with other computing devices, receiving multiple communications for the thread that are each from one of the multiple other users for the thread; receiving multiple communications for the thread from the user that are each intended for the multiple other users for the thread; sending the multiple communications from the user to the multiple other users for the thread in a manner without notification to the user; and displaying to the user in a single window and in a specified order all the received communications for the thread from the user and from the other users such that all of the contents of all of the communications are displayed to the user in a uniform manner; after the displaying of all the received communications for the thread and while the client computing device is no longer actively communicating with other computing devices, receiving one or more additional communications for the thread from the user that are intended for the multiple other users for the thread; and without sending the received additional communications to the multiple other users for the thread, updating the display for the thread to include the received additional communications from the user in such a manner that those additional communications are displayed in the same manner as the previously sent communications for the thread from the user; and after the updating of the display and while the client computing device is again actively communicating with other computing devices, sending the received additional communications for the thread from the user to the multiple other users for the thread, the sending performed in a manner without notification to the user; receiving additional communications for the thread that are each from one of the multiple other users for the thread, one or more of the received additional communications sent while the client computing device was not actively communicating with other computing devices; and updating the display for the thread to include the received additional communications from the other users in such a manner that those additional communications are displayed in the same manner as the other previously received communications for the thread from the other users, so that the user of the client computing device can send communications to each of multiple simultaneous threads whether or not the client computing device is actively communicating with other computing devices and can see a display with all of the contents of all of the communications for a thread shown in a uniform manner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for a computing device of a user to assist the user in participating in multiple simultaneous threads of communication, the method comprising:
-
receiving multiple thread communications that are each associated with one of multiple simultaneous threads in which the user is participating, each of the threads having multiple participants selected by at least one of the participants, each received communication being from the user or from another of the participants in the thread with which the communication is associated; for each of the multiple simultaneous threads, automatically displaying a distinct transcript for the thread to the user such that all contents of received communications for that thread are displayed together in a consistent manner as part of the transcript; automatically storing the multiple received thread communications to enable later display to the user of the multiple received thread communications after the computing device of the user is restarted; after the displaying of the transcripts for the multiple simultaneous threads, receiving a first next communication from the user for a first of the threads while the user is actively interacting with one or more other participants in the first thread, and in response providing the received first next communication to those other participants and updating the displayed transcript for the first thread to display all contents of the first next communication together in a consistent manner with all contents of previously received communications for the first thread; and after the displaying of the transcripts for the multiple simultaneous threads, receiving a second next communication from the user for a second of the threads while the user is not actively interacting with any other participants in the second thread, and in response storing the received second next communication to enable later providing of the second next communication to those other participants and updating the displayed transcript for the second thread to display all contents of the second next communication together in a consistent manner with all contents of previously received communications for the second thread. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A computer-readable memory medium whose contents cause a computing device to assist a user in participating in multiple threads of communication, by performing a method comprising:
-
receiving multiple thread communications that are each for one of multiple threads in which the user is a participant, each of the threads having multiple participants selected by at least one of the multiple participants, each received communication for a thread being from the user or from another of the participants in the thread; and for each of a plurality of the multiple threads, presenting a distinct transcript for the thread to the user such that contents of multiple communications for that thread are presented together in a consistent manner as part of the transcript; automatically storing the multiple received thread communications to enable later persistent presentation to the user of the multiple received thread communications; after the presenting of the transcripts for the plurality of threads, receiving a first next communication from the user for a first of the plurality of threads while one or more other participants in the first thread are currently available, providing the received first next communication to those other currently available participants, and updating the presented transcript for the first thread to include contents of the first next communication together in a consistent manner with contents of previously received communications for the first thread; and after the presenting of the transcripts for the plurality of threads, receiving a second next communication from the user for a second of the plurality of threads while one or more other participants in the second thread are not currently available, the received second next communication to enable later providing of the received second next communication to those other participants that are not currently available, and updating the presented transcript for the second thread to include contents of the second next communication together in a consistent manner with contents of previously received communication for the second thread. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
-
73. A computing device for assisting a user in participating in multiple threads of communication, comprising:
-
a thread communication manager component that is capable of receiving multiple thread communications that are each for one of multiple threads in which the user is a participant with one or more other selected participants, each received communication for a thread being from the user or from another of the participants in that thread; providing thread communications from the user for the multiple threads to other participants of those threads that are currently available; automatically storing the multiple received thread communications to enable later persistent presentation to the user of the multiple received thread communications; after receiving a first next communication from the user for a first of the multiple threads, and while one or more other participants in the first thread are currently available, providing the received first next communication to those other currently available participants; and after receiving a second next communication from the user for a second of the multiple threads, and while one or more other participants in the second thread are not currently available, storing the received second next communication to enable later providing of the received second next communication to those other participants that are not currently available; and at least one thread participation manager component that is associated with one or more of the multiple threads and that is capable of, for each of the associated threads; presenting a distinct transcript for the thread to the user such that contents of multiple communications for the thread are presented together in a consistent manner as part of the transcript; if the thread is the first thread, after receiving the first next communication from the user, updating the presented transcript to include contents of the first next communication together in a consistent manner with contents of previously received communications for the first thread; and if the thread is the second thread, after receiving the second next communication from the user, updating the presented transcript to include contents of the second next communication together in a consistent manner with contents of previously received communications for the second thread. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80)
-
-
81. A computer system for assisting a user in participating in multiple threads of communication, comprising:
-
means for; receiving multiple thread communications that are each for one of multiple threads in which the user is a participant with one or more other selected participants, each received communication for a thread being from the user or from another of the participants in that thread; providing thread communications from the user for the multiple threads to other participants of those threads that are currently available; automatically storing the multiple received thread communications to enable later persistent presentation to the user of the multiple received communications; after receiving a first next communication from the user for a first of the multiple threads, and while one or more other participants in the first thread are currently available, providing the received first next communication to those other currently available participants; and after receiving a second next communication from the user for a second of the multiple threads, and while one or more other participants in the second thread are not currently available, storing the received second next communication to enable later providing of the received second next communication to those other participants that are not currently available; and means for; for each of one or more of the multiple, threads, presenting a distinct transcript for the thread to the user such that contents of multiple communications for the thread are presented together in a consistent manner as part of the transcript; if the thread is the first thread, after receiving the first next communication from the user, updating the presented transcript to include contents of the first next communication together in a consistent manner with contents of previously received communications for the first thread; and if the thread is the second thread, after receiving the second next communication from the user, updating the presented transcript to include contents of the second next communication together in a consistent manner with contents of previously received communications for the second thread.
-
-
82. A computer-implemented method for assisting a user of a computing device in participating in multiple simultaneous interactive threads of communication that include a first thread of communication with a first group of multiple other users and a second thread of communication with a second group of multiple other users, the method comprising:
-
receiving one or more communications for the first thread from the multiple other users of the first group, and receiving one or more communications for the second thread from the multiple other users of the second group; displaying to the user the received communications for the first thread as a first transcript, and displaying to the user the received communications for the second thread as a second distinct transcript; receiving a first communication from the user for the first thread and receiving a second communication from the user for the second thread; updating the display of the first transcript to include the first communication and updating the display of the second transcript to include the second communication; sending the first communication to the multiple other users of the first group and sending the second communication to the multiple other users of the second group; while the computing device is no longer in communication with the computing devices of the users of the first group, receiving a third communication from the user for the first thread; and without sending the third communication to the multiple other users of the first group, updating the display of the first transcript to include the third communication in such a manner that the lack of the sending of the third communication is transparent to the user; and when the computing device is again in communication with the computing devices of the users of the first group, sending the third communication to the multiple other users of the first group; receiving an additional communication for the first thread from one of the other users of the first group that was created while the computing device was not in communication with the computing device of the other user; and updating the display of the first transcript to include the additional communication in such a manner that the lack of communication between the computing device and the computing device of the other user at the time of the communication creation is transparent to the user. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94)
-
Specification