Abstract:
Systems, methods, and graphical user interfaces for concurrent display of a reply message and two or more response options are disclosed. In some implementations, a method includes, at a computer, maintaining the display of a reply message associated with a plurality of response options. Each respective response option in the plurality of response options is independently associated with one or more recipient addresses for the reply message. While maintaining the display of at least a portion of the reply message, at least one recipient address for the reply message is updated in accordance with a selected response option. In some implementations, the maintaining of the display of at least a portion of the reply message includes maintaining the display of at least a portion of a message body of the reply message. In some embodiments, the selected response option is one of: reply, reply to all, and forward.

Description:
RELATED APPLICATIONS 
       [0001]    This application is a continuation of and claims priority to U.S. patent application Ser. No. 13/221,825, filed Aug. 30, 2011, which is a continuation of U.S. patent application Ser. No. 11/961,911, filed Dec. 20, 2007, now U.S. Pat. No. 8,010,599, which is a continuation of U.S. patent application Ser. No. 11/522,549, filed Sep. 13, 2006, now U.S. Pat. No. 7,315,880, which is a divisional of U.S. patent application Ser. No. 10/815,284, filed Mar. 31, 2004, now U.S. Pat. No. 7,269,621. All above-referenced U.S. patent applications and patents are hereby incorporated by reference herein in their entireties. 
     
    
     TECHNICAL FIELD 
       [0002]    The present disclosure relates generally to Internet technology, and more particularly, to electronic mail (email) technology. 
       BACKGROUND 
       [0003]    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&#39; 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. 
         [0004]      FIG. 1  illustrates an exemplary network on which email messaging may occur. As shown, each of the computer clients, Client A  120 , Client B  121 , Client C  122 , and Client D  123 , is coupled to a network  100 . This network may be a private network, a public network such as the Internet, or a combination thereof. The computer clients ( 120 ,  121 ,  122 ,  123 ) are able to communicate with each other through virtual connections over network  100 . These virtual connections allow the clients ( 120 ,  121 ,  122  and  123 ) to send and receive electronic mail messages from the other clients. 
         [0005]    Many email users access their email through web mail applications which display a user&#39;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. 
         [0006]    Typically, the web page displaying the message includes one or more reply 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. 
         [0007]    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. 
         [0008]    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. 
         [0009]    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 addresses. 
         [0010]    Accordingly, what is desirable are improved systems and methods for addressing the above-described limitations of prior systems. 
       SUMMARY 
       [0011]    The present disclosure provides a system, a graphical user interface, and a method for dynamically updating the recipient email addresses of a response message in response to a user selection of a response option. 
         [0012]    In some embodiments, a method includes: at a computer: maintaining display of a reply message associated with a plurality of response options, where each response option in the plurality of response options is associated with one or more recipient addresses for the reply message. While maintaining the display of at least a portion of the reply message, at least one recipient address for the reply message is updated in accordance with a selected response option. 
         [0013]    In some embodiments, maintaining the display of at least a portion of the reply message includes maintaining display of at least a portion of a message body of the reply message. In some embodiments, the selected response option is one of: reply, reply to all, and forward. In some embodiments, the at least one recipient address is updated without requesting a new reply form. In some embodiments, the reply message and the at least one recipient address are displayed in a first reply form. 
         [0014]    In some embodiments, the method further includes displaying a tear-off mechanism and, responsive to a user selection of the tear-off mechanism, displaying a second reply form separately from the first reply form. This second reply form includes the plurality of response options and a portion of the reply message. In some embodiments, the second reply form further includes an option to edit the at least one recipient address for the reply message. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    For a better understanding of the aforementioned aspects of the present disclosure as well as additional aspects and embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures. 
           [0016]      FIG. 1  illustrates an exemplary block diagram of a network on which email messages may be transmitted. 
           [0017]      FIG. 2A  illustrates a reply form  200  according to one embodiment of the present disclosure. 
           [0018]      FIG. 2B  illustrates a minimized reply form  215  according to one embodiment of the present disclosure. 
           [0019]      FIG. 2C  illustrates a reply form  200  with a response message according to one embodiment of the present disclosure. 
           [0020]      FIG. 2D  illustrates a reply form  295  that has been torn away from the window displaying the original email message. 
           [0021]      FIG. 3A  illustrates a reply form  200  wherein the recipient addresses have been updated in response to a selection of a response option according to one embodiment of the present disclosure. 
           [0022]      FIG. 3B  illustrates a reply form  200  following the sending of a response message according to one embodiment of the present disclosure. 
           [0023]      FIG. 4A  illustrates a reply form  400  with response buttons according to one embodiment of the present disclosure. 
           [0024]      FIG. 4B  illustrates a reply form according to one embodiment of the present disclosure. 
           [0025]      FIG. 5  illustrates an email thread  500  according to one embodiment of the present disclosure. 
           [0026]      FIG. 6A  illustrates an email thread  500  with a dynamically inserted reply form  200  according to one embodiment of the present disclosure. 
           [0027]      FIG. 6B  illustrates an email thread  500  with an inserted response message according to one embodiment of the present disclosure. 
           [0028]      FIG. 7  is a flowchart for updating the recipient addresses of a response email in response to user selection of a response option according to one embodiment of the present disclosure. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0029]    An apparatus and method for dynamically updating at least 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 disclosure. 
         [0030]    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. 
         [0031]    In the following description, for purposes of explanation, specific details are set forth in order to provide an understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure can be practiced without these details. Furthermore, one skilled in the art will recognize that embodiments of the present disclosure, 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 present disclosure and are meant to avoid obscuring the present disclosure. 
         [0032]    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 disclosed in the present disclosure. 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. 
         [0033]      FIG. 2A  illustrates an exemplary reply form  200  according to one embodiment of the present disclosure. Reply form  200  may provide an interface for the user to respond to a previously received email message  210 . Reply form  200  may be located within the same window or document (e.g. web page) as the received email message. Reply form  200  may include a content area, such as text box  220 , for typing or otherwise inputting the response message, a subject box  230  for entering a subject for the response message, and one or more recipient address boxes for inserting the email addresses of the recipients to which the user wishes to send the response message. In the embodiment illustrated in  FIG. 2A , reply form  200  may include two recipient address boxes,  240  and  250 . Reply form  200  may also include resize options that allow the user to dynamically resize reply form  200  or text box  220 . In one embodiment, resize buttons  235  and  245  may be selected by the user to increase or reduce the number of lines of text available in reply form  200  or text box  220 . Software code may detect a user selection of resize button  235  or  245  and may dynamically add or subtract a predefined number of lines of text from text box  220  within reply form  200 . Alternatively, a control corner  225  may be provided to the user which the user may select and drag across the screen to increase the size of reply form  200  or text box  220 . Reply form  200  may also include multiple response options. In one embodiment, reply form  200  may include three response options, Reply  260 , Reply-to-All  270  and Forward  280 . 
         [0034]    In one embodiment, email message  210  is the message the user is responding to using reply form  200 . As illustrated in  FIG. 2A , email message  210  was sent to the user from Tim@example.com. In addition, Tim copied, denoted by “Cc:,” Brad@example.com and Greg@example.com. Thus, Brad, Greg and the user each received a copy of email message  210 . 
         [0035]    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  FIG. 2B , a minimized reply form  215  may be inserted below email message  210 . Minimized reply form  215  may include response options  260 ,  270  and  280  as discussed herein along with a small text box  217 . In response to a user selection of one of the response options or in response to a user click in the text box  217 , software code may detect the user selection or click and dynamically insert reply form  200  and/or an expanded text box  220  in place of minimized reply form  215  with minimized text box  217 . In yet another embodiment, the software may expand the minimized reply form  215  by dynamically inserting additional lines into the text box  217  of minimized reply form  215 . 
         [0036]    In the embodiment illustrated in  FIG. 2A , response options  260 ,  270  and  280  may be presented as virtual tabs or links so that the user may toggle between response options. As a user toggles through these tabs, a client computer may not be required to make a server request in response to the user selecting these tabs. Rather, software (such as javascript) may be provided on the client computer that detects the user selection of one of the tabs and populates address boxes  240  and/or  250  with the addresses corresponding to the selected response option. Thus, the user may type or enter a response to the email message  210  and define the characteristics of the response, such as the recipients of the response, without making a specific server request for the response or a response form. This reduction in client-server communication may provide a more efficient email platform in which latency, which is typically caused by generating an email response window and populating the corresponding recipient address field, may be reduced. 
         [0037]    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. 
         [0038]    In the example illustrated in  FIG. 2A , Reply  260  is the selected response option. In one embodiment, Reply  260  is the default response option displayed to the user. 
         [0039]    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  FIG. 2A , Tim@example.com sent the email message  210  to which the user is responding so his email address is included in recipient address box  240  since the Reply  260  option is selected. In comparison, the response message will not be sent to Brad@example.com or Greg@example.com because they were not the original sender of email message  210  and thus are not associated with the Reply  260  option. 
         [0040]    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.  FIG. 2C , illustrates reply form  200  with a response message in text box  220 . The response message in text box  220  may not be affected if the user toggles between the various response options. 
         [0041]    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 . 
         [0042]    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  FIG. 2A ). 
         [0043]    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 . 
         [0044]    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 . 
         [0045]    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 disclosure. 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. 
         [0046]    In one embodiment of the present disclosure illustrated in  FIG. 2C , a tear off link or button  290  may be included with reply form  200 . When a user clicks or otherwise selects tear off button  290 , reply form  200  may be torn off of its original display in the same window as email message  210  and displayed in a separate window.  FIG. 2D  illustrates reply form  295  displayed in a window separate from email message  210 . In one embodiment, email message  210  may still be displayed in the original window located within web browser  296 . This embodiment of the present disclosure is advantageous because it allows the user to input a response message into reply form  295  while being able to navigate the web browser to a new web page. In another embodiment, when reply form  200  is torn away from the original display window, a new reply form  200  may be inserted below email message  210 , allowing the user to draft a second response message separate from the response message being input into the reply form  295  that was torn away from the original display window. 
         [0047]      FIG. 3A  illustrates reply form  200  with the recipient addresses updated in response to the user selection of the Reply-to-All  270  option according to one embodiment of the present disclosure. As discussed above, the Reply-to-All  270  option may be defined to send the reply message input into reply form  200  to all of the recipients of email message  210 . In the example illustrated, the recipients associated with Reply-to-All option include Tim@example.com, Brad@example.com and Greg@example.com. When the Reply-to-All option  270  was selected by the user, the software code dynamically updated address boxes  240  and  250  with the recipient addresses associated with Reply-to-All option  270 . 
         [0048]    In one embodiment of the present disclosure, 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. 
         [0049]    In one embodiment of the present disclosure, 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  FIG. 3B , the same reply form  200  may be displayed to the user with the contents of the text box deleted. As a result, the user may immediately begin creating a second response email. In one embodiment, reply form  200  maintains the same response option as the previously sent response message. In the example illustrated, the Reply-to-All  270  option remains the selected response option. In an alternative embodiment, reply form  200  may automatically toggle back to the default Reply option  260  after a response message has been sent. In either case, the user may again toggle between the various response options by simply selecting one of the other response options. 
         [0050]    One skilled in the art will recognize that the present disclosure 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  FIG. 4 , a reply form  400  may be provided to a user with multiple response options provided to the user as a plurality of response buttons  410 ,  420 ,  430  and  440  that also initiate the sending of the message. Reply form  400  may include a subject box  230  and a text box  220  for inputting a response message. 
         [0051]    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. 
         [0052]    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  FIG. 4B . In one embodiment, address boxes  240  and  250  may be populated with the recipient addresses associated with a reply-to-all option. The user may edit the addresses, add new addresses or delete one or more addresses from address boxes  240  and  250 . 
         [0053]    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  FIG. 4B . However, in this embodiment, address boxes  240  and  250  may be left empty, allowing the user to input the intended recipients. The software code may also include the text of the original message  210  in text box  220  along with a forward header. The forward header may include information identifying the sender of message  210 , the date message  210  was sent, the subject of message  210  and the recipients of message  210 . 
         [0054]      FIG. 5  illustrates multiple email messages  510 ,  520  and  530  that make up an email thread  500 . Below each email message  510 ,  520  and  530  is a reply link  515 ,  525  and  535 , respectively. In one embodiment of the present disclosure, a reply mechanism such as a reply link or other selection means may be associated with each email message that makes up email thread  500 . The user may select one of the reply mechanisms to respond to the associated email message within email thread  500 . In the embodiment illustrated in  FIG. 5 , reply links  515 ,  525  or  535  are provided to respond to the email message associated with the reply link. Software code may detect a user selection of the reply link and insert a reply form  200  below the message to which the user wants to respond. In one embodiment, the software code may be embedded within the source code that defines email thread  500 . In an alternative embodiment, the software code may be embedded within a hidden frame or second window within the web browser. 
         [0055]    In another embodiment, when a user selects reply link  525  a reply form  200  is inserted below email message  520  as illustrated in  FIG. 6A . In yet another embodiment of the present disclosure, the user may click on multiple reply links  515 ,  525  and/or  535  to open multiple reply forms. As a result, the user may simultaneously input responses to multiple messages at the same time. 
         [0056]    In a further embodiment of the present disclosure, 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. 
         [0057]    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  FIG. 2B . As discussed above, in response to a user selection of one of the response options or in response to a user click in the text box of minimized reply form  215 , software code may detect the user selection or click and dynamically insert reply form  200  and/or an expanded text box  220  in place of minimized reply form  215  with minimized text box  217 . In yet another embodiment, the software may expand the minimized reply form  215  by dynamically inserting additional lines into the text box  217  of minimized reply form  215 . The user may select multiple minimized reply forms  215  within email thread  500 , allowing the user respond to multiple email messages within email thread  500  at the same time. 
         [0058]    In one embodiment of the present disclosure illustrated in  FIG. 6B , when a user selects the send button within reply form  200  of email thread  500 , the text of the reply message may be inserted into the thread view. As illustrated in this embodiment, the messages within thread  500  may be indented or otherwise distinguished to provide the user with a visual representation of each message within email thread  500 . 
         [0059]      FIG. 7  illustrates a method  700  for updating the recipient addresses of a response email in response to user selection of a response option according to one embodiment of the present disclosure. In step  710 , a reply form for responding to a first electronic mail (email) message may be provided to a user. The reply form may include a text box for inputting the response message and one or more address boxes for inputting the addresses of the intended recipients of the response message. 
         [0060]    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. 
         [0061]    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. 
         [0062]    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. 
         [0063]    While the present disclosure 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 present disclosure has been discussed with reference to various response options, one skilled in the art will recognize that the present disclosure is not limited to these response options. Other response options may be defined that are part of the present disclosure. In addition, there are numerous programming languages, including JavaScript, which may be used to implement the disclosure. Variations upon and modifications to the embodiments are provided for by the present disclosure, which is limited only by the following claims.