US20220284404A1 - Systems and Methods for Task Assistance - Google Patents
Systems and Methods for Task Assistance Download PDFInfo
- Publication number
- US20220284404A1 US20220284404A1 US17/750,516 US202217750516A US2022284404A1 US 20220284404 A1 US20220284404 A1 US 20220284404A1 US 202217750516 A US202217750516 A US 202217750516A US 2022284404 A1 US2022284404 A1 US 2022284404A1
- Authority
- US
- United States
- Prior art keywords
- task
- entity
- information
- user
- identifying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 description 18
- 230000008520 organization Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1097—Task assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/38—Telephone uniform resource identifier [URI]
Definitions
- the disclosure relates generally to electronic messaging applications, and more specifically to providing task assistance.
- Electronic messaging applications such as email, convey various types of information to a recipient such as messages to and from various others.
- Some messages include a task that the recipient must perform.
- many messaging applications track not only messages received by or sent by a recipient but also tasks that the recipient is to perform. Such tasks may be independent of messages to and from others, or associated with messages from others. What are needed in the art are systems and methods for assisting a recipient with performing such tasks.
- Disclosed implementations address the above deficiencies and other problems associated with performing tasks.
- the disclosed implementations provide ways to help a recipient perform tasks.
- a method of task assistance executes at a computing device having one or more processors and memory.
- the memory stores one or more programs configured for execution by the one or more processors.
- a description of a task associated with a user is received.
- the user creates the task.
- the task is inferred, subject to user confirmation, from a message sent to the user, for instance an E-mail message.
- one or more entities associated with the task are identified using at least the description of the task and geographic information about the user.
- an entity is deemed to be associated with a task when the entity is capable of performing the task and the entity services such tasks from users that are at or from the location identified in the geographical information.
- Information for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity is identified and formatted for use by the user.
- an entity in the one or more entities is a business or a government entity.
- the task is cancellation of a subscription or recurring service and the information for performing the task is a telephone number, uniform resource locator, or mailing address used by an entity in the one or more entities to service requests to cancel subscription requests or requests to cancel a recurring service.
- the task is a service request and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request.
- the method further comprises providing an identification of a first entity in the one or more entities and a set of opening and closing times for each day of the week in which the first entity is available to handle the task.
- the method further comprises providing information on whether or not an entity in the one or more entities is presently available to perform the task. In some embodiments, when the entity is available to perform the task, a time of day is provided when the entity will stop receiving requests to perform the task.
- an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit.
- the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user.
- the information is stored as a user profile.
- the identifying the one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user.
- the geographical information is a present location of the user.
- the geographical information is a geographic position, such as a street address, that the user has provided for storage in a profile or other form of record associated with the user.
- an entity in the one or more entities is part of a larger organization and the identifying one or more entities associated with the task comprises resolving which entity in the larger organization pertains to the task based upon the geographical information about the user.
- the larger organization is a first government entity and an entity in the one more entities is a government office for the first government entity.
- the larger organization a Department of Motor Vehicles and the entity within the larger organization that is identified for a user is the office of the Department of Motor Vehicles that is most proximate to the and geographic information about the user.
- the larger organization is a business organization and an entity in the one more entities is a location of an office for the business organization.
- the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task. In some embodiments, the task is returning merchandise. In some embodiments, the method further comprises verifying that a first entity in the one or more entities is presently available to service the task and, when the first entity is not presently available to service the task, the method further comprises refraining from presenting information regarding the first entity.
- Another aspect of the present disclosure provides a computing device comprising one or more processors, memory, and one or more programs stored in the memory.
- the one or more programs are configured for execution by the one or more processors.
- the one or more programs comprise instructions for receiving a description of a task associated with a user.
- one or more entities associated with the task are identified using at least the description of the task and geographic information about the user.
- Information for performing the task with at least one respective entity in the one or more entities is identified based upon an identity of the entity. This information for performing the task is formatted for use by the user.
- Another aspect of the present disclosure provides a non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors and memory.
- the one or more programs comprise instructions for receiving a description of a task associated with a user.
- one or more entities associated with the task are identified using at least the description of the task and geographic information about the user.
- Information for performing the task with at least one respective entity in the one or more entities is identified based upon an identity of the entity. This information for performing the task is formatted for use by the user.
- FIG. 1 illustrates a context in which some implementations operate.
- FIG. 2 is a block diagram of a client computing device according to some implementations.
- FIG. 3 is a block diagram of a server according to some implementations.
- FIGS. 4A-4E illustrate aspects of a user interface for task assistance in accordance with some implementations.
- FIGS. 5A-5C provide a flowchart of a process for task assistance according to some implementations.
- FIG. 1 is a block diagram that illustrates the major components of some implementations.
- the various client devices 102 also identified herein as computing devices
- servers 300 in a server system 110 communicate over one or more networks 108 (such as the Internet).
- a client device 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, or other computing device that has access to a communication network 108 and can run a messaging application 106 .
- the messaging application runs within a web browser 104 .
- the server system 110 consists of a single server 300 . More commonly, the server system 110 includes a plurality of servers 300 . In some implementations, the servers 300 are connected by an internal communication network of bus 122 .
- the server system 110 includes one or more web servers 112 , which receive requests from users (e.g., from client devices 102 ) and return appropriate information, resources, links, and so on.
- the server system 110 includes one or more application servers 114 , which provide various applications, such as a messaging application 106 .
- the server system 110 typically includes one or more databases 116 , which store information such as web pages, a user list 118 , and various user information 120 (e.g., user names and encrypted passwords, user preferences, and so on).
- FIG. 2 is a block diagram illustrating a client device 102 that a user uses to access a messaging application 106 .
- a client device is also referred to as a computing device, which may be a tablet computer, a laptop computer, a smart phone, a desktop computer, a PDA, or other computing device than can run a messaging application 106 and has access to a communication network 108 .
- a client device 102 typically includes one or more processing units (CPUs) 202 for executing modules, programs, or instructions stored in memory 214 and thereby performing processing operations; one or more network or other communications interfaces 204 ; memory 214 ; and one or more communication buses 212 for interconnecting these components.
- CPUs processing units
- the communication buses 212 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
- a client device 102 includes a user interface 206 comprising a display device 208 and one or more input devices or mechanisms 210 .
- the input device/mechanism includes a keyboard and a mouse; in some implementations, the input device/mechanism includes a “soft” keyboard, which is displayed as needed on the display device 208 , enabling a user to “press keys” that appear on the display 208 .
- the memory 214 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices.
- memory 214 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
- the memory 214 includes one or more storage devices remotely located from the CPU(s) 202 .
- the memory 214 or alternately the non-volatile memory device(s) within memory 214 , comprises a non-transitory computer readable storage medium.
- the memory 214 , or the computer readable storage medium of memory 214 stores the following programs, modules, and data structures, or a subset thereof:
- Each of the above identified executable modules, applications, or sets of procedures may be stored in one or more of the previously mentioned memory devices and corresponds to a set of instructions for performing a function described above.
- the above identified modules or programs i.e., sets of instructions
- the memory 214 may store a subset of the modules and data structures identified above.
- the memory 214 may store additional modules or data structures not described above.
- FIG. 2 shows a client device 102
- FIG. 2 is intended more as a functional description of the various features that may be present rather than as a structural schematic of the implementations described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated.
- FIG. 3 is a block diagram illustrating a server 300 that may be used in a server system 110 .
- a typical server system includes many individual servers 300 , which may be hundreds or thousands.
- a server 300 typically includes one or more processing units (CPUs) 302 for executing modules, programs, or instructions stored in the memory 314 and thereby performing processing operations; one or more network or other communications interfaces 304 ; memory 314 ; and one or more communication buses 312 for interconnecting these components.
- the communication buses 312 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
- a server 300 includes a user interface 306 , which may include a display device 308 and one or more input devices 310 , such as a keyboard and a mouse.
- the memory 314 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices.
- the memory 314 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
- the memory 314 includes one or more storage devices remotely located from the CPU(s) 302 .
- the memory 314 or alternately the non-volatile memory device(s) within memory 314 , comprises a non-transitory computer readable storage medium.
- the memory 314 , or the computer readable storage medium of memory 314 stores the following programs, modules, and data structures, or a subset thereof:
- Each of the above identified elements in FIG. 3 may be stored in one or more of the previously mentioned memory devices.
- Each executable program, module, or procedure corresponds to a set of instructions for performing a function described above.
- the above identified modules or programs i.e., sets of instructions
- the memory 314 may store a subset of the modules and data structures identified above.
- the memory 314 may store additional modules or data structures not described above.
- FIG. 3 illustrates a server 300
- FIG. 3 is intended more as functional illustration of the various features that may be present in a set of one or more servers rather than as a structural schematic of the implementations described herein.
- items shown separately could be combined and some items could be separated.
- the actual number of servers used to implement these features, and how features are allocated among them, will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods.
- the functionality for a messaging application may be shared between a client device 102 and a server system 110 .
- the majority of the subsequent processing occurs on the client device.
- the majority of the processing and data storage occurs at a server 300 , and the client device 102 uses a web browser 104 to view and interact with the data.
- One of skill in the art recognizes that various allocations of functionality between the client device 102 and the server system 110 are possible, and some implementations support multiple configurations (e.g., based on user selection).
- FIG. 4A illustrates features of a messaging application that supports task assistance in accordance with some implementations.
- FIG. 4A illustrates an electronic message list 402 , which may be displayed as part of an electronic messaging application (e.g., an email application).
- each row in the list represents a separate message object (e.g., messages 404 , 408 , and 414 - 426 ), a separate message cluster (e.g., 406 , 410 ), or a task 412 .
- the message objects all are intended for a user associated with the electronic message list 402 .
- individual messages are message threads, message conversations, or messages that are addressed to one or more users, including the user uniquely associated with the electronic message list 402 .
- the electronic message list 402 is, in particular, shown to comprise at least two message clusters, cluster 406 and cluster 410 .
- Cluster 406 is a group of electronic messages having a collective association, namely promotional material (e.g., advertisements for retail sales, newsletters from stores).
- cluster 406 comprises nine new electronic messages
- cluster 410 comprises 1 new electronic message.
- a new electronic message refers to a message that has not been viewed, opened, acknowledged or read by the user of the messaging application.
- Message clusters are disclosed further in U.S. patent application Ser. No. 14/145,005, entitled “Systems and Methods for Throttling Display of Electronic Messages,” filed Dec. 31, 2013, and U.S. patent application Ser. No. 14/139,205, entitled “Systems and Methods for Clustering Electronic Messages,” filed Dec. 23, 2013, each of which is hereby incorporated by reference herein in its entirety.
- task assistance is disclosed in more detail.
- a description of a task 428 associated with a user is received.
- the user creates the description of the task 428 by direct input (e.g. through a keypad interface).
- the task is inferred from an electronic message object in the electronic message list 402 . Ways to infer a task from an electronic message object are disclosed in U.S. patent application Ser. No. 14/161,368, entitled “Identifying Tasks in Messages,” filed Jan. 22, 2014, which is hereby incorporated by reference herein in its entirety.
- one or more entities associated with the task are identified using at least the description of the task and geographic information about the user.
- an entity is deemed to be associated with a task when the entity is capable of performing the task and the entity services such tasks from users that are at or from the location identified in the geographical information.
- Information 430 for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity is identified and formatted for use by the user. In the example illustrated in FIG.
- the description of the task “renew drivers license” coupled with geographic information about the user (“e.g., the user's home address or home GPS coordinates”) is used to determine the correct department of motor vehicles website to suggest to the user.
- the user's geographic information identifies Daly City, Calif. and the Daly City office of the California Department of Motor Vehicles is identified as the information 430 for performing the task of renewing a driver's license.
- the URL for the Daly City office of the California Department of Motor Vehicles is formatted for use by the user.
- the user's geographic information identifies Daly City, Calif. and the California URL for the California Department of Motor Vehicles is identified as the information 430 for performing the task of renewing a driver's license.
- the California URL for the California Department of Motor Vehicles is formatted for use by the user.
- an entity in the one or more entities is a business or a government entity.
- the task is cancellation of a subscription or recurring service.
- the task 434 is cancelling a cable subscription and the information 436 for performing the task is a uniform resource locator for cancelling the cable subscription.
- the information 438 for performing the task 436 using two or more entities in the identified one or more entities is provided, as illustrated in FIG. 4C . While FIGS. 4A through 4C provide the example of uniform resource locators that lead to information for performing the task, mailing addresses, phone numbers, social media handles, or any other form of method of communication information to perform the task can be provided.
- the task is a service request (e.g., “call plumber”) and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request.
- the method further comprises providing an identification 440 of a first entity in the one or more entities and a set of opening and closing times 442 for each day of the week in which the first entity is available to handle the task.
- the method further comprises providing information on whether or not an entity in the one or more entities is presently available to perform the task.
- a time of day is provided when the entity will stop receiving requests to perform the task 444 or an amount of time 446 before the entity will stop receiving requests to perform the task is provided.
- an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit.
- government licenses and permits include, but are not limited to drivers licenses, building permits, disabled parking permits, gun permits, hunting permits, environmental permits, fishing license, a liquor license, and a nightclub permit, to name a few nonlimiting examples.
- the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user.
- the information is stored as a user profile.
- the non-transient stored geographical information about the user is stored in a user profile 340 uniquely associated with the user.
- the identifying the one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user.
- the geographical information is a present location of the user.
- the geographical information is a geographic position, such as a street address, that the user has provided for storage in a profile (e.g., user profile 340 of FIG. 3 ) or other form of record associated with the user.
- the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task. For example, if the description of the task is “repair automobile”, the one or more entities provided will be those that wash automobiles. Alternatively, if the description of the task is “wash car”, the one or more entities provided will be those that wash cars. Alternatively still, if the description of the task is “donate car”, the one or more entities provided will be those that accept automobile donations.
- a display device 208 is inherently limited in size. Accordingly, the number of message objects displayed in the message list 402 is necessarily limited. Scrolling may be necessary for a user to get to a desired message. If the number of messages in the message list is small enough, all of the messages may be able to be displayed.
- FIGS. 5A-5C provide a flowchart of a process 500 , performed by a computing device, for providing task management ( 502 ).
- the method is performed ( 504 ) at a computing device 102 and/or 110 having one or more processors and memory.
- the memory stores ( 504 ) one or more programs configured for execution by the one or more processors.
- a description of a task associated with a user is received.
- one or more entities associated with the task are identified using at least the description of the task and geographic information about the user ( 508 ). Further, information is identified for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity.
- an entity in the one or more entities is a business or a government entity ( 512 ).
- the task is cancellation of a subscription or recurring service and the information for performing the task is a telephone number, uniform resource locator, or mailing address used by an entity in the one or more entities to service requests to cancel subscription requests or requests to cancel a recurring service ( 514 ).
- the task is a service request and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request ( 516 ).
- the method further comprises providing an identification of a first entity in the one or more entities and a set of opening and closing times for each day of the week in which the first entity is available to handle the task ( 518 ).
- information is provided on whether or not an entity in the one or more entities is presently available to perform the task and, when the entity is available to perform the task, a time of day when the entity will stop receiving requests to perform the task ( 520 ).
- an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit ( 522 ).
- the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user ( 524 ).
- the identifying one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user ( 526 ).
- an entity in the one or more entities is part of a larger organization and the identifying one or more entities associated with the task comprises resolving which entity in the larger organization pertains to the task based upon the geographical information about the user ( 528 ).
- the larger organization is a first government entity and an entity in the one more entities is a government office for the first government entity ( 530 ).
- the larger organization is a business organization and an entity in the one more entities is a location of an office for the business organization ( 532 ).
- the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task ( 534 ).
- the task is returning merchandise ( 536 ).
- the identified information is formatted for use by the user ( 538 ). For example, in some embodiments, the identified information is formatted for display on a client device 102 .
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method of task management executes at a computing device having one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. There is received a description of a task associated with a user. Upon receipt of the description of the task, one or more entities associated with the task are identified using at least the description of the task and geographic information about the user. Information is identified for performing the task with the at least one respective entity in the one or more entities based upon an identity of the entity. This identified information for performing the task is then formatted for use by the user.
Description
- This application is a continuation of U.S. patent application Ser. No. 16/536,687, filed Aug. 9, 2019, which is a continuation of U.S. patent application Ser. No. 14/473,564, filed Aug. 29, 2014 and issued as U.S. Pat. No. 10,423,932 on Sep. 24, 2019, the entire disclosures of which are incorporated herein by reference.
- The disclosure relates generally to electronic messaging applications, and more specifically to providing task assistance.
- Electronic messaging applications, such as email, convey various types of information to a recipient such as messages to and from various others. Some messages include a task that the recipient must perform. As such, many messaging applications track not only messages received by or sent by a recipient but also tasks that the recipient is to perform. Such tasks may be independent of messages to and from others, or associated with messages from others. What are needed in the art are systems and methods for assisting a recipient with performing such tasks.
- Disclosed implementations address the above deficiencies and other problems associated with performing tasks. The disclosed implementations provide ways to help a recipient perform tasks.
- In accordance with some implementations, a method of task assistance executes at a computing device having one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. A description of a task associated with a user is received. In some instances the user creates the task. In other instances the task is inferred, subject to user confirmation, from a message sent to the user, for instance an E-mail message. Upon receipt of the description of the task, one or more entities associated with the task are identified using at least the description of the task and geographic information about the user. In some instances, an entity is deemed to be associated with a task when the entity is capable of performing the task and the entity services such tasks from users that are at or from the location identified in the geographical information. Information for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity is identified and formatted for use by the user.
- In some instances, an entity in the one or more entities is a business or a government entity. In some instances, the task is cancellation of a subscription or recurring service and the information for performing the task is a telephone number, uniform resource locator, or mailing address used by an entity in the one or more entities to service requests to cancel subscription requests or requests to cancel a recurring service. In some instances, the task is a service request and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request.
- In some embodiments, the method further comprises providing an identification of a first entity in the one or more entities and a set of opening and closing times for each day of the week in which the first entity is available to handle the task.
- In some instances, the method further comprises providing information on whether or not an entity in the one or more entities is presently available to perform the task. In some embodiments, when the entity is available to perform the task, a time of day is provided when the entity will stop receiving requests to perform the task.
- In some embodiments, an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit.
- In some embodiments, the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user. In some such embodiments, the information is stored as a user profile.
- In some instances, the identifying the one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user. In some such instances, the geographical information is a present location of the user. In other instances, the geographical information is a geographic position, such as a street address, that the user has provided for storage in a profile or other form of record associated with the user.
- In some embodiments, an entity in the one or more entities is part of a larger organization and the identifying one or more entities associated with the task comprises resolving which entity in the larger organization pertains to the task based upon the geographical information about the user. For instance, in some embodiments the larger organization is a first government entity and an entity in the one more entities is a government office for the first government entity. In one example, the larger organization a Department of Motor Vehicles and the entity within the larger organization that is identified for a user is the office of the Department of Motor Vehicles that is most proximate to the and geographic information about the user. In another instance, the larger organization is a business organization and an entity in the one more entities is a location of an office for the business organization.
- In some embodiments, the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task. In some embodiments, the task is returning merchandise. In some embodiments, the method further comprises verifying that a first entity in the one or more entities is presently available to service the task and, when the first entity is not presently available to service the task, the method further comprises refraining from presenting information regarding the first entity.
- Another aspect of the present disclosure provides a computing device comprising one or more processors, memory, and one or more programs stored in the memory. The one or more programs are configured for execution by the one or more processors. The one or more programs comprise instructions for receiving a description of a task associated with a user. Upon receipt of the description of the task, one or more entities associated with the task are identified using at least the description of the task and geographic information about the user. Information for performing the task with at least one respective entity in the one or more entities is identified based upon an identity of the entity. This information for performing the task is formatted for use by the user.
- Another aspect of the present disclosure provides a non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors and memory. The one or more programs comprise instructions for receiving a description of a task associated with a user. Upon receipt the description of the task, one or more entities associated with the task are identified using at least the description of the task and geographic information about the user. Information for performing the task with at least one respective entity in the one or more entities is identified based upon an identity of the entity. This information for performing the task is formatted for use by the user.
- For a better understanding of the aforementioned implementations of the invention as well as additional implementations thereof, reference should be made to the Description of Implementations below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
-
FIG. 1 illustrates a context in which some implementations operate. -
FIG. 2 is a block diagram of a client computing device according to some implementations. -
FIG. 3 is a block diagram of a server according to some implementations. -
FIGS. 4A-4E illustrate aspects of a user interface for task assistance in accordance with some implementations. -
FIGS. 5A-5C provide a flowchart of a process for task assistance according to some implementations. - Reference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details.
-
FIG. 1 is a block diagram that illustrates the major components of some implementations. The various client devices 102 (also identified herein as computing devices) andservers 300 in aserver system 110 communicate over one or more networks 108 (such as the Internet). Aclient device 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, or other computing device that has access to acommunication network 108 and can run amessaging application 106. In some implementations, the messaging application runs within aweb browser 104. - In some implementations, the
server system 110 consists of asingle server 300. More commonly, theserver system 110 includes a plurality ofservers 300. In some implementations, theservers 300 are connected by an internal communication network ofbus 122. Theserver system 110 includes one ormore web servers 112, which receive requests from users (e.g., from client devices 102) and return appropriate information, resources, links, and so on. In some implementations, theserver system 110 includes one ormore application servers 114, which provide various applications, such as amessaging application 106. Theserver system 110 typically includes one ormore databases 116, which store information such as web pages, auser list 118, and various user information 120 (e.g., user names and encrypted passwords, user preferences, and so on). -
FIG. 2 is a block diagram illustrating aclient device 102 that a user uses to access amessaging application 106. A client device is also referred to as a computing device, which may be a tablet computer, a laptop computer, a smart phone, a desktop computer, a PDA, or other computing device than can run amessaging application 106 and has access to acommunication network 108. Aclient device 102 typically includes one or more processing units (CPUs) 202 for executing modules, programs, or instructions stored inmemory 214 and thereby performing processing operations; one or more network orother communications interfaces 204;memory 214; and one ormore communication buses 212 for interconnecting these components. Thecommunication buses 212 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components. Aclient device 102 includes auser interface 206 comprising adisplay device 208 and one or more input devices ormechanisms 210. In some implementations, the input device/mechanism includes a keyboard and a mouse; in some implementations, the input device/mechanism includes a “soft” keyboard, which is displayed as needed on thedisplay device 208, enabling a user to “press keys” that appear on thedisplay 208. - In some implementations, the
memory 214 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices. In some implementations,memory 214 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some implementations, thememory 214 includes one or more storage devices remotely located from the CPU(s) 202. Thememory 214, or alternately the non-volatile memory device(s) withinmemory 214, comprises a non-transitory computer readable storage medium. In some implementations, thememory 214, or the computer readable storage medium ofmemory 214, stores the following programs, modules, and data structures, or a subset thereof: -
- an
operating system 216, which includes procedures for handling various basic system services and for performing hardware dependent tasks; - a
communications module 218, which is used for connecting theclient device 102 to other computers and devices via the one or more communication network interfaces 204 (wired or wireless) and one ormore communication networks 108, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; - a
display module 220, which receives input from the one ormore input devices 210, and generates user interface elements for display on thedisplay device 208; - a
web browser 104, which enables a user to communicate over a network 108 (such as the Internet) with remote computers or devices; - a
messaging application 106, which enables the user to send and receive electronic messages. In some implementations, the messaging application is an email application. In some implementations, the messaging application is an instant messaging application. In some implementations, themessaging application 106 runs within theweb browser 104 as illustrated inFIG. 1 . In some implementations, themessaging application 106 runs independently of a web browser 104 (e.g., a desktop application). An example messaging application is illustrated below inFIGS. 4A-4E ; and -
application data 222, which is used by themessaging application 106. The application data comprises messages 224 (e.g., email messages or instant messages) as well astasks 226, andinformation 228 for completing tasks. In some embodiments atask 226 is associated with amessage 224. In some embodiments atask 226 is independent of all messages. Theapplication data 222 may includeconfiguration data 230, such as user preferences, user history, geographic information about the user, or the state of configuration options.
- an
- Each of the above identified executable modules, applications, or sets of procedures may be stored in one or more of the previously mentioned memory devices and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, the
memory 214 may store a subset of the modules and data structures identified above. Furthermore, thememory 214 may store additional modules or data structures not described above. - Although
FIG. 2 shows aclient device 102,FIG. 2 is intended more as a functional description of the various features that may be present rather than as a structural schematic of the implementations described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. -
FIG. 3 is a block diagram illustrating aserver 300 that may be used in aserver system 110. A typical server system includes manyindividual servers 300, which may be hundreds or thousands. Aserver 300 typically includes one or more processing units (CPUs) 302 for executing modules, programs, or instructions stored in thememory 314 and thereby performing processing operations; one or more network orother communications interfaces 304;memory 314; and one ormore communication buses 312 for interconnecting these components. Thecommunication buses 312 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components. In some implementations, aserver 300 includes auser interface 306, which may include adisplay device 308 and one ormore input devices 310, such as a keyboard and a mouse. - In some implementations, the
memory 314 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices. In some implementations, thememory 314 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some implementations, thememory 314 includes one or more storage devices remotely located from the CPU(s) 302. Thememory 314, or alternately the non-volatile memory device(s) withinmemory 314, comprises a non-transitory computer readable storage medium. In some implementations, thememory 314, or the computer readable storage medium ofmemory 314, stores the following programs, modules, and data structures, or a subset thereof: -
- an
operating system 316, which includes procedures for handling various basic system services and for performing hardware dependent tasks; - a
communications module 318, which is used for connecting theserver 300 to other computers via the one or more communication network interfaces 304 (wired or wireless), an internal network orbus 122, orother communication networks 108, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; - an
optional display module 320, which receives input from one ormore input devices 310, and generates user interface elements for display on adisplay device 308; - one or
more web servers 112, which receive requests fromclient device 102, and returns responsive web pages, resources, or links. In some implementations, each request is logged in thedatabase 116; - one or
more application servers 114, which provide various applications (such as an email or other messaging application) toclient devices 102. In some instances, applications are provided as a set of web pages, which are delivered toclient devices 102 and displayed in aweb browser 104. The web pages are delivered as needed or requested. In some instances, an application is delivered to aclient device 102 as a download, which is installed and run from theclient device 102 outside of aweb browser 104; - one or
more databases 116, which store various data used by the modules or programs identified above. In some implementations, thedatabase 116 includes a list of authorized users, which may include user names, encrypted passwords, and other relevant information about each user. Thedatabase 116 also stores userspecific data 120 that is used by one or more of the applications provided by the application server. For example, some implementations store theelectronic messages 224 for each user. As another example, some implementations store geographic information about a user.
- an
- Each of the above identified elements in
FIG. 3 may be stored in one or more of the previously mentioned memory devices. Each executable program, module, or procedure corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, thememory 314 may store a subset of the modules and data structures identified above. Furthermore, thememory 314 may store additional modules or data structures not described above. - Although
FIG. 3 illustrates aserver 300,FIG. 3 is intended more as functional illustration of the various features that may be present in a set of one or more servers rather than as a structural schematic of the implementations described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. The actual number of servers used to implement these features, and how features are allocated among them, will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods. - As illustrated in
FIGS. 2 and 3 , the functionality for a messaging application may be shared between aclient device 102 and aserver system 110. In some implementations, after the messaging application is installed on aclient device 102, the majority of the subsequent processing occurs on the client device. In other implementations, the majority of the processing and data storage occurs at aserver 300, and theclient device 102 uses aweb browser 104 to view and interact with the data. One of skill in the art recognizes that various allocations of functionality between theclient device 102 and theserver system 110 are possible, and some implementations support multiple configurations (e.g., based on user selection). -
FIG. 4A illustrates features of a messaging application that supports task assistance in accordance with some implementations.FIG. 4A illustrates anelectronic message list 402, which may be displayed as part of an electronic messaging application (e.g., an email application). In this example, each row in the list represents a separate message object (e.g.,messages task 412. The message objects all are intended for a user associated with theelectronic message list 402. In some embodiments, individual messages (e.g.,messages electronic message list 402. - In
FIG. 4A , theelectronic message list 402 is, in particular, shown to comprise at least two message clusters,cluster 406 andcluster 410.Cluster 406 is a group of electronic messages having a collective association, namely promotional material (e.g., advertisements for retail sales, newsletters from stores). As can be seen inFIG. 4A ,cluster 406 comprises nine new electronic messages, andcluster 410 comprises 1 new electronic message. In some embodiments, a new electronic message refers to a message that has not been viewed, opened, acknowledged or read by the user of the messaging application. Message clusters are disclosed further in U.S. patent application Ser. No. 14/145,005, entitled “Systems and Methods for Throttling Display of Electronic Messages,” filed Dec. 31, 2013, and U.S. patent application Ser. No. 14/139,205, entitled “Systems and Methods for Clustering Electronic Messages,” filed Dec. 23, 2013, each of which is hereby incorporated by reference herein in its entirety. - Continuing to refer to
FIG. 4A , task assistance is disclosed in more detail. A description of atask 428 associated with a user is received. In some instances the user creates the description of thetask 428 by direct input (e.g. through a keypad interface). In other instances, the task is inferred from an electronic message object in theelectronic message list 402. Ways to infer a task from an electronic message object are disclosed in U.S. patent application Ser. No. 14/161,368, entitled “Identifying Tasks in Messages,” filed Jan. 22, 2014, which is hereby incorporated by reference herein in its entirety. - Upon receipt of the description of the task (e.g., directly after the user provide the task), one or more entities associated with the task are identified using at least the description of the task and geographic information about the user. In some instances, an entity is deemed to be associated with a task when the entity is capable of performing the task and the entity services such tasks from users that are at or from the location identified in the geographical information.
Information 430 for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity is identified and formatted for use by the user. In the example illustrated inFIG. 4A , the description of the task “renew drivers license” coupled with geographic information about the user (“e.g., the user's home address or home GPS coordinates”) is used to determine the correct department of motor vehicles website to suggest to the user. In one example, the user's geographic information identifies Daly City, Calif. and the Daly City office of the California Department of Motor Vehicles is identified as theinformation 430 for performing the task of renewing a driver's license. In this example, the URL for the Daly City office of the California Department of Motor Vehicles is formatted for use by the user. In another example, the user's geographic information identifies Daly City, Calif. and the California URL for the California Department of Motor Vehicles is identified as theinformation 430 for performing the task of renewing a driver's license. In this example, the California URL for the California Department of Motor Vehicles is formatted for use by the user. - In some instances, an entity in the one or more entities is a business or a government entity. In some instances, the task is cancellation of a subscription or recurring service. For example, referring to
FIG. 4B , thetask 434 is cancelling a cable subscription and theinformation 436 for performing the task is a uniform resource locator for cancelling the cable subscription. In some instances, theinformation 438 for performing thetask 436 using two or more entities in the identified one or more entities is provided, as illustrated inFIG. 4C . WhileFIGS. 4A through 4C provide the example of uniform resource locators that lead to information for performing the task, mailing addresses, phone numbers, social media handles, or any other form of method of communication information to perform the task can be provided. In some instances, the task is a service request (e.g., “call plumber”) and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request. - Referring to
FIG. 4D , in some embodiments, the method further comprises providing anidentification 440 of a first entity in the one or more entities and a set of opening andclosing times 442 for each day of the week in which the first entity is available to handle the task. - Referring to
FIG. 4E , in some instances, the method further comprises providing information on whether or not an entity in the one or more entities is presently available to perform the task. In some embodiments, when the entity is available to perform the task, a time of day is provided when the entity will stop receiving requests to perform thetask 444 or an amount oftime 446 before the entity will stop receiving requests to perform the task is provided. - In some embodiments, an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit. Examples of government licenses and permits include, but are not limited to drivers licenses, building permits, disabled parking permits, gun permits, hunting permits, environmental permits, fishing license, a liquor license, and a nightclub permit, to name a few nonlimiting examples.
- In some embodiments, the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user. In some such embodiments, the information is stored as a user profile. For example, referring to
FIG. 3 , in some embodiments the non-transient stored geographical information about the user is stored in auser profile 340 uniquely associated with the user. - In some instances, the identifying the one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user. In some such instances, the geographical information is a present location of the user. In other instances, the geographical information is a geographic position, such as a street address, that the user has provided for storage in a profile (e.g.,
user profile 340 ofFIG. 3 ) or other form of record associated with the user. - In some embodiments, the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task. For example, if the description of the task is “repair automobile”, the one or more entities provided will be those that wash automobiles. Alternatively, if the description of the task is “wash car”, the one or more entities provided will be those that wash cars. Alternatively still, if the description of the task is “donate car”, the one or more entities provided will be those that accept automobile donations.
- Referring to
FIG. 2 , adisplay device 208 is inherently limited in size. Accordingly, the number of message objects displayed in themessage list 402 is necessarily limited. Scrolling may be necessary for a user to get to a desired message. If the number of messages in the message list is small enough, all of the messages may be able to be displayed. -
FIGS. 5A-5C provide a flowchart of aprocess 500, performed by a computing device, for providing task management (502). The method is performed (504) at acomputing device 102 and/or 110 having one or more processors and memory. The memory stores (504) one or more programs configured for execution by the one or more processors. - A description of a task associated with a user is received. Upon receipt of the description of the task, one or more entities associated with the task are identified using at least the description of the task and geographic information about the user (508). Further, information is identified for performing the task with at least one respective entity in the one or more entities based upon an identity of the entity. In some implementations, an entity in the one or more entities is a business or a government entity (512).
- In some implementations, the task is cancellation of a subscription or recurring service and the information for performing the task is a telephone number, uniform resource locator, or mailing address used by an entity in the one or more entities to service requests to cancel subscription requests or requests to cancel a recurring service (514). In some implementations, the task is a service request and the information for performing the task is a telephone number or uniform resource locator used by an entity in the one or more entities to handle the service request (516). In some implementations, the method further comprises providing an identification of a first entity in the one or more entities and a set of opening and closing times for each day of the week in which the first entity is available to handle the task (518).
- In some implementations, information is provided on whether or not an entity in the one or more entities is presently available to perform the task and, when the entity is available to perform the task, a time of day when the entity will stop receiving requests to perform the task (520). In some implementations, an entity in the one or more entities is a government entity and the task is obtaining or renewing a government license or obtaining or amending a government permit (522). In some implementations, the identifying one or more entities associated with the task comprises retrieving non-transient stored geographical information about the user (524). In some implementations, the identifying one or more entities associated with the task comprises retrieving the geographical information about the user from a wireless device associated with the user (526).
- In some implementations, an entity in the one or more entities is part of a larger organization and the identifying one or more entities associated with the task comprises resolving which entity in the larger organization pertains to the task based upon the geographical information about the user (528). In some implementations, the larger organization is a first government entity and an entity in the one more entities is a government office for the first government entity (530). In some implementations, the larger organization is a business organization and an entity in the one more entities is a location of an office for the business organization (532).
- In some implementations, the identifying information for performing the task with the at least one respective entity in the one or more entities is further based upon the description of the task (534). In some implementations, the task is returning merchandise (536). The identified information is formatted for use by the user (538). For example, in some embodiments, the identified information is formatted for display on a
client device 102. - The terminology used in the description of the invention herein is for the purpose of describing particular implementations only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
- The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations described herein were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various implementations with various modifications as are suited to the particular use contemplated.
Claims (20)
1. A method of providing task assistance in association with an electronic messaging application, the method comprising:
obtaining, by one or more processors of a computing device associated with the electronic messaging application, an identification of a task to be performed by a user;
identifying, by the one or more processors, at least one entity corresponding to the task based on a description of the task and information about the user;
based on identifying the at least one entity, the one or more processors identifying information for performing the task;
formatting, by one or more processors, the identified information for performing the task for presentation via a user interface; and
outputting by one or more processors, for presentation with the electronic messaging application via the user interface, the identified information for performing the task and information about the identified at least one entity.
2. The method of claim 1 , wherein obtaining the identification of the task to be performed includes identifying the task based on an electronic message object associated with one or more messages of the electronic messaging application.
3. The method of claim 1 , wherein identifying the at least one entity includes evaluating whether each entity of a set of entities is capable of enabling performance of the task.
4. The method of claim 3 , wherein identifying the at least one entity includes further includes comparing geographical locations for each of the entities in the set to geographical information for a location associated with a computing device of the user.
5. The method of claim 1 , further comprising selecting the at least one entity from a set of entities associated with the task by determining that the at least one entity is capable of enabling the user to perform the task.
6. The method of claim 5 , wherein the set of entities includes one or more of business entities or government entities.
7. The method of claim 1 , wherein the at least one entity is a government entity, and the task is one of obtaining a government license, renewing the government license, obtaining a government permit, or amending the government permit.
8. The method of claim 1 , wherein the at least one entity is a business entity, and the task is one of a service request, a cancellation request, or a renewal request.
9. The method of claim 1 , wherein formatting the identified information for performing the task for presentation via the user interface includes adding the identified information to a task item in a message list.
10. The method of claim 1 , wherein identifying the at least one entity corresponding to the task includes identifying a time of day or an amount of time in which the at least one entity is able to assist in performing the task.
11. The method of claim 10 , wherein identifying the time of day or the amount of time includes evaluating at least one of an opening time, a closing time, or a time of day when the at least one entity will stop receiving requests to assist in performing the task.
12. The method of claim 1 , wherein the electronic messaging application is either an email application or an instant messaging application.
13. A computing device, comprising:
one or more processors; and
memory operatively coupled to the one or more processors, the memory storing one or more programs configured for execution by the one or more processors, the one or more programs comprising instructions for a method of providing task assistance in association with an electronic messaging application, the method comprising:
obtaining an identification of a task to be performed by a user;
identifying at least one entity corresponding to the task based on a description of the task and information about the user;
based on identifying the at least one entity, identifying information for performing the task;
formatting the identified information for performing the task for presentation via a user interface; and
outputting, for presentation with the electronic messaging application via the user interface, the identified information for performing the task and information about the identified at least one entity.
14. The computing device of claim 13 , wherein obtaining the identification of the task to be performed includes identifying the task based on an electronic message object associated with one or more messages of the electronic messaging application.
15. The computing device of claim 13 , wherein identifying the at least one entity includes evaluating whether each entity of a set of entities is capable of enabling performance of the task.
16. The computing device of claim 15 , wherein identifying the at least one entity includes further includes comparing geographical locations for each of the entities in the set to geographical information for a location associated with a computing device of the user.
17. The computing device of claim 13 , wherein the method further comprises selecting the at least one entity from a set of entities associated with the task by determining that the at least one entity is capable of enabling the user to perform the task.
18. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors, the one or more programs comprising instructions for performing a method of providing task assistance in association with an electronic messaging application, the method comprising:
obtaining an identification of a task to be performed by a user;
identifying at least one entity corresponding to the task based on a description of the task and information about the user;
based on identifying the at least one entity, identifying information for performing the task;
formatting the identified information for performing the task for presentation via a user interface; and
outputting, for presentation with the electronic messaging application via the user interface, the identified information for performing the task and information about the identified at least one entity.
19. The non-transitory computer readable storage medium of claim 18 , wherein obtaining the identification of the task to be performed includes identifying the task based on an electronic message object associated with one or more messages of the electronic messaging application.
20. The non-transitory computer readable storage medium of claim 18 , wherein identifying the at least one entity includes evaluating whether each entity of a set of entities is capable of enabling performance of the task.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/750,516 US20220284404A1 (en) | 2014-08-29 | 2022-05-23 | Systems and Methods for Task Assistance |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/473,564 US10423932B2 (en) | 2014-08-29 | 2014-08-29 | Systems and methods for task assistance |
US16/536,687 US11367052B2 (en) | 2014-08-29 | 2019-08-09 | Systems and methods for task assistance |
US17/750,516 US20220284404A1 (en) | 2014-08-29 | 2022-05-23 | Systems and Methods for Task Assistance |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/536,687 Continuation US11367052B2 (en) | 2014-08-29 | 2019-08-09 | Systems and methods for task assistance |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220284404A1 true US20220284404A1 (en) | 2022-09-08 |
Family
ID=55402932
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/473,564 Active 2037-01-30 US10423932B2 (en) | 2014-08-29 | 2014-08-29 | Systems and methods for task assistance |
US16/536,687 Active 2035-06-14 US11367052B2 (en) | 2014-08-29 | 2019-08-09 | Systems and methods for task assistance |
US17/750,516 Pending US20220284404A1 (en) | 2014-08-29 | 2022-05-23 | Systems and Methods for Task Assistance |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/473,564 Active 2037-01-30 US10423932B2 (en) | 2014-08-29 | 2014-08-29 | Systems and methods for task assistance |
US16/536,687 Active 2035-06-14 US11367052B2 (en) | 2014-08-29 | 2019-08-09 | Systems and methods for task assistance |
Country Status (1)
Country | Link |
---|---|
US (3) | US10423932B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150193779A1 (en) * | 2014-01-06 | 2015-07-09 | Enzo Elite Enterprises LLC | Method and system of monitoring driver information |
US11546281B1 (en) * | 2018-12-28 | 2023-01-03 | Allscripts Software, Llc | Displaying and prioritizing electronic communications based on message content |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6680675B1 (en) | 2000-06-21 | 2004-01-20 | Fujitsu Limited | Interactive to-do list item notification system including GPS interface |
GB0314903D0 (en) * | 2003-06-26 | 2003-07-30 | Ibm | Remote location based services |
US7475114B2 (en) * | 2004-04-22 | 2009-01-06 | International Business Machines Corporation | Method for notification of local action required to contents of electronic mail message |
US7756895B1 (en) | 2006-08-22 | 2010-07-13 | Emigh Aaron T | Community-modified user data |
US7528713B2 (en) | 2006-09-28 | 2009-05-05 | Ektimisi Semiotics Holdings, Llc | Apparatus and method for providing a task reminder based on travel history |
US20090106681A1 (en) * | 2007-10-19 | 2009-04-23 | Abhinav Gupta | Method and apparatus for geographic specific search results including a map-based display |
US20090239552A1 (en) | 2008-03-24 | 2009-09-24 | Yahoo! Inc. | Location-based opportunistic recommendations |
US8930837B2 (en) * | 2011-05-23 | 2015-01-06 | Facebook, Inc. | Graphical user interface for map search |
US20140215472A1 (en) * | 2013-01-29 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Task management |
US8738277B1 (en) | 2013-03-14 | 2014-05-27 | Honda Motor Co., Ltd. | Gas station recommendation systems and methods |
-
2014
- 2014-08-29 US US14/473,564 patent/US10423932B2/en active Active
-
2019
- 2019-08-09 US US16/536,687 patent/US11367052B2/en active Active
-
2022
- 2022-05-23 US US17/750,516 patent/US20220284404A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11367052B2 (en) | 2022-06-21 |
US20190362320A1 (en) | 2019-11-28 |
US10423932B2 (en) | 2019-09-24 |
US20160063452A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990610B2 (en) | Systems and methods for providing suggested reminders | |
US20220284404A1 (en) | Systems and Methods for Task Assistance | |
JP6400772B2 (en) | Providing content to users across multiple devices | |
US20190080019A1 (en) | Predicting Non-Observable Parameters for Digital Components | |
US10944705B2 (en) | Systems and methods for improved processing of message queries | |
US10467576B2 (en) | Distributed software process tracking | |
US20150358766A1 (en) | Systems and methods for optimizing and refining message notification timing | |
EP3188051B1 (en) | Systems and methods for search template generation | |
US11463396B2 (en) | Systems and methods for triggering redisplay of a postponed message | |
CN110991903A (en) | Service personnel allocation method, device, equipment and storage medium | |
CN105580041B (en) | Appointment scheduler within sponsored content items | |
US9959562B1 (en) | Method, medium, and system for local item fulfillment in a market hierarchy | |
US20220035622A1 (en) | Controlled Rollouts for Frontend Assets | |
US11190643B1 (en) | Automated redistribution of queries to underutilized channels | |
US20160063451A1 (en) | Systems and Methods for Biasing Task Assistance Auto-complete Suggestions | |
CN114238585A (en) | Query method and device based on 5G message, computer equipment and storage medium | |
US20160063450A1 (en) | Systems and Methods for Task Countdowns for Specified Tasks | |
US10769683B1 (en) | Methods and systems for identifying a user device for affiliate marketing | |
US9634976B2 (en) | Systems and methods for organizing the display of messages | |
US11146622B2 (en) | Transmitting interactive content for rendering by an application | |
US20220191104A1 (en) | Access management for a multi-endpoint data store | |
CN116595052A (en) | Data query method, communication system and related device | |
CN114218469A (en) | Resource policy processing method, computing device, and storage medium | |
CN116884133A (en) | Intelligent appointment number calling method, device, computer equipment and storage medium | |
CN114185949A (en) | Information registration method, information registration apparatus, computer device, storage medium, and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:060594/0239 Effective date: 20170929 Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HARRIS, TRISTAN;SAR, ERWIN CAN;SOHN, TIMOTHY YOUNGJIN;AND OTHERS;SIGNING DATES FROM 20140819 TO 20140827;REEL/FRAME:060408/0727 |