组合壳应用和子应用的界面的制作方法

文档序号:6479950阅读:151来源:国知局
专利名称:组合壳应用和子应用的界面的制作方法
组合壳应用和子应用的界面
背景技术
计算机系统执行各种类型的软件应用。创建称为“子应用(sub-application)”的 这些软件应用中的许多软件应用以向称为“壳应用(shell application)”的其它更全面的 应用提供具体的功能。为此,将壳应用说成是“主控”一个或多个子应用。例如,电子邮件 (e-mail)软件程序(例如,MICROSOFT OUTLOOK )可以使用插件来对e-mail消息进行加密 和解密。在这种情况下,将e-mail软件程序称为壳应用,而将加密和解密插件称为子应用。 在另一示例中,操作系统(OS)可以使用文字处理应用和电子表格应用。在这种情况下,将 OS称为壳应用,而将文字处理和电子表格应用称为子应用。通常,可以将如上所述的主控另 一应用的任何应用称为“壳应用”。因此,壳应用可以包括在OS下运行的应用,或者甚至可 以包括OS本身。类似地,通常可以将由另一应用主控的任何应用称为“子应用”。子应用不独立于壳应用进行操作。作为替代,子应用使用由壳应用提供的“服务” 与壳应用相交互。这些服务为子应用提供了子应用为了与壳应用通信以及向壳应用提供它 们的相应功能而所需的协议。如果壳应用的服务不可用,则子应用不能进行操作。因此将 子应用说成是“依赖于”壳应用。此类依赖性是不期望的,因为用来开发子应用以与壳应用 兼容的过程是昂贵、冗长且耗时的。壳应用和子应用两者生成将被显示在系统显示器上的图形数据。由于子应用依赖 于壳应用,所以使用壳应用的单个图形用户界面(GUI)来显示子应用图形数据和壳应用图 形数据两者。如上文所解释的,壳应用和子应用之间的相互依赖性的消除通常是期望的。然 而,此类消除阻止使用壳应用的⑶I来显示子应用图形数据。因此,对于子应用而言没有用 来显示其图形数据的有效手段。


为了详细说明本发明的示例性实施例,现在将对附图进行参考,在附图中 图1示出依照实施例的实现本文公开的技术的说明性计算机系统;
图2示出依照实施例的存储在图1的系统内的电路逻辑的说明性方框图; 图3A示出依照实施例的与图1的系统相关联的说明性显示器和图形用户界面(GUI); 图:3B示出举例说明依照实施例的本文公开的技术的操作的概念图;以及 图4示出依照各种实施例实施的说明性方法的流程图。符号和命名
某些术语在整个以下说明和权利要求书中用来指代特定的系统组件。如本领域的技术 人员将认识到的,公司可以用不同的名称来指代组件。本文档并不意图区别在名称而不是 功能方面不同的组件。在以下讨论和权利要求中,以开放的方式来使用术语“包括”和“包 含”,并且因此应将其解释为意指“包括但不限于...”。并且,术语“耦合”意图意指直接、 间接、光学或无线电连接。因此,如果第一设备耦合到第二设备,则该连接可以是通过直接 电连接、通过经由其它设备和连接的间接电连接、通过光学电连接或通过无线电连接。
具体实施例方式以下讨论针对本发明的各种实施例。虽然这些实施例中的一个或多个可以是优选 的,但不应将公开的实施例解释为或以其他方式用作限制包括权利要求的本公开的范围。 另外,本领域的技术人员将理解的是以下说明具有广泛的应用,并且任何实施例的讨论仅 仅意图是例证该实施例,并且并不意图暗示包括权利要求在内的本公开的范围局限于该实 施例。本文公开的是一种技术,包括独立地执行壳应用和子应用,同时将用于壳应用和 子应用中的每一个的基于⑶I的信息显示在公共显示器上。具体而言,在壳应用的⑶I上 再现(或叠加)与子应用相关联的(一个或多个)GUI。以此方式,在最终用户看来壳应用正 在主控子应用,不过这些应用实际上是独立地执行的。当最终用户与叠加在壳应用⑶I上 的子应用GUI相交互时,壳应用捕获用户输入并将其传输至子应用。可替换地,子应用直接 捕获用户输入。在任一种情况下,壳应用给出其正在主控子应用的错觉,而实际上壳应用和 子应用被单独地执行。因此,在保持对最终用户的透明度的同时缓解了前述问题。现在在 下文中参考图1来进一步阐明上述技术。图1示出依照各种实施例的实现本文公开的技术的计算机系统100。计算机系统 100包括机箱102、显示器104、键盘106和鼠标108。还可以使用其它输入和/或输出设 备。此外,虽然计算机系统100在此处被描述为是台式个人计算机,但可以在任何适当类型 的计算机系统中实现本文公开的技术,所述适当类型的计算机系统包括笔记本/膝上型计 算机、个人数字助理、便携式音乐播放器、移动通信设备和能够执行软件程序的任何以及所 有电子设备。图2示出图1的机箱102的内容的详图。具体而言,机箱102包括处理逻辑200以 及包括壳应用204和多个子应用206 208的存储装置202(例如,随机存取存储器(RAM))。 在至少某些实施例中,处理逻辑200包括具有被嵌入在板上存储器中的固件的处理器或微 处理器。所述固件可以包括软件代码,其在被执行时使得处理逻辑200能够使用通过执行 壳应用204和/或子应用206 208中的一个或多个获得的图形数据在显示器104上再现 GUI。处理逻辑200可以执行与计算机系统100的操作有密切关系的附加功能。如前所述, 机箱102耦合到在图2中一般地称为输入设备210的键盘106和鼠标108。输入设备210 可以包括键盘和鼠标之外的附加类型的设备,诸如触摸屏、语音激活输入设备等。在某些实 施例中,显示器104可以是触摸屏,在这种情况下,显示器104可以包括输出设备和输入设 备210两者。在操作中,处理逻辑200执行壳应用204和子应用206 208中的一个或多 个。例如,处理逻辑200可以执行壳应用204和子应用206。壳应用204包括软件代码,其 在被执行时促使处理逻辑200在显示器104上生成⑶I。图3A示出此类⑶I 300。使用壳 应用204生成的⑶I 300可以是任何适当类型。子应用206 208包括软件代码,其在被执 行时促使处理逻辑200在显示器104上生成另一⑶I。图3A示出此类⑶I 302。如所示, ⑶I 302被叠加在⑶I 300上。使用⑶I 300显示的图形数据是直接从壳应用204接收的 以及使用⑶I 302显示的图形数据是直接从子应用206 208中的一个接收的,在这个意 义上,⑶I 300和302是相互独立的。然而,在某些实施例中,可以经由壳应用204将来自 子应用206 208的图形数据提供给⑶I 302。在至少某些实施例中,当执行壳应用204时,处理逻辑200不使用壳应用204来“主控”子应用206。换言之,壳应用204和子应用206是相互独立的,使得子应用206不会 为了适当的执行而“依赖于”壳应用204。作为替代,处理逻辑200单独地执行壳应用204和 子应用206,意味着壳应用204和子应用206在其自己的进程空间中独立地运行,使得存储 器及其它资源不被共享(或至少在比未实施本文公开的技术的情况下低的程度上被共享)。 可以相互独立地执行壳应用204和子应用206,因为壳应用204未被编程为要求子应用206 遵守任何特定协议以便与壳应用204通信。因此,壳应用204不向子应用206提供上述“服 务”,并且子应用206也不要求服务以便向壳应用204提供它的功能。例如,壳应用204可以包括OS且子应用206可以包括文字处理应用。代替向文字 处理应用提供利用其与OS通信的服务,OS被具体地编程(例如,由制造商)为接受来自文字 处理应用的通信,而不管是否遵循任何特定的通信协议。以此方式,消除了 OS与文字处理 应用之间的相互依赖性。然而,如前所述,壳应用204和子应用206之间的相互依赖性的这种消除是有问题 的,因为其使得子应用206没有用来显示其图形数据的有效手段。在至少某些实施例中,如 下所述来缓解此类问题。在被执行时,子应用206促使处理逻辑200产生一个或多个GUI 302,如图3A所示。处理逻辑200使用任何适当的技术或技艺将这些⑶I 302再现到⑶I 300上,所述技术诸如MICROSOFT VISTA 桌面窗口管理器(DWM)。由于子应用的(一个或多 个)⑶I 302被叠加到壳应用的⑶I 300上,所以在正在观看显示器104的用户看来,壳应 用204正在主控子应用206。然而,如前文所解释的,壳应用204不在主控子应用206 ;作为 替代,处理逻辑200正在将子应用的(一个或多个)⑶I 302再现到壳应用的⑶I 300上以 创建壳应用204正在主控子应用206的错觉。此错觉促进用户透明度和易用性。在某些实施例中,子应用的(一个或多个)⑶I 302可以是被动的。例如,可以仅仅 为了⑶I 300的美感增强(例如作为装饰)而显示⑶I 302。相反,某些实施例可以为计算 机系统100的最终用户提供与(一个或多个)⑶I 302相交互的机会,从而使得⑶I 302能 够向⑶I 300和壳应用204提供一个或多个功能。例如,⑶I 302可以包括“可填充”表格, 其包括可以向其中输入文本的若干字段304,诸如图3A所示。在另一示例中,⑶I 302可以 包括可以使用鼠标光标来点击的一个或多个按钮。在又一示例中,显示器104可以是触摸 屏显示器,以及因此,GUI 302可以包括触敏区域,其经由指示笔、手指等来接收用户输入。 任何和所有此类变化被包括在本公开的范围内。在此类实施例中,最终用户可以响应于向最终用户显示的(一个或多个)⑶I 302 来向计算机系统100提供输入。处理逻辑200进而可以捕获此类用户输入并可以将输入提 供给壳应用204、子应用206或两者。在某些实施例中,处理逻辑200可以将用户输入提供 给壳应用204,壳应用204进而可以将用户输入提供给子应用206。在另外的其它实施例 中,处理逻辑200将用户输入直接提供给子应用206,子应用206进而可以可选地将用户输 入提供给壳应用204。例如,假设壳应用204包括用来订购商品的软件,并且还假设子应用206包括可被 壳应用204用来生成并保存订单表格的插件。因此,壳应用204提供在其上施加或再现子应 用的辅助⑶I的主⑶I。在最终用户看来壳应用204正在主控子应用206,不过如上文所解 释的,情况并不是这样。最终用户使用键盘106和鼠标108来将信息输入到辅助GUI的订 单表格的字段中。例如,最终用户可以输入名称、帐单地址、信用卡号等。一旦最终用户完
6成了向订单表格中输入信息,则最终用户可以点击“保存”或类似按钮以指示订单表格已完 成。结果,在某些实施例中,处理逻辑200可以直接从壳应用204向子应用206提供数据。 在其它实施例中,处理逻辑200可以促使从最终用户向辅助GUI提供数据,并直接提供给子 应用206,由此避开壳应用204。子应用可以直接从最终用户或经由壳应用从最终用户接收用户输入。可以使用各 种技术来实现这些方法中的任何一个。例如,在某些实施例中,可以“去除”包含动态显示 的壳应用的GUI的一部分并使其透明。然后可以用子应用的GUI来替换壳应用GUI的透明 部分(例如,使用WINDOWS VISTA DWM),从而使得最终用户能够直接向子应用的GUI中输 入信息。在某些实施例中,壳应用的⑶I (或动态显示窗口)可以是完全透明的。然后,可 以在与壳应用的GUI相同的位置(或“在后面”)再现子应用的GUI。以此方式,使得最终用 户能够直接向子应用的GUI中输入信息。在某些实施例中,可以确定无边框子应用GUI的 尺寸并将其叠加在壳应用的GUI的一部分或全部上,从而使得最终用户能够直接向子应用 的⑶I提供输入。任何和所有此类变化被涵盖在本公开的范围内。图:3B示出在操作中的在本文公开的技术的概念图。存储装置202包括壳应用204 和子应用206。使用子应用206生成的图形数据被直接传输到显示器104,并使用⑶I 302 来显示,如箭头306所指示的。“直接”意味着处理逻辑200促使从子应用206向⑶I 302传 输图形数据而无需首先将图形数据提供给壳应用204。然而,在某些实施例中,如箭头307 所指示的,可以经由壳应用204将图形数据从子应用206传输到⑶I 302 (即,“间接地”传 输图形数据)。同样,使用壳应用204生成的图形数据被直接传输到显示器104并使用GUI 300来显示,如箭头308所指示的。壳应用204和子应用206被相互独立地执行,如上文 所解释的,使得壳应用204不向子应用206提供“服务”。并且,如所解释的,可以使用诸如 WINDOWS VISTAe PWM的任何适当的技术或技艺将来自子应用206的图形数据直接提供给 GUI 302。仍参考图3B,如箭头310所指示的,可以将(例如,由最终用户)输入到⑶I 302中 的数据直接从GUI 302提供给子应用206,所述数据包括鼠标点击、触摸(如果显示器104是 触摸屏)、文本等。“直接”意味着处理逻辑200促使将用户输入从GUI 302传输到子应用 206而无需首先向壳应用204提供用户输入。然而,在某些实施例中,如箭头311所指示的, 可以经由壳应用204将用户输入“间接地”传输至子应用206。类似地,如箭头312所指示 的,可以将提供给⑶I 302的用户输入直接传输到壳应用204。无论用来在显示器104上显示子应用⑶I的特定技术如何,在至少某些实施例中, 可以以规则的预定速率或以不规则速率刷新子应用GUI。此外,壳应用和子应用可以共享公 共资源,诸如可扩展应用标记语言(XAML)文件或可扩展标记语言(XML)文件,其中的每一 个可以指定使得显示器104上的⑶I能够具有统一观感的主题。虽然上文按照单个子应用和壳应用描述了说明性实施例,但在某些实施例中,可 以使用任何数目的子应用和/或壳应用。例如,单个壳应用的GUI可以在其上叠加有多个 子应用的GUI。在另一示例中,可以在显示器上同时显示多个壳应用的GUI,每个壳应用GUI 在其上叠加有任何数目的子应用GUI。在分立的计算机系统(S卩,其组件未被网络连接链接的计算机系统)中实现本文所 述的技术。因此,例如,可以将壳应用和(一个或多个)子应用存储在同一存储设备或多个存储设备上,所述存储设备全部被容纳在公共机箱内。在至少某些实施例中,壳应用和(一个 或多个)子应用未被存储在经由一个或多个网络(例如,因特网、广域网(WLAN))可通信地耦 合的存储设备上。例如,可以在分立的移动通信系统上、在包括显示器、计算机机箱和输入 /输出设备的分立计算机系统等上实现该技术。图4示出依照各种实施例实现的方法400的流程图。方法400通过启动壳应用(方 框402)和子应用(方框404)来开始。方法400通过将子应用图像(⑶I)传输到壳应用或 者在某些实施例中直接传输到显示器本身(方框406)来继续。然后,方法400包括向子应 用图像提供用户输入数据(方框408)。方法400还包括收集输入数据并直接地或经由包括 壳应用的间接路径将输入数据传输至子应用(方框410)。可以按照任何适当顺序来执行方 法400的步骤。上述讨论示意图说明本发明的原理和各种实施例。一旦完全理解本公开,许多变 更和修改对于本领域的技术人员来说将变得显而易见。以下的权利要求意图被解释为涵盖 所有此类变更和修改。
权利要求
1.一种系统,包括存储装置,其包括壳应用和子应用,所述子应用适合于向壳应用提供功能;以及 处理逻辑,其被耦合到所述存储装置并适合于执行壳应用和子应用; 其中,所述处理逻辑使用子应用来生成第一图形用户界面(GUI)并使用壳应用来生成 第二⑶I ;其中,所述处理逻辑在显示器上显示被叠加到第二⑶I上的第一⑶I ; 其中,所述处理逻辑捕获使用第一 GUI提供的输入并将所述输入提供给子应用。
2.权利要求1的系统,其中,所述子应用包括能够被壳应用使用的插件。
3.权利要求1的系统,其中,所述处理逻辑不使用网络连接来将所述输入提供给子应用。
4.权利要求1的系统,其中,所述壳应用在处理逻辑产生第二GUI时或在处理逻辑将第 二⑶I提供给显示器时不主控子应用。
5.权利要求1的系统,还包括触摸屏显示器,其中,所述触摸屏显示器显示第二GUI,并 且其中,所述处理逻辑使用触摸屏显示器来捕获所述输入。
6.权利要求1的系统,其中,所述处理逻辑将所述输入直接提供给子应用而无需首先 将其提供给壳应用。
7.权利要求1的系统,其中,所述处理逻辑将所述输入提供给壳应用,并且其中,所述 处理逻辑将所述输入从壳应用提供给子应用。
8.一种系统,包括 显示器;以及存储装置,其包括壳应用和能够用来向壳应用提供功能的插件应用; 其中,所述显示器显示与插件应用相关联的图形用户界面(GUI),同时所述显示器显示 与壳应用相关联的另一 GUI ;其中,所述系统使用GUI来捕获输入并将所述输入直接提供给插件应用。
9.权利要求8的系统,其中,所述壳应用和插件应用被相互独立地执行,使得插件应用 的故障不会促成壳应用的故障。
10.权利要求8的系统,其中,直接从所述插件应用向GUI提供图形数据,并且其中,所 述输入被直接提供给插件应用,而无需首先提供给壳应用。
11.权利要求8的系统,其中,所述系统包括选自由个人计算机、移动通信设备、个人数 字助理和便携式音乐播放器组成的组中的设备。
12.权利要求8的系统,其中,所述显示器显示所述⑶I来代替所述另一⑶I的透明部分。
13.权利要求8的系统,其中,不使用网络连接来将所述输入提供给插件应用。
14.权利要求8的系统,其中,所述显示器包括用来捕获所述输入的触摸屏。
15.一种方法,包括显示第一图形用户界面(⑶I),第一⑶I对应于壳应用;显示叠加在第一GUI上的第二GUI,第二GUI对应于能够用来向壳应用提供功能的插件 应用;向第二⑶I提供输入;以及将所述输入从第二 GUI传输至插件应用; 其中,壳应用不主控插件应用。
16.权利要求15的方法,还包括以预定间隔刷新所述第二⑶I。
17.权利要求15的方法,其中,将所述输入从第二GUI传输至插件应用包括将所述输入 直接传输到插件应用。
18.权利要求15的方法,其中,将所述输入从第二GUI传输至插件应用包括首先将所述 输入传输至壳应用。
19.权利要求15的方法,其中,显示所述第一⑶I和所述第二⑶I包括相互独立地执行 壳应用和插件应用。
20.权利要求15的方法,其中,显示所述第二GUI包括使用被内置到选自由台式计算 机、笔记本计算机、个人数字助理、移动通信设备、便携式音乐播放器和触摸屏设备组成的 组的设备中的显示器。
全文摘要
一种系统包括存储装置,所述存储装置包括壳应用和适合于向壳应用提供功能的子应用。所述系统还包括被耦合到所述存储装置并适合于执行壳应用和子应用的处理逻辑。所述处理逻辑使用子应用来生成第一图形用户界面(GUI)并使用壳应用来生成第二GUI。所述处理逻辑在显示器上显示被叠加到第二GUI上的第一GUI。所述处理逻辑捕获使用第一GUI提供的输入并将所述输入提供给子应用。
文档编号G06F17/00GK102138122SQ200880130907
公开日2011年7月27日 申请日期2008年8月29日 优先权日2008年8月29日
发明者B·N·苏格斯, C·K·奥迪拉朱, I·阿莫, O·尼森 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1