CN102939583A - 创建任务会话 - Google Patents

创建任务会话 Download PDF

Info

Publication number
CN102939583A
CN102939583A CN2011800287932A CN201180028793A CN102939583A CN 102939583 A CN102939583 A CN 102939583A CN 2011800287932 A CN2011800287932 A CN 2011800287932A CN 201180028793 A CN201180028793 A CN 201180028793A CN 102939583 A CN102939583 A CN 102939583A
Authority
CN
China
Prior art keywords
web
user
task
session
website
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800287932A
Other languages
English (en)
Other versions
CN102939583B (zh
Inventor
I.希勒里奥
J.M.波西
C.杨
A.H.马列克
B.A.摩根
M.B.帕顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102939583A publication Critical patent/CN102939583A/zh
Application granted granted Critical
Publication of CN102939583B publication Critical patent/CN102939583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

各种实施例提供了用于允许终端用户将web应用和网站安装到该终端用户的桌面上的机制。根据一个或多个实施例,可以利用客户端侧代码来允许与网站相关联的开发者定义与用户交互相关联的边界,并使得通过运行时引擎来实现这些边界。在至少一些实施例中,开发者可以通过JavaScript代码和/或HTML标记来提供用于创建开始菜单快捷方式、导航和所谓的跳转列表集成的各种配置。

Description

创建任务会话
背景技术
最近,业界已经开始关注将web应用或网站与用户的计算机桌面环境或“桌面”集成的概念。然而,存在与这样做相关的挑战。例如,目前网站难以定义其站点用于桌面集成目的的边界。因此,留给终端用户通过他们自己开发的客户端侧脚本来定义该边界。这可能是有问题的,因为终端用户可能不一定知道特定的网站是如何构建的。例如,终端用户可能不一定知道所有的链接、web属性之间的关系、或其他被网站用于向用户提供功能的细微差别。相应地,终端用户的脚本可能不了解这些链接或细微差别,并因此可能导致不期望的或崩溃的用户体验。
此外,目前用户面临着所谓的双重引导(dual boot)问题。具体地,用户不得不引导用户的个人计算机、开启用户的浏览器、并最终启动用户希望在其中工作的特定的web应用。以下事实使该问题更加复杂:浏览器可能提供对用户的过多的分散注意力的内容(例如在浏览器的视窗(chome)中出现的那些),而不允许用户简单地专注于与web应用相关联的手头的特定任务上。
发明内容
本发明内容被提供用于介绍简化形式的选择概念,其在下面的具体实施方式中进一步描述。本发明内容并不是旨在标识所要求保护的主题的关键特征或必要特征,也不是旨在用于限定所要求保护的主题的范围。
各种实施例提供了用于允许终端用户将web应用和网站安装到诸如客户端装置桌面之类的客户端装置上的机制。根据一个或多个实施例,可以利用客户端侧代码来允许与网站相关联的开发者定义与用户交互相关联的边界,并使得这些边界通过运行时引擎来实现。在至少一些实施例中,开发者可以通过JavaScript(Java脚本)代码提供用于创建开始菜单快捷方式、导航和所谓的跳转列表集成以及大量其它特性的各种配置。
附图说明
附图始终使用相同的标号来提及相似的特征。
图1示出了根据一个或多个实施例的在其中可实施在此描述的各种原理的操作环境。
图2示出了根据一个或多个实施例的web应用窗口。
图3示出了根据一个或多个实施例的JavaScript API。
图4是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图5是描述根据一个或多个实施例的web应用交互方法中的步骤的流程图。
图6示出了根据一个或多个实施例的客户端桌面的一部分。
图7示出了根据一个或多个实施例的JavaScript API。
图8示出了根据一个或多个实施例的网站与用户跳转列表之间的动态交互。
图9示出了根据一个或多个实施例的客户端桌面的一部分。
图10示出了根据一个或多个实施例的客户端桌面的一部分。
图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图12是描述根据一个或多个实施例的方法的步骤的流程图。
图13是描述根据一个或多个实施例的方法中的步骤的流程图。
图14示出了根据一个或多个实施例的客户端桌面。
图15示意性地示出了根据一个或多个实施例的拖放操作。
图16是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图17示出了根据一个或多个实施例的客户端桌面。
图18是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图19示出了根据一个或多个实施例的客户端桌面。
图20是描述根据一个或多个实施例的方法中的步骤的流程图。
图21示出了根据一个或多个实施例的客户端桌面。
图22 示出了根据一个或多个实施例的显示网站的浏览器、证书存储器、相关的web应用、以及web应用证书存储器之间的关系。
图23是描述根据一个或多个实施例的方法中的步骤的流程图。
图24是描述根据一个或多个实施例的方法中的步骤的流程图。
图25示出了根据一个或多个实施例的多web应用实例的示例。
图26示出了根据一个或多个实施例的客户端桌面。
图27是描述根据一个或多个实施例的方法中的步骤的流程图。
图28是描述根据一个或多个实施例的方法中的步骤的流程图。
图29示出了根据一个或多个实施例的客户端桌面。
图30示出了根据一个或多个实施例的客户端桌面。
图31示出了根据一个或多个实施例的客户端桌面。
图32是描述根据一个或多个实施例的方法中的步骤的流程图。
图33 是描述根据一个或多个实施例的方法中的步骤的流程图。
图34是描述根据一个或多个实施例的方法中的步骤的流程图。
图35示出了根据一个或多个实施例的web应用与浏览器之间的关系。
图36是描述根据一个或多个实施例的方法中的步骤的流程图。
图37是描述根据一个或多个实施例的方法中的步骤的流程图。
图38示出了根据一个或多个实施例的瞬时web应用的示例。
图39示出了根据一个或多个实施例的站点模式浏览器。
图40是描述根据一个或多个实施例的方法中的步骤的流程图。
图41示出了可被用来实现一个或多个实施例的示例系统。
具体实施方式
概述
各种实施例提供了用于允许终端用户将web应用和网站安装到诸如客户端装置桌面之类的客户端装置上的机制。根据一个或多个实施例,客户端侧代码可以被用来允许与网站相关联的开发者定义与用户交互相关联的边界,并使得通过运行时引擎来实现这些边界。在至少一些实施例中,开发者可以通过JavaScript代码提供用于创建开始菜单快捷方式、导航和所谓的跳转列表集成以及其它特性的各种配置。
边界可以被认为是开发者定义的与功能如何显露给终端用户相关的体验。边界与网站域相关联,例如可能与单独的应用相关联的顶级域和子域、或者驻于域上的网站的子集。因此,可以通过用于使特定的web应用工作的域、子域、文件夹、子站、协议、主机、路径等的集合来定义边界。
在一个或多个实施例中,网站可以决定加入上文和下面描述的功能。在这种情况下,开发者可以提供代码,其在一些例子中以JavaScript表示,限定用户对其网站的体验的边界。或者或附加地,未决定加入上文和下面描述的功能的网站可以具有为这些网站提供的缺省体验。
在下面的讨论中,提供了标题为“操作环境”的部分,该部分描述了可以在其中实施一个或更多实施例的一个环境。随后,标题为“集成基础架构”的部分描述了根据一个或多个实施例的使得web应用能够被集成到客户端装置上的基础架构。接下来,标题为“跳转列表集成”的部分描述了根据一个或多个实施例所谓的跳转列表可以如何被集成。接下来,标题为“任务栏钉扎(taskbar pinning)”的部分描述了根据一个或多个实施例web应用可以如何被钉扎到任务栏。随后,标题为“将证书与登录会话相关联”的部分描述了根据一个或多个实施例可以如何将证书和登录会话相关联。接下来,标题为“创建和启动具有相关联的证书的web应用”的部分描述了根据一个或多个实施例可以如何创建和启动web应用。此后,标题为“web应用任务会话”的部分描述了根据一个或多个实施例的任务会话的概念。接下来,标题为“web应用和浏览器之间的转换”的部分描述了根据一个或多个实施例可以如何发生web应用与浏览器之间的转换。此后,标题为“从浏览器创建瞬时web应用”的部分描述了根据一个或多个实施例可以如何从浏览器创建瞬时web应用。接下来,标题为“将瞬时web应用转换成安装的web应用”的部分描述了根据一个或多个实施例可以如何将瞬时web应用转换为安装的web应用。随后,标题为“web应用超级主页按钮”的部分描述了根据一个或多个实施例的与web应用相关联的主页按钮。最后,标题为“示例系统”的部分描述了可以用来实现一个或多个实施例的示例系统。
现在考虑其中可以实现一个或多个实施例的示例操作环境。
操作环境
图1在100处总体上示出了根据一个或多个实施例的操作环境。环境100包括具有一个或多个处理器104的计算装置102、一个或多个计算机可读存储介质106和驻于该计算机可读存储介质上且可被该处理器执行的一个或多个应用108。以示例的而非限定的方式来说,该计算机可读存储介质可以包括所有形式的易失性和非易失性的存储器和/或典型地与计算装置相关联的存储介质。这种介质可以包括只读存储器ROM、随机存取存储器RAM、闪存、硬盘、可拆卸介质等。在图41中示出了且在下文描述了计算装置的一个具体示例。
此外,计算装置102包括web浏览器110形式的软件应用。可以使用任何适当的web浏览器,可从本文档的受让人和其他处获得其示例。此外,计算机可读存储介质106可以包括按照上文和下面描述地操作的web应用模式浏览器111。web应用模式浏览器111用作运行时引擎,其分别从网站接收API调用和向网站进行API调用、监视web应用安装处理、实施边界、并启用上文和下面描述的功能。在操作中,web应用模式浏览器是完整浏览器的削减版本,其许多正常的浏览器功能被关闭。在一些实例中,web应用模式浏览器可以被认为是不包括许多常见浏览器控件的“更少视窗(chrome-less)”的浏览器。然而,一些命令可以通过小型控制条而显露。web应用模式浏览器由此去除了许多分散用户注意力的内容,并允许直接的网站定义的用户体验,其中网站可以控制用户如何与其web应用交互。
在操作中,web应用模式浏览器可以被认为是逻辑地驻留于网站和客户端装置的操作系统之间。因此,web应用模式浏览器接收来自网站的调用,并可以响应性地进行操作系统调用以影响在此描述的功能。类似地,web应用模式浏览器可以接收来自操作系统的将影响网站功能的调用。例如,操作系统显露能够与桌面的任务条进行交互的API。web应用模式浏览器可以接收来自网站的调用,并且响应性地可以进行启用下面将变得明白的任务条功能的API调用。
web应用模式浏览器111可以被实现为独立部件。可替代地或附加地,web应用模式浏览器111可以被实现为应用108和/或浏览器110的一部分。
此外,环境100包括诸如因特网之类的网络112以及可以从其接收和向其发送内容的一个或多个网站114。如同上文和下面描述的,这种内容可以包括被集成到客户端桌面上或另外通过客户端装置可使用的内容,诸如web应用之类。
计算装置102可以被实现为任何的适当的计算装置,以示例方式而非限定性地,例如桌面计算机、便携计算机、诸如个人数字助理(PDA)之类的手持计算机、蜂窝电话等。
已经描述了示例操作环境,现在考虑讨论允许web应用被集成到客户端装置上的基础架构。
集成基础架构
根据一个或多个实施例,网站可决定加入被提供更一般的“站点模式”体验的一部分的域导航中。域导航使得网站能够定制在用户访问特定域之内和之外的链接时其已有的网站的行为。当访问开发者指定的边界内的链接时,内容可以在web应用窗口内被呈现和消耗,该web应用窗口是作为关联的web应用的一部分而被web应用模式浏览器呈现的。当访问开发者指定的边界外部的链接时,相关联的内容可以在web应用模式浏览器外部的缺省浏览器内被呈现和消耗。这允许网站定义哪些域应当被视为该网站的扩展以及哪些域不应被视为该网站的扩展。
在一个或多个实施例中,导航域可以被web开发者定义,并识别了其内容由web应用模式浏览器显示为集成网站的一部分或在web应用模式浏览器外部并在缺省浏览器中的链接。此外,可以定义缺省域参数,该缺省域被用于将web应用页面的集合关联在一起。
作为示例,考虑下面的在线域页面定义:
*contoso.crm.dynamics.com\*;*.microsoft.com\*;
该域页面定义将允许仅下面形式的统一资源定位符URI被显示在相同的桌面web应用窗口中:
sales.contoso.crm.dynamics.com\*
hr.contoso.crm.dynamics\*
*.microsoft.com\crm\
类似地,该域页面定义将迫使其他统一资源定位符被显示在桌面web应用窗口外部,即使该链接引用在桌面web应用窗口内的页面内:
www.bing.com
home.live.com
在上述域页面定义中,利用了web应用安装API内的通配符。该API典型地在用户选择网站提供的网站集成链接时被网站调用。该API可以用桌面、任务栏或开始菜单或将被用于启动网站快捷方式的任何其他适当位置中的信息和内容来填充web应用文件或“.webapp”文件。应当了解和理解,任何适当的文件扩展名可以用于指定web应用文件。导航域和其它边界信息被存储在.webapp文件中。
当.webapp文件被启动时,其中的导航域被web应用模式浏览器111实施。用户选择的链接或网站访问的链接继续在web应用窗口内执行,只要所述链接与通配符域相匹配即可。然而,当检测到在所定义的导航域之外的网站时,缺省浏览器被实例化或以其他方式被使用,并且与网站相关的内容被显示在web应用窗口外部和缺省浏览器内部。
作为例子,考虑图2,图2示出了web应用窗口200,该web应用窗口200具有a.com(202)、b.com(204)和d.com(206)的导航域集合,这意味着来自这些域的所有页面被显示在web应用窗口200的内部。当从web应用窗口200内访问来自c.com(208)或e.com(210)的页面时,该页面被显示在缺省浏览器窗口中,而不被显示在web应用窗口200中。
图3在300处示出了根据一个或多个实施例的JavaScript API。所示出的JavaScript API使得网站能够将web应用与客户端桌面集成。API定义了将被web应用或运行时引擎实施的导航域。在该示例中,使用上文示出的通配符表述来描述导航域。该API允许利用客户端装置上的内容和信息来实现a.webapp应用文件302的填充或更新,并将导航域和其它信息存储在其中。当该web应用被启动时,这些导航域被实施。
在所示出和描述的实施例中,.webapp应用文件302包括网站已经定义用于其站点模式配置的信息。该信息包括作为被web应用模式浏览器显示的初始页面的起始统一资源定位符(URL)、所有已被网站指定的导航域、web应用标题和所谓的收藏夹图标。如下面将描述的,可以包括其它信息。
现在,一旦在客户端侧上启动web应用,则web应用模式浏览器读取web应用文件,并实施其中定义的边界。如上文所注意到的,由于web应用体验被能获知特定网站及其细微差别的开发者所定义,因此可以提供完整和集成的用户体验。
图4是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以通过任何适合的硬件、软件、固件或其组合来执行。在至少一些实施例中,该方法的方面通过在客户端装置上运行的软件来执行。
步骤400选择网站集成特性。该步骤可以以任何适合的方式来执行。典型地,当用户选择工具或以其它方式采取动作来启动web应用安装进程时执行该步骤。例如,用户可能选择使得其能够集成web应用的链接。下面提供了可以如何这样做的具体示例。
步骤402在客户端装置上创建web应用文件,这里被指定为“.webapp”文件。初始创建的该文件可以构成伪文件(artifact)或命令解释程序(shell),其随后可以用从网站接收到的或代表网站的内容和信息填充。步骤404用web应用内容填充web应用文件。可以以任何适合的方式执行该步骤。例如,可以通过使用JavaScript API来执行该步骤,上文和下面提供了其示例。可替代地或附加地,可以通过使用诸如超文本标记语言HTML之类的标记来执行该步骤。
在客户端上创建了web应用文件并用内容填充该web应用文件,则现在可以启动该web应用并与该web应用进行交互。
图5是描述根据一个或多个实施例的web应用交互方法中的步骤的流程图。可以通过任何适合的硬件、软件、固件或其组合来执行该方法。在至少一些实施例中,该方法的方面是通过在客户端上执行的软件以及在服务器端执行的支持网站的软件来执行的。相应地,该图的一列被指定为“客户端”,以指定通过例如web应用模式浏览器而由客户端或在客户端处执行的那些步骤,并且一列被指定为“网站”,以指定由网站或代表网站执行的那些步骤。
步骤500接收站点模式的用户选择。该步骤可以以任何适合的方式来执行。例如,可以利用在客户端桌面上安装的快捷方式来接收站点模式选择。作为对接收到该站点模式选择的响应,步骤502请求起始统一资源定位符(URL)。该起始URL可以在上述的web应用文件中找到。
步骤504接收该起始URL请求。步骤506向客户端返回相关联的web资源,包括与该起始URL相关联的内容。
步骤508接收该相关联的web资源,并且步骤510在web应用窗口中呈现该web资源。如上文所述,通过web应用模式浏览器来呈现该web应用窗口。步骤512接收针对在该web应用窗口中呈现的资源的用户交互。该用户交互可以包括任何适合类型的用户交互。例如,该用户交互可以包括源自该web应用窗口内的导航活动。步骤514确认该用户交互是否在所述web应用文件所定义的边界之内。如果该用户交互在所述web应用文件所定义的边界之内,则步骤516在所述web应用窗口中呈现与该用户交互相关联的内容。另一方面,如果该用户交互不在所述web应用文件所定义的边界之内,则步骤518在缺省web浏览器中呈现与该用户交互相关联的内容。
以这种方式,可以实施网站开发者针对特定网站所定义的边界,以确保用户体验保持为开发者所期望的。例如,网站定义的起始URL为主页,并且后续在web应用模式中对主页的访问导航到该起始URL,而不是用户初始定义的浏览器主页。这允许对web应用特定页面而不是一些无关主页的快速访问。这缓解了终端用户不得不定义可能工作准确或不准确的、其自己的站点的专门体验。因此,可以为终端用户提供完整的、集成的、和智能管理的体验。
已经描述了示例的安装和交互体验,现在考虑跳转列表集成的概念。
跳转列表集成
在一个或多个实施例中,开发者可以使得网站能够在桌面集成期间定义一系列所谓的可用于与网站交互的跳转列表任务。此外,在至少一些实施例中,网站可以创建和更新用户跳转列表。
跳转列表可以被认为是构成向用户呈现的相关的任务或内容的集合的列表。通过跳转列表,网站可以促进将相关和有用的信息提取给用户。跳转列表与特定web应用的能力或功能相关。例如,用于电子邮件应用的跳转列表可能包括向用户提供用于打开联系人、创建新电子邮件消息等的能力的任务。在一些实例中,跳转列表可以包括相关的和最经常使用的命令和数据的列表。
在一个或多个实施例中,跳转列表功能可以被实现成包括静态元素和动态元素。
如上文所述,开发者可以在填充web应用文件的web应用安装进程期间定义静态元素。与静态元素相关联的设置可以被存储在web应用文件内。在一个或多个实施例中,该设置可以包括列表名称和相关联的任务。在至少一些实例中,静态元素可以构成表示常用功能的元素。
与动态元素相关联的设置可以被在web应用窗口内运行的网站页面所驱动。这些设置包括动态显露用于用户的可识别标记的设置。例如,一个设置可以向用户跳转列表添加项目,以及一个设置可以显示覆盖图标,下面提供这些设置的示例。在至少一些实施例中,可以在每次web应用被启动时清空动态设置,并且可以通过web应用脚本代码来配置动态设置。
作为根据一个实施例的用户跳转列表的示例,考虑图6,图6在600处总体上示出了客户端桌面的一部分。根据一个或多个实施例,显露用户跳转列表602。这里,在604处示出静态元素,并在606处示出动态元素。在该示例中,静态元素列表名称为“任务”,该任务或静态元素包括“新电子邮件消息”、“新约会”、“新联系人”和“新任务”。动态元素列表名称为“今天”,在该示例中该任务或动态元素包括从用户的日历产生的提醒。动态元素被相关联的网站动态地填充。因此,在该示例中,动态元素或内容与向用户提供通知相关联,典型地与用户的动作无关。
如上文所注意到的,可以在桌面集成处理期间定义跳转列表。任务和跳转列表定义可以被存储在web应用文件内。作为示例,考虑图7,图7在700处示出了根据一个或多个实施例的JavaScript API。所示出的JavaScript API使得网站能够与客户端桌面集成并定义跳转列表。除存在“用户任务”和“用户跳转列表”之外,该JavaScript API可以与针对图3描述的JavaScript API相同或相类似。为了简化,已省略了图3的一些内容。在至少一些实施例中,可以通过标记(例如使用在超文本标记语言HTML文档内定义的超文本标记语言标签)来定义跳转列表任务的静态列表的初始创建。
例如,考虑下面紧接的示例,其使用元标签来描述静态列表功能:
Figure DEST_PATH_IMAGE001
在一个或多个实施例中,当执行任务时,存在几个选项。例如,可以在包含当前观看的网页的相同的web应用/浏览器窗口内打开与任务相关联的URL。可替代地或附加地,可以启动新的页面。可替代地或附加地,可以显示新的弹出窗口。
在这些参数被定义并被系统读取之后,在用户将网站安装在用户的桌面上(如下面所述地通过将网站加入到开始菜单或使网站钉扎到任务栏)时,可以使用这些参数。同时,在至少一些实施例中,在跳转列表上存在可以被网站客户端代码处理的动态值的集合。
网站利用“用户任务”来定义如上文所述的静态任务。在该示例中,静态任务为新消息静态任务。该API在桌面上创建a.webapp应用文件702,并存储(如图3的示例中的)导航域以及诸如与跳转列表相关联的信息之类的其它信息。
在所示出和描述的实施例中,.webapp应用文件702包括网站定义用于网站的站点模式配置的信息。该信息包括起始URL、该网站已指定的所有的导航域(未具体示出)、web应用标题以及所谓的收藏夹图标。其它信息包括与上述的新消息相关联的用户任务以及“用户列表”。在该示例中,用户列表元素为当在客户端上运行web应用时可以被网站动态填充的动态元素。这里,“朋友”指定包括与动态内容相关联的头部(header)。因此,在该实例中,动态内容与当用户的朋友在线时向用户提供通知相关联。这里,用户列表是不驻于web应用内的独立的API。然而,用户任务驻于web应用内。
在操作中,与静态元素相关联的项目可以被预先抓取和缓存以用于web应用运行时。另一方面,可以在运行web应用时由网站即时提供与动态元素相关联的项目。作为可以如何即时向web应用提供与动态元素相关联的项目的实现示例,考虑图8。
图8示出了网站如何能够与用户跳转列表动态地交互以允许用户获知消息已到达。在该示例中,JavaScript 800示出了网站可以如何向驻于web应用模式浏览器中的页面发送更新。在浏览器中执行的客户端侧代码负责接收更新、更新屏幕上的内容、以及向跳转列表发送请求以更新其列表。在该示例中,网站能够向跳转列表推送信息以提供实时体验。这里,当网站接收到诸如新消息0和新消息1之类的新消息时,可以从web应用进行JavaScript调用以更新跳转列表802。在至少一些实施例中,可以在任务栏804中出现通知以通知用户已接收到相关的信息。可以在任务栏中的任何适当的位置中出现通知,并且该通知可以包括任何适当类型的通知。例如,该通知可以出现在图标806中或图标806周围,其中该图标806与该web应用相关联。可替代地或附加地,该通知可以闪现以吸引用户的眼睛。
作为示例,考虑图9。这里在900处总体上示出了客户端桌面的一部分。任务栏901包括与当前web应用相关联的图标902。注意,这里已在图标902内呈现重叠图标904。在该示例中,用户已接收到新消息,并且网站已如上文所述地调用至该web应用,以使重叠图标904被呈现在图标902内。这提供了向用户通知新消息已到达。响应于看到该重叠图标904,用户可以访问跳转列表905以显露元素908,该元素908指示当前发生或将发生的约会。还注意到元素906也被显露。JavaScript 摘录910示出了可被用于更新该重叠图标的一个代码示例。
网站与web应用之间的动态交互可以以各种其他方式发生。例如,在至少一些实施例中,可以响应于用户针对网站的动作而从网站向跳转列表推送预览窗口。在所示出和描述的实施例中,该预览窗口为网站提供的小型视图。该预览窗口可以响应于任何适当类型的用户动作而被提供。例如,在至少一些实施例中,可以响应于鼠标在与网站相关联的任务栏图标上的悬停而从该网站向跳转列表推送预览窗口。可替代地或附加地,可以通过将光标置于web应用的任务栏图标上并左击来提供预览窗口。
作为示例,考虑图10。这里,在1000处总体上示出了客户端桌面的一部分。任务栏1001包括与当前的web应用相关联的图标1002。注意,这里用户已将其光标置于图标1002上。作为响应,已呈现预览窗口1004。在操作中,响应于用户将其光标置于该图标上的动作,向该网页发送事件。响应于接收到该事件,该网页然后可以动态地提供该预览,或使得缓存的预览窗口被呈现。
在至少一些实施例中,该预览窗口还可以被网站用于定义工具栏按钮和相关联的行为。例如,在所示出和描述的实施例中,web应用包括媒体播放器应用,并且在覆盖于预览窗口1004上的用户接口工具1006中出现三个工具栏按钮。该按钮包括暂停按钮、停止按钮和播放按钮。在至少一些实施例中,工具栏按钮可以使用客户端侧代码来实现,其避免了必须与远程服务器交互。例如,各个按钮可以被登记用于特定的网页。每个按钮被配置并被分配标识一个ID。一个“监听器”被登记用于所有按钮事件。当按钮被按下时,事件被生成并被传送回浏览器,然后浏览器将该事件传播到所登记的事件监听器。该事件包含被按下的按钮。这允许按钮之间消除歧义。
实现示例
在实现示例中,web开发者可以使用下面的JavaScript功能来更新跳转列表中的用户列表以及更新任务栏重叠图标:
列表创建行为
这定义了作为用户列表的标题的列表名称。该值将被显示为列表头部。可选地,可以提供包含该项目的名称、用于该项目的URI值及与该项目相关联的图像的项目列表,以初始地填充列表。当浏览器以web应用模式启动时可以支持该功能。
列表更新行为
列表项目值被提供用于更新特定列表项目。该列表项目值包括用于该项目的名称、用于该项目的URI值以及与该项目相关联的图像。当浏览器以web应用模式启动时可以支持该功能。
设置重叠图标
指向将被用作对现有任务栏图标的重叠的图标的URI值被指定。当浏览器以web应用模式启动时可以支持该功能。
设置预览图像
URI指向应被用作用于任务栏预览图像(或缩略图预览)的图形表示的图像。当用户用鼠标左按钮点击该任务栏图标时显示该预览。
清空重叠图标
这去除了任务栏图标上的现有的重叠图标。当浏览器以web应用模式启动时可以支持该功能。
web开发者可以使用下面的JavaScript功能来定义和修改显示在特定网站的任务栏预览窗口中的工具栏按钮的集合。
工具栏按钮安装
利用工具提示和图像URL来指定按钮ID的列表。当用户选择工具栏按钮时,该事件被传递到网站以便处理。该网站随后可以消除按钮事件之间的歧义。当站点模式窗口被打开时该调用被执行至少一次以显示该按钮。当浏览器以web应用模式启动时支持该功能。
更新图像
这标识了所指定的按钮ID的状态和可见性。该状态可以是启用或禁用。在至少一些实施例中,缺省地,按钮被启用。该视图可以被显示或隐藏。缺省地,所定义的按钮是可见的。当浏览器以web应用模式启动时支持该功能。
图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以被任何适当的硬件、软件、固件或其组合执行。在至少一些实施例中,该方法的方面被在客户端装置上运行的软件执行。
步骤1100选择网站集成特性。可以以任何适当的方式执行该步骤。典型地,当用户选择工具或以其它方式采取动作以启动web应用安装进程时执行该步骤。例如,用户可选择使得用户能够集成web应用的链接。下面提供了可以如何这样做的具体示例。
步骤1102在客户端装置上创建web应用文件——这里被指定为“.webapp”文件。初始创建的该文件可以构成伪文件(artifact)或命令解释程序(shell),其随后可利用从网站或代表网站接收的内容和信息来填充。步骤1104用web应用内容填充web应用文件,在该示例中该web应用内容包括跳转列表。该步骤可以以任何适当的方式执行。例如,可以通过使用JavaScript API来执行该步骤,上文描述了该JavaScript API的示例。可替代地或附加地,可以通过使用诸如超文本标记语言(HTML)之类的标记来执行该步骤的方面。
已经在客户端上创建和填充了web应用文件,现在可以在任何适当的时间启动web应用。
图12是描述根据一个或多个实施例的方法的步骤的流程图。可以与任何适当的硬件、软件、固件或其组合相关地执行该步骤。在至少一些实施例中,可以通过与在服务器上运行的软件相关联的在客户端上运行的软件来执行该方法。
步骤1200接收与跳转列表相关联的用户动作。可以接收任何适当的用户动作,上文提供了其示例。例如,在至少一些实施例中,可以接收针对特定显示的跳转列表或未显示的跳转列表的用户动作。可替代地或附加地,可以接收针对与web应用相关联的显示的图标的用户动作。例如,该图标可以被显示在桌面任务栏或任何其他适当的位置中。上文提供了这种动作的示例。
步骤1202呈现与用户动作相关联的内容。例如,所呈现的内容可以包括跳转列表自身。可以响应于任何适当类型的用户动作而呈现跳转列表,上文提供了其示例。所呈现的内容也可以包括除了跳转列表自身之外的内容。例如,可以响应于诸如在任务栏图标上的左击之类的用户动作而呈现用户预览窗口。例如,用户可选择创建或编写新的电子邮件消息。
图13是描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合执行。在至少一些实施例中,该方法的方面通过在客户端上运行的软件以及在支持网站的服务器处运行的软件执行。相应地,该图的一列被指定为“客户端”,以指定由客户端或在客户端处执行的那些步骤,以及一列被指定为“网站”,以指定由网站或代表网站执行的那些步骤。
步骤1300接收与动态跳转列表项目相关联的信息。任何适当的跳转列表项目可以用作接收信息的基础,上文提供了其示例。步骤1302生成通知,并且步骤1304将该通知发送到执行web应用的客户端装置。
步骤1306接收该通知,并且步骤1308为用户提供可辨识的通知。可以提供任何适当类型的可辨识通知。例如,在至少一些实施例中,该可辨识通知可以是视觉可辨识的通知,例如重叠图标或闪现的web应用图标。可替代地或附加地,该可辨识通知可以包括听觉可辨识通知,例如铃声或蜂鸣器。
已经考虑了与跳转列表集成相关联的各种实施例。现在考虑根据一个或多个实施例的对网站可以如何成为“被钉扎于”桌面特性(例如任务条)的讨论。
任务条钉扎
存在web应用通过其可以成为与客户端桌面或任务条集成的各种方式。在至少一些实施例中,web应用可以通过拖放操作与桌面集成。可替换地或附加地,web应用可以通过web浏览器的菜单选择来集成。可替换地或附加地,web应用可以通过相关联的网站自身而被集成。下面在每个这些实施例自己的标题下面对其进行讨论。
通过拖放操作的集成
在一个或多个实施例中,可以通过拖放操作将web应用与桌面或任务条集成。作为示例,考虑图14。这里,客户端桌面总体上在1400处示出。web浏览器窗口1402包括地址条1404,在地址条1404中显示网站URL。与该URL相关联地示出了被称为“收藏夹图标”1406的图标。此外,桌面1400包括任务条1408。
图15示意性地示出了根据一个或多个实施例的拖放操作。在该示例中,光标已被放置在收藏夹图标1406上。通过左击收藏夹图标并将收藏夹图标径直拖到任务条1408,可以将相关联的web应用(在此情况下为消息板应用)钉扎到桌面的任务条1408。该拖放操作启动了如上文所述地集成web应用的集成处理,由此将web应用钉扎到任务条。
在一个或多个实施例中,如果与web应用相关联的网页具有在浏览器中打开的选项卡(tab),则在收藏夹图标被放到任务栏上之后,相关联的选项卡可以从浏览器的窗口中消失。可替换地或附加地,可以不去除该选项卡,而是用“新选项卡”页面替换该选项卡的内容。在浏览器窗口中打开单个选项卡的实例中,在收藏夹图标被钉扎到任务栏之后浏览器窗口将消失。在这点上,可以在浏览器关闭之前但在web应用被钉扎之后去除原始站点中包含的选项卡。此外,在至少一些实施例中,当拖曳操作进入任务条时,可以呈现以“钉扎到任务条”形式的工具提示,以向用户通知该钉扎功能。
此外,被钉扎到任务条的网站或web应用的状态可以被迁移到当该web应用第一次被实例化时新显示的窗口。这将允许用户不必为了能够使用该应用而向该站点重新输入证书。
已将网站或web应用钉扎到任务条并完成了上述的安装进程,现在可以通过简单地点击相关联的收藏夹图标而从任务条启动该web应用。
图16是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,通过在客户端上运行的软件来执行该方法的方面。
步骤1600接收与web应用安装相关联的拖放操作的指示。可以以任何适当的方式来执行该步骤。在上文所描述的实施例中,当用户拖放与网站相关联的诸如收藏夹图标之类的图标时执行该步骤,以向网站指示将关联的web应用与其桌面集成的期望。例如,用户可将收藏夹图标拖放到任务条、快速启动区域或桌面上的一些其他位置,例如桌面调查(desktop canvass)。步骤1602响应于该拖放操作而创建web应用文件。在所示出和描述的实施例中,初始创建的web应用文件是尚未包含来自相关联的网站的信息(例如跳转列表任务、起始URL、收藏夹图标或诸如静态跳转列表任务、替代的起始URL、替代的收藏夹图标等的其他属性)的伪文件或命令解释程序。稍后可以通过上述的新的标记和/或JavaScript API来添加这些。应当了解和理解,可以利用除了使用JavaScript API的技术之外的技术,而不背离所要求保护的主题的精神和范围。
通过浏览器菜单选择的集成
在一个或多个实施例中,可以经由web浏览器的菜单选择来集成web应用。作为示例,考虑图17。这里,客户端桌面总体上在1700处示出。web浏览器窗口1702包括显示URL的地址条1704。此外,桌面1700包括任务条1706。示出了以页面菜单形式的浏览器菜单项目1708。通过下拉页面菜单以显露菜单选择1710,显示菜单项目或选择“添加到开始菜单”。通过选择该选项,可以将网站或web应用添加到桌面的开始菜单,并且可以如上文所述地启动安装进程。可替代地或附加地,可以显示“添加到任务条”菜单项目或选择,以允许安装进程的启动。
图18是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,通过在客户端上运行的软件来执行该方法的方面。
步骤1800接收浏览器菜单选择。可以以任何适当的方式执行该步骤。在刚刚上文描述的实施例中,当用户导航到特定的网站、下拉浏览器菜单以显露菜单选择、且随后通过选择与启动与该网站相关联的web应用的安装相关联的菜单项目来采取动作时,执行该步骤。
步骤1802响应于接收到该浏览器菜单选择而创建web应用文件。在所示出和描述的实施例中,初始创建的web应用文件为尚未包含来自相关联的网站的信息(例如跳转列表任务、起始URL、收藏夹图标等)的伪文件或命令接收程序。稍后可以通过上述的新的标记和/或JavaScript API来添加这些。应当了解和理解,可以利用除了使用JavaScript API的技术之外的技术,而不背离所要求保护的主题的精神和范围。
通过相关联的网站的集成
在一个或多个实施例中,可以从网页发生web应用与桌面的集成。在这些实施例中,特定网站可以通过使用诸如JavaScript之类的代码决定加入集成活动,以将web应用集成到桌面中。这允许网站受集成启动工具的控制。
作为示例,考虑图19。这里,在1900处总体上示出了客户端桌面。web浏览器窗口1902包括其中显示有URL的地址条1904。此外,桌面1900包括任务条1906。此外,在浏览器窗口1902中显示的网页包括标题为“添加到桌面”的链接1908。通过点击该链接,用户可以启动上述的web应用安装进程。
在至少一些实施例中,在发生链接选择之后,可以呈现模态确认对话,该对话说明用户正采取的用户动作以及在何处访问其新创建的快捷方式。该确认对话可以向用户呈现正被呈现的页面的源URL。被显示的URL可以包含网站的完整路径。这可以允许用户验证他们希望安装的网站正被从正确的站点服务。这可以缓和与恶意子目录相关联的情况。
在各种实现中,要与桌面集成的网站的URL被检查,以确认该URL与包含该URL的网页在同一域上。如果不是,可以显示错误,并且该操作可以失败。在用户确认操作之后,可以去除对话,并且web应用窗口可以与正确的URL一起显示。
图20是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,通过在客户端上运行的软件来执行该方法的方面。
步骤2000显示具有集成链接的网页。该步骤可以以任何适当的方式来执行,上文提供了其示例。步骤2002接收对集成链接的选择。步骤2004响应于接收链接选择而创建web应用文件。在所示出和描述的实施例中,初始创建的web应用文件为尚未包含来自相关联的网站的信息(例如跳转列表任务、起始URL、收藏夹图标等)的伪文件或命令解释程序。这些随后可以通过上述新的标记和/或JavaScript API来添加。应当了解和理解,可以利用除了使用JavaScript API的技术之外的技术,而不背离所要求保护的主题的精神和范围。
在至少一些实施例中,可以为用户提供与web应用相关联的多个窗口或选项卡的视觉表示。作为示例,考虑图21。这里,桌面2100包括其上钉扎有web应用图标的任务条2102。光标已被用于通过点击图标来启动web应用。在该示例中假设用户已使用web应用的起始页面导航到多个页面。web应用可以实现示出了用户已导航到的网页的集合2104的可视化。具体地,在该示例中,集合2104包括用于web应用的起始页面2106以及用户已从起始页面导航到的后续页面2108和2110。
已考虑了各种web应用集成技术,现在考虑对用户证书可以如何与用于web应用的登录会话相关联的讨论。
将证书与登录会话相关联
各种实施例实现了与网站相关联的一个或多个web应用,所述网站利用以如下方式待集成的登录或证书信息:跨web应用不同实例保持登录或证书信息。
当浏览器导航到利用登录或证书信息的网站时,登录或证书信息可以被手动地输入或从证书存储器提取。证书存储器可以包含用户登录信息,例如示例性地而非限定性地,针对特定URL的用户证书或用户名和密码。相同的URL或网站可以具有多个入口,每个与不同用户相关联。类似地,证书存储器可以包含用于多个URL的证书或用户登录信息。
在至少一些实施例中,与用户所登录到的网站相关联的web应用可以被集成在桌面上并如上述地交互。当这种web应用被集成时,进程确定该web应用与什么网站相关联、以及登录到网站上的用户。所述进程向证书存储器搜索相关联的登录信息和/或证书。该进程随后可以创建用户、所创建的web应用以及相关的证书之间的关联。
作为示例,考虑图22,图22示出了根据一个或多个实施例的网站、证书存储器和web应用之间的关系。浏览器2200显示利用登录信息的网站。除了显示URL之外,显示可被选择以有利于如上述地集成web应用的图标2210。证书存储器2220包括包含用于多个网站的登录信息的条目。在2230处示出一个这种条目。这里,该条目包括网站URL、用户名和密码。而图22示出了包括用户名和密码的登录信息,应当了解和理解,可以使用其他形式的登录信息或证书。
在一个或多个实施例中,图标2210可以被选择和拖放到任务条2235上,如上文描述并通过图标2240示出的。该过程启动web应用与网站相关联的web应用的集成。在接收到该选择之后,进程确定哪个用户当前登录到网站上,并向证书存储器2220搜索相关联的证书。然而,应当了解和理解,可以以其它方式确定和/或获得相关联的证书,而不背离所要求保护的主题的精神。
在获得用户的证书和/或登录信息时,在web应用证书存储器2250中进行证书与web应用之间的关联。web应用证书存储器2250可以包含一个或多个条目,所述条目包含与网站、web应用和相关证书之间的关联相关的数据。
例如,图22示出了被示出为包含有关用户jsmith的网站“a.com”的登录信息的条目2260。除了URL、用户名和密码信息之外,条目2260还包括可被用于将web应用与对应的证书相关联的应用ID或“AppID”。web应用证书存储器2250还包含用于相同网站“a.com”但用于不同用户bsmith的第二条目2270。该机制允许将来自相同网站的各个web应用与不同用户及其相关联的证书相关联。
虽然在图22中未示出,但是各种形式的用户登录信息和/或证书可以与web应用相关联。例如,在一个实施例中,关联可以包含对证书存储器2220中的信息的指针或回引。在另一实施例中,web应用证书存储器2250可以包括从证书存储器复制的信息。在又一实施例中,与用户名和密码不同的证书或除了用户名和密码之外的证书可以与web应用相关联。例如,计量生物学信息可能构成在web应用证书存储器中创建的关联的基础。
已经描述了网站、证书存储器以及web应用之间的关系,现在考虑针对使用关联的证书的网站,web应用可以如何被集成。
创建和启动具有关联的证书的web应用
图23示出了描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,该方法的方面由在客户端上运行的软件执行。
步骤2300接收对网站集成特性的选择。上文提供了可以如何这样做的示例。如上文所述,网站集成特性与web应用在客户端的桌面上的安装相关联。如上文所述,响应于接收到对网站集成特性的选择,步骤2302启动安装进程以将web应用安装在客户端的桌面上。具体地,该进程在客户端上的启动可以包括创建如上文所述的web应用文件。步骤2304获得与当前web会话相关联的会话信息,其中该当前web会话与网站相关联。该步骤可以以任何适当的方式执行。例如,在一个实施例中,可以使用浏览器与安装进程之间的共享存储器部件来获得会话信息,其中该浏览器呈现与网站相关联的内容。在另一实施例中,在选择网站集成特性之后,网站可以自动地转发会话信息。在又一实施例中,可以通过浏览器存储会话信息,并且可以后续查询该会话信息。
响应于获得会话信息,步骤2306获得与该会话信息相关的证书。在一个实施例中,可以向证书存储器查询与用户所登录到的网站相关的登录和/或证书。例如,可以向证书存储器查询与该网站以及当前会话的用户相关联的用户名和密码。步骤2308将与会话信息相关的证书和/或登录信息与web应用相关联。该步骤可以以任何适当的方式来执行。例如 ,证书可以被复制到web应用证书存储器以便未来引用。可替代地或附加地,针对证书存储器中的证书的指针或引用可以被置于web应用证书存储器中。可以至少部分地基于会话信息和/或证书来生成标识号,以创建用于web应用的每个实例的唯一标识(ID)及相关的证书和/或登录信息。该信息可以被添加到web应用证书存储器条目,以将所获取的证书和/或登录信息与web应用相关联。然而,应当了解和理解,可以使用任何适当的技术来将证书与web应用相关联,而不背离所要求保护的主题的精神和范围。
如上文所述,用于每个web应用实例的唯一ID允许web应用的多个实例与同一URL或网站相关联,其中每个实例与不同的用户证书相关联。
图24是描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,通过在客户端上运行的软件来执行该方法的方面。
步骤2400接收对要启动的web应用的选择。该步骤可以以任何适当的方式来执行。例如,如上文所述,可以从其上钉扎有图标的任务栏进行图标选择。可替代地或附加地,可以从桌面开始菜单或系统工具栏进行选择。在接收到对要启动的web应用的选择时,步骤2402检索与web应用相关联的证书。例如,在一个或多个实施例中,可以使用AppID来引用web应用证书存储器以检索用于当前登录的用户的登录信息。步骤2404检索与web应用和相关证书相关联的URL和/或FormID。在获取步骤2402和2404中描述的信息时,步骤2406自发地登录到相关联的网站中而不需用户干预。在登录到网站之后,如上文先前所述,步骤2408导航到起始URL。
已经描述了与证书相关联的web应用如何被集成和启动,现在考虑对具有相关联的证书的web应用的多个实例的讨论。
具有相关联的证书的web应用的多个实例
图25示出了与证书相关联的多个web应用实例的示例。web应用证书存储器2500包括与用于网站的关联的证书和web应用有关的数据。在web应用证书存储器2500中包括条目2510和2520,每个条目用于不同的用户。如图25所示,条目2510与网站“a.com”有关,并包含诸如用于登录到关联的网站上的用户名jsmith和密码bulldogs之类的附加信息。条目2510包括用于将该条目与web应用2530相关联的AppID。条目2520也与网站“a.com”有关,但是包含用于用户bsmith的登录信息,并与web应用2540相关联。虽然图25示出了包含URL/FormID、用户名、密码和AppID的条目,但是应当了解和理解,可以使用不同形式的关联和证书信息,而不背离所要求保护的主题的精神。因此,web应用证书存储器中的两个或更多个数据条目可以包含标识在客户端的桌面上集成的不同web应用的数据,并且每个条目具有与同一网站相关联的不同的用户证书。
在一个或多个实施例中,与同一网站相关联的一个或多个web应用可以同时存在或激活。例如,软件模块可被配置成使得能够通过桌面工具条来启动web应用、以及当web应用被启动时使用相关联的证书来自动地使相关联的用户登录到网站中。除了启动单个web应用之外,软件模块可以被配置成使得当第二web应用被选择为要启动时、能够使用用于同一网站或不同网站的不同的用户证书来启动第二web应用。
例如,同时激活图25的两个web应用2530、2540。如上文所述,每个都与网站“a.com”有关,但是具有与其相关联的不同的证书。当web应用2530被选择和启动时,web应用2530使用与用户jsmith相关联的证书自动地登录到网站“a.com”上。类似地,当web应用2540被选择和启动时,web应用2540使用与用户bsmith相关联的证书登录到网站“a.com”上。因此,与同一网站相关联的web应用的多个实例可以被同时激活,并与不同证书相关联。
已经描述了创建和启动具有关联的证书的web应用的概念,现在考虑对web应用任务会话的讨论。
web应用任务会话
在一个或多个实施例中,可以创建任务会话以使得与web应用相关联的状态信息能够被保存到系统。以示例的而非限定性的方式,状态信息可以包括会话小甜点(session cookie)、JavaScript状态、DOM状态、表格状态、选项卡和窗口定位、窗口尺寸、URL、历史等。
由于保存了与特定任务会话相关联的状态信息,因此web应用可以被关闭和稍后重新打开,以恢复或重新补水(re-hydrate)用于web应用的状态信息。状态信息可以被自动地保存或者通过手动选择进程保存。
作为示例,考虑图26。这里,桌面2600包括用于计划旅行的web应用窗口2602。桌面2600还包括任务条2604和跳转列表2606。web应用目录2608提供了可被用于存储任务会话状态信息的存储工具(facility)。在所示出和描述的实施例中,web应用目录2608被创建在系统的用户空间中。在该示例中,用户具有已被保存的两个任务会话——一个与波多黎各旅行相关联,一个与阿拉斯加旅行相关联。
在操作中,当用户与web应用交互时,用户可以通过任何适当的工具挑选以创建和保存任务会话。在所示出的示例中,跳转列表2606具有包括两个条目的菜单项目“任务”。第一个条目“新任务会话”使得用户能够创建新任务会话。第二个条目“保存当前任务”使得用户能够保存当前任务。通过保存当前任务,与该任务相关联的状态信息被保持到web应用目录2608。标题为“打开任务会话”的菜单项目包含使得用户能够恢复或重新补水已被保持到web应用目录2608的先前任务会话的条目。这里,存在两个先前提及的先前保存的任务会话——波多黎各旅行和阿拉斯加旅行。
如从上述示例中注意到的,可以为各个web应用创建和保存多个任务会话。当保存任务会话时,可以随任务会话一起保存与web应用相关联的应用ID。然后可以使用应用ID来确定哪个web应用将消耗与所保存的任务会话相关联的信息。
可以利用任何适当的技术和方法来使得任务会话能够被创建和保存。在至少一些实施例中,系统可以调节(leverage)或以其它方式利用与该系统的web浏览器相关联的崩溃恢复系统。在该实例中,当例如用户选择保存当前任务或创建新任务会话时可以触发崩溃恢复功能。崩溃恢复功能可以创建驻于用户的应用数据目录中的可被用于保存与任务会话相关联的信息的“appdata”文件。本领域的技术人员将理解崩溃恢复系统的具体操作。相应地,为了简化起见,在此不描述这种系统。
图27是描述根据一个或多个实施例的用于保存任务会话状态信息的方法中的步骤的流程图。可以与任何适当的硬件、软件、固件或其组合相关地执行所述步骤。在至少一些实施例中,可以通过在客户端上运行的与在服务器上运行的软件相关联的软件来执行该方法。
步骤2700接收与保存任务会话状态信息相关联的输入。可以接收任何适当的输入。例如,所接收的输入可以包括从用户接收的输入。可替代地或附加地,该输入可以包括某种类型的自动编程输入。在至少一些实施例中,可以经由跳转列表接收用户输入。可替代地或附加地,可以通过快捷方式接收用户输入。在所示出和描述的实施例中,用户输入指示用户希望保存与web应用相关联的任务会话状态信息。步骤2702创建或以其它方式访问web应用目录中的任务会话数据结构。利用该任务会话数据结构来保存会话状态信息。步骤2704将任务会话状态信息保存在数据结构中。可以以任何适当的方式执行该步骤。例如,当用户选择保存任务会话状态信息时,可以执行该步骤。可替代地或附加地,可以在用户与web应用交互期间定期地执行该步骤。在至少一些实施例中,可以通过利用web浏览器的崩溃恢复系统来执行步骤2702和2704。然而,应当了解和理解,可以利用其他技术,而不背离所要求的主题的精神和范围。
图28是描述根据一个或多个实施例的用于恢复状态信息已被保存的任务会话的方法中的步骤的流程图。可以与任何适当的硬件、软件、固件或其组合相关地执行该步骤。在至少一些实施例中,可以通过与在服务器上运行的软件相关联的在客户端上运行的软件来执行该方法。
步骤2800接收与恢复状态信息先前已被保存的任务会话相关联的用户输入。步骤2802访问web应用目录中的任务会话数据结构。如上文所述,任务会话的状态信息被保存在任务会话数据结构中。步骤2804从web应用目录中检索任务会话状态信息。步骤2806启动相关联的web应用,并使用从web应用目录中检索到的任务会话状态信息来恢复任务会话。
已经描述了保存和重新使用任务会话状态信息的概念,现在考虑可以如何执行web应用与浏览器之间的转换。
web应用与浏览器之间的转换
在一个或多个实施例中,web应用可以转换到浏览器体验,以便能够调节实现web应用的web应用模式浏览器可能不能提供的浏览器能力。回想这是因为在一些实施例中,web应用模式浏览器是简化的或无视窗的浏览器,以使得开发者能够提供更多的站点专用的体验。这种从web应用模式浏览器排除的其它能力可以包括例如收藏夹、工具栏和/或其它插件。
在至少一些实施例中,与各个选项卡相关联的内容和状态可以从web应用迁移到web浏览器。可替代地或附加地,与多个选项卡相关联的内容和状态和/或web应用的整个内容和状态可以从web应用迁移到web浏览器。可替代地或附加地,与各个选项卡相关联的会话可以从web应用迁移到浏览器。
考虑用户已从其桌面启动web应用、已在其中导航、并在新选项卡中打开一个或多个链接的情况。作为示例,考虑图29。这里,桌面2900包括web应用窗口2902,该web应用窗口2902包括正被利用以计划旅行的web应用的一部分。桌面2900还包括任务栏2904,从该任务栏2904如通过点击已被钉扎到任务栏的相关联的图标而启动web应用。web应用窗口2902包括三个选项卡2906、2908和2910。在该实例中,用户已选择选项卡2906,并具有用户可以打开的链接“点击此处以搜索航班”。
现在假设用户点击相关联的链接以打开该链接,并且在打开该链接时,决定她想要创建用于网站的在选项卡2906上显示的喜爱项目。在该实例中,用户可以打开工具菜单2912,或使用一些其他用户接口工具,并选择用于打开关联的web浏览器中的选项卡的内容的选项。作为示例,考虑图30,其使用与图29相似的附图标记。
这里,工具菜单2912已被打开以显露其内容3000。在该示例中,两个选择可以用于该用户——“打开浏览器中的选项卡…”和“打开浏览器中的WebApp内容…”。第一个选择使得用户能够打开web浏览器中的所选择的选项卡的内容。当所选择的选项卡在web浏览器中被打开时,该选项卡的内容和状态被迁移到该web浏览器。该web浏览器可以是具有打开实例的web浏览器,或者可替代地,可以是被启动的web浏览器。第二个选择使得用户能够在web浏览器中打开web应用的整个内容。当这完成时,web应用的内容和状态被迁移到web浏览器。
可以利用任何适当的技术来将内容和状态从web应用选项卡或web应用迁移到web浏览器。在至少一些实施例中,通过使用例如上述的web浏览器的崩溃恢复系统来发生迁移。具体地,当用户指示期望将内容和状态从web应用迁移到web浏览器时,可以将内容和状态写入系统的磁盘,例如通过写入包括将被迁移的相关的数据的appdata文件。
此外,在至少一些实施例中,可以利用共享存储器来迁移并非典型地被web浏览器的崩溃恢复系统所利用的信息或数据。例如,诸如证书和会话小甜饼之类的数据可被存储在共享存储器中,并且共享存储器可以被利用以使得这种数据能够被web浏览器使用。
一旦用户选择了在工具菜单2912中显示的特定选项,则该信息或数据可以被迁移至web浏览器的当前的或新的实例,并且可以关闭web应用窗口2902中的关联的选项卡。在一个或多个实施例中,如果信息或数据正从其迁移的选项卡是web应用中打开的唯一选项卡,则web应用可以在迁移完成后关闭。
当web应用和网络浏览器在跨进程边界的不同进程中运行时,上述方法工作良好。也就是说,使用该崩溃恢复系统和共享存储器的迁移良好地适用于跨进程边界。然而,在一些实例中,不一定需要跨越进程边界。而是web应用和后续的web浏览器功能可以从相同的进程中显露。具体地,在该实例中,可以与web应用窗口2902相关地实例化和使用web浏览器用户接口,并且通过web应用模式浏览器不可用的功能可以被开启并可通过web浏览器用户接口访问。在操作中,一种实现这的方式如下。web应用首先生成一些崩溃恢复文件。新的浏览器被启动,并从该崩溃恢复文件下载崩溃恢复信息。该信息随后被用于配置新的浏览器的状态。当用户在新的浏览器中工作时,他或她将可以经由该浏览器的标准用户接口访问所有的浏览器功能。
图31示出了用户已选择将与选项卡相关联的内容和状态迁移到新的浏览器实例的实施例。已利用了与图29的示例相似的附图标记。这里,假设针对选项卡2906,用户已选择“打开浏览器中的选项卡”菜单选择(图30)。作为响应,该选项卡的内容和状态被迁移到web浏览器的新的实例,其关联的用户接口窗口在3100处示出。用户接口窗口3100包括与已从web应用迁移的选项卡相关联的地址条3102和选项卡3104。注意,在该示例中,该选项卡2906(图30)已在web应用窗口2902中关闭,但是由于打开了多个选项卡,因此该web应用保持打开。
图32是描述根据一个或多个实施例的方法中的步骤的流程图。该步骤可以与任何适当的硬件、软件、固件或其组合相关地执行。在至少一些实施例中,该方法可以通过与在服务器上运行的软件相关联的在客户端上运行的软件来执行。
步骤3200接收与将web应用内容和/或状态迁移到web浏览器相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以通过被web应用显露的工具菜单接收。步骤3202将web应用内容和/或状态迁移到web浏览器。可以利用任何适当的技术来迁移web应用内容和/或状态。此外,可以迁移以任何适当的粒度级别的内容和/或状态。例如,可以迁移与web应用的各个选项卡或多个选项卡相关联的内容和/或状态。可替代地或附加地,可以迁移web应用的整个内容。此外,在至少一些实施例中,可以跨进程边界地发生迁移。可替代地或附加地,可以在同一进程中发生迁移。
图33是描述根据一个或多个实施例的方法中的步骤的流程图。该步骤可以与任何适当的硬件、软件、固件或其组合相关地执行。在至少一些实施例中,该方法可以通过与在服务器上运行的软件相关联的在客户端上运行的软件来执行。
步骤3300接收与将web应用内容和/或状态迁移到web浏览器相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以通过web应用所显露的工具菜单接收。步骤3302实例化web浏览器用户接口。步骤3304使用web浏览器用户接口显露功能。显露功能包括使得能够通过web浏览器用户接口与web应用内容进行交互。在至少一些实施例中,所显露的功能包括通过web应用或web应用模式浏览器不可用的功能以及可用于与web应用内容进行交互的功能。上面提供了这种功能的示例。图33的方法在web应用内容和/或状态的迁移在同一进程中发生的情况下可以是有用的。
图34是描述根据一个或多个实施例的方法中的步骤的流程图。该步骤可以与任何适当的硬件、软件、固件或其组合相关地执行。在至少一些实施例中,该方法可以通过与在服务器上运行的软件相关联的在客户端上运行的软件来执行。
步骤3400接收与将web应用内容和/或状态迁移到web浏览器相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,可以通过web应用所显露的工具菜单接收输入。步骤3402保存与web应用内容相关联的数据。该步骤可以以任何适当的方式执行。例如,在至少一些实施例中,至少一些数据可以被写入系统的磁盘。可以利用任何适当的技术来将数据写入系统的磁盘。例如,在至少一些实施例中,可以利用web浏览器的崩溃恢复系统来将数据写入系统的磁盘。此外,在至少一些实施例中,可以通过使用在web应用和web浏览器之间共享的共享存储器来执行步骤3402。
步骤3404确认web浏览器是否打开。如果web浏览器打开,则步骤3406使用所保存的数据来在web浏览器中呈现web应用内容。另一方面,如果web浏览器未打开,则步骤3408启动web浏览器并返回到步骤3406,以使用所保存的数据来呈现web应用内容。
从浏览器创建瞬时web应用
各种实施例使得能够创建一个或多个所谓的瞬时web应用。在至少一些实施例中,可以创建瞬时web应用,而不需如上述地将瞬时web应用钉扎到任务栏或以其它方式将瞬时web应用的关联文件或标记集成到客户端的桌面。例如,瞬时web应用可能不具有在客户端的桌面上集成的、提供使得其能够被启动或重新启动的方式的任何用户接口工具,例如在开始菜单上的快捷方式、在客户端的任务条上的快捷方式图标等。然而,在这种实例中,用户可以从其关联的网站启动瞬时web应用,并且可以访问web应用所提供的相同功能(如果已如上述被安装或集成)。在使用瞬时web应用之后,其随后可以被用户关闭。在至少一些实施例中,一旦瞬时web应用已被关闭 ,则用户不再能访问web应用的该特定实例,由此使得不能从客户端的桌面工具条或开始菜单重新启动瞬时web应用。一种这样做的方式是当用户从相关联的网站初始启动web应用时删除针对该web应用创建的文件或进程。在一些实施例中,可以将瞬时web应用转换为安装的web应用,由此提供未来从客户端的桌面对该web应用的访问。
作为示例,考虑图35,图35示出了瞬时web应用与浏览器之间的关系。这里,浏览器3500使得能够通过带选项卡的系统(tabbed system)访问多个网页,其中选项卡3510与网站“任何搜索页面”相关联,并且选项卡3520与“第二个打开的页面”相关联。在一个或多个实施例中,可以从打开的网页创建瞬时web应用。在图35中,通过用户选择选项卡3510并将该选择拖放到桌面上的浏览器3500外部来生成或创建瞬时web应用3530。当这发生时,可以在临时位置中创建瞬时web应用文件。
然而,应当了解和理解,可以以其它方式生成瞬时web应用,而不背离所要求保护的主题的精神和范围。例如,浏览器3500可以具有有利于选择网页和后续生成关联的瞬时web应用的下拉菜单。
在本文档的上下文中,瞬时web应用是未以本文档中的上述方式安装在客户端的系统上的web应用。然而,网站仍可以运行和提供对可以在安装的web应用中运行的瞬时web应用中的相同功能的访问。例如,网站可以修改瞬时web应用的独立跳转列表、设置和清空重叠图标等。可替代地或附加地,瞬时web应用可以支持与安装的web应用相同的行为,例如如上文所述地提供从瞬时web应用内打开的选项卡或窗口的独立集合。
图36示出了描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以与任何适当的硬件、软件、固件或其组合相关地执行。在至少一些实施例中,可以通过例如图1中的客户端装置上的适当配置的web浏览器和/或软件模块来实现该方法的方面。
步骤3600接收对可以从其获取web应用的网站的选择。这可以以任何适当的方式来实现,例如通过选择带选项卡的web浏览器上的选项卡、通过下拉菜单等。在接收到对网站的选择时,步骤3602接收输入以创建web应用作为客户端装置上的瞬时web应用。在一个或多个实施例中,这可以包括接收消息或调用,所述消息或调用包含可被用于生成web应用的请求或其他信息。在其他实施例中,这可以包括接收从用户拖放一些与网站相关联的标记生成的输入。步骤3604创建与所选择的网站相关联的瞬时web应用。在一些实施例中,创建瞬时web应用生成web应用文件和/或进程,而不需将所述web应用文件和/或进程或任何相关联的标记集成在客户端的桌面或开始菜单上。例如,相关联的文件可以被保存在临时文件位置中,该临时文件位置与集成的web应用文件被放置的位置不同。此外,在至少一些实施例中,创建瞬时web应用可以包括将网站的状态从浏览器转移到瞬时web应用。
图37示出了描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以与任何适当的硬件、软件、固件或其组合相关地实现。在至少一些实施例中,可以通过例如图1的适当配置的web浏览器和/或软件模块来实现该方法的方面。
步骤3700接收输入以关闭瞬时web应用。该步骤可以以任何适当的方式执行。例如,在一个实施例中,这可以包括从用户选择打开的瞬时web应用上的关闭按钮接收输入。在另一实施例中,这可以包括基于用户选择瞬时web应用下拉菜单上的关闭选项而接收输入。在接收到用于关闭瞬时web应用的输入时,步骤3702关闭瞬时web应用。关闭瞬时web应用可以包括删除或去除瞬时web应用的关联文件和进程。因此,在关闭瞬时web应用时,在没有再次如上述地访问该瞬时web应用或如下面紧接着描述的将其安装为非瞬时web应用的情况下,用户不再具有对其功能的访问。
已经描述了瞬时web应用的创建和删除,现在考虑根据一个或多个实施例可以如何将瞬时web应用转换为钉扎的或安装的web应用。
将瞬时web应用转换为安装的web应用
在一个或多个实施例中,瞬时web应用可以被转换为安装的或集成的web应用,以允许在web应用已被关闭之后的持续访问。一旦被转换,瞬时web应用可以被认为是非瞬时web应用。
图38示出了包括跳转列表的瞬时web应用。任务栏3800示出了在客户端装置上打开并运行的多个程序。瞬时web应用3810是源自程序3840的web应用。跳转列表3820与瞬时web应用3810相关联。如同在安装的或集成的web应用的情况下那样,跳转列表3820具有与安装的web应用相关联的所有的可能的功能。此外,跳转列表3820包含标题为“将该程序钉扎到任务栏”的项目3830。选择该选项将web应用钉扎到客户端的任务栏,由此如上文所述地在客户端的桌面上安装web应用以及相关联的用户接口工具。这使得能够从该桌面重新启动目前的非瞬时web应用。然而,应当了解和理解,可以使用任何适当的技术,以将瞬时web应用转换为非瞬时web应用,而不背离所要求保护的主题的精神和范围。例如,在一些实施例中,瞬时web应用可以被添加到客户端的桌面的开始菜单,以集成和安装web应用。在另一实施例中,瞬时web应用可能具有下拉菜单,该下拉菜单具有用于启动安装进程的选项。不用说,可以利用诸多方式来将瞬时web应用转换为非瞬时web应用。
web应用超级主页按钮
当与web应用交互时,用户可以导航到除了直接与网站相关联的域之外的域,其中所述网站与该web应用关联。例如,用户可以启动电子邮件web应用,并通过跟随外部链接到达诸如新闻、购物或娱乐站点之类的另一站点。
在一个或多个实施例中,web应用主页按钮被提供作为用户接口体验的一部分。web应用主页按钮提供两个目的。首先,web应用主页按钮指示特定web应用模式浏览器(也称为“站点模式浏览器”)实例的目的是用于相关联的web应用。web应用主页按钮可以使用贴标记(branding)或其它可视工具来传送该信息。第二,web应用主页按钮使得用户能够通过简单地点击web应用主页按钮以访问起始URL来快速地和容易地开始返回到其web应用体验的起点。这缓解了为访问关联网站的起始URL而不得不关闭和重新启动特定web应用。在至少一些实施例中,缺省地,根据页面确认与起始URL相关联的值,其中用户从所述页面将收藏夹图标拖放在任务栏上。可替代地,web开发者可以定义HTML标签,该标签将起始URL描述为其页面的一部分。这允许web开发者定义与其当前正观看的页面不同的替代的起始URL。
作为示例,考虑图39。这里,web应用模式浏览器3900包括地址条3902,在地址条3902中出现网站的URL。此外,web应用主页按钮3904出现在向后和向前的导航按钮附近。当用户导航到在与该web应用相关联的网站外部的域时,用户可以在任何时间简单地点击web应用主页按钮3904以导航到在web应用文件中描述的网站的起始URL。
此外,在至少一些实施例中,为了向用户传送其在web应用而非缺省浏览器中的上下文,导航的向后和向前按钮可以通过经由web应用主页按钮利用或提取站点的品牌(brand)的原色来呈现网站的身份。此外,可以利用HTML标签来使得网站能够将这些按钮的颜色指定为其HTML页面的一部分。
图40是描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以与任何适当的硬件、软件、固件或其组合相关地实现。在至少一些实施例中,可以通过诸如上述的站点模式浏览器来实现该方法。
步骤4000将站点模式浏览器导航到与安装在客户端装置上的web应用相关联的网站起始URL。该步骤可以以任何适当的方式执行,上文提供了其示例。步骤4002导航到不同的网页。该网页可以或可以不与和起始URL相关联的网站相关联。步骤4004接收对web应用主页按钮的选择。响应于接收到对web应用主页按钮的选择,步骤4006将站点模式浏览器导航到网站起始URL。
示例系统
图41示出了可用于实现上述的各种实施例的示例计算装置4100。计算装置4100可以是例如图1的计算装置102或任何其他适合的技术装置。
计算装置4100包括一个或多个处理器或处理单元4102、一个或多个存储器和/或存储部件4104、一个或多个输入/输出(I/O)装置4106以及允许各种部件和装置相互通信的总线4108。总线4108表示若干类型的总线结构中任意类型的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及处理器或使用各种总线体系结构中任意的总线体系结构的局部总线。总线4108可以包括有线和/或无线总线。
存储器/存储部件4104表示一个或多个计算机存储介质。部件4104可以包括易失性介质(例如随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪存、光盘、磁盘等)。部件4104可以包括固定介质(例如RAM、ROM、固定硬盘等)以及可拆卸介质(例如闪存驱动器、可拆卸硬盘、光盘等)。
一个或多个输入/输出装置4106允许用户向计算装置4100输入命令和信息,并且还允许将信息呈现给用户和/或其他部件或装置。输入装置的示例包括键盘、光标控制装置(例如鼠标)、麦克风、扫描仪等。输出装置的示例包括显示装置(例如监视器或投影仪)、扬声器、打印机、网卡等。
在此可以在软件或程序模块的一般背景中描述各种技术。总体上,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。这些模块和技术的实现可以被存储在一些形式的计算机可读介质上或在一些形式的计算机可读介质上传送。计算机可读介质可以是可被计算装置访问的任何可用介质或媒体。以示例方式而非限定性地,计算机可读介质可以包括“计算机可读存储介质”。
“计算机可读存储介质”包括以任何方法或技术实现的、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的易失性和非易失性的、可拆卸和不可拆卸的介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其它磁存储装置、或任何其它可用于存储期望的信息并可被计算机访问的介质。
结论
各种实施例提供了用于允许终端用户将web应用和网站安装到该终端用户的桌面上的机制。根据一个或多个实施例,可以利用客户端侧代码来允许与网站相关联的开发者定义与用户交互相关联的边界,并且使得通过运行时引擎来实现这些边界。在至少一些实施例中,开发者可以通过JavaScript代码提供用于创建开始菜单快捷方式、导航和所谓的跳转列表集成以及各种其他功能的各种配置。
尽管已经以专用于结构特征和/或方法论行为的语言描述了本主题,但是应当理解,在所附的权利要求中限定的主题不一定限于上述的具体特征或行为。而是,上述的具体特征和行为作为实现权利要求的示例形式而被公开。

Claims (15)

1. 一种计算机实现的方法,包括:
接收与保存任务会话状态信息相关联的输入,所述任务会话状态信息与在客户端装置上集成的web应用相关联;
访问web应用目录中的任务会话数据结构;以及
将任务会话状态信息保存在所述任务会话数据结构中。
2. 根据权利要求1所述的计算机实现的方法,其中所述接收输入包括经由与所述web应用相关联的跳转列表接收用户输入。
3. 根据权利要求1所述的计算机实现的方法,还包括在用户与所述web应用的交互期间定期地保存任务会话状态信息。
4. 根据权利要求1所述的计算机实现的方法,其中所述访问和所述保存是通过利用web浏览器的崩溃恢复系统来执行的。
5. 根据权利要求1所述的计算机实现的方法,其中所述任务会话状态信息包括以下一个或多个:会话小甜饼、JavaScript状态、DOM状态、表格状态、选项卡和窗口定位、或窗口尺寸。
6. 根据权利要求1所述的计算机实现的方法,还包括显示具有菜单项目的跳转列表,所述菜单项目包括与保存任务会话状态信息相关联的一个或多个条目。
7. 根据权利要求1所述的计算机实现的方法,还包括显示具有菜单项目的跳转列表,所述菜单项目包括与保存任务会话状态信息相关联的一个或多个条目,其中所述一个或多个条目之一使得能够创建新的任务会话。
8. 根据权利要求1所述的计算机实现的方法,还包括显示具有菜单项目的跳转列表,所述菜单项目包括与保存任务会话状态信息相关联的一个或多个条目,其中所述一个或多个条目之一使得能够保存与当前任务相关联的状态信息。
9. 根据权利要求1所述的计算机实现的方法,其中所述保存包括将应用标识与所述web应用相关联。
10. 一种计算机实现的方法,包括:
接收与恢复任务会话相关联的用户输入,所述任务会话的状态信息先前被保存,所述任务会话与客户端装置上集成的web应用相关联;
响应于接收到所述用户输入,访问web应用目录中的任务会话数据结构;
从所述web应用目录中检索与所述任务会话相关联的任务会话状态信息;以及
启动关联的web应用,并使用所述任务会话状态信息恢复所述任务会话。
11. 根据权利要求10所述的计算机实现的方法,其中所述接收用户输入包括经由与所述web应用相关联的跳转列表接收用户输入。
12. 根据权利要求10所述的计算机实现的方法,其中所述任务会话状态信息包括以下一个或多个:会话小甜饼、JavaScript状态、DOM状态、表格状态、选项卡和窗口定位、或窗口尺寸。
13. 根据权利要求10所述的计算机实现的方法,还包括显示具有菜单项目的跳转列表,所述菜单项目包括与恢复先前的任务会话相关联的一个或多个条目。
14. 根据权利要求10所述的计算机实现的方法,其中所述web应用被钉扎到客户端桌面的任务条。
15. 一个或多个包含计算机可读指令的计算机可读存储介质,所述计算机可读指令在执行时实现一种方法,所述方法包括:
接收与保存任务会话状态信息相关联的输入,所述任务会话状态信息与客户端的桌面上集成的web应用相关联;
访问web应用目录中的任务会话数据结构;
将任务会话状态信息保存在所述任务会话数据结构中;
接收与恢复任务会话相关联的用户输入,所述任务会话的状态信息先前被保存;
响应于接收到与恢复任务会话相关联的用户输入,访问所述web应用目录中的所述任务会话数据结构;
从所述web应用目录中检索与所述任务会话相关联的任务会话状态信息;以及
启动关联的web应用,并使用任务会话状态信息恢复所述任务会话。
CN201180028793.2A 2010-06-11 2011-05-31 创建任务会话 Active CN102939583B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/814383 2010-06-11
US12/814,383 US8429546B2 (en) 2010-06-11 2010-06-11 Creating task sessions
US12/814,383 2010-06-11
PCT/US2011/038509 WO2011156170A2 (en) 2010-06-11 2011-05-31 Creating task sessions

Publications (2)

Publication Number Publication Date
CN102939583A true CN102939583A (zh) 2013-02-20
CN102939583B CN102939583B (zh) 2015-12-16

Family

ID=45097274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180028793.2A Active CN102939583B (zh) 2010-06-11 2011-05-31 创建任务会话

Country Status (4)

Country Link
US (1) US8429546B2 (zh)
EP (1) EP2580684B1 (zh)
CN (1) CN102939583B (zh)
WO (1) WO2011156170A2 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
EP3734449B1 (en) * 2010-06-18 2023-07-12 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
KR101774316B1 (ko) * 2011-04-18 2017-09-04 엘지전자 주식회사 영상표시장치 및 이를 이용한 콘텐츠 관리방법
US8402375B1 (en) * 2011-09-19 2013-03-19 Google Inc. System and method for managing bookmark buttons on a browser toolbar
US9529487B1 (en) * 2012-01-10 2016-12-27 Google Inc. Method of providing fast switching to web apps
US20140344801A1 (en) * 2012-06-01 2014-11-20 Google Inc. Integrating a web application into an operating system
US8775917B2 (en) 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US9069735B2 (en) 2012-10-15 2015-06-30 Sweetlabs, Inc. Systems and methods for integrated application platforms
US9729642B2 (en) 2013-05-24 2017-08-08 International Business Machines Corporation Sharing web application sessions across multiple devices
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
CN104468718B (zh) * 2014-11-07 2018-11-20 华为技术有限公司 一种信息的互联方法、装置及系统
US10318338B2 (en) * 2015-01-08 2019-06-11 International Business Machines Corporation Re-launching contextually related application sets
US10489013B2 (en) * 2015-03-17 2019-11-26 International Business Machines Corporation Intelligent taskbar shortcut menu for webpage control
US11966573B2 (en) * 2021-06-02 2024-04-23 Microsoft Technology Licensing, Llc Temporarily hiding user interface elements

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714334A (zh) * 2001-05-10 2005-12-28 改造世界有限公司 具有分级菜单的智能因特网网站
US20080301562A1 (en) * 2007-04-27 2008-12-04 Josef Berger Systems and Methods for Accelerating Access to Web Resources by Linking Browsers
US20090019357A1 (en) * 2007-04-27 2009-01-15 Bea Systems, Inc. Web based application constructor using page components accessible by url
US20090320017A1 (en) * 2008-06-20 2009-12-24 Ralph Thomas Jackson Dynamic Web Installer
US20100017695A1 (en) * 2008-07-16 2010-01-21 International Business Machines Corporation Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4481370B2 (ja) 1996-05-06 2010-06-16 アドビ システムズ, インコーポレイテッド インターネットハイパーリンクドラッグ及びドロップ
US5956483A (en) 1996-06-28 1999-09-21 Microsoft Corporation System and method for making function calls from a web browser to a local application
US6002402A (en) 1997-04-09 1999-12-14 Symantec Corporation System and method for producing a drag-and-drop object from a popup menu item
US6278453B1 (en) 1997-06-13 2001-08-21 Starfish Software, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6278448B1 (en) 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
WO1999046697A1 (fr) 1998-03-11 1999-09-16 Yasuo Nishizawa Interverrouillage par http d'un outil accessoire agent a applications integrees sur serveur web
US6727923B1 (en) 1998-05-08 2004-04-27 Apple Computer, Inc. Creation and manipulation of internet location objects in a graphical user interface environment
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6810410B1 (en) 1999-08-03 2004-10-26 Microsoft Corporation Customizing a client application using an options page stored on a server computer
US6711618B1 (en) 1999-09-03 2004-03-23 Cisco Technology, Inc. Apparatus and method for providing server state and attribute management for voice enabled web applications
US20020186255A1 (en) 1999-10-28 2002-12-12 Shafron Thomas Joshua Method and system of facilitating on-line shopping using an internet browser
US7383320B1 (en) 1999-11-05 2008-06-03 Idom Technologies, Incorporated Method and apparatus for automatically updating website content
US6662310B2 (en) 1999-11-10 2003-12-09 Symantec Corporation Methods for automatically locating url-containing or other data-containing windows in frozen browser or other application program, saving contents, and relaunching application program with link to saved data
US6636889B1 (en) 2000-01-04 2003-10-21 International Business Machines Corporation System and method for client replication of collaboration space
US7441263B1 (en) 2000-03-23 2008-10-21 Citibank, N.A. System, method and computer program product for providing unified authentication services for online applications
US20020049975A1 (en) 2000-04-05 2002-04-25 Thomas William L. Interactive wagering system with multiple display support
US6742026B1 (en) 2000-06-19 2004-05-25 International Business Machines Corporation System and method for providing a distributable runtime
US6990631B2 (en) 2000-07-14 2006-01-24 Ricoh Company, Ltd. Document management apparatus, related document extracting method, and document processing assist method
US6928620B1 (en) 2000-10-23 2005-08-09 Hewlett-Packard Development Company, L.P. Direct printing of contents of a universal resource locator
US7127720B2 (en) 2000-12-18 2006-10-24 Charles E Cano Storing state in a dynamic content routing network
WO2002063426A2 (en) 2001-02-02 2002-08-15 Opentv, Inc. Service platform suite management system
US20020111995A1 (en) 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US7155681B2 (en) 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020129096A1 (en) 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
US7447802B2 (en) * 2001-03-30 2008-11-04 Oracle International Corporation Method and system for maintaining a configuration state
AU2002303710A1 (en) 2001-05-11 2002-11-25 Wildseed, Ltd. Method and apparatus for associating a received command with a control for performing actions with a mobile telecommunication device
US7243369B2 (en) 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
US7203948B2 (en) 2001-09-29 2007-04-10 Siebel Systems, Inc. Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications
IES20020159A2 (en) 2002-03-01 2003-09-03 Baydon Solutions Ltd Content management system
US7188117B2 (en) 2002-05-17 2007-03-06 Xerox Corporation Systems and methods for authoritativeness grading, estimation and sorting of documents in large heterogeneous document collections
US6983280B2 (en) 2002-09-13 2006-01-03 Overture Services Inc. Automated processing of appropriateness determination of content for search listings in wide area network searches
WO2004038563A2 (en) 2002-10-25 2004-05-06 Bettina Experton System and method for automatically launching and accessing network addresses and applications
US20040100501A1 (en) 2002-11-25 2004-05-27 Dornback Jason Robert Method of dragging and dropping defined objects to or from a web page
JP4571509B2 (ja) 2002-12-02 2010-10-27 エスアーペー アーゲー セッション復帰可能な、処理状態を把握するウェブアプリケーション
US20040143651A1 (en) 2003-01-21 2004-07-22 Allen Kram H. System and method for distributing configuration changes made to a printing device
US7540020B1 (en) 2003-02-19 2009-05-26 Oracle International Corporation Method and apparatus for facilitating single sign-on to applications
US20050149952A1 (en) 2003-04-11 2005-07-07 Microsoft Corporation Persisting state across navigations in a navigation-based application and responding to navigation-related events throughout an application
US7343567B2 (en) 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display
US7386783B2 (en) 2003-04-28 2008-06-10 International Business Machines Corporation Method, system and program product for controlling web content usage
US7440997B2 (en) 2003-06-13 2008-10-21 Microsoft Corporation Mechanism for supporting browser navigation while preserving important application return states
US7562254B2 (en) 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US20050188174A1 (en) 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
US7614052B2 (en) 2004-01-09 2009-11-03 Nexaweb Technologies Inc. System and method for developing and deploying computer applications over a network
US7376739B2 (en) 2004-02-11 2008-05-20 International Business Machines Corporation Persistence of inter-application communication patterns and behavior under user control
US7536672B1 (en) * 2004-03-05 2009-05-19 Adobe Systems Incorporated Management of user interaction history with software applications
US8327290B2 (en) 2004-04-06 2012-12-04 International Business Machines Corporation User task interface in a web application
US7467402B2 (en) 2004-08-24 2008-12-16 Whitehat Security, Inc. Automated login session extender for use in security analysis systems
US20060075088A1 (en) 2004-09-24 2006-04-06 Ming Guo Method and System for Building a Client-Side Stateful Web Application
US20060112079A1 (en) 2004-11-23 2006-05-25 International Business Machines Corporation System and method for generating personalized web pages
US7712086B2 (en) 2004-12-15 2010-05-04 Microsoft Corporation Portable applications
US20060156330A1 (en) 2005-01-07 2006-07-13 Fu-Sheng Chiu Intelligent interactive multimedia
US7555713B2 (en) 2005-02-22 2009-06-30 George Liang Yang Writing and reading aid system
US7774366B2 (en) 2005-03-08 2010-08-10 Salesforce.Com, Inc. Systems and methods for implementing multi-application tabs and tab sets
US7921372B2 (en) 2005-03-25 2011-04-05 Microsoft Corporation System and method for pinning tabs in a tabbed browser
US7805495B2 (en) 2005-03-31 2010-09-28 Google Inc. Method and system for transferring web browser data between web browsers
US20060259462A1 (en) 2005-05-12 2006-11-16 Sybase, Inc. System and Methodology for Real-time Content Aggregation and Syndication
US9268867B2 (en) 2005-08-03 2016-02-23 Aol Inc. Enhanced favorites service for web browsers and web applications
KR20070028014A (ko) 2005-08-30 2007-03-12 엔에이치엔(주) 웹페이지 개인화 서비스 방법 및 시스템
US20070050710A1 (en) 2005-08-31 2007-03-01 Redekop Christopher K Graphical user interface for a web application
US7509374B2 (en) 2005-09-09 2009-03-24 Alchemic Solutions Group, Inc. Systems and methods for creating customized applications
US8051143B2 (en) 2005-10-14 2011-11-01 Oracle International Corporation Sharing sessions between web-based applications
US20070233880A1 (en) 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US20090328169A1 (en) 2006-01-25 2009-12-31 Keith Hutchison Apparatus and method for convenient and secure access to websites
US9171157B2 (en) 2006-03-28 2015-10-27 Blue Coat Systems, Inc. Method and system for tracking access to application data and preventing data exploitation by malicious programs
US20070255815A1 (en) 2006-04-26 2007-11-01 Udx, Inc. Software, Systems, and Methods for Secure, Authenticated Data Exchange
US8156178B2 (en) 2006-06-23 2012-04-10 Rohit Chandra Method and system for enhancing a home page
WO2008002274A1 (en) 2006-06-27 2008-01-03 Inventys Pte Ltd Method and system for client-side user interface enhancement to enable application integration and portalisation
US8443298B2 (en) 2006-06-30 2013-05-14 International Business Machines Corporation Method and apparatus for repositioning a horizontally or vertically maximized display window
CA2658057C (en) 2006-07-13 2013-04-23 Mobivox Corporation Methods and systems for selecting a buddy from a buddy list and for placing call to a buddy
US8572202B2 (en) 2006-08-22 2013-10-29 Yahoo! Inc. Persistent saving portal
US20080077936A1 (en) 2006-09-22 2008-03-27 Amit Goel Method and apparatus for automatically launching an application from a browser
US7716280B2 (en) 2006-09-28 2010-05-11 Microsoft Corporation State reflection
US7680908B2 (en) 2006-09-28 2010-03-16 Microsoft Corporation State replication
US8127306B2 (en) 2006-12-18 2012-02-28 Ricoh Company, Ltd. Integrating eventing in a web service application of a multi-functional peripheral
KR20090000104A (ko) 2007-01-02 2009-01-07 배영민 웹 기반의 사용자 창작 애플리케이션 제공 방법 및 시스템
US20090158212A1 (en) 2007-02-06 2009-06-18 Access Systems Americas, Inc. System and method for presenting recently-used and in-use applications for ease of navigation on an electronic device
US20080215997A1 (en) 2007-03-01 2008-09-04 Microsoft Corporation Webpage block tracking gadget
US8281321B2 (en) 2007-03-07 2012-10-02 Beck Marc T Method, system and storage medium for implementing a message board cache system
US8316105B2 (en) 2007-03-22 2012-11-20 Microsoft Corporation Architecture for installation and hosting of server-based single purpose applications on clients
KR20080089851A (ko) * 2007-04-02 2008-10-08 전정호 본체가 필요없는 중앙집중식 컴퓨터
JP5052955B2 (ja) 2007-05-09 2012-10-17 株式会社日立製作所 アプリケーションの高可用運用方法、オンラインバージョン変更方法及び計算機システム
US8041763B2 (en) 2007-06-12 2011-10-18 International Business Machines Corporation Method and system for providing sharable bookmarking of web pages consisting of dynamic content
US20090259744A1 (en) 2008-04-14 2009-10-15 Kolke Daniel J System and Method for Running a Web-Based Application while Offline
US20090049183A1 (en) 2007-08-13 2009-02-19 Thompson Tony E Method of Client-Side Form Authentication
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US7925988B2 (en) 2007-11-13 2011-04-12 International Business Machines Corporation System and method for providing sticky applications
KR20090067419A (ko) 2007-12-21 2009-06-25 전한길 웹사이트 자동로그인
US20090216724A1 (en) 2008-01-25 2009-08-27 Buzka Pty Ltd Network resources structuring system
US20090199175A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation Dynamic Allocation of Virtual Application Server
US20090217240A1 (en) 2008-02-22 2009-08-27 Tetsuro Motoyama Script generation for graceful termination of a web enabled client by a web server
KR20090102252A (ko) 2008-03-25 2009-09-30 주식회사 위고스닷컴 사용자 설정형 맞춤 컨텐츠 제공 시스템 및 그 방법
US7526559B1 (en) 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices
US8448188B2 (en) 2008-06-17 2013-05-21 International Business Machines Corporation Web user interface component coordination
US8694920B2 (en) 2008-09-25 2014-04-08 Microsoft Corporation Displaying application information in an application-switching user interface
US8365082B2 (en) 2008-10-23 2013-01-29 Savnor Technologies Llc Universal content referencing, packaging, distribution system, and a tool for customizing web content
US20120010995A1 (en) 2008-10-23 2012-01-12 Savnor Technologies Web content capturing, packaging, distribution
US8146010B2 (en) 2008-11-03 2012-03-27 Microsoft Corporation Combinable tabs for a tabbed document interface
KR101030309B1 (ko) * 2008-11-25 2011-04-19 한국전기연구원 개인 pc와 연동하는 웹 pc 제공 시스템 및 그 웹 pc 제공 방법
US8595284B2 (en) 2009-12-14 2013-11-26 Samsung Electronics Co., Ltd Web application script migration
KR20100027200A (ko) 2010-02-16 2010-03-10 김동환 현재 페이지 자동 로그인 프로그램 및 그 방법
US8468542B2 (en) 2010-03-04 2013-06-18 Microsoft Corporation Virtual environment for server applications, such as web applications
US20110295689A1 (en) 2010-05-28 2011-12-01 James Brady Methods and systems to modify advertising and content delivered over the internet
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US20110307810A1 (en) 2010-06-11 2011-12-15 Isreal Hilerio List integration
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714334A (zh) * 2001-05-10 2005-12-28 改造世界有限公司 具有分级菜单的智能因特网网站
US20080301562A1 (en) * 2007-04-27 2008-12-04 Josef Berger Systems and Methods for Accelerating Access to Web Resources by Linking Browsers
US20090019357A1 (en) * 2007-04-27 2009-01-15 Bea Systems, Inc. Web based application constructor using page components accessible by url
US20090320017A1 (en) * 2008-06-20 2009-12-24 Ralph Thomas Jackson Dynamic Web Installer
US20100017695A1 (en) * 2008-07-16 2010-01-21 International Business Machines Corporation Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored

Also Published As

Publication number Publication date
WO2011156170A2 (en) 2011-12-15
US20110307812A1 (en) 2011-12-15
WO2011156170A3 (en) 2012-02-16
EP2580684A4 (en) 2017-05-03
US8429546B2 (en) 2013-04-23
EP2580684A2 (en) 2013-04-17
CN102939583B (zh) 2015-12-16
EP2580684B1 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
CN102939583B (zh) 创建任务会话
CN102918484B (zh) 包括任务栏锁定的万维网应用锁定
CN102918540B (zh) 利用凭证创建并启动万维网应用
CN102918486B (zh) Web应用导航域
CN102918502B (zh) 用于将网络应用和网站安装到客户端设备上的方法和装置
CN102934080B (zh) 网络应用主页按钮
CN102939584B (zh) 列表集成
CN102947792B (zh) Web应用转换和暂时性web应用
AU2012370492B2 (en) Graphical overlay related to data mining and analytics
CN102591928A (zh) 表现包括从跳转列表任务和项目访问的内容的内容

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150702

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150702

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant