图形用户界面中的快捷链接的制作方法

文档序号:11519718阅读:171来源:国知局
图形用户界面中的快捷链接的制造方法与工艺



背景技术:

本发明一般地涉及电子设备,例如计算机和计算机软件,并且特别涉及用于在图形用户界面(gui)中提供快捷链接的方法、系统和计算机程序产品。

通过电子设备显示的gui可以具有当用户通过gui导航时以逐个屏幕的方式向用户显示的多个屏幕。在大多数时间,用户将不需要访问多个屏幕中的每一个。相反,在特定情况下,用户可能仅需要多个屏幕中的一些屏幕。然而,仅仅出于最终到达gui的期望屏幕的原因,可能需要用户导航通过其不感兴趣的一个或多个屏幕。

因此,需要用于通过gui提供更好导航的改进的设备、系统、方法和计算机程序产品。



技术实现要素:

根据一个方面,提供了一种在电子设备的图形用户界面gui中提供快捷链接的方法,用于基于来自对gui的更早访问的gui统计数据跳过多个gui屏幕中的至少一个。统计数据涉及至少一个路径(其在更早访问中已被导航至少一次),包括多个gui屏幕中的gui屏幕的序列。电子设备被配置为通过响应于用户动作将gui从当前gui屏幕切换到多个gui屏幕中的下一个gui屏幕来显示多个gui屏幕,从而使得用户能够通过gui屏幕进行导航。该方法包括通过电子设备基于当前gui屏幕和在对gui的当前访问中显示的可能的在先gui屏幕,在对gui的当前访问中生成最近导航历史。该方法还包括通过电子设备基于最近导航历史和gui统计数据来识别至少一个候选路径。识别至少一个候选路径可包括确定最近导航历史是否对应于至少一个候选路径的子序列。该方法还包括通过电子设备确定在至少一个候选路径内的目标gui屏幕。目标gui屏幕是下一个gui屏幕之后的gui屏幕。该方法还包括通过电子设备将快速链接设置为指向目标gui屏幕,以使电子设备响应于用户激活快捷链接而将gui切换到所确定的目标gui屏幕。该方法还包括通过电子设备在当前gui屏幕中显示快捷链接。

根据另一方面,提供了一种包括处理器和存储器的装置。存储器包括程序代码,该程序代码当被处理器执行时使装置在装置的图形用户界面gui中提供快捷链接,用于基于来自对gui的更早访问的gui统计数据跳过多个gui屏幕中的至少一个。统计数据涉及至少一个路径(其在更早访问中已被导航至少一次),包括多个gui屏幕中的gui屏幕的序列。该装置被配置为通过响应于用户动作而将gui从当前gui屏幕切换到多个gui屏幕中的下一个gui屏幕来显示多个gui屏幕,从而使得用户能够通过gui屏幕进行导航。该装置还被使得基于当前gui屏幕和在对gui的当前访问中显示的可能的在先gui屏幕而在对gui的当前访问中生成最近导航历史。该装置还被使得基于最近导航历史和gui统计数据来识别至少一个候选路径。识别所述至少一个候选路径可包括确定最近导航历史是否对应于至少一个候选路径的子序列。该装置还被使得确定至少一个候选路径内的目标gui屏幕。目标gui屏幕是下一个gui屏幕之后的gui屏幕。该装置还被使得将快捷链接设置为指向目标gui屏幕,以使得该装置响应于用户激活快捷链接而将gui切换到所确定的目标gui屏幕。该装置还被使得在当前gui屏幕中显示快捷链接。

根据另一方面,提供了一种计算机程序产品,其包括包含程序代码的非暂态计算机可读存储介质。该程序代码被配置为当被处理器执行时使该处理器在电子设备的图形用户界面gui中提供快捷链接,用于基于来自对gui的更早访问的gui统计数据跳过多个gui屏幕中的至少一个。统计数据涉及至少一个路径(其在更早访问中已被导航至少一次),包括多个gui屏幕中的gui屏幕的序列。电子设备被配置为通过响应于用户动作而将gui从当前gui屏幕切换到多个gui屏幕中的下一个gui屏幕来显示多个gui屏幕,从而使得用户能够通过gui屏幕进行导航。处理器还被使得基于当前gui屏幕和在对gui的当前访问中显示的可能的在先gui屏幕,在对gui的当前访问中生成最近导航历史。处理器还被使得基于最近导航历史和gui统计数据来识别至少一个候选路径。识别至少一个候选路径可包括确定最近导航历史是否对应于至少一个候选路径的子序列。处理器还被使得确定至少一个候选路径内的目标gui屏幕。目标gui屏幕是下一个gui屏幕之后的gui屏幕。处理器还被使得将快捷链接设置为指向目标gui屏幕,以使得处理器响应于用户激活快捷链接而将gui切换到所确定的目标gui屏幕。处理器还被使得在当前gui屏幕中显示快捷链接。

附图说明

并入并构成本说明书的一部分的附图例示出各种实施例,并且与上面给出的一般描述以及下面给出的实施例的详细描述一起为解释实施例服务。

图1是被配置为进行本文中所描述的方法的示例性计算机系统的示意图。

图2a是用于进行预订酒店的任务的流的示意图。

图2b是具有提供以跳过下一个gui屏幕的快捷链接的具有开始gui屏幕、当前gui屏幕、下一个gui屏幕和目标gui屏幕的路径的示意图。

图3a是描绘可例如被图1中描绘的计算机系统执行以实现实施例的处理的流程图。

图3b是描绘可例如被图1中描绘的计算机系统执行以实现另外的实施例的处理的流程图。

图4a是包括gui屏幕的gui的两个流的路径的示意图。

图4b是gui的两种场景的示意图。

图5是表示gui屏幕和路径的示图。

具体实施方式

下列详细描述涉及用来在图形用户界面gui中提供至少一个快捷链接的方法、电子设备、装置和计算机程序产品中的每一个。另外的实施例通过两个或更多个下列实施例的组合来指定。实施例可通过电子设备(例如通过单个电子设备)或由包括至少一个电子客户端设备和至少一个电子服务器设备的系统来实现。

图形用户界面(gui)具有多个gui屏幕,以使得用户能够进行至少一个任务,例如,预订酒店的任务。gui屏幕可在gui定义文档(gui定义)中定义,gui定义文档可被保持在电子设备的数据库中或者在电子设备的外部,例如在可经由网络连接访问的服务器中。gui定义可包括gui屏幕的布局的定义。此外,gui包括导航定义,其为gui屏幕指定响应于相应的用户动作而将被导航到的相应的下一个gui屏幕,从而定义gui的导航行为。例如,导航定义可被包含在gui定义文档中。因此,基于仅单个文档,gui定义文档至少定义gui的外观以及gui关于通过gui屏幕的导航的行为。在单个gui定义文档(尽管这可以包括各种文件)中定义gui的布局和导航机制两者减少了用于开发gui的努力和/或允许gui的更紧凑、资源友好的定义。gui定义可被电子设备处理以用于显示gui屏幕并响应于相应的用户动作而切换到适当的下一个gui屏幕。

当例如通过电子设备显示时,一些gui屏幕可向用户呈现作为酒店的地址的信息。一些其它gui屏幕可提供用户输入字段,例如按钮、文本输入字段、选择字段等,用于在被显示时接收用户输入。一些其它gui屏幕可呈现信息并且同时提供一个或多个用户输入字段。

例如,gui可以是面向web的,即gui屏幕被配置为可由web浏览器浏览。例如,可制定包括html4.01代码的gui定义文档。快捷链接可由显示在gui屏幕中的图形元素表示。图形元素可以是可以接收焦点的html元素,例如按钮。

电子设备可通过响应于用户动作而将gui从当前gui屏幕切换到从多个gui屏幕中选择的下一个gui屏幕来显示多个gui屏幕。这使得用户能够以逐个屏幕的方式通过gui进行导航。表述“通过gui进行导航”和“通过gui屏幕进行导航”在本文中具有相同的含义,并且将被理解为用户在对gui的当前访问中访问一些或所有gui屏幕。表述“对路径导航”意味着用户沿着(完整的)路径导航,即用户沿着路径的gui屏幕的序列逐个屏幕导航。然而,使用快捷链接来跳过路径的一些gui屏幕也将被理解为“对路径导航”。如果没有另外提及,则gui提供至少一个路径用于通过gui进行导航。路径包括gui屏幕的序列。在下文中,表述“路径包括gui屏幕”将被理解为gui屏幕被包含在路径的gui屏幕的序列中。

在gui中提供快捷链接使得用户能够在通过gui进行导航时跳过至少一个gui屏幕。快捷链接指向目标gui屏幕,这意味着快捷方式提供对目标gui屏幕的引用,并且从而使得用户能够跳过一个或多个接下来的gui屏幕,否则用户必定必须通过所述一个或多个接下来的gui屏幕进行导航以最终到达期望的目标gui屏幕。因此,快捷链接使得用户能够直接跳转到目标gui屏幕。

为了提供快捷链接,要考虑当前导航上下文(即,当前gui屏幕在哪里以及关于在对gui的当前访问中用户到目前为止如何导航到当前gui屏幕的信息)。因此,可以收集在用户对gui的当前访问中到目前为止访问的gui屏幕的序列作为最近的gui导航历史。当前上下文使得能够确定考虑到当前上下文而允许用户跳转到的可能的候选gui屏幕。因此,基于最近的gui导航历史来识别候选路径。候选路径可被认为是与最近的gui导航历史兼容的路径。换句话说,候选路径可被认为是考虑到当前上下文而允许用户仍然导航的那些路径。然而,可能存在如下所述的进一步的限制。可能的候选目标gui屏幕应仅在候选路径上找到。

此外,为了提供快捷链接,要考虑用户习惯。因此,识别候选路径也基于(由当前用户或在一些示例中由任何用户)通过对gui的更早访问获取的gui统计数据。gui统计数据包括关于典型导航用户行为的信息。例如,这可以允许减少候选路径的数目和/或确定优选候选路径的排序。gui统计数据涉及在对gui的更早访问中已经访问的路径;例如gui统计数据可包括关于路径在更早访问中已被多频繁地导航的信息。

此外,因为快捷链接应当提供“真实”快捷方式,即应当使得用户能够跳过(即,直接绕过)至少一个下一个gui屏幕,所以目标gui屏幕可以是从当前gui屏幕的角度的下一个gui屏幕之后的屏幕。快捷链接(或在一些实施例中为多个快捷链接)被显示在当前gui屏幕中并提供到相应的目标gui屏幕的链接。激活快捷链接使得gui例如被电子设备从当前gui屏幕(直接)切换到目标gui屏幕,并且从而使得用户能够跳过至少一个下一个gui屏幕。

一些实施例还包括预加载至少一个目标gui屏幕,例如,用于减少当用户激活快捷链接时用来显示目标gui屏幕的响应时间。预加载指的是在用户激活对应于目标gui屏幕的快捷链接之前加载目标gui屏幕。例如,预加载目标gui屏幕包括将目标gui屏幕存储在高速缓冲存储器中。预加载目标gui屏幕可包括从gui定义中读取目标gui屏幕的布局。

因此,本文中所描述的方法和设备使得能够基于当前上下文和gui统计数据来提议快捷链接。这意味着如果新用户第一次开始使用gui,则用户将还不会有基于他自己的习惯的提议;然而在下面描述的一些实施例中,用户可以得益于基于其他用户的习惯(已经更早访问gui)的提议和/或特定于他的角色或用户所关联于的类别或群组的提议。在一些实施例中,确定目标gui屏幕可包括例如基于开销函数来使用户可使用快捷链接以跳转到目标gui屏幕的概率与所跳过的gui屏幕的数目平衡。的确,即使用户将使用快捷链接来决定远程跳转的可能性较小,允许跳过更多gui屏幕的快捷链接和/或用于通过gui进行导航的用户输入也可能更有价值。相应地,开销函数可以基于在激活快捷链接时跳过的gui屏幕的数目和考虑到当前上下文在对gui的更早访问中已被访问的目标gui屏幕的概率。(一个或多个)快捷链接提议可以取决于上下文,例如当前gui屏幕、用户当前处于的流和/或场景。如下面进一步描述的,流包括与任务相关联的至少一个路径,并且场景包括使得用户能够进行包括两个或更多个任务的复杂任务的至少两个或更多个流。

gui可以使得用户能够(例如通过使用电子设备)进行至少一个任务。示例任务可能是例如创建旅行、酒店、航班或汽车的预约或预订。gui可以为进行任务提供不同的方式和/或不同的选项。因此,通过gui的多个路径可以与任务相关联。换句话说,gui可以提供多个路径(即,要由用户顺序访问的gui屏幕的不同序列)来进行相同的任务。

例如,预订酒店的任务可包括为单个人预订酒店,或者替代地,为两个人预订酒店。因此,gui可包括用于进行预订酒店的任务的流。该流包括至少包括用于输入单个人的数据的gui屏幕的第一路径和包括至少两个gui屏幕(即,对于每个人至少一个gui屏幕)的第二路径。

现在参考图2a,呈现了描绘用于预订酒店的示例流100的示意图。从gui屏幕110开始,用户可以沿着第一路径导航到gui屏幕120或沿着第二路径导航到gui屏幕130。gui屏幕gui110可以提供输入字段以使得用户能够选择他想要为单个人还是为两个人预订酒店。

通过选择“单个人”,用户沿着第一路径导航到gui屏幕120,gui屏幕120提供用于输入期望的房间类别的用户输入字段。在已经将所需数据填入gui屏幕120的用户输入字段中之后,用户导航到(仅可能的)下一个gui屏幕121,用于输入用户想要住在酒店的时段。此后,用户可以导航到(仅可能的)下一个gui屏幕150,用于进行对所预订的酒店的支付。

通过在gui屏幕110中选择“两个人”,用户沿着第二路径导航到gui屏幕130,gui屏幕130提供用于输入第一人的期望的房间类别的用户输入字段。与第一路径一样,用户可以导航到下一个gui屏幕131,用于输入第一人想要住在酒店的时段。然后,用户可以导航到下一个gui屏幕132以输入第二人的期望的房间类别,并且此后,用户可以导航到下一个gui屏幕133,用于输入第二人想要住的时段。通过进一步沿着第二路径进行导航,第二路径在用于进行支付的gui屏幕150中遇到第一路径。然而,基于gui统计数据,gui从用户的早期访问“知道”许多次两个人可能想要共享房间。因此,gui在gui屏幕131中提供快捷链接140用于跳过gui屏幕132和133。通过激活快捷链接140,用户可以直接导航到gui屏幕150用于支付。这使得用户能够跳过gui屏幕132和131。总而言之,流100提供两条路径来完全进行预订酒店的任务。这两条路径提供了关于为之预订酒店的人数的替代方案。图2a到此为止。

另一个示例任务可能是配置网络路由器设备(路由器)。该任务可能将由网络管理员进行。例如,任务可包括仅针对单个子网配置路由器,或者替代地针对多个虚拟网络配置路由器。因此,用于配置路由器的任务的gui可例如提供包括(特别是)用于输入例如单个子网掩码和单个网关地址的gui屏幕的第一路径,以及包括(特别是)用于在第一gui屏幕中输入第一子网掩码和第一网关地址以及在第二gui屏幕中输入第二子网掩码和第二网关地址的至少两个gui屏幕的第二路径,和/或包括(特别是)用于输入至少两个子网掩码和网关地址的单个gui屏幕的第三路径。

另一个示例任务可能是在计算机的操作系统中配置打印机。例如,该任务可能将由计算机管理员或由计算机用户自己进行。任务可包括配置打印机的单个纸盒,或者替代地配置打印机的多个纸盒。因此,用于配置打印机的任务的gui可例如提供包括(特别是)用于输入例如单个纸盒的纸张尺寸和纸张方向的第一路径,和包括(特别是)用于在第一gui屏幕中输入第一纸张尺寸和纸张方向和在第二gui屏幕中输入第二纸张尺寸和纸张方向的至少两个gui屏幕的第二路径,和/或包括(特别是)用于输入第一纸张尺寸和纸张方向以及第二纸张尺寸和纸张方向的单个gui屏幕的第三路径。

在一些实施例中,用于进行特定任务的gui具有仅用来进行该任务的单个路径,即每个gui屏幕具有恰好一个下一个gui屏幕。然而,即使在这样的实施例中,当沿着路径导航时,快捷链接可以允许跳过一个或多个gui屏幕。优选地,gui具有多个路径,这使得用户能够沿着通过gui的不同(替代)路径进行导航。在一些实施例中,至少一个路径(优选地为每个路径)仅包括可用的所有gui的屏幕的子集,即,任务可以由用户结束,而不必访问所有gui屏幕。在一些实施例中,至少一个路径(优选地为每个路径)包括足以完全进行任务(即,从任务的开始进行任务到任务完成)的gui屏幕的相应的序列。因此,至少两个路径中的每一个路径可以自身使得用户能够完全进行相同的任务,例如预订酒店;然而,它们可以向用户提供不同的选项或功能。

为了进行(完整的)任务,可以定义gui的流。流可包括与任务相关联的一个或多个路径。在一些实施例中,流包括与相同任务相关联的所有路径。例如,流的多个路径可以提供替代方式,即用来进行任务的gui屏幕的不同序列。另外或者替代地,流的一个或多个路径可以提供关于任务的选项。

在一些实施例中,每个路径本身可以使得用户能够从任务的开始进行任务到任务完成。关于在先的酒店预订示例,用于预订酒店的流可以包括第一、第二和第三路径,其中这些路径中的每一个路径本身使得用户能够以不同的方式(例如,利用变化的预订、支付或交付选项)进行预订。这相应地适用于配置路由器和配置打印机的示例任务。

在一些实施例中,gui可包括包含至少两个流的至少一个场景。场景可被认为是流的组合或序列。gui可以使得用户能够基于相应的场景进行包括多个单任务的复杂任务。例如,场景可以使得用户能够预订旅行。在该示例中,预订旅行是复杂的任务,例如包括预订航班、预订酒店和预订汽车的单任务。相应地,该示例的场景包括用于预订航班的第一流、用于预订酒店的第二流和用于预订汽车的第三流。这些流中的每一个可包括一个或多个路径。

在一些实施例中,当前流和/或当前场景(即,当前正在访问gui的用户当前正在导航通过的流和/或场景)被系统(自动地)识别。例如,如果场景已被识别,则用户输入可被记录在第一流中并且所记录的用户输入可被用于预填充该场景的第二流的输入字段,因为第一流和第二流都与相同的复杂任务相关联。例如,对于预订航班的任务以及预订酒店和汽车的任务,可能需要用户的家庭地址数据。因此,在一些实施例中,gui可以显示至少一个下一个gui屏幕被预填充的一些信息。这使得用户能够通过激活快捷链接直接跳转到预填充的gui屏幕之后,如果用户不期望在预填充的(一个或多个)接下来的gui屏幕内的任何修改的话。

gui可以为当前gui屏幕提供多于一个可能的(直接相邻的)下一个gui屏幕。这使得用户能够在当前gui屏幕处分支以利用第一个下一gui屏幕或第二个下一gui屏幕进行导航。关于路径,第一路径可包括当前gui屏幕和第一个下一gui屏幕,并且第二路径可包括当前gui屏幕和第二个下一gui屏幕。然而,用户将对哪个路径导航取决于用户对当前gui屏幕的动作。对于当前的gui屏幕,响应于第一(用户)动作,gui将切换到第一个下一gui屏幕,并且响应于第二(用户)动作,gui将切换到不同于第一gui屏幕的第二gui屏幕。在一些实施例中,多个不同(用户)动作可以使得gui切换到相同的下一个gui屏幕。因此,在一些实施例中,(用户)动作的至少两个(不同的)序列可导致通过gui导航的相同路径。

可以在gui定义中显式地描述路径。路径可包括规则集,该规则集为路径的每个gui屏幕指定相应的下一个gui屏幕。此外,路径另外可以包括规则,这些规则为每一对的当前gui屏幕和下一个gui屏幕指定至少一个(用户)动作,响应于该至少一个(用户)动作,gui将被触发以从相应的当前gui屏幕切换到相应的下一个gui屏幕。

然而,在一些实施例中,路径可以不被(显式地)包含(例如预定义或预编码)在新创建的gui的gui定义中。例如,gui定义可以针对每个gui屏幕包括关于触发切换到相应的接下来的gui屏幕的(用户)动作的信息。因此,gui的创建者不需要考虑(和显式地定义)通过gui的每个可能路径。路径可以通过用于在gui屏幕之间切换的规则而被间接定义在例如gui定义中。因此,在本说明书中,关于路径的任何操作可以基于gui定义中和/或gui统计数据中和/或最近导航历史中的隐式地和/或显式地表示路径的数据。显式地表示路径的数据可以通过记录响应于当用户通过gui进行导航时的动作而显示的gui屏幕的序列来获得。另外或者替代地,可从对gui的更早访问的记录中获得这样的数据。另外或者替代地,可从用于在gui屏幕之间切换的规则获得这样的数据。

优选地,快捷链接提供“实际”快捷方式,这意味着通过激活快捷链接将跳过当前屏幕之后的至少一个接下来的gui屏幕。因此,在一些实施例中,路径包括至少三个gui屏幕,即当前gui屏幕、目标gui屏幕以及当前gui屏幕和目标gui屏幕之间的下一个gui屏幕。优选地,路径包括至少四个gui屏幕,即开始gui屏幕、当前gui屏幕、下一个gui屏幕和目标gui屏幕。

关于在通过gui进行导航时跳过gui屏幕,可以不要求用户访问路径的每个gui屏幕以完全进行任务。例如,当预订酒店时,用户可能希望或可能不希望指定特定房间。因此,gui可以提供至少一个快捷链接用于跳过至少一个gui屏幕。关于在先示例,如果用户不想指定特定房间,则他可以通过点击快捷链接来跳过提供关于可用房间的信息和/或提供用于选择可用房间之一的用户输入字段的gui屏幕。这减少了用户完成任务的努力和时间,以及例如处理用户输入用于完成任务所需的电子设备的计算资源。减少为了进行任务而访问的gui屏幕的数目还会引起客户端/服务器场景中的网络流量的减少,例如,如果从远程web服务器检索gui屏幕的话。

如前所述,提供快捷链接是基于来自对gui的一个或多个更早访问的gui统计数据。例如,如果用户在更早的访问中已经使用特定路径来进行任务,则用户可能将以相同的方式进行该任务,即在对gui的稍后访问中使用相同的路径。该信息可被收集在gui统计数据中。例如,gui统计数据可以涉及gui的(更早访问的)路径。然而,在一些实施例中,gui统计数据不(立即)包含关于gui的每个可能路径的任何信息。例如,在对gui的第一次访问之前,gui统计数据甚至可以为空。当gui的路径被第一次导航时,表示路径的相应的信息可被添加到gui统计数据。除此之外,关于在更早访问中已被导航的路径的频率的信息可被添加到gui统计数据。每当路径被导航,该信息可被更新。这使得gui能够学习导航用户行为。gui统计数据(还)不包括其任何信息的路径可被认为其更早访问的频率的值为零。

例如由于整个gui的进一步发展或细化,一个或多个(附加的)gui屏幕可被添加到gui定义,并且/或者一个或多个(现有的)gui屏幕可被从gui定义中移除。gui的导航行为也可被修改,即现有路径可被添加、移除或改变。为了尽可能地进一步再次使用由gui统计数据到目前为止所收集的信息,在一些实施例中,关于不受gui定义的该适配影响的路径的信息被保存在gui统计数据中。关于受影响的路径的信息可被从gui统计数据中清空,因为与受影响的路径相关的在先统计数据变得过时。例如,gui统计数据可仅包括在gui屏幕已被添加到gui定义或从gui定义中移除的时间点之后收集的关于受添加/移除gui屏幕影响的路径的信息。

在一些实施例中,如果添加/移除的gui屏幕被/曾被包含在路径的gui屏幕的序列中,则该路径受gui屏幕的添加和/或移除影响。例如,经过添加/移除的gui屏幕的所有路径都是受影响的路径,即关于这些路径的信息可被从gui统计数据中清空。

在一些实施例中,包括添加/移除的gui屏幕的直接前导gui屏幕的路径是受影响的路径。添加/移除的gui屏幕的直接前导gui屏幕是沿着一个或多个(可能还有另外的)路径的gui屏幕的序列直接布置在添加/移除的gui屏幕之前的gui屏幕。换句话说,在这些实施例中,路径可受添加/移除gui屏幕影响,即使该路径不包括添加/移除的gui屏幕,但是包括作为添加/移除的gui屏幕沿着另一个路径(其包括添加/移除的gui屏幕)的前导的gui屏幕。这使得能够考虑到当在添加/移除的gui屏幕附近导航时用户的导航行为可能改变;在该示例中,是当导航通过添加/移除的gui屏幕的前导gui屏幕时。

在一些实施例中,包括添加/移除的gui屏幕的二阶、三阶或例如更高阶的前导gui屏幕的路径被定义为受影响的路径。二阶前导gui屏幕是沿着gui的路径的gui屏幕的序列在其自身和添加/移除的gui屏幕之间具有另一个gui屏幕的gui屏幕。相应地,三阶前导gui屏幕是沿着gui的路径的gui屏幕的序列在其自身和添加/移除的gui屏幕之间具有两个另外的gui屏幕的gui屏幕。

以这种方式保持不受gui的改变(例如,由于gui屏幕的添加或移除)特别影响的路径的gui统计数据允许即使在gui改变的这些情况下继续动态提供有用的快捷链接,而删除所有gui统计数据将使收集新的gui统计数据成为必要,直到有用的快捷链接可以被再次计算并显示为止。

为了确定适当的目标gui屏幕,考虑关于gui统计数据中包含的用户行为的知识以及用户在他的当前访问中的当前(导航)上下文。在当前访问中,用户可能或可能未在他到达当前gui屏幕之前已经导航通过一些gui屏幕。该信息由最近导航历史收集,该最近导航历史例如通过电子设备为用户对gui的当前访问生成。最近导航历史可包括(至少)当前gui屏幕并且(可能)包括在对gui的当前访问中到目前为止访问的(一个或多个)gui屏幕中的一个或多个(优选地为全部)。换句话说,最近导航历史可包括用户在其对gui的当前访问中已经访问的gui屏幕的子序列或(完整)序列。因此,最近导航历史可以被视为gui的子路径,其至少包括当前gui屏幕并且可选地包括在当前gui屏幕之前的一个或多个gui屏幕。最近导航历史可表示通过gui进行导航的用户的当前上下文。最近导航历史在对gui的访问开始时和/或当开始gui屏幕变为当前gui屏幕时可被重置(例如清空)。当导航到下一个流和/或导航到下一个场景时,最近导航历史可被重置。

不是每一个gui屏幕都构成适当的目标gui屏幕。因为快捷链接优选地提供关于当前路径的快捷方式,所以目标gui屏幕应在也包括当前gui屏幕的相同路径上被找到。因此,可以基于最近导航历史来识别候选路径。例如,识别候选路径可包括确定路径是否包括最近导航历史作为子路径。换句话说,候选路径的gui屏幕的序列可以包括最近导航历史的gui屏幕的序列作为子序列。这意味着用户不能通过激活快捷链接离开他到目前为止已经导航的路径。

如前所述,快捷链接应提供“实际”快捷方式,这意味着通过使用快捷链接,当前屏幕之后的至少一个下一个gui屏幕应当被跳过。因此,目标gui屏幕是沿着候选路径在(一个或多个)接下来的gui屏幕之后的gui屏幕。这在图2b中例示出,图2b示出了gui的单个路径200。路径200包括gui屏幕的序列:按该次序的开始gui屏幕210、当前gui屏幕220、下一个gui屏幕230和目标gui屏幕240。从开始gui屏幕210开始,用户可以沿着路径200导航,并且接下来将到达当前gui屏幕220。根据路径200的gui屏幕的序列,沿着路径200的方向,下一个gui屏幕230(直接)在当前gui屏幕220的后面。gui提供在当前gui屏幕220中显示的快捷链接221。该快捷链接指向目标gui屏幕240。这使得用户能够从当前gui屏幕220直接导航到目标gui屏幕240,并且从而跳过下一个gui屏幕230。然而,用户也可以在不使用快捷链接221的情况下到达目标gui屏幕,即通过沿着路径220逐个屏幕导航。图2b的示例到此为止。

在一些实施例中,需要将通过快捷链接跳过的(一个或多个)接下来的gui屏幕的最小数目。术语“之后”与候选路径的gui屏幕的序列有关。因此,识别候选路径可包括确定路径的gui屏幕的序列是否包括接下来的gui屏幕中的至少两个或至少最小数目加上当前gui屏幕之后的一个。响应于此,路径被认为是(可能的)候选路径;否则该路径将不被识别为候选路径。

候选路径可能具有多个候选目标gui屏幕(当候选路径在(一个或多个)接下来的gui屏幕之后具有多于一个gui屏幕时)。此外,多个候选路径可能已被系统识别。因此,候选目标gui屏幕的数目可以大于要在当前gui屏幕中显示的快捷链接的最大数目。因此,确定目标gui屏幕可包括从多个候选目标gui屏幕中选择gui屏幕。该选择可以基于开销函数、要跳过的最小数目的接下来的gui屏幕和/或基于gui统计数据。例如,从候选目标gui屏幕中选择gui屏幕可以基于候选路径的权重、基于包括相应的候选目标gui屏幕的每个候选路径的权重的累积权重和/或包含在gui统计数据中并且与相应的候选路径和/或相应的候选目标gui屏幕相关联的概率。

确定目标gui屏幕可以基于沿着(一个或多个)候选路径在当前gui屏幕和候选目标gui屏幕之间的距离。两个gui屏幕之间的距离可以对应于两个gui屏幕之间的可能的另外的gui屏幕的数量加一。例如,候选目标gui屏幕与当前gui屏幕之间的距离越长,则越优选将候选目标gui屏幕确定为目标gui屏幕。这使得能够通过快捷链接跳过更大数目的接下来的gui屏幕。

如果目标gui屏幕已被确定,则快捷链接可被设置为指向该目标gui屏幕。这意味着快捷链接被配置为引起例如由所述电子设备响应于用户激活该快捷链接而将gui切换到所确定的目标gui屏幕。在一些实施例中,一个或多个快捷链接可被显示在当前gui屏幕中。然而,在一些gui屏幕中可以显示一个快捷链接,在一些其它gui屏幕中可以显示多个快捷链接,并且还在某一其他gui屏幕中可以不显示任何快捷链接。因此,快捷链接的数目可以在作为当前gui屏幕的不同gui屏幕之间变化。用户可以在多个目标屏幕之间选择,并且从而直接跳转到不同的目标屏幕。

gui可以包括不可跳过的gui屏幕。因此,确定目标gui屏幕可包括确定不可跳过的gui屏幕是否沿着候选路径在当前gui屏幕和候选目标gui屏幕之间。响应于不可跳过的gui屏幕在当前gui屏幕和可能的候选目标gui屏幕之间,防止快捷链接指向该候选目标gui屏幕。替代地,该可能的候选目标gui屏幕可以被认为不是候选目标gui。相应地,可以排除将沿着路径在不可跳过的gui屏幕之后的任何gui屏幕确定为目标gui屏幕。

快捷链接可以通过点击表示当前gui屏幕中的到与快捷链接相关联的目标gui屏幕的快捷链接的图标或文本串来激活。在一些实施例中,快捷链接可以通过(用户)动作(例如,通过用户按压键盘的特定键或键的组合)来激活。快捷链接可以通过不同的替代用户动作(例如基于按压(一个或多个)键和/或基于通过鼠标和/或触摸屏的点击的一个或多个动作)来激活。这向用户提供了激活快捷链接的替代方式,即跳转到相应的目标gui屏幕。

gui统计数据可包括(完整)路径的权重,其中每个路径可以与其自身权重相关联。路径的权重可以基于关于路径在更早访问中被导航的频率的统计信息。路径的权重可以基于用户可能对相应的路径导航的概率。例如,每当路径被用户导航时,路径的权重可被增加。路径的权重可以对应于路径在更早访问中被导航的频率。

如前所述,在一些实施例中,可以不在gui定义中显式地定义路径。在一些实施例中,gui统计数据包括关于路径(优选地关于由用户在对gui的更早访问中导航的每个路径)的信息。gui统计数据可包括路径的gui屏幕的序列,例如,该序列可以作为与数据库中的路径相关联的数据条目而被存储在数据库中。gui统计数据可以涉及用户在对gui的更早访问中访问的路径,而不管个体用户,即不在个体用户之间进行区分。替代地,gui统计数据可以涉及个体用户统计数据、用户角色统计数据、用户类别统计数据和/或用户群组统计数据。例如,用户角色可以是管理员、实施者、标准用户和/或开发者或匿名用户。例如,用户类别可以基于收入、家庭状态、年龄和/或性别。相应地,gui统计数据可以涉及在个体用户的级别处、在用户角色的级别处、在用户类别的级别处和/或在用户群组的级别处的路径的权重。因此,本文中关于“用户”描述的所有实施例对应于将关于“个体用户”理解的另外的实施例,反之亦然。包含在gui统计数据中和/或在最近导航历史中的信息可以与用户简档相关联。例如,gui可包括多个简档,其可以与个体用户相关联。这允许在不同用户的习惯之间进行区分。

在一些实施例中,gui可包括多个单独的gui统计数据。例如,一些单独的gui统计数据可以与相应的个体用户相关联。如果用户尚未被识别出,则单独的gui统计数据中的一个可以与通用用户简档相关联。一些单独的gui统计数据可以与单独的角色、类别和/或用户群组相关联。这允许收集个体用户、用户角色、用户类别和/或用户群组的个体行为。例如,第一gui统计数据可以与第一用户相关联,并且第二gui统计数据可以与第二用户相关联。

至少两个路径(优选地为gui的每个路径)可以包括共同的(一个或多个)强制性gui屏幕。因此,无论用户对路径中的哪一个导航,他将总是被至少显示(一个或多个)强制性gui屏幕。这可以使得gui能够迫使用户访问(一个或多个)强制性gui屏幕用于(完全地)进行任务。

在一些实施例中,至少两个路径(优选地为gui的每个路径)可包括相同的开始gui屏幕作为路径的gui屏幕的序列的第一gui屏幕。因此,当用户访问gui时,用户可以总是首先被显示(相同的)开始gui屏幕。

在一些实施例中,gui的路径可以是独特的。例如,任意两个路径在至少一个gui屏幕上可以不同。它们可以具有不同数目的gui屏幕并且/或者至少一个gui屏幕被包含在两个路径中的仅一个中但是不被包含在另一个中。两个不同的路径可包括相同的子路径,即它们可以具有共同的gui屏幕的至少一个(子)序列。至少一个(优选地为每个路径)可以仅包括多个gui屏幕的(真实)子集。为了向用户提供例如用来进行任务的真正替代方案,不是(流的)任何路径都可以包括所有gui屏幕。在一些实施例中,路径总是被认为是完整路径,即,不是任何路径都可以(作为子序列/子路径)被完全包含在另一个路径中。路径可以包括至少一个gui屏幕多次,即路径的gui屏幕的序列可包含一个或多个gui屏幕数次。这允许路径可以具有循环,即路径的gui屏幕的序列可包含gui屏幕的相同子序列的至少一个直接相邻的重复。

当操作gui时,gui可捕获关于用户输入的信息。例如,gui可包括将被处理器进行以操作gui的控制程序。例如,控制程序可由javascript实现以执行上述方法。控制程序可被包含在gui定义文档中,例如像javascript包含在html文档中一样。在一些其它实施例中,控制程序可例如作为包括将被处理器直接执行的机器代码的可执行文件与gui定义文档分开保持。

当由处理器执行时,控制程序可捕获关于用户输入的信息。为了更好的可读性,“gui做...”型的表述将被理解为“gui的控制程序包括存储在非暂态计算机可读存储介质上的程序代码,该程序代码当被处理器执行时使处理器做...”。例如,在先的表述“当操作gui时,gui可捕获关于用户输入的信息”将被理解为“gui的控制程序包括存储在非暂态计算机可读存储介质上的程序代码,该程序代码当被处理器执行时使处理器捕获信息”。这相应地适用于gui统计数据。

关于通过gui进行导航的用户输入也被称为(用户)“动作”。因此,术语“动作”意味着用户输入,该用户输入使gui例如被电子设备从第一gui屏幕切换到第二gui屏幕,包括在一些实施例中在流或场景之间切换。例如,用户动作可包括点击当前gui屏幕中的任意图标,例如在当前gui屏幕中显示的下一个、前一个或主页按钮,以导航到下一个、前一个或开始gui屏幕。用户动作还可包括用户输入字段中的用户输入,例如如果该用户输入使电子设备切换到另一个gui屏幕,则将一些信息输入到文本字段中并按下输入键或选择单选按钮。用户动作还可包括按下用户键盘上的键或键的组合或一系列键。

gui可以在用户对gui的访问期间记录一些或所有用户输入。在一些实施例中,gui可以记录用户动作的序列。优选地,gui可以在用户对gui的访问期间记录每个用户动作。在一些实施例中,gui统计数据还涉及用户输入或用户动作。这提供关于当导航通过gui时用户的行为和/或由用户输入的数据的信息。例如,gui统计数据可以涉及用户已经预订特定酒店的频率和/或为一般旅行或为特定旅行选择特定的(一个或多个)航班和/或火车和/或汽车的概率。作为又一示例,gui可以涉及由用户在更早访问中为了沿着路径导航而进行的(用户)动作的序列。对于相应的路径,gui可包括用户动作的一个或多个序列。

在一些实施例中,路径还包括用户动作的至少一个序列。用户动作的序列可以包括针对每一对两个(直接相邻的)连续的gui屏幕的用户动作。这允许识别多个路径中的一个,即使用户尚未导航完整路径,并且即使由用户到目前为止访问的gui屏幕被包含在多个路径中的每一个中。如前所述,多个用户动作可以与相同的下一个gui屏幕相关联,即用户可以通过进行第一用户动作或第二用户动作而从当前gui屏幕导航到(相同的)下一个gui屏幕。因此,路径可包括多于一个用户动作的序列。

然而,一些实施例考虑用户在当前访问期间到目前为止进行的用户动作的历史。例如,响应于相同的用户动作,gui可以切换到第一个下一gui屏幕或切换到第二gui屏幕。gui是切换到第一gui屏幕还是切换到第二gui屏幕可以取决于由用户在到达当前gui屏幕之前进行的至少一个在先用户动作和/或取决于在当前gui屏幕或任意先前gui屏幕中输入的用户输入。

如前所述,场景包括用于使得用户能够通过使用gui进行至少两个任务的至少两个流。因此,场景可包括场景的流的所有路径的gui屏幕。在一些实施例中,gui可包括至少两个场景。每个场景可包括多个gui屏幕的子集,在一些实施例中这些子集可以是分离的。

当用户通过gui进行导航时,用户可以在不同的路径、流和/或场景之间切换:gui可以在当前gui屏幕中提供至少一个链接,响应于激活至少一个链接中的一个,gui将切换到关于当前gui屏幕的不同路径、不同流和/或不同场景的gui屏幕。这些链接可以被认为是除通过之前描述的用户动作的导航之外的另外的可选链接。确定目标gui屏幕可以基于用户在对当前上下文的更早访问中切换路径、流和/或场景的概率。该概率可以在用户的更早访问期间通过gui统计数据来收集。

如前所述,通过gui进行导航的用户的当前上下文(包括当前路径、当前流和当前场景)由最近的导航统计数据反映。然而,在一些情况下,例如当用户刚刚进入gui时,可能还不可能精确地确定当前流和/或当前情形。因此,为了提供快捷链接,gui可以应用以下方案:如果既尚未识别出当前场景也尚未识别出当前流,则可以根据gui统计数据从最常见场景的gui屏幕中选择目标gui屏幕。如果已经识别出当前流,但是没有识别出当前场景,则可以从当前流的gui屏幕中选择目标gui屏幕。如果当前流和当前场景已经被系统识别,则可以从当前场景的当前流的gui屏幕中选择目标gui屏幕。

用户可以向gui屏幕输入用户输入,该gui屏幕可能与场景的不同流相干。例如,在预订旅行的场景下,用户可以在第一流中预订外出航班。然后,在第二流中,用户可以预订酒店。然后,在第三流中,用户可以预订向内航班。因此,用户通过使用gui的一个场景的三个流来进行三个任务。然而,每个任务可能需要相同的用户输入,例如用户的姓名、地址、出生日期等。这些信息可以通过gui统计数据、例如通过存储来自对gui的更早访问和/或对特定流的更早访问的用户输入的gui统计数据来收集。因此,当用户完成第一任务并导航到第二流时,gui统计数据已经知道第一流内的用户输入。在一些实施例中,gui可以重新使用由gui统计数据收集的用户输入来预填充gui屏幕。在一些实施例中,当检测到新场景时,gui可以重置所收集的用户输入。

现在参考图1,根据本发明的实施例的电子设备可以通过诸如示例性计算机20之类的计算设备或系统实现。计算机20可包括处理器22、存储器24、大容量储存存储器设备26、输入/输出(i/o)接口28和人机接口(hmi)30。计算机20还可以经由网络18或i/o接口28可操作地耦合到一个或多个外部资源32。外部资源可以包括但不限于计算机、服务器、数据库、大容量储存设备、外围设备、基于云的网络服务或可以由计算机20使用的任何其它合适的计算机资源。

处理器22可包括从微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路或基于存储在存储器24中的操作指令来操纵(模拟或数字)信号的任何其它设备中选择的一个或多个设备。存储器24可包括单个存储器设备或多个存储器设备,包括但不限于只读存储器(rom)、随机存取存储器(ram)、易失性存储器、非易失性存储器、静态随机存取存储器(sram)、动态随机存取存储器(dram)、闪存、高速缓冲存储器或能够存储信息的任何其它设备。大容量储存存储器设备26可以包括诸如硬盘驱动器、光驱动器、磁带驱动器、非易失性固态设备或能够存储信息的任何其它设备之类的数据存储设备。

处理器22可以在驻留在存储器24中的操作系统34的控制下操作。操作系统34可以管理计算机资源,使得体现为一个或多个计算机软件应用(诸如驻留在存储器24中的应用36)的计算机程序代码可以具有由处理器22执行的指令。在替代实施例中,处理器22可以直接执行应用36,在这种情况下可以省略操作系统34。一个或多个数据结构38也可以驻留在存储器24中,并且可被处理器22、操作系统34或应用36用来存储或操纵数据。

i/o接口28可以提供将处理器22可操作地耦合到其他设备和系统(诸如网络18或外部资源32)的机器接口。应用36从而可以通过经由i/o接口28通信,与网络18或外部资源32协同工作,以提供包括本发明的实施例的各种特征、功能、应用、处理或模块。应用36还可以具有由一个或多个外部资源32执行的程序代码,或者以其他方式依赖于由计算机20外部的其他系统或网络组件提供的功能或信号。实际上,给定可能的几乎无尽的硬件和软件配置,本领域普通技术人员将理解,本发明的实施例可包括位于计算机20外部、分布在多个计算机或其他外部资源中或由计算资源(硬件和软件)提供的应用,计算资源作为网络18上的服务(诸如云计算服务)而被提供。

hmi30可以以已知方式可操作地耦合到计算机20的处理器22,以允许用户直接与计算机20交互。hmi30可包括视频或字母数字显示器、触摸屏、扬声器,以及能够向用户提供数据的任何其它合适的音频和视觉指示器。hmi30还可包括能够接受来自用户的命令或输入并将所输入的输入传送到处理器22的输入设备和控件,诸如字母数字键盘、指向设备、小键盘、按钮、控制旋钮、麦克风等。

数据库40可驻留在大容量储存存储器设备26上,并且可用来收集并组织由本文中所述的各种系统和模块使用的数据。数据库40可包括数据和存储并组织数据的支持数据结构。具体地,数据库40可被用任意数据库组织或结构(包括但不限于关系数据库、分层数据库、网络数据库或其组合)来布置。数据库管理系统可以由作为处理器22上的指令执行的计算机软件应用提供。该数据库管理系统可以用来响应于查询而访问存储在数据库记录中的信息或数据。该查询可以由操作系统34、其他应用36或一个或多个模块动态地确定并执行。

现在参考图3a,呈现了描绘根据本发明的实施例的可以由计算机20进行的处理50的流程图。为了进行处理50,计算机20被配置为通过将gui从当前gui屏幕切换到gui的多个gui屏幕中的下一个gui屏幕来显示gui的gui屏幕。该切换响应于用户动作(即触发切换的用户输入)而进行。这使得用户能够通过gui(即通过gui屏幕)进行导航。

从块51开始,在块52中,处理50可以在对gui的当前访问中生成最近导航历史。例如,最近导航历史可被存储在数据库40和/或资源32中。最近导航历史包括关于当前gui屏幕以及在对gui的当前访问中到目前为止向用户显示的可能的在先gui屏幕的信息。因此,最近导航历史包括关于包括由用户在对gui的当前访问中已经访问的gui屏幕的序列的子路径的信息。

例如,最近导航历史还可以基于用户输入或(仅)由用户在当前访问中进行的用户动作。最近导航历史可包括表示包括从在当前访问中通过gui进行导航的开始直到现在为止由用户进行的每个用户输入或每个用户动作(即包括当前gui屏幕上的用户输入)的序列的数据。

在一些示例中,如上面已经描述的,响应于添加gui屏幕或从gui定义中移除gui屏幕或现有路径的变化,关于从而受影响的任何路径的导航历史在块52中被从gui统计数据中移除,而不受gui屏幕的添加/移除或路径改变影响的路径的gui统计数据被保持。

在块53中,处理50可以基于最近导航历史和gui统计数据来识别(可能的)候选路径。只有最近导航历史构成子序列的路径可以被识别为候选路径。此外,在一些实施例中,只有gui统计数据所涉及的路径可被识别为候选路径。

例如,gui统计数据可被保持在数据库中,例如存储在数据库40或资源32中。gui统计数据在对gui的更早访问中被生成,并且可包括关于之前由用户或由当前用户曾经导航的每个路径的统计信息。gui统计数据可包括每个路径的权重。权重可以基于在更早访问中导航的相应的路径的频率。路径越经常地已被导航通过,权重(至少关于其他路径的权重)可能就越大。例如,gui所涉及的所有路径的所有权重的和可以被归一化为特定值,例如1或100。在一些实施例中,之前从未被导航的路径未被包含在gui统计数据中或被gui统计数据所涉及。在一些其它示例中,gui统计数据涉及或包括gui的每个(可能的)路径。可以假设从未被导航的路径的权重或将其设置为零。例如,初始化gui统计数据可包括针对gui的所有路径将表示相应的路径的一些信息存储到gui统计数据数据库中,以及还将值为零并且与该路径相关联的权重存储到gui统计数据数据库中。在一些其它示例中,gui统计数据可以响应于对gui的访问而被动态地生成。相应地,每当用户对gui统计数据所(尚)未涉及的路径导航时,计算机20可将表示该路径的一些信息存储到gui统计数据数据库中,并且还可以将值为零(作为初始值)并且与该路径相关联的权重存储到gui统计数据数据库中。例如,当用户对gui统计数据所已经涉及的路径导航时,与该路径相关联的权重可被增加(关于gui统计数据中所涉及的其他路径的权重)。因此,gui统计数据包括关于用户或特定当前用户的导航行为的信息。gui统计数据可以在个体用户的级别、用户角色的级别和/或用户群组的级别处涉及路径的权重。在一些实施例中,计算机20可以为每个相应的用户提供相应的gui统计数据,例如与第一用户相关联的第一gui统计数据和与第二用户相关联的第二gui统计数据等等。这些多个gui统计数据可以作为一个单个数据库或作为各自与(特定的)用户相关联并且包括与该用户相关联的一个gui统计数据的多个数据库而被存储在大容量存储装置20或资源32上。

在块54中,处理50可以确定目标gui屏幕。确定目标gui屏幕可以限于包含在候选路径中的这些gui屏幕。候选路径可以是包括最近导航历史作为子路径、包括当前gui屏幕之后的至少一个下一个gui屏幕并且包括至少一个下一个gui屏幕之后的至少一个候选目标gui屏幕的路径。换句话说,候选路径可包括至少三个gui屏幕,即当前gui屏幕、下一个gui屏幕(其可通过使用快捷链接来跳过)和下一个gui屏幕之后的目标gui屏幕的序列。

在块55中,处理50可以将快捷链接设置为指向所确定的目标gui屏幕。这意味着快捷链接例如被计算机20以适当的方式配置为使计算机20响应于激活快捷链接的用户输入而将gui切换到所确定的目标gui屏幕。快捷链接可包括对所确定的目标gui屏幕的引用。因此,当激活快捷链接时,计算机20可以读取包含在快捷链接中的引用,并将由此引用的gui屏幕显示为下一个gui屏幕。因此,当通过gui进行导航时,用户可以例如通过点击表示当前gui屏幕中的快捷链接的图标来激活快捷链接,并因此跳过当前gui屏幕与目标gui屏幕之间的(一个或多个)接下来的gui屏幕直接“跳转”到目标gui屏幕。然而,为了使得用户能够容易地采用由快捷链接提供的快捷方式,在块56中,处理50可以在当前gui屏幕中显示快捷链接。快捷链接可以例如作为图标而被显示给用户。在块57中,用户可以通过相应的用户动作来激活快捷链接。响应于此,gui在块59中显示目标gui屏幕,并且从而跳过至少一个下一个gui屏幕。否则,即响应于在块57中尚未激活快捷链接,在块58中,用户可以通过(一个或多个)接下来的gui屏幕中的至少一个进行导航。最后,在已经通过(一个或多个)接下来的gui屏幕中的至少一个进行导航之后,在块59中,目标gui屏幕将被显示,因为用户也将通过采用长路线而不在块57中激活快捷链接来到达目标gui屏幕。根据图3a的流程在块60中结束。

图3b中呈现的流程图对应于图3a中所描绘的流程图。然而,除了图3a的处理50之外,处理50b还包括在块56b中将在块54中确定的目标gui屏幕预加载到计算机20的存储器(诸如存储器24)。以这种方式,预期由用户可能激活目标gui屏幕,引起响应于其通过使用快捷链接的实际激活而显示目标gui屏幕(与仅响应于快捷链接激活而加载目标gui屏幕相比)被加速。在待预加载的目标gui屏幕取决于对当前gui屏幕的用户输入的情况下,至少目标gui屏幕中的静态并因此独立于对当前gui屏幕的用户输入的那些部分被预加载。然后在激活快捷链接时,加载目标gui屏幕的取决于对当前gui屏幕的用户输入的动态部分。

现在参考图4a,处理50还可包括向用户提供第一流61用于通过在第一流61的gui屏幕65之间切换gui来进行第一任务,以及向用户提供第二流62用于通过在第二流62的gui屏幕65之间切换gui来进行第二任务。在该实施例中,gui包括至少两个流61、62,并且因此使得用户能够进行至少两个任务,例如预订酒店和预订航班。

如图4a例示出的,gui屏幕65可以由图的节点表示。路径64可以由连接与路径相关联的节点的边缘表示。每个路径可包括由图的根节点表示的(相同的)开始gui屏幕。为了完全进行任务,用户必须从根节点导航到图的叶(即,与根节点相对的最外部节点)。因此,如在图4a中可见,流61、62提供许多方式来进行任务,因为流的每个路径可以被认为是进行任务的一种单独方式。路径的权重可以由边缘的厚度表示。

现在参考图4b,处理50还可包括向用户提供第一场景70用于进行第一组任务以及向用户提供第二场景75用于进行第二组任务。每个场景70、75包括至少两个流71、72、76、77,每个流包括多个路径。包括场景的gui使得用户能够进行复杂的任务。例如,场景70使得用户能够进行包括流71和72的任务的复杂任务。在一些实施例中,可以隔离场景70、75,因为可以使得通过gui进行导航的用户仅通过包含在特定场景的流中的(一个或多个)gui屏幕进行导航。然而,响应于场景切换用户输入,gui可以在gui的多个场景之间切换。在场景之间切换可以包括将当前gui屏幕设置为相应的第一流的开始gui屏幕。在一些实施例中,当在场景之间切换时,最近导航历史也被重置,即最近导航历史将被设置或修改为仅包括单个gui屏幕,例如开始gui屏幕。虽然图4b示出了流71、72、76和77的类似示图,但是任何两个流可以在其路径数目和路径本身方面不同。

现在参考图5,例示出了表示总共包括九个gui屏幕的gui中的开始gui屏幕s和八个gui屏幕a-h的示图。gui提供四个路径,包括如由字母指示并且与相应的权重(sacdf,60%)、(sbcdf,10%)、(sbceg,10%)和(sbceh,20%)相关联的相应的gui屏幕的序列。权重被包含在gui统计数据中,并且表示相应的路径在对gui的更早访问中已被导航的频率。路径对应于用户可以通过gui进行导航的仅允许的gui屏幕的序列。换句话说,如果第一和第二gui屏幕未包含在同一路径中,则用户不必从第一gui屏幕导航到第二gui屏幕。

注意,在一些实施例中,gui统计数据包括路径的权重,而不是图的边缘的单独权重。图的特定边缘的权重(或概率)可以从路径的权重导出。例如,70%的用户一直导航边缘cd,而只有30%的用户曾导航边缘ce。然而,假设用户沿着sbc导航到当前gui屏幕c的情况,在这种情况下,25%的用户曾访问下一个gui屏幕d,而75%的用户在更早的访问中曾访问下一个gui屏幕e.

为了例示的目的,可以假设c是当前gui屏幕。在这种假设下,用户在对gui的当前访问中到目前为止可能已经从开始gui屏幕s开始导航到当前gui屏幕c。如果仅考虑关于当前gui屏幕c的信息用于提供快捷链接,则将适当地找到gui屏幕f、g和h中的每一个。然而,可以如下更适当地设置快捷链接:

根据该图,用户到目前为止可能已经采用子路径sac或sbc。该信息可被使用,因为最近导航历史可包括sac或sbc作为在当前访问中到目前为止访问的gui屏幕的序列。因此,最近导航历史允许考虑当前gui屏幕以及用户来自何处(即他在当前访问中已经访问的gui屏幕的序列)两者。在一些实施例中,最近导航历史还可以也包括用户在其当前的访问中到目前为止已经进行的动作序列或用户输入。这允许在不同的可能历史sac和sbc之间进行区分,而不是仅考虑当前gui屏幕c。

当用户来自节点a时,即如果用户已经沿着sac导航,则他到目前为止一定在路径sacdf上导航,因为这是包括gui屏幕a的仅有可能的路径。在这种情况下,gui将防止用户进一步导航到e、g或h,因为e、g和h未包含在路径sacdf中。相应地,仅有的(可能的)下一个gui屏幕是屏幕d。这可被更详细地解释:

关于识别候选路径:该识别可包括确定路径是否包括最近导航历史sac作为子路径。因此,在本示例中,只有路径sacdf仍然作为可能的候选路径。在本示例中,剩余的检查将不会改变任何事:识别还可包括确定路径是否被gui统计数据涉及。在本示例中,gui统计数据涉及gui的所有(允许的)路径。因此,sacdf仍然是候选路径。此外,识别可包括确定路径是否具有在下一个gui屏幕之后的至少一个另外的gui屏幕。在本示例中,路径sacdf具有在下一个gui屏幕d之后的另外的gui屏幕f,并且从而仍然作为候选路径。因此,当用户来自a时,只有路径sacdf被识别为当前gui屏幕c的候选路径。

关于确定目标gui屏幕,首先所有可能的候选目标gui屏幕可被确定。在本示例中,仅有的候选gui屏幕是屏幕f,因为f是包含在候选路径中并且此外在下一个gui屏幕d之后的仅有的gui屏幕。因此,快捷链接可被设置为指向目标gui屏幕f,并且快捷链接可被显示在当前gui屏幕c中。这使得用户能够从当前gui屏幕c直接跳转到目标gui屏幕f,并且从而跳过下一个gui屏幕d。

当用户来自b时,即如果用户已经沿着sbc导航,则gui将允许用户导航到gui屏幕d、e、f、g和/或h中的任意一个。关于识别候选路径:如前所述,识别可包括确定路径是否包括最近导航历史sbc作为子路径。因此,在本示例中,仅sbcdf、sbceg和sbceh(而不是sacdf)仍然作为可能的候选路径。识别还可包括确定路径是否被gui统计数据涉及。如前所述,在本示例中,gui统计数据涉及gui的所有路径。此外,识别可包括确定路径是否具有在下一个gui屏幕之后的至少一个另外的gui屏幕。在本示例中,路径sbcdf、sbceg和sbceh具有在接下来的gui屏幕d、e之后的另外的gui屏幕f、g、h。因此,路径sbcdf、sbceg和sbceh被识别为候选路径。

关于确定目标gui屏幕,首先可确定所有可能的候选目标gui屏幕。在本示例中,gui屏幕f、g、h是候选目标gui屏幕,因为它们被包含在候选路径中,并且此外它们在接下来的gui屏幕d、e之后。因此,为了提供快捷链接,可能的候选目标gui屏幕之一可被选择。该选择可以基于gui统计数据和/或基于可能的目标gui屏幕与当前gui屏幕之间的距离。在本示例中,对于每个可能的目标gui屏幕f、g、h,距离被确定为具有值2。然而,基于gui统计数据,可以发现,在更早访问中,用户在这种情况下可能已经优选(即到目前为止已经在sbc上导航)可能的目标gui屏幕之一。路径sbcdf和sbceg中的每一个的权重是10%。然而,路径sbceh的权重更大,即20%。因此,在更早的访问中,在这种情况下,用户更经常地导航到h而不是导航到f或g。因此,h可以被确定为目标gui屏幕,并且因此快捷链接可被设置为指向该目标gui屏幕h。快捷链接可被显示在当前gui屏幕c中。这使得用户能够从当前gui屏幕c直接跳转到目标gui屏幕h,并且从而跳过下一个gui屏幕e。

应当注意,在这种情况下,三个可能的目标gui屏幕被确定。在一些另外的实施例中,可以提供至少一个另外的快捷链接,其可以指向例如f或g。例如,如果多个(可能的)候选目标gui屏幕被确定,则它们中的至少一些可被相应的快捷链接所指向。

一般来说,被执行以实现本发明的实施例的例程,不论被实现为操作系统的一部分还是特定应用、组件、程序、对象、模块或指令序列乃至其子集,在本文中可被称为“计算机程序代码”或简称为“程序代码”。程序代码通常包括在各种时间驻留在计算机中的各种存储器和存储设备中的计算机可读指令,并且计算机可读指令当被计算机中的一个或多个处理器读取并执行时使该计算机进行执行体现本发明的实施例的各个方面的操作和/元件所必需的操作。用于执行本发明的实施例的操作的计算机可读程序指令例如可以是汇编语言或以一种或多种编程语言的任意组合编写的源代码或目标代码。

本文中描述的各种程序代码可以基于本发明的特定实施例中实现的应用来识别。然而,应当认识到,以下的任何特定程序命名仅仅是为了方便而使用,并且因此本发明不应限于仅在由这样的命名所识别和/或暗示的任何特定应用中使用。此外,考虑到计算机程序可以被组织成例程、过程、方法、模块、对象等的通常无尽数目的方式以及程序功能可被在驻留在典型计算机内的各种软件层(例如,操作系统、库、api、应用、小程序等)之间分配的各种方式,应当认识到,本发明的实施例不限于本文中所描述的程序功能的特定组织和分配。

包含在本文中所描述的任何应用/模块中的程序代码能够以各种不同形式作为程序产品被单独地或共同地分发。具体而言,程序代码可以使用其上具有用于使处理器执行本发明的实施例的各方面的计算机可读程序指令的计算机可读存储介质来分发。

固有地非暂态的计算机可读存储介质可包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性以及可移除和不可移除的有形介质。计算机可读存储介质还可包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存或其他固态存储器技术、便携式紧凑盘只读存储器(cd-rom)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望信息并且可以被计算机读取的任何其它介质。计算机可读存储介质不应被解释为暂态信号本身(例如,无线电波或其它传播的电磁波、通过诸如波导之类的传输介质传播的电磁波或通过导线传送的电信号)。计算机可读程序指令可被从计算机可读存储介质下载到计算机、另一类型的可编程数据处理装置或另一设备,或者经由网络而被下载到外部计算机或外部存储设备。

存储在计算机可读介质中的计算机可读程序指令可以用于指引计算机、其他类型的可编程数据处理装置或其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图、序列图和/或框图中指定的功能、动作和/或操作的指令的一件制品。计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的一个或多个处理器以产生机器,使得经由一个或多个处理器执行的指令使得要进行一系列计算以实现流程图、序列图和/或框图中指定的功能、动作和/或操作。

在特定替代实施例中,在流程图、序列图和/或框图中指定的功能、动作和/或操作可被与本发明的实施例一致地重新排序、串行处理和/或并发处理。此外,流程图、序列图和/或框图中的任意一个可以包括比与本发明的实施例一致地例示出的块更多或更少的块。

本文中所使用的术语仅是为了描述特定实施例的目的,并且并不意在限制本发明的实施例。如本文中所使用的,除非上下文另外明确指出,否则单数形式“一”、“一个”和“该”也意在包括复数形式。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”具体说明所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。此外,在详细描述或权利要求中使用术语“包括”、“具有”、“具有”、“带有”、“由...组成”或其变型的程度上,这些术语以类似于术语“包含”的方式意在是包括性的。

尽管已经通过对各种实施例的描述来例示出了本发明的全部,并且虽然已经相当详细地描述了这些实施例,但是申请人的目的不是将所附权利要求的范围限定或以任何方式限制到这样的细节。另外的优点和修改对于本领域技术人员将是显而易见的。因此,本发明在其更广泛的方面因而不限于所示和所描述的特定细节、代表性装置和方法以及例示性示例。因此,在不脱离申请人的总体发明概念的精神或范围的情况下,可以进行与这些细节的脱离。

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