US20070100952A1 - Systems, methods, and media for playback of instant messaging session histrory - Google Patents
Systems, methods, and media for playback of instant messaging session histrory Download PDFInfo
- Publication number
- US20070100952A1 US20070100952A1 US11/260,565 US26056505A US2007100952A1 US 20070100952 A1 US20070100952 A1 US 20070100952A1 US 26056505 A US26056505 A US 26056505A US 2007100952 A1 US2007100952 A1 US 2007100952A1
- Authority
- US
- United States
- Prior art keywords
- instant messaging
- session
- history
- playback
- indication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000033001 locomotion Effects 0.000 claims abstract description 154
- 238000012546 transfer Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000004891 communication Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1831—Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Definitions
- the present invention is in the field of data processing systems and, in particular, to systems, methods and media for playback of instant messaging session history in an instant messaging system by facilitating recording and playback of an instant messaging session history to a user.
- PCs may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM or DVD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter.
- CPU central processing unit
- BIOS ROM basic input/output system read only memory
- IM instant messaging
- IM systems allow two or more users on computer systems such as PCs or mobile computing devices to exchange messages in real-time (or near real-time).
- IM systems allow users to maintain a list of other users, called a buddy or contact list, with whom they wish to interact.
- a user can send an instant message to any person on their contact list as long as that person is on-line.
- Sending a message to an on-line user opens up an instant messaging window where each user may type messages that the other user may see, allowing for an electronic “conversation”.
- the instant messaging window typically includes both text input by the user as well as received messages, with new content typically appearing at the bottom of the window as older content scrolls upwards in the window.
- IM systems also provide chat room capability, where a user can set up a chat room to be shared by multiple users.
- the chat room operates under the same principles as basic instant messaging applied to multiple users, as each user may type in messages for other users in the chat room to see.
- Existing IM systems include Time Warner, Inc.'s AOL® Instant MessengerTM (AIM), Microsoft® Corporation's MSN MessengerTM, and Yahoo! Inc.'s Yahoo!® MessengerTM.
- IM systems allow users to exchange text messages as well as files such as sounds, video, or pictures.
- the popularity of IM systems is partially based on the immediacy of IM systems, particularly when compared to e-mail. This immediacy typically requires both parties in an IM exchange to be on-line at the same time, in contrast to e-mail. It allows, however, for interactive, back-and-forth exchanges of information without having to perform multiple steps to read, reply, and send a reply e-mail. By ensuring that the recipient of a message is available when a message is sent, the message can be delivered and presented to the recipient nearly instantly (as network conditions allow).
- IM systems continue to increase in popularity, existing IM systems do not provide an efficient and effective mechanism for a user to review the real-time performance of an IM session or chat (such as aspects of speed or frequency of messaging) after termination of the session.
- Some IM systems provide a transcript of an IM session that includes the text of the conversation, but such a transcript lacks the context of the frequency or speed of messaging. There is, therefore, a need for an easy and effective system to facilitate review of the performance of an IM session or chat.
- Embodiments may include, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps.
- Embodiments may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps.
- the instant messaging events may include one or more of a text message, a file transfer, an input device movement, a session beginning or a session ending.
- Another embodiment provides a machine-accessible medium containing instructions effective, when executing in a data processing system, to cause the system to perform a series of operations for playing back an instant messaging session.
- the series of operations generally includes, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps.
- the series of operations may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps.
- a further embodiment provides a client computer system of an instant messaging system.
- the client computer system may include a communications module to send and receive information to and from a second client computer system and an instant messaging client to initiate an instant messaging session with the second client computer system via the communications module and to send and receive one or more instant messaging events as part of an instant messaging session.
- the client computer system may also include an instant messaging history module to record a history of the instant messaging session, where the instant messaging history module may also playback the recorded instant messaging session history.
- FIG. 1 depicts an environment for an instant messaging history system for recording and playback of instant messaging history according to one embodiment
- FIG. 2 depicts a block diagram of one embodiment of a computer system suitable for use as a component of the IM history system
- FIG. 3 depicts a conceptual illustration of software components of a client computer system of the IM history system according to one embodiment
- FIG. 4 depicts an example of a flow chart for recording an IM session history and displaying a playback of the IM session history to a user according to one embodiment
- FIG. 5 depicts an example of a flow chart for determining tracking information relating to input device movement and recording the tracking information in an IM history database according to one embodiment
- FIG. 6 depicts an example of a flow chart for receiving highlighting tracking information from another client computer system, displaying an equivalent movement to a user, and recording the equivalent movement in an IM history database according to one embodiment
- FIG. 7 depicts an example of a flow chart for receiving pointer movement tracking information from another client computer system, displaying an equivalent movement to a user, and storing the equivalent movement in an IM history database according to one embodiment.
- Embodiments may include, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps.
- Embodiments may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps.
- the instant messaging events may include one or more of a text message, a file transfer, an input device movement, or a status indication such as offline, returned from offline, away, returned from away, secure session established, secure session error, other error, a session beginning or a session ending.
- the system and methodology of the disclosed embodiments allows users to record and playback histories of instant messaging sessions, including a history of any text messages, file transfers, status indications, or input device movements.
- a user may be able to experience the feel or flow of the session in a way that a simple transcript cannot accomplish.
- the disclosed system may also be particularly useful when input device movements such as highlighting or pointer movements are shared, as these movements can be recreated during the playback and provide another dimension to the history.
- the disclosed systems and methodologies provide an efficient and effective mechanism for a user to view playbacks of an IM session.
- FIG. 1 depicts an environment for an instant messaging history system for recording and playback of instant messaging history according to one embodiment.
- the instant messaging (IM) history system 100 includes a plurality of client computer systems 102 in communication with a network 104 .
- the IM history system 100 may also include an IM server 106 in communication with network 104 for managing the instant messaging system.
- the client computer systems 102 and the IM server 106 may be located at the same location, such as in the same building or computer lab, or could be remote.
- remote is used with reference to the distance between the components of the IM history system 100 , the term is used in the sense of indicating separation of some sort, rather than in the sense of indicating a large physical distance between the systems.
- any of the components of the IM history system 100 may be physically adjacent or located as part of the same computer system in some network arrangements.
- Client computer system 102 may include one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, set-top boxes, mobile phones, wireless devices, or the like.
- client computer system 102 may be a computer system as described in relation to FIG. 2 .
- the client computer system 102 may be in wired or wireless communication with network 104 .
- Each client computer system 102 may include an IM client 108 , which may be a software application that communicates with the IM server 106 to facilitate instant messaging by a user of the client computer system 102 with another user.
- the IM client 108 may transmit information, such as messaging content, status information, or input device movement information, to the IM server 106 , which in turn may forward it to a recipient client computer system 102 .
- the IM client 108 may receive information as well, such as messaging content, status information, or tracking information, from the IM server 106 .
- the IM clients 108 of different client computer systems 102 may communicate with each other directly instead of communicating through the IM server 106 .
- Each client computer system 102 may also include an IM history module 114 .
- the IM history module 114 may record an indication of the history of an instant messaging session, such as by saving or storing an indication of instant messaging events and an associated timestamp for each event.
- An IM session may include any type of instant messaging session, including multi-party IM chats.
- Instant messaging events may include any type of event during an instant messaging session, including the beginning or termination of the session, status and error messages, text messages or other communications between users, the transfer of files (e.g., sounds, video, text, etc.) between users, an indication of input device movements, audio, video, etc.
- Status information may include an offline indication, a returned from offline indication, an away indication, a returned from away indication, a secure session established indication, a secure session error indication, an other error indication, a session beginning, a session ending, or any other status information.
- the IM history module 114 may also facilitate playback of the instant messaging session to a user, such as by receiving playback commands from a user and displaying the requested portion of the IM session to the user. As will be described in more detail subsequently, the IM history module 114 may advantageously allow a user to view a playback of all or part of an IM session, including the timing of communications, status changes, input device movements, file transfers, etc., providing an effective mechanism to view the performance of an IM session.
- Network 104 may be any type of data communications channel, such as the Internet, an intranet, a LAN, a WAN, an Ethernet network, a wireless network, a proprietary network, or a broadband cable network.
- Many instant messaging systems, such as ICQ utilize the Internet and are open to all.
- Other IM systems, such as AIMTM, use proprietary networks, while others such as MSN MessengerTM use semi-private networks.
- AIMTM use proprietary networks
- MSN MessengerTM use semi-private networks.
- the IM server 108 may be executing on one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, or the like. In some embodiment, the IM server 108 may be a computer system as described in relation to FIG. 2 .
- An example IM server 108 is an International Business Machine Corporation (IBM) eServer® server.
- the IM server 106 may include an IM system manager 110 to facilitate instant messaging between IM clients 108 on different client computer systems 102 by transmitting and receiving information, such as the identification, status, and/or network address of IM clients 108 and/or client computer systems 102 , messaging content, or information relating to movement of user input devices.
- the IM server 106 may include an IM history module 114 similar to that of the client computer system 102 .
- the IM history module 114 of the IM server 106 may record the history of multiple IM sessions for later playback, archiving, or analysis.
- a user of a client computer system 102 may access a playback of an IM session history by requesting such playback form the IM history module 114 of the IM server 106 instead of a local IM history module 114 .
- the IM history system 100 may include IM history modules 114 at either or both of the client computer systems 102 and IM server 106 .
- the IM server 106 may also optionally include a tracking information manager 112 when input device movements are transmitted as part of the IM session.
- the tracking information manager 112 may receive, transmit, and/or analyze tracking information relating to input device movement by a user involved in an IM session.
- the tracking information manager 112 may receive tracking information from a sending IM client 108 , optionally analyze or otherwise process it, and then transmit the tracking information to a recipient IM client 108 .
- a tracking information manager 112 may not be needed if, for example, the tracking information is handled in the same fashion as messaging content or if two client computer systems 102 are in direct communication without the IM server 106 being involved.
- the tracking information manager 112 may thus allow two users utilizing IM clients 108 on different client computer systems 102 to share input device movements between them.
- a client computer system 102 may (such as upon request of the user) receive user input from a user input device representing movement of a pointer or other representation of the input device in the instant messaging window of that user's IM client 108 .
- the user may, for example, point out text from a few lines back in the history with a gesture of their mouse or highlight earlier text with the mouse.
- the client computer system 102 may then convert that input into tracking information for transmission and use by a recipient client computer system 102 .
- the recipient client computer system 102 may then use the tracking information to determine an equivalent movement for the open window of its IM client 108 and then to display that equivalent movement to the user in the instant messaging window. If the first user highlighted text with her mouse, for example, the same text would be highlighted in the instant messaging window for the second user. In another example, if the first user used their mouse to circle a word or point to a portion of the window, such gesture or motion would be repeated in the second user's window. In this way, a user may simply highlight or point her mouse towards particular text in the instant messaging window and have an equivalent motion be performed for the person with whom they are communicating.
- the systems and methodologies of the disclosed embodiments provide an efficient and effective mechanism for a user to view the performance of an IM session after the session has completed.
- a user may playback all or part of the IM session to view the occurrence of IM events during real-time.
- viewing the occurrence of IM events may give a user more insight or information than a simple transcript.
- a user for example, could infer hesitation by the other user in noticing a delayed response to a query.
- the disclosed systems may also be particularly useful when gestures or other input device movement information is shared as part of an IM session.
- the disclosed system allows a user to view gestures, highlighting, pointer movement or other input device movement during the playback, which may significantly enhance the value of the playback experience.
- a student viewing a class held as an IM session could, in this example, review the class at a later time complete with pointer movements made by the professor, allowing the user to experience the class as it was initially performed instead of viewing a static transcript.
- the disclosed system may provide value when one user responds to a first question from another user shortly after a second question is posed, making it appear on a transcript that the responding user responded to the second question instead of the first question.
- a playback of the questions and answers will make it clear the responding user was responding to the first question.
- FIG. 2 depicts a block diagram of one embodiment of a computer system 200 suitable for use as a component of the IM history system 100 , such as a client computer system 102 or an IM server 106 .
- a computer having capabilities other than those ascribed herein and possibly beyond those capabilities, and they may, in other embodiments, be any combination of processing devices such as workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, mobile phones, wireless devices, set-top boxes, or the like.
- At least certain of the components of computer system 200 may be mounted on a multi-layer planar or motherboard (which may itself be mounted on the chassis) to provide a means for electrically interconnecting the components of the computer system 200 .
- the computer system 200 includes a processor 202 , storage 204 , memory 206 , a user interface adapter 208 , and a display adapter 210 connected to a bus 214 .
- the bus 214 facilitates communication between the processor 202 and other components of the computer system 200 , as well as communication between components.
- Processor 202 may include one or more system central processing units (CPUs) or processors to execute instructions, such as an IBM® PowerPCTM processor, an Intel Pentium® processor, an Advanced Micro Devices Inc. processor or any other suitable processor.
- the processor 202 may utilize storage 204 , which may be non-volatile storage such as one or more hard drives, tape drives, diskette drives, CD-ROM drive, DVD-ROM drive, or the like.
- the processor 202 may also be connected to memory 206 via bus 212 , such as via a memory controller hub (MCH).
- System memory 206 may include volatile memory such as random access memory (RAM) or double data rate (DDR) synchronous dynamic random access memory (SDRAM).
- the user interface adapter 208 may connect the processor 202 with user interface devices such as a mouse 220 or keyboard 222 .
- the user interface adapter 208 may also connect with other types of user input devices, such as touch pads, touch sensitive screens, electronic pens, microphones, etc.
- the bus 212 may also connect the processor 202 to a display, such as an LCD display or CRT monitor, via the display adapter 210 .
- FIG. 3 depicts a conceptual illustration of software components of a client computer system of the IM history system according to one embodiment.
- the client computer system 102 of the depicted embodiment includes an IM client 108 , an IM history module 114 , a communications module 302 , and a user interface module 304 .
- the client computer system 102 may also include an optional input device tracking module 306 and input device movement translator 308 when input device movement is being tracked during an IM session.
- the IM client 108 may initiate IM sessions, receive and transmit user authentication information (i.e., password and ID), provide for the transmission and receipt of messaging content during the IM session, maintain contact lists of other users associated with other IM clients 108 , encrypt or decrypt communications, or perform other tasks associated with instant messaging.
- the IM history module 114 of the disclosed embodiments may also record and playback to a user a history of an IM session.
- the IM client 108 may utilize the communications module 302 to facilitate communications to and from an IM server 106 and/or the IM clients 108 of other client computer systems 102 via network 104 .
- the user interface module 304 may receive user input from user input devices such as a mouse 220 or keyboard 222 and may transmit an indication of the received input to other components of the client computer system 102 , such as the IM history module 114 .
- the user interface module 304 may, through display adapter 210 , also display the contents of an IM session either live or as a playback using display 214 . Alternatively, the user interface module 304 may use audio, print, or other output in lieu of using a display 214 .
- the IM history module 114 may include sub-modules such as an IM history player 322 and an IM history database 320 to perform various tasks.
- the IM history database 320 may store the history of any IM sessions performed by the IM client 108 . In one embodiment, IM session histories are only stored at user request, but in other embodiments IM session histories may be stored by default, based on user configurations, or any other methodology.
- the IM history database 320 may also store a timestamp associated with each IM event in an IM history. For example, the IM history module 114 may store a timestamp for each text communication, input device movements, file transfers, or other IM events in the IM history database 320 .
- the IM history player 322 may playback some or all of an IM session to a user so that they can view the history of the IM session.
- the IM history player 322 may translate the input device movements as necessary to accommodate the size or configuration of the playback window.
- the IM history player 322 may access the stored IM history in the IM history database 320 and then playback an IM session in ‘real-time’ in a playback window.
- the IM history player 322 may playback the session at the same speed at which it was first performed, or it may playback the session at a faster or slower rate based upon user preference, user request, or its own algorithms.
- the IM history player 322 may, for example, playback long periods of inactivity at an accelerated rate as periods of inactivity may provide little value to the user. Similarly, in another example, the IM history player 322 may play periods of high activity during the IM session at a slower rate so that the user may view the details more easily.
- the IM history player 322 may offer any type of command to users, such as selecting IM histories for review, play, fast forward, rewind, stop, speed of review, bookmarking portions of the IM history, etc. In one example, a user may request the IM history player 322 to begin playing at the 32 nd minute of an IM session.
- the IM history player 322 may then skip to the 32 nd minute of the session and begin playing back the IM session from that point (by accessing the saved session).
- the subsequent text messages (and any movements or other events) would then be displayed to the user at the same timing and frequency at which they originally occurred.
- the user in this example could also request that the playback be accelerated or decelerated.
- user control of the playback may be accomplished in any fashion.
- the IM history player 322 and IM history database 320 are depicted in FIG. 3 as part of an IM history module 114 as part of a single client computer system 102 , other alternatives are possible.
- the IM history database 320 may be located at a central database (such as at an IM server 106 ) that is accessed by an IM history player 322 located at a client computer system 102 .
- the IM history database 320 and the IM history player 322 may be located on separate client computer systems 102 , such as if a user had a PDA with a IM history player 322 that accessed an IM history database 320 stored on their home personal computer.
- the IM history system 100 may provide for tracking input device movements during IM sessions, requiring the use of an input device tracking module 306 and/or an input device movement translator 308 for the client computer system 102 .
- the input device tracking module 306 may determine that the movement of an input device should be tracked and may also track the input device movement signals received by the user interface module 304 .
- the input device tracking module 306 (through the use of its sub-modules, described subsequently) may determine tracking information based on the received input device movement information for transmission to another client computer system 102 and/or IM client 108 .
- the input device tracking module 306 may include one or more sub-modules to track the input device movement and to determine tracking information based on the movement.
- the input device tracking module 306 includes a highlighting tracker sub-module 312 and a pointer movement tracker sub-module 314 .
- the highlighting tracker sub-module 312 may track highlighting of text by a user in an instant messaging window.
- a user may highlight text by actuating and holding the left-mouse button of their mouse 220 and using the mouse 220 to ‘drag’ over the text to be highlighted.
- the highlighting tracking sub-module 312 may, in one embodiment, track such a movement by determining the first and last characters that are highlighted (with all characters in between the first and last characters also being highlighted).
- the tracking information in this environment may be the location or identity of the first and last highlighted characters (e.g., from the 5 th character to the 37 th character), as well as additional information about the highlighting such as a special emphasis (e.g., different color, font, size, etc.).
- Another client computer system 102 may receive the tracking information and display an indication of that highlighting in its own IM window, thus allowing the users to share the highlighting information.
- the pointer movement tracker sub-module 314 may track mouse movement by a user in an instant messaging window to determine tracking information for use by another client computer system 102 and/or IM client 108 .
- a user may move the mouse 220 or other pointing device (e.g., a finger on a touch-screen display, a joystick, a trackball, voice commands, etc.) to cause gestures of a pointer in the instant messaging window.
- a user may use the mouse 220 to point to a word with the pointer, point to a block of text, emphasize a portion of their open window, gesture a connection between two chat lines, move the pointer back and forth over a word or group of words, or otherwise try to communicate with movement of the pointer.
- the pointer movement tracker sub-module 314 may receive these input device movements and determine tracking information based on them for use by another client computer system 102 and/or IM client 108 . In some embodiments, the pointer movement tracker sub-module 314 may determine the tracking information by determining the beginning and end characters of a movement (and optionally the speed of that movement).
- the input device movement translator 308 may receive tracking information from another client computer system 102 and/or IM client 108 to translate that into display commands for displaying an equivalent movement to a user of the recipient client computer system 102 . As such, the input device movement translator 308 need only execute on a client computer system 102 on which equivalent movements based on tracking information from another client computer system 102 are displayed. In contrast, the input device tracking module 306 need only be located on a client computer system 102 that is the source of tracking information, and a particular client computer system 102 may include either or both of the input device tracking module 306 and the input device movement translator 308 . The input device movement translator 308 may translate any received tracking information into equivalent movement commands for display to a user. A user with a client computer system 102 equipped with an input device movement translator 308 may thus view movements such as highlighting or pointer movements from another user in their instant messaging window.
- FIG. 4 depicts an example of a flow chart 400 for recording an IM session history and displaying a playback of the IM session history to a user according to one embodiment.
- the method of flow chart 400 may be performed, in one embodiment, by a client computer system 102 with an IM history module 114 .
- Flow chart 400 begins with element 402 , where an IM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’.
- the IM client 108 may, in one embodiment, initiate the session when a user of the IM client 108 either selects a contact with whom they desire to start a session or affirmatively responds to a request for a session from another user.
- the IM history module 114 may receive a request to record an IM session history for the session initiated at element 402 , such as from the IM client 108 or from the user via user interface module 304 .
- the IM history module 114 may record the IM session history throughout the IM session. At decision block 406 , the IM history module 114 may determine whether an IM event has occurred. If an IM event has not occurred, flow chart 400 returns to decision block 406 to await the occurrence of an IM event. If an IM event has occurred, the IM history module 114 may determine a timestamp associated with the IM event at element 408 . In one embodiment, the timestamp for an IM event should be determined to the level of a second or less.
- a timestamp accurate to a second or less may provide an acceptable level of fidelity, while for IM sessions that include animation such as input device movements, timestamp fidelity on the order to tens or hundreds of milliseconds may be more useful. Recording less fidelity for the timestamp accuracy than the times described herein (multiple seconds or longer) may also be used in exchange for less utility of the disclosed system.
- the fidelity of the timestamp may be a default value, configured by an administrator or user, or determined in any other fashion.
- the IM history module 114 may record an indication of the IM event and the timestamp in the IM history database 320 at element 410 .
- the IM event and the timestamp may be stored in a table located in the IM history database 320 .
- the timestamps may be stored in a detailed version of a session transcript.
- the IM history module 114 may next determine if the IM session has terminated (or, alternatively, if the recording of the IM session has been terminated) at decision block 412 . If the IM session or recording are terminated, the method of flow chart 400 may continue to element 414 ; otherwise, the method of flow chart 400 may return to decision block 406 for further processing of the next IM event.
- the IM history module 114 may receive a request to view an IM session history at element 414 .
- the IM history module 114 may then launch an IM history player 322 to playback an IM session history for the user.
- the IM history player 322 may receive playback commands from a user.
- Playback commands may include any instructions from the user as to the playback of one or more IM session histories, including traditional media content playback commands (e.g., play, fast forward, stop, pause, rewind, increase or decrease speed of playback, etc.), requests to playback one or more IM session histories, requests to compare IM session histories, history search requests, requests to bookmark or otherwise save a position in a history, etc.
- the IM history player 322 may at element 420 then display a playback of the IM session history in response to the playback commands.
- the IM history player 322 may determine at decision block 422 that playback will be continued and return to element 418 to await additional playback commands; otherwise, the method of flow chart 400 terminates.
- the IM history player 322 may translate the input device movements as necessary to accommodate the size or configuration of the playback window (if it is different than the original window size during the IM session).
- the IM history layer 322 may use the methodology described in relation to the input device movement translator 308 , or may utilize an input device movement translator 308 , to accomplish this task.
- a user for example, who records her session with recorded gestures or other movements (performed by either the user or the person with whom she is conversing) may view a playback of that IM session in a different-sized window than she viewed the original session, possibly necessitating translation of the recorded input device movements to movements appropriate for the playback window size.
- FIGS. 5-7 may be applicable when input device movement is transmitted as part of an IM session. While the disclosed systems and methodologies are particularly useful when input device movement is a possible IM event, tracking of input device movement is not required for the disclosed systems and methodologies. FIGS. 5-7 and their associated description may therefore be considered an optional embodiment that illustrates the application of the disclosed system and methodology to a particular type of IM event.
- FIG. 5 depicts an example of a flow chart 500 for determining tracking information relating to input device movement and recording the tracking information in an IM history database according to one embodiment.
- the method of flow chart 500 may be performed, in one embodiment, by a client computer system 102 with an input device tracking module 306 and an IM history module 114 .
- Flow chart 500 begins with element 502 , where an IM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’.
- the IM client 108 may, in one embodiment, initiate the session when a user of the IM client 108 either selects a contact with whom they desire to start a session or affirmatively responds to a request for a session from another user.
- the input device tracking module 306 may optionally receive a request to share input device movement with another user who is party to the instant messaging conversation.
- the input device tracking module 306 may receive an indicia of the input device movement from the user interface module 304 at element 506 .
- the IM client 108 may also receive any messaging content from the user interface module 304 at element 508 .
- Messaging content may be text or other content (e.g., image files, sound files, etc.) the user inputs as part of an instant message.
- the input device tracking module 306 determines how to track the input device movement.
- the input device tracking module 306 may determine whether the received indicia relates to highlighting of text. If the indicia does relate to text highlighting, the input device tracking module 306 may track the beginning and ending character positions of the highlighted text at element 512 .
- the input device tracking module 306 may determine whether the received indicia relates to pointer movement. If the received indicia does relate to pointer movement, the method of flow chart 500 continues to element 516 , where the input device tracking module 306 may track character positions relating to the mouse movement.
- the input device tracking module 306 may track the characters or words in the instant messaging window that are closest to the beginning and end of each mouse movement. In further embodiments, the input device tracking module 306 may also track interim characters or words that the pointer passes over or near during its movement. In this embodiment, the actual path of the pointer movement may be more precisely tracked. In further embodiments, the time the pointer requires to move from one point to another may also be tracked so that the input device tracking module 306 may determine a velocity of the movement.
- the input device tracking module 306 may next determine the tracking information based on the input device movement at element 518 .
- Tracking information may be any information used to identify tracked input device movement, such as beginning or ending characters or words, times or velocity for movement, the type on input, the identity of the input device, the identity of a button selected, highlighting or ghost pointer emphasis, etc.
- the input device tracking module 306 may next at element 520 transmit the tracking information to the IM client 108 or the communications module 302 for transmittal.
- the tracking information may be transmitted separately from any messaging content, may be cached, or may be transmitted in a package with messaging content.
- the IM history module 114 may determine the timestamp associated with the tracking information and messaging content (similarly to element 408 of flow chart 400 ). To determine the timestamp associated with the messaging content, the IM history module 114 may simply use the time at which the messaging content was completed (i.e., the user pressed an ‘Enter’ or ‘Return’ key). To determine the timestamp associated with tracking information, a more sophisticated methodology may be required. In one embodiment, the movement may result in two timestamps, one for the beginning of the movement and one for the end of the movement (such as when highlighting text). In other embodiments, a more intricate movement may require more than two timestamps, such as when multiple positions in between the start and end points are recorded (such as cursor movement).
- the method of flowchart 500 may continue to element 524 , where the IM history module 114 may record an indication of the messaging content, tracking information, and the associated timestamps in the IM history database 320 , after which the method either terminates or returns to element 506 for further processing.
- FIG. 6 depicts an example of a flow chart 600 for receiving highlighting tracking information from another client computer system, displaying an equivalent movement to a user, and recording the equivalent movement in an IM history database according to one embodiment.
- the method of flow chart 600 may be performed, in one embodiment, by a client computer system 102 with an input device movement translator 308 and an IM history module 114 .
- Flow chart 600 begins with element 602 , where an IM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’ with another IM client 108 on a client computer system 102 with an input device tracking module 306 .
- the input device movement translator 308 may, at optional element 604 , receive a request to display indicia of the other user's input device movement.
- the method of flow chart 600 may then continue to element 606 , where the IM client 108 may receive messaging content from the sending client computer system 102 whose session was initiated at element 602 .
- the input device movement translator 308 may receive tracking information (through the communications module 302 ) from the sending client computer system 102 at element 608 .
- the tracking information and messaging content may be received as part of the same package, separately, or in any other fashion.
- the IM client 108 may display any received messaging content at element 610 .
- the input device movement translator 308 may next determine at decision block 612 whether the tracking information relates to highlighting of text by analyzing the tracking information. If the tracking information does not relate to highlighting, the method either terminates, returns to element 604 for continued processing, or optionally performs all or part of other methods (such as that of FIG. 7 ) for handling other types of input device movement besides highlighting. If the tracking information does relate to highlighting, the method of flow chart 600 continues to element 614 , where the input device movement translator 308 may analyze the tracking information for beginning and ending characters associated with the highlighted text or other aspects of the highlighting, such as an indication of increased emphasis (e.g., different color, font, size, boldface, etc.).
- an indication of increased emphasis e.g., different color, font, size, boldface, etc.
- the input device movement translator 308 may work with the IM client 108 to display the highlighting (with any requested emphasis added) from the beginning character to the end character at element 616 .
- the equivalent movement in the IM window for the recipient user may be simply the highlighting of the appropriate text in that window. In this fashion, the recipient user may see text highlighted by the sending user, allowing the users to communicate highlighting information via an instant messaging window.
- the beginning and ending characters may be measured from the last character in the instant messaging window to increase accuracy in situations where the windows of different users are displaying different amounts of history (and thus text).
- the IM history module 114 may determine the timestamp associated with the tracking information and messaging content and at element 620 , the IM history module 114 may record an indication of the messaging content, the tracking information, and any associated timestamps in the IM history database 320 .
- Elements 618 and 620 may be substantially similar to elements 522 and 524 , respectively, of FIG. 5 and the description will not be repeated in the interest of brevity. After recording the information, the method of flow chart 600 may either terminate or return to element 606 for continued processing.
- FIG. 7 depicts an example of a flow chart 700 for receiving pointer movement tracking information from another client computer system, displaying an equivalent movement to a user, and storing the equivalent movement in an IM history database according to one embodiment.
- the method of flow chart 700 may be performed, in one embodiment, by a client computer system 102 with an input device movement translator 308 and an IM history module 114 .
- Flow chart 700 begins with element 702 , 704 , 706 , 708 , and 710 , which may be substantially similar to elements 602 , 604 , 606 , 608 , and 610 , respectively, of FIG. 6 , and the discussion will not be repeated in the interest of brevity.
- the received tracking information at element 708 may include one or more characters or words associated with the beginning or end of an input device movement, times or velocity for any input device movement, interim characters or words associated with input device movement, or other information.
- the input device movement translator 308 may next determine at decision block 712 whether the tracking information relates to pointer movement of text by analyzing the received tracking information. If the tracking information does not relate to pointer movement, the method either terminates, returns to element 704 for continued processing, or optionally performs all or part of other methods (such as that of FIG. 6 ) for handling other types of input device movement besides mouse movement. If the tracking information does relate to pointer movement, the method of flow chart 700 continues to element 714 , where the input device movement translator 308 may analyze the tracking information for characters and/or words associated with the pointer movement. Characters and/or words associated with the pointer movement may include beginning, end, or interim characters and/or words. The input device movement translator 308 may also analyze the tracking information for other aspects of the mouse movement, such as the velocity of movement or a more precise movement path (with interim points).
- the input device movement translator 308 may at element 716 translate the tracking information into one or more incremental movement points associated with the recipient instant messaging window.
- the incremental movement points may include only the beginning and end points of a movement.
- the incremental movement points may include one or more points in between the beginning and ending points.
- the input device movement translator 308 may then work with the IM client 108 to display a moving pointer based on the incremental moving points at element 718 .
- the pointer may, in some embodiments, be a ‘ghost’ pointer that is partially faded so the user does not confuse it with their own pointer. Other types and configurations of the pointer may be used, including different shapes (e.g., arrows), colors, sizes, intensities, etc.
- the pointer may be emphasized similarly to the highlighting of FIG. 6 , such as by making the ghost pointer flashing, increasing in size, etc.
- the input device movement translator 308 may accomplish this by utilizing the start and end characters' positions (measuring backwards from the end of the window) of the recipient window to match the same characters in the sending IM window. In one example, if a sending user moved their pointer over the 5 th word and moved it up three lines and to the right to the 70 th word, the input device movement translator 308 can recreate that motion by moving a ghost pointer from the 5 th word to the 70 th word in its window, even if those words are located in different places within the window.
- the input device movement translator 308 by relying on character or word locations instead of geometric position, can thus accommodate differences in window sizes, text sizes, amounts of history, etc., between the sender and recipient window. If the recipient user's instant messaging window is much narrower than the sending user's window, for example, an equivalent movement may be steeper on the recipient's window (while still starting and ending on the same characters or words). In one embodiment, if the sender and recipient user's windows are different sizes and the equivalent movement would result in scrolling of the recipient window, the input device movement translator 308 may either automatically scroll the IM window or allow the pointer to ‘bump’ the edge of the IM window. An administrator or user may, in some embodiments, configure how the input device movement translator 308 handles such a situation.
- the IM history module 114 may determine the timestamp associated with the tracking information and messaging content and at element 722 , the IM history module 114 may record an indication of the messaging content, the tracking information, and any associated timestamps in the IM history database 320 .
- Elements 720 and 722 may be substantially similar to elements 522 and 524 , respectively, of FIG. 5 and the description will not be repeated in the interest of brevity. After recording the information, the method of flow chart 700 may either terminate or return to element 706 for continued processing.
- routines executed to implement the embodiments of the invention may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions.
- the computer program of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions.
- programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices.
- various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- The present invention is in the field of data processing systems and, in particular, to systems, methods and media for playback of instant messaging session history in an instant messaging system by facilitating recording and playback of an instant messaging session history to a user.
- Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM or DVD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. The use of mobile computing devices, such as notebook PCs, personal digital assistants (PDAs), sophisticated wireless phones, etc., has also become widespread. Mobile computing devices typically exchange some functionality or performance when compared to traditional PCs in exchange for smaller size, portable power, and mobility.
- The widespread use of PCs and mobile computing devices in various segments of society has resulted in a reliance on computer systems both at work and at home, such as for telecommuting, news, stock market information and trading, banking, shopping, shipping, communication in the form of hypertext transfer protocol (http) and e-mail, as well as other services. Many of these functions take advantage of the communication abilities offered by the Internet or other networks, such as local area networks.
- A computer system application that continues to increase in popularity is instant messaging (IM). IM systems allow two or more users on computer systems such as PCs or mobile computing devices to exchange messages in real-time (or near real-time). IM systems allow users to maintain a list of other users, called a buddy or contact list, with whom they wish to interact. Using the IM system, a user can send an instant message to any person on their contact list as long as that person is on-line. Sending a message to an on-line user opens up an instant messaging window where each user may type messages that the other user may see, allowing for an electronic “conversation”. The instant messaging window typically includes both text input by the user as well as received messages, with new content typically appearing at the bottom of the window as older content scrolls upwards in the window. Many IM systems also provide chat room capability, where a user can set up a chat room to be shared by multiple users. The chat room operates under the same principles as basic instant messaging applied to multiple users, as each user may type in messages for other users in the chat room to see. Existing IM systems include Time Warner, Inc.'s AOL® Instant Messenger™ (AIM), Microsoft® Corporation's MSN Messenger™, and Yahoo! Inc.'s Yahoo!® Messenger™.
- IM systems allow users to exchange text messages as well as files such as sounds, video, or pictures. The popularity of IM systems is partially based on the immediacy of IM systems, particularly when compared to e-mail. This immediacy typically requires both parties in an IM exchange to be on-line at the same time, in contrast to e-mail. It allows, however, for interactive, back-and-forth exchanges of information without having to perform multiple steps to read, reply, and send a reply e-mail. By ensuring that the recipient of a message is available when a message is sent, the message can be delivered and presented to the recipient nearly instantly (as network conditions allow).
- While IM systems continue to increase in popularity, existing IM systems do not provide an efficient and effective mechanism for a user to review the real-time performance of an IM session or chat (such as aspects of speed or frequency of messaging) after termination of the session. Some IM systems provide a transcript of an IM session that includes the text of the conversation, but such a transcript lacks the context of the frequency or speed of messaging. There is, therefore, a need for an easy and effective system to facilitate review of the performance of an IM session or chat.
- The problems identified above are in large part addressed by systems, methods and media for playing back an instant messaging session. Embodiments may include, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps. Embodiments may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps. The instant messaging events may include one or more of a text message, a file transfer, an input device movement, a session beginning or a session ending.
- Another embodiment provides a machine-accessible medium containing instructions effective, when executing in a data processing system, to cause the system to perform a series of operations for playing back an instant messaging session. The series of operations generally includes, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps. The series of operations may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps.
- A further embodiment provides a client computer system of an instant messaging system. The client computer system may include a communications module to send and receive information to and from a second client computer system and an instant messaging client to initiate an instant messaging session with the second client computer system via the communications module and to send and receive one or more instant messaging events as part of an instant messaging session. The client computer system may also include an instant messaging history module to record a history of the instant messaging session, where the instant messaging history module may also playback the recorded instant messaging session history.
- Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which, like references may indicate similar elements:
-
FIG. 1 depicts an environment for an instant messaging history system for recording and playback of instant messaging history according to one embodiment; -
FIG. 2 depicts a block diagram of one embodiment of a computer system suitable for use as a component of the IM history system; -
FIG. 3 depicts a conceptual illustration of software components of a client computer system of the IM history system according to one embodiment; -
FIG. 4 depicts an example of a flow chart for recording an IM session history and displaying a playback of the IM session history to a user according to one embodiment; -
FIG. 5 depicts an example of a flow chart for determining tracking information relating to input device movement and recording the tracking information in an IM history database according to one embodiment; -
FIG. 6 depicts an example of a flow chart for receiving highlighting tracking information from another client computer system, displaying an equivalent movement to a user, and recording the equivalent movement in an IM history database according to one embodiment; and -
FIG. 7 depicts an example of a flow chart for receiving pointer movement tracking information from another client computer system, displaying an equivalent movement to a user, and storing the equivalent movement in an IM history database according to one embodiment. - The following is a detailed description of example embodiments of the invention depicted in the accompanying drawings. The example embodiments are in such detail as to clearly communicate the invention. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The descriptions below are designed to make such embodiments obvious to a person of ordinary skill in the art.
- Generally speaking, systems, methods and media for playback of instant messaging session history in an instant messaging system by facilitating recording and playback of an instant messaging session history to a user are disclosed. Embodiments may include, during an instant messaging session where one or more instant messaging events occur, determining a timestamp associated with the one or more instant messaging events and recording an indication of the one or more instant messaging events and their associated timestamps. Embodiments may also include receiving one or more playback commands and, in response to the received playback commands, displaying playback of the one or more instant messaging events based on their associated timestamps. The instant messaging events may include one or more of a text message, a file transfer, an input device movement, or a status indication such as offline, returned from offline, away, returned from away, secure session established, secure session error, other error, a session beginning or a session ending.
- The system and methodology of the disclosed embodiments allows users to record and playback histories of instant messaging sessions, including a history of any text messages, file transfers, status indications, or input device movements. By playing back the history of an instant messaging session, a user may be able to experience the feel or flow of the session in a way that a simple transcript cannot accomplish. The disclosed system may also be particularly useful when input device movements such as highlighting or pointer movements are shared, as these movements can be recreated during the playback and provide another dimension to the history. As will be described in more detail subsequently, the disclosed systems and methodologies provide an efficient and effective mechanism for a user to view playbacks of an IM session.
- While specific embodiments will be described below with reference to particular configurations of hardware and/or software, those of skill in the art will realize that embodiments of the present invention may advantageously be implemented with other substantially equivalent hardware and/or software systems. Aspects of the invention described herein may be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer disks, as well as distributed electronically over the Internet or over other networks, including wireless networks. Data structures and transmission of data (including wireless transmission) particular to aspects of the invention are also encompassed within the scope of the invention.
- Turning now to the drawings,
FIG. 1 depicts an environment for an instant messaging history system for recording and playback of instant messaging history according to one embodiment. In the depicted embodiment, the instant messaging (IM)history system 100 includes a plurality ofclient computer systems 102 in communication with anetwork 104. TheIM history system 100 may also include anIM server 106 in communication withnetwork 104 for managing the instant messaging system. In theIM history system 100, theclient computer systems 102 and theIM server 106 may be located at the same location, such as in the same building or computer lab, or could be remote. While the term “remote” is used with reference to the distance between the components of theIM history system 100, the term is used in the sense of indicating separation of some sort, rather than in the sense of indicating a large physical distance between the systems. For example, any of the components of theIM history system 100 may be physically adjacent or located as part of the same computer system in some network arrangements. -
Client computer system 102 may include one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, set-top boxes, mobile phones, wireless devices, or the like. In some embodiments,client computer system 102 may be a computer system as described in relation toFIG. 2 . Theclient computer system 102 may be in wired or wireless communication withnetwork 104. Eachclient computer system 102 may include anIM client 108, which may be a software application that communicates with theIM server 106 to facilitate instant messaging by a user of theclient computer system 102 with another user. In this embodiment, theIM client 108 may transmit information, such as messaging content, status information, or input device movement information, to theIM server 106, which in turn may forward it to a recipientclient computer system 102. TheIM client 108 may receive information as well, such as messaging content, status information, or tracking information, from theIM server 106. Alternatively, theIM clients 108 of differentclient computer systems 102 may communicate with each other directly instead of communicating through theIM server 106. - Each
client computer system 102 may also include anIM history module 114. TheIM history module 114 may record an indication of the history of an instant messaging session, such as by saving or storing an indication of instant messaging events and an associated timestamp for each event. An IM session may include any type of instant messaging session, including multi-party IM chats. Instant messaging events may include any type of event during an instant messaging session, including the beginning or termination of the session, status and error messages, text messages or other communications between users, the transfer of files (e.g., sounds, video, text, etc.) between users, an indication of input device movements, audio, video, etc. Status information may include an offline indication, a returned from offline indication, an away indication, a returned from away indication, a secure session established indication, a secure session error indication, an other error indication, a session beginning, a session ending, or any other status information. TheIM history module 114 may also facilitate playback of the instant messaging session to a user, such as by receiving playback commands from a user and displaying the requested portion of the IM session to the user. As will be described in more detail subsequently, theIM history module 114 may advantageously allow a user to view a playback of all or part of an IM session, including the timing of communications, status changes, input device movements, file transfers, etc., providing an effective mechanism to view the performance of an IM session. -
Network 104 may be any type of data communications channel, such as the Internet, an intranet, a LAN, a WAN, an Ethernet network, a wireless network, a proprietary network, or a broadband cable network. Many instant messaging systems, such as ICQ, utilize the Internet and are open to all. Other IM systems, such as AIM™, use proprietary networks, while others such as MSN Messenger™ use semi-private networks. Those skilled in the art will recognize, however, that the invention described herein may be implemented utilizing any type of data communications channel. - The
IM server 108 may be executing on one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, or the like. In some embodiment, theIM server 108 may be a computer system as described in relation toFIG. 2 . Anexample IM server 108 is an International Business Machine Corporation (IBM) eServer® server. In one embodiment, theIM server 106 may include anIM system manager 110 to facilitate instant messaging betweenIM clients 108 on differentclient computer systems 102 by transmitting and receiving information, such as the identification, status, and/or network address ofIM clients 108 and/orclient computer systems 102, messaging content, or information relating to movement of user input devices. Many differentIM system manager 110 applications exist, such as ICQ, AIM™, MSN Messenger™, Yahoo!™ Messenger™, Jabber, etc. - In an alternative embodiment, the
IM server 106 may include anIM history module 114 similar to that of theclient computer system 102. TheIM history module 114 of theIM server 106 may record the history of multiple IM sessions for later playback, archiving, or analysis. In this embodiment, a user of aclient computer system 102 may access a playback of an IM session history by requesting such playback form theIM history module 114 of theIM server 106 instead of a localIM history module 114. TheIM history system 100 may includeIM history modules 114 at either or both of theclient computer systems 102 andIM server 106. - In another alternative embodiment, the
IM server 106 may also optionally include a trackinginformation manager 112 when input device movements are transmitted as part of the IM session. The trackinginformation manager 112 may receive, transmit, and/or analyze tracking information relating to input device movement by a user involved in an IM session. For example, the trackinginformation manager 112 may receive tracking information from a sendingIM client 108, optionally analyze or otherwise process it, and then transmit the tracking information to arecipient IM client 108. A trackinginformation manager 112 may not be needed if, for example, the tracking information is handled in the same fashion as messaging content or if twoclient computer systems 102 are in direct communication without theIM server 106 being involved. The trackinginformation manager 112 may thus allow two users utilizingIM clients 108 on differentclient computer systems 102 to share input device movements between them. During an IM session, for example, aclient computer system 102 may (such as upon request of the user) receive user input from a user input device representing movement of a pointer or other representation of the input device in the instant messaging window of that user'sIM client 108. The user may, for example, point out text from a few lines back in the history with a gesture of their mouse or highlight earlier text with the mouse. Theclient computer system 102 may then convert that input into tracking information for transmission and use by a recipientclient computer system 102. The recipientclient computer system 102 may then use the tracking information to determine an equivalent movement for the open window of itsIM client 108 and then to display that equivalent movement to the user in the instant messaging window. If the first user highlighted text with her mouse, for example, the same text would be highlighted in the instant messaging window for the second user. In another example, if the first user used their mouse to circle a word or point to a portion of the window, such gesture or motion would be repeated in the second user's window. In this way, a user may simply highlight or point her mouse towards particular text in the instant messaging window and have an equivalent motion be performed for the person with whom they are communicating. - The systems and methodologies of the disclosed embodiments provide an efficient and effective mechanism for a user to view the performance of an IM session after the session has completed. By recording a history of an IM session, a user may playback all or part of the IM session to view the occurrence of IM events during real-time. In many cases, viewing the occurrence of IM events may give a user more insight or information than a simple transcript. A user, for example, could infer hesitation by the other user in noticing a delayed response to a query. The disclosed systems may also be particularly useful when gestures or other input device movement information is shared as part of an IM session. The disclosed system allows a user to view gestures, highlighting, pointer movement or other input device movement during the playback, which may significantly enhance the value of the playback experience. A student viewing a class held as an IM session could, in this example, review the class at a later time complete with pointer movements made by the professor, allowing the user to experience the class as it was initially performed instead of viewing a static transcript. In another example, the disclosed system may provide value when one user responds to a first question from another user shortly after a second question is posed, making it appear on a transcript that the responding user responded to the second question instead of the first question. Using the disclosed system, a playback of the questions and answers will make it clear the responding user was responding to the first question.
-
FIG. 2 depicts a block diagram of one embodiment of acomputer system 200 suitable for use as a component of theIM history system 100, such as aclient computer system 102 or anIM server 106. Other possibilities for thecomputer system 200 are possible, including a computer having capabilities other than those ascribed herein and possibly beyond those capabilities, and they may, in other embodiments, be any combination of processing devices such as workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, mobile phones, wireless devices, set-top boxes, or the like. At least certain of the components ofcomputer system 200 may be mounted on a multi-layer planar or motherboard (which may itself be mounted on the chassis) to provide a means for electrically interconnecting the components of thecomputer system 200. - In the depicted embodiment, the
computer system 200 includes aprocessor 202,storage 204,memory 206, auser interface adapter 208, and adisplay adapter 210 connected to abus 214. Thebus 214 facilitates communication between theprocessor 202 and other components of thecomputer system 200, as well as communication between components.Processor 202 may include one or more system central processing units (CPUs) or processors to execute instructions, such as an IBM® PowerPC™ processor, an Intel Pentium® processor, an Advanced Micro Devices Inc. processor or any other suitable processor. Theprocessor 202 may utilizestorage 204, which may be non-volatile storage such as one or more hard drives, tape drives, diskette drives, CD-ROM drive, DVD-ROM drive, or the like. Theprocessor 202 may also be connected tomemory 206 viabus 212, such as via a memory controller hub (MCH).System memory 206 may include volatile memory such as random access memory (RAM) or double data rate (DDR) synchronous dynamic random access memory (SDRAM). - The
user interface adapter 208 may connect theprocessor 202 with user interface devices such as a mouse 220 orkeyboard 222. Theuser interface adapter 208 may also connect with other types of user input devices, such as touch pads, touch sensitive screens, electronic pens, microphones, etc. Thebus 212 may also connect theprocessor 202 to a display, such as an LCD display or CRT monitor, via thedisplay adapter 210. -
FIG. 3 depicts a conceptual illustration of software components of a client computer system of the IM history system according to one embodiment. Theclient computer system 102 of the depicted embodiment includes anIM client 108, anIM history module 114, acommunications module 302, and auser interface module 304. Theclient computer system 102 may also include an optional inputdevice tracking module 306 and inputdevice movement translator 308 when input device movement is being tracked during an IM session. TheIM client 108 may initiate IM sessions, receive and transmit user authentication information (i.e., password and ID), provide for the transmission and receipt of messaging content during the IM session, maintain contact lists of other users associated withother IM clients 108, encrypt or decrypt communications, or perform other tasks associated with instant messaging. As will be described in more detail subsequently, theIM history module 114 of the disclosed embodiments may also record and playback to a user a history of an IM session. - The
IM client 108 may utilize thecommunications module 302 to facilitate communications to and from anIM server 106 and/or theIM clients 108 of otherclient computer systems 102 vianetwork 104. Theuser interface module 304 may receive user input from user input devices such as a mouse 220 orkeyboard 222 and may transmit an indication of the received input to other components of theclient computer system 102, such as theIM history module 114. Theuser interface module 304 may, throughdisplay adapter 210, also display the contents of an IM session either live or as aplayback using display 214. Alternatively, theuser interface module 304 may use audio, print, or other output in lieu of using adisplay 214. - The
IM history module 114 may include sub-modules such as anIM history player 322 and anIM history database 320 to perform various tasks. TheIM history database 320 may store the history of any IM sessions performed by theIM client 108. In one embodiment, IM session histories are only stored at user request, but in other embodiments IM session histories may be stored by default, based on user configurations, or any other methodology. TheIM history database 320 may also store a timestamp associated with each IM event in an IM history. For example, theIM history module 114 may store a timestamp for each text communication, input device movements, file transfers, or other IM events in theIM history database 320. - The
IM history player 322 may playback some or all of an IM session to a user so that they can view the history of the IM session. In embodiments where input device movement is part of the recorded playback, theIM history player 322 may translate the input device movements as necessary to accommodate the size or configuration of the playback window. To accomplish the playback, theIM history player 322 may access the stored IM history in theIM history database 320 and then playback an IM session in ‘real-time’ in a playback window. TheIM history player 322 may playback the session at the same speed at which it was first performed, or it may playback the session at a faster or slower rate based upon user preference, user request, or its own algorithms. TheIM history player 322 may, for example, playback long periods of inactivity at an accelerated rate as periods of inactivity may provide little value to the user. Similarly, in another example, theIM history player 322 may play periods of high activity during the IM session at a slower rate so that the user may view the details more easily. TheIM history player 322 may offer any type of command to users, such as selecting IM histories for review, play, fast forward, rewind, stop, speed of review, bookmarking portions of the IM history, etc. In one example, a user may request theIM history player 322 to begin playing at the 32nd minute of an IM session. TheIM history player 322 may then skip to the 32nd minute of the session and begin playing back the IM session from that point (by accessing the saved session). The subsequent text messages (and any movements or other events) would then be displayed to the user at the same timing and frequency at which they originally occurred. The user in this example could also request that the playback be accelerated or decelerated. One skilled in the art will recognize that user control of the playback may be accomplished in any fashion. - While the
IM history player 322 andIM history database 320 are depicted inFIG. 3 as part of anIM history module 114 as part of a singleclient computer system 102, other alternatives are possible. In some embodiments, for example, theIM history database 320 may be located at a central database (such as at an IM server 106) that is accessed by anIM history player 322 located at aclient computer system 102. In another example, theIM history database 320 and theIM history player 322 may be located on separateclient computer systems 102, such as if a user had a PDA with aIM history player 322 that accessed anIM history database 320 stored on their home personal computer. - In some embodiments, the
IM history system 100 may provide for tracking input device movements during IM sessions, requiring the use of an inputdevice tracking module 306 and/or an inputdevice movement translator 308 for theclient computer system 102. The inputdevice tracking module 306 may determine that the movement of an input device should be tracked and may also track the input device movement signals received by theuser interface module 304. Once input device movement tracking is initiated, the input device tracking module 306 (through the use of its sub-modules, described subsequently) may determine tracking information based on the received input device movement information for transmission to anotherclient computer system 102 and/orIM client 108. - The input
device tracking module 306 may include one or more sub-modules to track the input device movement and to determine tracking information based on the movement. In the disclosed embodiment, the inputdevice tracking module 306 includes a highlightingtracker sub-module 312 and a pointermovement tracker sub-module 314. The highlightingtracker sub-module 312 may track highlighting of text by a user in an instant messaging window. In some embodiments, a user may highlight text by actuating and holding the left-mouse button of their mouse 220 and using the mouse 220 to ‘drag’ over the text to be highlighted. When a user highlights text in their IM window, the highlighting tracking sub-module 312 may, in one embodiment, track such a movement by determining the first and last characters that are highlighted (with all characters in between the first and last characters also being highlighted). The tracking information in this environment may be the location or identity of the first and last highlighted characters (e.g., from the 5th character to the 37th character), as well as additional information about the highlighting such as a special emphasis (e.g., different color, font, size, etc.). Anotherclient computer system 102 according to the disclosed system may receive the tracking information and display an indication of that highlighting in its own IM window, thus allowing the users to share the highlighting information. - The pointer
movement tracker sub-module 314 may track mouse movement by a user in an instant messaging window to determine tracking information for use by anotherclient computer system 102 and/orIM client 108. In some embodiments, a user may move the mouse 220 or other pointing device (e.g., a finger on a touch-screen display, a joystick, a trackball, voice commands, etc.) to cause gestures of a pointer in the instant messaging window. For example, a user may use the mouse 220 to point to a word with the pointer, point to a block of text, emphasize a portion of their open window, gesture a connection between two chat lines, move the pointer back and forth over a word or group of words, or otherwise try to communicate with movement of the pointer. The pointermovement tracker sub-module 314 may receive these input device movements and determine tracking information based on them for use by anotherclient computer system 102 and/orIM client 108. In some embodiments, the pointermovement tracker sub-module 314 may determine the tracking information by determining the beginning and end characters of a movement (and optionally the speed of that movement). - The input
device movement translator 308 may receive tracking information from anotherclient computer system 102 and/orIM client 108 to translate that into display commands for displaying an equivalent movement to a user of the recipientclient computer system 102. As such, the inputdevice movement translator 308 need only execute on aclient computer system 102 on which equivalent movements based on tracking information from anotherclient computer system 102 are displayed. In contrast, the inputdevice tracking module 306 need only be located on aclient computer system 102 that is the source of tracking information, and a particularclient computer system 102 may include either or both of the inputdevice tracking module 306 and the inputdevice movement translator 308. The inputdevice movement translator 308 may translate any received tracking information into equivalent movement commands for display to a user. A user with aclient computer system 102 equipped with an inputdevice movement translator 308 may thus view movements such as highlighting or pointer movements from another user in their instant messaging window. -
FIG. 4 depicts an example of aflow chart 400 for recording an IM session history and displaying a playback of the IM session history to a user according to one embodiment. The method offlow chart 400 may be performed, in one embodiment, by aclient computer system 102 with anIM history module 114.Flow chart 400 begins withelement 402, where anIM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’. TheIM client 108 may, in one embodiment, initiate the session when a user of theIM client 108 either selects a contact with whom they desire to start a session or affirmatively responds to a request for a session from another user. Atoptional element 404, theIM history module 114 may receive a request to record an IM session history for the session initiated atelement 402, such as from theIM client 108 or from the user viauser interface module 304. - Once the IM session has been initiated, the
IM history module 114 may record the IM session history throughout the IM session. Atdecision block 406, theIM history module 114 may determine whether an IM event has occurred. If an IM event has not occurred,flow chart 400 returns to decision block 406 to await the occurrence of an IM event. If an IM event has occurred, theIM history module 114 may determine a timestamp associated with the IM event atelement 408. In one embodiment, the timestamp for an IM event should be determined to the level of a second or less. For an IM session that only includes text conversation, a timestamp accurate to a second or less may provide an acceptable level of fidelity, while for IM sessions that include animation such as input device movements, timestamp fidelity on the order to tens or hundreds of milliseconds may be more useful. Recording less fidelity for the timestamp accuracy than the times described herein (multiple seconds or longer) may also be used in exchange for less utility of the disclosed system. The fidelity of the timestamp may be a default value, configured by an administrator or user, or determined in any other fashion. - After determining the appropriate timestamp, the
IM history module 114 may record an indication of the IM event and the timestamp in theIM history database 320 atelement 410. In one embodiment, the IM event and the timestamp may be stored in a table located in theIM history database 320. In an alternative embodiment, the timestamps may be stored in a detailed version of a session transcript. TheIM history module 114 may next determine if the IM session has terminated (or, alternatively, if the recording of the IM session has been terminated) atdecision block 412. If the IM session or recording are terminated, the method offlow chart 400 may continue toelement 414; otherwise, the method offlow chart 400 may return to decision block 406 for further processing of the next IM event. - Once one or more IM session histories are recorded, the
IM history module 114 may receive a request to view an IM session history atelement 414. TheIM history module 114 may then launch anIM history player 322 to playback an IM session history for the user. Atelement 418, theIM history player 322 may receive playback commands from a user. Playback commands may include any instructions from the user as to the playback of one or more IM session histories, including traditional media content playback commands (e.g., play, fast forward, stop, pause, rewind, increase or decrease speed of playback, etc.), requests to playback one or more IM session histories, requests to compare IM session histories, history search requests, requests to bookmark or otherwise save a position in a history, etc. After receiving one or more playback commands, theIM history player 322 may atelement 420 then display a playback of the IM session history in response to the playback commands. TheIM history player 322 may determine atdecision block 422 that playback will be continued and return toelement 418 to await additional playback commands; otherwise, the method offlow chart 400 terminates. - In embodiments where input device movement is part of the recorded playback, the
IM history player 322 may translate the input device movements as necessary to accommodate the size or configuration of the playback window (if it is different than the original window size during the IM session). TheIM history layer 322 may use the methodology described in relation to the inputdevice movement translator 308, or may utilize an inputdevice movement translator 308, to accomplish this task. A user, for example, who records her session with recorded gestures or other movements (performed by either the user or the person with whom she is conversing) may view a playback of that IM session in a different-sized window than she viewed the original session, possibly necessitating translation of the recorded input device movements to movements appropriate for the playback window size. - The methodologies of
FIGS. 5-7 may be applicable when input device movement is transmitted as part of an IM session. While the disclosed systems and methodologies are particularly useful when input device movement is a possible IM event, tracking of input device movement is not required for the disclosed systems and methodologies.FIGS. 5-7 and their associated description may therefore be considered an optional embodiment that illustrates the application of the disclosed system and methodology to a particular type of IM event. - Turning again to the figures,
FIG. 5 depicts an example of aflow chart 500 for determining tracking information relating to input device movement and recording the tracking information in an IM history database according to one embodiment. The method offlow chart 500 may be performed, in one embodiment, by aclient computer system 102 with an inputdevice tracking module 306 and anIM history module 114.Flow chart 500 begins withelement 502, where anIM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’. TheIM client 108 may, in one embodiment, initiate the session when a user of theIM client 108 either selects a contact with whom they desire to start a session or affirmatively responds to a request for a session from another user. - At
element 504, the inputdevice tracking module 306 may optionally receive a request to share input device movement with another user who is party to the instant messaging conversation. The inputdevice tracking module 306 may receive an indicia of the input device movement from theuser interface module 304 atelement 506. Similarly, theIM client 108 may also receive any messaging content from theuser interface module 304 atelement 508. Messaging content may be text or other content (e.g., image files, sound files, etc.) the user inputs as part of an instant message. - After receiving a request to share input device movement at
element 504 and the indicia of input device movement atelement 506, the inputdevice tracking module 306 determines how to track the input device movement. Atdecision block 510, the inputdevice tracking module 306 may determine whether the received indicia relates to highlighting of text. If the indicia does relate to text highlighting, the inputdevice tracking module 306 may track the beginning and ending character positions of the highlighted text atelement 512. Atdecision block 514, the inputdevice tracking module 306 may determine whether the received indicia relates to pointer movement. If the received indicia does relate to pointer movement, the method offlow chart 500 continues toelement 516, where the inputdevice tracking module 306 may track character positions relating to the mouse movement. In one embodiment, the inputdevice tracking module 306 may track the characters or words in the instant messaging window that are closest to the beginning and end of each mouse movement. In further embodiments, the inputdevice tracking module 306 may also track interim characters or words that the pointer passes over or near during its movement. In this embodiment, the actual path of the pointer movement may be more precisely tracked. In further embodiments, the time the pointer requires to move from one point to another may also be tracked so that the inputdevice tracking module 306 may determine a velocity of the movement. - After the input
device tracking module 306 has tracked the input device movement, it may next determine the tracking information based on the input device movement atelement 518. Tracking information may be any information used to identify tracked input device movement, such as beginning or ending characters or words, times or velocity for movement, the type on input, the identity of the input device, the identity of a button selected, highlighting or ghost pointer emphasis, etc. The inputdevice tracking module 306 may next atelement 520 transmit the tracking information to theIM client 108 or thecommunications module 302 for transmittal. The tracking information may be transmitted separately from any messaging content, may be cached, or may be transmitted in a package with messaging content. - At
element 522, theIM history module 114 may determine the timestamp associated with the tracking information and messaging content (similarly toelement 408 of flow chart 400). To determine the timestamp associated with the messaging content, theIM history module 114 may simply use the time at which the messaging content was completed (i.e., the user pressed an ‘Enter’ or ‘Return’ key). To determine the timestamp associated with tracking information, a more sophisticated methodology may be required. In one embodiment, the movement may result in two timestamps, one for the beginning of the movement and one for the end of the movement (such as when highlighting text). In other embodiments, a more intricate movement may require more than two timestamps, such as when multiple positions in between the start and end points are recorded (such as cursor movement). One skilled in the art will recognize that any number of timestamps may be utilized for different aspects of an input device movement. After determining any timestamps, the method offlowchart 500 may continue toelement 524, where theIM history module 114 may record an indication of the messaging content, tracking information, and the associated timestamps in theIM history database 320, after which the method either terminates or returns toelement 506 for further processing. -
FIG. 6 depicts an example of aflow chart 600 for receiving highlighting tracking information from another client computer system, displaying an equivalent movement to a user, and recording the equivalent movement in an IM history database according to one embodiment. The method offlow chart 600 may be performed, in one embodiment, by aclient computer system 102 with an inputdevice movement translator 308 and anIM history module 114.Flow chart 600 begins withelement 602, where anIM client 108 may initiate an instant messaging session to start an instant messaging ‘conversation’ with anotherIM client 108 on aclient computer system 102 with an inputdevice tracking module 306. - The input
device movement translator 308 may, atoptional element 604, receive a request to display indicia of the other user's input device movement. The method offlow chart 600 may then continue toelement 606, where theIM client 108 may receive messaging content from the sendingclient computer system 102 whose session was initiated atelement 602. Similarly, the inputdevice movement translator 308 may receive tracking information (through the communications module 302) from the sendingclient computer system 102 atelement 608. As described previously, the tracking information and messaging content may be received as part of the same package, separately, or in any other fashion. TheIM client 108 may display any received messaging content atelement 610. - After receiving the tracking information, the input
device movement translator 308 may next determine atdecision block 612 whether the tracking information relates to highlighting of text by analyzing the tracking information. If the tracking information does not relate to highlighting, the method either terminates, returns toelement 604 for continued processing, or optionally performs all or part of other methods (such as that ofFIG. 7 ) for handling other types of input device movement besides highlighting. If the tracking information does relate to highlighting, the method offlow chart 600 continues toelement 614, where the inputdevice movement translator 308 may analyze the tracking information for beginning and ending characters associated with the highlighted text or other aspects of the highlighting, such as an indication of increased emphasis (e.g., different color, font, size, boldface, etc.). The inputdevice movement translator 308 may work with theIM client 108 to display the highlighting (with any requested emphasis added) from the beginning character to the end character atelement 616. The equivalent movement in the IM window for the recipient user may be simply the highlighting of the appropriate text in that window. In this fashion, the recipient user may see text highlighted by the sending user, allowing the users to communicate highlighting information via an instant messaging window. In one embodiment, the beginning and ending characters may be measured from the last character in the instant messaging window to increase accuracy in situations where the windows of different users are displaying different amounts of history (and thus text). - At
element 618, theIM history module 114 may determine the timestamp associated with the tracking information and messaging content and atelement 620, theIM history module 114 may record an indication of the messaging content, the tracking information, and any associated timestamps in theIM history database 320.Elements elements FIG. 5 and the description will not be repeated in the interest of brevity. After recording the information, the method offlow chart 600 may either terminate or return toelement 606 for continued processing. -
FIG. 7 depicts an example of aflow chart 700 for receiving pointer movement tracking information from another client computer system, displaying an equivalent movement to a user, and storing the equivalent movement in an IM history database according to one embodiment. The method offlow chart 700 may be performed, in one embodiment, by aclient computer system 102 with an inputdevice movement translator 308 and anIM history module 114.Flow chart 700 begins withelement elements FIG. 6 , and the discussion will not be repeated in the interest of brevity. The received tracking information atelement 708 may include one or more characters or words associated with the beginning or end of an input device movement, times or velocity for any input device movement, interim characters or words associated with input device movement, or other information. - After receiving the tracking information, the input
device movement translator 308 may next determine atdecision block 712 whether the tracking information relates to pointer movement of text by analyzing the received tracking information. If the tracking information does not relate to pointer movement, the method either terminates, returns toelement 704 for continued processing, or optionally performs all or part of other methods (such as that ofFIG. 6 ) for handling other types of input device movement besides mouse movement. If the tracking information does relate to pointer movement, the method offlow chart 700 continues toelement 714, where the inputdevice movement translator 308 may analyze the tracking information for characters and/or words associated with the pointer movement. Characters and/or words associated with the pointer movement may include beginning, end, or interim characters and/or words. The inputdevice movement translator 308 may also analyze the tracking information for other aspects of the mouse movement, such as the velocity of movement or a more precise movement path (with interim points). - After analyzing the tracking information, the input
device movement translator 308 may atelement 716 translate the tracking information into one or more incremental movement points associated with the recipient instant messaging window. In one embodiment, the incremental movement points may include only the beginning and end points of a movement. In other embodiments, the incremental movement points may include one or more points in between the beginning and ending points. The inputdevice movement translator 308 may then work with theIM client 108 to display a moving pointer based on the incremental moving points atelement 718. The pointer may, in some embodiments, be a ‘ghost’ pointer that is partially faded so the user does not confuse it with their own pointer. Other types and configurations of the pointer may be used, including different shapes (e.g., arrows), colors, sizes, intensities, etc. In an alternative embodiment, the pointer may be emphasized similarly to the highlighting ofFIG. 6 , such as by making the ghost pointer flashing, increasing in size, etc. - In this fashion, the recipient user may see equivalent movement via their instant messaging window to any mouse or pointer movement by the sending user. The input
device movement translator 308 may accomplish this by utilizing the start and end characters' positions (measuring backwards from the end of the window) of the recipient window to match the same characters in the sending IM window. In one example, if a sending user moved their pointer over the 5th word and moved it up three lines and to the right to the 70th word, the inputdevice movement translator 308 can recreate that motion by moving a ghost pointer from the 5th word to the 70th word in its window, even if those words are located in different places within the window. The inputdevice movement translator 308, by relying on character or word locations instead of geometric position, can thus accommodate differences in window sizes, text sizes, amounts of history, etc., between the sender and recipient window. If the recipient user's instant messaging window is much narrower than the sending user's window, for example, an equivalent movement may be steeper on the recipient's window (while still starting and ending on the same characters or words). In one embodiment, if the sender and recipient user's windows are different sizes and the equivalent movement would result in scrolling of the recipient window, the inputdevice movement translator 308 may either automatically scroll the IM window or allow the pointer to ‘bump’ the edge of the IM window. An administrator or user may, in some embodiments, configure how the inputdevice movement translator 308 handles such a situation. - At
element 720, theIM history module 114 may determine the timestamp associated with the tracking information and messaging content and atelement 722, theIM history module 114 may record an indication of the messaging content, the tracking information, and any associated timestamps in theIM history database 320.Elements elements FIG. 5 and the description will not be repeated in the interest of brevity. After recording the information, the method offlow chart 700 may either terminate or return toelement 706 for continued processing. - In general, the routines executed to implement the embodiments of the invention, may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions. The computer program of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates methods, systems, and media for playback of an instant messaging session history. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the example embodiments disclosed.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/260,565 US20070100952A1 (en) | 2005-10-27 | 2005-10-27 | Systems, methods, and media for playback of instant messaging session histrory |
US12/058,649 US8341227B2 (en) | 2005-10-27 | 2008-03-28 | Playback of instant messaging session history |
US13/613,268 US8595305B2 (en) | 2005-10-27 | 2012-09-13 | Playback of instant messaging session history |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/260,565 US20070100952A1 (en) | 2005-10-27 | 2005-10-27 | Systems, methods, and media for playback of instant messaging session histrory |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/058,649 Continuation US8341227B2 (en) | 2005-10-27 | 2008-03-28 | Playback of instant messaging session history |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070100952A1 true US20070100952A1 (en) | 2007-05-03 |
Family
ID=37997876
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/260,565 Abandoned US20070100952A1 (en) | 2005-10-27 | 2005-10-27 | Systems, methods, and media for playback of instant messaging session histrory |
US12/058,649 Active 2026-11-26 US8341227B2 (en) | 2005-10-27 | 2008-03-28 | Playback of instant messaging session history |
US13/613,268 Expired - Fee Related US8595305B2 (en) | 2005-10-27 | 2012-09-13 | Playback of instant messaging session history |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/058,649 Active 2026-11-26 US8341227B2 (en) | 2005-10-27 | 2008-03-28 | Playback of instant messaging session history |
US13/613,268 Expired - Fee Related US8595305B2 (en) | 2005-10-27 | 2012-09-13 | Playback of instant messaging session history |
Country Status (1)
Country | Link |
---|---|
US (3) | US20070100952A1 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118660A1 (en) * | 2005-11-24 | 2007-05-24 | Nokia Corporation | Recording session contents in a network |
US20070168433A1 (en) * | 2006-01-18 | 2007-07-19 | Morgan Fabian F | System and method for managing an instant messaging contact list |
US20080037722A1 (en) * | 2006-07-21 | 2008-02-14 | Research In Motion Limited | Handling Notifications in Instant Messaging Systems |
US20080081979A1 (en) * | 2006-09-15 | 2008-04-03 | General Electric Company | Medical diagnostic system data exchange method and system |
US20080155104A1 (en) * | 2006-12-26 | 2008-06-26 | Quinn William M | Method and system for resource-based synchronization between endpoints in a web-based real time collaboration |
US20090006979A1 (en) * | 2007-06-27 | 2009-01-01 | International Business Machines Corporation | Text exchange facility for joining multiple text exchange communications into a single topic based communication |
WO2009021939A1 (en) * | 2007-08-11 | 2009-02-19 | International Business Machines Corporation | Method and system for providing collaborative modification of instant messaging session transcripts |
US20090300143A1 (en) * | 2008-05-28 | 2009-12-03 | Musa Segal B H | Method and apparatus for interacting with media programming in real-time using a mobile telephone device |
US20090327247A1 (en) * | 2007-11-29 | 2009-12-31 | Jiangtao Jia | Method, system and apparatus for storing and querying session history records |
US20100215036A1 (en) * | 2009-02-20 | 2010-08-26 | Samsung Electronics Electronics Co., Ltd. | Method for transferring session in converged internet protocol messaging system |
US20100287222A1 (en) * | 2009-05-08 | 2010-11-11 | Raytheon Company | Monitoring Communications Using a Unified Communications Protocol |
US20100287293A1 (en) * | 2009-05-08 | 2010-11-11 | Raytheon Company | Playback Communications Using a Unified Communications Protocol |
US20100293240A1 (en) * | 2009-05-15 | 2010-11-18 | Samsung Electronics Co., Ltd. | Method for storing conversation upon user's request in cpm system, and system thereof |
WO2012028657A1 (en) | 2010-09-02 | 2012-03-08 | Skype Limited | Instant messaging using multiple instances of a client |
US20130262599A1 (en) * | 2012-04-03 | 2013-10-03 | Samsung Electronics Co., Ltd | Method for bookmark function applicable in messenger application and electronic apparatus thereof |
US20130332859A1 (en) * | 2012-06-08 | 2013-12-12 | Sri International | Method and user interface for creating an animated communication |
US20140075364A1 (en) * | 2012-09-13 | 2014-03-13 | Microsoft Corporation | Capturing Activity History Stream |
US20140129630A1 (en) * | 2012-11-08 | 2014-05-08 | At&T Intellectual Property I, Lp | Method and apparatus for sharing media content |
US20140189519A1 (en) * | 2012-12-31 | 2014-07-03 | W.W. Grainger, Inc. | Systems and methods for providing website browsing history to repeat users of a website |
US20150331563A1 (en) * | 2006-08-22 | 2015-11-19 | Twitter, Inc. | System and method for evaluating sentiment |
WO2016093609A1 (en) * | 2014-12-09 | 2016-06-16 | 주식회사 네이블커뮤니케이션즈 | Message bookmark system and method |
US20160259522A1 (en) * | 2015-03-04 | 2016-09-08 | Avaya Inc. | Multi-media collaboration cursor/annotation control |
CN109804601A (en) * | 2016-09-30 | 2019-05-24 | 奥兰治 | The back method of the multiple message exchanged with session proxy |
US20210240429A1 (en) * | 2015-03-27 | 2021-08-05 | Inkerz Pty Ltd | Systems and methods for sharing physical writing actions |
US11294550B2 (en) * | 2015-09-11 | 2022-04-05 | Palantir Technologies Inc. | System and method for analyzing electronic communications and a collaborative electronic communications user interface |
WO2022213987A1 (en) * | 2021-04-08 | 2022-10-13 | 维沃移动通信有限公司 | Information processing method and apparatus, and electronic device and readable storage medium |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5554931B2 (en) * | 2009-02-23 | 2014-07-23 | キヤノン株式会社 | Image processing system, image processing apparatus, image processing method, and program |
US8682889B2 (en) * | 2009-05-28 | 2014-03-25 | Microsoft Corporation | Search and replay of experiences based on geographic locations |
US10158496B2 (en) | 2013-05-10 | 2018-12-18 | International Business Machines Corporation | Historical context for communication |
CN104065564B (en) * | 2014-06-10 | 2017-11-21 | 网易公司 | A kind of method and device for question and answer |
US9674237B2 (en) * | 2014-11-02 | 2017-06-06 | International Business Machines Corporation | Focus coordination in geographically dispersed systems |
CN110678827B (en) * | 2017-06-08 | 2023-11-10 | 霍尼韦尔国际公司 | Apparatus and method for recording and playback of interactive content with augmented/virtual reality in industrial automation systems and other systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6177941B1 (en) * | 1997-08-25 | 2001-01-23 | International Business Machine Corporation | Representative mapping between toolbars and menu bar pulldowns |
US6693648B1 (en) * | 2000-11-22 | 2004-02-17 | Campus Crusade For Christ, Inc. | Pointer interactive apparatus |
US20040169639A1 (en) * | 2003-02-28 | 2004-09-02 | Pate Michael A. | Visible pointer tracking with separately detectable pointer tracking signal |
US7099798B2 (en) * | 2004-10-25 | 2006-08-29 | Microsoft Corporation | Event-based system and process for recording and playback of collaborative electronic presentations |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339388A (en) | 1991-12-31 | 1994-08-16 | International Business Machines Corporation | Cursor lock region |
US5339389A (en) | 1991-12-31 | 1994-08-16 | International Business Machines Corporation | User selectable lock regions |
US6594688B2 (en) * | 1993-10-01 | 2003-07-15 | Collaboration Properties, Inc. | Dedicated echo canceler for a workstation |
US6144991A (en) * | 1998-02-19 | 2000-11-07 | Telcordia Technologies, Inc. | System and method for managing interactions between users in a browser-based telecommunications network |
US6177948B1 (en) * | 1998-03-23 | 2001-01-23 | International Business Machines Corporation | PQE for font vs. large dark patch |
US6990180B2 (en) * | 2001-04-05 | 2006-01-24 | Nokia Mobile Phones Limited | Short voice message (SVM) service method, apparatus and system |
US20020184313A1 (en) * | 2001-06-01 | 2002-12-05 | Nexusedge Technologies Pte Ltd | Method for exchange of data and user interface components |
US7296057B2 (en) | 2002-01-08 | 2007-11-13 | International Business Machines Corporation | Method for user-specified error correction in an instant messaging system |
AU2003210750A1 (en) | 2002-02-02 | 2003-09-02 | E-Wings, Inc. | Distributed system for interactive collaboration |
US7222305B2 (en) | 2003-03-13 | 2007-05-22 | Oracle International Corp. | Method of sharing a desktop with attendees of a real-time collaboration |
US7664233B1 (en) * | 2003-06-25 | 2010-02-16 | Everbridge, Inc. | Emergency and non-emergency telecommunications notification system |
US7590941B2 (en) | 2003-10-09 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | Communication and collaboration system using rich media environments |
US8234577B1 (en) * | 2005-05-23 | 2012-07-31 | Glance Networks, Inc. | Method and apparatus for the transmission of changed host display information |
-
2005
- 2005-10-27 US US11/260,565 patent/US20070100952A1/en not_active Abandoned
-
2008
- 2008-03-28 US US12/058,649 patent/US8341227B2/en active Active
-
2012
- 2012-09-13 US US13/613,268 patent/US8595305B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6177941B1 (en) * | 1997-08-25 | 2001-01-23 | International Business Machine Corporation | Representative mapping between toolbars and menu bar pulldowns |
US6693648B1 (en) * | 2000-11-22 | 2004-02-17 | Campus Crusade For Christ, Inc. | Pointer interactive apparatus |
US20040169639A1 (en) * | 2003-02-28 | 2004-09-02 | Pate Michael A. | Visible pointer tracking with separately detectable pointer tracking signal |
US7099798B2 (en) * | 2004-10-25 | 2006-08-29 | Microsoft Corporation | Event-based system and process for recording and playback of collaborative electronic presentations |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118660A1 (en) * | 2005-11-24 | 2007-05-24 | Nokia Corporation | Recording session contents in a network |
US20070168433A1 (en) * | 2006-01-18 | 2007-07-19 | Morgan Fabian F | System and method for managing an instant messaging contact list |
US9264386B2 (en) | 2006-07-21 | 2016-02-16 | Blackberry Limited | Handling notifications in instant messaging systems |
US20080037722A1 (en) * | 2006-07-21 | 2008-02-14 | Research In Motion Limited | Handling Notifications in Instant Messaging Systems |
US8572182B2 (en) * | 2006-07-21 | 2013-10-29 | Blackberry Limited | Handling notifications in instant messaging systems |
US10921956B2 (en) | 2006-08-22 | 2021-02-16 | Summize, Inc. | System and method for assessing content |
US9857946B2 (en) * | 2006-08-22 | 2018-01-02 | Summize, Inc. | System and method for evaluating sentiment |
US20150331563A1 (en) * | 2006-08-22 | 2015-11-19 | Twitter, Inc. | System and method for evaluating sentiment |
US20080081979A1 (en) * | 2006-09-15 | 2008-04-03 | General Electric Company | Medical diagnostic system data exchange method and system |
US20080155104A1 (en) * | 2006-12-26 | 2008-06-26 | Quinn William M | Method and system for resource-based synchronization between endpoints in a web-based real time collaboration |
US9425973B2 (en) * | 2006-12-26 | 2016-08-23 | International Business Machines Corporation | Resource-based synchronization between endpoints in a web-based real time collaboration |
US20090006979A1 (en) * | 2007-06-27 | 2009-01-01 | International Business Machines Corporation | Text exchange facility for joining multiple text exchange communications into a single topic based communication |
US20100011080A1 (en) * | 2007-08-11 | 2010-01-14 | International Business Machines Corporation | Method and system for providing collaborative moderation and correction of message history in an instant messaging session |
WO2009021939A1 (en) * | 2007-08-11 | 2009-02-19 | International Business Machines Corporation | Method and system for providing collaborative modification of instant messaging session transcripts |
US8001186B2 (en) * | 2007-08-11 | 2011-08-16 | International Business Machines Corporation | Method and system for providing collaborative moderation and correction of message history in an instant messaging session |
US20090327247A1 (en) * | 2007-11-29 | 2009-12-31 | Jiangtao Jia | Method, system and apparatus for storing and querying session history records |
US20090300143A1 (en) * | 2008-05-28 | 2009-12-03 | Musa Segal B H | Method and apparatus for interacting with media programming in real-time using a mobile telephone device |
US20100215036A1 (en) * | 2009-02-20 | 2010-08-26 | Samsung Electronics Electronics Co., Ltd. | Method for transferring session in converged internet protocol messaging system |
US9246863B2 (en) * | 2009-02-20 | 2016-01-26 | Samsung Electronics Co., Ltd | Method for transferring session in converged Internet protocol messaging system |
US8504636B2 (en) * | 2009-05-08 | 2013-08-06 | Raytheon Company | Monitoring communications using a unified communications protocol |
US8438296B2 (en) * | 2009-05-08 | 2013-05-07 | Raytheon Company | Playback communications using a unified communications protocol |
US20100287222A1 (en) * | 2009-05-08 | 2010-11-11 | Raytheon Company | Monitoring Communications Using a Unified Communications Protocol |
US20100287293A1 (en) * | 2009-05-08 | 2010-11-11 | Raytheon Company | Playback Communications Using a Unified Communications Protocol |
US20100293240A1 (en) * | 2009-05-15 | 2010-11-18 | Samsung Electronics Co., Ltd. | Method for storing conversation upon user's request in cpm system, and system thereof |
US9094475B2 (en) * | 2009-05-15 | 2015-07-28 | Samsung Electronics Co., Ltd | Method for storing conversation upon user's request in CPM system, and system thereof |
US9426108B2 (en) | 2009-05-15 | 2016-08-23 | Samsung Electronics Co., Ltd | Method for storing conversation upon user's request in CPM system, and system thereof |
WO2012028657A1 (en) | 2010-09-02 | 2012-03-08 | Skype Limited | Instant messaging using multiple instances of a client |
KR101419852B1 (en) * | 2012-04-03 | 2014-07-15 | 삼성전자주식회사 | Method for bookmark function applicable in messenger applicaton and an electronic device thereof |
US20130262599A1 (en) * | 2012-04-03 | 2013-10-03 | Samsung Electronics Co., Ltd | Method for bookmark function applicable in messenger application and electronic apparatus thereof |
US20130332859A1 (en) * | 2012-06-08 | 2013-12-12 | Sri International | Method and user interface for creating an animated communication |
US20140075364A1 (en) * | 2012-09-13 | 2014-03-13 | Microsoft Corporation | Capturing Activity History Stream |
US20140129630A1 (en) * | 2012-11-08 | 2014-05-08 | At&T Intellectual Property I, Lp | Method and apparatus for sharing media content |
US9171090B2 (en) * | 2012-11-08 | 2015-10-27 | At&T Intellectual Property I, Lp | Method and apparatus for sharing media content |
US10142694B2 (en) | 2012-11-08 | 2018-11-27 | At&T Intellectual Property I, L.P. | Method and apparatus for sharing media content |
US9628526B2 (en) | 2012-11-08 | 2017-04-18 | At&T Intellectual Property I, L.P. | Method and apparatus for sharing media content |
US20140189519A1 (en) * | 2012-12-31 | 2014-07-03 | W.W. Grainger, Inc. | Systems and methods for providing website browsing history to repeat users of a website |
WO2016093609A1 (en) * | 2014-12-09 | 2016-06-16 | 주식회사 네이블커뮤니케이션즈 | Message bookmark system and method |
US20160259522A1 (en) * | 2015-03-04 | 2016-09-08 | Avaya Inc. | Multi-media collaboration cursor/annotation control |
US11956290B2 (en) * | 2015-03-04 | 2024-04-09 | Avaya Inc. | Multi-media collaboration cursor/annotation control |
US20210240429A1 (en) * | 2015-03-27 | 2021-08-05 | Inkerz Pty Ltd | Systems and methods for sharing physical writing actions |
US11614913B2 (en) * | 2015-03-27 | 2023-03-28 | Inkerz Pty Ltd. | Systems and methods for sharing physical writing actions |
US11294550B2 (en) * | 2015-09-11 | 2022-04-05 | Palantir Technologies Inc. | System and method for analyzing electronic communications and a collaborative electronic communications user interface |
US11907513B2 (en) | 2015-09-11 | 2024-02-20 | Palantir Technologies Inc. | System and method for analyzing electronic communications and a collaborative electronic communications user interface |
CN109804601A (en) * | 2016-09-30 | 2019-05-24 | 奥兰治 | The back method of the multiple message exchanged with session proxy |
WO2022213987A1 (en) * | 2021-04-08 | 2022-10-13 | 维沃移动通信有限公司 | Information processing method and apparatus, and electronic device and readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20080177853A1 (en) | 2008-07-24 |
US8341227B2 (en) | 2012-12-25 |
US8595305B2 (en) | 2013-11-26 |
US20130007166A1 (en) | 2013-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595305B2 (en) | Playback of instant messaging session history | |
US20080177852A1 (en) | Systems, Methods, and Media for Sharing Input Device Movement Information in an Instant Messaging System | |
US10180765B2 (en) | Multi-party collaboration over a computer network | |
US10129313B2 (en) | System, method, and logic for managing content in a virtual meeting | |
US7526525B2 (en) | Method for efficiently distributing and remotely managing meeting presentations | |
US7930348B2 (en) | Collaborative chat system | |
US7269794B2 (en) | Method and apparatus for viewpoint collaboration | |
US7917589B2 (en) | Instant messages with privacy notices | |
KR100952379B1 (en) | Profile-based capture component for event monitoring in applications | |
US7953803B2 (en) | Multiple login instant messaging | |
US11095582B2 (en) | Systems and methods for supplementing real-time exchanges of instant messages with automatically updateable content | |
US7765261B2 (en) | Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers | |
US8615159B2 (en) | Methods and systems for cataloging text in a recorded session | |
US8627211B2 (en) | Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication | |
US20080244702A1 (en) | Method, Apparatus, System, Medium, and Signals for Intercepting a Multiple-Party Communication | |
US20050027669A1 (en) | Methods, system and program product for providing automated sender status in a messaging session | |
JP2007518146A (en) | Networked chat and media sharing system and method | |
CA2632706A1 (en) | High level network layer system and method | |
CN111314204B (en) | Interaction method, device, terminal and storage medium | |
US20060117263A1 (en) | Method and system for inhibiting overlooking notifications in applications | |
WO2016137692A1 (en) | Directing meeting entrants based on meeting role | |
WO2023202721A1 (en) | File transmission method and apparatus, and electronic device and storage medium | |
WO2023284630A1 (en) | Emoticon image adding method and apparatus, and device and storage medium | |
US11323402B2 (en) | Spatial topic representation of messages | |
US10346031B2 (en) | View activation via hit testing in an asynchronous windowing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, YEN-FU;BOSMA, JOHN H.;SELVAGE, MEI YANG;REEL/FRAME:017016/0643;SIGNING DATES FROM 20051019 TO 20051020 |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, YEN-FU;BOSMA, JOHN H.;SELVAGE, MEI YANG;AND OTHERS;REEL/FRAME:017139/0992;SIGNING DATES FROM 20051019 TO 20051020 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 007139 FRAME: 0992. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:CHEN, YEN-FU;HANDY-BOSMA, JOHN HANS;SELVAGE, MEI YANG;AND OTHERS;SIGNING DATES FROM 20051019 TO 20051020;REEL/FRAME:036208/0891 |
|
AS | Assignment |
Owner name: KYNDRYL, INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:058213/0912 Effective date: 20211118 |