可采取操作的提醒条目的制作方法

文档序号:16854809发布日期:2019-02-12 23:08阅读:150来源:国知局
可采取操作的提醒条目的制作方法

本发明涉及电子提醒,并且更具体地,涉及电子待办事项列表中的提醒和任务的智能生成、组织、触发和递送。



背景技术:

人们已经设计出许多种方式来提醒自己某些任务或事件。许多人以前并且现在依然在物理介质诸如便利贴和日历上进行书写。由于电子设备的普遍存在,许多人已求助于电脑来帮助管理他们的待办事项列表和记录即将发生的事件。许多提醒和待办事项应用程序对于台式计算机以及手持设备诸如膝上型计算机、平板计算机和“智能”手机均是可用的。

然而,被提供给提醒应用程序的用户的通知的时效性和准确性几乎完全取决于从用户接收的输入。例如,如果用户针对重要的事件输入具有错误日期的提醒,那么用户可能直到该事件发生后才接收到该事件的通知。又如,如果用户在待办事项应用程序中提供任务的一般描述(例如,“给他发送电子邮件”),那么当用户之后阅读该说明时可能不记得“他”是谁和/或电子邮件的内容应当是什么。换句话讲,当涉及到提醒和待办事项应用程序时,谚语“误入误出”是适用的。

在此部分中描述的方法是可执行的方法,但不一定是先前已设想或执行的方法。因此,除非另外指明,否则不应认为在此部分中描述的方法中的任一个仅仅凭借其被包括在此部分中而有资格作为现有技术。



技术实现要素:

下文提供多种技术来协助用户管理他的/她的任务。任务在计算系统中被表示为任务项目。具体地,下文详细地描述用于生成任务项目、组织任务项目、基于对应的任务项目来触发任务的通知以及消耗任务项目的方法。

相对于生成任务项目,任务项目基于来自用户的输入被生成。输入(无论是语音还是文本)包括关于任务的一个或多个细节,而输入的背景用于确定关于任务的一个或多个其他细节。一个或多个其他细节未被反映在输入中。背景可包括存储在用户的设备上的数据。例如,用户提供以下语音输入:“今天下午5点给george打电话”。该用户可拥有包括关于名字为george的多人的信息的联系人列表。然而,基于输入的背景,诸如来自与特定的george相关联的电话号码的最近的语音消息,可以确定用户打算给哪一个george打电话。以这种方式,当提供关于任务的输入时,用户不需要清楚任务的每个细节。

相对于触发任务项目的通知,设备的一个或多个特性可用于确定是否要触发该通知。因此,时间不(如果根本不)是是否应将通知提供给用户的唯一因素。此类特性的示例可包括设备定位在哪儿、设备正在显示或处理什么以及设备的具体移动。例如,设备在汽车中或在工作中的这一事实可触发任务的提醒的生成。又如,如果设备当前显示网页内容,那么该设备的用户可被认为是“在线”,该状态可触发将任务的通知提供给用户。

相对于“消耗”任务项目,任务自动操作使得用户不需要执行实施该任务通常所需的步骤,而不是简单地提供任务的提醒。例如,用户可在特定的时间想要给特定的人打电话。当该特定的时间等于当前时间时,在用户不需要指定此人的电话号码的情况下,呼叫可被创建、准备拨出,而不是简单地提醒用户打电话。

相对于组织任务项目,任务项目可被自动组织或手动组织为多个列表。每个列表对应于任务项目的不同属性,诸如任务的类型、可用于触发任务的通知的标准的类型和任务将被执行的位置。

在一些实施例中,方法包括从用户接收指定任务的一个或多个属性的输入,并且基于该输入生成任务项目,其包括识别将由电子设备执行的操作,其中操作与任务相关联。该方法还包括在任务列表中显示任务项目和相关联的激活区域。该方法还包括接收对激活区域的用户选择,并且响应于接收到对激活区域的用户选择来执行操作。

根据一些实施例,电子设备包括一个或多个处理器、存储器和一个或多个程序;该一个或多个程序被存储在存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行本文所述的方法中的任一个的操作的指令。根据一些实施例,非暂态计算机可读存储介质中存储有指令,当由电子设备执行时,这些指令使得该设备执行本文所述的方法中的任一个的操作。根据一些实施例,电子设备包括用于执行本文所述的方法中的任一个的操作的装置。根据一些实施例,用于在电子设备中使用的信息处理装置包括用于执行本文所述的方法中的任一个的操作的装置。

根据一些实施例,电子设备包括被配置为接收用户输入的输入接收单元和被配置为显示信息的显示单元。电子设备还包括耦合到输入接收单元和显示单元的处理单元。处理单元被配置为:从用户接收指定任务的一个或多个属性的输入;以及基于所述输入来生成任务项目,包括识别将由电子设备执行的操作,其中操作与任务相关联。处理单元还被配置为允许在任务列表中显示任务项目和相关联的激活区域。处理单元被进一步配置为:接收对激活区域的用户选择;以及响应于接收到对激活区域的用户选择来执行操作。

附图说明

在附图中:

图1为描绘根据本发明的实施例用于创建和处理任务项目的系统的框图;

图2为描绘根据本发明的实施例用于基于用户输入的背景来生成任务项目的进程的流程图;

图3为描绘根据本发明的实施例用于确定在任务的预定时间之前向用户提供提醒的时间的进程的流程图;

图4为根据本发明的实施例的行驶提醒的视图;

图5至图15描绘根据本发明的实施例的各种类型的列表的视图;

图16为示出本发明的实施例可据此实现的计算机系统的框图;

图17为描绘根据本发明的实施例用于发起与任务项目相关联的操作的进程的流程图;并且

图18示出根据一些实施例的电子设备的功能框图。

具体实施方式

在以下说明中,出于解释的目的陈述许多具体细节以便提供对本发明的透彻理解。然而,将显而易见的是本发明可以在没有这些具体细节的情况下被实践。在其他实例中,公知的结构和设备被以框图的形式示出,以便避免不必要地模糊本发明。

系统概述

图1为描绘根据本发明的实施例用于创建任务项目和处理任务项目的系统100的框图。系统100包括设备110、网络120和云130。

设备110是能够接收来自用户的输入并且显示关于任务的信息的任何计算设备。设备110的非限制性示例包括台式计算机和手持设备,诸如膝上型计算机、平板电脑和“智能”手机。在例示的实施例中,设备110包括任务管理器112。任务管理器112处理提醒类型和非提醒类型这两种类型的任务项目。任务管理器112可以软件、硬件或软件和硬件的任何组合实现。

设备110包括用于与其他设备共享信息的通信技术(例如,无线技术)。设备110可包括多种集成的用户界面单元,或者可通过设备的一个或多个通信端口或数据链路耦合到用户界面单元。用户界面单元的非限制性示例包括语音输入单元(例如,麦克风)、物理输入单元(例如,键盘、鼠标、轨迹球、旋转式拨号盘或旋转式拨号转盘、触摸板或触摸屏)和运动传感器(例如,加速度计、磁力仪或陀螺仪)。这些用户界面单元中的任一个可被实现为与设备110通信以利用有线或无线通信技术来提供用户输入的外部单元。有线通信技术的示例包括通用串行总线(usb)接口、火线接口等。无线通信技术的示例包括蓝牙、无线网络连接(wi-fi)和宽带无线城域网(wimax)、红外线。通过这些用户界面单元,设备110可接收来自用户的物理输入或语音输入。

设备110包括一个或多个输出单元以便向用户呈现视觉和音频信息。输出单元的非限制性示例包括用于显示视觉数据的显示单元和用于播放音频的扬声器。

云130由一个或多个计算设备实现。云130托管多种服务,诸如nlp(自然语言处理)服务132和一个或多个其他服务134a-n。nlp服务132利用用户可谈论的现实世界事物的一个或多个模型使得用户试图说明的内容好理解。例如,nlp服务132可基于模型和背景来确定当用户使用措辞诸如“他”、“那里”或“那个”时用户可指的意思。

nlp服务132可采用许多api来与一个或多个其他服务134a-n以及任选地与未被托管在云130中的其他服务通信并且发起由上述服务执行的操作。例如,响应于从设备110发送的语音数据,其中语音数据反映了用户命令“今晚7点在sanjose市的maribella’s餐厅预约两个位子”,nlp服务132对maribella’s餐厅提供的在线预订服务做出api调用以发起下午7点在该餐厅的两个预定位子的创建。因此,nlp服务132允许许多操作自动执行,无需设备110的用户手动地输入文本数据并与许多应用程序交互。

在设备110和被托管在云130中的服务之间的通信经由网络120变得可能。网络120可由提供用于各种计算设备之间的数据交换的任何介质或机构实现。此类网络的示例包括但不限于诸如局域网(lan)、广域网(wan)以太网或互联网的网络,或者一个或多个地面链路、卫星链路或无线链路。网络可包括诸如所述的那些网络的网络的组合。非限制地,网络可以根据传输控制协议(tcp)、用户数据报协议(udp)和/或互联网协议(ip)来传输数据。

以下说明包括设备110和云130参与生成任务项目、组织任务项目、触发任务项目的通知和消耗任务项目的许多示例。相反,本文所述的一种或多种技术可以完全在设备110上实现(使网络120和云130不必要)、完全在云130中实现或利用设备110和云130的某些组合实现。

任务项目

再次指出,“任务项目”是包含关于将由用户执行或由进程自动执行的任务的一个或多个细节的电子数据项。任务项目基于来自用户的输入被生成。任务项目可以是以下两种类型之一:与提醒相关联的任务(“提醒任务”)和不与提醒相关联的任务(“非提醒任务”)。提醒任务与诸如被生成并被提供给用户的通知的操作相关联,而非提醒任务不与任何操作相关联。非提醒任务可与“完成截止”日期或时间相关联。然而,完成截止日期或时间不触发通知或其他操作的创建。换句话讲,虽然提醒任务与当被满足时触发操作的一个或多个触发标准相关联,但非提醒任务并不如此。因此,“任务项目”可以或可以不与当被满足时触发操作的一个或多个触发标准相关联。

任务项目的处理

任务项目可基于在设备110处接收的输入在设备110上或在云130中被创建。虽然未描绘,但任务项目可被存储在设备110上或在云130中,或被同步到二者。如果任务项目被存储在云130中,则任务管理器112可以检索任务项目以响应,例如,来自用户的输入或与被满足的一个或多个任务项目相关联的一个或多个触发标准。

在任务项目被创建并存储在云130中的情况下,任务管理器112可主要为一组显示关于任务的信息的一个或多个用户界面。因此,在云130中的任务服务(未示出)将负责维持任务项目并在触发事件发生时触发任何通知。

另选地,任务管理器112在设备110上创建和存储任务项目。在该情况下,任务管理器112可以完全负责维持任务项目并在触发事件发生时触发任何通知。此情况的一个优点是设备110可以在其中设备110不能够与被托管在云130中的任何服务通信的“脱机”模式下操作。

另外,在该情况下,设备110可包括服务如nlp服务132,该服务可以是任务管理器112的一部分或可以独立于任务管理器112执行。此类服务起到对话界面的作用以允许用户快速且容易地创建任务。此类服务可由连续地在后台执行而无需设备110的用户提供输入以使该服务执行的进程实现。因此,每当设备110启动(或重启)时,服务自动开始。

另选地,创建任务项目所需的信息可由nlp服务132(即,被托管在云130中的)识别。设备110可包括连续地在后台执行的用户输入界面,识别来自用户的输入(例如,语音或文本),并通过网络120将输入发送到nlp服务132。一旦nlp服务132识别输入中的任务细节,nlp服务132可将任务信息(例如,任务的说明和完成任务的时间)(a)通过网络120发送到基于该信息创建和存储任务项目的任务管理器112,或(b)发送到云130中的任务服务以便基于该信息创建任务项目。

在本文提供的示例中的大多数涉及nlp服务132,该nlp服务132接收来自设备110的输入数据,识别在输入数据中反映的细节(关于任务),并将这些细节提供到任务管理器112。然而,本发明的实施例并不限于该情况。此类示例可另选地仅仅涉及设备110或者可涉及仅仅作为输入和显示设备的设备110,在后一种情况下,在云130中的nlp服务132和任务服务提供主要功能性。

i.基于背景生成任务项目

根据本发明的实施例,任务项目基于输入和输入的背景被生成。输入的“背景”是指当前或最近在设备110处被显示或处理的数据(相对于来自用户且发起任务项目的生成的输入)。因此,背景数据未被反映在来自用户的输入中。例如,设备110的用户可提供以下语音输入:“当我到家时给他发送关于计划的电子邮件”。由于无法仅仅根据输入确定“他”指的是谁,因此代词“他”是模糊的。然而,语音输入的背景可以是设备110当前显示(或仅仅是最近显示)一封来自名叫jackbauer的人的电子邮件,其中电子邮件包括关于名称为“bunny”的计划的状态更新请求。基于语音输入和背景,任务管理器112(或在云130中的任务服务)创建包括“给jackbauer发送关于bunny计划的电子邮件”的说明的任务项目和包括在用户家里或附近的地理位置处的设备110的触发标准的任务项目。当设备110在用户家里或附近时,任务管理器112使得包括来自任务项目的说明的通知被显示在设备110上。

图2为描绘根据本发明的实施例用于基于用户输入的背景来生成任务项目的进程200的流程图。在步骤210处,从用户接收明确地指定用于任务的一个或多个第一属性的输入。输入可为文本输入或语音输入。文本输入可来自于设备110的用户按下设备110上的物理按键或按下包括图形键盘的设备110的触摸屏。除此之外或作为另外一种选择,设备110包括接受来自用户的语音输入的麦克风,设备110将该语音输入转化为语音数据。设备110可将输入数据(无论是语音数据还是文本数据)发送到nlp服务132,其分析输入数据以识别用于任务的一个或多个第一属性。相反,如先前指出的,设备110可包括分析输入数据以识别用于任务的一个或多个第一属性的功能性。(虽然本文的许多示例是指自然语言处理,但自然语言处理并非必需的。)

在步骤220处,基于输入数据生成用于任务的任务项目。在步骤230处,基于与输入分开的背景数据确定用于任务的一个或多个第二属性。虽然步骤230被描绘为在步骤220之后发生,但步骤230可以在步骤220之前发生。

在步骤240处,一个或多个第一属性和一个或多个第二属性与任务项目相关联地存储。

进程200的步骤可由一个或多个设备执行。例如,在步骤210中的输入可在设备110处被处理以生成任务项目。在该情况下,任务管理器112(或在设备110上执行的另一个进程)识别与输入相关联的背景数据以确定未在输入中识别的用于任务的一个或多个第二属性。任务管理器112然后存储在任务项目中或与之相关联的一个或多个第二属性。

另选地,在另一种情况下,设备110通过网络120将用户输入发送到nlp服务132。nlp服务132将与输入相关联的背景数据作为输入来接受,以确定未在输入中识别的用于任务的一个或多个第二属性。背景数据可以在发起任务项目的生成的输入之前已被发送到nlp服务132(在步骤220中)。nlp服务132将一个或多个第二属性发送到任务管理器112(或在云130中的任务服务)。任务管理器112将一个或多个第二属性存储在新生成的任务项目中或与之相关联地存储。

某些词语或短语可用于提示nlp服务132与管理器112通信。例如,以“提醒我...”和“我需要...”开始的用户命令被nlp服务132用于确定与任务管理器112通信。响应于检测这些用户命令之一,nlp服务132分析输入数据(来自设备110)并且任选地分析用于某些类型的任务细节的背景数据,诸如位置、时间、说明,和/或操作。nlp服务132然后确定与任务管理器112通信并且将任务细节作为通信的一部分发送到任务管理器112。

背景数据的来源

与发起任务项目的生成的用户输入相关联的背景数据可来自许多来源之一。背景数据的非限制性示例包括现在或之前在设备110上显示的数据(“显示数据”)、在设备110上存储的或与之相关联地存储的数据(“个性化数据”)、现在或之前被设备110处理的数据(“处理数据”)、由设备110的用户先前提供的数据(“输入数据”)、指示设备110的位置的数据(“位置数据”)。

以下是显示数据或者现在或之前在设备110上显示的数据的示例。设备110显示包括与地图上的具体位置相关联的标记的地图。当地图被显示时或在地图被显示不久之后,然后设备110的用户说“我需要在今天5点到那里”。nlp服务132(或在设备110上的语音分析器)分析反映语音输入的语音数据。nlp服务132分析当前在设备110上显示的数据以确定“那里”是指什么。nlp服务132识别标记和相关联的位置并且用该位置取代“那里”。nlp服务132将把今天下午5点指示为任务完成时间并把指定位置指示为任务位置的任务数据发送到任务管理器112。任务管理器112基于任务数据生成任务项目。

作为显示数据的另一个示例,设备110显示来自特定的发送者并且包括主题栏的电子邮件。设备110的用户然后说:“我需要在两个小时内给他发送关于该主题的电子邮件”。设备110将反映该输入的语音数据和显示的图像发送到nlp服务132。作为响应,nlp服务132识别电子邮件发送者的电子邮件地址和电子邮件的主题。nlp服务132将把当前时间经过两小时之后的时间指示为任务完成时间的任务数据发送到任务管理器112。

以下是个性化数据或者在设备110上存储的或与之相关联地存储的数据的示例。设备110的用户说:“我将在明天中午12点和rachelle一起吃午餐”。设备110将反映该输入的语音数据发送到nlp服务132,nlp服务132识别语音数据中的“rachelle”。nlp服务132在联系人数据或“通讯簿”(被存储在设备110上或云130中)中查找“rachelle”并确定rachelle的姓是goodwin。nlp服务132然后使得“rachellegoodwin”与针对任务生成的任务项目相关联。除了被存储在设备110上之外或代替被存储在设备110上,个性化数据可被存储在云130中,即,与设备110远程。

以下是处理数据或最近由设备110处理的数据的示例。例如,设备110的用户使用设备110作为电话与朋友通信。设备110记录用户最近的通话对象。在结束通话之后,用户说:“提醒我在30分钟后给她打回去”。nlp服务132除分析语音输入之外,还分析指示最近与设备110建立电话呼叫的对象的数据(例如,前五个电话呼叫)。nlp服务132确定最近与设备110建立电话呼叫的电话号码。nlp服务132然后基于联系人数据确定该电话号码与特定的人相关联。nlp服务132将指示呼叫任务、把从当前时间经过30分钟后的时间指示为任务的完成时间、指定特定的人的名字以及任选地指示特定的人的电话号码的任务数据发送到任务管理器112。任务管理器112基于该任务数据生成任务项目。

以下是输入数据或最近(例如,前5分钟)由设备110的用户提供的数据的示例。来自用户的输入可为文本输入或语音输入。设备110或nlp服务132记录最近加入的输入并且可使用该输入来确定在当前输入中反映的某些表述词的身份。例如,设备110的用户说:“提醒我今晚7点在那里和他见面”。nlp服务132接收反映该语音输入的语音数据并识别表述词“他”和“那里”。虽然不清楚“他”是谁并且“那里”是哪里,nlp服务132访问最近从用户接收的输入。此类最近接收的输入反映出名字“georgereed”(被识别为人的名字)和“星巴克”(被识别为地点)。作为响应,nlp服务132使得其中任务是“在星巴克与georgereed见面”和时间是当天下午7点的任务项目被生成。

以下是位置数据或指示设备110的当前或过去的位置的数据的示例。设备110的用户说:“提醒我下周四和julian在这里见面吃午餐”。设备110将反映该输入的语音数据发送到nlp服务132。nlp服务132识别表述词“这里”并确定设备110当前位于何处来进行响应。当前位置可以许多方式被确定。例如,设备110可将地理位置诸如经度坐标和纬度坐标提供到nlp服务132。nlp服务132然后可基于该坐标确定位于这些坐标的地点或商业机构的名称。nlp服务132使得地点或商业机构的名称与用于在指示的日期与julian见面吃午餐的任务的任务项目相关联。

或者用户可以说:“明天我需要在上周四中午所在地点和joshpeters见面”。设备110将反映该输入的语音数据发送到nlp服务132。nlp服务识别短语“在上周四中午所在地点”并确定上周四中午设备110位于何处来进行响应。nlp服务132访问位置历史数据(存储在云130中或存储在设备110上并被发送到nlp服务132的数据)并确定上周四中午设备110位于何处。位置历史可指示地点的名称或可由地理坐标组成。如果是由地理坐标组成,则nlp服务132确定位于这些坐标的地点或商业机构的名称。nlp服务132使得该名称与用于在指示的日期与joshpeters见面的任务的任务项目相关联。

相对于设备110发生的事件还可用于创建任务项目。此类事件可以分成上述背景数据的一个或多个类别(或类型),诸如显示数据、展示数据和处理数据。例如,设备110检测呼入电话并且通过使得关于呼叫或呼叫者的电话号码或其他识别信息在设备110的屏幕上显示来通知呼叫的用户。除这种信息之外,显示可包括三个可选的选项:“接听”、“忽略”和“稍后打回去”。如果用户选择“稍后打回去”,则识别呼叫者并且任选地识别呼叫时间和/或给该呼叫者打电话的时间的任务项目被创建。另外,任务项目可以自动地分类为“待呼叫”类型的任务。

本文关于生成任务项目的许多示例包括用户提供包含关于任务的细节的语音或文本输入。如何可生成任务项目的另一个非限制性示例是用户选择(或加亮)被显示在设备110的屏幕上的文本。所选择的文本被认为是背景数据。在文本被选择之后,一个或多个选项可被显示给用户,这些选项之一是当被选择时使得任务项目被生成的“提醒”选项。任务管理器112基于在所选择的文本中反映的信息生成任务项目。任务项目的细节还可从其他背景数据诸如触发任务的通知的时间或事件确定。

虚拟对话

在一些情况下,nlp服务132不能基于从设备110接收的输入和与该输入相关联的背景来确定关于任务的一个或多个细节。因此,在一个实施例中,nlp服务132提示设备110的用户进一步输入以确定一个或多个细节。一个或多个细节可与任务项目的任何属性有关,诸如任务的说明、任务的位置、提醒(如果有的话)的位置或任务的时间。

例如,nlp服务132从设备110接收反映用户命令“7点提醒我给steve打电话”的语音数据。nlp服务132可利用关于具有名字steve的用户的许多联系人的信息(例如,通讯簿)。另外,通讯簿中的内容不能用于消除将要呼叫哪个steve联系人的歧义。因此,nlp服务132将以下消息发送到设备110以便由设备110显示(或播放声音):“你是指steveanderson、stevehanson还是stevejobs?”。用户然后将指示三个steve联系人之一的语音或文本输入发送到设备110。作为响应,设备110通过网络120将对应的语音或文本数据发送到nlp服务132。

又如,nlp服务132从设备110接收反映用户命令“我需要在全食超市买面包”的语音数据。作为响应,nlp服务132执行在(a)设备110的当前位置或(b)用户的家的最近的全食超市商店的查找。在设备110的当前位置附近和用户的家附近可存在多个全食超市商店。因此,nlp服务132将以下消息发送到设备110以便由设备110显示:“哪个全食超市?在almaden路上的全食超市、在chester高速公路上的全食超市还是在green街道上的全食超市?”。用户然后将指示这三个全食超市商店之一的语音或文本输入提供给设备110。作为响应,设备110通过网络120将对应的语音或文本数据发送到nlp服务132。

又如,nlp服务132从设备110接收反映用户的命令“提醒我8点给jerry发短信”的语音数据。作为响应,nlp服务132基于语音数据和输入的背景确定jerry是在用户的通讯录(或通讯簿)中指示的jerrywall。然而,不清楚用户期望在上午8还是下午8点给jerry发送sms。因此,nlp服务132将以下消息发送到设备110以便由设备110进行显示:“你想在上午8还是下午8点给jerrywall发短信?”。用户然后将选择这两个时间之一的语音或文本输入提供到设备110。作为响应,设备110发送对应的语音或文本数据通过网络120到nlp服务132。

任务项目的自动分类

在一个实施例中,nlp服务132基于来自设备110的用户的输入确定一个或多个类别以便与任务项目相关联。一个或多个类别可为许多不同的类别之一,这些不同的类别事实上可以是无限制的。任务项目可与之相关联的类别的非限制性示例包括要购买的东西、在度假中要做的事、在工作中要做的事以及在驾驶时要做的事。每个类别可与子类别相关联。例如,“购买类别”可被分成指示将在杂货店购买的项目的杂货类别、指示将要购买的书籍的书籍类别以及指示将要购买的歌曲的音乐类别。

例如,用户可将以下语音输入提供到设备110:“提醒我拿牛奶”。设备110将反映该输入的语音数据发送到nlp服务132。nlp服务132确定任务项目应该被创建并且“拿牛奶”应该是与该任务项目相关联的说明。nlp服务132还可以确定牛奶是杂货项目并且任务项目应该与杂货类别和/或购买类别相关联。因此,nlp服务132可将指示任务项目(无论是由nlp服务132创建的,由在云130中的任务服务创建的,还是由任务管理器112创建的)应该与之相关联的一个或多个类别的类别数据发送到任务管理器112。

如下文将要描述的,与每个任务项目相关联的一个或多个类别可用于组织属于相同类别的任务项目并且在设备110上显示该相同类别的任务项目。这将允许设备110的用户除了或代替按完成时间、按创建时间、按触发器类型(在下文中描述的)、按位置、按类型(例如,提醒任务与非提醒任务)或按一些其他标准,还可以按类别观察任务项目。

ii.触发任务项目的通知

正如上述,任务项目可与当被满足时使得通知被呈现给设备110的用户或使得一些其他操作被执行的一个或多个触发标准(或触发器)相关联。当任务项目的一个或多个触发标准被满足时,通知(或其他操作)被“触发”。触发标准的非限制性示例包括时间、位置、相对行驶时间、背景触发器和外源触发器,其中的每一个在下文被更详细地描述。

时间触发器

时间触发器的时间可以是绝对时间、相对时间、循环时间或象征性的最后期限。绝对时间的一个示例是太平洋时间2011年6月6日上午9点。相对时间的一个示例是“patriots-jets足球赛前10分钟”。循环时间的一个示例是“每周四上午10点”。象征性的最后期限的一个示例是“工作日结束时”。

位置触发器

根据本发明的实施例,设备110的位置是与任务项目相关联的触发标准。此类触发标准在本文中是指“位置触发器”。设备110的位置可以多方式确定。例如,设备110的位置可基于wi-fi定位、手机定位和/或gps(全球定位系统)定位被自动确定。设备110可利用或不利用来自云130中的服务的输入来确定其当前位置。

在一个实施例中,用户可提供指示将与一定的地理位置相关联的标签的输入。例如,设备110的用户可说出以下句子:“我在家”或“我在全食超市”。nlp服务132然后可将词语“家”或短语“全食超市”与设备110的当前位置相关联,如基于先前提及的三种定位方法之一确定的。词语与位置的这种关联可以稍后被用于确定“家”或“全食超市”所在的位置。

位置触发器可以不与具体的地理位置或区域相关联。相反,位置触发器可与不限于具体的地理位置或区域的地点相关联。例如,任务项目的位置触发器可以“在路上”或“在驾驶时”。设备110(或在设备110上执行的进程)确定设备110的当前位置是在高速公路或另一个繁忙路段上。因此,该确定可无关于设备110移动的速度或设备110是否与将指示用户正在行驶的另一个设备配对而被做出。基于该确定,任务管理器112分析一个或多个任务项目以确定是否存在任何任务项目与“在路上”或“在驾驶时”的位置触发器相关联。

又如,任务项目的位置触发器可以是用户的汽车。具体地,用户可提供以下语音命令:“提醒我在驾驶时给我妈妈打电话”。nlp服务132分析反映该命令的语音数据并且确定“在驾驶时”是指用户的汽车。用户的汽车可以具有启用蓝牙的部件以允许设备110与用户的汽车通信。当设备110进入由在用户的汽车中的启用蓝牙的部件传播的蓝牙信号的范围内时,设备110确定设备110位于(或至少接近)用户的汽车中。响应于该确定,任务管理器112触发任务项目的位置触发器。任务管理器112使得通知用户给他的母亲打电话的提醒消息被显示在设备110上。用户可然后提供使得在设备110上执行的电话应用程序发起对与用户的妈妈相关联的电话号码的呼叫的一个轻触或语音响应。

虽然可用于确定设备110的位置的一个配对示例是与另一个启用蓝牙的设备建立连接(或“配对”),其他类型的配对也是可以的。例如,设备110可在晚间和早间检测一定的网络数据。网络数据指示设备110可连接的一个或多个网络。网络数据可包括一个或多个网络的名称或一个或多个路由器的mac地址。设备110然后可以确定每当检测到网络数据时,设备110被认为是在用户的家里。因此,并不需要实际配对,因为配对需要在设备110和另一个设备诸如路由器之间建立连接。又如,设备110可以检测在火车、地铁或公共汽车上的wi-fi信号。wi-fi信号可指示对应于wi-fi信号的运输的类型。因此,设备110可基于wi-fi信号检测其位置是“在火车上”、“在地铁中”还是“在公共汽车上”。如果任务项目的触发标准指示这些位置的一个或多个,则与任务项目相关联的操作可被触发。另外,此类“以公共交通为导向的”位置可被认为是与具体的背景(在以下更详细地描述)相关联,诸如“在途中”或“在行驶中”。因此,任务管理器112对此类背景的检测可使得与一定的任务项目相关联的操作被执行。

位置触发器的前述示例可被分类为“到达触发器”,诸如存在于用户的输入“当我到达y时提醒我做x”中的位置触发器。位置触发器的另一种类型是“离开触发器”,其一个示例是存在于用户的输入“当我下班时提醒我做x”或“当我离开这里时...”中。在一个实施例中,在离开触发的情况下,在特定的离开触发器“点火”之前,需要与当前位置和离开位置相距的最小距离。该最小距离可有助于避免当存在不成功的开始时对应的操作的执行。

另外,位置触发器可以是触发任务项目的操作的多个条件之一。包括多个条件的用户命令的示例包括“当我到家时或最迟下午8点醒我做x”、“在下午8点之前或当我离开时提醒我做x,无论孰前孰后”以及“在下午8点之前或当我驾驶时提醒我做x,无论孰前孰后”。

行驶时间触发器

在一个实施例中,设备110的位置和与任务项目相关联的时间被用于对设备110的用户提供通知。因此,虽然时间可以是与任务项目相关联的一个或多个触发标准之一,但至少明确的是设备110的位置可以不是上述一个或多个触发标准之一。

图3为描绘根据本发明的实施例用于确定在项目的预定时间之前将提醒提供给用户的时间的进程300的流程图。进程300可由在设备110上或在云130中执行的一个或多个进程执行。然而,为便于解释,进程300的所有步骤均由任务管理器112执行。

在步骤310处,任务管理器112确定设备110的当前位置。在步骤320处,任务管理器112确定与任务项目相关联的(或由其识别的)的目的地(或“目标位置”)的位置。在步骤320处,任务管理器112基于这两个位置之间的距离确定“行驶时间”或设备110的用户行驶到目标位置可花费的时间。在步骤330处,任务管理器112确定“时间差”或当前时间和触发与任务项目相关联的标准的时间之间的差值。在步骤340处,如果行驶时间与该时间差相同或相近,则任务管理器112对用户提供通知。该通知充当用户开始(如果她/他还未这样做)向目的地行驶的提醒。

例如,任务项目可以是下午2点在特定的餐厅与sue见面的提醒。任务管理器112确定设备110的位置和特定的餐厅的位置。特定的餐厅的位置可通过发起例如互联网搜索和识别具有与设备110的位置相同的名称的最近的餐厅来确定。另选地,特定的餐厅的地址可已经与任务项目相关联地存储。基于设备110的位置与特定的餐厅之间的距离,任务管理器112确定设备110的用户行驶到特定的餐厅将花费的时间(或“行驶时间”)。当行驶时间和当前时间与时间触发器(即,下午2点)之间的差值相同或相近时(例如,10分钟之内),则任务管理器112使得指示用户应该快点离开以在下午2点到达特定的餐厅的消息被显示在设备110上。

在一个实施例中,何时动身去目的地的时间基于设备110的当前位置而改变。例如,当设备110的当前位置在位置a并且目的地在位置b时,任务管理器112确定用户应该在预定任务的时间的50分钟之前开始行驶。然而,响应于检测到设备110的当前位置现在在位置c,任务管理器112确定用户应该在预定任务的时间的20分钟之前开始行驶。例如,设备110的用户在当天开始可在家里并且任务管理器112确定从用户的家行驶到晚上的晚餐事件的位置将花费50分钟。在当天的晚些时候,设备110的用户行驶到更靠近晚餐事件的位置的工作地点。响应于设备110在不同的位置,任务管理器112确定从用户的工作地点行驶到晚餐事件的位置将花费20分钟。

在一个实施例中,何时动身去目的地的时间基于当前交通信息而改变。例如,在下午2:30,任务管理器112确定设备110的用户应该动身去餐厅的时间是下午5:00。然而,由于用户可在到达餐厅的高速公路上发生交通事故,因此交通显著减慢。任务管理器112在下午3:30确定用户应该动身去餐厅的时间是下午4:00。

图4是根据本发明的实施例的行驶提醒的视图400。视图400由设备110显示。视图400的行驶提醒包含六个数据项。该六个数据项包括:(1)对应的任务(“接载chloe”)的说明410;(2)完成任务的时间420(“今天下午5:00”);(3)当设备110的用户应该开始向目的地行驶时将要执行的操作430;(4)用户想要被提醒的指示用户应该何时开始行驶以按时到达目的地的提醒时间440;(5)指示用户应该何时开始行驶以按时到达目的地的开始时间450;以及(6)指示目的地的名称和目的地的地址的位置460。设备110显示的另一个行驶提醒可包含或多或少的数据项。

与操作430相关联的操作可响应于任务管理器112被触发(或执行),所述任务管理器确定当前时间(在行驶提醒的顶部指示)等于由开始时间450指示的时间。在例示的实例中,操作430是地图相关的操作,其中任务管理器112使得地图在开始时间450被生成并被显示给设备110的用户。该地图包括位置460的地址的指示、用户的当前位置的指示或两者。任务管理器112可首先使得包括选项以生成地图的消息在设备110上显示,而不是自动使得地图在开始时间450显示。如果用户选择选项(例如,通过语音输入或轻触屏幕),则任务管理器112使得地图被生成并显示。

提醒设置可处于“开”或“关”模式。在图4中,提醒时间440处于“开”模式。如果提醒时间440处于“关”模式,则视图400的行驶提醒可不包括提醒时间440或开始时间450。

如先前所指示的那样,任务管理器112可响应于设备110的位置变化来改变开始时间450。因此,虽然当设备110早上位于用户的家里时开始时间450可指示“今天下午3:30”,但当设备110下午位于用户的办公室时开始时间450可指示“今天下午4:20”。

在一个实施例中,任务管理器112响应于设备110的位置的显著变化而检查计算的开始时间450的变化。位置的显著变化可被确定为已被计算的其他事件的结果。例如,设备110在小区塔之间转换时可以已经处理事件,并且这些事件可触发位置变化的重新计算,并因此触发已更新的开始时间450的变化的重新计算。指示位置的潜在显著变化的事件的其他非限制性示例是检测到的wi-fi信号的变化、用于一些其他应用程序(诸如地图或导航)的准确的gps位置计算、电力循环事件、打开或关闭设备上的收音机、基于加速度计信号的警报,以及文本消息或包含位置信息的推送通知的接收。

在一个实施例中,任务管理器112结合用于检测显著的事件变化的策略。例如,在低功率/低分辨率模式下,任务管理器112仅仅在每n分钟或者仅仅当一些定期计算诸如检查传入数据发生时检查显著的位置变化。在高功率/高分辨率模式下,任务管理器112使用小区塔定位和/或gps。结合的策略可默认运行低功率解决方案并且然后当估算的开始时间很快就到或当其他事件发生时(例如,检测到wi-fi变化或蓝牙特征时)调用高功率解决方案。

在一个实施例中,行驶提醒或在行驶提醒中的开始时间项可与运输的一个或多个模式相关联。交通方式的非限制性示例包括驾驶汽车、乘公共汽车、骑自行车和走路。默认的交通方式可以是驾驶汽车。例如,任务管理器112可以为用户提供选项以便在“汽车”模式、“公共汽车”模式、“自行车”模式、“走路”模式下观察开始时间450,或同时在多个模式下观察开始时间450。根据被选择用于开始时间450的当前模式,开始时间可以广泛地改变。例如,在图4中,虽然关于汽车模式的开始时间450指示“今天下午4:20”,但对于公共汽车模式的开始时间450可指示“今天下午3:15”,对于自行车模式可以指示“今天下午3:45”,并且对于走路模式可以指示“今天上午11:30”。

在相关的实施例中,任务项目与位置和日期/时间两者相关联,并且任务的通知可由在该位置处的用户(或者说,用户的设备)触发或由日期/时间触发。例如,如果用户的设备在该位置处,(在该日期或无关于该日期),则通知被触发。如果用户未在该日期所指示的那天到达该位置(或在该时间处于该位置处),则该时间被用作用于触发通知的“最后手段”。

背景触发器

如先前所述,时间和位置是与任务项目相关联的触发标准的类型的示例。与任务项目相关联的另一种触发标准类型是背景。“背景触发器”是指除了仅设备110的位置之外的设备110的一个或多个特性。因此,如同背景触发器,行驶触发器和行驶时间触发器另外是指设备110的一个或多个特性。

背景触发器可被分类为以下两种类型之一:面向数据的背景触发器和面向空间的背景触发器。面向数据的背景触发器的非限制性示例包括设备110在其屏幕上显示的数据的种类或类型(例如,视频)、当前在设备110上执行的具体应用程序或应用程序的类型(例如,发短信应用程序或音乐应用程序)、设备110从用户接收的输入的类型(例如,语音或数据)以及设备110可用的网络连接的类型(例如,wi-fi或蜂窝网络)。

例如,设备110接收的用户命令可以是“提醒我在下一次打电话时打给我妈妈”。短语“打电话”假定是指当用户使用设备110作为电话时,提醒将被发送给用户以通知用户给他的/她的妈妈打电话。

又如,设备110接收的用户命令可以是“当我上网时需要给bob发电子邮件”。短语“上网”假定是指当用户与设备110上的web浏览器交互,设备110的(或用户的)背景是“当在线时”。响应于确定设备或用户的背景,提醒将被发送给用户以通知用户给bob发电子邮件。另外,另一个提醒可被提供给用户以用于与“当在线时”的背景触发器相关联的任何其他任务项目。

又如,设备110接收的用户命令可以是“当我与我的姐妹sarah谈话时给我妈妈发短信”。短语“当我和姐妹sarah聊天时”假定是指当用户使用设备110作为电话并且与sarah的电话建立呼叫时,提醒将被发送给用户以提醒用户给用户的母亲发送短信(或sms)消息。

又如,设备110接收的用户命令可以是“当我有wi-fi连接时提醒我给janesmith发电子邮件”。响应于设备110检测到不需要密码或需要可访问设备110的密码的wi-fi信号,任务管理器112使得指示jane将给janesmith发电子邮件的通知被显示在设备110的屏幕上。

面向空间的背景触发器的非限制性示例包括设备110移动的速度(例如,指示驾驶的超过30mph,或指示走路的小于3mph)、设备110移动的方向(绝对方向或相对方向)和设备110的一组移动(例如,当在水平方向上连续移动时的短距离垂直移动)。换句话讲,设备110可被配置为检测设备110如何移动穿过空间。

例如,设备110(或者说在设备110上执行的进程)基于在一段时间内检测其位置变化确定设备110正以60mph的速度移动。基于该信息,设备110确定设备的背景是“在驾驶时”或“在路上”。任务管理器112分析一个或多个任务项目以确定是否存在任何任务项目与“在驾驶时”或“在路上”的背景触发器相关联。如果任务项目与“在驾驶时”或“在路上”的背景触发器相关联,则与任务项目相关联的操作(例如,显示通知)被执行。

又如,设备110基于在一段时间检测其位置变化确定设备110正在一定的时间段(例如,5分钟)内向他家移动。基于该信息,设备110确定背景是“在我回家的路上”。任务管理器112分析一个或多个任务项目以确定是否存在任何任务项目与“在我回家的路上”的背景触发器相关联。如果任务项目与“在我回家的路上”的背景触发器相关联,则与任务项目相关联的操作(例如,显示通知)被执行。

又如,设备110包括检测某些重复移动的加速器。设备110可基于一段时间内的这些重复移动确定设备110的用户可以是慢速跑步。基于该确定,设备110确定背景是“在慢跑时”。任务管理器112分析一个或多个任务项目以确定是否存在任何任务项目与“在慢跑时”或“在走路时”的背景触发器相关联。如果任务项目与“在慢跑时”或“在走路时”的背景触发器相关联,则与任务项目相关联的操作(例如,显示通知)被执行。

又如,设备110可检测其在一段时间(例如,3小时)内未移动。设备110的用户可对被通知感兴趣并且设备110无移动可指示用户在睡觉。因此,用户可发出命令“如果电话3小时不移动则通知我”。

除了面向数据的触发器和面向空间的触发器,其他种类的触发器可基于在设备110上的任何传感器。设备110可包括多个传感器,诸如温度传感器和光传感器。例如,设备110可包括用于检测设备110的外部温度或内部温度的温度计。因此,设备110的用户可发出命令“当到达100度时提醒我给harold打电话”。

外源触发器

可与任务项目相关联的另一种触发标准类型是外源标准。“外源触发器”是一种基于存在于设备110外部并独立于设备110和设备110的用户的一个或多个因素的触发标准。此类因素可被认为是相对于除设备110之外的设备或相对于存储在除设备110之外的一个或多个设备上的数据发生的“事件”。外源触发器的非限制性示例包括社交位置、社交接近度、现有查询和当地事件。

社交位置触发器的示例是当设备110的用户的朋友或同事到达或离开某一位置时。例如,发起任务项目的创建的用户命令可以是“sarah离开商场时通知我”。因此,sarah(或sarah的移动设备)的位置是触发该类型的外源触发器的要素。具体地,任务管理器112确定sarah的设备的当前位置。sarah的设备的当前位置可由sarah的设备和设备110均定制的云服务(例如,在云130中的)提供。设备110从云服务接收关于sarah的设备的位置的更新。任务管理器112使用该位置信息确定社交位置触发器是否应该被激活。类似的用户命令是“当我女儿到家时提醒我”。

社交接近度触发器的示例是当设备110的用户的朋友或同事在用户(或设备110)的一定的距离之内时。例如,发起任务项目的创建的用户命令可已经是“当george距离我100英尺之内时提醒我给他打电话”。因此,george(或george的移动设备)的位置是触发该外源触发器的要素。具体地,任务管理器112或在设备110上执行的另一个进程将设备110的当前位置与george的设备的当前位置进行比较以确定两个设备的分开距离。另选地,george的设备可将其位置传输到george的设备和设备110均定制的云服务。设备110从云服务接收关于george的设备与设备110之间的距离的更新。任务管理器112使用该距离信息确定社交接近度触发器是否应该被激活。

身份查询触发器的一个示例是当网页提及特定的术语或短语诸如公司名称为对其进行检测,身份查询被连续不断地生成并发出(例如,一天一次)。例如,发起任务项目的创建的用户命令可以是“当cnn.com提及berkmanindustries时告诉我”。任务管理器112或在设备110上执行的另一个进程发出搜索查询(例如,对搜索引擎发出搜索查询)并且接收结果。当任务管理器112确定结果包括来自包含名称“berkmanindustries”的cnn.com的网页时,任务管理器112向设备110的用户提供通知。

当地事件触发器的一个示例是当一定的当地事件发生时。为对此进行检测,任务管理器112接收来自在线服务的数据。任务管理器112(或在云130中的任务服务)可以周期性地向在线服务发送请求(经由一个或多个通信协议)。另选地,任务管理器112可以定制在线服务以接收关于某些事件的信息。例如,发起任务项目的创建的用户命令可以是“当beatles门票在shoreline出售时告诉我”。作为响应,任务管理器112、在设备110上执行的另一个进程或nlp服务132向在线购票服务发送定制请求以便当在shorelineamphitheatre的beatles表演门票可购买时接收到通知。当任务管理器112确定beatles门票可购买时,任务管理器112向设备110的用户提供通知。

又如,用户可对知道何时可以冲浪感兴趣。因此,用户可发出命令,“在可以冲浪前一小时提醒我”。任务服务112(或在云130中的任务服务)可定期发出冲浪场地的查询或可定制来自冲浪场地的提示。

基于前文所述,外源触发器的类型和示例事实上是无尽的。只要任务管理器112(或在云130中的任务服务)可对关于独立于设备110发生的事件做出判定,则该事件可用于触发与任务项目相关联的操作的执行。

iii.消耗任务项目(有效载荷)

当与任务项目相关联的操作被执行时,任务项目被“消耗”。此类操作可以是在设备110上显示(或播放,如果该通知是音频通知的话)的通知。除了或取代向设备110的用户提供通知,其他可能的操作包括发起电话呼叫或搜索查询、发送http请求(其包括统一资源定位(url))、发送电子邮件或短信(sms)消息,使得应用程序执行并使得代表用户进行购买。可与任务项目相关联的此类操作被称为“有效载荷”。有效载荷的处理使得一些操作被执行,无论是任务管理器112执行还是另一个进程执行,无论相对于设备110是本地的还是远程的。换句话讲,任务管理器112(或在云130中的服务)可以使任务项目的操作部分自动操作,而不是简单地向用户通知与任务项目相关联的任务。

如上面提到的,使得操作被执行可以涉及任务管理器112使得另一个应用程序或进程执行该操作。其他应用程序的调用或激活(例如,经由其他应用程序的api)可以在有或没有另外的输入的情况下被执行,如在下面的示例中指示的。

“其他”应用程序的类型可以相差很大。在设备110上可用的应用程序的非限制性示例包括电话应用程序、电子邮件应用程序、web浏览器应用程序、音乐播放器应用程序、媒体播放器应用程序、音乐下载应用程序、图像处理应用程序、地理定位应用程序、通讯录应用程序、sms应用程序、视频游戏应用程序和文本处理应用程序。

例如,设备110的用户大声说:“提醒我今天下午给她回电话”。该语音输入被转化为语音数据,设备110通过网络120将语音数据(连同背景数据)发送到nlp服务132。nlp服务132分析语音数据和背景数据以确定“她”是指marilynmerlot。nlp服务132确定“下午”是下午2点(无论基于背景数据、预定设置还是先前的历史)并且基于与用户相关联的联系人列表(通讯簿)确定包括marilynmerlot的一个或多个电话号码的marilynmerlot的电话号码。联系人列表可被存储在设备110上或被存储在云130中。nlp132将用于生成任务项目的提醒数据发送到任务管理器112(或发送到在云130中的任务服务)。提醒数据包括日期“今天”、时间下午2点以及使用特定的电话号码给marilynmerlot打电话的指令。当任务管理器112确定当前时间是下午2点时,任务管理器112可使得提示用户给marilynmerlot打电话的消息被显示。该消息可包括“稍后”按钮和“现在呼叫”按钮。如果用户选择“稍后”按钮,则任务管理器112将在下午(例如,1小时之后)再次发送消息。如果用户选择“现在呼叫”按钮,则任务管理器112发起对marilynmerlot的呼叫。该发起可涉及任务管理器112对在设备110上执行的电话应用程序(未示出)进行api调用并且将电话号码当作api调用的自变量。电话应用程序然后使用该电话号码呼叫与该电话号码相关联的设备。

又如,设备110的用户大声说:“在5点钟给lindsay发送内容为我爱她的短信”。该语音输入被转化为语音数据,设备110通过网络120将该语音数据发送到nlp服务132。nlp服务132分析语音数据以确定lindsay的移动电话号码是必要的并且“5点钟”是指当天下午5点。任务管理器112(或在云130中的任务服务)创建包括以下数据项的任务项目:(1)今天下午5点的完成时间,(2)发送短信(或sms)消息的操作,(3)lindsay的移动电话号码,以及(4)将成为文本消息的一部分的文本串“我爱你”。响应于确定当前时间是下午5点,任务管理器112分析任务项目以确定需要被执行的操作。任务管理器112然后使得包括与任务项目相关联的文本串的文本消息被发送到lindsay的移动电话。该步骤可包括任务管理器112调用在设备110上执行的短信应用程序(未示出)的api调用,其中文本串(“我爱你”)是api调用的自变量。

又如,设备110的用户大声说:“当我离开办公室时向我展示到达位于sanjose市的rachel’srestaurant餐厅的方向”。该语音输入被转化为语音数据,设备110通过网络120将该语音数据发送到nlp服务132。nlp服务132分析语音数据以确定lindsay的移动电话号码是必要的并且“5点钟”是指当天下午5点。任务管理器112(或在云130中的任务服务)创建包括以下数据项的任务项目:(1)离开用户的办公室的位置触发器以及(2)显示如何从用户的办公室到达rachel’srestaurant餐厅的指令(并且任选地显示地图)的操作。响应于确定设备110的用户已经离开他的/她的办公室,任务管理器112分析任务项目以确定需要被执行的操作。任务管理器112然后使得(在没有来自用户的另外的输入的情况下)行驶方向请求被发送到行驶方向服务。行驶方向请求包括餐厅的名称、餐厅的任何地址信息或二者。行驶方向服务可被托管在设备110上的或在另一个设备(未示出)上。

又如,设备110的用户大声说:“在bulls-pacers比赛开始前30分钟,在sanjose市的pizzaheaven店订购一份只有奶酪的披萨,家庭递送”。该语音输入被转化为语音数据,设备110通过网络120将该语音数据发送到nlp服务132。nlp服务132分析语音数据以确定bulls-pacers比赛在当地时间下午6点开始;因此,时间触发器是当地时间下午5:30。nlp服务132还确定在sanjose市的pizzaheaven店允许在线订购。任务管理器112(或在云130中的任务服务)创建包括以下数据项的任务项目:(1)下午5:30的时间触发器以及(2)从pizzaheaven店订购一份只有奶酪的披萨并选择家庭递送的操作。响应于确定当前时间是下午5:30,任务管理器112(或在云13中的任务服务)分析任务项目以确定需要被执行的操作。任务管理器112然后使得披萨订购请求被发送到pizzaheaven店的在线订购服务。披萨订购请求包括只有奶酪的披萨类型、家庭递送的递送选项以及用户的家庭地址。披萨订购请求可以是对在线订购服务的api调用的形式,其中api调用的自变量包括只有奶酪浇头、家庭递送以及用户的家庭地址的指示。另选地,在使得披萨订购需要被发送之前,任务管理器112可以编写出向用户通知该任务的消息,该消息被显示在设备110上(或由其播放)。如果用户提供确定输入,则任务管理器112使得披萨订购请求被发送。如果用户提供否定输入,则无披萨订购请求被发送。

又如,设备110的用户大声说:“明天下午3点播放我在pandora的古典音乐台”。时间“明天下午3点”与用户的预定考试的结束时间一致。该语音输入被转化为语音数据,设备110通过网络120将该语音数据发送到nlp服务132。nlp服务132分析语音数据以确定预期操作将被执行的日期和时间。任务管理器112(或在云130中的任务服务)创建包括以下数据项的任务项目:(1)下午3点的时间触发器,该下午3点的日期识别之后的第二天,以及(2)播放用户的pandora音乐应用程序的古典“台”的操作,其中该古典台由用户建立并且与用户的pandora账户相关联。响应于确定当前时间是在正确的日期的下午3:00,任务管理器112(或在云13中的任务服务)分析任务项目以确定需要被执行的操作。任务管理器112然后使得pandora音乐应用程序(未示出)开始在设备110上执行并且“播放”用户的古典台。任务管理器112可以通过调用对pandora音乐应用程序的api调用使得古典台播放,其中api调用的自变量包括古典台的指示。

在一些实施例中,有效载荷基于一个或多个触发事件(例如,时间、位置等)在未提供提醒、通知的情况下或换句话讲在未请求来自用户的另外的许可的情况下自动处理。设备110可以因此在用户不需要提供另外的输入的情况下代表用户自动采取操作。例如,任务项目可以使得设备110响应于触发事件将预先写好的电子邮件或文本消息发送给接收人。用户可以对设备110说“当我下高速时告诉我的妻子我快到了”。设备110(和/或任何相关联的服务,诸如nlp服务132)可以创建当用户到达特定位置(例如,在用户家附近的出口坡道)时向用户的妻子发送消息(诸如文本消息或电子邮件)“我快到了”的具有有效载荷的任务项目。在一些实施例中,对应于消息“我快到了”的用户的语音输入的录制可经由语音信箱或作为电子邮件或文本消息的附件被传送给接收人。另外,其他触发事件还可以使得有效载荷自动处理并且无需用户干预,诸如时间、日期,来自其他人的消息的接收等。

如上所述的有效载荷使得设备110基于任务项目的触发标准发起某些操作。例如,如果任务项目是在下午2:00给同事打电话的提醒,则设备110可以在下午2:00以“现在呼叫”按钮自动提示用户。然而,在一些情况下,有利的是配置任务项目使得有效载荷可以在无触发事件的情况下被处理。具体地,用户可以创建不具有触发器(诸如时间或位置触发器)的任务项目,或者用户可以希望在其触发条件被满足之前完成任务项目。为适应此,在一些实施例中,与任务项目相关联的操作被执行以响应用户选择任务项目本身。通过将有效载荷链接到任务项目(或与任务项目相关联的输入),有效载荷可以在不需要满足其他触发条件的情况下在用户的请求中被处理。另外,其允许观察任务列表的用户通过在他们自己方便的时候简单地从列表中选择任务项目而利用有效载荷。例如,用户可以观察任务列表以查看他未完成的任务,并且看到他可以立刻方便地完成的任务项目。用户然后可以简单地选择任务项目(例如,“给gregalmond”打电话的说明)以便处理有效载荷(例如,发起对gregalmond的电话呼叫)并完成任务项目。

为了可被用户选择,任务列表项目可与当被用户选择时使得与任务相关联的操作被执行的激活区域相关联。激活区域是可通过按压、轻触、触摸或换句话讲选择显示区域而被选择的任何图形显示区域。在一些实施例中,激活区域与在设备110的屏幕(例如,触摸屏)上显示的图形或文本元件一致或叠置上述显示内容。在一些实施例中,激活区域与任务项目的标题或说明一致或叠置任务项目的标题或说明,使得当用户选择该标题或说明的显示的文本时,设备110执行与该任务项目相关联的操作。图6示出可包括根据一些实施例的可选择文本的任务项目。

在一些实施例中,激活区域与图形元件一致或叠置图形元件,其中图形元件被显示在与任务列表项目相关联的触摸屏上。图形元件可以紧邻任务列表项目、与任务列表项目成直线、在任务列表项目上方、在任务列表项目下方显示,或者换句话讲靠近任务列表项目显示,向用户指示与该任务列表项目相关联的操作将在选择图形元件时被执行。

结合任务项目显示的图形元件的示例示于图6。例如,图形630包括可通过覆盖在图形630上的激活区域使其可被用户选择的电话听筒的图形描述。当图形630由用户选择时(例如,通过按压、轻触、触摸等),设备110将执行与发起对“johnappleseed”的电话呼叫相关联的操作。例如,设备110可以对与johnappleseed相关联的电话号码发起电话呼叫。

相似地,图形632包括信件的图形描述,该图形描述可通过覆盖图形632上的激活区域使得其可被用户选择。当图形632由用户选择时(例如,通过按压、轻触、触摸等),设备110将执行与向接收人“pablomarc”发送短信或电子邮件消息相关联的操作。例如,设备110可以向用户显示具有文本输入区域的提示,在该文本输入区域中,用户可以撰写收信姓名为pablomarc的消息。

在一些实施例中,用户可以使用语音输入选择任务项目。语音激活可被单独使用或结合如上所述的激活区域使用。在一些实施例中,当设备110检测到匹配任务项目的标题、说明或指示器的讲话发音时任务项目被选择。例如,查看图6中的任务列表的用户可大声说“回复pablomarc”,这将使得设备110处理与该任务项目相关联的有效载荷。又如,用户可以大声说“呼叫john”,并且设备110将识别此发音对应于任务项目“呼叫johnappleseed”并且处理与该任务项目相关联的有效载荷。

在一些实施例中,当任务项目被选择时,与该任务相关联的操作在无需另外的用户干预的情况下被执行。例如,如果用户选择任务项目“给johnappleseed打电话”,则设备110将发起对johnappleseed的电话呼叫。在一些实施例中,任务项目的选择使得要求用户确认设备110应该执行与任务项目相关联的操作的提示被显示给用户。此确认或许可步骤可有助于阻止当用户错误地选择任务列表项目时的无意操作。例如,在选择任务项目“给johnappleseed打电话”时,设备110可以显示具有“现在呼叫”或“取消”的可选择选项的提示。相似地,在选择任务项目“回复pablomarc”时,设备110可提供空白的文本撰写区域(在此用户可以排版将被发送给pablomarc的电子邮件或文本消息的主体)以及“发送”或“取消”的可选择选项。

注意图17,其是描绘根据本发明的实施例用于发起与任务项目相关联的操作的方法1700的流程图。在一些实施例中,方法1700由具有处理器和存储由处理器执行的指令的存储器的电子设备(例如,设备110)执行。方法1700包括从用户接收指定任务的一个或多个属性的输入(1702)。(还可参见图2,步骤(210),以及伴随的论述。)在一些实施例中,输入基于在手持设备(例如,设备110)接收的语音输入。在一些实施例中,输入基于通过文本输入设备(例如,物理按键盘、触摸屏键盘等)在手持设备接收到的文本输入。在一些实施例中,输入发起任务项目的创建,并且包括识别与任务相关联的操作(将由设备执行)的数据。例如,输入可包括词语“发送消息”、“发送电子邮件”或“打电话”,设备110将上述词语识别为标识应当与该任务相关联的特定操作。方法1700还包括基于输入生成任务项目,这包括识别将由电子设备执行的与任务相关联的操作(1704)。(还可参见图2,步骤(220),以及伴随的论述。)

在一些实施例中,任务项目不与确定何时触发通知以完成任务或操作何时被执行的触发标准(例如,时间或位置触发器)相关联。在图6中的任务项目“呼叫gregalmond”例示不与触发标准相关联的任务项目。

所识别的操作可以是设备110能够执行的任何操作,包括以上参考有效载荷论述的这些操作。在一些实施例中,操作是使得电子邮件或文本消息(例如,包括之前起草的消息)通过网络被发送到与任务项目相关联的接收人。在一些实施例中,操作是显示文本撰写区域。在一些实施例中,由用户输入到文本撰写区域中的文本然后作为电子邮件或文本消息通过网络被发送到与任务项目相关联的接收人。在一些实施例中,文本撰写区域与和任务项目相关联的接收人的电子邮件地址或电话号码相关联。在一些实施例中,操作是发起对与任务项目相关联的电话号码相关联的设备的电话呼叫。在一些实施例中,操作是基于搜索查询或与任务项目相关联的url发起搜索。

在一些实施例中,使得操作(诸如上述的操作之一)被执行包括第一进程使得第二进程执行第一操作。在一些实施例中,第一进程使得第二进程执行操作包括第一进程激活第二进程的api调用,其中api调用包括与任务项目相关联的一个或多个属性。

方法1700还包括在任务列表中显示任务项目和相关联的激活区域(1706)。(还可参见图6和图8。)在一些实施例中,激活区域叠置任务项目的标题,使得任务项目的标题可由用户选择。在一些实施例中,激活区域叠置任务项目的说明,使得任务项目的说明可由用户选择。在一些实施例中,激活区域叠置图形对象,该图形对象可以紧邻或靠近任务项目的标题和/或说明显示,使得图形对象可由用户选择。

方法1700还包括接收激活区域的用户选择(1708)。用户可以通过点击、触摸、按压等来选择激活区域。在一些实施例中,方法1700包括在接收激活区域的用户选择之后并且在执行操作之前,显示提示请求许可以便执行操作(1710),并且接收来自用户的许可输入(1712)。要求用户读取和/或响应具有继续进行的许可的提示可有助于阻止设备110采取用户不期望的操作。

方法1700还包括响应于接收激活区域的用户选择(1714)来执行操作。可被执行的操作的一些示例在上文参考步骤(1704)描述。

在一些实施例中,方法1700还包括响应于执行操作(1724)将任务项目标记为完成。

自动操作的任务完成

在一个实施例中,任务管理器112(或在云130中的任务服务)响应于检测到任务项目被消耗而将任务项目“标记”为完成。换句话讲,任务项目可与完成状态或未完成状态相关联。任务管理器112可为用户提供界面以查看由任务管理器112管理的任务项目并确定任务项目是否完成。任务管理器112可为设备110的用户提供选项以查看所有完成的任务项目。完成的任务项目可基于任务项目何时被创建、消耗(或完成)或一些其他标准进行排序。

在一些实施例中,一旦任务管理器112(或设备110的另一个部件)检测到任务实际上已被执行,则将任务项目标记为完成。在一些实施例中,如果任务项目具有有效载荷,则当与有效载荷相关联的操作被执行时,任务管理器112确定任务已被执行。例如,如果任务项目是对某人发出电话呼叫的提醒,则当任务项目由用户选择之后设备110发起对此人的电话呼叫时,任务管理器112将任务项目标记为完成。

在一些实施例中,任务项目基于识别任务已被执行或可能已被执行的一个或多个规则而被标记为完成。具体地,任务管理器112能够监控设备110的各个方面,诸如网络通信量(例如,语音、互联网协议等)、api调用等,以确定任务是否已经完成。在一个示例中,如果任务项目是发送电子邮件或文本消息的提醒,则任务管理器112可以检测在选择任务项目之后,电子邮件或文本消息是否实际上已由设备110发送。一旦任务管理器112检测到电子邮件或文本消息已被发送,则与该操作相关的任务项目被标记为完成。

又如,如果任务项目是给某人打电话的提醒,则任务管理器112可以检测电话呼叫是否已被发起。在一些情况下,这不但需要检测电话呼叫是否被发起,还需要检测电话呼叫是否成功。例如,用户可以发起电话呼叫,但是对方可以不接,或者该呼叫可以转到语音信箱。在这些情况下,将任务标记为完成可能是不合适的。因此,设备110的若干不同的方面可被监控以便确定电话呼叫任务项目是否已经成功完成。

在一些实施例中,任务管理器112监控设备110的通信接口(例如,通信接口1618)以检测在用户选择任务项目之后电话呼叫是否已被发起。在一些实施例中,任务管理器112检测电话呼叫是否导致成功的连接。在一些实施例中,任务管理器112监控电话呼叫的特性即来自用户的语音输入。任务管理器112可以单独或组合地使用任何该信息(和/或其他信息),以确定电话呼叫是否成功完成。

在一些实施例中,任务管理器112还可以确定任务未成功完成以便阻止将任务项目标记为完成。具体地,用户可以在设备110上采取一定的与最近选择的任务项目的完成不一致的操作。例如,如果用户选择发起电话呼叫的任务项目,但在短暂的时间之后(或在呼叫被接收人接听之前)选择“结束呼叫”按钮,任务管理器112可以确定任务项目应该为被标记为完成。

实际上,对任务的完成有必要的进程的任何类型的取消可被检测到以便确定任务还未完成。在一些实施例中,设备110包括被配置为取消当前操作或具有取消某些操作的作用的一个或多个控制元件。控制元件可以是触摸屏的激活区域、电源按钮、控制按钮、开关等。按钮634(图6)例示控制元件的一个示例,其中当控制元件被按压时可以取消某些操作和/或使得设备110进入不同的操作状态。

在一些实施例中,如果用户在任务项目被选择之后但在任务被完成之前激活(例如,通过触摸、点击、按压等)特定控制元件,则任务管理器112将识别该任务项目不应该被标记为完成。从上述返回到电子邮件示例,如果使得文本输入区域显示的任务项目被选择,并且用户选择具有在消息被发送之前将其终止的作用的控制元件,则任务管理器112将识别任务(即,给特定接收人发送电子邮件)未完成。

检测指示任务完成和任务未完成两者的事件允许任务管理器112准确地并且自动地确定任务项目是否应该被标记为完成。这有助于使得设备110的任务列表功能进一步自动执行,因为用户不需要返回任务列表并且手动地将任务项目标记为完成。此外,当任务项目不应该是完成时,这阻止任务管理器112将任务项目标记为完成。

除此之外或作为另外一种选择,被消耗的任务项目(即,完成的)被从存储装置中去除。例如,任务管理器112从在设备110上的存储装置中删除已被消耗的任何任务项目。任务项目的删除可以在对应的任务已被完成之后的一定时间段(例如,1个月)时发生以允许设备110的用户查看最近消耗的任务项目。如果在云130中的任务服务管理被存储在云130中的任务项目,则该任务服务可以删除消耗的任务项目。

注意图17,其示出根据本发明的实施例包括确定任务项目是否应该被标记为完成的方法1700。

在一些实施例中,方法1700包括检测与操作的执行相关联的一个或多个事件(1716),以及确定一个或多个事件是否满足指示操作已被完成的一个或多个条件(1718)。不同类型的操作在上文参考步骤(1704)描述。

在一些实施例中,操作是发送电子邮件,并且在确定电子邮件已被电子设备发送时一个或多个条件被满足。在一些实施例中,操作是发起电话呼叫,并且在接收到电话呼叫发起请求时一个或多个条件被满足。在一些实施例中,操作是发起电话呼叫,并且在检测到电话呼叫连接事件时一个或多个条件被满足。在其中操作是发起电话呼叫的实施例中,在检测到电话呼叫的特性即语音输入时一个或多个条件可被满足。

在一些实施例中,方法1700还包括检测与无法执行操作相关联的一个或多个事件(1720),以及确定一个或多个事件是否满足指示操作还未完成的一个或多个条件(1722)。这有助于确保任务不被标记为完成,其中任务在任务项目被选择之后但在其能够被完成之前被终止。在一些实施例中,在电子设备上接收到控制元件的用户选择时一个或多个条件被满足。在一些实施例中,控制元件选自触摸屏的激活区域、电源按钮、控制按钮和开关。在其中操作是发起电话呼叫的实施例中,一个或多个条件包括在选择激活区域之后的预先确定的时间内不检测语音输入。

延时任务判读

在一个实施例中,当任务项目被创建时,对应任务的仅仅一些细节可以是已知的并且与任务项目相关联地存储。关于说明、地址(如果有的话)、触发器和/或操作的其他细节可被稍后确定,无论是自动识别还是经由手动方法识别。

例如,设备110将反映用户命令“在5点呼叫sarah”的语音数据发送到nlp服务132。nlp服务132确定当天下午5点是时间触发器并且使得任务管理器112(或在云130中的任务服务)用该时间触发器创建任务项目。然而,与任务项目相关联的操作项目是在没有电话号码的任何指示的情况下“呼叫sarah”。nlp服务132还未确定sarah是谁,并且因此未确定使用什么电话号码呼叫她。相反,这些细节被稍后确定;例如,在当前时间是下午5点并且操作被触发或在触发激活之前的某时。在下午5点,任务管理器112将操作项目“呼叫sarah”(无论是以文本形式还是音频形式)发送到nlp服务132或另一个服务以识别关于特定sarah(如果有很多的话)的信息并且确定sarah的电话号码。当sarah的电话号码被确定时,任务管理器112(或另一个进程)使得设备110上的电话应用程序使用该电话号码发起呼叫。在此示例中,(a)个人的身份和(b)此人的电话号码的消歧被延时,直到任务项目被生成之后。

又如,设备110将反映用户命令“检查sanjose市明早的天气”的语音数据发送到nlp服务132。nlp服务132确定第二天的上午7点是时间触发器并且使得任务管理器112(或在云130中的任务服务)用该时间触发器创建任务项目。然而,与任务项目相关联的操作项目是在没有如何执行该操作的任何指示的情况下“检查sanjose市的天气”。nlp服务132还未解释用户命令的该部分以确定sanjose市的天气将被如何检查。相反,这些细节被稍后确定;例如,在当前时间是第二天的上午7点并且操作被触发或在该触发被激活之前的某时。在第二天的上午7点,任务管理器112降操作项目“检查sanjose市的天气”(无论是以文本形式还是音频形式)发送到nlp服务132或另一个服务以识别sanjose市的天气将被如何检查。作为响应,nlp服务132或另一个服务检索关于在sanjose市的天气的信息并将该信息提供给设备110以进行显示。在此示例中,操作如何被执行的确定被延时,直到任务项目被生成之后。

响应提示

如先前提到的,对于与不仅仅是通知的操作相关联的任务项目,设备110的用户首先被提示任务并且用户被允许用肯定响应或否定响应来做出响应,而不是执行操作。例如,任务项目的操作是向janesmith发送关于计划knuckles的电子邮件。任务管理器112使得将指示设备110的用户应该给janesmith发送电子邮件的消息在设备110上显示。用户可以按压指示肯定响应的物理按钮或图形按钮。另选地,用户可以说出指示肯定响应的命令“做吧”或“是”。响应于该输入(无论经由设备110的触摸屏、键盘选择,还是语音输入),任务管理器112使得在设备110上的电子邮件应用程序撰写主题栏指示计划knuckles且收信姓名是janesmith的电子邮件消息。另选地,用户可决定稍后被提醒向janesmith发送电子邮件的任务。因此,响应于该通知,用户提供指示她/他想在晚些时候诸如一小时之后或第二天给janesmith发送电子邮件的输入(经由设备110)。此类输入可以是用户说“稍后提醒我”或简单地说“稍后”。

在一个实施例中,当操作是对诸如电子邮件消息的通信的执行做出响应时,任务管理器112在任务创建时存储该通信的背景并且在执行操作时检索该背景。在各种实施例中,通信的背景可以是通用资源标识符或背景的其他参考或背景的数据的副本。例如,任务管理器112存储激将被回复的电子邮件消息或其副本。当操作被执行时,电子邮件消息的内容可被重新创建,正如当初始读取时用户执行回复。可以这种方式存储并检索的背景数据的其他示例无限制地包括文本消息、文档、网页、语音信箱消息、照片、音频记录和视频。

又如,任务项目的操作是呼叫georgeburt。响应于决定触发呼叫的操作,任务管理器112提供对设备110的用户可用的提醒的指示。指示可以是设备110嗡响/震动、生成音频噪声和/或显示通知消息。无需握持设备110,用户大声说:“读取”。响应于任务管理器112(或另一个进程)处理该输入,设备110播放以下说明的音频型式。“提醒…呼叫georgeburt”。音频型式可基于来自用户的初始输入的回放或者可反映计算机生成的语音。如果用户决定呼叫georgeburt,则用户可以简单地说:“好的”或“做吧”,这使得在设备110上的电话应用程序呼叫georgeburt。如果用户决定不呼叫georgeburt,则用户可以说:“忽略”或“稍后提醒我”。

iv.使用列表组织任务项目

根据本发明的实施例,任务项目可与一个或多个列表相关联。列表是一组与相同的类别相关联(或属于相同的类别)的一个或多个任务项目。列表是设备110的用户可以有条理地查看任务项目的方式。不同的列表允许用户智能且直观地浏览她/他想要执行(或已经代表她/他执行)的任务。图6-14描绘根据本发明的实施例的各种类型的列表的视图。

当新的任务项目被创建时,任务管理器112(或在云130中的服务)识别与新的任务项目相关联的一个或多个属性并且将新的任务项目分配到一个或多个列表。例如,如果新的任务项目包括“待呼叫”操作,则任务管理器112(或其他进程)将新的任务项目添加到待呼叫列表。相似地,如果新的任务项目包括一定的背景和特定位置,则任务管理器112可识别该背景和/或特定位置并且将新的任务项目添加到位置列表和/或背景列表。另选地,用户可手动识别一个或多个列表(这在以下详细描述),新的任务项目被添加到该一个或多个列表。

全部列表视图

图5a描绘根据本发明的实施例设备110可显示的全部列表视图500。全部列表视图500不包含关于任何具体任务项目的信息。相反,全部列表视图500包括对由任务管理器112(或在云130中的任务服务)维持的多个列表的参考:今日列表510、全部待办事项列表520、附近列表530、车中列表540、待呼叫列表550、待发送电子邮件列表560、杂货列表570、待购列表580和完成列表590。正如上述,任务项目可与多个列表相关联(或属于多个列表)。例如,其说明为购买牛奶并且其时间触发器为今天的任务项目可以属于今日列表510、全部待办事项列表520、杂货列表570和待购列表580。

列表可被表征为三种类型之一:内置或预定列表、智能列表,或定制列表。今日列表510,全部待办事项列表520和完成列表590是内置或预定列表的示例。

智能列表基于任务项目可具有的不同的特性或属性,诸如操作(例如,打电话、发送电子邮件、发短信、提示)、位置,和/或操作将被执行的背景。智能列表的示例包括通过操作执行的列表、通过位置执行的列表和通过背景执行的列表。车中列表540、待呼叫列表550和待发送电子邮件列表560是通过操作执行的列表的示例。由操作执行的列表的其他示例可包括待发短信列表、待查找列表和待参观列表。

定制列表的示例包括基于由nlp服务132识别的类别的列表和由用户创建的列表。杂货列表570和待购列表580是定制列表的示例。定制列表的另一个是葡萄酒列表(未示出),其包括用户的最喜爱的葡萄酒的列表。

返回在图5a中描绘的列表,属于今日列表510的任务项目与指示在对应的任务必须或应该被执行的当天的时间的触发标准相关联。全部任务项目属于全部待办事项列表520。属于附近列表530的任务项目与被认为与设备110的当前位置相距一定距离(例如,1英里)之内的位置相关联。属于车中列表540的任务项目与在汽车中或在行驶时被执行的任务相关联。属于待呼叫列表550的任务项目与呼叫人或实体的操作相关联。属于待发送的电子邮件列表560的任务项目与向某人或实体发送电子邮件的操作相关联。属于杂货列表570的任务项目与要购买的杂货项目(例如,牛奶、蛋、水果)相关联。属于待购列表580的任务项目与要购买的项目相关联,诸如衣服、书、歌曲或杂货。属于完成列表590的任务项目被认为是完成的,这可以指示对应的任务已经完成或至少每个任务项目相关联的操作(例如,提示或通知)已经完成。

全部列表视图500还包括当被选择时允许设备110的用户创建另一个定制列表使得当前和/或将来的任务项目可被添加于此的“+”图像。

图5b描绘在图5a中描绘的一些列表,但具有搜索字段502以允许设备110的用户搜索具体的任务项目。任务项目可基于例如任务项目关联的创建日期、完成日期(如果知道的话)、完成状态、背景触发器(如果有的话)、位置(如果有的话)和/或操作类型(例如,仅通知、呼叫、发送电子邮件或购买)被搜索。

今日列表

图6描绘设备110为响应今日列表510的用户选择(例如)而显示的今日列表的视图600。视图600包括被分成两部分的任务的列表:部分610用于与具体的时间相关联的任务项目并且部分620用于不与具体的时间相关联的任务项目。在部分610中的每个任务项目与行驶时间提醒相关联。在部分610中的第三任务项目和在部分620中的第二至第四任务项目与不仅仅是提醒或提示的操作相关联。

例如,在部分610中的第三任务项目是在下午5点“接chloe”。该说明的右侧的图标是指南针的图像,指示与该任务项目相关联的操作是生成行驶方向以帮助引导设备110的用户到达预期的目的地,在此示例中预期的目的地为松木学校。

又如,在部分620中的第二任务项目是“给johnappleseed打电话”。该说明的右侧的图标是电话图像,指示与该任务项目相关联的操作是给johnappleseed打电话。与电话图像邻近的图像是汽车,指示当用户在车里或当用户在行驶时设备110的用户将给johnappleseed打电话。

又如,在部分620中的最后一个任务项目是“回复pablomarc”。该说明的右侧的图标是信封,指示与该任务项目相关联的操作是给pablomarc发送电子邮件。视图600还指示任务项目过期,或者说,给pablomarc发送电子邮件的最初计划的时间已经过去。

单个任务项目视图

图7描绘设备110显示的和包括关于特定任务项目的细节的视图700。视图700可以基于图6的视图600中的部分620中的第二任务项目的用户选择而被生成。该显示的任务项目包含四个数据项:说明项710、操作项720、提醒项730和列表分配项740。

说明项710包含对任务(“给johnappleseed打电话”)的高级说明并且包括关于该主题(“论述杏仁交易”)的细节。说明项710的选择可以允许设备110的用户编辑该说明。

操作项720包含操作(“打电话”)的说明并且包括johnappleseed使用哪个电话(“手机”)。操作项720的选择可以允许设备110的用户查看与johnappleseed相关联的电话号码和/或提供其他联系人选项,诸如与johnappleseed相关联的另一个电话号码、johnappleseed的电子邮件地址等。此外,在操作项720中的电话图标的选择可以使得任务管理器112发起对johnappleseed的呼叫电话,而不是等待与任务项目相关联的一个或多个触发标准被满足。

指示当被检测到时将使操作被执行或产生关于任务的提示的触发器类型(“当在汽车中时”)的提醒项目730。提醒项目730的选择可以允许用户改变提醒的类型。

列表分配项目740指示任务项目所属的列表,在此示例中该列表为“不易克服的困难计划”列表。该列表是定制列表的一个示例。列表分配项目740的选择可以使得设备110显示属于“不易克服的困难计划”列表的多个任务项目。

全部待办事项列表

图8描绘设备110显示的和包括关于多个任务项目的信息的全部待办事项列表的视图800。在此示例中,多个任务项目通过日期排序。视图800可以基于在图5a的视图500中的全部待办事项列表520的用户选择而被生成。视图800被分成两部分:包含将在一天完成的任务项目(或参考于此)的部分810和包含将在第二天完成的任务项目的部分820。

在视图800中引用的任务项目的一些已被完成。此类完成的任务项目用在对应的说明左侧的较灰的图像示出。已经完成的任务项目可由其他技术诸如检测标记与未完成任务项目区分开。

在图8所描绘的示例中,任务项目可通过对应的任务应该被执行的日期(或“到期日”)进行组织。然而,在视图800中引用的任务项目可通过设备110的用户被提示或提醒对应的任务的日期(“提示日期”)、任务项目被创建的日期(“创建日期”)、任务项目被修改的日期(“修改日期”)或对应的任务被完成的日期(“完成日期”)进行组织。

附近列表

图9描绘设备110显示的“附近”列表的视图900。视图900可以基于在图5a的视图500中的附近列表530的用户选择被生成。视图900包含关于基于与设备110的当前位置相距的距离进行排序的多个位置的信息。在列表的顶部指示的位置(“家庭”)距离设备110的当前位置最近,而在列表的底部指示的位置(“松木学校”)距离设备110的当前位置最远。

在视图900中指示的每个位置与不同的位置列表相关联。每个位置列表可与一个或多个任务项目相关联。例如,“家庭”位置可与四个任务项目相关联(其可以在用户选择的“家庭”位置上显示),而“atherton干洗店”位置可以仅仅与一个任务项目相关联。

由于在视图900中指示的位置是基于与设备110的当前位置相距的距离排序的,因此当设备110的当前位置改变时,位置指示器可以重新排序,一些位置指示器可以从视图900移除,并且当前未显示在视图900中的其他位置指示器可以出现在视图900中。例如,如果设备110当前位于与视图900中指示的第二位置所识别的全食超市商店紧邻的商店中,则,如果设备110显示视图900,那么全食超市位置指示器将在列表的顶部。

如以上所指示的那样,视图900包括“家庭”位置和“工作”位置。标记为“家庭”(或“工作”)的位置与特定地址的关联可以多种方式进行。例如,许多移动设备存储关于移动设备的用户的配置文件信息。该信息被称为“me卡”。me卡通常存储用户的家庭地址和用户的工作地址。因此,任务管理器112(或另一个进程)分析在设备110上存储的me卡以确定用户的家庭地址和工作地址(如果有的话)。

在一个实施例中,半径与特定位置相关联,并且与在半径所指示的距离之内的位置相关联的任何任务项目被认为与特定位置相关联。例如,与设备110的用户的家相关联的半径是2英里。如果任务项目与公园相关联,并且该公园在家的2英里之内,则该任务项目连同与家相关联的其他任务项目与“家”的列表相关联。

位置列表视图

正如上述,位置列表是智能列表的一个示例。在一个实施例中,与位置相关联的任何任务项目(例如,作为一个或多个触发标准的一部分)自动与位置列表相关联,该位置列表关联于与任务项目的位置相同的位置。任务管理器112(或在云130中的任务服务)可以维持多个位置列表。

图10a描绘设备110显示的位置列表视图1000。位置列表视图1000可以基于图9的近景视图900中的用户选择“家庭”位置指示器而被生成。位置列表视图1000包含六个任务项目。与前四个任务项目中的每一个相邻的时钟图像指示当设备110在用户的家里或附近时或者至少在指定日期的某时,用于那些任务项目的提醒(或提示)将被生成。对于最后两个任务项目,提醒或提示将不被生成。

位置列表视图1000还包括地图图标1002,当地图图标1002被选择时,使得任务管理器112与生成地图图标相关联的位置的地图的地图应用程序通信。在此示例中,用户的家的地图将被生成。

图10b描绘设备110显示的位置列表视图1050。位置列表视图1050可以基于在图9的近景视图900中的用户选择“全食超市”位置指示器被生成。位置列表视图1050包含六个数据项,其中每个可以是或可以不是任务项目。相反,在位置列表视图1050中的每个数据项只是识别将在全食超市杂货商店购买的杂货项目。无杂货项目与提醒相关联(虽然它们可以关联)或与完成日期相关联(虽然它们可以关联)。

在位置列表视图1050中识别的杂货项目响应于来自设备110的用户的输入而与全食超市杂货列表相关联。例如,用户说出以下命令:“将杏仁乳添加到我的杂货列表中”或“记住在我家附近的全食超市购买杏仁乳”。设备110将反映此命令的语音数据传输到nlp服务132。nlp服务132基于语音数据确定用户预期购买杏仁乳。nlp服务132可以使得任务管理器112(a)创建用于购买杏仁乳的任务的任务项目并且将该任务项目添加到全食超市列表或(b)只是将“杏仁乳”添加到全食超市列表。

位置列表视图1050还包括地图图标1052,当地图图标1052被选择时使得任务管理器112与生成地图图标相关联的位置的地图的地图应用程序通信。在此示例中,由显示的地址识别的全食超市商店的地图将被生成。

智能列表

正如上述,通过操作执行的列表、通过位置执行的列表和通过背景执行的列表是智能列表的示例。图11a描绘通过背景执行的列表的视图1100;具体地,车中列表。图11b和图11d描绘不同的通过操作执行的列表的视图;具体地,待呼叫列表和待发送电子邮件列表。

视图1100包含与在具体的背景中被执行的任务相关联的任务项目,即,“车中”背景。在车中列表中的任务项目可与不同的操作相关联,诸如呼叫和获取方向。

相比之下,在图11b中描绘的视图1110包含与相同的操作(在此示例中,是给人或实体打电话)相关联的任务项目。在视图1110中的前三个任务项目具有电话图标,这指示在对应的任务中指出的人的电话号码对于任务管理器112是已知的。然而,在视图1110中的最后一个任务项目不与电话图标相关联,这指示“bob”的电话号码对于任务管理器112不是确定已知的,或许是因为在用户的联系人列表中的许多联系人可具有名字bob。在视图1110中的“给bob打电话”的任务项目的选择使得设备110显示在图11c中描绘的视图1120。

视图1120指示被包含在“给bob打电话”的任务项目中(或与之相关联)的两个数据项。说明项目和操作项目。操作项目指示多个联系人被已知为“bob”。因此,该操作项目包括禁用的呼叫按钮,然而与视图1110中的其他任务项目相关联的呼叫按钮不被禁用。操作项目的选择可以发起用于对“bob”的身份消歧的进程。例如,操作项目的选择可以使得任务管理器112显示名字的列表,其中每个名字具有bob或robert的名字。以这种方式,身份的消歧或电话号码的消歧可以比对应的任务项目的创建要晚的多地发生。

在图11d中描绘的视图1130包括六个任务项目,其中每个任务项目包括发送电子邮件的操作。待发送电子邮件的任务项目的有效载荷自变量包括“待”发送或电子邮件地址,并且,任选地包括电子邮件的主题栏的主题。

在一个实施例中,“发送电子邮件”的任务项目从与任务管理器112分开的电子邮件应用程序被创建。电子邮件应用程序可以激活任务管理器112的api调用以创建其操作是发送电子邮件的任务项目,其中操作包括包含电子邮件地址和主题的有效载荷。

定制列表

正如上述,定制列表是三种主要类型的列表之一,其包括内置列表和智能列表。如上指示的定制列表的示例包括杂货列表570和待购列表580(在图5a中引用)。图12描绘可响应杂货列表570的用户选择而被生成的视图1200。视图1200包括六个数据项,每个数据项描述将要购买的不同的杂货项目。这些数据项中的每一个可以是仅仅具有说明的任务项目。数据项可以基于来自nlp服务132的输入与杂货列表相关联。例如,nlp服务从设备110接收反映用户命令“从商店购买面包”的语音数据。nlp服务132确定设备110的用户预期从杂货商店购买新鲜面包并且将“新鲜面包”与杂货类别相关联。作为响应,nlp服务132将创建包括说明“新鲜面包”并与杂货类别相关联的任务项目的创建任务项目命令发送到任务管理器112。作为响应,任务管理器112创建任务项目并且将任务项目与任务管理器112维持的杂货列表相关联。

图13描绘另一种类型的定制列表的视图1300:用户定义的列表。该用户定义的列表名称为“不易克服的困难计划”并且包含三个任务项目,其中第一个任务项目与操作(即,呼叫)和背景触发器(例如,“在汽车中”或“当驾驶时”)相关联。设备110的用户可以“手动地”将任务项目与用户定义的列表相关联。例如,在任务管理器112创建任务项目之后,用户选择该任务项目并且经由在设备110上显示的一个或多个可选择的(例如,菜单)选项选择特定的用户定义的列表,这使得任务管理器112将任务项目与特定的用户定义的列表相关联。

另选地,nlp服务132可以基于从设备110接收的输入数据(无论语音还是文本)确定具体的列表使其与任务项目相关联。例如,语音数据可以反映用户命令“我需要为不易克服的困难计划写提议”。nlp服务132确定“写提议”是任务并且“不易克服的困难计划”是任务管理器112可以已创建或可以未创建的列表的名称。nlp服务132然后将说明(“写提议”)和待创建任务项目可被添加到其中的可能列表的名称(“不易克服的困难计划”)发送到任务管理器112。任务管理器112确定是否存在具有与“不易克服的困难计划”相同或类似的名称的列表。如果有,则任务管理器112创建新的任务项目并且将该任务项目与该列表相关联。如果无,则任务管理器112用该名称创建新的列表创建新的任务项目并且将该任务项目与新的列表相关联。

列表和备注

正如上述,列表可以包含不是任务的项目。此类“非任务”被称为“备注”,其仅由说明组成。图14描绘最喜爱的葡萄酒列表的视图1400,该视图1400包含六个备注,每个备注是指不同的葡萄酒。

另外正如上述,nlp服务132可被配置为识别列表名称使得任务管理器112可以容易地将任务和备注分配到适当的列表。

日历事件

在一个实施例中,在日历应用程序的背景中创建的日历事件被用于创建由任务管理器112管理的任务项目。日历应用程序可以是任务管理器112的一部分或可以单独执行应用程序。例如,日历应用程序可被配置为将新创建的日历事件发送到任务管理器112,例如,经由使得任务管理器112基于日历事件的细节创建任务项目的一个或多个api调用,诸如说明、日期、位置(如果有的话)、持续时间(如果有的话)和提醒(如果有的话)。另选地,任务管理器112可提供允许用户查看日历并创建与具体的日期和时间或一组日期相关联的事件的日历服务。在创建事件时,任务管理器112还创建用于该事件的任务项目。

图15描绘基于日历事件生成的任务项目的视图1500。任务项目包括四个数据项:说明(“与elizabethreid吃午餐”)、开始时间(“今天下午12:00”)、持续时间(“1小时”)和提醒(“10分钟之前”)。四个数据项的任一个的选择可以允许设备110的用户编辑对应的数据项。在一个实施例中,如果对基于日历事件生成的任务项目做出改变,则该改变是“被推入”由日历应用程序管理的日历事件中。

在这两种情况下,如果由日历服务创建和维持的日历事件与位置相关联,则基于该日历事件生成的任务项目也可与位置相关联。在这种情况下,任务管理器112可自动地将该任务项目与位置列表诸如在图10a的视图1000中的位置列表相关联。

组合

虽然前述说明包括四个主要方法(生成任务项目、组织任务项目、触发通知和消耗任务项目),但这些方法中的每一个可以单个地实现或可以一起使用,如在许多示例中指示的。例如,自然语言处理可用于生成任务项目,但是没有使用用于处理任务项目(即,组织任务项目、触发通知和消耗任务项目)的如本文所述的方法。又如,自然语言处理可用于生成任务项目并且用于组织如本文所述的任务项目的方法可以被使用,但没有使用用于触发通知并且消耗如本文所述的任务项目的方法。又如,没有使用用于生成和组织任务项目并且触发通知的方法,但用于消耗如本文所述的任务项目的方法被使用。

硬件综述

根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以便执行该技术,或可包括数字电子设备诸如被持续编程以执行该技术的一个或多个专用集成电路(asic)或现场可编程门阵列(fpga),或可包括被编程以按照固件、存储器、其他存储装置或组合中的指令执行该技术的一个或多个通用硬件处理器。此类专用计算设备还可将定制的硬连线逻辑、asic或fpga与定制的编程组合以实现技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或组合硬连线和/或程序逻辑以实现该技术的任何其他设备。

例如,图16是例示计算机系统1600的框图,本发明的一个实施例可以据此实现。计算机系统1600包括总线1602或用于传递信息的其他通信机构,和与总线1602耦合用于处理信息的硬件处理器1604。硬件处理器1604可以是例如通用微处理器。

计算机系统1600还包括耦合到总线1602用于存储信息和将由处理器1604执行的指令的主存储器1606,诸如随机存取存储器(ram)或其他动态存储设备。在将由处理器1604执行的指令的执行期间,主存储器1606还可用于存储临时变量或其他中间信息。此类指令在被存储在处理器1604可访问的非暂态存储介质中时使得计算机系统1600成为被定制以执行在指令中指定的操作的专用机器。

计算机系统1600还包括只读存储器(rom)1608或耦合到总线1602以用于存储处理器1604的信息和指令的其他静态存储设备。存储设备1610诸如磁盘或光盘被提供并耦合到总线1602以用于存储信息和指令。

计算机系统1600可以经由总线1602耦合到显示器1612,诸如阴极射线管(crt),以用于将信息显示给计算机用户。包括数字字母混合和其他按键的数字字母混合输入设备1614可耦合到总线1602用于向处理器1604传递信息和命令选择。另一种用户输入设备是光标控件1616,诸如鼠标、轨迹球或光标方向键,用于向处理器1604传递方向信息和命令选择以及在显示器1612上控制光标移动。该输入设备通常具有在两个轴线上的自由度,第一轴线(例如,x)和第二轴线(例如,y),其允许设备指定平面中的位置。

计算机系统1600可以使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或与计算机系统结合使得计算机系统1600成为或将其编程为专用机器的程序逻辑来实现本文所述的技术。根据一个实施例,本文的技术响应于处理器1604执行被包含在主存储器1606中的一个或多个指令的一个或多个序列而由计算机系统1600执行。此类指令可以从另一个存储介质被读入主存储器1606,诸如存储设备1610。被包含在主存储器1606中的指令的序列的执行使得处理器1604执行本文所述的工艺步骤。在另选的实施例中,硬连线电路可以取代或结合软件指令使用。

如本文所用的术语“存储介质”是指存储数据和/或使得机器以具体的方式操作的指令的任何非暂态介质。此类存储介质可包括非易失性介质和/或易失性介质。非易失性介质包括例如光谱或磁盘,诸如存储设备1610。易失性介质包括动态存储器,诸如主存储器1606。存储介质的常见的形式包括,例如,软盘、软磁盘、硬盘、固态驱动器、磁带,或任何其他磁测数据存储介质、cd-rom、任何其他光学数据存储介质、具有孔排列模式的任何物理介质、ram、prom和eprom、flash-eprom、nvram、任何其他存储器芯片或盒。

存储介质不同于传输介质但是可以结合传输介质使用。传输介质参与传输存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具有总线1602的电线。传输介质可以还可以采取隔音或光波的形式,诸如在无线电波和红外光数据通信期间产生的那些。

介质的各种形式可以涉及将一个或多个指令的一个或多个序列传输到处理器1604以用于执行。例如,指令可以初始被承载在远程计算机的磁盘或固态驱动器上。远程计算机可将指令加载到其动态存储器中并且通过电话线使用调制解调器发送该指令。相对于计算机系统1600本地的调制解调器可以通过电话线接收数据并且使用红外光发射器将数据转化为红外光信号。红外光检测器可以接收在红外光信号中携带的数据并且适当的电路可将数据置于在总线1602上。总线1602将数据传输到主存储器1606,处理器1604从其中检索并执行指令。由主存储器1606接收的指令可在由处理器1604执行之前或之后任选地存储在存储设备1610上。

计算机系统1600还包括耦合到总线1602的通信接口1618。通信接口1618提供耦合到网络链路1620的双向数据通信,该网络链路被连接至本地网络1622。例如,通信接口1618可以是综合业务数字网(isdn)卡、缆线调制解调器、卫星调制解调器或将数据通信连接提供给对应的类型的电话线的调制解调器。又如,通信接口1618可以局域网(lan)卡,以便向兼容lan提供数据通信连接。无线链路也可被实现。在任何此类具体实施中,通信接口1618发送并接收携带表示各种信息类型的数字数据流的电信号、电磁信号或光信号。

网络链路1620通常通过一个或多个网络提供数据通信到其他数据设备。例如,网络链路1620可以通过本地网络1622向主计算机1624或由互联网服务提供方(isp)1626操作的数据设备提供连接。isp1626继而通过世界范围的分组数据通信网络(现在通常被称为“互联网”1628)提供数据通信服务。局部1622和互联网1628都使用承载数字数据流的电信号、电磁信号或光信号。通过各种网络的信号和在网络链路1620上并且通过通信接口1618的信号(其承载数字数据往返于计算机系统1600)是传输介质的示例形式。

计算机系统1600可以通过网络、网络链路1620和通信接口1618发送消息并接收包括程序代码的数据。在说明书示例中,服务器1630可通过互联网1628、isp1626、本地网络1622和通信接口1618传输所请求的代码用于应用程序。

所接收的代码可以在被接收时由处理器1604执行,和/或存储在存储设备1610中,或存储在非易失性存储装置中用于稍后执行。

根据一些实施例,图18示出根据如上所述的本发明的原理进行配置的电子设备1800的功能框图。设备的功能块可由硬件、软件或硬件和软件的组合来实现,以便实行本发明的原理。本领域的技术人员应当理解,图18中描绘的功能块可被组合或分成子块,以便实现如上所述的本发明的原理。因此,本文中的描述可支持本文所述的功能块的任何可能的组合或分离或进一步限定。

如图18所示,电子设备1800包括被配置为接收用户输入的输入接收单元1802和被配置为显示信息的显示单元1804。在一些实施例中,输入接收单元1802被配置为接收语音输入。电子设备1800还包括耦合到输入接收单元1802和显示单元1804的处理单元1806。在一些实施例中,处理单元1806包括生成单元1808、显示器启用单元1810、执行单元1812、标记单元1814、检测单元1816和确定单元1818。

所述处理单元1806被配置为:从用户接收(例如,从输入接收单元1802)指定任务的一个或多个属性的输入;并且基于该输入生成(例如,用生成单元1808)任务项目,其包括识别将由电子设备执行的与任务相关联的操作。处理单元1806还被配置为允许在任务列表中显示(例如,用显示允许单元1810)任务项目和相关联的激活区域。处理单元1806被进一步配置为:接收(例如,用输入接收单元1802)激活区域的用户选择;以及响应于接收激活区域的用户选择来执行(例如,用执行单元1812)操作。

在一些实施例中,激活区域与任务项目的标题重叠。在一些实施例中,激活区域与任务项目的说明重叠。在一些实施例中,激活区域与图形对象重叠。

在一些实施例中,图形对象紧邻任务项目的标题显示。在一些实施例中,图形对象紧邻任务项目的说明显示。

在一些实施例中,处理单元1806被进一步配置为响应执行操作,将任务项目表示(例如,用标记单元1814)为完成。

在一些实施例中,处理单元1806被进一步配置为:允许提示请求许可的显示(例如,用显示允许单元1810)以执行操作;并且从用户接收(例如,从输入接收单元1802)许可输入。

在一些实施例中,任务项目不与确定何时触发通知以完成所述任务的触发标准相关联。在一些实施例中,任务项目不与指示所述操作何时被执行的触发标准相关联。

在一些实施例中,操作是使得电子邮件或文本消息通过网络被发送到与任务项目相关联的接收人。在一些实施例中,操作是显示文本撰写区域,并且其中由用户输入到文本撰写区域中的文本作为电子邮件或文本消息被发送到与任务项目相关联的接收人。在一些实施例中,操作是发起对与电话号码相关联的设备的电话呼叫,该电话号码与任务项目相关联。在一些实施例中,操作是基于搜索查询或与任务项目相关联的url发起搜索。

在一些实施例中,使得操作执行包括第一进程使得第二进程执行第一操作。在一些实施例中,第一进程使得第二进程执行操作包括第一进程激活第二进程的api调用,其中api调用包括与任务项目相关联的一个或多个属性。

在一些实施例中,输入发起任务项目的产生(例如,利用生成单元1808)并且包括识别与任务相关联的操作的数据。在一些实施例中,输入基于在手持设备接收的语音输入(例如,来自输入接收单元1802)。

在一些实施例中,处理单元1806被进一步配置为:检测(例如,用检测单元1816)与操作的执行相关联的一个或多个事件;并且确定(例如,用确定单元1818)一个或多个事件是否满足指示操作已被完成的一个或多个条件。

在一些实施例中,操作是发送电子邮件,并且在确定电子邮件已经由电子设备发送时一个或多个条件被满足。在一些实施例中,操作是发起电话呼叫,并且在接收到电话呼叫发起请求时一个或多个条件被满足。在一些实施例中,操作是发起电话呼叫,并且在检测电话呼叫连接事件时一个或多个条件被满足。在一些实施例中,在检测到为电话呼叫的特性的语音输入时一个或多个条件被满足。

在一些实施例中,处理单元1806被进一步配置为:检测(例如,用检测单元1816)与无法执行该操作相关联的一个或多个事件;并且确定(例如,用确定单元1818)一个或多个事件是否满足指示操作还未完成的一个或多个条件。

在一些实施例中,在电子设备上接收到对控制元件的用户选择时一个或多个条件被满足。在一些实施例中,控制元件选自:触摸屏的激活区域;电源按钮;控制按钮;以及开关。在一些实施例中,操作是发起电话呼叫,并且在激活区域的选择之后在预先确定的时间内在检测到语音输入时一个或多个条件被满足。

在前述说明书中,本发明的实施例已经参考许多可以随着实现的不同而改变的具体细节描述。因此,说明书和附图应被视为是例证性的而非限制性的。本发明的范围的唯一和排他性的指示以及被发明人预期为本发明的范围的内容是从本专利申请发布的一套权利要求书的字面和等效的范围,其采用此权利要求书发布的具体形式,包括任何后续的校正。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1