Multi-column user interface for managing on-line threaded conversations

The present invention provides a user interface that includes a first column for chronologically displaying a set of messages (objects) in a conversation, and a second column for displaying a branch of messages (objects) corresponding to a message (object) selected in the first column. The user interface further includes, among other things, a list of participants to the conversation, a vertical index (time line), a list of related conversations and a conversation map that illustrates a hierarchy of the conversation. Each message (object) in the first column can have an associated indicator for indicating a quantity of predecessors and successors to the set of messages (objects), as well as an in-line reply button for replying to the set of messages. Each of the messages displayed of the second column can have one or more associated navigation buttons for navigating adjacent hierarchical levels.

BACKGROUND OF THE INVENTION

1. Field of the Invention

In general, the present invention relates to a multi-column user interface for managing on-line threaded conversations that are based on collections of objects having both hierarchical and temporal relationships such as threaded chats, discussions, newsgroups, etc. Specifically, the present invention provides an interface for efficiently navigating and contributing with respect to a threaded conversation.

2. Related Art

On-line threaded discussions or conversations (e.g., in electronic mail, news groups, Internet chats, discussion databases, etc.) have gained increasing popularity. In general, threaded conversations allow multiple parties to communicate about and collaborate around any number of topics. A threaded conversation typically comprises numerous discussion streams or branches of messages. Branches are usually created by replying to an existing message. Typically, threaded conversations are visualized in a hierarchical manner. To this extent, existing solutions to navigate about a threaded conversation either use indentation of messages to display the hierarchical structure, or provide thread maps that show the hierarchy in a tree-like visualization (or similar). Users can generally select (i.e., click) on individual items in the map to read or reply to certain messages.

Unfortunately, with the existing technology, there are several major issues. First, the hierarchical visualization makes it difficult to navigate about and read a single conversation branch with its reply structure. For example, if a user reads through the entire reply chain of messages in an indented visualization, he/she could easily get lost, especially if the conversation “forks out.” In addition, it can be extremely difficult to step back through a given conversation. Specifically, if thread maps are used, it is cumbersome to open up all of the messages that belong to one conversation branch. The user cannot simply read through them in the order of posting without interrupting his/her reading. Still yet, the hierarchical visualization currently provided makes it difficult to discover new messages posted to the conversation since they are typically scattered throughout the hierarchy.

Another issue with existing technology occurs with sequential or temporal visualizations, for example in a “chat” view. The “chat” view arranges messages in a strictly temporal sequence. In this technology, it is often difficult to follow the logical sequence of an idea, because the replies related to that idea appear interspersed with other messages on other topics that happen to have occurred at intermediate times between the replies on the topic of interest. As in the previous case, it is again difficult to discover new messages posted on the topic of interest, because they may be interspersed with new messages on other topics. Further, in the “chat” technology, any message that the user wishes to add related to a specific topic must be added at the end of the stream of messages, even if other, unrelated messages have appeared after the last message on the topic of interest. Thus, the user's own new message is subject to the same problems as all of the other messages in the chat (i.e., the message will appear in strict temporal order, and thus may not appear close to the other messages to which it is topically related.)

Still another issue with existing technology is that conversations are assumed to consist of text only, as in an instant message session or chat, or a discussion database. Yet for many concepts another representation means may be more convenient, expressive, or appropriate. For exemplary purposes, financial data may be better communicated in the form of a spreadsheet, and graphical design may be better communicated in the form of an image. Existing technologies that support conversations provide means for constructing a sequence or a hierarchical tree of text objects, and require that non-text objects (for example, but not limited to, spreadsheets, images, links to other documents or websites) be provided as attachments or inclusions in the default text object. This is an inconvenient and limiting default which makes non-text objects more difficult to add, and more difficult to understand, in both sequential message streams or in hierarchical trees.

In view of the foregoing, there exists a need for a user interface for managing an on-line threaded conversation that is not subject to the strictly-topical or strictly-temporal limitations described above. Specifically, a need exists for a user interface that allows users to easily view and navigate about the various branches of a threaded conversation. A further need exists for the interface to provide a conversation map that illustrates a hierarchy of the conversation and aids in navigating the hierarchy. An additional need exists for the user interface to include features such as navigation buttons, a list of participants and a list of related conversations to make managing, navigating, and contributing to the conversation more efficient. Moreover, a need exists for the user interface to not limit components of a conversation to text messages, but allows any type of object (files, links, images, etc.) that can be viewed and worked within the user interface.

SUMMARY OF THE INVENTION

In general, the present invention provides a multi-column user interface for managing an on-line threaded conversation. Specifically, the user interface includes a first column for chronologically displaying a set of messages (objects) in a conversation, and a second column for displaying a branch of messages corresponding to a message (object) selected in the first column. The user interface further includes, among other things, a list of participants in the conversation, a vertical index (time line), a list of related conversations and a conversation map that illustrates a hierarchy of the conversation. Each message (object) in the first column can have an associated indicator for indicating a quantity of predecessors and successors to the set of messages (objects), as well as an in-line reply button for replying to the set of messages. In addition, each of the messages (objects) displayed in the second column can have one or more associated navigation buttons for navigating about adjacent hierarchical levels.

A first aspect of the present invention provides a multi-column user interface for managing threaded on-line conversations, comprising: a first column for chronologically displaying a set of messages in a conversation; and a second column for displaying a branch of messages corresponding to a message selected in the first column.

A second aspect of the present invention provides a multi-column user interface for managing threaded on-line conversations, comprising: a first column for chronologically displaying a set of messages in a conversation; and a second column for displaying a branch of messages corresponding to a message selected in the first column, wherein each message in the branch of messages includes navigation buttons for navigating about adjacent hierarchical levels of the branch of messages.

A third aspect of the present invention provides a program product stored on a recordable medium, which when executed, comprises program code for generating a multi-column user interface for managing threaded on-line conversations, wherein the multi-column user interface includes a first column for chronologically displaying a set of messages in a conversation, a second column for displaying a branch of messages corresponding to a message selected in the first column.

A fourth aspect of the present invention provides means for representing not only text messages, but also diverse representations of other objects, as components of the multi-column user interface, wherein these other objects (such as files, links, etc.) may be viewed or worked on directly in the threaded on-line conversation, and may optionally be opened and modified by any of the participants in that conversation.

Therefore, the present invention provides a multi-column user interface for managing an on-line threaded conversation.

The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.

DETAILED DESCRIPTION OF THE INVENTION

As indicated above, the present invention provides a multi-column user interface for managing an on-line threaded conversation. Specifically, the user interface includes a first column for chronologically displaying a set of messages in a conversation, and a second column for displaying a branch of messages corresponding to a message selected in the first column. The user interface further includes, among other things, a time line of the conversation, a list of participants in the conversation, a list of related conversations and a conversation map that illustrates a hierarchy of the conversation. Each message in the first column can have an associated indicator for indicating a quantity of predecessors and successors to the set of messages, as well as an in-line reply button for replying to the set of messages. In addition, each of the messages displayed in the second column can have one or more associated navigation buttons for navigating about adjacent hierarchical levels.

In the following description, the term “message” is used to refer to a posting in a conversation that is not limited to text only. Rather, the “message” can comprise any type of content (e.g., images, files etc.) that is used in a threaded conversation.

Referring now toFIG. 1, illustrative computer systems10A-B are depicted. In general, computer systems10A-B are intended to represent any type of computerized devices capable of conducting on-line threaded conversations with each other over a network28. For example computer systems10A-B could be personal computers, workstations, laptops, hand-held devices. Moreover, computer systems10A-B could be clients or servers. Regardless, network28can represent any type of network such as the Internet, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), etc. As such, communication between computer systems10A-B could occur via a direct hardwired connection (e.g., serial port), or via an addressable connection that may utilize any combination of wireline and/or wireless transmission methods. The computer systems10A-B may utilize conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards. Moreover, connectivity could be provided by conventional TCP/IP sockets-based protocol. In this instance, the computer systems10A-B could utilize an Internet service provider to establish connectivity. It should be understood that additional participants/computer systems could be part of a conversation with computer systems10A-B and participants24A-B. Accordingly, the architecture shown inFIG. 1is not intended to be limiting.

In any event, computer systems10A-B generally comprise central processing units (CPUs)12A-B, memories14A-B, buses16A-B, input/output (I/O) interfaces18A-B, external devices/resources20A-B and storage units22A-B. CPUs12A-B may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and computer system. Memories14A-B may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, etc. Moreover, similar to CPUs12A-B, memories14A-B may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.

I/O interfaces18A-B may comprise any system for exchanging information to/from an external source. External devices/resources20A-B may comprise any known type of external device, including speakers, a CRT, LCD screen, handheld device, keyboard, mouse, voice recognition system, speech output system, printer, monitor/display, facsimile, pager, etc. Buses16A-B provides a communication link between each of the components in computer systems10A-B and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc.

Storage units22A-B can be any systems (e.g., databases) capable of providing storage for data. As such, storage units22A-B could include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, storage units22A-B includes data distributed across, for example, a LAN, a WAN or a storage area network (SAN). Further, although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer systems10A-B.

Shown within memories14A-B of computer systems10A-B are conversation programs26A-B. In general, conversation programs26A-B are intended to represent any type of programs that foster on-line conversations between participants24A-B. For example, conversation programs28A-B could be instant messaging or chat programs, news group programs, etc. Under the present invention, conversation programs26A-B include interface generation systems28A-B that generate a multi-column user interface for managing on-line threaded conversations between participants24A-B.

Referring now toFIG. 2, an illustrative multi-column user interface30according to the present invention is shown. In general, user interface30allows an on-line threaded conversation between multiple participants to be effectively managed. As shown, user interface30includes two or more columns such as columns32and34(which will be further described below), a title field40for providing a title to the conversation, a list of participants42in the conversation, a list of related conversations44that might be linked to or from the current conversation, a conversation map46for illustrating and navigating a hierarchy of messages in the conversation, a menu48for selecting an message object type for a new message object to be posted, an input field50for inputting text for a new message object, a post button52for posting inputted text as a new message and an alert box54for alerting participants of new developments.

Column32chronologically displays a set of messages36A-F in the conversation between the various participants shown in list42. That is, column32displays all messages between conversation participants in the order in which they were posted. As can be seen from messages36A-F, the conversation can have multiple topics/branches. For example, messages36A-B discuss summer interns, while message36C discusses a “talk” or presentation that is to be given. Typically, each message36A-F is displayed in a separate “message” region and can have several associated features. For example, each message36A-F could be represented by a message name and could have an associated in-line reply button56for replying to a specific message, an author icon58for indicating a specific participant responsible for posting the message (the icon can also indicate the status of the participant), a content type icon62or64indicating the type of posted object (see e.g. message36E or36F), and an indicator50for indicating a quantity of corresponding hierarchical predecessor and successor messages. For example, the indicator60for message36C is “2/2.”. This indicates that message36C has two predecessor messages and two successor messages (i.e., pertaining to the “talk” or presentation) in its branch. The number of successor messages can be calculated in various ways. For example, the number could be the total number of children and grandchildren of a given message, the number of direct children of a message, or the number of subsequent generations in the thread.FIG. 2indicates the number of subsequent generations as successors. This can be more clearly seen from conversation map46, which is shown in expanded form inFIGS. 3A-B.

Specifically, referring toFIGS. 3A-B, conversation map46is more clearly shown. As can be seen, node70represents the root of the conversation (i.e., the oldest message) and has three child nodes72A-C. As further shown, node72A itself has four child nodes74A-D. Node74C is highlighted and represents message36C ofFIG. 2. In addition, node74C has three child nodes76A-C, with node76B having one child node78. In viewing conversation map46ofFIG. 3Ais can be clearly seen that message36C (node74C) has two predecessor messages represented by nodes72A and70. As further demonstrated inFIG. 3A, message36C has two subsequent generations. Knowing the quantity of predecessor and successor messages for each given message can make it easier for a participant to keep track of the multiple branches/topics that can exist within the single conversation. To this extent, conversation map46is shown further expanded inFIGS. 4A-Bto illustrate that a given conversation can have a complex hierarchy of topics/branches. The conversation map46visualizes the hierarchy of the set of messages and supports navigating branches/topics of the conversation. Further, conversation map46highlights all the messages displayed in column34by stacking them on top of each other (i.e. the messages displayed in column34are represented in the map through the highlighted squares in the rectangular area46A). Conversation map46also displays the immediate siblings of these messages. Optionally, conversation map46can be expanded to show all messages of a threaded conversation as indicated inFIGS. 4A-B. In any event, conversation map46map is interactive and dynamic; its shape changes according to the branch displayed in column34. The branch displayed in column34could be changed by selecting a message in the conversation map, by selecting a message in the column32, by using the navigation buttons inside column34, or by other means. Upon selecting a message, the conversation map is updated with the branch displayed in column34(i.e. the branch items are displayed in rectangular area46A and the new corresponding siblings are displayed next to the branch items in map46).

Referring back toFIG. 2, each message36A-F in column32could further include a content/object type icon such as icons62and/or64for indicating the type of content (object) posted. As indicated above, postings are not limited to text but can also be diverse representations of other objects, as components of the multi-column user interface, wherein these other objects (such as images, files, links to other documents, links to websites, etc.) may be viewed or worked on directly in the threaded on-line conversation, and may optionally be opened and modified by any of the participants in that conversation. For example, posting36E represents a spreadsheet file. Content icon62can indicate as much to the participants. Each column32and34could also include fast forward buttons66, scroll bars68for navigating about the columns32and34, and/or a vertical index (time line)59where each message is represented by a tick mark positioned at a position proportional to its time stamp in a chronological sequence of the messages. Specifically, the vertical index provides a visual summary of the conversation and can be used to navigate to particular messages. This is so that a series of user inputs in the vertical index moves the first column one message forward or backward in the chronological sequence of messages. The vertical index can indicate through different colors or shades which messages are read or unread.

As indicated above, a single conversation can have multiple branches or topics. As such, keeping track of a single branch/topic can be extremely difficult. To this extent, column34is provided to display a branch of messages corresponding to a message selected in column32. Specifically, when a particular message is selected in column32, that message will be displayed along with its topical branch or lineage of messages in column34. For example, as shown, message36C is selected in column32. Accordingly, it is displayed in column34along with the predecessor and successor messages (represented by the aforementioned nodes inFIGS. 3A-B) of its branch. For example, message80A could correspond to node72A, while messages80B-C correspond to nodes76B and78, respectively. The message corresponding to node70is out of view inFIG. 2, but could be viewed by manipulating fast forward buttons66or scroll bar68of column34. Furthermore, in displaying the branch of messages corresponding to selected message36C, column34(just like column32) could allow an inline preview of other content (objects) other than text to be displayed. For example, an image84could be displayed in message80A such as a preview of a file inserted into a message in column32. Inline previews can be optionally interactive allowing people to modify the content.

Similar to column32, each message displayed in column34can each be displayed in a separate message region, and each such message could have an associated message name57, in-line reply button56, author icon58, content/object type icon62as well as a set of navigation buttons82. In general, navigation buttons82provide a way to navigate about adjacent hierarchical levels of a particular messages. For example, the navigation buttons82on the bottom of message36C could represent all child messages (direct successors of message36C, i.e., as represented by nodes76A-C inFIGS. 3A-B). By selecting (i.e., clicking on) a particular one of navigation buttons82for message36C, a participant can view the corresponding child message. Thus, if a participant clicked on the navigation button labeled—“3” for message36C, it would display the message corresponding to node76C ofFIGS. 3A-Bin the region of message80B directly underneath message36C. When this occurs, the parent message80A remains the same in column34and message80C and subsequent messages in column34could be changed to display the branch of messages corresponding to the newly selected message.

It should be understood that the present invention is not limited to a two-column embodiment. Rather, the present invention could provide a user interface that has additional columns, representing additional parallel branches/topics as described above for column34. An optional instantiation shown inFIGS. 5A-Bdescribes a three-column user interface100and an associated conversation map102. As depicted, user interface100includes columns104,106and108. It should be understood that user interface100can include features (e.g., a title, lists, buttons, fields, icons, menus, scroll bars, etc.) similar to user interface30. Such features have not been shown inFIGS. 5A-Bfor brevity purposes. In any event, columns104and106function similar to columns32and34of user interface30. Specifically, the messages in the conversation are displayed in column104in chronological order. Column106displays a branch of messages corresponding to a particular message selected in column104. However, in user interface100, column108can be provided to display the successor messages (child nodes) corresponding to a selected message in column106. For example, as shown inFIG. 5A, message C3was selected in columns104and106. As such, messages D1-D3(which are successors of message C3) are displayed in column108. Taking this methodology a step further, if a participant then selected message D2in column108, columns106and108would be altered to appear as shown inFIG. 5B. Specifically, column106would now display message D2as well as its predecessor messages (e.g., A1, B1and C3). The successor message E1to message D2would then be displayed in column108. As can thus be seen, the additional column108of interface100provides a functionality similar to the navigation buttons82of user interface30.

Another example for an instantiation of a multi-column user interface could comprise a third column for displaying only messages authored by the same participant as a message selected in the first column and/or second column.

Referring back toFIG. 2, regardless of whether two or more columns are provided, under the present invention, a display attribute of conversation map46(i.e., or the hierarchy thereof) could be altered to express certain pieces of information. Specifically, referring toFIGS. 6A-B, an appearance of nodes110of conversation map112is altered to reflect a time line or chronology of the corresponding messages. InFIG. 6A, the borders nodes112are darkened with time. That is, the borders of nodes corresponding to the more recent messages appear lighter than the borders nodes corresponding to the older messages. InFIG. 6B, a size of nodes112is altered with time. Specifically, the nodes corresponding to the more recent nodes appear larger than the nodes corresponding to the older messages.

Referring toFIGS. 7A-Bthe center portions of nodes112can be colored or shaded certain ways to reflect authorship. As shown, the center portions can have certain colors and/or shading patterns that can be used to reflect the authors thereof. Since the borders of nodes112can be darkened to reflect the time line (as shown inFIG. 6A), both time line and authorship could be represented simultaneously as shown inFIG. 7A. The same holds true when the size of nodes112is altered to reflect the time line. Specifically, referring toFIG. 7B, even if nodes corresponding to older messages are shrunk, the center portions thereof can still be colored/shaded to reflect authorship. Still yet, as shown inFIG. 8, if a search capability is supported by conversation program (FIG. 1), the presence of search targets indicators114could be provided on nodes112in a manner consistent with the display of chronology and authorship. Referring toFIG. 9, nodes112could be further altered to reflect a read status of the corresponding messages. For example, nodes corresponding to unread messages could be surrounded by a darkened outline116.

It should be understood that the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, carries out the respective methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention, could be utilized. The present invention can also be embedded in a computer program product, which comprises all the respective features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.