用户界面服务的制作方法

文档序号:6568523阅读:106来源:国知局
专利名称:用户界面服务的制作方法
关于联邦资助研究或开发的声明
不适用。
背景 个人计算机(本文用于指代一组计算设备)正在发展成更多地在家庭起居室而非办公室中的设备。例如,PC的流行用途是将它们用作DVR(数字视频录像机),有时也称为PVR(个人视频录像机)。以这种方式使用,PC可记录诸如感兴趣的电视节目的媒体节目供以后回放或下载到外部设备。与正在拓宽其用途的计算机相关联的改进方面之一是其用户界面(UI)的改进。
历史上,通过本文称为两英尺(two-foot)UI或接近UI与计算机交互。两英尺UI被设计成相关于距计算机屏幕约两英尺远或约一臂距离的用户来使用。已经为计算机设计的几乎所有图形用户界面(GUI)都是两英尺UI。但是最近,十英尺UI的理念已经实现。十英尺UI方便了与计算机的更远距离(在电视观看距离的量级上)的交互。对该类UI的另一描述性术语包括“远距离用户界面(DUI)”。当然,术语“十英尺UI”或“DUI”并不是指仅在精确的十英尺处与计算机交互而是在本文中用于描述从约电视观看距离操作PC的概念。
这种DUI的示例在题为“User Interface for Operating a Computer From ADistance(用于远距离操作计算机的用户界面)”共同待批申请No.10/174,619中有描述。另一个这种系统及其交互的示例可在题为“User Friendly Remote SystemInterface(用户友好的远程系统界面)”的美国专利No.6,313,851以及题为“User-Friendly Remote System Interface With Menu Highlighting(具有菜单着重的用户友好远程系统界面)”的美国专利No.6,898,765。这些参考文献的每一个通过引用明确结合于此。
用户界面外壳(UIS)是与各种应用程序(包括计算机操作系统)交互以控制向用户呈现数据的一种类型的环境。通常,十英尺UI应用程序与呈现十英尺UI的系统并不兼容。如同需要配置成与两英尺UI结合工作的应用程序一样,应用程序必须配置成与十英尺UI结合工作。这种配置对于软件开发者和UI开发者是特别有问题的。
存在问题的原因之一与确保可互操作能力相关联。即,UI必须与期望的应用程序兼容。软件经销商必须使其应用程序与将要用于呈现与其应用程序相关联的数据的UI兼容。要交互的外壳越多,开发由大批人使用的应用程序的软件经销商面对的负担越重。
该问题的一种可能解决方案是只提供单个UI,例如可在此处应用的单个十英尺UI。这种情况对独立软件经销商(ISV)相当好,因为他们需要将其应用程序编程为与单个十英尺UI交互。但是这种情况需要从其它软件制造商,尤其是开发替代UI外壳(第一或默认外壳的替代)业务中的制造商获得很多。可能出现特定软件经销商希望提供定制十英尺UI的情况。但是本发明中不存在希望开发的定制十英尺UI的实体面临确保其UI与由各种其它软件经销商提供的各种产品兼容的艰巨任务的事实。
此外,如果经销商尝试独立开发替换UIS,诸如替换十英尺UIS,则虽然能够用功能、品牌来定制其外壳,但是仍然需要能够完成所有UIS任务(与其它应用程序和硬件设备通信等)。这种努力不仅是资源密集型的,而且与关于市场接受程度以及与各种硬件和软件产品的兼容程度的高度不确定性相关联。这样,现有技术的当前状态可以通过提供用于允许所需软件的经销商提供定制十英尺UI同时不承担与开发完全可互操作UI相关联的负担的方法和系统 概述 本发明的实施方式通过提供用于通过使用第一UIS向第二个提供服务来方便与一个或多个计算设备交互的系统和方法以解决至少以上问题。本发明将客户端/服务器类型或关系扩展到用户界面。本发明在技术领域具有若干实际应用,包括简化UI外壳的开发,进而减少与使替换UI外壳可用于操作计算系统相关联的资源。
在第一说明性方面,提供应用编程接口(API)(由若干组件接口构成)以方便呈现与服务用户界面外壳(UIS)协作的所呈现UI的方法。该方法包括接受指示待完成任务的数据、协调任务的完成、以及将控制返回到所呈现UI。
在第二说明性方面,本发明的实施方式采用包括用第二UIS服务第一图形UIS的计算机实现方法的形式。第一UIS可以是客户端UIS,第二UIS是服务UIS,且第一UIS由第二UIS提供服务。
在第三说明性方面,本发明的实施方式包括用第二UI环境服务第一UI环境。
在第四说明性方面,本发明一实施方式是用于执行方便与具有至少两个UI外壳的一个或多个计算设备交互的方法的计算机程序产品。该方法包括使用未向用户呈现的第一UIS服务向用户呈现的第二UIS。
在最后的说明性方面,本发明一实施方式是在一个或多个计算机可读介质上具体化的由非显示UIS提供服务的可显示UIS。
附图的若干视图简述 以下参照附图详细描述本发明,其中附图通过引用结合于此

图1是示出本发明一示例性实施方式的框图; 图1A示出根据本发明一示例性实施方式的说明性替换客户端UI外壳; 图2是示出本发明说明性实施方式的步骤的流程图;以及 图3是适于实践本发明一实施方式的示例性操作环境。
详细描述 如上所述,UI开发者可能期望设计十英尺UI自身的外观和感受,并且使这种外观和感受向用户呈现而不执行相关于创建与各种操作系统、第三方应用程序、硬件设备等兼容的独立UI的任务。本文所述的解决方案是让第一用户界面外壳(UIS)服务第二UIS(替换或定制UIS),使得计算机用户会看到定制UI,但是该定制UI会结合完成与单独UI相关联的传统“高负载”的服务UI来操作。UI外壳是一类UI环境。
在某种程度上,本发明一实施方式的一方面可被描述成外观。客户端UI是向用户呈现的一类外观。因此,在一实施方式中呈现客户端外壳而不呈现服务外壳。根据本发明的不同实施方式,服务UIS变成方便一端上客户端UI之间的数据交换以及另一端上各种应用程序和其它组件之间的数据交换。
贯穿本发明的描述,各种缩写和简写符号用于帮助理解与相关联系统和服务有关的某些概念。这些缩写和简写符号仅出于提供传递本文所述的理念的简易方法的目的,完全不旨在限制本发明的范围。以下是这些缩写的列表 API应用编程接口 服务UIS服务称为客户端UI外壳的另一用户界面外壳的 用户界面外壳 客户端UIS 由称为服务UIS的另一用户界面外壳提供服务的 用户界面外壳 ISV 独立软件经销商 十英尺UI/DUI十英尺用户界面/远距离用户界面(在约电视观看 距离处操作计算机) 两英尺UI两英尺用户界面(在约电视观看距离处操作计算 机) UI 用户界面 UIS 用户界面外壳 现在参照图1,提供本发明的示例性实施方式由附图标记,并一般通过附图标记110进行引用。引用API112。API112可由通过方法来展现各种功能方面的一组要素组件构成,但是在本文中主要作为单数引用以不混淆本发明并且利于阅读。API112方便在一实施方式中由服务UIS116提供服务的客户端UIS114之间通信。
服务UIS116作为一种服务器组件,服务作为相对于UIS116的一种客户端的客户端UIS114的请求。每个UIS可根据本发明的实施方式直接或间接地主存其它应用程序。
虽然为了不混淆本发明而未在图1中示出各种网络,但是这些网络完全落在本发明的范围内。例如,服务UIS116和客户端UIS114可驻留在通过一个或多个网络彼此耦合的诸如不同PC的不同设备上。如上所述,外壳可在网络上的客户端-服务器类型的配置中工作,其中例如,客户端UIS114作为一种客户端由充当完成相当多资源密集型任务的一种服务器的服务UIS116来提供服务。虽然本文使用术语“客户端”和“服务器”(以及诸如“服务”的变体),但是如此是为了描述外壳的各种功能方面。它们在本质上没有必要是其传统意义上的“客户端”或“服务器”。但是这些术语传递与本发明相关联的概念。
类似地,客户端UIS114是提交由另一UI外壳履行的请求的任何UI外壳。服务UI外壳是服务(接收请求、完成任务等,如下所述)另一UI外壳的外壳。客户端UIS114由服务UIS116提供服务。但是用户可能甚至不知道服务UIS116的存在,因为用户仅看到与客户端UIS114相关联的组件(诸如UI组件)。类似地,某些应用程序可能甚至不知道客户端UIS114的存在,因为它们与服务UIS116交互,然后在一实施方式中将数据或数据的变体传递给客户端UIS114。
各种视觉元素或数据组件呈现在显示设备的呈现区118中,该区域可采用在计算机监视器、手持式设备等上的形式。呈现区118示出可用于类似播放视频、查看图片或参看来自服务UIS116的馈送之类的诸如用户选择区120和插片122的某些说明性组件,服务UIS116与一般通过附图标记124引用的一组应用程序交互。这些引用涉及对说明性DUI的详细组件、导航等的早期说明。
一组应用程序124是说明性的,并包括诸如媒体播放器124A、软件框架124B、计算机或软件插件124C、其它应用程序或甚至操作系统124D、或操作系统本身124E的示例性项目,在一实施方式中操作系统124E被示为直接与服务UIS116一起操作,而不是经由诸如第一API126A、第二API126B、第三API126C和第四API126D的相应接口与上述应用程序124通信。
数据部分通过附图标记128A-D来引用,但是在本文中可一般引用为附图标记128以传递一般在呈现区118与客户端UIS114之间或客户端UIS114与服务UIS116之间传输的数据概念。但是更具体地,数据部分128A对应于从呈现区118向客户端UIS114接收的数据;附图标记128B是指从API112向服务UIS116交换的数据;数据部分128C是指从服务UIS116向API112传递的数据;以及数据部分128D是指从客户端UIS114向呈现区118传递的数据。为说明目的,以框图形式示出数据流。实际数据流可能因数据流的实际特性而与所示的不同,但是这落在以下权利要求书的范围内。
图1所使用的形状和符号不应被解释为本质上尝试遵循特定形状表示特定事物的任何流程图标准。相反,附图在图形上强调由本发明提供的在现有技术中的各种实际应用和益处中的一些。例如,采用拼图板来在图形上示出应用编程接口的概念。例如,图1示出客户端UIS114与API112兼容。
服务UIS116与API阵列126A-126D相关联,该阵列与各种软件应用程序124交互。如本文所使用的,术语“软件应用程序”被广泛使用,并且指代类似可执行文件、库和在计算系统中使用的其它软件组件的事物。如图所示,第一API126A可方便与特定媒体播放器124A的交互。虽然未示出,但是不同的API可用于与不同媒体播放器交互,或者情况可能是所有播放器与第一API126A交互。类似地,框架124B可需要API126B来与其通信。说明性框架包括由微软公司提供的“.NET框架”。
定制接口有必要与服务UIS116通信的另一示例包括使用第三API126C的插件124C的接口。尝试列出关联于与许多可用软件应用程序交互的各种API的全部会混淆本发明的重点。因此,示出省略号以表明在此可以具体预期比图1所示哪些更多的API。最后的说明性API、第四API126D被示为用于与其它应用程序或操作系统124D交互。当然,服务UIS116可直接与操作系统124E交互或者直接与各种其它软件程序交互。
但是根据本发明一实施方式中,客户端UIS114甚至不需要知道第一API126A、第二API126B等,也不需要知道到操作系统124E的直接链接,因为知道如何经由API112与服务UIS116交互就足以与其它组件间接交互。
客户端UIS114允许向用户呈现定制显示118。当经由定制客户端UIS114从用户收到输入数据时,该数据可经由API112传递到服务UIS116,该服务UIS116协调由客户端UIS114提出的各种任务的完成。以这种方式,给予开发者定制显示而无需处理与开发诸如服务UIS116的自身成熟外壳相关联的兼容问题的机会。
在本发明一实施方式中,服务UIS116是自身并不在呈现区118中显示其组件的十英尺UIS,相反方便由客户端UIS114经由API112显示这些组件。在该实施方式中,客户端UIS114是相对于服务UIS116定制的替换十英尺UI(UIS116的替换)。虽然API112被引用为单体并出于简便而继续被如此引用,但是如上所述,本发明预期API112可由多个应用编程接口构成。本发明展现这些API以允许软件经销商呈现他们期望通过诸如客户端UIS114的替换外壳所呈现的。
在一实施方式中,服务UIS116为客户UIS114提供服务,使得数据、任务等可由客户端UIS114接收并传递到服务UIS116以方便这些任务的完成,并且在可能时将数据返回到客户端UIS114以供包括在呈现区118中呈现数据的使用。
在一实施方式中,服务UIS116可以是自身常规呈现数据以供用户观看的UIS的修改版本。在其修改状态中,与自身呈现组件不同,服务UIS116使用与图形描述相关联的测量来方便对客户端UIS114所需数据的显示。在一个方面,服务UIS116在不可见模式中操作以服务诸如客户端UIS114的第三方应用程序。
因此,虽然不存在服务UIS116,客户端UIS114需要知道如何使用本发明一实施方式与软件应用程序124直接交互,但是客户端UIS114可放弃该必要性。客户端UIS114只需要被配置成通过API112与服务UIS116交互。类似地,诸如软件应用程序124的制造商的软件开发者可继续开发其产品以与诸如API126A-126D之一的单个API结合工作。考虑其中第一API126A表示允许服务UIS114与媒体播放器一起工作的API的说明性示例。媒体播放器开发者无需提供其软件124A的各种重复以与UIS116和客户端UIS114一起工作,相反只需要与服务UIS116一起工作。
简要参照图1A,不同经销商140的客户端UIS在其它不同经销商的客户端UIS旁边示出。通过使用本发明的实施方式,媒体播放器124A(或其它任何应用程序)无需考虑诸如客户端UIS140或142的不同客户端十英尺UI外壳。注意,UIS140和142在图形上示为具有设计成与API112兼容并交互的臂。这是因为替换UI开发者需要考虑的唯一API是API112。如果UI开发者能制成与服务UIS116结合使用API112的UI,则得益于服务UIS116的特性,开发者利用在服务UIS116的处理时对任何应用程序的间接控制。服务器UIS116可充当标准执行环境,使得客户端UI外壳(诸如114、140、142)和应用程序124只需相对于服务UIS116进行测试。
现在参照图2,提供用于方便与计算设备交互的示例性方法,并一般通过附图标记200来引用。进程200的步骤会结合图1A所示的组件来描述。以下步骤是且只是以供示例,本质上是说明性的,并且不应被解释为实质性限制;相反是为了示出本发明一实施方式的各种功能方面。
在一实施方式中,在步骤210由客户端UIS114接收用户输入。该用户输入的本质是选择呈现区118中的表示、鼠标点击、来自无线键盘的键盘命令,例如从遥控收到的刺激以诸如从选择区120中播放音乐或视频等。用户输入并不限于由人类输入,在某些实施方式中,可预期从另一机器或同一机器的另一组件接收的输入。
基于在步骤210收到的用户输入,在步骤212将数据传递到服务UIS116。在一实施方式中,所传递的该数据可以是数据组件128A。数据128A可以是经由步骤210的用户输入接收的确切数据,或者可以是其变体或补充。以下是充实该概念的示例。
用户可能期望导航到特定频道,且数据128A包括对所需频道的指定以及与呈现在其中显示所需电视节目的显示区的指令集。因此,在步骤214,服务UIS协调与步骤212收到的数据相关的任何任务的完成。这些任务可采用各种形式。以下几段提供可由客户端UIS114请求或者以其它方式与其相关联的任务的非排他的说明性列表,任务请求和与客户端UIS114以其它方式相关的便捷可与服务UIS116结合实现。
第一说明性任务包括枚举兼容应用程序。如上所述,在十英尺UI上工作的应用程序通常与在两英尺UI上工作的情况不同地配置。出于种种原因,这对知道在计算机系统上安装的哪些软件应用程序与特定UIS兼容是有益的。因为客户端UIS114利用服务UIS116与应用程序124间接兼容,所以客户端UIS114可能期望知道哪些应用程序可用于与其交互。该任务可包括提供各种兼容软件应用程序的名称、它们位于何处、它们具有何种能力、图标、以及与应用程序相关联的包括元数据的其它属性。枚举应用程序包括提取可用并关联于与客户端UIS114兼容的任何应用程序的任何可提取属性。
另一说明性任务包括基于相应的能力和/或属性过滤应用程序。在此,客户端UIS114可能期望知道或标识包括例如需要声卡(但是实质上可以是任何事物)之类的特定属性的所用应用程序。该任务可以涉及指定资源和功能,然后从可用资源池查询或以其它方式确定与给定准则匹配的那些软件应用程序。因此,客户端UIS114能够标识可用于诸如呈现图片、播放视频或记录唱片的所有应用程序。
另一说明性任务包括向用户呈现数据。客户端UIS114可能期望根据定制格式在呈现区118中呈现数据。但是为了与各种硬件组件和/或软件组件交互,服务UIS116会方便这种显示。即使客户端UIS114可能最终控制与诸如在呈现区118中所示出的呈现组件相关联的各种复杂事物,但是服务UIS116会与客户端UIS114结合工作以向其提供与呈现各种显示组件结合使用的数据。本发明一实施方式包括当UI或其它数据要在显示设备(或设备)上呈现时向客户端UIS提供的客户端UIS114。因此,客户端UIS114可向服务UIS114提供并允许其呈现与诸如应用程序124相关联的显示数据。
另一说明性任务是允许客户端UIS114指示服务UIS116启动诸如软件应用程序124A-E之一的应用程序。在此,客户端UIS114可指定或标识或者以其它方式引用待启动的所需应用程序,并且使用传递到服务UIS116的诸如数据128A的数据,服务UIS116会方便所需应用程序的启动。也可将诸如屏幕大小、窗口类型、位置等的任何环境参数作为数据128A传递。
另一任务是维护路径以在服务UIS116执行其它任务时控制服务UIS116。例如,可能是这种情况在服务UIS116正在完成第一任务时,用户利用客户端UIS114指示计算机例如移动图标或调整窗口大小。这些命令可被传递到服务UIS116,即使它当前正在推进其它任务的执行。
另一任务包括修改或向客户端UIS114通知服务UIS116要知道的特定事件。例如,当服务UIS116完成任务时,控制可被传递回客户端UIS114。结束其任务的这种事件是客户端UIS114期望获知的,以使它准备好采取控制。服务UIS116还可提供诸如错误条件、UI组件移动、调整大小等的反馈。
另一说明性任务包括方便将附加API回调到替换外壳,即客户端UIS114。换言之,该任务使客户端UIS114获知服务UIS116认为其应当获知的。如果发生服务UIS116可能例如认为其应当获知的某种事件或意外,它会将其通知客户端UIS114。在某些实施方式中,该任务采用向客户端UIS114转发数据的形式。例如,考虑其中用户表明记录特定电视节目的期望的示例。该输入可通过客户端UIS114的方式进入,然后客户端UIS114可将该请求传递到服务UIS116。虽然除了对待记录节目的指示之外没有传递其它信息,但是情况可能是服务UIS116获知相关于方便记录所需表演而必须实现其它功能。因此,服务器UIS116可将记录信息传递回客户端UIS114,使其使用自身记录组件或某些其它记录应用程序。通常,服务UIS116提供其自身的功能以完成诸如视频记录等的任务。但是情况可能是客户端UIS114的一部分包括视频记录组件(或图片查看组件、音频呈现组件等)。在这种情况下,客户端UIS114呈现与记录和/或回放视频节目相关联的定制显示。虽然仍需要与诸如视频捕捉卡的设备交互,但是它可被配置成呈现定制UI。这样,它会向服务UIS116发起请求,服务UIS116会方便与记录节目相关联的复杂事物,并传回可能允许客户端UIS114记录与其或另一记录组件一致的节目事件的数据。该任务提供与来自客户端UIS114相关的数据。
另一说明性任务包括提供客户端UIS114向服务UIS116添加附加附加功能的方法。即,服务UIS116可被配置成根据由客户端UIS114向其提供的数据而增长或改进。该任务包括使诸如客户端UIS114的替换外壳扩展与服务UIS116相关联的诸如API112的API集。这种任务的说明性示例可以是类似其中客户端UIS期望在例如启动的某些时刻在呈现区118中呈现某种显示框的方法。可能是显示图片、文本或小视频剪辑等。可展现附加API以与窗口交互来使该窗口能够显示客户端UIS114期望所显示的。如果API112不包括方便这种交互的指令集,则该任务可包括用提供这种交互的能力来补充API112的能力。
另一说明性任务涉及在发生其它变化时使一事件保持在背景或前景中。这种任务的说明性示例可参照插片122来描述。插片是可在背景发生变化时持续执行事件(诸如显示视频、成像图片、示出相机馈送等)的UI区域。例如,情况可能是插片122可在用户经由选择区120提供的选择来在音乐或视频或图片中导航时播放特定视频记录。关于该插片的更多细节在上述共同待批申请No.10/174,619中有描述。这种传递可允许诸如客户端UIS114的替换外壳向服务UIS116传递与插片122的事件相关联的信息,其中插片122可在背景示例发生变化时继续自行其事。在没有客户端UIS114,即服务UIS116是唯一的UIS的情况下,诸如122的插片可具有持续显示或呈现事件的能力,因为服务UIS116可访问各种硬件组件或软件组件124。该任务可允许客户端UIS114类似行事;即持续显示正在插片122中所显示的。利用API112,客户端UIS114能够呈现插片122或插片的多个实例(为清楚起见,未示出)。
另一说明性任务包括提供对客户端UIS114与服务UIS116之间的不同系统资源使用的导航。考虑其中例如用户正在观看由客户端UIS114呈现的视频的情况。然后用户发起调谐到某一频道的命令。但是情况可能是该动作是无意识的;例如小孩可能在他人观看视频时玩耍遥控。在这种情形中,在停止视频并实际变化到所指示频道之前可能需要确认。在这种情况下,即时任务允许客户端UIS114询问用户是否希望调到所需频道、不作为等。在本示例中,在诸如与回放电影相关联的资源和与导航到和/或显示特定频道的节目相关联的资源的两种不同系统资源之间的协商是必要的。与使客户端UIS114需要知道如何完成这种协商不同,服务器UIS116可促进这种协商。
服务器UIS116可促进的另一说明性任务与初始化需要初始化的设备或服务相关联。例如,当用户打开新PC的包装并通电时,情况可能是特定产品需要进行初始配置。例如,为了观看电视节目,PC可能需要获知用户内容供应商、地理位置、时区等。在一实施方式中,虽然用户在没有诸如客户端UIS114的替换外壳的情况下被提示进行这种初始化,这些呈现可由服务UIS116抑制。在一实施方式中,这种初始化可推迟直到用户请求需要这种初始化的服务。该请求可经由客户端UIS114接收,客户端UIS114通过API112将数据传递给服务UIS116,然后服务UIS116向客户端UIS114提供允许客户端UIS114呈现并收集例示这种初始化所必需的数据的信息。以这种方式,客户端UIS114甚至能够将其定制为需要初始配置的服务初始化。
虽然说明性任务的数量众多,但是已经列出上述一些,以及传达可利用所示API112促进的任务的精神和较宽范围的最后一个说明性任务。可利用所示API112执行的最后一个说明性任务允许设计成与服务UIS116一起工作的遗留遥控与客户端UIS114结合使用。
现在参照图2,是在步骤214处停止的,本发明一实施方式的下一步骤是在步骤216实际完成任务。在步骤218可接收与执行这些任务相关联的任何数据。以上提及了其中可从与执行所请求任务相关的诸如应用程序124的应用程序或硬件设备向回接收数据的若干实例。于是,可在步骤220,在服务UIS116处接收该数据或其变体。如果该数据需要格式化、补充或以其它方式更改,则这可在步骤222向UIS114传递时完成,在一实施方式中该步骤可包括向客户端UIS114返回控制。然后,这允许客户端UIS114在步骤224向用户呈现适当输出。
现在将在较低层次讨论某些说明性示例。如此是为了提供附加示例和技术公开。这些示例和说明性API结构不应被解释为对本发明的限制。本发明可由所附权利要求定义。在一个或多个实施方式中,以下模块展现API112的各种功能方面。此外,示例性模块和句法的以下列表完全不是排他性的,而是说明性的。
较低层次的描述 诸如客户端UIS 114的外部或替换外壳可使用本文中称为“IExtensibilityApplications::GetFilteredEntryPoints”的组件来接收在该系统及其入口点上安装的DUI应用程序的列表。然后,客户端UIS114可通过使用在本文中称为“IExtensibilityApplications::LaunchEntryPoint”的组件来引导服务UIS116启动所安装的应用程序124。客户端UIS114还可通过使用本文中称为“IExtensibilityApplications::LaunchUrl”的组件启动在URL处与所安装应用程序不相关联的应用程序124。这三个组件的功能是比具体实施方式
更重要的组件。但是在以下表格中提供说明性实施方式,仅作为示出以上功能的一种方式。它们不应被解释为限制由所附权利要求书定义的本发明。在所主存的应用程序启动之后,该应用程序可使用本文称为“IextensibilityHostControl”的组件来控制和引导服务UIS116。示例性功能包括展示关闭窗口、最大化窗口、最小化窗口、设置窗口的大小和位置、或块执行直到窗口关闭的控制。
表1包括用于例示“IExtensibilityApplications::GetFilteredEntryPoints”的发生的句法的一个说明性示例。本领域技术人员会意识到用不同句法实现同一功能的许多方法,并且这些方法落在所附权利要求书的范围之内。
表1 表2包括用于例示“IExtensibilityApplications::LaunchEntryPoint”发生的句法的一个说明性示例。本领域技术人员会意识到用不同句法实现同一功能的许多方法,并且这些方法落在所附权利要求书的范围之内。
表2 表3包括用于例示“IExtensibilityApplications::LaunchUrl”发生的句法的一个说明性示例。本领域技术人员会意识到用不同句法实现同一功能的许多方法,并且这些方法落在所附权利要求书的范围之内。
表3 与服务UIS116相关的构成API112或由其展现的第四说明性接口在表4中列出。
表4 现在描述表4的方法中每一个的较低层次细节。在一实施方式中,IextensibilityApplications接口展现如表5所列的方法。
表5 表4中所列的第二方法在本文中称为“IExtensibilityEntryPoint”接口,并且是向构成API112或由其展现以使诸如客户端UIS114的替换外壳能够发现入口点属性的组件给出的名称。表6列出由IextensibilityEntryPoint展现的某些示例性方法。
表6 表4中列出的第三方法在本文中称为“IExtensibilityHostControl”,并且是向构成API112或由其展现以在应用程序启动时控制所打开窗口的组件给出的名称。表7列出由IExtensibilityHostControl展现的某些示例性方法。
表7 表4中的第四和最后的说明性方法在本文中称为“IExtensibilityHostEvents”,并且是向构成API112或由其展现以表示服务窗口事件的组件给出的名称。图8列出由IextensibilityHostEvents展现的某些说明性方法。
表8 再次重申编程的本质通常是单独的,因为程序员有很多方法来剥开表面看本质。没有版权应用程序,但有专利应用程序。本公开支持所附权利要求书,但是权利要求书定义了本发明。
示例性操作环境 具体参照图3,示出用于实现本发明的示例性操作环境,并一般将其指定为计算设备300。计算设备300只是合适计算环境的一个示例,并不旨在对本发明的使用范围和功能设定任何限制。计算环境300不应被解释为具有与所示组件的任一个或组合相关的任何依赖或要求。
本发明可在可由计算机或诸如个人数据助理或其它手持式设备的其它机器执行的包括诸如程序模块的计算机可执行指令的计算机代码或机器可使用指令的一般上下文中描述。通常,包括例程、程序、对象、组件、数据结构等的程序模块称为执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实践,包括手持式设备、消费电子产品、通用计算机、更加专用的计算设备等。本发明还可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实践。
参照图3计算设备300可包括直接或间接耦合以下设备的总线310存储器312、一个或多个处理器314、一个或多个呈现组件316、输入/输出端口318、输入/输出组件320以及说明性电源322。总线310可以表示一个或多个总线(诸如地址总线、数据总线或其组合)。虽然为了清楚起见,用线示出图3的各种块,但是实际上,描绘各种组件并不如此清晰,并且通过比喻,这些线更精确地是灰色和模糊的。例如,可将诸如显示设备的呈现组件视为I/O组件。而且,处理器具有存储器。已经认识到这是本领域的实质,并且重申图3的视图仅是可与本发明的一个或多个实施方式结合使用的示例性计算环境的说明。没有对如“工作站”、“服务器”、“膝上型”、“手持式设备”等的类别进行区分,因为所有这些都落在图3以及对“计算设备”的引用的范围内。
计算设备300通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光学或全息介质、盒式磁带、磁带、磁盘存储或其它磁性存储设备、载波、或可用于编码所需信息并由计算设备300访问的任何其它介质。
存储器312包括易失性和/或非易失性存储器的计算机存储介质。存储器可以是可移动、不可移动或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备300包括可从诸如存储器312或I/O组件320的各种实体读取数据的一个或多个处理器。呈现组件316向用户或其它设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等,I/O端口318允许计算设备300逻辑耦合到包括I/O组件320的其它设备,其中I/O组件的一部分可以是内建的。说明性组件包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、打印机、无线设备等。
在不背离本发明的精神和范围的情况下,所示的各种组件以及未示出的组件的许多不同安排都是可能的。在旨在说明而非限制的情况下对本发明的实施方式进行了描述。不背离其范围的替换实施方式对本领域技术人员是显而易见的。技术人员可开发实现上述改进的替换装置而不背离本发明的范围。
应该理解,某些特征和子组合是有用的,可在不参照其它特征和子组合的情况下使用,并且落在权利要求书的范围内。在各附图中列出的步骤无需以所述的具体顺序执行。
权利要求
1.一组包含在一个或多个计算机可读介质上的、方便呈现与服务UIS(116)协作的所呈现的用户界面外壳(UIS)(114)的组件的方法的一个或多个应用编程接口(统称为“API”)(112),所述方法包括
接收指示一个或多个待完成的任务的数据;
协调所述一个或多个任务的完成;以及
向所述所呈现的UIS(116)返回控制。
2.如权利要求1所述的API(112),其特征在于,所述协调包括
向耦合到所述服务UIS(116)的一个或多个应用程序(124)发出一组命令;以及
从与发出所述一组命令相关的一个或多个应用程序(124)接收返回数据。
3.如权利要求2所述的API(112),其特征在于,所述一个或多个任务包括来自以下的至少一个选择
处理从软件应用程序(124)返回的返回数据以向用户描绘基于所述返回数据的呈现;
使所述所呈现的UIS(114)能够指示所述服务UIS(116)启动应用程序;
使所述所呈现的UIS(114)能够指定对应用程序的引用;
使所述所呈现的UIS(114)能够指定环境参数;
控制所述服务UIS(116)的诸方面;
促进对附加API的回调例程回到所述客户端UIS;
枚举兼容应用程序,所述兼容应用程序是与所述服务UIS(116)兼容的应用程序;
基于与所述兼容应用程序相关联的一个或多个属性过滤所述兼容应用程序;
提供所述所呈现的UIS(114)补充所述服务UIS(116)的功能方面的方法;
协商在所述服务UIS(116)与所述所呈现的UIS(114)之间的一个或多个系统资源的使用;
在所述所呈现的UIS(114)发生呈现变化时提供媒体体验的持续呈现;以及
方便与应用程序启动路线选择相关联的首次运行体验。
4.如权利要求3所述的API(112),其特征在于,使所述所呈现的UIS(114)能够指定对应用程序的引用包括指定所述应用程序的位置;以及其中所述环境参数包括以下的一个或多个呈现对象的屏幕位置、包括窗口是否应是最小化的、最大化的、模态的、大小可调的或给定大小的窗口模式属性。
5.如权利要求3所述的API(112),其特征在于,控制所述服务UIS(116)的诸方面包括重新调整项目大小、改变项目的视觉属性和/或指定包括URL的可选引用。
6.如权利要求3所述的API(112),其特征在于,基于一个或多个属性过滤所述兼容应用程序包括基于对另一资源的依赖性来过滤所述应用程序,所述另一资源包括外围设备或另一应用程序的一个或多个。
7.如权利要求3所述的API(112),其特征在于,提供媒体体验的持续呈现包括提供以下的一个或多个的持续
幻灯片放映呈现;
视频呈现,包括相机馈送呈现;
音频呈现;以及
数据呈现。
8.如权利要求3所述的API(112),其特征在于,方便首次运行体验包括以下的一个或多个
初始化媒体节目向导;以及
配置资源设备。
9.一种被配置成方便如权利要求1所述的API(112)通过计算机网络向目的地的电子通信的计算机组件。
10.如权利要求9所述的计算机组件,其特征在于,所述电子通信包括下载,且所述网络包括因特网的至少一部分。
11.一种或多种具有执行包括用第二用户界面外壳(UIS)(116)来服务第一图形用户界面外壳(UIS)(114)的方法的计算机可使用指令的计算机可读介质。
12.如权利要求11的介质,其特征在于,
所述第一图形UIS(114)是客户端UIS;
所述第二UIS是服务UIS(116),
所述第一UIS(114)由所述第二UIS(116)提供服务,并且服务包括
(1)方便所述客户端UIS的呈现;
(2)根据所述客户端UIS接收输入,所述输入指示待完成的一个或多个所需任务;以及
(3)通过与所述服务UIS(116)交互来完成所述一个或多个所需任务。
13.如权利要求12所述的介质,其特征在于,完成包括基于所述接收到的输入将一个或多个命令传递到所述服务UIS(116)。
14.如权利要求13所述的介质,其特征在于,所述传递包括将基于所述接收到的输入的数据传递到所述服务UIS(116)。
15.如权利要求12所述的介质,还包括
接收从所述服务UIS(116)返回的数据;以及
基于所述接收到的数据呈现信息。
16.一种用于方便从第一位置向第二位置传递如权利要求11所述的计算机可使用指令的副本的系统。
17.一种或多种其上包含有用于执行方便与一个或多个计算设备交互的方法的计算机可使用指令的计算机可读介质,所述方法包括提供与服务UIS(116)相关的客户端用户界面外壳(UIS)(114)的呈现。
18.如权利要求17所述的介质,其特征在于,所述服务包括
在所述计算设备(118)的至少一个上呈现所述客户端UIS(114);
根据所述客户端UIS(114)接收输入;以及
通过所述客户端UIS(114)与所述服务UIS(116)交互来完成一个或多个任务。
19.如权利要求18所述的介质,其特征在于,完成一个或多个任务包括从所述客户端UIS(114)向所述服务器UIS(116)传递数据,所述服务UIS(116)引用所述数据并与耦合到所述服务UIS(116)的一组资源通信以完成所述一个或多个任务。
20.如权利要求18所述的介质,其特征在于,所述客户端UIS(114)驻留在第一设备上并由驻留在第二设备上的服务UIS(116)提供服务,其中所述第一设备通过网络耦合到第二设备。
全文摘要
提供用于方便呈现与服务用户界面外壳(UIS)(116)协作的所呈现用户界面外壳(UIS)(114)的一组具体化应用编程接(112)。该方法包括接收指示待完成的一个或多个任务的数据、协调所述一个或多个任务的完成、以及向所述所呈现UIS(114)返回控制。
文档编号G06F15/16GK101243432SQ200680029397
公开日2008年8月13日 申请日期2006年8月9日 优先权日2005年8月12日
发明者R·W·本森, D·R·福尔莫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1