Abstract:
The present invention discloses a text exchange facility that permits a user to combine multiple pre-existing text exchange interfaces into a single interface. When previous text exchange interfaces are joined, different tabs can be presented in a joined interface. A one-to-one correspondence can exist between tabs in the joined interface and active real-time text exchange sessions. Joining interfaces can have no effect on the underlying text exchange sessions or upon communications/activities experienced by communicators with whom the user exchanges textual messages. Joined interfaces can be identified by a user specified topic or name. In one embodiment, history and/or records concerning text exchange contents can be maintained on a topic-by-topic manner.

Description:
BACKGROUND 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to text exchange technologies, and more particularly, a text exchange facility for joining multiple text exchange communications into a single topic based communication. 
         [0003]    2. Description of the Related Art 
         [0004]    A text exchange communication refers to any real-time, interactive, text communication mechanism, such as chatting, instant messaging, text messaging, and the like. Text exchanges provide an efficient communication mechanism for exchanging information between parties. One advantage afforded by text exchange communications is that a text-exchange communicator can actively participate in multiple concurrent real-time communication sessions, each session involving a different set of one or more other communicators. It is a common practice for a project manager, customer service representative, a mediator, and other coordinators to instantiate multiple text exchange interfaces at a time. Simultaneously utilizing these multiple interfaces can be confusing and incurs a risk that a user will become confused and inadvertently convey information to an unintended recipient. Further, archiving details of a series of communications conducted over different text-exchange interfaces can be difficult. 
         [0005]    To illustrate by example, a senior engineer of a large company, fictitiously named Joe Bloggs, can be responsible for assisting teams of deployed engineers, system managers, technicians, designers, and the like. On a typical day, Joe can respond to hundreds of inquiries. At any one time, Joe can have eight to ten text exchange interfaces active. Often, a single situation results in Joe coordinating with multiple people, each having a corresponding text exchange interface. Use of these multiple interfaces can be confusing, can result in mistakes, and can make archiving or follow-up actions difficult. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention discloses a text exchange facility that permits a user to combine multiple pre-existing text exchange interfaces into a single interface. When previous text-exchange interfaces are joined, different tabs can be presented in a joined or combined interface. A one-to-one correspondence can exist between tabs in the joined interface and active real-time text exchange sessions. Joining interfaces can have no effect on the underlying text exchange sessions or upon communications/activities experienced by communicators with whom the user exchanges textual messages. Joined interfaces can be identified by a user specified topic or name. In one embodiment, history and/or records concerning text exchange contents can be maintained on a topic-by-topic manner. 
         [0007]    The present invention can be implemented in accordance with numerous aspects consistent with the material presented herein. For example, one aspect of the present invention can include a method for combining text exchange interfaces for different sessions into a single interface. The method can include a step of detecting a join interface event associated with a plurality of different interfaces. Each of the different interfaces can be associated with at least one text exchange session. A combined interface can be created through which a user is able to participate in each of the text exchange sessions originally associated with the different interfaces. The combined interface can be presented in a graphical user interface. The different interfaces can be automatically closed when the combined interface is presented. 
         [0008]    Another aspect of the present invention can include a text exchange application that includes a joining engine. The joining engine can create a single combined text exchange interface from a plurality of user selected interfaces that are each associated with a text exchange session. The combined text exchange interface is one that enables a user to participate in each of the text exchange sessions associated with the plurality of user selected interfaces. 
         [0009]    Still another aspect of the present invention can include a combined text exchange interface. The combined text interface includes more than one user selectable graphical user interface items which can be session specific tabs. Each of the tabs can be associated with a related communication session. Each session can originally correspond to a session specific interface. These session interfaces can be combined into the combined interface responsive to a user input. The text exchange interface can include a dialog region displaying text exchanged during the associated text exchange session and an outgoing region in which a user is able to type new messages that are to be conveyed to remote communicators involved in the associated text exchange session. 
         [0010]    It should be noted that various aspects of the invention can he implemented as a program for controlling computing equipment to implement the functions described herein, or as a program for enabling computing equipment to perform processes corresponding to the steps disclosed herein. This program may be provided by storing the program in a magnetic disk, an optical disk, a semiconductor memory, or any other recording medium. The program can also be provided as a digitally encoded signal conveyed via a carrier wave. The described program can be a single program or can be implemented as multiple subprograms, each of which interact within a single computing device or interact in a distributed fashion across a network space. 
         [0011]    It should also be noted that the methods detailed herein can also be methods performed at least in part by a service agent and/or a machine manipulated by a service agent in response to a service request. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    There are shown in the drawings, embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. 
           [0013]      FIG. 1  is a schematic diagram illustrating a text exchange, system that includes at least one text exchange application having a topic based joining facility in accordance with an embodiment of the inventive arrangements disclosed herein. 
           [0014]      FIG. 2  shows a sequence of interfaces in which a text exchange application joins multiple discrete interfaces into a single one in accordance with an embodiment of the inventive arrangements disclosed herein. 
           [0015]      FIG. 3  shows a computing interface of a joined text exchange interface in accordance with an embodiment of the inventive arrangements disclosed herein. 
           [0016]      FIG. 4  shows an interface for configuring options of a text exchange interface in accordance with an embodiment of the inventive arrangements disclosed herein. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]      FIG. 1  is a schematic diagram illustrating a text exchange system  100  that includes at least one text exchange application  132  having a topic based joining facility in accordance with an embodiment of the inventive arrangements disclosed herein. As used herein, text exchange refers to any real-time, interactive, text based communication mechanism, such as chatting, instant messaging, text messaging, and the like. Text exchange communications for purposes of system  100  can include content in addition to text, such as audio, video, pictures, Web links, file exchanges, and the like. Hence, any type of communication, which includes an exchange of text between two or more users  110 - 116 , can be considered a text exchange communication. 
         [0018]    In system  100 , the joining facility can be used to join multiple, previously distinct text exchange interfaces into a singe interface  138  responsive to a user selection. The user  110  can also establish a context or name for the joined interface  138 . For example, if Cathy, Tom, and Sam from interface  138  are all engineers working on a common project, the context for interface  138  can be “Engineer˜Project ABC.” The joined interface  138  permits user  110  to reduce screen clutter and typographical errors, which are common when multiple text exchange interfaces are presented within a single desktop. Further, context specific archives  136  can be stored for all communications occurring within interface  138  which helps user  110  organize communications for later reference. Appreciably, when a communication context spans multiple interfaces (not shown), multiple archives  136  can result which can be very difficult to later reconstruct to create a cohesive communication. 
         [0019]    As shown in  FIG. 1 , users  110 - 116  can each utilize a device  122 - 126 ,  130  equipped with a text exchange application to communicate with each other via network  150 . Text exchange server  140  can optionally facilitate communications, unless the communications are peer-to-peer exchanges. Initially, user  110  can be presented with separate text exchange interfaces (not shown) for user  112  (Cathy), user  114  (Tom), and user  116  (Sam). A user  110  interaction can trigger the capabilities of a joining engine  134  to create text exchange interface  138  which represents a joining of three previously distinct interfaces. In one embodiment, the joining does not affect communications with any of the users  112 - 116  and these users  112 - 116  can remain unaware of an occurrence of a consolidation of the communication interfaces by user  110 . Previous communications presented within the previously un-joined interfaces can optionally be moved into the new joined interface  138 . 
         [0020]    In one optional implementation of system  100 , user  110  can be provided an option to conference one or more of the previously distinct communicators together. For example, user  110  can be permitted to join Cathy (user  112 ) and Tom (user  114 ) into a single unified communication session. The tabs of interface  138  would then change to reflect this conferencing. That is, instead of user  110  conducting three distinct text exchange sessions with users  112 ,  114 , and  116  respectively, the user  110  would be conducting two text exchange sessions—a first involving users  110 - 114 ; and, a second involving user  110  and user  116 . 
         [0021]    The devices  122 - 126 ,  130  can each be a communication device configured to engage in text exchange communications with a text exchange communication recipient. Each device  122 - 126 ,  130  can be implemented as any of a variety of computing devices including, but not limited to, a personal computer, a notebook, a kiosk, a personal data assistant (PDA), a mobile phone, a media player, a communication station, and the like. Each device  122 - 126 ,  130  can include hardware/software/firmware representing a text exchange application. In one embodiment, different devices  122 - 126 ,  130  can communicate with each other using different text exchange protocols, which a network intermediary (server  140 ) transforms to enable compatible exchanges. For example, device  124  can utilize a text messaging protocol to exchange text with device  126 , which utilizes an Instant Messaging protocol. 
         [0022]    Text exchange server  140  can be used to receive a textual message from device  122 , or a similar device, and deliver the textual message to a text exchange communication recipient. The text exchange server  140  can be a text messaging server, a chat server, an instant messaging server, and the like. The server  140  can optionally include transcoding and conversion capabilities. In one embodiment, the server  140  can include speech processing capabilities which permit text exchanges to be dynamically converted to and from speech, so that a different communicator (not shown) using a voice user interface (VUI) can communicate in real time using a speech modality with any of the devices  122 - 126 ,  130 , which use a text exchange modality. 
         [0023]    The joining engine  134  can be used to join multiple text exchange communications into a single topic based communication. In one embodiment, joining engine  134  can be code incorporated within application  132 . The joining engine  134  can also be implemented as a software plug-in, which enhances capabilities of the text exchange application  132 . 
         [0024]    Network  150  can include any hardware/software/and firmware necessary to convey digital content encoded within carrier waves. Content can be contained within analog or digital signals and conveyed through data or voice channels and can be conveyed over a personal area network (PAN) or a wide area network (WAN). The network  150  can include local components and data pathways necessary for communications to be exchanged among computing device components and between integrated device components and peripheral devices. The network  150  can also include network equipment, such as routers, data lines, hubs, and intermediary servers which together form a packet-based network, such as the Internet or an intranet. The network  150  can further include circuit-based communication components and mobile communication components, such as telephony switches, modems, cellular communication towers, and the like. The network  150  can include line based and/or wireless communication pathways. 
         [0025]    The archives  136  can be stored in a data store. This data store can be physically implemented within any type of hardware including, but not limited to, a magnetic disk, an optical disk, a semiconductor memory, a digitally encoded plastic memory, a holographic memory, or any other recording medium. The data store can be a stand-alone storage unit as well as a storage unit formed from a plurality of physical devices, which may be remotely located from one another. Additionally, information can be stored within each data store in a variety of manners. For example, information (e.g., archives  136 ) can be stored within a database structure or can be stored within one or more files of a file storage system, where each file may or may not be indexed for information searching purposes. 
         [0026]      FIG. 2  shows a diagram  200  of a sequence of interfaces  220 - 224  in which a text exchange application joins multiple discrete interfaces into a single one  260  in accordance with an embodiment of the inventive arrangements disclosed herein. In diagram  200 , desktop interface  210  can depict a state before the text exchange application has joined the interfaces. Desktop interface  250  can depict a state after the joining has been completed. 
         [0027]    More specifically, desktop interface  210  can include the following interfaces; Cathy TE  220 , Tom TE  222 , Sam TE  224 , Jill TE  226 , and Sally TE  228 . These interfaces  220 - 228  are each used for text exchange communication sessions involving a single communicator. The user of interface  210  can use a selectable tool  230  to select a set of these interfaces  220 - 228  and to join the set into a single interface. As shown, a lasso tool  230  can be used to select a point, then dragged out to enclose all the interfaces which should be joined. The joining tool  230  is not intended to be limited to a lasso, and any other selection mechanism can be used. For example, the interfaces  220 - 224  can be dragged and dropped into each other to effect the joining of the interfaces in another contemplated embodiment of the invention. 
         [0028]    Once a set of interfaces to be joined is selected ( 230 ), a pop-up window  240  or other GUI element can permit a user to specify a group name  242 . The merged interface  260  is referenced by this user-provided name  242 . Interfaces not involved in a join operation, such as interfaces  226  and  228 , remain unchanged in desktop  250 , as shown by interfaces  266  and  268 . 
         [0029]      FIG. 3  shows an interface  300  which shows a desktop  310  including a combined text exchange interface  330 . The combined interface  330  can include multiple tabs  340  for three different text exchange communication sessions—one for Cathy, one for Tom, and one for Sam. Each of these communication sessions could be initially established in a separate interface, which was joined together by a user selection of an interface join action. 
         [0030]    A menu bar  334  can be included in the interface  330 , which has numerous selectable options. The options can include, but are not limited to, an option for saving the conversation or conversations, for joining more text exchange communications, for splitting some of the text exchange communications back into separate text exchange communications, and the like. 
         [0031]    Each communication session tab  340  can be used to show the current text exchange communications in the combined text exchange interface  330 . In one embodiment, each tab can include an option to split  339  a communication session back into a separate interface and an option to close  338  or terminate the related communication session. 
         [0032]    Communications for a session are presented in the exchange region  342 . New messages can be input in the outgoing message  344  region. 
         [0033]    Desktop taskbar entries  320  can be included for an executing text-exchange application. Selection of the base taskbar entry  320  can present a selectable pop-up, showing each topically or context based text exchange. Topically based interfaces can be expanded to show individual sessions  323 . When a session is selected in a pop-up  322  or  323 , it can be automatically displayed in the desktop  310 . In one embodiment, when new communications are received for an interface, that interface can be visually designated. 
         [0034]    For example, when new communications are received for an HR related interface, that interface can be highlighted in a characteristic color and/or be shown as a separate taskbar entry, which may blink or otherwise indicate new activity. In another embodiment, new communications for a session can result in a related tab  340  changing color to inform a user of an incoming message. 
         [0035]    Desktop  310  can include a drop zone  345 , into which users can drag and drop text exchange interfaces. Dropping an interface into the drop zone  345  results in the interface being added to an active combined interface  347 , such as the HR related interface. When a combined interface, such as interface  330 , is dragged and dropped into the drop zone  345 , each component session can be added to the indicated interface  347 . 
         [0036]      FIG. 4  shows an interface  400  that can be used to configure the behavior of joining multiple text exchange communications into a single topic based communication. The interface  400  can be used by a user  110  to configure behavior of the text exchange application  132  of system  100 . The configurable options  420 - 432  represent a few contemplated user selectable settings and are not intended to be exhaustive. 
         [0037]    Option  420  indicates whether topic based text exchange interfaces are to be color coded. Option  422  establishes a maximum number of people or communication sessions that can be combined into a single joined interface. A response indication option  424  can give the user the option to cause a GUI indicator to appear on the tab of a text exchange communication when a response is received. A taskbar response indication option  426  can give the user the option to cause a GUI indicator to appear on the taskbar to indicate a response has been received from one of the text exchange communications in the single topic based communication. The carry dialog option  428  can selectively cause text contained in a pre-joined interface to be added (e.g., carried over) to the joined interface. The remove dialog with split option  430  can cause text exchanges from a split session to be removed from a topic based interface&#39;s history or archive. The auto history option  432  can give the user the option to automatically show/record the conversation history from previous conversations associated with a text exchange interface. 
         [0038]    It should he appreciated that the GUI elements and arrangements expressed in  FIGS. 2-4  are for illustrative purposes only and are not intended to be interpreted as a constraint upon the invention. That is, different implementations of the invention lend themselves to different interface mechanisms, to which software developers will adapt implementation specifics. These adaptations, which permit a user to join multiple text exchange interfaces into a single interface, are all within the scope of the present invention. For example, different GUI tools, such as toolbars, ribbons, hot-keys, and the like other than those illustrated, can be utilized to achieve approximately equivalent results as those described herein. 
         [0039]    The present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. 
         [0040]    The present invention also may be embedded in a computer program product, which comprises all the 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 in the present context means 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; b) reproduction in a different material form. 
         [0041]    This invention may be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.