Abstract:
A system and method for automatic draft email notification includes the following steps or acts performed while a user is engaged with a first email in an active email session: retrieving a value from the first email to use as a search term; accessing draft emails associated with the user; determining if the search term from the first email matches a corresponding string in the draft emails associated with the user; and presenting the draft emails that match the search term as a listing of selectable draft emails.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    None. 
       FIELD OF THE INVENTION 
       [0002]    The invention disclosed broadly relates to the field of email messaging, and more particularly relates to the field of draft email notification. 
       BACKGROUND OF THE INVENTION 
       [0003]    When composing an email message, the message in progress is automatically saved to the composer&#39;s draft mail folder when the system detects no activity for a period of time (usually a couple of minutes). In addition, the composer has the option to explicitly save the email message into the draft folder. The composer can then retrieve the saved draft from the draft folder and finish the message. This is how most messaging systems are set up. 
         [0004]    However, because the unfinished messages are out of sight, email users generally forget about the unfinished drafts and begin new email messages. Consequently, the draft messages proliferate in the draft folder. The user might also end up losing the context of the draft after a long period. Users tend to compose mail and then save the mail as drafts to be sent later. Seldom do they send all the drafts which were written, for an assortment of reasons, including: 
         [0005]    1) users want certain emails to be sent out at a specific time and they subsequently forget to send; and 
         [0006]    2) some temporary internet connection error might occur on the user&#39;s side and they are not aware that the email was saved as a draft and not sent. 
       SUMMARY OF THE INVENTION 
       [0007]    Briefly, according to an embodiment of the present disclosure, a method for automatic draft email notification includes the following steps or acts performed while a user is engaged with a first email in an active email session: retrieving a value from the first email to use as a search term; accessing draft emails associated with the user; determining if the search term from the first email matches a corresponding string in the draft emails associated with the user; and presenting the draft emails that match the search term as a listing of selectable draft emails. 
         [0008]    According to another embodiment of the present disclosure, an information processing system for automatic draft email notification includes: a user interface, a processor device operably coupled with the user interface, and a memory operably coupled with the processor device. The memory includes computer-executable instructions for performing the following steps while a user is engaged with a first email in an active email session: retrieving a value from the first email to use as a search term; accessing draft emails associated with the user; determining if the search term from the first email matches a corresponding string in the draft emails associated with the user; and presenting the draft emails that match the search term as a listing of selectable draft emails. 
         [0009]    According to another embodiment of the present disclosure, a computer program product includes a non-transitory computer-readable storage medium with computer-executable instructions stored thereon. The computer-executable instructions, when executed, cause a computer to perform: retrieving a value from the first email to use as a search term; accessing draft emails associated with the user; determining if the search term from the first email matches a corresponding string in the draft emails associated with the user; and presenting the draft emails that match the search term as a listing of selectable draft emails. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0010]    To describe the foregoing and other exemplary purposes, aspects, and advantages, we use the following detailed description of an exemplary embodiment of the invention with reference to the drawings, in which: 
           [0011]      FIG. 1  is an exemplary illustration of a draft notification, according to an embodiment of the present disclosure; 
           [0012]      FIG. 2  is an exemplary illustration of a draft e-mail selected from the reminder pane, according to an embodiment of the present disclosure; 
           [0013]      FIG. 3  is a high-level flowchart of the draft email notification method, according to an embodiment of the present disclosure; 
           [0014]      FIG. 4  is a high-level flowchart of the draft email notification method while in viewing mode, according to an embodiment of the present disclosure; 
           [0015]      FIG. 5  is a high-level flowchart of the draft email notification method according to another embodiment of the present disclosure; 
           [0016]      FIG. 6  is an exemplary illustration of the alert message, according to an embodiment of the present disclosure; and 
           [0017]      FIG. 7  is a high level block diagram showing an information processing system configured to operate according to an embodiment of the present disclosure. 
       
    
    
       [0018]    While the invention as claimed can be modified into alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the scope of the present invention. 
       DETAILED DESCRIPTION 
       [0019]    Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and system components related to systems and methods for placing computation inside a communication network. Accordingly, the system components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Thus, it will be appreciated that for simplicity and clarity of illustration, common and well-understood elements that are useful or necessary in a commercially feasible embodiment may not be depicted in order to facilitate a less obstructed view of these various embodiments. 
         [0020]    We describe an automatic email draft notification and reminder for previously composed draft email messages. The email draft notification method offers an automatic solution to the problems as mentioned in the Background section. When a user is composing a message, the draft notification method immediately checks to determine if a draft has been saved and meant for the same recipient. If a match occurs, the application alerts the user about the pending draft. This is beneficial because the stored draft might provide more context about the conversation in the current email message. 
         [0021]    Similarly, when a user is in a ‘threaded’ email view, as soon as an email is received, the application detects if the user already has a draft saved which was meant for the same recipient (or at least one of multiple recipients). Again, an alert is shown to the user, providing a reminder about the saved draft. This automatic email draft notification can be advantageously implemented under the following circumstances: 
         [0022]    a) Draft Notification based on Email ID when in Reply or Reply All Mode: when User A initiates a Reply or a Reply All to a received email message from User B, thereby opening a compose window pane, a list of previous drafts relevant to the received email message is shown in the compose pane. The relevance is determined by a search API (application program interface) searching through the draft emails for a match based on the email address for User B. 
         [0023]    b) Draft Notification Based on Email ID when in Compose Mode: when User A is in the compose pane, composing an email to User B, a list of previous drafts to User B is shown in the compose pane. In this mode, the search API searches through User A&#39;s draft mail folder for any drafts from User A to User B. Once found, the API fetches all drafts for User B. 
         [0024]    c) Draft Notification Based on Subject/Body when in Compose Mode: when User A is in the compose pane, composing an email to User B, a list of previous drafts matching the subject/body of the email is shown in the compose pane. In this mode, the search API searches for a string from the subject/body of the email to match with an exact string from the stored emails. Once found, the API fetches all drafts with a matching subject/body 
         [0025]    d) Draft Notification when in View Mode: when User A views an email message from User B that is associated with a draft email, the list of previous drafts from User A to User B is shown in the view email message pane. In the case of multiple user inclusion there is an option to select refining the search to retrieve drafts in which all the users are included, or at least one user is included. 
         [0026]    e) Draft suggestion based on b) and c) combined. 
         [0027]    In all the above cases, when the user clicks on a draft suggestion, thereby selecting that draft email, the email screen is updated with the selected draft email. The user can then continue the email session, edit the draft email, and send. Once the message is sent, the draft will be deleted automatically from the draft folder. 
         [0028]    Referring now in specific detail to the drawings, and particularly to  FIG. 1 , there is provided a simplified pictorial illustration of an e-mail screen  100  in which the automatic draft notification method can be implemented, according to an embodiment of the present disclosure.  FIG. 1  shows a Yahoo! Mail Web browser-based e-mail application. The e-mail screen  100  shows the “compose” pane  110  for writing e-mails against a backdrop  120 . Here emailuser1 is composing an e-mail message to emailuser2. Because emailuser1 has draft messages addressed to emailuser2 saved in his/her draft folder  130 , the automatic draft notification presents a list of those draft messages in a bar  150  along the bottom of the screen  100 . 
         [0029]    The list of draft messages can be shown as a message list as shown the attached figure or as a separate list anywhere else on the screen  100 . A scroll bar  155  can be included when the number of draft messages in the list exceeds a threshold amount. Ideally, only a few draft messages should be shown at one time so that the screen  100  is not cluttered with draft messages. 
         [0030]    In the illustration of  FIG. 1  checkboxes  160  allow emailuser1 to easily select any or all of the draft reminders from the list. In other embodiments, the draft reminders are hyper-linked and the user can select by clicking on the desired draft. In this latter embodiment the checkboxes are not necessary. It will be appreciated by those with knowledge in the art that other modes of selection are contemplated within the spirit and scope of the disclosure. 
         [0031]    When user emailuser1 selects one of the saved drafts from the reminder preview bar  150 , that selected draft is placed in active mode and the saved draft appears in the compose pane  110 .  FIG. 2  shows the result of the user&#39;s selection of a draft from the reminder preview bar  150 . Screen  210  shows the previously saved draft selected by the emailuser1 in  FIG. 1 . Note that the preview bar  150  no longer lists this email because it has been moved from draft status to active status. When this occurs the previously active email is overwritten. Because there may exist some scenarios where emailuser1 selects the draft email  210  to read it but does not want the current email to be overwritten by the draft email  210 , we provide an alert message  610  such as the one shown in  FIG. 6  before proceeding. 
         [0032]    When emailuser1 loads a draft from the message list as shown in  FIG. 2 , because it is a page view any advertisements (ads) served on that screen  100  can be rotated. You will note that the ad  230  served in  FIG. 2  after a draft load is different than the ad  130  served in  FIG. 1 . The side benefit to this method generating more page views is that more ads  230  can be shown and refreshed. 
         [0033]    Referring now to  FIG. 3 , we show a flowchart  300  of the method of draft email notification when in compose mode, according to an embodiment of the present disclosure. In step  302  emailuser1 initiates an email message to emailuser2. Once emailuser1 types in emailuser2&#39;s e-mail address in the “To” field, the draft email notification system retrieves emailuser2&#39;s email address in step  304 . In decision step  306 , the system will attempt to match emailuser2&#39;s name (e-mail address) with any drafts with that name in emailuser1&#39;s draft folder. 
         [0034]    When it is determined that emailuser2&#39;s name matches a saved draft, the system retrieves all draft emails addressed to emailuser2 in step  308 . In step  310  a listing of draft emails addressed to emailuser2 are presented to emailuser1 within the compose pane in step  310  and in step  312  the auto-notification process is terminated. 
         [0035]    It should be noted that the draft email notification method can be time-sensitive, thereby ignoring any drafts that are older than a pre-defined threshold. In addition, the draft notification method can prioritize more recent drafts by listing the most recent drafts first. 
         [0036]      FIG. 4  shows a flowchart  400  of the method for automatic draft notification while in viewing mode, according to an embodiment of the present disclosure. In step  402  emailuser1 receives an email message from emailuser2. In step  404  while in the viewing pane, the system retrieve&#39;s emailuser2&#39;s email address from the “From” field in step  404 . Using the retrieved email address for emailuser2, the system will attempt to match it to a draft email in step  406 . If the email address matches a saved draft, then all saved drafts addressed to emailuser2 are retrieved in step  408 . In step  410  a listing of the drafts are presented to emailuser1 in the viewing pane, and in step  412  the process is terminated. 
         [0037]      FIG. 5  shows a flowchart  500  of another embodiment of the method for automatic draft notification. In this embodiment, the system matches terms (parsed character strings) from the subject and/or content of an active e-mail to draft e-mails. Beginning at step  502 , emailuser1 composes a new email message. The system parses the subject and body of the message in step  504 . Next, the system will attempt to match terms from the subject and body to terms found in emailuser1&#39;s draft emails in step  506 . 
         [0038]    For this embodiment, we leverage technology from Y! mail, which provides a simple interface to search for all emails that contain a particular string. Acting as a wrapper around the search API from Y! mail, we can retrieve all drafts for the string that we parse from the current email&#39;s subject/body. For example, assume emailuser1 is composing an email and the string “Yahoo” is found in the subject and/or body while in the compose pane. We input the string “Yahoo” into the existing search API and filter all non-draft emails that result from the search. When a match is found, then all drafts associated with the subject/content are retrieved in step  508 . In step  510  the matched drafts are presented to emailuser1 in the compose pane, and in step  512  the auto-notification process is terminated. 
         [0039]    Referring again to  FIG. 6 , we show the original email screen  100  from  FIG. 1  where emailuser1 selects a draft email to emailuser2. As stated previously, there may be circumstances where emailuser1 selects a draft email to review, but does not necessarily want the original email overwritten by the selected draft email. To address such a situation, we provide an alert message such as the dialog box  610  shown here. When emailuser1 selects an email draft, an alert message will appear notifying the email user that continuing with selection of the draft email will cause the original email to be overwritten by the draft email. 
         [0040]    The email user will have the option to proceed with the overwriting, perhaps by an explicit choice such as the “Continue” button  625  shown here. The email user will also have the option to cancel and return to the original email, perhaps by explicitly selecting the “Cancel” button  635  as shown here. Emailuser1 can then view the draft email in the Draft folder if so desired. It will be appreciated by those with knowledge in the art that the alert message can take many forms and is not limited to the exemplary dialog box  610  provided here. 
         [0041]    Benefits and Advantages of the Draft Email Notification Method. 
         [0042]    Some of the many benefits and advantages to the automatic draft email notification method are: 
         [0043]    1) providing more relevant information about the context of an email/thread with respect to previously saved drafts; 
         [0044]    2) additional ad revenue and exposure generated by rotating ads when the email user selects a draft which otherwise would have been ignored and/or forgotten; 
         [0045]    3) more engagement from mail users, leading to increased revenue. 
         [0046]      FIG. 7  Hardware Embodiment. 
         [0047]    Referring now to  FIG. 7 , there is provided a simplified pictorial illustration of an information processing system including the hardware components for providing automatic draft email notification, in which the present invention may be implemented. For purposes of this invention, computer system  700  may represent any type of computer, information processing system or other programmable electronic device, including a client computer, a server computer, a portable computer, a tablet computer, an embedded controller, a personal digital assistant, a mobile device, and so on. The computer system  700  may be a stand-alone device or networked into a larger system. 
         [0048]    Computer system  700 , illustrated for exemplary purposes as a networked computing device, is in communication with other networked computing devices (such as an Email App  730  and an Ad Server  740 ) via network  790 . For mobile device applications, computer system  700  is in communication with Mobile App Gateway  795 . As will be appreciated by those of ordinary skill in the art, network  790  may be embodied using conventional networking technologies and may include one or more of the following: local area networks, wide area networks, intranets, Cloud computing, public Internet and the like. 
         [0049]    Throughout the description herein, an embodiment of the invention is illustrated with aspects of the invention embodied solely on computer system  700 . As will be appreciated by those of ordinary skill in the art, aspects of the invention may be distributed amongst one or more networked computing devices which interact with computer system  700  via one or more data networks such as, for example, network  790 . However, for ease of understanding, aspects of the invention have been embodied in a single computing device—computer system  700 . 
         [0050]    Computer system  700  includes, inter alia processing device  702  which communicates with an input/output subsystem  708 , memory  704 , storage  710  and network  790 . The processor device  702  is operably coupled with a communication infrastructure  722  (e.g., a communications bus, cross-over bar, or network). The processor device  702  may be a general or special purpose microprocessor operating under control of computer program instructions executed from memory  704  on program data. The processor  702  may include a number of special purpose sub-processors such as a comparator engine, each sub-processor for executing particular portions of the computer program instructions. Each sub-processor may be a separate circuit able to operate substantially in parallel with the other sub-processors. 
         [0051]    The memory  704  may be partitioned or otherwise mapped to reflect the boundaries of the various memory subcomponents. Memory  704  may include both volatile and persistent memory for the storage of: operational instructions for execution by CPU  702 , data registers, application storage and the like. Memory  704  preferably includes a combination of random access memory (RAM), read only memory (ROM) and persistent memory such as that provided by a hard disk drive or other tangible device. The computer instructions/applications that are stored in memory  704  are executed by processor  702 . 
         [0052]    Those skilled in the art will appreciate that the functionality implemented within the blocks illustrated in the diagram may be implemented as separate components or the functionality of several or all of the blocks may be implemented within a single component. For example, the functionality for the Clock Timer  750  may be included in the same component as the Processor Device  702 . 
         [0053]    The I/O subsystem  708  may include various end user interfaces such as a display, a keyboard, and a mouse. The I/O subsystem  708  may further include a connection to a network  790  such as a local-area network (LAN) or wide-area network (WAN) such as the Internet. 
         [0054]    The computer system  700  may also include a removable storage drive  710 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  710  reads from and/or writes to a removable storage unit in a manner well known to those having ordinary skill in the art. Removable storage unit, represents a floppy disk, a compact disc, magnetic tape, optical disk, CD-ROM, DVD-ROM, and the like which are read by and written to by removable storage drive  710 . As will be appreciated, the removable storage unit  710  includes a non-transitory computer readable medium having stored therein computer software and/or data. 
         [0055]    The computer system  700  may also include a communications interface  112 . Communications interface  718  allows software and data to be transferred between the computer system and external devices. Examples of communications interface  718  may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. 
         [0056]    In this document, the terms “computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to non-transitory media such as removable storage drive  710 , or a hard disk drive. These computer program products are means for providing computer-executable instructions to the computer system  700 . The computer readable medium  710  allows the computer system  700  to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium  710 . 
         [0057]    Therefore, while there has been described what is presently considered to be the preferred embodiment, it will understood by those skilled in the art that other modifications can be made within the spirit of the invention. The above description(s) of embodiment(s) is not intended to be exhaustive or limiting in scope. The embodiment(s), as described, were chosen in order to explain the principles of the invention, show its practical application, and enable those with ordinary skill in the art to understand how to make and use the invention. It should be understood that the invention is not limited to the embodiment(s) described above, but rather should be interpreted within the full meaning and scope of the appended claims.