The present invention relates generally to instant messaging systems and methods, more specifically, to improvements to systems and methods so that instant messaging conversations may be updated in real-time by modifying instant messaging (IM) transcripts.
Instant messaging (IM) is a form of real-time communication between two or more people based on typed text. The text is conveyed via computers connected over a network such as the Internet.
Sometimes, however, a user will have many IM screens (with many users) at the same time. For instance, User A 102 maybe a support engineer working for a large organization. A great deal of his time may be spent in his instant messaging client 102b getting assistance from engineers in the development, test and support teams. It is not unusual for User A 102 to have 10 or more instant messaging chat windows open at any given time. Often User A will type test into the chat window and send it and then realize that he has not explained himself properly or had just put in a confusing typo. These mistakes usually bring the conversation off in a tangent which wastes time. Many times User A 102 commits his contribution before he reviews it because he feels under pressure to send something in case the person he is chatting with thinks he has left the chat. Also, there is network latency which may cause one contribution to be seen after the previous issue was being addressed. This can cause a ping-pong effect in an IM conversation which is causes IM user and frustration loss of productivity for the IM users.
There is a need to correct the chat text after it has been entered and to allow the ability to enter corrections on the fly, conventional systems today fail to furnish users with this ability and conventional IM systems today would greatly benefit from this.
There is a need to have a system which would help people with dyslexia as once correct spellings were entered they would only have to type some of the word and the correction would be done from the back-end data store.
There is a need to have a system for streaming text as it is being typed. This way the other person will know that the other user is typing and not gone away from the chat.
In view of the foregoing, a need exists to overcome these problems by providing a system and method for correcting the chat text after it has been entered and to allow the ability to enter corrections on the fly.
The present invention provides a system and method so that instant messaging conversations may be updated in real-time. The system and method provide the ability to modify an instant messaging (IM) conversation on the fly, where one user can seamlessly update the text without having to retype the full sentence or part of it. A sender's client may allow a sender client system to modify, for example, automatically (e.g., as a result of a software process) or upon sender's input (e.g., a sequence of at least one click or keystroke) a message that has already been delivered to the recipients involved in the communication session. Once modified, the sender's client may allow the sender client system to deliver the revision (e.g., the modified message, the original messages plus the modifications, or the modifications only) to the recipients. Along with the revision, the sender's client may deliver also an identification of the original message that has been revised (e.g. the unique ID, the time-stamp, or the sequential position of the message.) Typically, after a revision has been delivered, all clients participating in the communication (i.e. the recipient's client, or recipients' clients, and the sender's client) display the revised message.
The form in which the revised message is displayed may be selected by the sender's client system. The form in which the revised message is displayed may vary from client to client depending upon the parameters set for each client (i.e., parameters related on how a revised message is displayed) by, for example, the client system (e.g., automatically or upon user input), that may override the sender's client system selection. Typically, an instant message client displays a revised instant message differently from an unrevised one with the purpose to bring revisions to the attention of the user, and so not to be mistaken for original content. Also typically, when a revised message doesn't override the display of the original message, the original message is, for example, marked, strikeout, or otherwise displayed as superseded by the revised message.
The illustrative aspects of the present invention are designed to solve one or more of the problems herein described and/or one or more other problems not discussed.
These and other features of the invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:
The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represent like elements between the drawings.
The present invention provides a system and method so that instant messaging conversations may be updated in real-time. The system and method provide the ability to modify an instant messaging (IM) conversation on the fly, where one user can seamlessly update the text without having to retype the full sentence or part of it.
The IM User A Data 110 is passed through the IM Server 106 where it is processed. The IM User A 102 and IM User B 103 have already been authenticated by IM Server 110 using, in part, IM User A Key 115, IM User B 116 and IM Server Key 118. Data also included in the IM conversation is an identifier so that the chat session is uniquely identified and sequentially. The users can then reconvene the meeting at a later stage and any contribution added at that point would be uniquely identified as part of that later session but it would be possible still to make edits to the earlier transcript. Given that each contribution is tracked in a sequential way but the updates can happen anywhere in the transcript, the system allows the replaying the transcript in a step by step mode. This allows users to replay the chat to figure out when a particular contribution was added.
The changes to a document are tracked so that the person who made those changes is known. Other systems could utilize this invention. For example, it could be utilized to store changes to an email such as when User A mails User B, User B replies with the original contents and some edits. The system can be utilized to prove that User B added his sections and User A added his even if they are intermingled in the one email, because they would be no different to an updated chat transcript.
At 310, the IM update is received by Server 305 and forwarded to recipient(s). At 312, the update is added to the transcript and the process ends at 311. At User B's IM client, the IM update is decrypted at 322, the update is rendered on User B's display and a delivery receipt is sent to Server 305. At 318, the Server 305 determines whether the updates have been received by the intended recipients and, if so, at 314, marks the update as being read and the process ends at 311. If not, at 320, the Server 305 marks the update as being unread and moves the update to encrypted storage at 316 and the process ends at 311.
The initial message from IM User B 408 to IM User A 410 is shown in Transcript Display Window 412 and IM User A's 410 contribution in Contribution Display Window 414. IM User B 408 can see IM User A's 410 contribution immediately or in real time so that the conversation may progress in an orderly manner. In this way, IM users may correct the chat text after it has been entered by adding a new transcript version. This allows the user to correct mistakes or clarify points in previous chat(s) without altering the original transcript. A versioning system is used to track the edits made by each other. This allows the ability to enter corrections on the fly. In the preferred embodiment, the transcript of the chat cannot include changes from outside of the context of the chat or from non-chat participants. To achieve this, the contributions for each partner in the chat are encrypted using their own certificate they are stored in the chat transcript and further encrypted using the server's certificate. This ensures that only the server can add contributions to the chat and only each individual participant can create their own contributions. All public keys are stored in the transcript so it can be viewed at a later stage even outside the server. This provides the ability to prove that a given contribution was added by a particular person at a particular time in the meeting.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to an individual in the art are included within the scope of the invention as defined by the accompanying claims.