A. Technical Field
The present invention relates generally to Internet technology, and more particularly, to electronic-mail (email) technology.
B. Background of the Invention
The importance of email technology in society today is well known. Email applications have become a common tool in both business and personal communication. A significant factor in the widespread adoption of email technology is the relative ease with which individuals may communicate using email. An individual may quickly communicate a message to one or more individuals by simply inputting the message and the recipients' email address into an email application and clicking a mouse button. One of the primary reasons email is so attractive is that the messages are typically delivered within seconds of being sent.
Many email users access their email through web mail applications which display a user's email inbox and the corresponding email messages in a web page environment. One of the advantages of web mail applications is that the user may access their email from any location that provides access to the World Wide Web. When a user logs into their email account, they are typically presented with an inbox view that provides a list of the various email messages the user has received. When the user selects a particular email message, for example, by clicking on the message within the list, a request is sent to a web server requesting the selected message. The server responds with the email message which is displayed to the user as a new web page.
Typically, the web page displaying the message includes one or more response options. Examples of response options include Reply, Reply-to-All and Forward. These response options are usually presented to the user as links or buttons that the user may select. Reply allows the user to reply to the originator of the message. Reply-to-All allows the user to reply to all of the recipients of the message. The Forward option allows the user to forward the email to a user who was not one of the original recipients of the message.
When a user selects one of the response options in a web based email application, a request is sent to a remote email server requesting the reply web page corresponding to the selected response option. This page typically includes a text box for inputting the reply message and one or more address fields for inserting the recipient addresses. When the user selects the Reply or Reply-to-All option, the server typically inserts the appropriate recipient address information into the address fields.
Typically, a user must choose the response option at the time he decides to respond to the email. If the user later changes his mind and wants to select a different response option, he cannot do so from the reply web page returned by the server. In order to select a different response option, the user would have to return to the original message web page. This process may result in multiple requests to the server which increases web traffic and adds additional latency to the user experience. If the user provides part or all of a response message into the reply web page before changing his mind on the response options, the user would lose the message unless he copied the message before returning to the original message and pasted it into the new reply web page returned by the server upon selecting the new response option.
These same limitations are also present in client-side email applications such as Microsoft Outlook. When the user selects a particular response option, a new message window is created including the recipient addresses associated with the response option. However, if the user wishes to change to a different response option, the user must close the window and select a different response option. These applications do not provide the user with a mechanism to dynamically change the response option for his message. As a result, if the user has provided part or all of a message prior to deciding to select a different response option, the user must either copy the message and paste it into the new reply window, or must manually enter the additional recipient address.
Accordingly, what is desirable are improved systems and methods for addressing the above-described limitations of prior systems.
The present invention provides a system and method for dynamically updating the email address of a response message in response to a user selection of a response option. In one embodiment, a reply form may be provided as an interface to respond to an email message. The reply form may comprise a text box for inputting a response message and a recipient email address box for inputting the email addresses of the intended recipients of the response message. In one embodiment, a plurality of response options may be provided with the reply form. When a user selects a response option, the recipient addresses of the response message may be dynamically updated with the email addresses associated with the response option.
Reference will be made to embodiments of the invention, examples of which may be illustrated in the accompanying figures. These figures are intended to be illustrative, not limiting. Although the invention is generally described in the context of these embodiments, it should be understood that it is not intended to limit the scope of the invention to these particular embodiments.
An apparatus and method for dynamically updating at lease one email transmission characteristic of a reply form without modifying the text message within the reply form is described. Email transmission characteristics include but are not limited to the recipient addresses of the response message, security parameters, quality of service characteristics or the priority level assigned to the response message. One skilled in the art will recognize that there are a number of email transmission characteristics that may be modified according to the present invention.
In one embodiment, the recipient addresses of a response message may be dynamically updated in response to a user selection of one of a plurality of response options. In one embodiment, a reply form associated with a received email message may be displayed to a user. The reply form may include multiple response options, a text box for inputting the response message and one or more address fields for adding and or editing the email addresses of the intended recipients of the response message. In response to a user selection of a response option, the recipient addresses of the response message may be dynamically populated based upon the selected response option.
In the following description, for purposes of explanation, specific details are set forth in order to provide an understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these details. Furthermore, one skilled in the art will recognize that embodiments of the present invention, exemplary ones of which are described below, may be utilized in any electronic mail application. Accordingly, structures and devices shown below in block diagram are illustrative of specific embodiments of the invention and are meant to avoid obscuring the invention.
Reference in the specification to “one embodiment,” “this embodiment” or “an embodiment” means that a particular feature, structure, characteristic, or function described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” or “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
In one embodiment, email message 210 is the message the user is responding to using reply form 200. As illustrated in
Reply form 200 may be generated to allow the user to respond to email message 210 and may be displayed in the same window or document (e.g. web page) as email message 210. In an alternative embodiment, reply form 200 may be displayed in a separate window or frame from email address 210. In one embodiment, illustrated in
In the embodiment illustrated in
Software located on the client computer may also provide a more efficient email response mechanism for the user by allowing the user to toggle through the virtual tabs while maintaining content within the text box 220. For example, the user may initially select the Reply tab 260 and enter a response to the email message 210 within the text box 220. Thereafter, the user may toggle from the Reply tab 260 to the Reply-to-All tab 270. The content within the text box 220 may remain after this toggle without any user action. According to one embodiment, software on the client computer modifies the characteristics of the email response (i.e., changes from Reply response to Reply-to-All response) without erasing or modifying the content with the email response.
In the example illustrated in
In one embodiment, Reply option 260 may be defined to reply to the sender of the original email message 210. In the embodiment illustrated in
In one embodiment, the user may input a response message in text box 220 by clicking text box 220 and inputting the text through a keyboard or other input device.
As mentioned above, the user may toggle between the various response options in order to change the recipient addresses for the response message. For example, if the user wishes to send the message to Tim, Greg and Brad, the user may select the Reply-to-All option 270 within reply form 200. In one embodiment, Reply-to-All option 270 is defined to send the response message to all of the recipients of email message 210.
When the user selects Reply-to-All option 270, software code may detect the selection and dynamically update address boxes 240 and 250 to include the email addresses of the recipients associated with the selected response option. In this example, the software code may populate recipient address box 240 with Tim@example.com and may populate address box 250 with Greg@example.com and Brad@example.com. Each of these email addresses is associated with the Reply-to-All 270 option since it is defined to respond to each recipient of email message 210. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window (not shown in
The software code may be configured to monitor and/or receive data regarding user selections within reply form 200. In one embodiment, the software code may parse email message 210 to identify the various recipient email addresses. Based on the location within the email message 210 header, the software code may identify which email addresses to associate with each response option. For example, while parsing email message 210, the software code may identify email addresses located in the “Cc:” field and may assign these addresses to the Reply-to-All option 270. As a result, when a user selects Reply-to-All 270, the software code may populate recipient address box 250 of reply form 200 with the recipient email addresses parsed from the “Cc:” field of email message 210.
In another embodiment, while parsing email message 210, the software code may identify the email addresses located in the “From:” field of email message 210. The software code may associate these email addresses with the Reply 260 and Reply-to-All 270 options. The “From:” field email addresses may be associated with each response option since both are defined to respond to the sender of the original email message 210. As a result, when the user selects either of these response options, the software code may populate recipient text box 240 of reply form 200 with the email addresses parsed from the “From:” field of email message 210.
One skilled in the art will recognize that there are a number of ways to implement the software code described above. In one embodiment, JavaScript or another scripting language may be used to implement the present invention. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window.
In one embodiment of the invention illustrated in
In one embodiment of the invention, the user may click or otherwise select Send button 290 to send the message input to reply form 200 to the recipients specified in address boxes 240 and 250. In one embodiment, software code may detect the user selection of the send button and initiate the transfer of the message to a remote server for delivery to the specified recipients. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window. In one embodiment, the message may be sent without navigating the user to another web page. In other words, during the process of toggling between response options and sending the message, the same reply form 200 may be displayed to the user.
In one embodiment of the invention, a confirmation message indicating that the message has been sent may be inserted in place of the reply form when the message has been sent. In another embodiment, the software code may be configured to remove the contents of text box 220 after the user has clicked on the send button and the message delivery has been initiated. As illustrated in
One skilled in the art will recognize that the invention is not limited to virtual tabs and that there are a number of other ways to display response options 260, 270 and 280 to a user, including but not limited to links and buttons. In one embodiment, illustrated in
In one embodiment, response button 410 may represent the reply option. When the user selects response button 410, software code may initiate the sending of the message input into text box 220 to the sender of the original message 210. In this example, Tim@example.com. Response button 420 may represent the reply-to-all option. When the user selects response button 420, software code may initiate the sending of the message input into text box 220 to all of the recipients of the original message 210. In this example, the message would be sent to Tim@example.com, Brad@example.com and Greg@example.com.
In yet another embodiment, when the user selects the Edit Recipients response button 430, software code may dynamically insert the To: and Cc: address boxes 240 and 250 into reply form 400 along with a Send button as illustrated in
Similarly, when the user selects the Forward response button 440, software code may insert the To: and Cc: address boxes 240 and 250 into reply form 200 along with a Send button as illustrated in
In another embodiment, when a user selects reply link 525 a reply form 200 is inserted below email message 520 as illustrated in
In a further embodiment of the invention, a reply link may be provided for each response option supported. For example, a reply link may be provided for Reply 260 option, Reply-to-All 270 option and Forward 280 option. When the user selects one of the response options, a reply form 200 may be dynamically inserted below the email message associated with the reply link. Software code may populate address boxes 240 and 250 based on the selected response option. In addition, the user may still toggle between the response options within reply form 200 as described above.
In an alternative embodiment, the reply links located below each email message within email thread 500 may be replaced with minimized reply forms 215 illustrated in
In one embodiment of the invention illustrated in
In step 720, a plurality of response options may be provided to the user. The response options may be part of the reply form or may in some way be associated with the reply form. In one embodiment, the response options include the Reply option, the Reply-to-All option, and the Forward option. There are a number of ways in which the response options may be presented to the user, including presenting the response options as virtual tabs, links and or buttons. Each response option may be associated with a subset of the recipients of the email message to which the user is responding.
In step 730, a user selection of one of the plurality of response options may be detected. In one embodiment, software code detects the selection of one of the response options. The software code may determine which recipient addresses are associated with the selected response option. In one embodiment, the first email message may be parsed to locate the various recipients and sender of the first email message. These email addresses may be associated with various response options.
In step 740, the recipient addresses of the response message are updated in response to the selected response option. In one embodiment, software code may dynamically update or replace the recipient email addresses of the reply form with the recipient addresses associated with the selected response option. This may consist of removing email addresses from the reply form that are not associated with the selected response option. This may also consist of populating the reply form with recipient email addresses that are associated with the selected response option.
While the present invention has been described with reference to certain embodiments, those skilled in the art will recognize that various modifications may be provided. For example, though the invention has been discussed with reference to various response options, one skilled in the art will recognize that the invention is not limited to these response options. Other response options may be defined that are part of the present invention. In addition, there are numerous programming languages, including JavaScript, that may be used to implement the invention. Variations upon and modifications to the embodiments are provided for by the present invention, which is limited only by the following claims.
This application is related to pending U.S. patent application Ser. No. ______, “Email System with Conversation-Centric User Interface”, by Paul Buchheit et. al., Attorney Docket 060963-5007-US, filed Mar. 31, 2004, and U.S. patent application Ser. No.______, “Email Conversation Management System”, by Paul Buchheit et. al., Attorney Docket 060963-5008-US, filed Mar. 31, 2004. The disclosures of all of the foregoing applications are incorporated herein in their entirety by reference.