Email applications are widely used by users on a variety of client devices for non-real time correspondence. With the proliferation of computing and networking technologies, email use has become an inextricable part of daily personal and professional lives. The increased reliance on email brings with it the disadvantage of how to deal with increasingly large numbers of emails. It is a common occurrence to find hundreds of email needing attention (at least a quick review) when a person comes back from vacation or comparable absence. Similarly, certain events (e.g., a product release, a conference, etc.) may generate a large number of received emails when the person receiving the emails may be too busy to deal with the increased volume.
Some emails may be important to a user as they may be related to work and personal matters, while other emails may be fairly unimportant such as recreational and entertainment emails, or sent simply as a courtesy copy. Users may receive a large quantity of emails hourly and daily, and sorting through hundreds and even thousands of emails to find important emails that need to be dealt with can be arduous, inefficient, and time consuming. Additionally, viewing and sorting through such a large quantity of emails may be even more difficult when the user employs a smaller user interface client device such as a mobile device or tablet to view and manage emails.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments are directed to an email assistant for managing emails as they arrive at an email application. The email assistant may organize high and low priority emails in separate groups for enabling a user to quickly view important emails. The email assistant may also enable bulk actions, such as a delete, on a low priority group of emails. The email assistant may provide suggestions on how to sort and manage emails in the inbox of the email application. The email assistant may further observe a user's interactions with emails, and prioritize the emails, suggest actions, or even perform automatic actions based on the user's interactions. The email assistant may be configured to automatically sort emails and to provide suggestions based on a detected scenario such as a user's return after a period of time away, a large influx of emails, and presence detection. The email assistant may also provide different viewing suggestions and sorting based on a client device used for viewing the emails.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
As briefly described above, an email assistant is provided for managing emails in an inbox at an email application. The email assistant may prioritize emails in separate high and low priority groups for enabling a user to quickly view important emails. The email assistant may provide a suggestion pane for providing suggestions on how to sort and manage emails in the inbox of the email application.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable hardware media.
Throughout this specification, the term “platform” may be a combination of software and hardware components for providing an email assistant for sorting and managing emails in an email application. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems. The term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.
According to embodiments, a client device may be a touch or gesture-enabled device, such that hand gestures and finger touch may be recognized as input methods on the user interface of the client device for interacting with, controlling, and providing content to the client device. The client device may also work with a traditional mouse and keyboard. A touch or gesture-enabled device may recognize touch actions such as a tap, swipe, pinch, expand, and drag, as some examples. Touch actions, such a tap, swipe, pinch, expand, and drag, and other similar actions as used herein may be provided by a user through a finger, a pen, a mouse, or similar device, as well as through predefined keyboard entry combinations, a voice command, or an eye-tracking input.
Some example client devices for viewing emails may include as a desktop computing device 104, a personal computer 106, a tablet 108, a smartphone 110, a whiteboard and other similar client devices. The client devices may be configured to enable touch and gesture interaction, such that the user 116 may interact with a document, or an email, viewed on the user's client device employing touch and gesture actions on the user interface of the client device.
In some example embodiments, an email application may be configured to display emails in different configurations based on the type of computing device for optimizing how a user views and interacts with emails on the computing device. For example, a personal computer or desktop device may have more viewing space on the user interface such that a larger quantity of emails may be viewed at a time, as well as some detailed preview information about an email may be provided. A tablet or smartphone, however, may have a smaller user interface and thus more limited viewing space for displaying emails. As a result of a smaller user interface, fewer emails and a more limited preview version of the emails may be displayed on an email application executed on a smart phone or tablet.
Often times, a user may be enabled to receive a large quantity of emails daily at an email application. Example emails may include important business and personal emails, as well as less important emails which may include shopping, news, entertainment, recreational, and other low importance emails. When the user 116 receives a large quantity of emails, the user 116 may need to be able to quickly sort through the user's inbox to quickly find, view, and reply to important emails. Even more so, when the user 116 views emails on a tablet or smartphone, it may be even more difficult to parse through a large quantity of unread and unsorted emails quickly and efficiently.
An example email assistant, according to some embodiments, may be provided to automatically sort incoming emails, prioritize emails as high importance and low importance, and the email assistant may provide suggestions to the user 116 on some possible actions which may be taken to deal with a single email message or a group of email messages. The email assistant may be configured to analyze the user's 116 interactions with emails, and may sort the emails and provide suggestions based on the analyzed interactions. Additionally, the email assistant may be configured to activate at certain times when it may be useful, such as when a user returns from a period of time away and has a large quantity of unread emails, and in response to a large influx of emails, as some examples.
In an example embodiment, an email assistant may be configured to sort emails by priority such that the inbox 204 may display high priority emails and low priority emails separately to enable the user to quickly view important emails, and to separately manage less important emails. The email assistant may prioritize emails based on observed behavior, interactions, and patterns of the user. For example, the email assistant may keep track of emails that the user flags, saves, and replies to, including information associated with the emails such as an identity of a sender, a subject, a domain name of the sender, and other similar information. The email assistant may determine that emails that the user flags, saves to certain folders, and/or replies to may be a high priority to the user. When new emails are received, the email assistant may identify new incoming and unread emails that share one or more common high priority characteristics and may designate the incoming emails as high priority. Similarly, the email assistant may identify certain types of emails as low priority based on the user's interactions with the emails, such as the user ignoring, deleting and delaying response to the emails, for example. The email assistant may identify new incoming emails that have one or more identified low priority characteristics as low priority.
In another example embodiment, the email assistant may automatically sort high priority emails and low priority emails into separate groups, and may display the high priority group separately from the low priority group on the interface. For example, on the mobile client device 202 illustrated in diagram 200A, the email assistant may group the low priority emails together, and may display the low importance items together in a low priority section or folder 208 of the inbox. The low priority folder 208 may hide the low priority emails so that the low priority emails do not occupy valuable space on the user interface, enabling more high priority emails to be viewed on the user interface. A bulk action, such as a bulk delete action 216 may be displayed which may enable the user to select/confirm (210) the delete action 216 to delete all of the emails included in the low priority folder 208.
Additionally, the low priority folder 208 may display an expansion option 212, which upon selection may open an expanded low priority folder 218 to display a list of the low priority emails 214 included in the low priority folder 208, as demonstrated on user interface of client device 220. The user may be enabled to select to perform an action on an individual email from the expanded low priority folder 218, such as standard email actions, including read, delete, reply, forward, etc., and additionally, the user may be enabled to select to delete all of the emails listed in the expanded priority folder 208 by selecting the bulk delete action 216. Moreover, when the user views the list of the low priority emails 214 included in the low priority folder 208, the user may be enabled to identify at least one email that the user desires to be high priority. The user may be enabled to perform an action on the email to move the email to high priority. An example action may be a tap and drag to the high priority folder, a right click to display options, or selection of an option to move the email to high priority. The email assistant may update its records to designate emails similar to the moved email as high priority in the future. Furthermore, the email assistant may ask the user if the user desires to move the email to high priority only for this time, or if the user would like all emails like this to be high priority in the future.
In a further example embodiment, as demonstrated in diagram 200B, the email assistant may be configured to optimize the display on the user interface based on the type of device on which the user interacts with the email application. For example, the email assistant may similarly separate high priority emails and low priority emails and may display the grouped emails in different sections of a larger user interface 222 on a client device such as a personal computer and/or a desktop computer. The low priority emails may be displayed together in a low priority section or folder 228 on the larger user interface 222 and the high priority emails may be displayed in a high priority folder 224. Bulk actions may be available on each folder, such as a delete action 226, as previously described.
In one embodiment, the user may be enabled to select a prioritized option on the toolbar 308. The prioritized option 312 may display a list of emails the email assistant identifies as important. The email assistant may identify emails as important based on observed actions of the user with previous emails, as previously described, such as emails that the user flags, saves to certain folders, and/or replies to. The displayed list of prioritized emails may be sorted by date, or other criteria the user selects, such as alphabetically and by sender, as some examples. The user may be enabled to select options from the toolbar employing touch actions such as a tap on an option to select it, and also the user may be enabled to swipe to navigate to different views associated with displayed options on the toolbar.
In an additional embodiment, the user may be enabled to select a low priority option 314 on the toolbar 308. The low priority option 314 may display a list of emails the email assistant identifies as low priority. The email assistant may identify emails low priority based on observed actions of the user with previous emails as previously described. Some example low priority emails the user ignored and/or previously deleted. Similar to the list of prioritized emails, the list of low priority emails may be sorted based on date, sender, alphabetically, and other sorting schemes.
Additionally, the user may be enabled to move emails from high priority to low priority and vice versa by selecting an email from the list and dragging the email to the desired option on the toolbar. For example, if the user desires to move an email from low priority to high priority, the user may be enabled to select the email and drag it to the prioritized option on the toolbar 308.
Further, low importance emails may be grouped together on the list of low priority emails based on common features such as a common sender. For example, all emails from a source that were ignored previously by the user may be grouped together in the low priority list and may be displayed as a folder of emails from the ignored source. The user may be enabled to select to expand the folder to view an expanded list of the emails included in the folder.
In another embodiment, the email assistant may automatically prioritize based on an identified category of an email. For example, personal, family, and work emails may be determined to be high priority, while entertainment, recreation, shopping, and social related emails may be determined to be low priority. The user may be enabled to specify certain categories of emails as high or low priority so that the email assistant may prioritize emails based on the user's specifications as well as based on the observed behavior and interactions.
Additionally, the suggestion pane 404 may be configured to be automatically displayed when a large influx of emails is detected. A number of received emails which may trigger activation of the email assistant suggestion pane 404 may be predefined automatically by the email assistant and may also be customized by the user. For example, the user may be enabled to specify that if 50 emails are received within a small amount of time, such as 15 minutes, the suggestion pane 404 may be displayed to help the use sort through the received emails. In another example, the suggestion pane 404 may also be triggered based on presence. For example, the email application or other application associated with the server may detect presence of the user. For example, presence detection may include detecting when the user is idle, or inactive, and when the user becomes active or online again. When the user's status is detected as active or online, the suggestion pane 404 may be automatically presented to the user. Further, the user may be able to manually activate the suggestion pane 404 at any time the user desires. The user may be enabled to select to open the suggestion pane and the suggestion pane may present a number of options for managing and sorting through the user's inbox.
As demonstrated on device 402, when activated based on a trigger event as described above, an example suggestion pane 404 may ask if the user would like the email assistant to clean up low priority emails. The suggestion pane 404 may present a number of options for the user to select in response such as yes 412, view first 406, and not now 408. Selection 410 of the yes 412 option may perform a bulk delete action on all of the emails designated as low priority grouped together in a low priority folder. After deletion of the low priority emails, a pop up pane may be displayed to indicate successful deletion of low priority emails, and the cleaned up inbox including high priority emails may subsequently be displayed. Selection of the not now 408 option may cause the suggestion pane 404 to minimize or become hidden so that the user may be enabled to view the email application inbox to be displayed to the user. Selection of the view first 406 option may hide the suggestion pane 404 and may automatically open the low priority folder 416 to display a list of low priority emails 414 included in the low priority folder. From the list view of the low priority emails 414, the user may be enabled to interact with individual emails on the list and perform a bulk delete action on all the emails in the list as previously described.
Another example email suggestion pane 420, as illustrated in diagram 400B, may provide different suggestions for managing emails. When the suggestion pane 420 is activated, based on a trigger event or manually as previously described, the suggestion pane 420 may ask if the user would like help sorting through email. Some example suggestions may include, a clean-up low priority option 422, a view important items option 424 and a not now or no thanks option 426. Selection of the clean-up low priority option 422 may perform a bulk delete action on all of the emails designated as low priority grouped together in a low priority folder. Additionally, after deletion of the emails, a pop up pane may be displayed to indicate successful deletion of low priority emails, and the cleaned up inbox with high priority emails may subsequently be displayed. Selection of the no thanks option 426 may hide the suggestion pane 420 so the user may be enabled to view the email application inbox. Selection of the view important items option 424 may hide the suggestion pane 420 and may automatically open a high priority folder 432 to display a list of high priority emails 434 included in the high priority folder 432. The example suggestions described above are not intended to be limiting, but are examples of some actions an email assistant may suggest for a user to select. Other actions may be suggested to the user, and the described actions may be combined together and displayed in different combinations based on different scenarios.
In another example embodiment, the email assistant may detect current actions of a user as the user manually views and sorts through the inbox, and the email assistant may display a suggestion pane with suggestions relevant to the detected current action. For example, if the email assistant detects the user scanning through an inbox for emails from a particular sender to reply to, the email assistant may provide a suggestion pane to ask the user if the email assistant is to display all emails from the particular sender. Similarly, the email assistant may detect current trends when the user is viewing email such as viewing emails related to a particular topic or subject, emails which carbon copy a certain individual or groups, and other similar actions. The email assistant may provide a suggestion to the user to sort based on the detected current actions to help the user efficiently sort through the emails.
Client applications executed on any of the client devices 611-813 may facilitate communications via application(s) executed by servers 814, or on individual server 816. An email application executed on one of the servers may facilitate email exchange and provide efficient management of received emails as discussed previously. The email application may retrieve relevant data from data store(s) 819 directly or through database server 818, and provide requested services (e.g. document editing) to the user(s) through client devices 611-613.
Network(s) 610 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 610 may include secure networks such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 610 may also coordinate communication over other networks such as Public Switched Telephone Network (PSTN) or cellular networks. Furthermore, network(s) 610 may include short range wireless networks such as Bluetooth or similar ones. Network(s) 610 provide communication between the nodes described herein. By way of example, and not limitation, network(s) 610 may include wireless media such as acoustic, RF, infrared and other wireless media.
Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to implement a platform providing an email assistant for efficient management of emails. Furthermore, the networked environments discussed in
Email application 722 may facilitate email exchange while email assistant module 724 prioritizes received emails for managing and sorting through the emails. The email assistant module 724 may determine based on feedback from interaction detection module 726 how to group, what actions to suggest, or what actions to perform on the received emails as discussed previously. Email application 722, email assistant module 724, and interaction detection module 726 may be separate applications or integrated modules of a hosted service. For example, email application 722 may be a browser accessing an email service. This basic configuration is illustrated in
Computing device 700 may have additional features or functionality. For example, the computing device 700 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Some embodiments may be implemented in a computing device that includes a communication module, a memory device, and a processor, where the processor executes a method as described above or comparable ones in conjunction with instructions stored in the memory device. Other embodiments may be implemented as a computer readable memory device with instructions stored thereon for executing a method as described above or similar ones. Examples of memory devices as various implementations of hardware are discussed above.
Computing device 700 may also contain communication connections 716 that allow the device to communicate with other devices 718, such as over a wired or wireless network in a distributed computing environment, a satellite link, a cellular link, a short range network, and comparable mechanisms. Other devices 718 may include computer device(s) that execute communication applications, web servers, and comparable devices. Communication connection(s) 716 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program.
Process 800 begins with operation 810, where a plurality of unread emails may be detected at an email application executed on a client device. Operation 810 may be followed by operation 820 where the unread emails may be prioritized. The emails may be prioritized based on observed user interactions with previous emails to identify emails as high and low priority. At operation 830, the emails identified as high priority may be grouped together and the emails identified as low priority may be grouped together in a low priority folder. The low priority folder may be displayed separately on the user interface as a separate designated section on the interface. Additionally, the separate folders may be added to a toolbar on the email application and may be displayed upon selection of the folder from the toolbar.
At operation 840, a trigger event may be detected to activate a suggestion pane. A trigger event may include detecting a large number of unread emails at the email application, detecting a user's return after a period of time away, such as on vacation or out of the office for an extended period of time, presence detection, such as an online and active status, at predefined times during a day, and upon manual activation by the user. Operation 840 may be followed by operation 850 where a suggestion pane may be displayed to provide a number of suggested actions for managing and sorting the groups of high priority emails and low priority emails.
The operations included in process 800 are for illustration purposes. Providing an email assistant for sorting and managing emails in an email application may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.