CN102947792A - Web应用转换和暂时性web应用 - Google Patents

Web应用转换和暂时性web应用 Download PDF

Info

Publication number
CN102947792A
CN102947792A CN2011800288136A CN201180028813A CN102947792A CN 102947792 A CN102947792 A CN 102947792A CN 2011800288136 A CN2011800288136 A CN 2011800288136A CN 201180028813 A CN201180028813 A CN 201180028813A CN 102947792 A CN102947792 A CN 102947792A
Authority
CN
China
Prior art keywords
web
web application
website
user
data
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
CN2011800288136A
Other languages
English (en)
Other versions
CN102947792B (zh
Inventor
I.希勒里奥
A.H.马列克
B.A.摩根
J.T.金
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 CN102947792A publication Critical patent/CN102947792A/zh
Application granted granted Critical
Publication of CN102947792B publication Critical patent/CN102947792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

WEB应用转换和暂时性WEB应用
背景技术
近来,业界已经开始关注于将web应用或网站与用户的计算机桌面环境或“桌面”整合在一起的概念。然而,与之相关的挑战也是存在的。例如,对于网站而言,现今很难为了桌面整合的目的来定义它们的站点的边界。由此,所述边界交由终端用户通过他们自己开发的客户端脚本去定义。由于终端用户未必知道如何构造特定网站,因此,这样做有可能会存在问题。举个例子,终端用户未必知道网站用以向用户提供功能的web属性之间的所有联系、关联或者其他细微差别。相应地,终端用户的脚本未必了解这些联系或细微差别,由此可能导致产生非预期或破损的用户体验。
此外,用户现今还面临着所谓的双重导入(boot)问题。特别地,用户不得不导入其个人计算机,开启其浏览器,以及最终启动其希望工作时所处的特定web应用。这个问题因为如下事实而变得更严重:浏览器能够为用户提供过多分散注意力的事物(例如在浏览器的系统窗口控件(chrome)中出现的那些)以及不允许用户只专注于手头与web应用相关联的特定任务。
发明内容
本发明内容部分是为了以简化形式引入精选概念而被提供的,在以下的具体实施方式部分中将会进一步描述这些概念。本发明内容部分的目的既不是确定被请求保护的主题的关键特征或必要特征,也不是用于限制被请求保护的主题的范围。
不同的实施例提供了一种允许终端用户在客户机设备桌面之类的客户机设备上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码以允许与网站相关联的开发人员定义与用户交互相关联的边界,以及让运行时引擎(run-time engine)来实施(enforce)这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码来提供各种配置,用于创建开始菜单快捷方式、导航和所谓的跳转列表(jumplist)整合以及多个其他特征。
附图说明
在整个附图中,相同特征是用相同数字标引的。
图1图示了根据一个或多个实施例的可以使用这里描述的不同原理的操作环境。
图2图示了根据一个或多个实施例的web应用窗口。
图3图示了根据一个或多个实施例的JavaScript API。
图4是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图5是描述根据一个或多个实施例的web应用交互方法中的步骤的流程图。
图6图示了根据一个或多个实施例的客户机桌面的一部分。
图7图示了根据一个或多个实施例的JavaScript API。
图8图示了根据一个或多个实施例在网站与定制(custom)跳转列表之间进行的动态交互。
图9图示了根据一个或多个实施例的客户机桌面的一部分。
图10图示了根据一个或多个实施例的客户机桌面的一部分。
图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图12是描述根据一个或多个实施例的方法的步骤的流程图。
图13是描述根据一个或多个实施例的方法中的步骤的流程图。
图14图示了根据一个或多个实施例的客户机桌面。
图15用图解法图示了根据一个或多个实施例的拖放(drag and drop)操作。
图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图示了根据一个或多个实施例的暂时性(transient)web应用的示例。
图39图示了根据一个或多个实施例的站点模式浏览器。
图40是描述根据一个或多个实施例的方法中的步骤的流程图。
图41图示了可用于实现一个或多个实施例的例示系统。
具体实施方式
综述
不同实施例提供了一种允许终端用户在诸如客户机设备桌面之类的客户机设备上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码以允许与网站相关联的开发人员定义与用户交互相关联的边界,并且让运行时引擎来实施这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码来提供各种配置,以用于创建开始菜单快捷方式,导航和所谓的跳转列表整合,以及其他特征。
边界可被看作是由开发人员定义的与如何将功能暴露给终端用户相关的体验。边界与网站域是关联的,其中举例来说,所述网站域可以是可以与单独应用相关联的顶级域和子域,或者是在域上托管(host)的网站子集。由此,所述边界可以由一组用以让特定web应用工作的域、子域、文件夹、子站、协议、主机、路径等等来定义。
在一个或多个实施例中,网站可以选择如上和如下所述的功能。在这种情况下,开发人员可以提供定义了用户使用其网站的体验的边界的代码,其中在一些实例中,所述代码是用JavaScript表述的。作为替换或补充,未选择如上和如下所述的功能的网站可以具有为其提供的默认体验。
在后续论述中提供了标题为“操作环境”的部分,所述部分描述了其中可以使用一个或多个实施例的一个环境。此后,标题为“整合基础结构”的部分描述了根据一个或多个实施例来使得web应用能够被整合到客户机设备中的基础结构。接着,标题为“跳转列表整合”的部分描述了如何可以根据一个或多个实施例来整合所谓的跳转列表。接下来,标题为“任务栏固定(pin)”的部分描述了如何可以根据一个或多个实施例来将web应用固定在任务栏上。此后,标题为“关联证书和登录会话”的部分描述了如何可以根据一个或多个实施例来关联证书和登录会话。接着,标题为“创建和启动具有相关联的证书的web应用”的部分描述了如何可以根据一个或多个实施例来创建和启动web应用。此后,标题为“web应用任务会话”的部分描述了根据一个或多个实施例的任务会话的概念。接着,标题为“web应用与浏览器之间的转换”的部分描述了如何可以根据一个或多个实施例而在web应用与浏览器之间进行转换。此后,标题为“从浏览器中创建暂时性web应用”的部分描述了如何根据一个或多个实施例来从浏览器中创建暂时性的web应用。接着,标题为“将暂时性web应用变换成所安装的web应用”的部分描述了如何根据一个或多个实施例来将暂时性web应用变换成所安装的web应用。此后,标题为“web应用超级主页按钮”的部分描述了根据一个或多个实施例的与web应用相关联的主页按钮。最后,标题为“例示系统”的部分描述了可以用于实现一个或多个实施例的例示系统。
现在将要考虑其中可以实现一个或多个实施例的例示操作环境。
操作环境
图1一般性地在100图示了根据一个或多个实施例的操作环境。环境100包括具有一个或多个处理器104、一个或多个计算机可读存储媒体106以及一个或多个应用108的计算设备102,其中所述一个或多个应用108驻留在计算机可读存储媒体上,并且可以由一个或多个处理器运行。作为示例而不是限制,计算机可读存储媒体可以包括通常与计算设备相关联的所有形式的易失和非易失存储器和/或存储媒体。此类媒体可以包括ROM、RAM、闪存、硬盘、可移除媒体等等。以下在图41中显示并描述了计算设备的一个具体示例。
此外,计算设备102包括采用web浏览器110的形式的软件应用。可以使用任何适当的web浏览器,浏览器的示例可以从本文档的受让人以及其他各方得到。此外,计算机可读存储媒体106可以包括采用如上和如下所述的方式工作的web应用模式浏览器111。所述web应用模式浏览器111充当运行时引擎,其中所述引擎分别接收和产生来自和去往网站的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应用页面的集合关联在一起的默认域参数。
作为示例,设想以下的单行(in-line)域页面定义:
*contoso.crm.dynamics.com\*;*.microsoft.com\*;
这个域页面定义将会允许在相同的桌面web应用窗口中显示以下形式的URI:
sales.contoso.crm.dynamics.com\*
hr.contoso.crm.dynamics\*
*.microsoft.com\crm\
同样,即使链接引用处于桌面web应用窗口内的页面内部,所述域页面定义也会迫使其他URI显示在桌面web应用窗口之外:
www.bing.com
home.live.com
在以上的域页面定义中,在web应用安装API内部使用了通配符。该API通常是在用户选择网站提供的网站整合链接的时候由网站调用的。所述API可以使用桌面、任务栏、开始菜单或是将被用来启动网站快捷方式的其他任何适当位置的信息和内容来填充web应用文件或“.webapp”文件。应该意识到和理解的是,任何适当的文件扩展均可用于指示web应用文件。导航域和其他边界信息被保存在.webapp文件内。
在启动.webapp文件时,该文件内部的导航域将会由Web应用模式浏览器111实施。用户选择或网站访问的链接继续在web应用窗口内部运行,只要它们与通配符域匹配。然而,在检测到处于定义的导航域以外的网站时,将会实例化或者以其他方式使用默认浏览器,并且与该网站相关联的内容将会显示在web应用窗口以外以及默认浏览器内部。
作为示例,对图2进行考虑,该图图示了具有由a.com(202)、b.com(204)和d.com(206)组成的导航域集合的web应用窗口200,这意味着来自这些域的所有页面全都在web应用窗口200内部显示。在从web应用窗口200内部访问来自c.com(208)或e.com(210)的页面时,这些页面会在默认的浏览器窗口而不是web应用窗口200中显示。
图3在300图示了根据一个或多个实施例的JavaScript API。所示出的JavaScript API使得网站能够将web应用与客户机桌面相整合。该API定义了将由web应用或运行时引擎实施的导航域。在本示例中,导航域是用如上所示的通配符表述来进行描述的。所述API使得能够使用客户机设备上的内容和信息来填充或更新.webapp应用文件302,以及在所述文件中存储导航域和其他信息。这些导航域是在启动web应用的时候实施的。
在所示出和描述的实施例中,.webapp应用文件302包括网站为其站点模式配置定义的信息。该信息包括开始URL、网站规定的所有导航域、web应用标题以及所谓的网站图标(favicon),其中所述开始URL是web应用模式浏览器显示的初始页面。如下所述,其他信息也是可以包含的。
现在,一旦在客户端启动web应用,则Web应用模式浏览器将会读取web应用文件,并且将会实施其中定义的边界。如上所指出的,由于web应用体验是由能够知道特定网站及其细微差别的开发人员定义的,因此可以提供完整和整合的用户体验。
图4是描述了根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合执行。在至少一些实施例中,所述方法的多个方面是由客户机设备上运行的软件执行的。
步骤400选择网站整合特征。该步骤可以用任何适当的方式执行。通常,所述步骤是在用户选择某种工具或以其它方式来采取动作来启动web应用安装过程的时候执行的。例如,用户可以选择使得他能够整合web应用的链接。以下提供了如何做到这一点的具体示例。
步骤402在客户机设备上创建一个在这里被标明为“.webapp”文件的web应用文件。这个初始创建的文件可以构成一个随后用接收自网站或是代表网站接收的内容和信息填充的人工制品(artifact)或外壳(shell)。步骤404使用web应用内容来填充web应用文件。该步骤可以用任何适当的方式来执行。例如,该步骤可以通过使用在上文和下文中提供了示例的JavaScript API来执行。作为替换或补充,该步骤可以通过使用HTML之类的标记(markup)来执行。
如果在客户机上创建了web应用文件并且使用内容填充了该文件,那么现在可以启动web应用并与之交互。
图5是描述了根据一个或多个实施例的web应用交互方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由在客户机上运行的软件以及在支持网站的服务器上运行的软件执行的。相应地,该图的一列被标明为“客户机”,以便标明这些步骤由客户机执行或是在客户机上由例如web应用模式浏览器执行,此外还有一列被标明为“网站”,以便标明这些步骤由网站执行或是代表网站执行。
步骤500接收对站点模式的用户选择。该步骤可以用任何适当的方式执行。例如,安装在客户机桌面上的快捷方式可用于接收站点模式选择。响应于接收到站点模式选择,步骤502请求开始URL。所述开始URL可以在上述web应用文件中被找到。
步骤504接收开始URL请求。步骤506向客户机返回包含与开始URL相关联的内容的相关web资源。
步骤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,该图一般性地在600图示了客户机桌面的一部分。定制跳转列表602根据一个或多个实施例被暴露。在这里,静态元素在604示出,动态元素则是在606示出。在该示例中,静态元素列表名称是“任务”,并且所述任务或静态元素包括“新电子邮件消息”、“新约会”、“新联系人”以及“新任务”。动态元素列表的名称是“今天”,并且在该示例中,任务或动态元素包括从用户日程表中产生的提醒。这些动态元素是由相关联的网站动态填充的。因此,在该示例中,动态元素或内容与向用户提供通知的处理是关联的,并且通常与用户动作无关。
如上所指出的,跳转列表可以是在桌面整合过程中定义的。这些任务和跳转列表定义可被保存在web应用文件内。作为一个示例,考虑图7,该图在700图示了根据一个或多个实施例的JavaScript API。所示出的JavaScript API使得网站能够与客户机桌面整合以及定义跳转列表。除了存在“定制任务”和“定制跳转列表”之外,这个JavaScript API可以与参考图3描述的API是相同或相似的。为了简洁起见,在这里省略图3的一些内容。在至少一些实施例中,跳转列表任务的静态列表的初始创建可以用标记定义,例如使用在HTML文件内部定义的HTML标记符(tag)。
举个例子,下面考虑使用元标记符来描述静态列表功能的示例:
<META name="msapplication-task"
content="name=Task; uri=http://marap/test3.html;icon-
uri=http://marap/icon3.ico"/>
在一个或多个实施例中,在执行任务的时候存在一个耦合选项。例如,与任务关联的URL可以在包含当前查看的网页的相同web应用/浏览器窗口内部打开。作为替换或补充,新的页面可被启动。作为替换或补充,可以显示新的弹出窗口。
在系统定义并读取了这些参数以后,在用户将网站安装至其桌面的时候可以使用这些参数,其中举例来说,所述网站是通过将其添加至开始菜单或固定在任务栏上而被安装的,这将在下面进行描述。同时,在至少一些实施例中,有一组动态值是可以由跳转列表上的网站客户机代码操纵的。
网站使用“定制任务”来定义如上所述的静态任务。在该示例中,静态任务是新消息的静态任务。所述API在桌面上创建一个.webapp应用文件702,并且存储导航域(与图3的示例一样)及其他信息,例如与跳转列表相关联的信息。
在所示出和描述的实施例中,.webapp应用文件702包括网站已为其站点模式配置定义的信息。该信息包括开始URL、网站已规定的所有导航域(没有特别示出)、web应用标题以及所谓的网站图标。其他信息包括与如上所述的新消息相关联的定制任务以及“定制列表”。在该示例中,定制列表元素是当在客户机上运行web应用的时候可以由网站动态填充的动态元素。在这里,“朋友”名称包含与动态内容相关联的报头。因此,在该实例中,如果用户的朋友在线,那么动态内容将会与向用户提供通知的处理相关联。在这里,定制列表是并非驻留在web应用中的单独API。然而,所述定制任务驻留在web应用中。
在操作中,在web应用运行的时候可以预取并缓存与静态元素相关联的项目。另一方面,网站可以在web应用运行的时候边工作边提供与动态元素相关联的项目。作为如何边工作边向web应用提供与动态元素相关联的项目的实现示例,考虑图8。
图8图示了网站如何能够与定制跳转列表动态交互从而允许用户知道消息已经到达。在该示例中,JavaScript 800图示了网站如何可以向在Web应用模式浏览器中托管的页面发送更新。在浏览器中运行的客户端代码负责接收更新,更新屏幕上的内容,以及向跳转列表发送请求来更新其列表。在该示例中,网站能将信息推送给跳转列表,以便提供实时体验。在这里,当网站接收到例如新消息0(New Message 0)和新消息1(New Message 1)之类的新消息时,可以从web应用产生一个JavaScript调用,以便更新跳转列表802。在至少一些实施例中,在任务栏804中可以出现一个通知,以便向用户告知接收到了相关信息。所述通知可以出现在任务栏中的任何适当位置,并且可以包括任何适当类型的通知。例如,所述通知可以出现在与web应用相关联的图标806之中或是其周围。作为替换或补充,该通知可以闪烁,以便吸引用户的注意。
作为一个示例,考虑图9。其中一般性地在900图示了客户机桌面的一部分。任务栏901包括与当前web应用相关联的图标902。在这里,应该注意的是,在图标902的内部已经再现了覆盖图标904。在该示例中,用户已接收到一个新消息,并且如上所述,网站已调用web应用而引发在图标902内再现所述覆盖图标904。这向用户提供新消息业已到达的通知。响应于看到覆盖图标904,用户可以访问跳转列表905,以便暴露指示当前正在或即将发生的约会的元素908。此外还应该注意,元素906同样会被暴露。JavaScript摘录910图示了可用于更新覆盖图标的代码的一个示例。
网站与web应用之间的动态交互可以采用其他不同的方式进行。例如,在至少一些实施例中,响应于与网站相关的用户动作,可以从网站向跳转列表推送一个预览窗口。在所示出和描述的实施例中,该预览窗口是由网站提供的微型视图。所述预览窗口可以是响应于任何适当类型的用户动作提供的。例如,在至少一些实施例中,预览窗口可以是响应于鼠标悬停在与网站相关联的任务栏图标上而被从网站推送至跳转列表的。作为替换或补充,所述预览窗口可以是通过将光标置于web应用的任务栏图标上以及通过左键点击而被提供的。
作为一个示例,考虑图10。其中一般性地在1000图示了客户机桌面的一部分。任务栏1001包括与当前web应用相关联的图标1002。在这里应该注意,用户将其光标放在了图标1002上。作为响应,预览窗口1004已被再现。在操作中,响应于用户将其光标放在图标上的动作,一个事件将被传送至网页。然后,响应于对所述事件的接收,网页可以动态地提供预览或引发再现缓存的预览窗口。
在至少一些实施例中,网站还可以使用预览窗口来定义工具栏按钮以及相关联的行为。例如,在所示出和描述的实施例中,web应用包括媒体播放器应用,并且在覆盖于预览窗口1004之上的用户界面工具1006中出现三个工具栏按钮。这些按钮包括暂停按钮、停止按钮以及播放按钮。在至少一些实施例中,所述工具栏按扭可以用客户端代码来实现,其避免了必须与远端服务器进行交互。例如,个别按钮可以是为特定网页注册的。每一个按钮都被配置和指定了一个ID。为所有按钮事件注册一个“监听器”。当按下按钮时,将会产生一个事件,并且所述事件将被反向传递至浏览器,然后,浏览器会将该事件传播至已注册的事件监听器。所述事件包含被按下的按钮。这样做使得能够消除按钮的歧义。
实现示例
在实现示例中,web开发人员可以使用以下的JavaScript功能来更新跳转列表中的定制列表和更新任务栏覆盖图标。
列表创建行为
该行为定义作为定制列表标题的列表名称。这个值将被显示成列表标题。可选地,初始可以提供包含项目名称、项目的URI值以及与项目相关联的图像的项目列表来填充所述列表。当在web应用模式中启动浏览器时,可以支持所述功能。
列表更新行为
列表项目值被提供用来更新特定列表项目。所述列表项目值包括项目名称、项目的URI值以及与项目相关联的图像。当在web应用模式中启动浏览器时,可以支持所述功能。
设定覆盖图标
规定一个URI值,该URI值指向将会作为现有任务栏图标的覆盖图使用的图标。当在web应用模式中启动浏览器时,可以支持该功能。
设定预览图像
规定一个URI,其指向应被作为任务栏预览图像(或缩略图预览)的图片表示使用的图像。所述预览是在用户使用鼠标左键点击任务栏图标的时候显示的。
清除覆盖图标
该功能将会移除任务栏图标上的现有覆盖图标。当在web应用模式中启动浏览器时,可以支持该功能。
Web开发人员可以使用以下的JavaScript功能来定义和修改在特定网站的任务栏预览窗口中显示的一组工具栏按钮。
工具栏按钮安装
按钮ID的列表是用工具提示和图像URL规定的。当用户选择工具栏按钮时,该事件将被传递至网站,以便进行处理。然后,网站可以消除按钮事件的歧义。该调用在打开站点模式窗口以显示按钮的时候被执行至少一次。当在web应用模式中启动浏览器时,支持该功能。
更新图像
该功能识别指定按钮ID的状态和可视性。所述状态可以是使能或禁用。在至少一些实施例中,该按钮默认是使能的。所述视图可以是显示或隐藏的。所定义的按钮默认是可视的。当在web应用模式中启动浏览器时,支持该功能。
图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,该方法的多个方面是由客户机设备上运行的软件执行的。
步骤1100选择网站整合特征。该步骤可以采用任何适当的方式执行。通常,该步骤是在用户选择一种工具或以其它方式采取动作来启动web应用安装过程的时候执行的。举例来说,用户可以选择使得他能够整合web应用的链接。以下提供了如何执行该处理的具体示例。
步骤1102在客户机设备上创建一个web应用文件——在这里将其标明为“.webapp”文件。这个文件在初始创建时可以构成人工制品(artifact)或外壳,随后,所述人工制品或外壳可以用接收自网站或是代表网站接收的内容和信息来填充。步骤1104使用web应用内容来填充web应用文件,在本示例中,所述内容包括跳转列表。该步骤可以采用任何适当的方式执行。例如,该步骤可以通过使用以上提供了示例的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,其内显示了一个网站URL。与所述URL相关联显示了名为“网站图标”1406的图标。此外,桌面1400包括任务栏1408。
图15用图解法图示了根据一个或多个实施例的拖放操作。在该示例中,光标置于网站图标1406的上方。通过左键点击网站图标并沿着任务栏1408拖曳该图标,可以将相关联的web应用固定在桌面的任务栏1408上,其中在本范例中,所述web应用是消息板应用。所述拖放操作启动了如上所述的整合web应用的整合过程,从而将其固定在任务栏上。
在一个或多个实现方式中,如果与web应用相关联的网页具有在浏览器中打开的标签(tab),那么在将网站图标放至任务栏上之后,相关联的标签可以从浏览器窗口中消失。作为替换或补充,所述标签未必会被移除,取而代之,所述标签的内容有可能被“新标签”页面取代。在浏览器窗口中打开单个标签的实例中,在将网站图标固定在任务栏上之后,浏览器窗口将会消失。此时,在浏览器关闭之前但是在固定web应用之后,包含在初始站点中的标签可被移除。另外,在至少一些实施例中,当拖曳操作进入任务栏时,可以呈现“固定到任务栏”形式的工具提示,以便向用户告知固定功能。
更进一步,在首次实例化web应用时,固定在任务栏上的网站或web应用的状态可以迁移至新显示的窗口。这样做允许用户不必为了能够使用应用而向该站点重新输入证书。
在将网站或web应用固定到任务栏上并完成如上所述的安装过程之后,现在可以通过简单地点击相关联的网站图标来从任务栏启动web应用。
图16是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。
步骤1600接收与web应用安装相关联的拖放操作的指示。该步骤可以用任何适当的方式来执行。在以上描述的实施例中,该步骤在用户拖放网站图标之类的与网站相关联的图标的时候被执行,以便向网站指示希望将关联的web应用与其桌面整合。例如,用户可以将网站图标拖放至任务栏、快速启动区域或是桌面上的其他某个位置,例如桌面画布(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的网页处于相同的域。如果不是的话,则可以显示差错,并且该操作可以失败。在用户确认了操作之后,该对话可被移除,并且可以使用正确的URL来显示web应用窗口。
图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,该图图示了根据一个或多个实施例的网站、证书存储器以及web应用之间的关系。浏览器2200显示使用登录信息的网站。除了显示URL之外,还显示了一个图标2210,其中如上所述,可以选择所述图标以促成web应用的整合。证书存储器2220包括包含用于多个网站的登录信息的条目。在2230显示了一个这样的条目。在这里,该条目包括网站URL、用户名以及口令。虽然图22将登录信息显示为包含用户名和口令,但是应该意识到和理解的是,其他形式的登录信息或证书也是可以使用的。
在一个或多个实施例中,如上所述并且如图标2240所示,图标2210可被选择并被拖放至任务栏2235。该过程将会启动与网站相关联的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会话相关联的会话信息。该步骤可以采用任何适当的方式来执行。例如,在一个实施例中,会话信息可以是在浏览器再现与网站相关联的内容与安装过程之间使用共享存储器组件获取的。在另一个实施例中,在选择了网站整合特征之后,网站可以自动转发会话信息。在再另一个实施例中,会话信息可以由浏览器存储,并且后续可以对其进行查询。
响应于获取了会话信息,步骤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(表单ID)。一旦获取了步骤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应用会自动地使用与用户jsmith相关联的证书登录至网站“a.com”。同样,在选择和启动web应用2540的时候,所述web应用会使用与用户bsmith相关联的证书登录至网站“a.com”。由此,与相同网站相关联的web应用的多个实例可被同时激活,并且可以与不同的证书相关联。
已经描述了创建和启动具有相关联的证书的web应用的概念,现在考虑论述web应用任务会话。
web应用任务会话
在一个或多个实施例中,可以创建任务会话以便使得与web应用相关联的状态信息能够被保存到系统中。作为示例而不是限制,状态信息可以包括会话cookies、JavaScript状态、DOM状态、表单状态、标签和窗口位置、窗口大小、URL、历史记录等等。
由于保存了与特定任务会话相关联的状态信息,由此,所述web应用可被关闭,并且可以在以后重新打开,从而恢复或补充(re-hydrate)web应用的状态信息。所述状态信息既可以被自动保存,也可以通过手动选择过程来保存。
作为示例,考虑图26。其中,桌面2600包括用于规划旅行的web应用窗口2602。桌面2600还包括任务栏2604和跳转列表2606。web应用目录2608提供了一个可用于存储任务会话状态信息的存储设备。在所示出和描述的实施例中,web应用目录2608是在系统的用户空间中创建的。在该示例中,用户具有两个已经保存的任务会话,其中一个与波多黎各旅行相关联,另一个则与阿拉斯加旅行相关联。
在操作中,当用户与web应用交互时,所述用户可以通过任何适当的工具来选择创建和保存任务会话。在所示出的示例中,跳转列表2606具有包含两个条目的菜单项目“任务”。第一个条目“新任务会话”使得用户能够创建新的任务会话。第二个条目“保存当前任务”使得用户能够保存当前任务。通过保存当前任务,与任务相关联的状态信息将会留存于web应用目录2608。标题为“打开任务会话”的菜单项目包含使得用户能够恢复或补充留存于web应用目录2608的先前任务会话的条目。在这里,有两个先前提及以及先前保存的任务会话——波多黎各旅行和阿拉斯加旅行。
从以上的示例中可以注意到,可为个别的web应用创建和保存多个任务会话。在保存任务会话的时候,与web应用相关联的应用ID可以与任务会话一起保存。然后,该应用ID可用于确定哪一个web应用将会消费与保存的任务会话相关联的信息。
任何适当的技术和方法均可用于使得能够创建和保存任务会话。在至少一些实施例中,系统可以利用或以其它方式使用与系统的web浏览器相关联的崩溃恢复系统。在这种情况下,举例来说,崩溃恢复功能可以是在用户选择保存当前任务或是创建新的任务会话的时候被触发的。崩溃恢复功能可以创建一个驻留在用户的应用数据目录中并且可以用于保存与任务会话相关联的信息的“appdata”文件。本领域技术人员是理解崩溃恢复系统的具体操作的。因此,为了简洁起见,在这里没有描述此类系统。
图27是描述了根据一个或多个实施例来保存任务会话状态信息的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。
步骤2700接收与保存任务会话状态信息相关联的输入。可以接收任何适当的输入。例如,所接收的输入可以包括接收自用户的输入。作为替换或补充,该输入可以包括某种类型的自动编程输入。在至少一些实施例中,用户输入可以是经由跳转列表接收的。作为替换或补充,用户输入也可以是经由快捷方式接收的。在所示出和描述的实施例中,用户输入指示用户希望保存与web应用相关联的任务会话状态信息。步骤2702创建或以其他方式访问web应用目录中的任务会话数据结构。该任务会话数据结构将被用于保存任务会话状态信息。步骤2704将任务会话状态信息保存在数据结构中。该步骤可以采用任何适当的方式执行。例如,该步骤可以是在用户选择保存任务会话状态信息的时候执行的。作为替换或补充,该步骤可以是在用户与web应用进行交互的过程中周期性执行的。在至少一些实施例中,步骤2702和2704可以是通过使用web浏览器的崩溃恢复系统执行的。然而应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,其他技术也是可以使用的。
图28是描述根据一个或多个实施例来恢复状态信息已被保存的任务会话的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与在服务器上运行的软件相关联地执行。
步骤2800接收与恢复任务会话相关联的用户输入,其中所述任务会话的状态信息先前已被保存。步骤2802访问web应用目录中的任务会话数据结构。如上所述,任务会话的状态信息是保存在任务会话数据结构中的。步骤2804从web应用目录中检索任务会话状态信息。步骤2806将会启动相关联的web应用,并且将会使用从web应用目录检索的任务会话状态信息来恢复任务会话。
已经描述了保存和重新使用任务会话状态信息的概念,现在考虑如何可以在web应用与浏览器之间执行转换。
Web应用与浏览器之间的转换
在一个或多个实施例,web应用可以转换至浏览器体验,以便能够利用无法由使能所述web应用的Web应用模式浏览器提供的浏览器能力。回忆一下,这是因为:在一些实施例中,Web应用模式浏览器是使得开发人员能够提供更加特定于站点的体验的消减的或无系统窗口控件的浏览器。例如,从Web应用模式浏览器中排除的此类其他能力可以包括收藏夹、工具栏和/或其他插件(add-on)。
在至少一些实施例中,与个别的标签相关联的内容和状态可被从web应用迁移至web浏览器。作为替换或补充,与多个标签相关联的内容和状态和/或web应用的完整的内容和状态可被从web应用迁移至web浏览器。作为替换或补充,与个别的标签相关联的会话可被从web应用迁移至浏览器。
考虑这样一种状况,其中用户从其桌面启动了一个web应用,在其内进行了导航,并且在新标签中打开了一个或多个链接。作为一个示例,考虑图29。其中,桌面2900包括web应用窗口2902,所述窗口则包含用于规划旅行的web应用的一部分。桌面2900还包括用于从中启动web应用的任务栏2904,例如通过点击固定在任务栏上的相关联的图标来启动。web应用窗口2902包括三个标签2906、2908和2910。在该实例中,用户选择了标签2906并且具有一个可被用户打开的链接“点击这里来搜索航班”。
现在,假设用户点击相关联的链接来打开它,一旦打开了所述链接,则确定其希望为在标签2906中显示的网站创建一个收藏夹项目。在这个实例中,用户可以打开工具菜单2912或是使用其他某种用户界面工具,并且选择一个在相关联的web浏览器中打开标签内容的选项。作为一个示例,考虑使用与图29相同的数字的图30。
其中,打开工具菜单2912以便暴露其内容3000。在该示例中为用户提供了两个选择——“在浏览器中打开标签...”以及“在浏览器中打开WebApp内容...”。第一个选择使得用户能够在web浏览器中打开选定标签的内容。当在web浏览器中打开选定标签时,所述标签的内容和状态将会迁移至web浏览器。web浏览器可以是一个具有打开的实例的浏览器,或者可替换地是一个已启动的浏览器。第二个选择使得用户能够在web浏览器中打开web应用的完整的内容。当这样做时,web应用的内容和状态将会迁移至web浏览器。
任何适当的技术均可用于将内容和状态从web应用标签或web应用迁移至web浏览器。在至少一些实施例中,所述迁移是通过使用web浏览器的崩溃恢复系统来进行的,例如如上所述的崩溃恢复系统。特别地,当用户指示希望将内容和状态从web应用迁移至web浏览器时,内容和状态可被写入系统的盘,例如通过写包含将被迁移的相关数据的appdata文件。
此外,在至少一些实例中,共享存储器可以用于迁移那些通常未被web浏览器的崩溃恢复系统使用的信息或数据。例如,诸如证书和会话cookies之类的数据可以保存在共享存储器中,并且可以使用所述共享存储器来使得web浏览器能够使用此类数据。
一旦用户选择了在工具菜单2912中显示的特定选项,那么可以将所述信息或数据迁移至web浏览器的当前实例或新的实例,并且可以关闭web应用窗口2902中的相关联的标签。在一个或多个实施例,如果正在从中迁出信息或数据的标签是在web应用中打开的唯一标签,那么可以在完成迁移之后关闭所述web应用。
当web应用和web浏览器跨越进程边界在不同进程中运行时,上述方法同样是适用的。换言之,使用崩溃恢复系统和共享存储器的迁移同样适合跨越进程边界。然而,在一些情况中,进程边界并不一定需要跨越。相反,web应用以及后续的web浏览器功能可以从相同进程内部暴露。特别地,在这个实例中,web浏览器用户界面可以结合web应用窗口2902而被实例化和使用,并且通过Web应用模式浏览器不可用的功能可以通过web浏览器的用户界面来开启和使得可访问。在操作中,一种实现方式是如下进行的。首先,web应用产生一些崩溃恢复文件。新的浏览器将被启动,并且加载来自崩溃恢复文件的崩溃恢复信息。然后,所述信息将被用于配置新浏览器的状态。当用户在新浏览器内部工作时,他或她将能够经由浏览器的标准用户界面来访问所有浏览器功能。
图31图示了用户已选择将关联于标签的内容和状态迁移至新浏览器实例的实施例。使用了与图29的示例相同的数字。在这里,假设用户为标签2906选择了菜单选择“在浏览器中打开标签”(图30)。作为响应,所述标签的内容和状态将会迁移到web浏览器的新实例,其中所述实例的相关联的用户界面窗口是在3100显示的。用户界面窗口3100包括与已经从web应用迁移的标签相关联的地址栏3102以及标签3104。应该注意的是,在本示例中,在web应用窗口2902中已经关闭了标签2906(图30),然而由于打开了多个标签,因此,所述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应用内容交互的功能。在上文中提供了此类功能的示例。在web应用内容和/或状态的迁移是在同一进程内部进行的情形下,图33的方法可以是有用的。
图34是描述了根据一个或多个实施例的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。
步骤3400接收与将web应用内容和/或状态迁移至web浏览器的处理相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以是通过web应用暴露的工具菜单接收的。步骤3402保存与web应用内容相关联的数据。该步骤可以采用任何适当的方式来执行。举例来说,在至少一些实施例中,至少一些数据可被写入系统的盘。任何适当的技术均可用于将数据写入系统的盘。举个例子,在至少一些实施例中,web浏览器的崩溃恢复系统可以用于将数据写入系统的盘。更进一步,在至少一些实施例中,步骤3402可以通过使用在web应用与web浏览器之间共享的共享存储器来执行。
步骤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应用,由此可以从客户机桌面提供针对所述web应用的未来访问。
作为示例,考虑图35,该图图示了暂时性web应用与浏览器之间的关系。在这里,浏览器3500使得能够通过带有标签的系统来访问多个网页,其中标签3510与网站“任何搜索页面”相关联,并且标签3520与“第二个打开页面”相关联。在一个或多个实施例中,暂时性web应用可以是从打开的页面创建的。在图35中,暂时性web应用3530是通过用户选择标签3510以及在桌面上将所述选择拖放至浏览器3500以外而被产生或创建的。当发生这种情况时,可以在临时位置创建暂时性web应用文件。
然而应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,暂时性web应用是可以采用其他方式产生的。例如,浏览器3500可以具有下拉菜单,以便于选择网页以及后续产生相关联的暂时性web应用。
在本文的上下文中,暂时性web应用是那些并非按照以上在本文中描述的方式安装在客户机系统上的web应用。然而,网站仍旧可以在暂时性web应用中执行可以在已安装的web应用中执行的相同的功能,并且提供针对所述功能的访问。例如,网站可以修改暂时性web应用的独立跳转列表,设定和清除覆盖图标等等。作为替换或补充,暂时性web应用可以支持与已安装的web应用相同的行为,例如如上所述提供从暂时性web应用内部打开的独立的标签或窗口集合。
图36图示了描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以结合任何适当的硬件、软件、固件或是其组合来实现。在至少一些实施例中,该方法的多个方面可以由适当配置的web浏览器和/或客户机设备上的软件模块来实现,例如图1中的那些。
步骤3600接收对于可以从中获取web应用的网站的选择。该步骤可以采用任何适当方式来完成,例如通过在带有标签的web浏览器中选择标签,通过下拉菜单等等。一旦接收到对于网站的选择,则步骤3602将会接收在客户机设备上创建作为暂时性web应用的web应用的输入。在一个或多个实施例中,该处理可以包括接收包含了可用于产生web应用的请求或其他信息的消息或调用。在其他实施例中,该处理可以包括接收从用户拖放与网站相关联的某个标记的处理中产生的输入。步骤3604创建一个与所选择的网站相关联的暂时性web应用。在一些实施例中,创建暂时性web应用的处理将会产生web应用文件和/或进程,而不会将其或是相关联的任何标记整合在客户机桌面或开始菜单上。例如,相关联的文件可以保存在与放置整合的web应用文件的位置不同的临时文件位置。此外,在至少一些实施例中,暂时性web应用的创建可以包括将网站状态从浏览器转移到暂时性web应用。
图37图示了描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以结合任何适当的硬件、软件、固件或是其组合来实现。在至少一些实施例中,该方法的多个方面可以由适当配置的web浏览器和/或软件模块来实现,例如图1中的那些。
步骤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应用主页按钮可以使用商标或其他视觉工具来传达该信息。其次,web应用主页按钮使得用户能够通过简单地点击web应用主页按钮来简单快速地开始返回到其web应用体验的开端,以便访问开始URL。这样做缓解了如下问题:为了访问相关联的网站的开始URL,必须关闭和重新启动特定web应用。在至少一些实施例中,与开始URL相关联的值默认是从供用户拖放任务栏上的网站图标的页面中确定的。作为替换,web开发人员可以定义一个HTML标记符,所述标记符描述作为其页面一部分的开始URL。这样做允许其定义一个替换的开始URL,其中所述替换的开始URL不同于他们当前查看的页面。
作为示例,考虑图39。其中,Web应用模式浏览器3900包括其中出现了网站的URL的地址栏3902。此外,web应用主页按钮3904是在后退和前进导航按钮附近出现的。当用户导航至与web应用相关联的网站以外的域时,他们可以在任何时间简单地点击web应用主页按钮3904,以便导航至如在web应用文件中描述的网站的开始URL。
更进一步,在至少一些实施例中,为了在web应用而不是默认浏览器内部向用户传递其上下文,用于导航的后退和前进按钮可以通过web应用的主页按钮来使用或提取站点商标的基色,以便呈现所述网站的标识。此外,可以使用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浏览器相关联的用户输入,所述web应用内容和/或状态与整合在客户机设备上的web应用相关联;以及
响应于所述接收,将web应用内容和/或状态迁移到web浏览器。
2.权利要求1的计算机实现的方法,其中,所述接收包括通过所述web应用暴露的工具菜单接收用户输入。
3.权利要求1的计算机实现的方法,其中,所述迁移包括迁移与web应用标签相关联的内容和/或状态。
4.权利要求1的计算机实现的方法,其中,所述迁移包括迁移与多个web应用标签相关联的内容和/或状态。
5.权利要求1的计算机实现的方法,其中,所述迁移包括跨越进程边界迁移内容和/或状态。
6.权利要求1的计算机实现的方法,其中,所述迁移包括在相同的进程内迁移内容和/或状态。
7.一个或多个包含了计算机可读指令的计算机可读存储媒体,在被运行的时候,所述计算机可读指令实现一种方法,该方法包括:
接收与将web应用内容和/或状态迁移到web浏览器相关联的用户输入,所述web应用内容和/或状态与整合在客户机设备上的web应用相关联;
保存与所述web应用内容相关联的数据;以及
使用保存的数据在web浏览器中呈现web应用内容。
8.权利要求7的一个或多个计算机可读存储媒体,其中所述接收包括通过所述web应用暴露的工具菜单接收用户输入。
9.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用与web浏览器相关联的崩溃恢复系统来保存所述数据中的至少一些数据。
10.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用与web浏览器相关联的崩溃恢复系统来保存所述数据中的至少一些数据,其中所述保存还包括使用共享存储器保存所述数据中不同于所述至少一些数据的数据。
11.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用共享存储器保存所述数据中的至少一些数据。
12.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用共享存储器保存所述数据中的至少一些数据,其中所述数据中的所述至少一些数据包括证书和/或会话cookies。
13.权利要求7的一个或多个计算机可读存储媒体,还包括确定web浏览器是否打开,如果没有打开,在使用保存的数据来呈现所述web应用内容之前启动所述web浏览器。
14.权利要求7的一个或多个计算机可读存储媒体,其中,所述使用包括使用所述保存的数据呈现与单个标签相关联的web应用内容。
15.权利要求7的一个或多个计算机可读存储媒体,其中,所述使用包括使用所述保存的数据呈现与单个标签相关联的web应用内容,并且还包括响应于所述使用,关闭所述单个标签。
CN201180028813.6A 2010-06-11 2011-05-27 Web应用转换和暂时性web应用 Active CN102947792B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/814,368 US8595551B2 (en) 2010-06-11 2010-06-11 Web application transitioning and transient web applications
US12/814368 2010-06-11
PCT/US2011/038373 WO2011156155A2 (en) 2010-06-11 2011-05-27 Web application transitioning and transient web applications

Publications (2)

Publication Number Publication Date
CN102947792A true CN102947792A (zh) 2013-02-27
CN102947792B CN102947792B (zh) 2014-12-03

Family

ID=45097220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180028813.6A Active CN102947792B (zh) 2010-06-11 2011-05-27 Web应用转换和暂时性web应用

Country Status (5)

Country Link
US (1) US8595551B2 (zh)
EP (1) EP2580679B1 (zh)
CN (1) CN102947792B (zh)
HK (1) HK1180791A1 (zh)
WO (1) WO2011156155A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988670A (zh) * 2015-03-17 2016-10-05 国际商业机器公司 用于基于任务栏快捷方式控制多个应用内容的方法和系统
CN107015851A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种服务组件管理方法及系统
CN107077484A (zh) * 2014-10-10 2017-08-18 斯凯孚公司 生成应用的网络浏览器视图

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US8429546B2 (en) 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US8756488B2 (en) 2010-06-18 2014-06-17 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US8402375B1 (en) * 2011-09-19 2013-03-19 Google Inc. System and method for managing bookmark buttons on a browser toolbar
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
US9081757B2 (en) 2012-08-28 2015-07-14 Sweetlabs, Inc Systems and methods for tracking and updating 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
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
CN108604245B (zh) * 2016-06-22 2022-06-17 荣耀终端有限公司 一种获取网页内容的方法及装置
US11985231B2 (en) * 2021-06-04 2024-05-14 Apple Inc. Integrity attestation for application clips
US11943227B2 (en) 2021-09-17 2024-03-26 Bank Of America Corporation Data access control for augmented reality devices
US11797289B2 (en) 2022-03-17 2023-10-24 Shore Labs Zbigniew Zemła Containerized, decentralized, and distributed web applications with end-to-end encryption
US11921986B1 (en) * 2022-09-27 2024-03-05 Open Text Holdings, Inc. System and method for web page navigation behavior

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152228A1 (en) * 1999-11-10 2002-10-17 Marco Lopez 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
US20040100501A1 (en) * 2002-11-25 2004-05-27 Dornback Jason Robert Method of dragging and dropping defined objects to or from a web page
US20080282255A1 (en) * 2007-05-09 2008-11-13 Shinichi Kawamoto Highly-available application operation method and system, and method and system of changing application version on line
US20080301562A1 (en) * 2007-04-27 2008-12-04 Josef Berger Systems and Methods for Accelerating Access to Web Resources by Linking Browsers
US7526559B1 (en) * 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices

Family Cites Families (114)

* 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
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
EP1451661A1 (en) 2001-02-02 2004-09-01 Opentv, Inc. Service platform suite management system
US7155681B2 (en) 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020111995A1 (en) 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US20020129096A1 (en) 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
WO2002093400A1 (en) 2001-05-11 2002-11-21 Wildseed, Ltd. Method and system for generating and sending a hot link associated with a user interface to a 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
US20050066037A1 (en) * 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
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
CN1732452A (zh) 2002-10-25 2006-02-08 贝蒂纳·埃克斯珀顿 用于自动启动和访问网络地址和应用程序的系统和方法
WO2004068367A2 (en) 2002-12-02 2004-08-12 Sap Aktiengesellschaft Session-return enabling stateful web applications
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
US7386808B2 (en) 2004-05-25 2008-06-10 Applied Minds, Inc. Apparatus and method for selecting actions for visually associated files and applications
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
US20060085758A1 (en) 2004-10-18 2006-04-20 Dan Backus Desktop alert management
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
US8578333B2 (en) 2006-06-27 2013-11-05 Exilant 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
WO2008006213A1 (en) 2006-07-13 2008-01-17 Mobivox Corporation Method and system for auto-login by calling line identification
US8700788B2 (en) 2006-08-18 2014-04-15 Smarticon Technologies, Llc Method and system for automatic login initiated upon a single action with encryption
US8572202B2 (en) 2006-08-22 2013-10-29 Yahoo! Inc. Persistent saving portal
US7940250B2 (en) 2006-09-06 2011-05-10 Apple Inc. Web-clip widgets on a portable multifunction device
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 전정호 본체가 필요없는 중앙집중식 컴퓨터
US20090013245A1 (en) 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor xml editor framework
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
CN101378400B (zh) 2007-08-30 2013-01-30 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
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 주식회사 위고스닷컴 사용자 설정형 맞춤 컨텐츠 제공 시스템 및 그 방법
US8448188B2 (en) 2008-06-17 2013-05-21 International Business Machines Corporation Web user interface component coordination
US8539478B2 (en) 2008-06-20 2013-09-17 International Business Machines Corporation Dynamic web installer
US8176411B2 (en) 2008-07-16 2012-05-08 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
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
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US20110307810A1 (en) 2010-06-11 2011-12-15 Isreal Hilerio List integration
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US8429546B2 (en) 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152228A1 (en) * 1999-11-10 2002-10-17 Marco Lopez 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
US20040100501A1 (en) * 2002-11-25 2004-05-27 Dornback Jason Robert Method of dragging and dropping defined objects to or from a web page
US20080301562A1 (en) * 2007-04-27 2008-12-04 Josef Berger Systems and Methods for Accelerating Access to Web Resources by Linking Browsers
US20080282255A1 (en) * 2007-05-09 2008-11-13 Shinichi Kawamoto Highly-available application operation method and system, and method and system of changing application version on line
US7526559B1 (en) * 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BRAD LINDER: "Bubbles turns web apps into desktop apps", 《HTTP://WWW.ONLINE-TECH-TIP.COM/FREE-SOFTWARE-DOWNLOADS/TURN-WEB-APPLICATIONS-INTO-DESKTOP-APPLICATIONS-WITH-BUBBLES》, 15 February 2008 (2008-02-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077484A (zh) * 2014-10-10 2017-08-18 斯凯孚公司 生成应用的网络浏览器视图
CN107077484B (zh) * 2014-10-10 2021-05-18 斯凯孚公司 生成应用的网络浏览器视图
CN105988670A (zh) * 2015-03-17 2016-10-05 国际商业机器公司 用于基于任务栏快捷方式控制多个应用内容的方法和系统
US10489013B2 (en) 2015-03-17 2019-11-26 International Business Machines Corporation Intelligent taskbar shortcut menu for webpage control
CN107015851A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种服务组件管理方法及系统

Also Published As

Publication number Publication date
EP2580679A4 (en) 2014-04-09
US20110307738A1 (en) 2011-12-15
CN102947792B (zh) 2014-12-03
EP2580679A2 (en) 2013-04-17
WO2011156155A3 (en) 2012-04-19
HK1180791A1 (zh) 2013-10-25
US8595551B2 (en) 2013-11-26
WO2011156155A2 (en) 2011-12-15
EP2580679B1 (en) 2018-12-12

Similar Documents

Publication Publication Date Title
CN102947792B (zh) Web应用转换和暂时性web应用
CN102918486B (zh) Web应用导航域
CN102918484B (zh) 包括任务栏锁定的万维网应用锁定
CN102939584B (zh) 列表集成
CN102918540B (zh) 利用凭证创建并启动万维网应用
CN102918502B (zh) 用于将网络应用和网站安装到客户端设备上的方法和装置
CN102934080B (zh) 网络应用主页按钮
CN102939583B (zh) 创建任务会话
CN102591928A (zh) 表现包括从跳转列表任务和项目访问的内容的内容
CN102736914B (zh) 用于启动网络应用的计算机实施的设备和方法
US11687324B2 (en) Property management method and property management system and machine using the same
US8176120B2 (en) Web-page authoring tool for automatic enrollment in advertising program
TWI450107B (zh) 用於網路資料使用平臺之方法及電腦可讀儲存媒體
CN104133828A (zh) 用于html文档的拖放剪贴板
US20120317171A1 (en) System and Method for Sharing Web Contents for Building Rich Internet Applications
WO2018083679A1 (en) System and method for providing personalized solutions using bots
US20110197144A1 (en) Method And System Of Providing A Viewing Experience With Respect To A Document Having Read-only Content
WO2016112844A1 (en) Property management method and property management system and machine using the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1180791

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

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

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1180791

Country of ref document: HK