统一呈现根据上下文连接的信息以改善用户的效率和交互绩效转让专利

申请号 : CN201580010181.9

文献号 : CN106062790B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : Q·陆D·L·康奈尔D·沙基卜W·H·盖茨

申请人 : 微软技术许可有限责任公司

摘要 :

一种统一体验环境,其支持收集并且使用上下文元数据以根据信息的对于用户的当前上下文的相关性来对信息进行关联的机制。环境数据收集器获得与用户对数据的创建、编辑或消费相一致的、上下文的以及活动的信息,并将该信息与这样的数据关联作为上下文元数据。上下文生成器使用上下文元数据来对数据之间的关系进行识别,并使得能够将与用户的当前上下文相关的数据前摄呈现。前摄呈现包括上下文面板,其以独立于应用的方式二者择一地可显示和可隐藏;以及统一活动推送,其包括由相互关联引擎识别出的相互关联数据分组,所述相互关联引擎包括一个通用的、跨应用的相互关联引擎以及多个个体的、应用专用的相互关联引擎,其通过数据相互关联接口交换信息。上下文面板和统一活动推送使得用户能够更高效地访问数据,并增进用户与计算设备进行交互的绩效。

权利要求 :

1.一种用于呈现根据上下文连接的信息的系统,所述系统包括:

一个或多个处理单元;

显示设备,其通信地耦合到所述一个或多个处理单元;以及

一个或多个计算机可读存储介质,其通信地耦合到所述一个或多个处理单元,所述一个或多个计算机可读存储介质包括计算机可执行指令,所述计算机可执行指令当由所述一个或多个处理单元执行时使得所述系统执行包括以下的步骤:由在所述系统上执行的第一应用访问第一数据,所述第一数据具有与其对应的第一上下文元数据,所述第一上下文元数据包括表示与对所述第一数据的创建或编辑相一致地发生的活动的环境数据;

由所述第一应用向第二应用的数据相互关联接口发送请求,所述请求提供所述第一上下文元数据;

响应于经由所述第二应用的所述数据相互关联接口接收到所述请求,由所述第二应用搜索其它上下文元数据,以识别在所述第一上下文元数据和不同的第二上下文元数据之间的关系;

由所述第二应用获得与所述第二上下文元数据对应的第二数据;以及

在所述显示设备上物理生成图形用户接口,包括:

主要内容区域,其包括所述第一数据的至少一部分的显示;以及

视觉上邻近所述主要内容区域的上下文面板,所述上下文面板包括第一用户接口元件,所述第一用户接口元件表示所述第二数据,所述第一用户接口元件是用户能够选择以访问所述第二数据的;

其中,所述第一应用是指向消费所述第一数据的专用应用,所述第二应用是指向消费所述第二数据的专用应用,由此导致断裂的数据消费范例。

2.根据权利要求1所述的系统,其中,所述图形用户接口还包括第二用户接口元件,所述第二用户接口元件在所述图形用户接口内被显示在所述上下文面板外部但与所述上下文面板视觉连接;以及其中所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:检测指向所述第二用户接口元件的用户动作;以及,响应于所述检测,在所述图形用户接口中以多种不同方式显示或隐藏所述上下文面板。

3.根据权利要求1所述的系统,其中,所述上下文面板的内容是用户可修改的;并且其中所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:检测用户动作,所述用户动作包括从所述主要内容区域到所述上下文面板的拖曳动作;以及更新所述图形用户接口以包括经更新的上下文面板,所述经更新的上下文面板现在包括表示所述第一数据的第二用户接口元件。

4.根据权利要求1所述的系统,其中,所述第二数据是文档,并且所述第一用户接口元件是表示所述文档的图形图标;并且其中所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:检测指向所述图形图标的用户动作;响应于所检测的用户动作,访问所述第二数据;以及更新所述图形用户接口以包括经更新的主要内容区域,所述经更新的主要内容区域现在包括对所述文档的至少一部分的显示。

5.根据权利要求1所述的系统,其中,所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:在所述访问之前,在所述显示设备上物理生成第二图形用户接口,所述第二图形用户接口包括:统一活动推送,其包括被空间彼此视觉分离的多个区别视觉元件,每个区别视觉元件被所述空间环绕,所述多个区别视觉元件包括:第一区别视觉元件:

第二区别视觉元件,其在视觉上邻近所述第一区别视觉元件水平地放置;

第三区别视觉元件,其在视觉上邻近所述第一区别视觉元件垂直地放置;

其中,每个区别视觉元件表示区别的相互关联数据分组,每个区别视觉元件包括多个拼贴接口元件,所述多个拼贴接口元件包括:第一拼贴接口元件;

第二拼贴接口元件,其在视觉上邻近所述第一拼贴接口元件水平地放置;以及第三拼贴接口元件,其在视觉上邻近所述第一拼贴接口元件垂直地放置。

6.根据权利要求5所述的系统,其中,所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:检测指向滚动所述统一活动推送的用户动作;

响应于检测到指向滚动所述统一活动推送的用户动作,更新所述第二图形用户接口,从而所述多个区别视觉元件全部响应于滚动所述统一活动推送而一起移动;

检测指向在所述第一区别视觉元件内的滚动的用户动作;以及

响应于检测到指向在所述第一区别视觉元件内的滚动的用户动作,更新所述第二图形用户接口,从而所述第一区别视觉元件的多个拼贴接口元件在所述第一区别视觉元件内一起移动,不包括在所述统一活动推送中的所述多个区别视觉元件中的其它区别视觉元件的移动,并且不包括在所述多个区别视觉元件中的其它区别视觉元件中的多个拼贴接口元件的移动。

7.根据权利要求5所述的系统,其中,所述计算机可读存储介质进一步包括当被所述一个或多个处理单元执行时使得所述系统执行包括以下的进一步的步骤的计算机可执行指令:确定所述用户的当前上下文;

根据所确定的所述用户的当前上下文对所述多个区别视觉元件进行排名;

响应于所述排名,在所述统一活动推送内在视觉上布置所述多个区别视觉元件;以及随着所述用户的当前上下文改变,重复进行:所述确定所述用户的当前上下文、所述排名以及所述在视觉上布置。

8.根据权利要求1所述的系统,其中,所述图形用户接口还包括第二用户接口元件,所述第二用户接口元件在所述图形用户接口内被显示在所述上下文面板外部但与所述上下文面板视觉连接;所述第二用户接口元件是用户可动作的以触发在所述图形用户接口内对所述上下文面板的显示或隐藏。

9.根据权利要求1所述的系统,其中,所述上下文面板是基于所述用户的当前时间或当前位置在所述图形用户接口内自动显示的。

10.根据权利要求1所述的系统,其中,在所述第一上下文元数据和所述第二上下文元数据之间的关系是基于在所述第一上下文元数据和所述第二上下文元数据之间的等价性或相似性来识别的。

11.一种用于呈现根据上下文连接的信息的方法,所述方法包括:

由在计算设备上执行的第一应用访问第一数据,所述第一数据具有与其对应的第一上下文元数据,所述第一上下文元数据包括表示与对所述第一数据的创建或编辑相一致地发生的活动的环境数据;

由所述第一应用向在所述计算设备上执行的第二应用的数据相互关联接口发送请求,所述请求提供所述第一上下文元数据;

响应于经由所述第二应用的所述数据相互关联接口接收到所述请求,由所述第二应用搜索其它上下文元数据,以识别在所述第一上下文元数据和不同的第二上下文元数据之间的关系;

由所述第二应用获得与所述第二上下文元数据对应的第二数据;以及

由所述计算设备在通信地耦合到所述计算设备的显示设备上物理地生成图形用户接口,所述图形用户接口包括:主要内容区域,其包括所述第一数据的至少一部分的显示;以及

视觉上邻近所述主要内容区域的上下文面板,所述上下文面板包括第一用户接口元件,所述第一用户接口元件表示所述第二数据,所述第一用户接口元件是用户能够选择以访问所述第二数据的;

其中,所述第一应用是指向消费所述第一数据的专用应用,所述第二应用是指向消费所述第二数据的专用应用,由此导致断裂的数据消费范例。

12.根据权利要求11所述的方法,还包括:

由在所述计算设备上执行的统一活动推送组件从所述第二应用接收第一相互关联数据分组,所述第一相互关联数据分组包括所述第二数据和与所述第二数据相互关联的所述第一数据;

其中,所述上下文面板包括表示与所述第一数据相互关联的数据的用户接口元件,与所述第一数据相互关联的数据是被所述统一活动推送所选择的。

13.根据权利要求12所述的方法,还包括:

由所述统一活动推送组件从多个分离的应用接收多个分离的相互关联数据分组;以及由所述统一活动推送组件对所述第一相互关联数据分组和所述多个分离的相互关联数据分组进行排名。

14.一种计算机可读存储介质,其包括用于呈现根据上下文连接的信息的计算机可执行指令,所述计算机可执行指令当由计算设备执行时使得所述计算设备执行包括以下的步骤:由第一应用访问第一数据,所述第一数据具有与其对应的第一上下文元数据,所述第一上下文元数据包括表示与对所述第一数据的创建或编辑相一致地发生的活动的环境数据;

由所述第一应用向第二应用的数据相互关联接口发送请求,所述请求提供所述第一上下文元数据;

响应于经由所述第二应用的所述数据相互关联接口接收到所述请求,由所述第二应用搜索其它上下文元数据,以识别在所述第一上下文元数据和不同的第二上下文元数据之间的关系;

由所述第二应用获得与所述第二上下文元数据对应的第二数据;以及

在通信地耦合到所述计算设备的显示设备上物理生成图形用户接口,包括:主要内容区域,其包括所述第一数据的至少一部分的显示;以及

视觉上邻近所述主要内容区域的上下文面板,所述上下文面板包括第一用户接口元件,所述第一用户接口元件表示所述第二数据,所述第一用户接口元件是用户能够选择以访问所述第二数据的;

其中,所述第一应用是指向消费所述第一数据的专用应用,所述第二应用是指向消费所述第二数据的专用应用,由此导致断裂的数据消费范例。

说明书 :

统一呈现根据上下文连接的信息以改善用户的效率和交互

绩效

背景技术

[0001] 现代计算设备的用户已经习惯于可互换地使用多个不同计算设备,来完成不同任务或以协作方式完成单个任务。例如,用户可以在其台式计算机上开始编写文字处理文档,然后在其平板计算设备上完成编写文档。然而,当前范例是要开发用于专门的计算设备或计算设备类型的应用,并假定以设备为中心的世界。
[0002] 此外,计算设备的大多数用户当与计算设备交互并使用这些计算设备时关注在这种计算设备上安装的应用程序。更具体地,用户确定他们期望用计算设备执行的特定任务,然后还确定他们应该选择和交互安装于这种计算设备上的一个或多个应用程序中的哪个以完成这种任务。随着便于对应用程序进行购买和下载的操作系统平台的普及,用户的以应用为中心的观点只有可能会增长。

发明内容

[0003] 上文列举的以设备为中心的以及以应用为中心的观点与将计算设备作为“数字助理”的观念相反,并且将增加的负担放置在用户上,如果这种负担减少或消除则用户可以通过其计算设备完成更多的任务。事实上,真正的“数字助理”将为用户提供单个交互点,用户通过该单个交互点可以完成大部分他们力图使用其计算设备完成的任务,而不管他们使用哪个计算设备来执行这种任务。一旦用户确定他们希望执行哪个任务,则用户就能够开始执行任务,而无需进一步确定他们应该选择一个或多个应用程序中的哪个来执行这种任务,或者要在哪个计算设备上执行这种任务。由此,用户可以被解放,从而更多地以关注于任务而不是关注于应用或关注于设备的方式来行动,对此用户可以感到更为直观且较不复杂。
[0004] 为了促进以更自然的方式进行用户辅助,统一体验环境可以支持这样的机制:其收集并且使用上下文元数据,以根据信息的对于用户的当前上下文的相关性来对信息进行关联。统一体验环境可以支持环境数据收集器,环境数据收集器能够获得与用户对数据的创建、编辑或消费相一致的、上下文的以及活动的信息,并将该信息与这样的数据相关联作为上下文元数据。统一体验环境还能够支持上下文生成器,其能够使用上下文元数据来对数据之间的关系进行识别,并且使得能够将与用户的当前上下文相关的数据的前摄呈现(proactive presentation)。这种前摄呈现可以包括:上下文面板,其能够以独立于应用的方式二者择一地(alternatively)被显示和被隐藏;以及统一活动推送,其包括由一个或多个相互关联引擎识别出的相互关联数据分组,所述相互关联引擎包括一个通用的、跨应用的相互关联引擎以及多个个体的、应用专用的相互关联引擎,其能够通过数据相互关联接口彼此交换信息。上下文面板和统一活动推送单独地或一起地使得用户能够更方便且更高效地访问与用户当前上下文相关的数据,并通过使得用户能够在以任务为中心的范例内操作而不是如上所述的现有的应用专用的或设备专用的范例内操作,来增进用户与呈现这种用户接口的计算设备的交互绩效。

附图说明

[0005] 当结合附图时可以最好地理解后续具体实施方式,在附图中:
[0006] 图1是用于提供对根据上下文连接的信息(contextually  connected information)的统一呈现的示例性系统的框图;
[0007] 图2a和2b是用于获取上下文元数据并分别使用获取的上下文元数据来支持根据上下文连接的信息的统一呈现的示例性组件的框图;
[0008] 图3是提供根据上下文连接的信息的统一呈现的示例性用户接口的图;
[0009] 图4a和4b是用于提供根据上下文连接的信息的统一呈现的示例性组件的框图;
[0010] 图5是提供根据上下文连接的信息的统一呈现的另一示例性用户接口的图;以及[0011] 图6是示例性计算设备的框图。

具体实施方式

[0012] 为了便利于用户利用计算设备执行任务,统一体验环境可以在多个不同类型的计算设备硬件上操作和执行,并可以跨越用户将会使用的多种类型的计算设备。统一体验环境能够知道用户、其数据、其文档,并能够为用户提供上下文相关洞悉(contextually relevant insights),并为用户提供能够以上下文方式与设备进行交互的途径。因此,统一体验环境可以是独立于设备的服务层,其被构造在用户周围,并能够提供这样的机制:用户在执行任务时可以通过该机制与计算设备交互且从计算设备接收帮助。
[0013] 转向图1,在其中示出的示例性系统100为以下涉及统一体验环境的描述提供上下文,所述统一体验环境例如在图1的示例性系统100中示出的示例性统一体验环境140。在概念上,可以将用户与之经由计算设备交互的计算机可读数据划分为:与用户自身相关的数据、与用户所属的分组或组织相关的数据、以及用户可能在一些时间点希望消费或与之交互的其它数据。在图形上,对数据的这种划分以圆圈111、112和113的形式示出,其中最内的圆圈111可以表示“数字自身”、周围的圆圈112可以表示“数字组织”,以及最外的圆圈113可以表示“数字宇宙”。
[0014] “数字自身”(例如,在概念上由圆圈111涵盖的)可以是能够以用户的名义来管理的数据的整合(amalgamation),例如通过服务保持的来自多个计算设备的数据,该服务由用户例如经由网络通信可访问。这种数据包括由用户生成的数据,其可以以私密且安全的方式存储,从而其仅能由用户访问,或者由用户已经给予许可的其他人访问。另外,这种数据包括用户明确地或含蓄地定义的数据,例如用户设置、偏好、位置等。如图1所示的这种数据可以存储于用户存贮121中,该用户存贮可以表示能通信地耦合到用户正在使用的计算设备的各种存储设备,尤其是用户能够通过网络通信访问的存储设备,例如由数据存储服务(其正被用户使用以存储他们的数据)所维持的存储设备。类似地,“数字组织”(例如,在概念上由圆圈112涵盖的)可以是能够以定义的用户组(例如,公司、俱乐部、组织或其它类似用户组)的名义来管理或维持的数据的整合,其中对这种数据的访问通常仅限于在定义组中的那些用户。正如“数字自身”,这种数据可以由服务(由组成员例如经由网络通信访问)保持,用于多个计算设备。这种数据可以包括由公司或商业环境中的同事、家庭环境中的家庭成员、社交网络环境中的同侪等生成的数据。如图1所示,将“数据组织”包括在内的数据可以存储于生产力存贮122中,该生产力存贮可以是用户将从中访问这种“数字组织”数据的任何存储设备或服务。例如,生产力存贮122可以是联网文档共享服务、集中式文档管理系统、分布式文档同步系统,或其组合。
[0015] 公共可用数据可以通过在概念上由图1的圆圈113涵盖的“数字宇宙”来表示。如图所示,这种数据通常通过搜索引擎访问,因此,可以被索引作为搜索存贮123、实体存贮124、或其它类似数据库或索引的一部分。虽然这种数据通常通过超媒体文档表示,但是并不限于此,并且可以是来源于用户或用户所属分组的外部的任何数据,其可呈现给用户或由用户消费。
[0016] 统一体验环境140可以促进执行数字活动131,其使用、生成或消费被圆圈111、112和113概念化的数据。更具体地,在一个实施例中,统一体验环境140可以对功能进行校勘(collate)和输出(export)或者提供访问,所述功能包括合约/动作功能141、上下文功能142、自然交互功能143、数据/活动连接功能144和支持功能145。
[0017] 合约/动作功能141可以支持用户藉以使用计算设备执行有用动作的应用程序的或其它类似的“体验端点”的各种能力。这样,术语“合约”可以指的是在用户与应用程序或服务之间的明确或含蓄的协定,即对应用程序或服务提供给用户的功能或特征进行定义。因此,合约/动作功能141可以包括接口、数据结构、以及计算机可执行指令,其能够被体验端点利用来以用户的名义或响应于用户请求来执行动作。
[0018] 上下文功能142可以表示这样的机制,通过该机制,用户的上下文和用户正在执行的任务以这样的方式被理解,以使得在任务执行中用户能以更准确和更有帮助的方式得到辅助。上下文功能142可以包括指向捕捉上下文信息(包括环境信息)的功能,并随后使用这种上下文信息。可以被捕捉并随后使用的上下文信息可以包括用户与当前任务并发执行的、或在包括当前任务的时间段期间执行的活动,执行任务的一天中的时间(time of day),执行任务的方式,以及其它类似上下文信息。环境信息还可以提供上下文信息,并可以是上下文功能142的一部分。例如,环境信息可以包括用户在特定时间点的地理位置,在该时间点被发现接近于用户的其他用户或其它计算设备,在所述时间点的各种计算设备的硬件状态,以及其它类似环境信息。
[0019] 自然交互功能143可以表示这样的功能:用户能够藉以更加以人为中心地与计算设备进行交互。更具体地,用户当前藉以与计算设备交互的机制通常包括用户不用于与任何其他人或物进行交互的接口。自然交互功能143可以包括使得用户能够以更以人为中心的方式与计算设备交互的能力,例如通过讲出命令,将信息以语音回复用户,将计算设备图像“示出”以传达含义,以及其它类似的更以人为中心的接口。这样,自然交互功能143可以包括自然语言识别能力,以及利用自然语言功能通信回复用户的能力,光学字符识别功能(通过其可以解释数字图像的内容),以及能够利用计算设备促进更自然交互的其它类似能力。
[0020] 数据/活动连接功能(data/activity connections functionality)144可以表示用户与计算设备的交互中的那些是瞬态的且通常不被保持的方面。更具体地,用户与计算设备的交互通常包括大量的(substantial)来回通信,其中典型地,仅保留这种通信的结果。数据/活动连接功能144可以表示基于且指向将在用户和计算设备之间的这种来回交互进行保留的能力。例如,数据/活动连接功能144可以包括对信息的捕捉和利用,所述信息例如:用户的搜索历史,用户访问、创建或修改的文件的有序列表,用户自动校正的词语,用户在长期时间段内打开的文件夹或数据存贮,用户电子邮件查看历史,以及表示用户与一个或多个计算设备交互的瞬时方面的其它类似数据,包括与不同计算设备的交互模式,例如包括所使用的具体计算设备的位置、使用具体计算设备的一天中的时间以及其它类似交互模式。
[0021] 支持功能145可以表示后勤功能(logistical functionality),其包括自动备份功能、误差校正和冗余功能、性能优化功能、硬件支持、及驱动器功能,以及其它类似功能。如图1的系统100所示,统一体验环境140可以是可以在可以促进在计算设备硬件上执行计算机可执行指令的一个或多个操作系统上或其它类似的执行支持平台上执行的层,并且因此,统一体验环境140可以提供通过在特定操作系统中整合现有支持功能来提供支持功能
145,在所述特定操作系统上利用可以外部提供或独立提供的支持功能对统一体验环境140分层。
[0022] 如图1的示例性系统100中的层图所示出的,统一体验环境140可以是在操作系统/平台层152和体验端点层151之间的层,其可以包括应用程序、超媒体文档以及用户用以直接交互的其它类似机制。在一个实施例中,统一体验环境140是独立于操作系统以及平台的,且被设计为在任意计算设备硬件上执行。因此,计算设备层153可以包括各种不同类型的计算设备,例如,膝上型计算设备、台式计算设备、智能手机计算设备、平板计算设备、以及智能可穿戴设备(例如,智能手表、智能眼镜、智能传感器等),其可以包括专用计算设备和通用计算设备。类似地,为统一体验环境140提供支持的操作系统/平台层152可以包括提供相关执行支持的任意操作系统和平台,包括最常用的多种操作系统和平台。
[0023] 统一体验环境140的功能的描述性的但是严格地说是示例性的方面,可以通过引用用户利用计算设备执行的示例性普通任务来描述。例如,在其计算设备上执行记笔记任务的用户可以通过统一体验环境140所支持的机制而在进行这种任务时得到帮助。自然交互功能143可以使得用户能够拍照,并以用户的名义从照片中识别信息。因此,例如,如果用户想要看到用户感兴趣的事件(event)的印刷广告,则用户可以简单地对这种印刷广告拍照,并且自然交互功能143将识别这种印刷广告的相关方面,例如,所述印刷广告包含为事件指定特定日期和时间以及特定地点的文本。类似地,文本功能142可以识别印刷广告是用于事件的,而不是用于例如产品或服务的。因此,通过简单地对印刷广告拍照,用户可以将相关信息自动输入到其计算设备中,例如,特定日期和时间的日历事件并指定特定位置。
[0024] 作为另一个例子,在其计算设备上执行内容创建任务的用户可以通过由统一体验环境140支持的机制而在进行这种任务时得到帮助。例如,数据/活动连接144可以包括对特定主题的近期研究,其与上下文功能142组合可以被用来识别用户当前关注的具体企划(project),而不要求用户明确识别这样的企划或者甚至将这样的企划更明确地描绘作为藉以对信息进行组织或分类的种类或结构。通过这种自动导出的上下文信息,机制可以被自动调用以在相关内容创建中帮助用户。例如,当用户试图创建新的文字处理文档时,可以基于识别用户可能当前关注于这样的企划,而自动调用与具体企划相关联的文档的模板。
[0025] 通过对来自先前迥然不同的来源的信息以及先前被简单地丢弃或忽视的信息进行汇总,统一体验环境140可以使得计算设备的用户能够关注于任务完成而不是关注于应用程序接口,并由此能够使得这样的用户更多产并更快速地完成更多任务。通过统一体验环境140提供的帮助的范围可以是深远的。例如,用户可以接收来自同事的接收电子邮件,该电子邮件通知该用户:由该用户的公司所设计的设备中的一个部件发生故障。倘若用户识别在外国的替换部件,并发起与这种部件的供应者进行的音频或视频通信,统一体验环境140可以支持藉以自动识别这样的供应者的语言并自动应用计算机翻译的机制,从而在音频或视频通信期间,每一方可以以其母语讲话,并使得其通信被自动翻译。
[0026] 类似地,继续上述例子,当用户将其发现通信回复其同事并建议与团队的其余人进行会议时,统一体验环境140可以支持这样的机制:通过该机制自动识别企划的身份以及因此识别相关团队及其成员的身份,自动识别到用户所引用的时间时为可用的会议室,以及以用户的名义自动生成会议邀请。当用户进入这样的会议室时,统一体验环境140可以支持这样的机制:通过其可以自动辨识视频呈现仪器的存在,并且将视频呈现仪器通信地与用户的计算设备耦合,从而呈现可以立即开始。另外,统一体验环境140可以支持这样的结构:通过其可以检测到用户同事的存在,并且基于会议邀请中的关键字以及同事的存在,可以使得相关文件材料对用户可用,而无需用户必须对相关文件材料进行明确地搜索。
[0027] 如通过上述描述和例子所示出的,统一体验环境140可以支持在用户和用户试图使用的任意计算设备之间的更自然的、关注于任务的接口。在一个实施例中,统一体验环境140可以支持自动呈现与用户当前正在执行的任务相关的信息,包括自动选择和向用户呈现各种建议、文档、事件、通信、实体、其他用户、收集,以及能够帮助用户执行他们当前关注的任务的任意其它数据。在另一实施例中,统一体验环境140可以支持将信息自动组织、校勘并向用户呈现,由此自动组织用户的整个数字生活,包括文档、事件、通信、实体、其他用户、收集、以及由用户生成、由用户收集、由用户使用或者与用户相关联的任意其它数据。这样做,统一体验环境140可以将传统层级数据组织接口提炼出来(abstract away),使得用户能够访问用户的计算设备的相关数据以及相关功能,而非必须明确地组织并随后发现这样的数据,亦非必须明确地安装、管理和选择包括用于实现这样的功能的计算机可执行指令的一个或多个应用程序。
[0028] 转向图2a,示例性系统201示出了一个实施例,通过其可以保持上下文信息以供后续使用,例如用于促进上述机制和功能。如图所示,图2a的示例性系统201可以包括环境数据收集器组件210,其可以收集并保持环境数据,例如示例性环境数据231。“环境数据”是关于其内发生数据生成或数据修改事件的环境的数据。如下文更详细列出的,“环境数据”包括关于物理环境的数据,例如当前时间、地理位置、用户、设备或物理存在的实体和其它类似的物理环境属性;以及关于计算环境的数据,例如在计算设备上并发执行的活动,由用户进行的相关动作,如用户执行的搜索,用户打开的文档,用户交换的文本消息,以及其它类似计算环境方面。应用程序(如示例性应用220)可以生成数据(例如,示例性数据242),并可以将这些数据存储在数据存贮(例如示例性数据存贮250)中,如箭头232所示。示例性应用220可以是任意数据创建和/或数据消费应用,包括内容创建应用,例如文字处理器和电子表格应用,以及数字图像编辑应用、社交网络应用、电子邮件或个人信息管理应用、关系数据库应用,以及任意其它数据创建或数据组织应用。示例性应用220可以使得上文详述的统一体验环境的合约/动作功能141和自然交互功能143所支持的能力(capabilities)对用户可用。类似地,可以代表任意硬件数据存储设备或基于软件的数据存储服务的数据存贮250可以被统一体验环境的支持功能145所支持。
[0029] 在一个实施例中,环境数据收集器组件(例如,示例性环境数据收集器210)可以在等待用户批准之际生成环境数据,并可以如箭头231所示将这种环境数据与数据242以相关联的上下文元数据241的形式存储在数据存贮250上。更具体地,在一个实施例中,环境数据收集器组件(例如示例性环境数据收集器210)可以与先前所述的统一体验环境的上下文功能142接口,或是其一部分。在一个实施例中类似地,除了上下文功能142之外,或者作为替代,环境数据收集器210还可以与数据/活动连接功能144接口,或是其一部分。作为上下文功能142的一部分,环境数据收集器210可以对环境数据有访问权,环境数据例如:应用220生成数据242的时间,在其上执行应用220的计算设备或者用户通过其与应用220交互的计算设备(当应用220远离用户执行时,使得其生成数据242)的地理位置,在由应用220生成数据242时可能接近于用户的一个或多个用户,在所述时间可能接近于用户的设备,用户可能并发地执行的或时间上接近地执行的任意活动(例如搜索或其它数据消费或创建动作),用户或应用220可能访问的作为生成数据242的一部分的数据源,以及其它类似环境数据。类似地,环境数据收集器210可以作为数据/活动连接功能144的一部分对环境数据有访问权,环境数据例如:用户已经执行的与生成数据242的应用220有关的的搜索,用户已经查看的与生成数据242有关的数据或信息,数据242的部分可以是从中拷贝或粘贴而来的任何数据源,用户在数据242生成的同时可能参与的通信,例如聊天、文本消息、音频通信、视频通信等等,以及其它类似环境数据。
[0030] 另外,在一个实施例中,环境数据收集器210可以从也可以被同一用户并发地或在不同时间使用的其它计算设备获得数据。例如,上下文功能142可以提供如下事实的标记:例如用户的平板计算设备位于用户的膝上型计算设备附近,并且数据/活动连接144还可以提供如下标记,其指示当用户例如正在利用在用户的膝上型计算设备上的应用220来编辑呈现时,用户同时参与例如在用户的平板计算设备上的视频聊天。在这种例子中,关于在用户的平板计算设备上的这种视频聊天的信息可以是上下文元数据241的一部分,其可以由例如在用户的膝上型计算设备上执行的环境数据收集器210存储。在又一实施例中,环境数据收集器210可以在对服务进行代管的联网计算设备上执行,用户通过所述服务执行以下中的一者或两者:在用户的膝上型计算设备上编辑呈现,和/或在用户的平板计算设备上参与视频聊天。
[0031] 如所表示的,可以关于环境数据收集器210能够收集的环境数据的分类而向用户提供控制。这种控制可以是一般化的,例如二者择一地允许或不允许收集和存储环境数据。替代地,这种控制可以是具体的,由此使得用户能够描绘哪些类型的环境数据可以收集,可以将这种收集到的环境数据存储在何处,以及在什么条件下可以使用这种环境数据,例如通过上下文生成器260,如下文更详细描述的。另外,可以向用户提供何时收集环境数据的通知,或者向用户提供笼统地指示用户同意启用环境数据收集的通知。
[0032] 在一个实施例中,环境数据收集器210可以过滤收集的环境数据,并可以选择其中一个子集以作为与数据242相关联的上下文元数据241而保持。在这样的实施例中,对收集的环境数据进行过滤可以基于预定标准,所述预定标准可以表示收集的环境数据的相关性。例如,如果数据242是文字处理文档的一部分,则用户可能与对数据242进行的存储并发执行的搜索可能具有较大的相关性;而作为另一例子,如果数据242是用户拍摄的照片的一部分,则用户的地理位置或该用户附近的其他用户可以是更相关的环境数据。在另一实施例中,环境数据收集器210可以保持能够收集的所有环境数据,而不在存储于数据存贮250上之前过滤这种数据。
[0033] 如图2a的示例性系统201所示,由环境数据收集器组件210收集的一些或所有环境数据可以存储为与数据242相关联的上下文元数据241。虽然示出为单独的文件或类似的数据收集结构,但在另一实施例中,上下文元数据241可以存储为包含数据242的文件的一部分。另外,上下文元数据241可以保持为各种形式和格式,例如包括:“名称/值”的对、可扩展标记语言定义值、表格或数据库结构,以及其它类型形式。
[0034] 转向图2b,其中示出的示例性系统202示出了示例性机制,通过该机制,由环境数据收集器组件210所生成和存储的上下文元数据241可以随后例如由示出的示例性上下文生成器组件260使用。更具体地,应用220可以从数据存贮250读取数据,例如示例性数据242,如箭头272所示。如前所表示的,应用220可以是任何数据消费和/或数据创建应用,并可以由统一体验环境的合约/动作功能141和自然交互功能143支持。类似地,如前所述,数据存贮250可以由统一体验环境的支持机制145所支持。
[0035] 在一个实施例中,如箭头272所示,通过应用220对数据242的读取可以触发上下文元数据消费组件,例如图2b所示的示例性上下文生成器260,来使用与由应用220读取出的数据242相关联的上下文元数据241,并识别在这种上下文元数据241和上下文元数据的一个或多个其它收集(例如,示例性上下文元数据292、294和296)之间的关系,如识别关系动作281所示。在上下文元数据241和其它上下文元数据(例如,示例性元数据292、294和296)之间的关系可以基于识别出的相似性或相等性,例如在上下文元数据241和上下文元数据292、294和296之间的共享方面。例如,上下文元数据241、292、294和296的每一个可以包括上下文信息,所述上下文信息表示当生成与这样的上下文元数据对应的数据时用户处于相同的地理位置,例如用户的办公室。又例如,上下文元数据241、292、294和296的每一个可以识别当生成对应于这样的上下文元数据的数据时接近于用户的其他用户的相同收集。在另一实施例中,在上下文元数据241和其它上下文元数据之间的关系可以是基于启发式分析的,以识别其间的共同性或相似性。例如,在生成与上下文元数据292、294和296相关联的数据期间,用户可以被安排在涉及共同主题的会议中。
[0036] 在又一实施例中,可以将对现有识别出的关系的引用用作识别关系动作281的一部分。因此,例如,如果由统一体验环境支持的机制已经识别出用户正在对商业企划进行工作,以重新设计给定部件,并已经生成文件的收集,或与这样的企划相关联的其它类似数据构造,则由上下文生成器组件260执行的识别关系动作281能够在确定与上下文元数据292、294和296相关联的哪个数据和与上下文元数据241相关联的数据242相关时将这样的现有的结构和相互关联纳入考虑。可以通知关系动作281的识别的另一现有关系可以是基于共同用户使用的每个计算设备的计算设备间关系。因此,例如,如果用户拥有智能手机计算设备、平板计算设备、膝上型计算设备以及车内计算设备,则在那些计算设备上的任意一个或多个上的用户动作可以用作根据其生成上下文元数据(例如上下文元数据242、292、294和
296)的输入。此外,在那些计算设备的任意一个或多个上的用户动作还可以用作在上下文元数据242、292、294和296间识别关系之后的动因,如识别关系动作281所示出的。
[0037] 上下文元数据292、294和296中的每一个可以被识别为具有与上下文元数据241的关系,可以与数据的一个或多个收集(例如,示例性数据291、293和295)分别相关联。因此,在一个实施例中,上下文面板(例如,示例性上下文面板261)或其它类似的面向用户的功能可以被用户调用,以及响应于这种调用,与被视为与上下文元数据241相关的上下文元数据292、294和296相关联的数据291、293和295可以通过上下文生成器组件260向上下文面板
261提供,如箭头276所示。以这种方式,被确定为上下文相关于与和用户当前执行的任务相关联的数据的数据(例如,由应用220读取的数据242)可以被使得可用于帮助用户执行这种任务。例如,可以使得经由上下文面板261(将在下文详细描述)对用户可用的、上下文相关数据可以包括文档、图像、电子邮件消息、时间表事件、个体、实体、社交媒体发帖、收集(collection)和任意其它类似数据。
[0038] 转向图3,其中示出的示例性用户接口300示出了示例性实施例,通过该实施例,可以向用户呈现上下文相关数据,以帮助执行任务。在图3所示的实施例中,上下文相关数据可以呈现于上下文面板310内,其可以被用户例如经由用户接口元件311二者择一地(alternatively)显示和隐藏。在图3的示例性用户接口300内,由用户执行的任务可以被执行作为主要内容区域301的一部分。因此,例如,如果用户正在编辑文字处理文档,则这种文本文档可以在主要内容区域301内显示。上下文面板310然后可以呈现能够例如在编辑文字处理文档中帮助用户的上下文相关信息。在这种例子中,上下文面板310可以呈现文档,例如与用户当前例如通过指向同一主题而编辑的文本文档相关联的其它文本文档、照片、音频记录、视频、电子邮件或其它类似文档。上下文面板310还可以呈现视为上下文相关于用户当前编辑的文档的其它数据,例如与文档所指向的企划或主题相关的人们的联系人信息,看似已经讨论过文档内容的先前会议,包含指示与正在编辑的文档相关联的关键字或其它标记的电子邮件消息。
[0039] 在一个实施例中,上下文面板310可以是交互式的。例如,其中所呈现的信息可以由用户对之行动,以执行其它动作,例如生成会议邀请、发送文本消息、或搜索图像。又例如,用户可以向上下文面板310添加内容,例如,通过将这样的内容从主要内容区域301拖曳到上下文面板310中。类似地,用户可以从上下文面板310获得内容,以将用户当前在主要内容区域301中的当前正在执行的任务包括在内。因此,例如,如果上下文面板310包含于当前编辑的文档相关的文档收集,则可以通过简单地从主要内容区域301拖曳到上下文面板310,而将当前编辑的文档保存或至少与文档的那个收集相关联。又如,如果用户在主要内容区域301中编辑文档并需要包括来自由用户同事之一创建的相关呈现的图像,则用户将发现这种呈现已经在上下文面板310中呈现给该用户,例如图3中所示的示例性上下文面板
310中由拼贴331呈现的呈现。然后用户可以直接从上下文面板310打开这种呈现。又如,如果用户需要将图像或图形包括在主要内容区域301中用户正在编辑的文档中,这种图像或图形可以是在上下文面板310中呈现的文档之一,并且用户可以简单地将这种图像或图形直接从上下文面板310拖曳到在主要内容区域301中正在编辑的文档。以这种方式,上下文面板310可以前摄地(proactively)向用户提供与用户执行的任务上下文相关的信息和数据,用户可以使得所述信息和数据对于用户立即可用,由此使得用户能够更高效执行其任务,并保持关注于任务,而不是通过试图发现他们希望的信息而被分心。
[0040] 作为上下文用户接口元件的实用的另一例子,例如示例性上下文面板310,进入会议室以开始会议的用户可以例如在主要内容区域301中打开用户希望作为会议的一部分而呈现的文档。用户的位置、接近于这样的用户的其他用户的身份、用户的日历(指示当前时间的会议)以及其它类似环境数据,可以将在主要内容区域301中当前打开的文件与其它的相关于会议的或相关于企划的数据的收集相互关联,并且这样的文档和数据的收集可以在上下文面板310中等待用户,如前所表示的,用户可以二者择一地触发在示例性用户接口元件311内对所述上下文面板310的显示或隐藏。文档或其它相关内容的识别可以是拼贴的形式,例如图3中所示的示例性文档拼贴331和332。倘若用户希望在呈现期间呈现由拼贴331和332识别的文档之一,用户不需要浪费任何时间来发现这种文档,这是因为在一个实施例中可以直接通过上下文面板获得对这种文档的访问权,例如,通过点击、触摸、选择或以其它方式激活适当的拼贴,或以其他方式将用户动作指向它。
[0041] 在一个实施例中,例如示例性上下文面板310的上下文面板可以包括对用户的主动建议,包括对于执行其它任务的建议。例如,如图3的示例性用户接口300所示,可以例如经由建议拼贴320向用户呈现建议,通过建议拼贴320例如可以向用户呈现指示计算设备建立与用户目前位于的会议室中的投影仪的通信连接的建议。在一个实施例中,这种建议可以保留在上下文面板310中,并随后在确定它们不再是相关的时进行移除。在另一实施例中,可以向用户提供明确的选择或谢绝选项,例如示例性选项331和332。在这种实施例中,指向这种建议的用户动作可以是信息的另一来源,用于调谐选择将哪个建议表现给用户的机制。
[0042] 在一个实施例中,例如示例性上下文面板310的上下文面板可以包括对在执行用户的当前任务时可以与用户相关的任意数据的识别,所述数据包括例如:事件、收集、照片、音频记录、网页、社交网络推送、文本消息、实体、个体以及任意其它类似数据。例如,图3中示出的示例性上下文面板310包括对个人的呈现,例如由示例性拼贴300和349示出的,其可能已被确定为与由用户在主要内容区域301中正在执行的任务相关。如前所示,在一个实施例中,上下文面板340可以是交互式的,例如对人的识别,例如经由示例性拼贴340和349可以包括通信选项,如通信选项341、342和343,对其的选择可以触发经由从上下文面板310直接选择出的通信向量指向目标人的通信。
[0043] 例如示例性上下文面板310的上下文面板可以向用户提供视为与用户当前执行的任务上下文相关的信息、通知和选项,由此使得用户能够更高效地执行这种任务。在另一实施例中,文档的上下文分组、通知、电子邮件、人、照片、会议、社交网络推送、文本消息、实体、个体、网络内容、服务和其它类似数据可以用作默认接口,通过该接口,用户与其计算设备交互并访问由(用户通过这种计算设备可访问的)应用程序所提供的功能。更具体地,由统一体验环境所支持的机制可以前摄地组织并且持续地更新用于该用户的数字内容,以使得用户能够关注于任务而不是关注于内容的组织。
[0044] 转向图4a,其中示出的示例性系统401示出了用于根据确定出的相关性和相互关联来组织并且呈现内容的示例性实施例。初始地,将要被使得对用户可用的内容可以跨多个独立且分离的存贮或仓库(repository)来存储。因此,在示例性系统401中,以示例方式示出社交网络存贮411、文档存贮412和个人信息管理器存贮413。更具体地,社交网络存贮411可以表示与用户相关的数据和内容,其可以由现有的社交网络机制(例如基于网络的社交网络服务)来存储并通过其进行访问。类似地,文档存贮412可以表示由用户创建、由用户编辑或与用户相关的文档,其可以由协作文档管理和共享平台进行存储并通过该平台进行访问,并且个人信息管理器存贮413可以表示电子邮件、会议、日历事件、笔记以及可以通过个人信息管理器(例如,电子邮件程序)创建、存储和访问的其它类似数据。
[0045] 传统地,用户将会被要求使用不同的应用程序来访问例如社交网络存贮411、文档存贮412和个人信息管理器存贮413中的数据。因此,用户将不会是关注于任务的,而是关注于应用的,因为用户在能够访问在一个或多个各种不同数据仓库中的数据之前将会需要识别、定位并且调用正确的应用,所述不同数据仓库例如是图4a的系统401中示出的示例性社交网络存贮411、文档存贮412和个人信息管理器存贮413。作为对比,在一个实施例中,抽象层(例如,抽象层420)可以由经由统一体验环境而使得可用的功能来支持,并可以将来自多个不同源的数据抽象成单个抽象数据431,单个抽象数据431接下来可以被一起相互关联成到分组或收集,以便更优雅和高效地呈现给用户,从而使得用户能够保持关注于任务而不是关注于应用。
[0046] 在一个实施例中,抽象层(例如示例性的抽象层420)可以与一个或多个数据存贮接口,例如,示例性的社交网络存贮411、文档存贮412和个人信息管理器存贮413,并从其中提取本地格式(native format)的数据,例如由这样的存贮所保持的格式。因此,如图4a的示例性系统401所示,示例性抽象层420可以从社交网络存贮411获得数据421、从文档存贮412获得数据422以及从个人信息管理器存贮413获得数据423。
[0047] 另外,在一个实施例中,抽象层420还可以从统一体验环境的数据/活动连接功能144获得数据。如图4a所示,以及如前所述,数据/活动连接功能144可以使得可以变成抽象数据431的一部分的额外信息对抽象层组件420可用,所述额外信息例如:用户执行的在先搜索、文档、网页或用户查看的其它类似数据的收集、通信交换的抄本(如,A/V聊天)、用户中心接收到的文本消息、用户复制或粘贴的内容,以及通常不作为任意其它数据存贮的一部分来保存的其它类似数据。
[0048] 通过这种信息,抽象层组件420然后可以将其已经获得的数据(例如数据421、422和423)抽象成共同抽象数据431,其在一个实施例中可以使用共同格式。这种共同格式例如可以包括用于保持环境元数据或上下文元数据的数据结构,例如以上详细描述的。另外,这种共同格式可以包括这样的数据结构:通过该数据结构,可以保持原始数据,同时还可以包含生成的元数据并连同其一起保持。
[0049] 例如,来自社交网络存贮411的数据421可以包括由用户生成的或由与所述用户通过社交网络相关联的其他用户生成的图片。在一个实施例中,抽象层组件420可以使用统一体验环境所提供的自然交互功能143来执行光学字符识别或其它图像分析,从而根据这种图片生成元数据。例如,可以执行图像分析以识别在图片中示出的个人的人脸。在另一例子中,可以使用光学字符识别来检测在图片中的文本内容,例如,路标、建筑物名称、以及可以用于后续使得图片与其它相关数据相互关联的其它类似数据。由抽象层组件420生成的这种元数据可以是抽象数据431的一部分,正如原始图片可以是从社交网络存贮411获得的数据421的一部分。
[0050] 作为另一例子,来自文档存贮412的数据422可以包括文本文档(例如,文字处理文档),其由用户生成或者由与该用户以其他方式相关联的用户生成。在一个实施例中,抽象层组件420可以使用自然交互功能143来执行这种文档的启发式分析,以识别指向共同主题的文档。例如,回到上述例子,其中用户正在设计一个部件,启发式分析(例如由自然交互功能143所提供的)可以查找对部件设计、部件组件、具体部件命名法以及其它类似的启发式线索,通过其可以生成元数据,所述元数据识别可以是数据422的一部分的一个或多个文档的主题,所述文档通过抽象层组件420从文档存贮412处获得。抽象层组件420然后可以例如基于启发式分析将这种生成的原数据与文档本身一起保存,作为抽象数据431的一部分。
[0051] 在一个实施例中,生成抽象数据431(例如通过抽象层组件420)可以包括将数据重新格式化为更普遍或抽象的形式。例如,作为数据422的一部分从文档存贮412接收的文字处理文档可以被以包括原始文字处理文档的格式保存为抽象数据431,但也仅包括这种文档的文本内容,独立于任何格式或者在文字处理文档本身内的与这种文本内容交错的专用于应用的注释和信息。以这种方式,对于相互关联引擎(例如,示例性相互关联引擎430)来说,抽象数据431更容易被解析成和相互关联成数据分组。
[0052] 当抽象层组件420生成抽象数据431时,相互关联引擎组件(例如,示例性相互关联引擎组件430)可以将这种数据相互关联成相互关联数据分组441。在一个实施例中,相互关联引擎组件430可以引用元数据,其作为抽象数据431的一部分被保存,以识别在抽象数据431当中的相互关联。例如,可以通过相互关联引擎430使用对在若干文字处理文档中的每一个中具体关键字的存在进行指示的元数据,来确定这种文字处理文档中的每一个是指向共同主题的,且因此这种文字处理文档是相互关联数据分组的一部分,例如涵盖这种共同主题的示例性相互关联数据分组441。作为另一例子,可以通过相互关联引擎430使用指示了“文档是在与另一用户进行会议期间创建的”的元数据,以生成相互关联数据分组,其包括文档以及会议通知和这样的其他用户的信息,其他用户的信息例如可以作为数据423的一部分通过个人信息管理存贮413获得。
[0053] 相互关联数据分组441可以将最初通过抽象层420获得的任意数据包括到单个分组中。因此,例如,涵盖用户与其朋友进行的旅行的分组可以包括:关于这种旅行交换的电子邮件消息、在社交网站上发帖的来自这种旅行的照片、可以从在线旅游服务获得的旅行的行程、在旅行中伴随用户的朋友的信息、维护旅行成本的电子表单、用户就旅行执行的搜索,以及其它类似数据。如所见,相互关联数据分组不限于数据的具体类型或格式,而是涵盖所有可以作为具体主题或任务而被概念化的数据。以这种方式,相互关联数据分组441可以对于用户更直观。更具体地,用户通常将内容与在其内生成这种内容的上下文相关联。因此,对于人类用户,在旅行中拍摄的照片与旅行的行程相关联。相反地,对于当前现有的计算过程,这种照片将会是可以通过数字图像组织应用程序访问的,而旅行的行程则将会是可以通过在线旅游服务访问的,例如,通过web浏览器应用程序访问。这样,当前现有的计算过程迫使用户在原本会被概念化为“相关”的数据之间引入人工壁垒。为此,相互关联引擎430力图生成相互关联数据分组441,其把将会被用户概念化为“相关”的数据分类到一起。
[0054] 在一个实施例中,相互关联引擎430可以使用上下文功能142,例如作为上述统一体验环境的一部分而提供的。如图4a所示,上下文功能142可以使得相互关联引擎430能够获得并且引用信息,所述信息例如:当一组或多组数据被创建或修改时的时间、在这种数据被创建或修改时用户的地理位置、当这种数据被创建或修改时接近于用户的其他用户或设备、当所述数据被创建或修改的几乎同一时间时用户已经参与的其他活动、或者可以进一步使得相互关联引擎430能够识别数据当中的相互关联的其它类似环境信息或上下文信息。
[0055] 在一个实施例中,相互关联引擎430可以基于抽象数据431的首次通过(initial pass)来生成相互关联数据分组441。然后可以使用后续通过(subsequent pass)来确定相互关联数据分组是否能够被进一步细分,或者相反地,是否两个或更多相互关联数据分组可以组合到一起。在识别和创建数据分组时,相互关联引擎430可以使用启发式分析来区分例如用户到外国度假和用户到另一外国出差,或者区分用户的朋友和用户的家人。另外,当通过抽象层组件420获得新数据时,相互关联引擎可以连续地重新评估其分组或数据的收集,并可以适当地根据新接收到的数据将分组细分或者将多个分组组合到一起。
[0056] 一旦相互关联引擎430已经生成一组相互关联数据分组441,就可以将它们提供给统一活动推送组件440。在一个实施例中,统一活动推送组件440可以确定相互关联数据分组441的排序或排名,并可以经由在用户当前使用的无论什么计算设备上存在的用户接口硬件生成这种相互关联数据分组441向用户的呈现。在替代实施例中,可以通过相互关联引擎组件430执行这种排名。
[0057] 为了使用户能够从任何计算设备访问其数据,统一活动推送组件440可以以跨平台的方式实现,从而用户可被呈现以相互关联数据分组的等价组,而不管用户是使用例如其台式计算设备、其平板计算设备、其智能手机计算设备、其集成车载计算设备,或任何其它专用或通用计算设备。另外,统一活动推送组件440可以基于对底层数据(underlying data)的改变而不停地对相互关联数据分组441的呈现重新排序,所述改变例如是:在文档存贮412中保存的新文档,在个人信息管理存贮413中到达的新电子邮件消息,在社交网络存贮411中保存的新的社交媒体发帖,以及其它类似改变。统一活动推送组件440还可以基于用户的上下文和用户当前参与的任务,而对相互关联数据分组441的呈现进行重新排序。因此,例如,如果确定用户的上下文包括其在办公室的位置,则统一活动推送440可以呈现比与休闲活动相关的相互关联数据分组更高的与工作相关的相互关联数据分组。相反地,如果用户的上下文被确定为包括用户的在家中的位置,则统一活动推送440可以呈现与休闲活动相关的相互关联数据分组。作为另一例子,如果用户在家但是正对用于其职业的呈现进行工作,则统一活动推送组件440可以呈现既包括工作相关数据分组又包括休闲相关数据分组的相互关联数据分组。
[0058] 作为统一活动推送组件440的功能的一部分,统一活动推送组件440可以使用统一体验环境的合约/动作功能141或作为其一部分。类似地,统一体验环境的支持功能145可以被用来支持能够由抽象层组件420从中获得数据的各种数据存贮。
[0059] 转向图4b,其中示出的示例性系统402示出了替代实现方式,通过该实现方式,能够向用户提供统一活动。更具体地,示例性系统402包括来自社交网络存贮411的数据421,其由专用社交网络应用(例如,示例性社交网络应用451)消费。类似地,来自文档存贮412的数据422可以由专用文档创建/编辑应用452消费,并且来自个人信息管理器存贮413的数据423可以由专用个人信息管理器应用453消费。因此,在作为分别由指向消费这种数据的专用应用的应用451、452和453消费的数据421、422和423的范围内,示例性系统402呈现现有的、断裂的(fractured)数据消费范例。
[0060] 然而,在一个实施例中,一个或多个各种应用可以包括数据相互关联接口,例如示例性数据相互关联接口461、462和463,其可以使得那些应用能够获得来自其它应用的数据,并且由此独立地生成相互关联数据分组,例如示例性相互关联数据分组481、482和483。更具体地,在一个实施例中,个体应用(例如,社交网络应用451、文档创建/编辑应用452和个人信息管理器应用453)初始地可以将与这种应用程序相关联的数据421、422和423分别与一个或多个相互关联数据分组相互关联,例如示例性相互关联数据分组481、482和483。
随后,在这种实施例中,个体应用(例如,社交网络应用451、文档创建/编辑应用452和个人信息管理器应用453)可以使用数据相互关联接口来从其它个体应用请求额外数据。例如,如通信471所示,社交网络应用451可以经由其数据相互关联接口462将请求发送到文档创建/编辑应用452,请求文档创建/编辑应用452经由其数据相互关联接口462向社交网络应用451提供来自文档存贮412的文档,所述文档是由社交网络应用451根据来自社交网络存贮411的数据421生成的相互关联数据分组481的一部分。类似地,并如通信471所代表的,文档创建/编辑应用452可以将对应的请求经由其数据相互关联接口461发送给社交网络应用
451,请求社交网络应用451经由其数据相互关联接口462向文档创建/编辑应用452提供社交网络信息,如发帖、照片、消息和其它类似社交网络信息,其是由文档创建/编辑应用452根据来自文档存贮412的数据422生成的相互关联数据分组482的一部分。以类似的方式,如通信472和473所示,一个或多个个体应用可以从其它应用获得数据,所述数据可以用相互关联数据分组来分组,所述相互关联数据分组是由个体应用程序根据这样的应用程序本地指向的数据而生成的。
[0061] 以这种方式,个体应用程序(诸如社交网络应用451、文档创建/编辑应用452和个人信息管理器应用453)可以执行以上结合图4a所示的相互关联引擎430描述的相互关联和数据分组功能。另外,因为每个个体应用程序至少初始地在其本地数据上操作,所以抽象层组件420可能不是必需的。这样,如图4b的示例性系统402所示,各种个体应用程序(例如,社交网络应用451、文档创建/编辑应用452和个人信息管理器应用453)能够以如上所详述的方式利用由统一体验环境提供的上下文功能142、自然交互功能143和数据/活动连接功能144。
[0062] 在一个实施例中,如图4b的示例性系统402所示,个体应用中的每一个可以将其相互关联数据分组(例如,示例性相互关联数据分组481、482和483)提供给统一活动推送组件440,其操作已在上文详细描述。在这种实施例中,统一活动推送组件440可以优先化、组织和呈现来自由个体应用程序提供的个体相互关联数据分组481、482和483的相互关联数据分组的整合组。在替代实施例中,这种相互关联数据分组的优先化和组织,可以在将其呈现给统一活动推送组件440之前执行。例如,类似于通信471、472和473的通信可以在个体应用当中交换,以使得个体应用能够执行这种优先化和组织,然后将相互关联数据分组的统一收集提供给统一活动推送440。
[0063] 转向图5,其中示出的示例性用户接口500示出了一个示例性实施例,通过该实施例,可以将统一活动推送呈现给用户。如示例性用户接口500所示,可以将各种分组或收集(例如,收集510、530、540、550、560和580)视觉地呈现给用户,从而每个收集被呈现为分离的、有区别的、涵盖定义视觉区域的视觉元件。在一个实施例中,可以将对用户的当前任务或当前上下文最相关的收集呈现在示例性用户接口500的顶部,同时可以将其它收集呈现在示例性用户接口500的较下方,或者可以是尚不可见的且可能需要进行滚动。例如,示例性滚动运动590可以导致在视觉上定向的(visually oriented)收集看似向上或向下移动,如箭头591和592所示。以这种方式,可以通过“无限滚动”范例向用户呈现数据的多个收集,其中连续地地更低的相关收集要求渐增的向下滚动,以便使得它们在示例性用户接口500中可见。另外或替代地,用户接口500可以提供选择机制,包括对收集中的额外内容进行显示和选择,和/或对额外收集本身进行显示和选择,这服从具有非传统用户接口的计算设备,例如电视机或媒体中心计算设备、游戏控制计算设备、车内计算设备,以及可穿戴计算设备,例如智能手表计算设备和基于眼镜的计算设备。
[0064] 以类似方式,每个个体收集(例如,收集550)可以在这种收集中滚动,从而将数据的个体元件带入视野中。例如,示例性滚动运动570可能导致拼贴551、552、553、554、555和556在视觉上向上或向下移动,从而可以显示在示例性拼贴551、552、553、554、555和556之上或之下的其它拼贴,如箭头571和572所示。
[0065] 如前所述,数据收集可以呈现有关且相互关联的数据,例如包括文档、实体、会议、电子邮件、文本消息、个体、照片、搜索历史和任意其它数据。在一个实施例中,先前描述的机制可以自动生成用于数据收集的主题、用于数据收集中的个体条目的标记或标签,或其组合。在替代实施例中,可以向用户提供输入或修改这种主题、标记、标签等的机会,以更好适应用户的需求。对呈现于收集中的个体数据的视觉呈现,例如在示例性用户接口500所示出的实施例中,可以使用拼贴模体(tile motif)。因此,例如,示例性收集510可以包括可表示会议的拼贴511和512,可表示文档的拼贴513和514,可表示电子邮件的拼贴515,可表示即时消息通信会话的拼贴516,可表示个人的拼贴517,以及其它类似拼贴。
[0066] 在一个实施例中,为了访问任意所呈现的数据,用户可以将用户动作指向(例如示例性点击或触摸、选择或其它激活动作520)到代表用户希望访问的数据的拼贴,并且可以自动选择和调用适当的应用程序以例如查看、操纵或消费数据。以这种方式,示例性用户接口500可以是呈现给用户的主要用户接口,例如通过通信地耦合到用户当前使用的计算设备上的显示设备,因为用户不再需要维持层级文件组织,用户也不需要直接访问应用程序。
[0067] 如前所述,统一活动推送(如图5的示例性用户接口500中示出的)可以是动态的,从而可以根据那些收集中的活动以及用户的当前上下文,将收集(例如,示例性收集510、530、540、550、560和580)的排序在不同方向和位置重新排序和呈现。类似地,可以根据对这种收集的关联和用户的当前上下文,可以类似地在不同方向和位置重新排序和呈现代表收集内的数据的拼贴。例如,如果用户选择代表在收集的底部呈现的文档的拼贴,并忽视呈现在收集顶部的那些拼贴,则收集可以被动态重新分类,从而用户接下来可能选择的文档将视觉呈现在靠近收集的顶部。以这样的方式用户的滚动可以尽量减少,这是由于目标可以是向用户前摄地(proactively)呈现这样的排序:其不要求用户频繁滚动来发现他们所寻求的内容。
[0068] 统一活动推送还可以根据用户的上下文来修改其视觉外观和对用户的呈现。例如,如果用户的位置是在轿车中,则通过统一活动推送呈现给用户的移动计算设备可以呈现简化的统一活动推送,例如其一次仅呈现一个收集,这与图5的示例性用户接口500中呈现多个收集相反。在这种例子中,还在汽车中的驾驶员和乘员之间进行区别,并且驾驶员可以具有被选择用于与驾驶员接口的更适当的接口向量,例如,独占地利用语音接口,这与可能让驾驶员分心的视觉接口相反。类似地,虽然没有在图5的示例性用户接口500中具体示出,但是可以经由在收集中的拼贴或其它类似通知范例呈现通知,其也可以将用户的上下文和在统一活动推送中呈现的收集的排序纳入考虑。例如,如果以与用户在工作中的上下文一致的方式呈现统一活动推送,则可以向用户呈现基于工作的通知(例如,电梯之一不工作的通知)。用户上下文的预测方面还可以告知向用户呈现哪个通知。因此,例如,如果用户的上下文是在工作中,但是用户的日历表示在一个小时内开始家庭事件并且存在可能导致使用户通勤时间增加到大约一小时的交通状况,则通知可以被前摄地呈现以通知用户这种交通状况,并建议用户尽快离开以便不会迟到家庭事件。作为另一例子,如果以与用户在家中的上下文一致的方式呈现统一活动推送,则不需要呈现这种基于工作的通知,并相反,可以呈现例如与用户的社交生活相关的通知。
[0069] 以这种方式,统一活动推送可以提供单个参考点,通过其用户可以以关注于任务的方式访问其数字数据。此外,通过将用户的数字生活组织到收集中,用户的计算设备可以用作真正的“个人助理”。
[0070] 转向图6,示出了示例性计算设备600。示例性计算设备600可以是上述任意一个或多个计算设备。图6的示例性计算设备600可以包括但不限于:一个或多个中央处理单元(CPU)620、可以包括RAM 632的系统存储器630,以及可以将包括系统存储器的各种系统组件耦合到处理单元620的系统总线621。系统总线621可以是多种类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围组件总线,以及使用多个总线架构的任一种的本地总线。计算设备600可以可选地包括图形硬件,例如用于显示图形用户接口,包括但不限于,图形硬件接口690和物理显示设备691,其可以包括能够接收基于触摸的用户输入的物理显示设备,例如触敏或支持多接触的显示设备。取决于具体的物理实现方式,CPU 620、系统存储器630和计算设备600的其它组件中的一个或多个可以是物理上位于同一位置的,例如在单个芯片上。在这种情况下,系统总线621的一些或全部不过是在单个芯片结构中的硅路径,并且在图6中的图示不过是出于图示目的的概念上的便利。
[0071] 计算设备600还通常包括计算机可读介质,其可以包括可以由计算设备600访问的任意可用介质,并包括易失性和非易失性介质以及可移除和不可移除介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任意方法或技术实现的用于存储信息的介质,例如计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备,或者可以用于存储期望信息并能由计算设备600访问的任意其它介质。然而,计算机存储介质不包括通信介质。通信介质通常实现计算机可读指令、数据结构、程序模块或在调制数据信号中的其它数据,如载波或其它传输机制,并包括任意信息输送介质。通过示例而非限制,通信介质包括有线介质(例如,有线网络或直连线连接),以及无线介质(例如,声学、RF、红外和其它无线介质)。上述任意的组合还应该包含于计算机可读介质的范围内。
[0072] 系统存储器630包括易失性和/或非易失性存储器形式的计算机存储介质,例如只读存储器(ROM)631和上述RAM 632。基本输入/输出系统(BIOS)633包含基本例程,其帮助例如在启动期间在计算设备600中的元件之间转移信息,BIOS通常存储于ROM 631中。RAM 632通常包含处理单元620立即可访问和/或在处理单元620上当前被操作的数据和/或程序模块。通过示例而非限制,图6示出了操作系统634以及其它程序模块635和程序数据636。
[0073] 计算设备600还可以包括其它可移除/不可移除、易失性/非易失性计算机存储介质。仅通过示例,图6示出了硬盘驱动641,其从不可移除的、非易失性介质读取或写入。可以与示例性计算设备一起使用的其它可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM、以及其它计算机存储介质,如上述定义和描述的。硬盘驱动641通常通过不可移除的存储器接口(例如,接口640)连接到系统总线621.
[0074] 上述以及图6所示的驱动及其相关联的计算机存储介质存储计算机可读指令、数据结构、程序模块以及用于计算设备600的其它数据。在图6中,例如,硬盘驱动641示出为存储操作系统644、其它程序模块645和程序数据646。注意,这些组件可以是与操作系统634、其它程序模块635和程序数据636相同的或不同的。给予操作系统644、其它程序模块645和程序数据646不同编号,在最低限度上示出它们是不同的副本。
[0075] 计算设备600可以使用到一个或多个远程计算机的逻辑连接在联网环境中操作。计算设备600示出为通过网络接口或适配器660(其反过来连接到系统总线621上)连接到一般网络连接661。在联网环境中,相对计算设备600描绘的程序模块或其部分或外围组件可以存储于一个或多个其它计算设备的存储器中,所述其它计算设备通过一般网络连接661通信地耦合到计算设备600上。可以理解的是,示出的网络连接是示例性的,并可以使用在计算设备之间建立通信链接的其它单元。
[0076] 虽然描述为单个物理设备,但示例性计算设备600可以是虚拟计算设备,在该情况下,可以通过计算机可执行指令提供上述物理组件的功能,例如,CPU 620、系统存储器630、网络接口660、以及其它类似组件。这种计算机可执行指令可以在单个物理计算设备上执行,或者可以跨多个物理计算设备分布,包括以动态方式跨多个物理计算设备分布,从而代管这种计算机可执行指令的物理计算设备可以取决于需要和可用性而随着时间动态改变。在示例性计算设备500是虚拟化设备的情况下,代管这种虚拟化计算设备的基本物理计算设备本身可以包括类似于上述那些的物理组件,并以类似方式操作。此外,虚拟计算设备可以在多个层中使用,一个虚拟计算设备在另一虚拟计算设备的结构中执行。因此,如这里使用的术语“计算设备”表示物理计算设备或虚拟化计算环境,包括虚拟计算设备,在其中可以以与通过物理计算设备执行一致的方式执行计算机可执行指令。类似地,如这里使用的涉及计算设备的物理组件的术语表示那些物理组件或其执行相同或等价功能的虚拟化。
[0077] 先前描述提供关于以相关方式实现或者可以独立于彼此实现的多个机制的细节。在不排除上述任意机制的情况下,上述枚举指向那些机制中的特定机制:
[0078] 一种用于生成上下文元数据的方法,包括:检测数据组的生成,对于该数据组将生成对应的上下文元数据;获得包括以下至少一个的环境数据:接近于生成数据组的计算设备的一个或多个用户,接近于生成数据组的计算设备的一个或多个设备,以及与生成数据组并发执行的一个或多个并发活动;基于所获得的环境数据,生成对应上下文元数据的至少一部分。
[0079] 用于提供上下文相关数据的方法,包括:检测对具有对应上下文元数据的数据组的访问;识别在对应上下文元数据和其它至少一组的上下文元数据之间的关系;获得对应于其它至少一组上下文元数据的其它至少一组数据;并响应于检测到访问数据组而提供获得的其它至少一组数据。
[0080] 一种用于生成相互关联数据分组的方法,包括:从多个数据存贮中获得数据,其中每个数据存贮包括独立数据格式;对所获得的数据进行抽象以包括处于统一格式的所获得的数据和额外数据两者;选择所获得数据中的第一数据;基于通过对所获得数据的第一数据进行抽象而生成的处于统一格式的所获得数据的第一数据和额外数据,确定是否要将所获得数据的所选的第一数据与现有数据分组相互关联;并基于所述确定,使得所获得的数据的所选的第一数据与现有数据分组相互关联,或使得所获得的数据的所选的第一数据与新数据分组相互关联。
[0081] 一种用于生成相互关联数据分组的方法,包括:从第一数据存贮获得数据;选择所获得的数据中的第一数据;基于所获得的数据中的第一数据,确定是否要将所获得的数据的所选第一数据与现有数据分组相互关联;基于所述确定,使得所获得的数据的所选的第一数据与现有数据分组相互关联,或使得所获得的数据的所选的第一数据与新数据分组相互关联;通过与独立执行的应用程序的接口,获得用于以下至少一个的额外数据:现有数据分组或新数据分组,所述额外数据来自不同于且独立于第一数据存贮的第二数据存贮。
[0082] 为了明确记叙上述机制的各个方面,上述描述包括作为第一例子的一种用于通过呈现根据上下文连接的信息来改善用户效率以及增进所述用户与系统的交互绩效的系统,所述系统包括:一个或多个处理单元;显示设备,其通信地耦合到所述一个或多个处理单元;以及一个或多个计算机可读存储介质,其通信地耦合到所述一个或多个处理单元,所述一个或多个计算机可读存储介质包括计算机可执行指令,所述计算机可执行指令当由所述一个或多个处理单元执行时使得所述系统执行包括以下的步骤:经由所述系统检测用户对第一数据的访问,所述第一数据具有与其对应的第一上下文元数据,所述第一上下文元数据识别与所述第一数据相关联的用户的先前上下文;识别在第一上下文元数据和不同的第二上下文元数据之间的关系;获得与所述第二上下文元数据对应的第二数据,所述第二数据不同于所述第一数据;以及在所述显示设备上物理生成图形用户接口,包括:主要内容区域,其包括所述第一数据的至少一部分的显示;以及视觉上邻近所述主要内容区域的上下文面板,所述上下文面板包括第一用户接口元件,所述第一用户接口元件表示获得的所述第二数据并且是用户能够选择以访问获得的所述第二数据的。
[0083] 第二例子是第一例子的系统,其中,所述图形用户接口还包括第二用户接口元件,所述第二用户接口元件在所述图形用户接口内被显示在所述上下文面板外部但与所述上下文面板视觉连接;以及其中所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测指向所述第二用户接口元件的用户动作;以及,响应于所述检测,在所述图形用户接口中以多种不同方式显示或隐藏所述上下文面板。
[0084] 第三例子是第一例子的系统,其中,所述第一用户接口元件包括拼贴,该拼贴包括所获得的第二数据的文本识别以及表示所获得的第二数据的图形图标。
[0085] 第四例子是第一例子的系统,其中,所述上下文面板的内容是用户可修改的;并且其中所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测用户动作,所述用户动作包括从所述主要内容区域到所述上下文面板的拖曳动作;以及更新所述图形用户接口以包括经更新的上下文面板,所述经更新的上下文面板现在包括表示所述第一数据的第二用户接口元件。
[0086] 第五例子是第一例子的系统,其中,第二数据是文档,并且第一用户接口元件是表示该文档的图形图标;并且其中所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测指向图形图标的用户动作;响应于检测到的用户动作,访问第二数据;以及更新图形用户接口以包括经更新的主要内容区域,其现在包括对文档的至少一部分的显示。
[0087] 第六例子是第一例子的系统,其中,第二数据对人进行引用,并且第一用户接口元件包括表示与人通信的通信选项的图形图标;并且其中所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测指向图形图标之一的用户动作;以及响应于检测到的用户动作,经由系统发起与人的通信,所述发起的通信对应于检测到的用户动作所指向的图形图标之一。
[0088] 第七例子是第一例子的系统,其中,所述第二数据引用系统可执行的动作;并且其中所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测指向第一用户接口元件的用户动作;以及响应于检测到用户动作,启用由第二数据引用的系统可执行的动作。
[0089] 第八例子是第一例子的系统,其中,基于用户的当前时间或当前位置,在图形用户接口内自动显示所述上下文面板。
[0090] 第九例子是第一例子的系统,其中,基于在第一上下文元数据和第二上下文元数据之间的等价性或相似性,识别在第一上下文元数据和第二上下文元数据之间的关系。
[0091] 第十例子是第一例子的系统,其中,所述第一上下文元数据包括所述第一数据的先前用户访问的环境数据。
[0092] 第十一例子是第一例子的系统,其中,所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:在所述检测之前,在所述显示设备上物理生成第二图形用户接口,所述第二图形用户接口包括:统一活动推送,其包括:第一区别视觉元件,其代表相关数据的第一分组,所述第一区别视觉元件囊括定义的视觉区域,并且区别于代表相关数据的其它分组的其它视觉元件,所述第一区别视觉元件在其内显示包括以下的元件:第二用户接口元件,其表示第三数据;以及第三用户接口元件,其表示不同于所述第三数据的第四数据,所述第三用户接口元件在所述第一区别视觉元件内在视觉上邻近第二用户接口元件;其中所述第三和第四数据彼此相关;以及第二区别视觉元件,其代表相关数据的不同的第二分组,所述第二区别视觉元件也囊括定义的视觉区域,并且区别于代表相关数据的其它分组的其它视觉元件,该其它视觉元件包括第一区别视觉元件,所述第二区别视觉元件在其内显示包括以下的元件:第四用户接口元件,其表示不同于第三和第四数据的第五数据;以及第五用户接口元件,其表示不同于第三、第四和第五数据的第六数据,所述第五用户接口元件在第二区别视觉元件内在视觉上邻近第四用户接口元件;其中,所述第四和第五数据彼此相关;以及其中,所述第一区别视觉元件和第二区别视觉元件在所述统一活动推送内彼此邻近。
[0093] 第十二例子是第十一例子的系统,其中,所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:检测指向滚动所述统一活动推送的用户动作;响应于检测到指向滚动所述统一活动推送的用户动作,更新所述第二图形用户接口,从而所述第一区别视觉元件和第二区别视觉元件响应于滚动所述统一活动推送而一起移动;检测指向在所述第一区别视觉元件内的滚动的用户动作;以及响应于检测到指向在所述第一区别视觉元件内的滚动的用户动作,更新所述第二图形用户接口,从而响应于在所述第一区别视觉元件内的滚动,第二用户接口元件和第三用户接口元件在所述第一区别视觉元件内一起移动,不包括在所述统一活动推送中的区别视觉元件的移动,并且不包括在其它区别视觉元件中的个体用户接口元件的移动。
[0094] 第十三例子是第十一例子的系统,其中,所述计算机可读介质进一步包括计算机可执行指令,当被所述一个或多个处理单元执行时,所述计算机可执行指令使得所述系统执行包括以下的进一步的步骤:确定用户的当前上下文;将所述第三或第四数据排名为比所述第五或第六数据与所确定的所述用户的当前上下文更相关;响应于排名,将所述第一区别视觉元件在所述统一活动推送内在视觉上布置在所述第二区别视觉元件之上;以及随着用户的当前上下文改变,重复进行:所述确定所述用户的当前上下文、所述排名以及所述在视觉上布置。
[0095] 第十四例子是一种用于改善用户效率以及增进用户与计算设备的交互绩效的图形用户接口,所述计算设备在通信地耦合到所述计算设备的物理显示设备上物理地生成所述图形用户接口,所述图形用户接口包括:主要内容区域,其包括用户利用所述计算设备访问的第一数据的至少一部分的显示;以及视觉上邻近所述主要内容区域的上下文面板,所述上下文面板包括第一用户接口元件,所述第一用户接口元件表示第二数据并且是用户能够选择以访问所述第二数据的;其中,第二数据具有与其对应的第二上下文元数据,所述第二上下文元数据与和由用户访问的第一数据对应的第一上下文元数据具有识别出的关系。
[0096] 第十五例子是第十四例子的图形用户接口,还包括第二用户接口元件,所述第二用户接口元件在所述图形用户接口内被显示在上下文面板外部但与所述上下文面板视觉连接;所述第二用户接口元件是用户可动作的以触发在所述图形用户接口内对所述上下文面板的显示或隐藏。
[0097] 第十六例子是第十四例子的图形用户接口,其中第一用户接口元件包括拼贴,该拼贴包括对所获得的第二数据的文本识别以及表示所获得的第二数据的图形图标。
[0098] 第十七例子是第十四例子的图形用户接口,其中,第二数据是文档或第二数据对人或对由计算设备可执行的动作进行引用;并且其中所述上下文面板还包括第二用户接口元件,其表示在类型上与第二数据不同的第三数据,并且第三数据也或者是文档、或者对人或对由计算设备可执行的动作进行引用。
[0099] 第十八例子是一种用于改善用户效率以及增进用户与计算设备的交互绩效的图形用户接口,所述计算设备在通信地耦合到所述计算设备的物理显示设备上物理地生成所述图形用户接口,所述图形用户接口包括:统一活动推送,其包括:第一区别视觉元件,其代表相关数据的第一分组,所述第一区别视觉元件囊括定义的视觉区域,并且区别于代表相关数据的其它分组的其它视觉元件,所述第一区别视觉元件在其内显示包括以下的元件:第一用户接口元件,其表示第一数据;以及第二用户接口元件,其表示不同于所述第一数据的第二数据,所述第二用户接口元件在所述第一区别视觉元件内在视觉上邻近第一用户接口元件;其中所述第一和第二数据彼此相关;以及第二区别视觉元件,其代表相关数据的不同的第二分组,所述第二区别视觉元件也囊括定义的视觉区域,并且区别于代表相关数据的其它分组的其它视觉元件,该其它视觉元件包括第一区别视觉元件,所述第二区别视觉元件在其内显示包括以下的元件:第三用户接口元件,其表示不同于第一和第二数据的第三数据;以及第四用户接口元件,其表示不同于第一、第二和第三数据的第四数据,所述第四用户接口元件在第二区别视觉元件内在视觉上邻近第三用户接口元件;其中,所述第三和第四数据彼此相关;以及其中,所述第一区别视觉元件和第二区别视觉元件在所述统一活动推送内彼此邻近。
[0100] 第十九例子是第十八例子的图形用户接口,其中,所述统一活动推送是能够由所述计算设备的用户滚动的,独立于在所述第一区别视觉元件或所述第二区别视觉元件内由所述用户进行的滚动;其中进一步滚动所述活动推送引起在图形用户接口内第一和第二区别视觉元件一起在视觉上移动,同时在所述第一区别视觉元件内的滚动引起在所述第一区别视觉元件内所述第一和第二用户接口元件一起在视觉上移动,不包括在所述统一活动推送中的区别视觉元件的移动,并且不包括在其它区别视觉元件中个体用户接口元件的移动。
[0101] 并且第二十例子是第十八例子的图形用户接口,其中,根据在用户的当前上下文和在那些区别视觉元件内由用户接口元件指示的数据之间的确定出的相关性,在所述统一活动推送中在视觉上布置区别视觉元件;所述在视觉上布置随着用户的当前上下文改变而被更新。
[0102] 如上述所知,已经描述了用于通过统一呈现根据上下文连接的信息来增加用户效率和交互绩效的机制。考虑到本文描述的主题的多种可能变型,我们将所有的这样的实施例作为我们的发明来要求保护,因其可落入下列权利要求及其等价物的范围内。