包括任务栏固定以及跳转列表任务与项目启动的隐私固定的制作方法

文档序号:6443001阅读:451来源:国知局
专利名称:包括任务栏固定以及跳转列表任务与项目启动的隐私固定的制作方法
包括任务栏固定以及跳转列表任务与项目启动的隐私固定
背景技术
近年来,产业已经开始聚焦于将网络应用或网站整合到用户计算机桌面环境或“桌面”的概念。然而,这样做的话就存在着相关联的难题。例如现在,对于桌面整合(desktop integration)来说,网站难以定义它们站点的界线。因此,终端用户只能通过他们自己开发的客户端侧的脚本来定义所述界线。但这可能是有问题的,因为终端用户不一定知道特定网站是如何构造的。例如,终端用户不一定知道所有连接、网络属性之间的关系,或由网站使用以将功能提供给用户的其他细微差别。因此,终端用户的脚本不能鉴别这些连接或细微差别,因此因而可能导致不希望的或中断的用户体验。另外,现在,用户面临着所谓的双启动问题。具体地,用户不得不启动他们的个人电脑,打开他们的浏览器,并且最终启动他们希望在其内部工作的特定网络应用。所述 问题随着以下事实而增加浏览器可以为用户提供太多的娱乐(例如出现在浏览器的炫技(chrome)中的)并且不允许用户完全专心于与网络应用相关联的手头特定任务。

发明内容
提供本发明内容而以简化形式对精选的概念进行介绍,在以下具体实施方式
中将进一步描述这些概念。本发明内容没有打算标识出所要求保护的主题的主要特征和基本特征,也没有打算用来帮助确定所要求保护的主题的范围。不同实施例提供了一种允许终端用户在客户端装置(例如客户端装置桌面)上安装网络应用和网站的机构。依据一个或多个实施例,可以利用客户端侧的代码来允许与网站相关联的开发者定义与用户交互相关联的界线,并且由运行时间(run-time)引擎执行这些界线。在至少某些实施例中,开发者可以通过Java脚本代码提供用于创建开始菜单快捷方式、导航和所谓的跳转列表整合的各种配置,以及多个其他功能部件。在某些实施例中,可将网络应用配置为以至少一个特定模式运行,例如非持久性会话模式。在至少某些实施例中,在安装期间可以自动地配置网络应用的至少一个模式。替换或补充地,可以手动地配置网络应用的一个或多个模式。


在所有附图中使用的相同的标记表示同样的特征。图I图解说明了依据一个或多个实施例的可以使用本文所描述的各种原理的操作环境。图2图解说明了依据一个或多个实施例的网络应用窗口。图3图解说明了依据一个或多个实施例Java脚本API。图4是描述依据一个或多个实施例的安装方法中的步骤的流程图。图5是描述依据一个或多个实施例的网络应用交互方法中的步骤的流程图。图6图解说明了依据一个或多个实施例的一部分客户端桌面。图7图解说明了依据一个或多个实施例的Java脚本API。
图8图解说明了依据一个或多个实施例的网站和自定义跳转列表(customjumplist)之间的动态交互。图9图解说明了依据一个或多个实施例的一部分客户端桌面。图10图解说明了一种依据一个或多个实施例的一部分客户端桌面。图11是描述依据一个或多个实施例的安装方法中的步骤的流程图。图12是描述依据一个或多个实施例的方法的步骤的流程图。
图13是描述依据一个或多个实施例的安装方法中的步骤的流程图。图14图解说明了依据一个或多个实施例的客户端桌面。图15a和图15b用图解法图解说明了依据一个或多个实施例的拖和放操作。图16是描述依据一个或多个实施例的安装方法中的步骤的流程图。图17图解说明了依据一个或多个实施例的客户端桌面。图18是描述依据一个或多个实施例的安装方法中的步骤的流程图。图19图解说明了依据一个或多个实施例的客户端桌面。图20是描述依据一个或多个实施例的方法中的步骤的流程图。图21图解说明依据一个或多个实施例的示例性实现方式。图22图解说明了可被用来实现一个或多个实施例的示例性系统。
具体实施例方式概沭
不同实施例提供了一种允许终端用户在客户端装置(例如客户端装置桌面)上安装网络应用和网站的机构。依据一个或多个实施例,可以利用客户端侧的代码来允许与网站相关联的开发者定义与用户交互相关联的界线,并且通过运行时间引擎执行这些界线。在至少某些实施例中,开发者可以通过Java脚本代码提供用于创建开始菜单快捷方式、导航、和所谓的跳转列表整合的各种配置,以及其他功能部件。在某些实施例中,可将网络应用配置为以至少一个特定模式运行,例如非持久性会话模式。作为网络应用安装过程的一部分,可以自动地配置网络应用的至少一个模式,例如通过将模式信息包括在关联.website文件中。替换或补充地,可以手动地配置网络应用模式。界线(boundary)可以被认为是开发者定义的体验,其涉及如何将功能展示给终端用户。界线与网站域(例如,与独立应用相关联的顶层域和子域)相关联,或者与寄宿(host)在域上的网站的子集相关联。因此,可以通过域的集合、子域、文件夹、子站点、协议、寄主、路径等定义所述界线,其被用于使特定网络应用工作。在一个或多个实施例中,网站可以决定采用以上和以下所描述的功能。在这种情况下,开发者可以提供在某些情况下用Java脚本表示的、定义使用他们的网站的用户体验的界线的代码。替换或补充地,没有选择以上和以下所描述的功能的网站可以具有为它们提供的默认体验。在随后的讨论中,提供了标题为“操作环境”的章节,并且描述了可以使用一个或多个实施例的环境。在这之后,标题为“整合基础结构”的章节描述了依据一个或多个实施例使网络应用整合到客户端装置上的基础结构。接下来,标题为“跳转列表整合”的章节描述了依据一个或多个实施例可以如何整合所谓的跳转列表。接下来,标题为“任务栏固定”的章节描述了依据一个或多个实施例如何将网络应用固定(pin)到任务栏。在这之后,标题为“手动配置网络应用模式”的章节描述了用户如何手动地改变和/或配置网络应用运行的模式。最后,标题为“示例性系统”的章节描述了可被用来实现一个或多个实施例的示例性系统。现在,考虑可以实现一个或多个实施例的一种示例性操作环境。
操作环塏
图I图解说明了依据一个或多个实施例的整体在100的操作环境。环境100包括计算装置102,计算装置102具有一个或多个处理器104、一个或多个计算机可读存储介质106和一个或多个应用108,所述一个或多个应用108驻留在所述计算机可读存储介质中,并且由所述处理器执行。作为示例而非限制,计算机可读存储介质可以包括易失性和非易失性的存储器和/或存储介质的所有形式,典型地,它们与计算装置相关联。这种介质可以包括ROM、RAM、闪速存储器、硬盘、可拆卸介质等。以下在图22中示出并且描述了计算装置的一个特定示例。另外,计算装置102包括网络浏览器110形式的软件应用。可以使用任何适当的网络浏览器,其实例可从本文件的受让人或其他人处得到。另外,计算机可读存储介质106可以包括网络应用模式浏览器111,其如同以上和以下所描述的那样操作。网络应用模式浏览器111充当运行时间引擎,所述运行时间引擎从网站接收API调用并且为网站产生API调用、监视网络应用安装过程、执行界线、和实现如以上和以下所描述的功能。在操作中,网络应用模式浏览器是完整浏览器的削减版本,关掉了许多常规的浏览器功能。在某些情况下,网络应用模式浏览器可以被认为是“无炫技(chrome-less)”浏览器,其不包括许多常见浏览器控件。然而,可以通过微型控制栏展示某些命令。因此,网络应用模式浏览器移除了对于用户的许多纷扰,并且准许定向的、网站定义的用户体验,在其中,网站可以控制用户如何与它们的网络应用进行交互。在操作中,网络应用模式浏览器可以被认为是逻辑地驻留在网站和客户端装置的操作系统之间。因此,网络应用模式浏览器从网站接收调用,并且作为响应,可以进行操作系统调用而影响本文所描述的功能。同样地,网络应用模式浏览器可以从操作系统接收调用,这将影响所述网站的功能。例如,操作系统展示实现与桌面的任务栏交互的API。网络应用模式浏览器可以从网站接收调用,并且作为响应,可以进行实现任务栏的功能的API调用,如在下面将明了的。网络应用模式浏览器111可以作为独立部件而实现。替换或补充地,网络应用模式浏览器111可以作为应用108和/或浏览器110的一部分而实现。另外,环境100包括网络112 (例如因特网),以及一个或多个网络站点114,可以从一个或多个网络站点114接收内容并且可以向其发送内容。如以上和以下所述,这种内容可以包括整合到客户端桌面上的内容,例如网络应用,或以其他方式通过客户端装置可用的内容。可将计算装置102具体化为任何适当的计算装置,例如,作为示例而非限制,台式计算机、便携式计算机、诸如个人数字助理(PDA)的手持式计算机和蜂窝电话等。在描述了示例性操作环境之后,现在,考虑允许将网络应用整合到客户端装置上的基础结构的讨论。糖合某础结构
依据一个或多个实施例,网站可以选择作为更普遍的“站点模式”体验的一部分而提供的域导航。域导航使网站能够自定义它们现有网站在用户访问特定域的内部和外部的链接时。当访问开发者指定的界线内部的链接时的行为,可以在网络应用窗口内再现并且使用所述内容,由网络应用模式浏览器将所述网络应用窗口再现成相关联网络应用的一部分。当访问开发者指定的界线外的链接时,可以在默认浏览器内再现并使用关联的内容,所述默认浏览器处于网络应用模式浏览器之外。这就允许网站定义应该将什么域当作网站的扩展来对待,以及哪些网站不该被如此对待。在一个或多个实施例中,可以由网络开发者定义导航域,并且可以标识链接,其内 容由网络应用模式浏览器显示为整合网站的一部分、或者显示在默认浏览器的网络应用模式浏览器之外。另外,可以定义用于将网络应用页的集合关联在一起的默认域参数。作为一个示例,考虑以下内嵌式(in-line)域页定义
^contoso. crm. dynamics. comX^,木.microsoft. com\木;
这个域页定义将允许在相同桌面网络应用窗口中仅显示以下形式的URI sales, contoso. crm. dynamics. com\* hr. contoso. crm. dynamics\*
木.microsoft. com\crm\
同样,这个域页定义将促使在桌面网络应用窗口之外显示其他URI,即使链接参考处于桌面网络应用窗口内的页中www. bing. comhome. live, com
在上述域页定义中,在网络应用安装API内部使用通配符。典型地,当用户选择由网站提供的网站整合链接时,由所述网站调用所述API。所述API可以将桌面、任务栏、或开始菜单、或将用于启动网站快捷方式的任何其他适当位置中的信息和内容填入网络应用文件或者“.website”文件。将意识到且了解的是,任何适当的文件扩展都可用于指示网络应用文件。在.website文件中存储所述导航域及其他界线信息。当启动所述.website文件时,由所述网络应用模式浏览器111执行其内部的导航域。由所述用户选择或者由所述网站访问的链接继续在网络应用窗口内执行,只要它们与通配符域相匹配。然而,当检测到网站处于定义的导航域之外时,默认浏览器被实例化(instantiate)或者以其他方式被使用,并且在所述网络应用窗口之外但在所述默认浏览器之内显示与所述网站相关联的内容。作为一个示例,考虑图2,其图解说明了具有a. com (202),b. com (204)和d. com(206)的导航域集合的网络应用窗口 200,其意味着将来自这些域的所有页都显示在网络应用窗口 200内。当从网络应用窗口 200内部访问来自c. com (208)或者e. com (210)的页时,这些页显示在默认浏览器窗口中,而没有显示在网络应用窗口 200中。图3图解说明了依据一个或多个实施例的Java脚本API 300。所述图解说明的Java脚本API使网站整合客户端桌面和网络应用。所述API定义将由网络应用或者运行时间引擎执行的导航域。在这个示例中,使用如上图解说明的通配符表达描述所述导航域。所述API实现了利用客户端装置上的内容和信息填充或者更新.website应用文件302,并且将导航域及其他信息存储于其中。当启动网络应用时执行这些导航域。替换或补充地,网站应用文件可以包括与一个或多个网络应用模式相关联的配置参数和/或标记。例如, website应用文件302包括标记bNonPersistentSessionMode(非持久性会话模式),其可用于指示启动相关联的网络应用的模式。在这个特定示例中,bNonPersistentSessionMode被设置为真,其对应于以“非持久性会话”或“隐私”模式启动相关联的网络应用。在网页浏览会话期间,可以将应用配置为保留与所述浏览会话相关联的信息,例如,网站访问历史,登录证书、用户输入信息等。在某些实施例中,可以将应用配置为运行“隐私”模式,其中,在浏览会话结束时,没有保留和/或从系统存储器中清除与浏览会话相关联的信息。通过将网络应用配置为“隐私”或“非持久性会话”模式,没有保留与该网络应用相关联的浏览会话信息。在另一个示例中,用户可以将网络应用配置为每当访问固定网站时就启动新的会话。例如,在多用户共享计算装置的环境中,可能希望保存会话信息,但是,每当访问固定网站时就启动新的网络应用迫使每个用户输入他或她的登录信息。如同在“非持久性会话”模式的情形中,如以上和以下所述,可以通过各种机构将网络应用配置为启动或运行于“每次访问就启动新会话(new session per access)”模式。 在图解说明和描述的实施例中,.website应用文件302包括网站已经为它的站点模式配置而定义的信息以及与所述网络应用模式浏览器配置相关联的信息。这个信息包括作为由网络应用模式浏览器显示的初始页的开始URL、网站指定的所有导航域、网络应用标题以及所谓的网页图标(favicon)。如以下将要描述的,可以包括其他信息。现在,一旦客户端侧启动网络应用,网络应用模式浏览器就读取网络应用文件并且执行此处定义的界线和模式。如上所述,因为由对特定网站及其细微差别在行的开发者定义网络应用体验,所以可以提供完整且整合的用户体验。图4是描述依据一个或多个实施例的安装方法步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,可以通过在客户端装置上运行的软件来执行所述方法的各方面。步骤400选择网站整合功能部件。可以以任何适当方式来执行所述步骤。典型地,当用户选择一个工具或以其他方式采取行动启动网络应用安装过程时执行所述步骤。例如,用户可能选择使他整合到所述网络应用的链接。以下将提供其是如何实现的特定示例。步骤402在所述客户端装置上创建网络应用文件-这里命名为website”文件。这个文件在最初创建时可以组成工件(artifact)或外壳(shell),可以随后用从所述网站接收或者代表所述网站的内容和信息以及网络应用模式配置来填充所述工件或外壳。步骤404用网络应用内容填充所述网络应用文件。可以以任何适当方式执行所述步骤。例如,可以通过以上和以下提供的示例的Java脚本API的使用来执行这个步骤。替换或补充地,可以通过使用标记,例如HTML来执行这个步骤。在所述客户端上创建所述网络应用文件且用内容填充所述网络应用文件后,现在,可以启动所述网络应用且与之进行交互。图5是描述依据一个或多个实施例的网络应用交互方法的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,由运行在客户端上的软件以及运行在支持网站的服务器处的软件来执行所述方法的各方面。因此,例如,所述图的一列被标记为“客户端”以标明由网络应用模式浏览器执行的或者由网络应用模式浏览器在客户端执行的那些步骤,并且一列被标记为“网站”以标明由所述网站或者代表所述网站而执行的那些步骤。步骤500接收站点模式的用户选择。可以以任何适当方式执行所述步骤。例如,可以利用所述客户端桌面上安装的快捷方式接收站点模式选择。响应接收站点模式选择,步骤502,请求一个开始URL。如上所述,可以在网络应用文件中得到所述开始URL。步骤504接收开始URL请求。步骤506,将包括与所述开始URL相关联的内容的相关联网络资源返回到所述客户端。
步骤508接收相关联的网络资源,以及步骤510,在网络应用窗口中再现网络资源。如上所述,通过所述网络应用模式浏览器可以再现所述网络应用窗口。如上所述,在某些实施例中,可以在所述网络应用文件中部分地得到网络应用模式浏览器运行时间配置。步骤512接收与在所述网络应用窗口中再现的资源有关的人工交互。所述用户交互可以包括任何适当类型的用户交互。例如,所述用户交互可以包括源于所述网络应用窗口内部的导航活动。步骤514确定用户交互是否位于由所述网络应用文件定义的界线内。如果所述用户交互处于由所述网络应用文件定义的界线内,则步骤516在所述网络应用窗口中再现与所述用户交互相关联的内容。另一方面,如果所述用户交互没有处于由所述网络应用文件定义的界线内,则步骤518在默认网络浏览器中再现与所述用户交互相关联的内容。如此,可以执行由网站开发者为特定网站定义的界线,以保证如开发者所期望的那样保存所述用户体验。例如,所述网站定义的开始URL是主页,并且随后以网络应用模式访问所述主页以导航到所述开始URL,而不是用户原来定义的浏览器主页。这容许快速访问到网络应用特定页,而不是某些无关的主页。这就减轻了终端用户不得不定义他们自己的站点特定体验,其可能精确工作也可能不精确工作。因而,可以为终端用户提供完整的、整合的且智能管理的体验。在描述了示例性安装和交互体验之后,现在,考虑跳转列表整合的概念。跳转列表整合
在一个或多个实施例中,开发者可以使网站在桌面整合期间定义一系列所谓的跳转列表任务,其可以用于与所述网站交互。另外,在至少某些实施例中,网站可以创建并且更新自定义跳转列表。可以将跳转列表认为是组成呈现给用户的相应任务或内容的集合的列表。通过跳转列表,网站可以将相应且有用信息的精华提示给用户。跳转列表与特定网络应用的能力或功能有关。例如,电子邮件应用的跳转列表可以包括给用户打开联系人、创建新的电子邮件消息等的能力的任务。在某些情况下,跳转列表可以包括相应且最常使用的命令和数据的列表。在一个或多个实施例中,可以将跳转列表功能实现为包括静态元素和动态元素两者。开发者可以在网络应用安装过程期间定义静态元素,如上所述,所述网络应用安装过程填充网络应用文件。可以将与所述静态元素相关联的设置存储在所述网络应用文件内。在一个或多个实施例中,所述设置可以包括列表名称及相关联的任务。在至少某些情况中,所述静态元素可以组成表示常用功能的元素。
可以由运行在所述网络应用窗口内的网站页驱动与所述动态元素相关联的设置。这些设置包括为用户动态展示可辨别标记的设置。例如,一个设置可以将项目添加到自定义的跳转列表,并且一个设置可以显示覆盖图标,以下将提供它们的示例。在至少某些实施例中,每当启动网络应用时可以清除动态设置,并且可以由网络应用脚本代码配置动态设置。作为依据一个实施例的自定义跳转列表的一个示例,考虑图6,其图解说明了整体为600的一部分客户端桌面。依据一个或多个实施例展示自定义跳转列表602。这里,604图解说明静态元素,606图解说明动态元素。在这个示例中,静态元素列表名称是“任务”,所述任务或静态元素包括“New Email Message (新电子邮件消息)”、“New Appointment (新约会)”、“New Contact (新联系人)”和“New Task (新任务)”。所述动态元素列表名称是“Today (今天)”,并且在这个示例中,所述任务或动态元素包括从用户日历生成的提醒。所述动态元素由相关联的网站动态地填充。因此,在这个示例中,所述动态元素或内容与给用户提供通知相关联,典型地独立于用户操作。 如上所述,在桌面整合过程期间可以定义跳转列表。可以将所述任务和跳转列表定义存储在所述网络应用文件内。作为一个示例,考虑图7,其在700图解说明了依据一个或多个实施例的Java脚本API。所述图解说明的Java脚本API使网站整合到客户端桌面,并且定义跳转列表。这个Java脚本API可以与参照图3描述的相同或相似,除了存在“自定义任务”和“自定义跳转列表”之外。为了简便起见,省略了某些图3的内容。在至少某些实施例中,可以通过标记,例如使用HTML标签(其是在HTML文件内定义的),定义跳转列表任务的静态列表的初始创建。例如,考虑以下使用元标签描述静态列表功能的示例
〈META name=〃msapplication-task〃
content=〃name=Task;uri=http://marap/test3. html;icon_uri=http://marap/icon3. ico〃/>
在一个或多个实施例中,当执行任务时存在若干选项。例如,可以在包含当前观看网页的相同网络应用/浏览器窗口内打开与所述任务相关联的URL。替换或补充地,可以启动新页。替换或补充地,可以显示新的弹出窗口。在由系统定义且读取这些参数之后,当用户将这些网络站点安装到他们的桌面上时使用这些参数,如下所述,就像将它添加到开始菜单或者将它固定到任务栏一样。同时,在至少某些实施例中,存在可由网站客户端代码操作到所述跳转列表上的动态值的集合。如上所述,由所述网站利用“自定义任务”定义静态任务。在这个示例中,所述静态任务是新消息静态任务。这个API在所述桌面上创建.website应用文件702,并且存储导航域(如同图3的示例)及其他信息,例如与跳转列表相关联的信息。在图解说明和描述的实施例中,.website应用文件702包括所述网站为它的站点模式配置定义的信息。这个信息包括开始URL、所述网站指定的所有导航域(未明确地图解说明)、网络应用标题和所谓的网页图标。其他信息包括与上述新消息相关联的自定义任务,以及“自定义列表”。在这个示例中,所述自定义列表元素是动态元素,当所述网络应用运行在客户端上时,由所述网站动态地填充动态元素。这里,所述“Friends (朋友)”标明包括与动态内容相关联的报头。因此,在这种情况下,所述动态内容与当联机他们的朋友时将通知提供给用户相关联。这里,所述自定义列表是未驻留在网络应用中的单独API。然而,所述自定义任务驻留在所述网络应用中。如上所讨论的,可将.website文件用于将网络应用配置为以特定模式运行,例如以“非持久性会话”模式。在某些实施例中,当选择与这种网络应用相关联的跳转列表任务时,可以以指定模式启动新的网络应用。在另一个实施例中,如果已经启动了网络应用并且当选择出跳转列表任务时正运行所述网络应用,则不用改变所述网络应用的模式而执行所述任务。例如,如果没有以“非持久性会话”模式运行所述正在运行的网络应用,则执行所选择的跳转列表任务将不会改变所述网络应用的模式,而不管在相关联的.website文件中包含着什么。在操作中,当运行网络应用时,可以预先取得并且缓存与静态元素相关联的项目。另一方面,当运行所述网络应用时,可以通过网站即时提供与动态元素相关联的项目。作为如何向所述网络应用即时提供与动态元素相关联的项目的一个实现方式示例,考虑图8。
图8图解说明了网站如何能动态地与自定义跳转列表相交互以允许用户知晓消息已经到达。在这个示例中,Java脚本800图解说明了网站如何可以将更新发送到寄宿在网络应用模式浏览器中的页。在所述浏览器中执行的客户端侧代码负责接收更新、更新屏幕上的内容、以及将请求发送到跳转列表以更新它的列表。在这个示例中,所述网站能将信息推送到所述跳转列表以提供实时的体验。这里,当由所述网站接收到新消息时,例如,新消息0和新消息1,可以从所述网络应用进行Java脚本调用以更新跳转列表802。在至少某些实施例中,可以在任务栏804中出现通知以通知用户已经接收到相关信息。通知可以出现在所述任务栏的任何适当位置中,并且可以包含任何适当类型的通知。例如,所述通知可以出现在与所述网络应用相关联的图标806中或者附近。替换或补充地,所述通知可以闪烁,以便可以吸引用户的眼睛。作为一个示例,考虑图9。这里,图解说明了整体为900的一部分客户端桌面。任务栏901包括与当前网络应用相关联的图标902。在此注意,已经在图标902内再现了覆盖图标904。在这个示例中,如上所述,用户已经接收到了新消息,并且所述网站已经调用了所述网络应用以使得在图标902内再现覆盖图标904。这就给用户提供了新消息已经到达的通知。响应于看到覆盖图标904,所述用户可以访问跳转列表905以展示指示当前发生或将要发生的约会的元素908。还应注意也展示了元素906。Java脚本摘录(excerpt) 910图解说明了可用于更新覆盖图标的代码的一个示例。在所述网站和网络应用之间的动态交互可以以各种其他方式存在。例如,在至少某些实施例中,响应于关于所述网络站点的用户操作而将预览窗口从所述网站推送到所述跳转列表。在图解说明和描述的实施例中,所述预览窗口是由所述网络站点提供的微型视图。可以响应于任何适当类型的用户操作而提供所述预览窗口。例如,在至少某些实施例中,响应于鼠标停留在与所述网络站点相关联的任务栏图标上而将预览窗口从所述网站推送到所述跳转列表。替换或补充地,可以通过将光标放在所述网络应用的任务栏图标上并且点击左键而提供预览窗口。作为一个示例,考虑图10。这里,图解说明了整体为1000的一部分客户端桌面。任务栏1001包括与当前网络应用相关联的图标1002。在此注意,所述用户已经将他们的光标放在了图标1002上。作为响应,已经再现了预览窗口 1004。在操作中,响应于所述用户将他们的光标放在图标上的操作,将事件传送给所述网页。然后,响应于接收所述事件,所述网页可以动态地提供所述预览,或者促使再现缓存的预览窗口。在至少某些实施例中,还可以由所述网站使用所述预览窗口以定义工具栏按钮和相关联的性能。例如,在图解说明和描述的实施例中,所述网络应用包含媒体播放器应用和出现在覆盖预览窗口 1004的用户界面工具1006中的三个工具栏按钮。所述按钮包括暂停按钮、停止按钮和播放按钮。在至少某些实施例中,可以使用避免必须与远程服务器进行交互的客户端侧代码来实现所述工具栏按钮。例如,可以为特定网页注册单独按钮。为每个按钮都配置并且分配一个ID。为所有按钮事件注册一个“听众”。当按压按钮时,生成事件并且将所述事件传送回所述浏览器,然后所述浏览器将所述事件播送给已注册的事件听众。所述事件包含被按压的按钮。这就实现了消除按钮间的歧义。实现方式示例 在一个实现方式示例中,网络开发者可以使用以下Java脚本功能以更新跳转列表中的自定义列表,并且更新所述任务栏覆盖图标
列表创建性能
其定义了作为自定义列表标题的列表名称。将其值显示为表头。任选地,可以提供包含项目名称的项目列表、所述项目的URI值、以及与项目相关联的图像,以最初填充所述列表。当以网络应用模式启动浏览器时,可以支持这个功能。列表更新性能
提供列表项目值以更新特定列表项目。所述列表项目值包括所述项目的名称、所述项目的URI值、和与所述项目相关联的图像。当以网络应用模式启动浏览器时,可以支持这个功能。设置覆盖图标
规定URI值,其指向将作为现有任务栏图标的覆盖的图标。当以网络应用模式启动浏览器时,可以支持这个功能。设置预览图像
指向图像的URI应该用作任务栏预览图像(或缩略图工具栏预览)的图形表示。当用户点击任务栏图标上的左侧鼠标按钮时,显示所述预览。清除覆盖图标
其将现有覆盖图标从所述任务栏图标上移除。当以网络应用模式启动浏览器时,可以支持这个功能。网络开发者可以使用以下Java脚本功能以定义和修改在特定网站的任务栏预览窗口中显示的工具栏按钮的集合。工具栏按钮安装
用工具提示和图像URL规定按钮ID的列表。当所述用户选择工具栏按钮时将事件传送到所述网站用于处理。然后,所述网站可以消除按钮事件之间的歧义。当为了显示按钮打开站点模式窗口时,至少执行一次这个调用。当以网络应用模式启动浏览器时,可以支持这个功能。更新图像
其标识了规定的按钮ID的状态和可见度。可以启用或禁用这些状态。在至少某些实施例中,作为默认,启用所述按钮。可以显示或者隐藏所述视图。作为默认,定义的按钮是可见的。当以网络应用模式启动浏览器时,可以支持这个功能。图11是描述依据一个或多个实施例的安装方法中的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,可以通过在客户端装置上运行的软件来执行所述方法的各方面。步骤1100选择网站整合特征。可以以任何适当方式来执行所述步骤。典型地,当用户选择一个工具或以其他方式采取行动启动网络应用安装过程时执行所述步骤。例如,用户可以选择使他整合所述网络应用的链接。以下将提供其是如何实现的特定示例。步骤1102,在所述客户端装置上创建网络应用文件-这里指定为website”文件。这个文件在最初创建时可以组成工件或外壳,随后可以用来自网站或代表所述网站接收的内容和信息以及与启动任何相关联的网络应用的至少一个模式相关联的内容、信息和 /或标记来填充所述工件或外壳。在这个示例中,步骤1104用包括跳转列表的网络应用内容填充所述网络应用文件。可以以任何适当方式执行所述步骤。例如,可以通过使用以上描述的示例的Java脚本API来执行这个步骤。替换或补充地,可以通过使用标记(例如HTML)来执行这个步骤的各方面。在所述客户端上创建并且填充所述网络应用文件之后,现在,可以在任何适当时间启动所述网络应用。图12是描述依据一个或多个实施例的方法的步骤的流程图。可以结合任何适当的硬件,软件,固件或它们的组合来执行所述步骤。在至少某些实施例中,可以由在客户端上运行的软件与在服务器上运行的软件相结合而执行所述方法。步骤1200接收与跳转列表相关联的用户操作。可以接收任何适当的用户操作,以上提供了其示例。例如,在至少某些实施例中,可以针对明确显示的跳转列表或未显示的跳转列表接收用户操作。替换或补充地,可以针对与网络应用相关联的显示图标接收所述用户操作。例如,可以在桌面任务栏或任何其他适当位置显示所述图标。以上提供了这种操作的示例。步骤1202呈现与所述用户操作相关联的内容。例如,呈现的内容可以包含跳转列表本身。所述跳转列表可以响应于任何适当类型的用户操作而呈现,以上提供了其示例。呈现的内容还可以包含除了跳转列表本身之外的内容。例如,自定义预览窗口可以响应于诸如在任务栏图标上点击左键的用户操作而呈现。例如,用户可能选择创建或撰写新的电子邮件消息。图13是描述依据一个或多个实施例的方法中的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,由运行在客户端上的软件以及运行在支持网站的服务器处的软件来执行所述方法的各方面。因此,将所述图的一列标记为“客户端”以标明由客户端执行或者在客户端执行的那些步骤,并且将一列标记为“网站”以标明由所述网站或者代表所述网站而执行那些步骤。步骤1300接收与动态跳转列表项目相关联的信息。任何适当的跳转列表项目都可以充当接收哪一个信息的基础,以上提供了其示例。步骤1302生成通知,以及步骤1304将所述通知传送给执行网络应用的客户端装置。步骤1306接收所述通知并且步骤1308为所述用户提供可辨别的通知。可以提供任何适当类型的可辨别的通知。例如,在至少某些实施例中,所述可辨别的通知可以是视觉上可辨别的通知,诸如覆盖图标或闪烁的网络应用图标。替代或补充地,所述可辨别的通知可以包含听觉上可辨别的通知,诸如电铃或蜂鸣器。在考虑了与跳转列表整合有关的各种实施例之后,现在考虑依据一个或多个实施例如何将网站变成“固定的”桌面功能部件,诸如任务栏的讨论。仵备栏固定
存在各种可以将网络应用整合到客户端桌面或任务栏的方式。在至少某些实施例中,可以通过拖放操作将网络应用整合到所述桌面。替换或补充地,可以经由网页浏览器的菜单选择整合网络应用。替换或补充地,可以由相关联的网站本身整合网络应用。这些实施例的每一个都将在以下它自己的标题下进行讨论。通过拖放操作的整合 在一个或多个实施例中,可以通过拖放操作将网络应用整合到所述桌面或任务栏。作为一个示例,考虑图14。这里,示出了整体为1400的客户端桌面。网络浏览器窗口 1402包括带有于此显示的网络站点URL的地址栏1404。与所述URL结合,显示被称为“网页图标” 1406的图标。另外,桌面1400包括任务栏1408。图15a用图解法图解说明了依据一个或多个实施例的拖和放操作。在这个示例中,光标已经放在网页图标1406上。通过左键点击所述网页图标并且将它拖到任务栏1408,可以将相关联的网络应用-在这种情况下是留言板应用-固定到桌面的任务栏1408。如上所述,所述拖放操作开始整合所述网络应用的整合过程,从而将它固定到任务栏。在一个或多个实现方式中,如果与所述网络应用相关联的网页具有在浏览器中打开的标签,则在将网页图标放到任务栏后,相关联的标签可以从所述浏览器窗户中消失。替换或补充地,可能没有移除所述标签,而是可能用“新标签”页替换所述标签的内容。在浏览器窗口中打开单个标签的情况下,在将所述网页图标固定到任务栏之后,所述浏览器窗口将消失。在这一点上,可以移除包含于原始站点中的标签,在所述浏览器关闭之前,但是在固定所述网络应用之后。另外,在至少某些实施例中,当拖操作进入任务栏时,可以呈现“Pin to TaskbaH固定到任务栏)”形式的工具提示以通知用户所述固定功能。此外,当第一次实例化网络应用时,已被固定到任务栏的所述网站或网络应用的状态可以移动到重新显示的窗口。其将允许用户无须为了能够使用所述应用而重新输入证书到站点。在某些实施例中,可以将网络应用模式自动配置为以至少一个特定模式启动。考虑图15b,其也图解说明了依据一个或多个实施例的拖和放操作。在这个特定示例中,网络浏览器窗口 1402正以非持久性会话模式运行,在这种情况下被称为“隐私保护(InPrivate)”模式,如由指示栏1502图解说明的。当所述拖放操作开始如上所述的整合所述网络应用的整合过程时,所述整合过程可以自动标识出网络浏览器窗口 1402正以哪种模式运行(在本例中其正在运行并启动“隐私保护”模式)并且可以将内容添加到相关联的反映所标识的模式的状态的.website文件。依次,当随后启动网络应用时,所述.website文件信息可用于自动地以特定模式启动所述网络应用。如上所述,在将网站或网络应用固定到所述任务栏并且完成所述安装过程之后,现在可以仅仅通过点击相关联的网页图标就能从任务栏启动所述网络应用。
图16是描述依据一个或多个实施例的安装方法的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,可以通过在客户端装置上运行的软件来执行所述方法的各方面。步骤1600接收与网络应用安装相关联的拖放操作的指示。可以以任何适当方式来执行所述步骤。在上面刚刚描述的实施例中,当用户拖并且放诸如网页图标的与网站相关联的图标时,执行所述步骤以给网站指示将相关联网络应用与他们的桌面整合的愿望。例如,用户可能拖并且放所述网页图标到桌面上的所述任务栏、快速启动区或某一其他位置,例如桌面画布。步骤1602响应于所述拖放操作创建网络应用文件。在图解说明和描述的实施例中,最初创建的所述网络应用文件是工件或外壳,其仍然没有包含来自相关联的网络站点的信息,例如跳转列表任务、开始URL、网页图标或例如静态跳转列表任务、备选开始URL、备选网页图标等的其他属性。稍后可以通过如上所述的新 的标记和/或Java脚本API来添加这些。替换或补充地,所述网络应用文件可以包括与以特定模式启动所述网络应用相关联的信息,例如以非持久性会话模式运行。将意识且了解的是,可以在不脱离所要求保护的主题的精神和范围的情况下使用除了这些使用Java脚本API的技术之外的技术。通过浏览器菜单选择的整合
在一个或多个实施例中,可以经由网络浏览器的菜单选择整合网络应用。作为一个示例,考虑图17。这里,客户端桌面被整体示出在1700。网络浏览器窗口 1702包括带有显示的URL的地址栏1704。另外,桌面1700包括任务栏1706。显示页菜单形式的浏览器菜单项1708。通过下拉所述页菜单而展示菜单选择1710,显示了菜单项或选择“Add to StartMenu(添加到开始菜单)”。通过选择这个选项,可以将网站或网络应用添加到桌面的开始菜单,并且启动如上所述的安装过程。替换或补充地,可以显示“Add to Task Bar(添加到任务栏)”菜单项或选择以实现所述安装过程的启动。虽然在图17中没有图解说明,但是将意识到且了解的是,可以以各种模式运行网络浏览器窗口 1702,例如非持久性会话模式。可以在安装过程期间标识这些模式,并且这些模式影响如何安装和/或启动所述网络应用。图18是描述依据一个或多个实施例的安装方法的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,可以通过在客户端装置上运行的软件来执行所述方法的各方面。步骤1800接收浏览器菜单选择。可以以任何适当方式来执行所述步骤。在上面刚刚描述的实施例中,当用户导航到特定网站、下拉浏览器菜单而展示菜单选择、以及然后通过选择与启动与所述网站相关联的网络应用的安装相关联的菜单项目采取操作时,执行这个步骤。步骤1802响应于接收所述浏览器菜单选择而创建网络应用文件。在图解说明和描述的实施例中,最初创建的网络应用文件是工件或外壳,其仍然没有包含来自相关联的网络站点的信息,例如跳转列表任务、开始URL、网页图标等。稍后可以通过如上所述的新的标记和/或Java脚本API来添加这些。替换或补充地,如上所讨论的,所述网络应用文件可以包括规定至少某些模式的信息,在这些模式中可以启动相关联的网络应用。将意识且了解的是,可以在不脱离所要求保护的主题的精神和范围的情况下使用除了这些使用Java脚本API的技术之外的技术。通过关联网站的整合在一个或多个实施例中,将网络应用整合到桌面可以发生自网页。在这些实施例中,特定网站可以通过使用代码(例如Java脚本)决定采用整合活动以将所述网络应用整合到所述桌面。其允许所述网站控制整合启动工具。作为一个示例,考虑图19。这里,客户端桌面被整体示出在1900。网络浏览器窗口 1902包括带有 显示于其中的URL的地址栏1904。另外,桌面1900包括任务栏1906。此夕卜,在浏览器窗口 1902内显示的网页包括标题为“Add to Desktop (添加到桌面)”的链接1908。通过点击这个链接,用户可以发起如上所述的网络应用安装过程。虽然在图19中没有图解说明,但是将意识到且了解的是,可以以各种模式运行网络浏览器窗口 1902,例如非持久性会话模式。可以在安装过程期间识别这些模式,并且这些模式影响如何安装和/或随后启动所述网络应用。在至少某些实施例中,在出现链接选择之后,可以呈现解释用户正在采取以及在哪里访问他们新创建的快捷方式的用户操作的模态确认对话。这个确认对话可以将正在呈现的页的源URL呈现给所述用户。显示的所述URL可以包含所述网站的完整路径。其可以允许用户验证他们希望安装的网站正在从正确的站点提供服务。其可以缓和与恶意子目录相关联的情形。在各种的实现方式中,检查将与桌面的整合网站的URL,以证实所述URL与包含它的网页一样处于相同的域上。否则,可以显示错误并且所述操作可以失效。在所述用户证实操作之后,可以移除所述对话,并且可以用正确的URL显示所述网络应用窗口。图20是描述依据一个或多个实施例的安装方法中的步骤的流程图。可以由任何适当的硬件、软件、固件或它们的结合来执行所述方法。在至少某些实施例中,可以通过在客户端装置上运行的软件来执行所述方法的各方面。步骤2000显示带有整合链接的网页。可以以任何适当的方式执行所述步骤,以上提供了其示例。步骤2002接收对所述整合链接的选择。步骤2004响应于接收所述链接选择而创建网络应用文件。在图解说明和描述的实施例中,最初创建的网络应用文件是工件或外壳,其仍然没有包含来自相关联的网络站点的信息,例如跳转列表任务、开始URL、网页图标等。稍后可以通过如上所述的新的标记和/或Java脚本API来添加这些。替换或补充地,如上所讨论的,所述网络应用文件可以包括规定至少某些模式的信息,在这些模式中可以启动相关联的网络应用。将意识且了解的是,可以在不脱离所要求保护的主题的精神和范围的情况下使用除了这些使用Java脚本API的技术之外的技术。在考虑了各种网络应用整合技术之后,现在,考虑如何手动配置网络应用模式的讨论。手动配置网络应用樽式
如上所述,可以将网络应用自动地配置为以一个或多个特定模式运行,例如在网络应用安装期间通过添加到.website文件的信息而配置。然而,用户有时可能希望修改应用运行的模式。在某些实施例中,可以手动配置网络应用的模式,并且当启动所述网络应用时进一步地应用所述模式。例如,考虑图21,其图解说明了与.website文件相关联的属性对话标签2100。属性对话标签2100包括复选框2102,其对应于.website文件中描述的“ In-PrivateBrowsing (隐私保护浏览)”模式,以及复选框2104,其对应于也在.website文件中描述的“Show Browser Controls (显示浏览器控制)”。“隐私保护浏览”模式可以对应于网络应用是以启用还是禁用非持久性会话模式启动,同时“显示浏览器控制”模式可以调整关联网络应用的附加控制功能部件是被启用还是禁用的,例如在浏览器的炫技上显示的附加导航功能部件和/或传统功能部件。在图21中,复选框2101和2104的每一个都包含它们各自框内的复选标记,其指示启用“隐私保护”模式和“显示浏览器控制”模式两者。通过切换复选框2102的状态(例如选择或取消选择),用户可以手动地配置是启用还是禁用“隐私保护浏览”模式。同样,通过切换复选框2104的状态,用户可以手动地配置是激活还是禁止“显示浏览器控制”模式。例如,如果模式状态改变(例如通过切换复选框),则可以更新关联的.website文件以反映出当前希望的状态。替换或补充地,可以在用户点击应用按钮2106和/或确认(OK)按钮2108时更新所述.website文件。一些模式改变未被配置成动态改变。在某些实施例中,在关联的.website文件中更新这些改变,但是不将它们用于任何打开的网络应用。代替,可以在启动网络应用时将更新的.website文件信息用于网络应用,从而允许用户手动地配置随后运行的网络应用。在考虑了各种的网络应用整合技术之后,现在,考虑可用来实现一个或多个上述实施例的示例性系统。示例件系统
图22图解说明了可用于实现如上所述的各种的实施例的示例性计算装置2200。例如,计算装置2200可以是图I的计算装置102或任何其他适当的计算装置。计算装置2200包括一个或多个处理器或处理单元2202,一个或多个存储器和/或存储部件2204,一个或多个输入/输出(I/O)装置2206和允许各种部件和装置彼此之间进行通信的总线2208。总线2208表示任意若干类型的总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口和使用任意各种总线结构的处理器或本地总线。总线2208可以包括有线和/或无线总线。
存储器/存储部件2204表示一个或多个计算机存储介质。部件2204可以包括易失性介质(例如随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。部件2204可以包括固定介质(例如,RAM、ROM、固定硬盘等)以及可拆卸介质(例如,闪速存储器驱动器、移动硬盘驱动器、光盘等)。一个或多个输入/输出装置2206允许用户将命令和信息输入到计算装置2200,并且还允许将信息呈现给用户和/或其他部件或装置。输入装置的示例包括键盘、光标控制装置(例如,鼠标)、麦克风、扫描仪等。输出装置的示例包括显示装置(例如,监视器或投影仪)、扬声器、打印机、网卡等。在此以软件或程序模块的通用环境描述各种技术。通常,软件包括执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、部件、数据结构等。这些模块和技术的实现方式可以存储在某种形式的计算机可读介质上,或者跨过所述计算机可读介质传送。计算机可读介质可以是由计算装置访问的任何可用的媒介或介质。举例来说而不是限制,计算机可读介质可以包含“计算机可读存储介质”。“计算机可读存储介质”包括以任何方法或技术实现的易失性和非易失性的、可拆卸和不可拆卸的介质,以用于存储信息,例如,计算机可读指令、数据结构、程序模块、或其他数据。计算机可读存储介质包括,但不局限于,RAM、R0M、EEPR0M、闪速存储器或其他存储技术、CD-ROM、数字多用光盘(DVD)或其他光存储器、磁带盒、磁带、磁盘存储器或其他磁存储装置、或可用于存储期望的信息且可由计算机访问的任何其他介质。结论
不同实施例提供了允许终端用户在他们的桌面上安装网络应用和网站的机构。依据一个或多个实施例,可以利用客户端侧的代码来允许与网站相关联的开发者定义与用户交互相关联的界线,并且通过运行时间引擎执行这些界线。在至少某些实施例中,开发者可以通过Java脚本代码提供用于创建开始菜单快捷方式、导航、和所谓的跳转列表整合的各种配置,以及各种其他功能。在某些实施例中,可将网络应用配置为以至少一个特定模式运行,例如非持久性会话模式。在至少某些实施例中,在安装期间可自动地配置网络应用的至少一个模式。替换或补充地,可以手动地配置网络应用的至少一个模式。虽然已经以具体到结构特征和/或方法动作的语言描述了本主题,但是将了解的 是,在附加权利要求书中定义的主题没有必要局限于以上所述的具体特征或动作。相反,以上描述的具体特征和动作是作为实现权利要求书的示例形式而公开的。
权利要求
1.一种计算机实施的方法,所述方法包括 在客户端装置上接收与安装与网络站点相关联的网络应用相关联的指示(1800),其中将包含浏览器菜单选择的浏览器配置为以非持久性会话模式运行;以及 响应于上述接收,创建网络应用文件(1802),其中将所述网络应用文件配置为 包括可以从所述网络站点接收的信息;以及 包括反映所述浏览器的非持久性会话模式的状态的信息,从而允许以所述状态启动所述网络应用。
2.如权利要求I所述的计算机实施的方法,其中,所述指示与在桌面开始菜单上安装所述网络应用相关联。
3.如权利要求I所述的计算机实施的方法,进一步包括经由Java脚本API接收至少一些所述信息。
4.如权利要求I所述的计算机实施的方法,其中,将所述网络应用文件配置为允许执行与所述网站相关联、并且代表所述网站定义的界线。
5.如权利要求I所述的计算机实施的方法,其中,所述方法进一步包括至少部分地基于所述网络应用文件中的所述信息而以非持久性会话模式启动所述网络应用。
6.如权利要求I所述的计算机实施的方法,其中,所述反映所述非持久性会话模式的信息包括标记。
7.一种包括由一个或者多个处理器执行的多个组件的系统,所述多个组件包括 实现用户界面(2100),将所述用户界面配置为 显示与网络应用相关联的至少一个属性(2102),其中,上述一个属性与所述网络应用的非持久性会话模式状态相关联; 改变所述至少一个属性(2102);以及 响应于所述至少一个属性中的改变,用与所述改变相关联的信息启动到与所述网络应用相关联的网络应用文件的更新(2106)。
8.如权利要求7所述的系统,其中,将所述用户界面进一步配置为响应于接收应用所述改变的指示而启动到所述网络应用文件的更新。
9.如权利要求7所述的系统,其中,所述指令进一步使得一个或多个处理器 至少部分地基于与所述网络应用相关联的所述网络应用文件中的所述信息而以非持久性会话模式状态启动所述网络应用。
10.如权利要求7所述的系统,其中,所述到与所述网络应用相关联的网络应用文件的更新包括更新标记的状态。
11.一种计算机可读存储介质,包括存储于其上的指令,所述指令响应于计算装置的执行而使计算装置执行根据权利要求1-6之一所述的方法。
全文摘要
本发明涉及包括任务栏固定以及跳转列表任务与项目启动的隐私固定。不同实施例提供了允许终端用户在他们的桌面上安装网络应用和网站的机构。依据一个或多个实施例,可以利用客户端侧的代码来允许与网站相关联的开发者定义与用户交互相关联的界线,并且通过运行时间引擎执行这些界线。在至少某些实施例中,开发者可以通过Java脚本代码和/或HTML标记提供用于创建开始菜单快捷方式、导航和所谓的跳转列表整合的各种配置。
文档编号G06F9/44GK102736914SQ20111043758
公开日2012年10月17日 申请日期2011年12月23日 优先权日2010年12月23日
发明者A.H.马勒, B.A.摩根, I.希勒里奥, J.E.戴维斯, J.M.波西, K.M.杨拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1