CN101490656B - 用于应用程序的注册和交互式用户接口的问候特征的方法 - Google Patents

用于应用程序的注册和交互式用户接口的问候特征的方法 Download PDF

Info

Publication number
CN101490656B
CN101490656B CN2006800173593A CN200680017359A CN101490656B CN 101490656 B CN101490656 B CN 101490656B CN 2006800173593 A CN2006800173593 A CN 2006800173593A CN 200680017359 A CN200680017359 A CN 200680017359A CN 101490656 B CN101490656 B CN 101490656B
Authority
CN
China
Prior art keywords
application program
user interface
graphical user
entrance
main frame
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.)
Active
Application number
CN2006800173593A
Other languages
English (en)
Other versions
CN101490656A (zh
Inventor
D·E·左勒
D·R·福尔默
D·W·泰利
H·C·维多斯
M·E·克里斯伊
J·埃尔布里
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 CN101490656A publication Critical patent/CN101490656A/zh
Application granted granted Critical
Publication of CN101490656B publication Critical patent/CN101490656B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Abstract

一种示例性计算机可实现方法包括:接收来自执行于主机上的应用程序的调用,所述主机具有图形用户接口集合;以及响应于调用,注册应用程序,由此该注册包括向应用程序提供一个或多个入口点,其中各个入口点与图形用户接口集合的图形用户接口的至少之一相对应。也公开了各种其它示例性方法、设备、系统等。

Description

用于应用程序的注册和交互式用户接口的问候特征的方法
技术领域
本文公开的主题一般地涉及用于注册应用程序以及针对这种应用程序的问候(complimentary)特征。
背景技术
近来,技术革新从家用计算机转向了多媒体中心。例如,
Figure GSB00000576119100011
CENTER EDITION 2005TM平台或操作系统(华盛顿州雷蒙德的微软公司)使得用户能够在个人计算机上以轻松、完美以及连贯的方式享受娱乐、个人创作和创新。这种操作系统包括使用户能够经由个人计算机存储、共享和欣赏照片、音乐、视频及记录的电视(TV)的特征。实质上,这种特征产生了所谓的媒体中心个人计算机(PC)。媒体中心PC代表了PC演变成集合多种娱乐选择的数字媒体中心。具有
Figure GSB00000576119100012
MEDIA CENTER EDITION 2005TM操作系统的媒体中心PC甚至可使用单个遥控装置来访问和控制。
就使用遥控装置进行输入而言,对比与经由键盘和鼠标的输入相关联的用户体验,用户可以多种方式进行不同的体验。因而,通常与2英尺(2’)范围相关联的用户接口和相关联的输入方法可能不向用户提供“10英尺(10’)范围”-即经由遥控装置的输入中实现的良好的体验。确实,当在10英尺范围中使用时,使用为2英尺范围开发的UI和相关联方法,可能阻碍使用。
通常,用户对10英尺范围中的视觉体验在许多方面比对2英尺范围中的要求高得多。2英尺范围更类似于阅读书籍(即,“正常”文本和图像显示),并且能够使用手指在文本或图像上指点,而10英尺范围更类似于观看电视,其中遥控装置针对设备,同时用户的观看习惯有很大改变,并且与文本的字行相比,观众更习惯于观看图像、单个单词或短语。毫无疑问,10英尺范围的出现在开发用户接口和用于此范围中的应用程序方面引发了新的问题。
如本文所述,各种示例性方法、设备、系统等旨在改进2英尺范围内无法享受的用户体验,或者改进用户必需操纵多个图形用户界面的情况中的用户体验。各种示例性方法、设备、系统等涉及建立或管理应用程序与主机系统之间的关系,其中该主机系统可适用于10英尺范围。
发明内容
本发明旨在为用户提供改进例如10英尺范围中的范围内的用户体验,或者改进用户必需操纵多个图形用户界面的情况中的用户体验。一种示例性计算机可实现方法包括接收来自执行于主机上的应用程序的调用,该主机具有图形用户接口集合,并且响应于调用,注册该应用程序,由此注册包括向应用程序提供一个或多个入口点,其中各个入口点与图形用户接口集合的图形用户接口的至少之一相对应。还公开了各种其它示例性方法、设备、系统等。
根据本发明的一方面,提供了一种计算机可实现的方法,包括:接收来自在主机上执行的应用程序的调用,所述主机具有图形用户接口集合;以及响应于所述调用,注册所述应用程序,其中所述注册包括将有关所述应用程序的信息加入到一平台,并为所述应用程序提供一个或多个入口点,其中所述平台使用所述信息来管理该应用程序以便为与所述平台相关联的图形用户接口集合提供所述一个或多个入口点,并且每个入口点与所述图形用户接口集合中的各图形用户接口中的至少之一相对应,其中所述入口点具有相关联的类别以确定所述入口点出现在所述图形用户接口中的位置,以及一个定义了到所述应用程序的多个页面中的一个页面的链接的属性。
根据本发明的另一方面,提供了一种计算机可实现的方法,包括:接收来自在主机上执行的应用程序的调用,所述主机具有图形用户接口集合,其中所述应用程序包括与所述图形用户接口集合中的一个图形用户接口相关联的入口点,其中所述入口点具有相关联的类别以确定所述入口点出现在所述图形用户接口中的位置,以及一个定义了到所述应用程序的多个页面中的一个页面的链接的属性;为所述入口点提供一参数值;以及响应于所述调用,至少部分地基于所述参数值,指示是否所述应用程序获得了所述主机的焦点,或者所述应用程序激活了媒体在所述主机上播放。
附图说明
参考以下附图描述非限制和非穷举示例,其中在所有各个视图中,相同的附图标记通常指相同的部件,除非另外指明。
图1是包括用于显示用户接口的显示器和用于输入并与用户接口交互作用的遥控装置的一个示例性环境的示图。
图2是应用程序的一个示例性注册方法和一个示例性注销方法的示图。
图3是用于本地或远程地注册或注销应用程序的一个示例性注册应用程序的示图。
图4是一个示例性设置的示图,通过该示例性配置,注册应用程序任选地允许可在其后访问与用户接口相关联的各种特征的应用程序的注册。
图5是一个示例性注册应用程序、以及可与注册应用程序或被注册的应用程序交互作用的各种模块的示图。
图6是一个示例性计算环境的示图,该环境可用于实现本文所述的各种示例性技术。
具体实施方式
在以下描述中,将呈现各种示例性方法、设备、系统等。这些示例通常涉及应用程序的注册和用于这些应用程序的问候特征。在各个示例中,应用程序向主机(host)进行注册。与注册相关的各种特征或问候特征可提供安全,诸如限制应用程序获取关于主机或关于主机用户的信息。这些安全特征可应用于经由网络与主机通信的应用程序。本文所呈现的示例性技术对于依赖10英尺范围的用户接口的应用程序特别有益;然而,这些示例性技术可用于其它范围。
图1示出了具有范围边界102(例如10英尺或其它距离)的一个示例性范围100。范围边界102通常由用户与用户接口(UI)之间的单个距离或多个距离来确定。示例性范围100类似于通常在观看电视时所定位的距离。在示例性范围100中,显示器110显示UI112,而遥控装置120经由通信端口114与显示器的控制器通信,该端口通常是无线通信端口(例如红外线等)。显示器110的控制器可以是靠近显示器110或远离显示器110定位的计算机。存在使得计算机能够提供显示信息来创建UI的各种通信技术。
在约十英尺的距离范围良好工作的用户接口应当可以说明典型遥控装置(例如遥控装置120)比常规键盘和鼠标更小并且更易于使用的事实;然而,它通常提供较为有限的用户输入方式(例如由于较少的按键或按钮)。而且,虽然较远的观看距离提供了更舒适的体验,但是它可能需要提供确保清晰度、连贯性和可读性的视觉设计风格的特征。
在2英尺范围和10英尺范围中,当构建用户接口(例如UI 112)时,应当考虑用户期望值、移动性、习惯等。关于期望值,10英尺体验更适于观看电视而非使用计算机。结果,用户期望动态的、栩栩如生的体验。他们期望与通过键盘或鼠标来控制应用程序相比,输入设备使得他们更简单而非更复杂地进行体验。他们可能还期望更方便、更简单地熟悉、以及更容易地使用应用程序。通常,UI指例如显示于屏幕、监视器上,或者通过投影机等来显示的图形用户接口。
考虑其中用作可称为主宿应用程序(hosted application)的应用程序的主机的
Figure GSB00000576119100041
MEDIA CENTER EDITIONTM操作系统或平台(华盛顿州(WA)雷蒙德的微软公司)的示例。在此示例中,当视频或电视正在播放的同时用户开启主宿应用程序时,与主机平台相关联的示例性UI架构特征将视频或电视播放移入屏幕左下方称为共享视见区的小窗口。当共享视见区可见时,它将覆盖主宿应用程序UI(即显示页)的左下角的任何内容。例如,对于1024x768的屏幕分辨率,视见区的宽度为274像素,而高度为192像素。这样,示例性UI架构管理与另一个应用程序(例如媒体显示应用程序或与主机平台相关联的特征)并发运行的一个应用程序的执行。当然,用户可使用这种UI特征或可并发操作的其它应用程序的特征的知识来开发UI。作为替代方案,关于视见区,假定主机允许这种脚本代表主宿应用程序执行,则可使用脚本来关闭共享视见区。
在前述示例中,用作主机的平台与应用程序可称作父-子关系。平台与应用程序之间的关系可以是父-子、子-父或者对等。如这里所述,平台通常用作主机,而应用程序通常设法与平台建立关系,由此该平台可向应用程序呈现一个或多个功能(例如通过一个或多个API)。平台还可管理应用程序。以下呈现的各种示例性方法说明功能可如何呈现给应用程序并且应用程序如何被管理。
本文所述的平台通常指可包括其它功能的媒体平台。例如,媒体平台可提供对电气设备的控制、财产安全控制等。媒体平台可用于家庭中的媒体显示,以及控制各种家用电器(例如厨房、气候、安全、清洁等)。因而,主机可适当地与各种设备通信。
平台通常依赖计算机来进行操作。主机平台可执行于主机或主机系统上。例如,主机可包括用于媒体显示、组织、采集等的软件。这样的主机通常为显示提供图形用户接口。此外,这样的主机可直接或间接地接收经由遥控装置发出的命令。虽然各种示例性方法、模块、应用程序等涉及主机系统,但是可适当地替换主机平台或主机。虽然图6中示出了示例性计算环境以及各种相关联的特征,但是主机可包括同样、较少或较多的特征。
各种应用程序的任一种可能试图与平台形成关系。例如,HTML应用程序可能试图与平台建立关系以便提供使用户能够浏览媒体内容(例如歌曲、电影、书籍等)的各种UI组件。这些HTML应用程序可包括脚本或其它经编码的功能(例如考虑动态HTML等)。参照前述10英尺范围,HTML应用程序的UI组件通常应当提供适当距离的观看以及经由使用遥控装置发出的命令的定位。
作为另一个示例,考虑构建为
Figure GSB00000576119100051
架构组件的.
Figure GSB00000576119100052
架构应用程序(华盛顿州(WA)雷蒙德的微软公司),该组件是被构建成一起工作并形成功能逻辑单元的类型和资源集。这样的组件或其它代码(例如经处理的、经编译的DLL等)可称为示例性平台的“插件”(例如Media Center EditionTM平台的插件)。插件应用程序与平台之间的关系类型可能取决于诸多因素的任一种,并且在适当时候,平台可被认为是主机,而插件应用程序则为主宿应用程序。插件应用程序通常扩展目标平台的功能。插件可以是后台插件或请求式插件,前者通常通过主机来启动,而后者通常由用户或其它应用程序在适当的时候激活。
出于各种原因(例如逻辑、操作、安全等),示例性平台可要求所有应用程序(例如HTML应用程序和插件应用程序)被注册。通常,应用程序的注册进程将关于该应用程序的信息添加到平台或系统注册表。平台可使用这些信息来管理应用程序,以便对与平台相关联的UI集提供一个或多个入口点,或者用于其它目的。
如这里所述,注册进程依赖与平台相关联的示例性注册应用程序或方法。因而,示例性平台可包括对一个或多个应用程序注册的示例性注册应用程序。此外,可被注册或需要注册的应用程序的类型通常取决于多个因素的任一个。虽然各种示例性应用程序适于注册,但是示例性注册应用程序或方法可允许一个应用程序或一组应用程序的注销。
图2示出了包括用于注册应用程序204的一个示例性方法和用于注销应用程序208的一个示例性方法的一个示例性方案200。示例性方法204、208依赖于注册应用程序210。在此示例中,注册应用程序210可相对于包括有时称为“页面”(例如考虑通常的Web“页面”)的图形用户接口230的平台220注册或注销应用程序250。如已所述,注册或注销还会占用进入平台220的入口点。
关于HTML应用程序等,入口点通常是到HTML应用程序中的一个特定页面的一个链接,该页面可包括标识符、URL、标题、描述或图像。在图2的示例中,其中UI包括用于诸如“My Music(我的音乐)”、“My TV(我的电视)”、“My Pictures(我的图片)”的类别的UI,入口点可与类别相关联,该类别可确定图形用户接口230中设置入口点的位置。诸如“My Music”的类别可具有主页面和形成该类别的页面层次的各种其它页面。在一些示例中,可从与不同类别相关联的页面直接访问这些页面。
关于插件应用程序等的入口点,考虑通过用户激活以执行离散同步任务的请求式插件应用程序。用户可通过平台220的图形用户接口230的入口点激活请求式插件。用于这种插件的入口点可包括若干UI组件、图像(例如便携网络图形(PNG)格式的图像等)、标题字符串和描述入口点的用途的描述字符串。请求式插件应用程序入口点还可具有可确定入口点在图形用户接口230中出现的位置的相关联类别。插件可在平台220的不同位置具有多个入口点。示例性平台可将插件应用程序的能力限为呈现UI组件。在一些示例中,插件应用程序可与平台之外提供的Web站点、HTML应用程序或UI组件相关联,以便向特定用户提供体验或用户输入。
如已所述,注册进程可将信息添加到注册表。关于插件应用程序,示例性注册进程204可将与插件应用程序及其入口点相关的信息添加到注册表,由此使得平台220能够定位、加载并运行插件应用程序,以及在图形用户接口集合230中显示其入口点。
再次参看图2,注册进程204为应用程序250生成注册信息214。具体地,信息214通常使得应用程序250相对于平台220进行适当操作。术语“适当操作”通常根据平台220或用户的观点,因为平台220或用户可基于安全、隐私、个人抉择等来限制应用程序250的操作。
如已所述,应用程序250通常是通过添加用户可经由一个或多个图形用户接口230访问的新功能(例如新的服务或媒体体验)来扩展平台220的性能的软件组件。当应用程序250是HTML应用程序时,它可由使用XML、脚本、ActiveX控件、或其它熟悉的客户端因特网技术的一个或多个HTML页面构成。这样,HTML应用程序通常试图显示UI组件。
示例性注册进程204和示例性注册应用程序210可依赖于标记语言中以元素形式指定的信息。例如,以下是用于示例性application(应用程序)元素、示例性category(类别)元素和示例性entry point(入口点)元素的实例语法。在适当时候,这些示例性元素可包括关于HTML应用程序、插件应用程序或其它类应用程序的特定信息。
一个示例性Application元素的实例语法
Figure GSB00000576119100061
Figure GSB00000576119100071
实例语法包括包含title(标题)、id(标识符)、rul(统一资源定位地址)、bgColor(背景颜色)、name(名称)、CompanyName(公司名称)、startImage(开始图像)、thumbnailImage(缩略图像)、sharedViewport(共享视见区)和NowPlayingDirective(当前播放指示)的各种属性。title属性是指定应用程序的标题的字符串。id属性是指定应用程序的全局唯一标识符(GUID)的字符串。url属性是指定到应用程序的路径的字符串。可使用bgColor属性或BGColor特征来设置HTML应用程序的一个页面或多个页面的背景颜色。名称属性是指定作为标签出现在例如图形用户接口230开始菜单的应用程序按钮上的名称。这个属性还可指定出现在列出多个程序(即,多个应用程序是作为平台一部分还是被注册的)的图形用户接口中的缩略图标上的名称。CompanyName属性是指定设计该应用程序的公司的名称。示例性注册应用程序210任选地在对话框中使用此名称来询问用户是否需要添加来自该指定公司的一个新的应用程序对象。在注册进程中,此特定动作向用户提供了一定程度的安全性。
startImage属性是指定到例如当选定应用程序(例如,获得如参照图1的示例性环境100描述的聚焦)的开始菜单按钮时显示的一个图像(例如PNG格式等)的字符串。thumbnailImage属性是指定到例如在平台220的“More Programs(多个程序)”页面中的缩略图像上显示的一个图像(例如PNG格式等)的路径的字符串。sharedViewport属性是指示该共享视见区的状态的字符串。
sharedViewport属性可用于所谓的媒体中心链接(Media Center Link)(MCL)文件,该文件通常是具有.mcl扩展名并包含定义了例如平台220主控的应用程序的属性和必要条件的XML代码的文件。在一些示例中,MCL文件中的信息可用于添加或注册HTML应用程序。
如已所述,示例性注册应用程序210会占用应用程序250的入口点。“entrypoint(入口点)”元素可用于定义进入平台220的各个入口点。在一个具体示例中,entrypoint元素包括以下实例语法:
一个示例性Entry Point元素的实例语法:
Figure GSB00000576119100081
此实例元素包括各个属性。id属性是包含唯一地标识特定入口点页面的GUID(即,全局唯一标识符)的字符串。url属性是指定到应用程序250中的一个入口点的路径的字符串。run(运行)属性是指定例如使用操作系统220时到本地机器上的可执行文件的完整或相对路径的字符串。插件属性是定义插件应用程序的属性的逗号分隔开的字符串。title属性是标识入口点的字符串,并且当选定入口点时,它可显示于页面的顶部。description(描述)属性是描述入口点的用途的字符串。imageUrl属性是指定到表示入口点的图像(例如PNG格式图像等)的路径的字符串。context(上下文)属性是平台220可向应用程序250提供何时选定入口点的应用程序定义的字符串,该属性可以是应用程序250的一组任意参数。此外,此属性可以作为平台或其用户的安全系统的一部分。
示例性entrypoint元素可以由注册应用程序“RegisterApplication(注册应用程序)”210来使用。参照前述url和run属性,在HTML应用程序的情况下,应用程序的entrypoint元素应当包括url,或者在平台环境之外运行的应用程序的情况下,应用程序的入口点元素应当包括run属性。当应用程序是插件应用程序时,入口点元素应当包括addin(插件)属性。addin属性元素可以是以下格式的字符串:”className,assemblyName,Version=version,PublicKeyToken=publicKey,Culture=culture”,其中className(类名)是插件应用程序继承自IaddInModule接口的类的实现的完整名称(组件和类);assemblyName(组件名)是插件应用程序的组件的名称;version(版本)是插件应用程序的版本号;publicKey(公钥)是用于对插件应用程序签名的密钥的公共部分;以及culture(风格)是插件应用程序的风格指定。可要求version、publicKey和culture的值与存储在插件应用程序的组件中的固有名称信息严格匹配。
示例性注册应用程序210也可使应用程序250与平台220的特征、媒体等的一个或多个类别相关联。例如,平台220示出用于类别“My Music”、“My TV”、“My Pictures”的多个图形用户接口230。为了提供应用程序250与一个或多个类别之间的联系,可使用category(类别)元素。例如,一个示例性category元素可为应用程序的入口点的每一个指定一个或多个类别:
一个示例性Category元素的实例语法
Figure GSB00000576119100091
此示例性元素包括category(类别)属性,该属性是标识用于主宿应用程序的特定入口点的主机系统的类别的字符串。对于后台插件,此属性可以是“Background(后台)”。对于请求式插件应用程序或HTML应用程序,此类别可以选自各种类别,诸如但不限于:Internet Radio(因特网无线电广播)、其它程序、更多信息\Audio\Album、更多信息\Audio\Artist、更多信息\Audio\Playlist、更多信息\Audio\Song、更多信息\Audio\Genre、更多信息\DVD、更多信息\Picture、更多信息\Video、New For Me Service\Audio、Services\Movies、Services\Pictures、Services\Radio和Services\TV。适于媒体显示、组织、采集等的一个示例性主机可使用这些类别或其它类别。
另一个示例性元素可指定应用程序250所需要的性能。例如,当在机器(例如,诸如图6的示例性计算环境600中的计算机)上实现应用程序250时,它可能需要平台220的特定性能。示例性元素可具有以下实例语法:
一个示例性Capabilities(性能)元素的实例语法
示例性capabilities元素的实例语法包括各种属性。例如,directX是指示应用程序是否需要DirectX支持的字符串。audio(音频)属性是指示应用程序是否需要audio支持的字符串。video(视频)属性是指示应用程序是否需要video支持的字符串。intensiveRendering(强化渲染)属性是指示应用程序是否包含需要高级渲染的图形的字符串。console(控制台)属性是指示应用程序是否需要不经由远程会话而仅经由计算机控制台才可用或有意义的资源的字符串。例如,LCD投影机应用程序通过COM端口打开或关闭投影机。
上述示例性元素任选地用于可包括指定一个或多个入口点的注册进程或注销进程(例如204、208)中。这些示例性元素可将标记语言代码(例如XML代码)传递给示例性注册应用程序210。各个示例性元素所列的各种属性可以是任选的,或者包括其它。在这样的一个示例性方案中,application元素可指定到应用程序250的路径并设置各种应用程序属性;entrypoint元素可指定进入平台220的入口点;category元素可指定入口点的类别;以及示例性capabilities元素可指定成功运行应用程序250所需的、或另外期望能最佳地操作应用程序的性能。用户可例如通过对主机的设置进行选择来任选地限制应用程序可用的资源,取决于设置,可在操作中限制应用程序。
虽然已描述了各种示例性元素,但是示例性注册应用程序210可以是使用以下实例语法的一种示例性方法:RegisterApplication(sXMLAppInfo,fUnRegister,fAllUsers)。考虑此具体示例性方法的参数,sXMLAppInfo参数是包括application、entrypoint和category元素(例如XML元素)的字符串。此外,这些元素标识应用程序、其入口点、以及在其中呈现入口点的一个或多个类别。作为一个替代方案,此参数可指定到标记语言文件(例如XML文件)的路径,该文件包含用于应用程序的application、entrypoint和category元素。fUnRegister参数是指示是否注销应用程序的布尔值。FallUsers参数是指示为所有用户还是仅为当前用户注册或注销应用程序的布尔值。此参数可以有返回值,例如,如果示例性方法成功,则数值(long(长整型))为零,而如果失败,则为非零。
示例性方法“RegisterApplication(注册应用程序)”向主机注册一个应用程序及其支持的入口点。如已所述,入口点可以是到HTML应用程序中的特定页面的链接,并且可包括标识符、URL、标题、描述和图像。通常,各个入口点与关联于主机的至少一个类别相关联,该类别可确定多个主机用户接口中设置入口点的一个或多个位置。
在一个具体示例中,xmlAppInfo参数指定的XML代码包含具有一个或多个嵌套entrypoint元素的单个application元素。每个entrypoint元素通常具有至少一个嵌套category元素并可具有多个嵌套category元素。在其中应用程序调用此示例性方法的情况中,主机可显示允许用户确认或取消注册进程的对话框。例如,用户可能请求使用HTML应用程序,或者实体可能需要主机系统使用用于消费媒体、使用服务等的HTML应用程序。因为在使用或“进行主宿”之前,应用程序的这些组件可能需要向主机系统注册,所以应用程序可能调用示例性方法。作为一个替代方案,代理或辅助应用程序可调用示例性方法,由此来允许应用程序的注册。
在示例性方法被调用之后,可抛出异常,例如,可抛出以下异常:“Thespecified application is already registered(指定应用程序已注册)”、“The specifiedapplication is not registered(指定应用程序未注册)”、以及“The specified applicationcan not be registered,access denied(指定应用程序不能注册,访问被拒绝)”。当然,如果需要或必需,可抛出其它异常。
以下以Jscript呈现了使用一个入口点注册一个应用程序的一个示例性代码段:
用于注册一个应用程序的示例性代码段
Figure GSB00000576119100111
Figure GSB00000576119100121
此示例性代码段包括对示例性方法RegisterApplication的调用,并且它指定了如已所述的各种信息,诸如但不限于:入口点URL、category和各种id(例如GUID)。虽然这种示例性代码段包括单个入口点的信息,但是可指定附加入口点;因而,在相当小的代码段中,可向主机系统注册用于应用程序的多个入口点。
如参照图2所述,可通过使用一个示例性注册应用程序或方法或者一个示例性注销应用程序或方法来进行应用程序的注册或注销。应用程序的注册可能是获得对平台的功能或信息的访问或扩展平台的功能的前提。
图3示出了使用驻留在平台320(例如,考虑平台220)上的示例性注册应用程序310(例如,考虑RegisterApplication210)的两个示例性情况300的框图。示例性情况之一涉及驻留在经由网络可访问平台320的远程计算机360上的应用程序350,而在另一个示例性情况中,应用程序350驻留在平台320上并且还未注册。网络302可以是任意适当网络,诸如但不限于,有线或无线(例如802.11、卫星等)。前一情况涉及其中远程系统可试图经由对注册应用程序310的远程调用向平台注册一个应用程序的一个示例,而后一情况涉及其中存储在存储器中的应用程序可经由对注册应用程序310的本地调用试图注册的一个示例。其它情况也是可能的,其中此示例性注册应用程序可注册或注销应用程序。在这些情况中,代理或辅助应用程序可代表应用程序350操作,其中辅助应用程序本地或远程地执行。
在两个示例性情况中,一个示例性注册进程包括调用注册应用程序310来注册应用程序350。在此示例中,注册应用程序310是平台320的应用程序接口(API,有时称为应用编程接口),应用程序350依赖于应用程序接口对平台320或驻留在该平台320上的任选的其它应用程序做出请求。
作为API,注册应用程序310包括用于例如在应用程序350与平台320之间的信息交换的一组程序。用于信息交换的一组程序可被认为是元素(或标记语言中的“标签(tag)”,诸如上述以及图3中所示的那些。在此示例中,注册应用程序310包括四个元素:用于交换关于应用程序350的信息的application元素;用于交换关于应用程序350相对于平台320的一个或多个入口点的信息的entry point元素314;用于交换关于使应用程序350与平台320的一个或多个功能或媒体相关类别相关联的信息的category元素316;以及用于交换关于应用程序350所需的性能或关于平台320上可用的性能的信息的capabilities元素318。平台320可包括列出每个被注册应用程序(例如设置页面)的页面(例如图形用户接口)。这样的页面也可使得用户能够限制被注册的应用程序。
因而,如参照图2和3所述,应用程序可受平台主控,由此需要至少一个注册进程来注册该应用程序并任选地指定用于该应用程序的一个或多个入口点。其它特征可与性能、类别、安全、关联等相关。
一种示例性计算机可实现方法包括:接收来自执行于主机上的应用程序(例如应用程序250、应用程序350等)的调用,该主机(或主机平台或主机系统)具有图形用户接口集合(例如图形用户接口230),并且响应于调用注册该应用程序,由此注册向该应用程序提供了一个或多个入口点,其中各个入口点与图形用户接口集合的图形用户接口的至少之一相对应。根据此示例性方法,应用程序可以是独立的可执行代码(例如执行于主机上的独立的可执行代码应用程序)。根据此示例性方法,例如,执行可作为与主机相关联的浏览器(例如嵌入浏览器)中的网页或脚本来进行。作为一个替代方案,代理或辅助应用程序可代表应用程序发出调用,其中该辅助应用程序本地或远程地执行。
在此示例性方法中,应用程序可以是HTML应用程序、构建为组件的应用程序等。关于主机的图形用户接口,它使得用户能够注销应用程序,其中注销移除该应用程序的所有入口点。关于这些入口点,每个入口点可与图形用户接口集合的图形用户接口的全局唯一标识符(GUID)的参数相对应。在此示例性方法中,入口点可与上下文菜单的一个项目相对应,该菜单基于选择激励该应用程序,或者入口点可与使得应用程序能够显示新信息(例如,参见以下“New forMe(我的更新)”)的新信息图形用户接口相对应。此示例性方法可至少部分地体现于计算机可读介质上作为例如用于执行应用程序的注册的计算机可执行指令。
参照图1的示例性环境100,主宿应用程序(例如应用程序250或应用程序350)可包括适于以一定距离观看或可通过使用遥控装置导航的一个或多个图形用户接口(全屏幕或部分屏幕)。虽然还可包括音频用户接口,但是主宿应用程序通常包括一个或多个图形组件。以下将进一步描述各种特征。
图4示出了包括功能模块的特征的、可与示例性注册应用程序410相互作用的示例性配置400。功能模块包括“Used for Service(用于服务)”模块482(例如用于媒体处理程序等)、“New For Me”模块486(例如用于通知“新信息”)、以及“More with This(其它)”模块488(例如上下文链接等)。当然,如下所述,假定示例性功能与各个模块相关联,则其它名称也适于这些模块。例如,“New ForMe”模块486可称为“New Information(新信息)”模块,由此应用程序(例如应用程序250或应用程序350)获得诸如新内容或新性能的新信息。
“Used for Service”模块482使得应用程序与一个或多个特征类别相关。“NewForMe”模块486提供诸如特定页面的特征,用户可访问该特定页面以查找由一个或多个可扩展应用程序(例如应用程序250、应用程序350等)提供的新内容或新性能。用户可从“Start(开始)”页面、“More Programs(其它程序)”页面等访问这样的页面。仅当“New For Me”或其它适当页面变成可使用项目时,对于用户而言,模块486才可变成可见或可访问。
在媒体内容与被注册应用程序相关联成为可能的情况中,一个“New For Me”项目可包括新内容的标题或新内容的简短描述。通常,每个项目包括或用作链路,由此选择项目引发导向可能的消费内容(例如购买、下载、数据流等)的指定目的地。
如已所述,配置400的各个模块可与注册应用程序410相互作用。例如,应用程序可通过调用注册应用程序410来注册此“New For Me”项目。可对应用程序注册项目的能力施加限制,例如,可强加每个被注册的应用程序GUID一个“NewFor Me”项目的限制。此外,“New For Me”登记可通过本地应用程序来限制注册,即,禁止远程应用程序注册“New For Me”项目。示例性“New For Me”模块486可通过创建时标来分类项目,例如最近的项目在列表的首位。如已所述,平台可包括设置页面。这种页面或其它特征可使得用户能够防止对被注册的应用程序添加“New For Me”项目。这些特征可以是注册应用程序(例如注册应用程序410)用来对应用程序进行注册的组件。
作为一个示例,考虑依赖于被注册的应用程序来向主机系统的用户提供信息的电影发送服务。当新媒体内容通过这样的服务变得可用时,该服务可能期望添加“New For Me”项目。该服务的被注册的应用程序可调用注册应用程序来“注册”这样一个项目。
“New For Me”模块486可包括可添加或更新“New For Me”项目的一种方法。例如,考虑示例方法:
“New For Me”的示例性方法的实例代码
Figure GSB00000576119100151
此方法包括例如带更新标题的字符串的title参数和带更新描述的字符串的description参数。此示例性方法可返回一个值(例如布尔值)来指示是否对项目进行更新或登记。
示例性“More With This”模块488向一个项目或各个项目(例如图像文件、声音文件等)提供上下文菜单。例如,图4示出了具有上下文菜单489的一个示例性用户接口487。上下文菜单489包括可用作通过注册应用程序410对应用程序注册的一个入口点的<other app.>项目。因而,示例性“More With This”模块488与注册应用程序410相互作用以在上下文菜单(例如上下文菜单489)中提供一个入口点。
图5示出了一个示例性注册应用程序510和与该注册应用程序510相互作用的各个示例性模块500。一个示例性平台、计算机或系统可包括各个模块或其它模块的任一个。通常,这样的示例性模块涉及应用程序相对于主机的操作。将在以下描述这些示例性模块。每个示例性模块可任选地在一个或多个计算机可读介质上实现为计算机可执行指令,例如,作为主机平台的一部分并可通过主机执行。
模块571:前台(Foreground)
IsForegroundApplication(为前台应用程序)模块571包括当通过被注册的应用程序调用时,可指示该被注册应用程序是否为当前前台应用程序,或者它是否已在主机系统中激活当前播放媒体的一种方法。模块571可包括一个或多个参数。例如,entryPointId(入口点ID)参数可以是包含唯一地标识应用程序的入口点的GUID的字符串。模块571可返回布尔值以指示进行调用的应用程序是否为当前前台应用程序。
此模块可限制由应用程序或与该应用程序相连接的服务所采取的动作。例如,如果应用程序并非主机系统中的当前前台应用程序,则它可制止当前图形用户接口引发改变。因而,可制止应用程序导致显示弹出窗口、音频、前台图形、使用户返回到HTML应用程序等。在一些示例中,可使用通知图形,由此并非前台应用程序的应用程序可向用户指示它具有信息(例如小图标、小尺寸文本窗口等)。然而,通常这些通知机制受到用户的控制,并且可任选为去激活。
在用户激活应用程序的一个示例中,此模块还可提供引发图形显示、音频或其它动作的应用程序许可权。例如,考虑可在视见区(例如图形用户接口的区域)中运行的电影预告片。虽然视见区可能不被认为是前台应用程序,但是由于用户已激活该应用程序,一旦预告片结束,该应用程序可能能够引发各种信息的显示、将用户引导至电影服务的页面、发送折扣优待券、电影票等。
模块572:全屏幕(Full Screen)
IsMediaFullScreen(为媒体全屏幕)模块572是包括用以指示主机系统是否为全屏幕模式的属性值(例如布尔或其它)的一个属性。被注册的应用程序可使用此属性来确定对ReturnToApplication(返回应用程序)功能的调用是否合适(例如参见ReturnToApplication模块573)。
此全屏幕模块可使得应用程序能够确定其是否具有采取后继动作的权限。例如,如果应用程序引发以全屏幕方式显示电影预告片(例如相对于前述视见区示例),则当一个预告片结束时,应用程序可引发显示另一个预告片,或者将用户引导至特定页面或图形用户接口。在一些示例中,当媒体文件已到达该文件的末端(例如完成显示),则出现屏幕。应用程序设计者可能希望用户自动返回激活重放的页面,因而示例性全屏幕模块可使得电影或其它媒体应用程序能够避免显示蓝屏或黑屏。
在一个具体示例中,用户使用应用程序来引导至 网页((Academy of Motion Picture Arts andSciences(电影艺术与科学学会))并选择关于演员X的“幕后”视频采访。在视频作为全屏幕视频或基本上全屏幕(例如边缘或小范围覆盖告示)的情况中,应用程序可能能够独立地管理例如关于演员Y、演员Z等的视频采访的播放列表。然而,如果应用程序并非全屏幕显示,则可能不具有对主机系统用户接口的这种控制。在一些情况中,这样的应用程序可依赖于ASX文件。ASX文件是管理媒体文件的数据流的文本命令文件。ASX文件通常很小(例如,约1K),因为它们通常仅包含指令。浏览器应用程序可将ASX文件下载到高速缓存目录中、启动媒体播放、然后根据指令开始流媒体。然而,ASX文件的局限在于,在任意重放开始之前,必须指定播放列表的内容。通过检测和管理重放状态,即使在内容为全屏幕时,应用程序也可提供播放列表功能,甚至在重放期间通过用户或应用程序生成或更改的播放列表。
如参照示例性前台模块571和示例性全屏幕模块572所述,应用程序可关于其在主机系统上的状态进行查询,并确定特定动作是否被允许。通常,应当防止应用程序以可能减低用户体验的非期望方式进行动作。
模块573:返回应用程序(Return to Application)
ReturnToApplication(返回应用程序)模块573包括可引发主机系统返回某种程度的优先权或控制权以便调用被注册的应用程序的一种方法。具体地,模块573可将用户返回到激活媒体重放的应用程序或返回到激活媒体重放的应用程序的特定页面。模块573可具有诸如不带参数且无返回值的“ReturnToApplication()”的语法。考虑以全屏幕模式播放视频的被注册的应用程序。这样的程序可调用此方法以在全屏幕重放结束之后,恢复聚焦。在被注册的应用程序调用ReturnToApplication模块573之前,它可调用IsApplicationActive模块(未在图5中示出)来确定被注册的应用程序是否正被显示。它还可调用IsMediaFullScreen模块572来确定当前媒体是否为全屏幕模式。
关于模块571、572、573,它们可提高用户对媒体的体验,因为它们单独或共同地帮助控制媒体或UI的显示。一种示例性计算机可实现方法包括:接收来自执行于主机(或主机平台或主机系统)上的应用程序(例如应用程序250、应用程序350等)的调用,该主机具有图形用户接口集合(例如图形用户接口230),其中该应用程序包括与图形用户接口集合之一相关联的入口点;向入口点提供参数值;以及,响应于基于至少一部分参数值的调用,指示应用程序是受到主机的聚焦、还是应用程序激活了媒体在主机上播放。根据此示例性方法,例如可执行为与主机相关联的浏览器(例如嵌入浏览器)中的网页或脚本。根据此示例性方法,应用程序可以是独立的可执行代码(例如执行于主机上的独立的可执行代码)。作为一个替代方案,代理或辅助应用程序可代表应用程序发出调用,其中该辅助应用程序本地或远程地执行。通常,前台应用程序将受到主机的聚焦。再一次参看图1的示例性环境100,聚焦的使用利于媒体中心系统的导航和控制。
前述示例性方法可提供指示应用程序获得主机的聚焦或应用程序激活了媒体在主机上播放、或者两个状态都不为真(true)的值。如果指示显示应用程序已获得主机的聚焦或者应用程序激活了媒体在主机上播放,则此方法还可包括允许或限制应用程序的操作。
关于模块572,一种示例性方法可以是响应于应用程序的调用,指示该应用程序是正在以全屏幕模式进行操作还是激活了以全屏幕模式播放的媒体。模块572可提供指示应用程序是正在以全屏幕模式进行操作还是激活了以全屏幕模式播放的媒体的一个值,并且该模块572可使用这个值来指示在以全屏幕模式播放媒体结束之后,该应用程序是否可重新获得主机的聚焦。这里所述的各种模块或方法的任一个可至少部分地体现为计算机可读介质上的计算机可执行指令。
模块574:存在MCL(MCL Exist)
DoesMCLExist(是否存在MCL)模块574包括一种可指示被注册应用程序的特定类别是否已存在MCL文件的方法。模块可包括诸如category参数和URL参数的一个或多个参数。此category参数可以是指示被注册的应用程序的类别的一个数值(例如“0”为其它程序,“1”为无线电广播、“3”为游戏、“4”为临时占位符等)。URL参数可以是指定到HTML Web应用程序的字符串(例如包含“http://”)。模块574可返回指示MCL文件是否存在的布尔值。如果URL与调用者所有获许可的域名不同,则此模块可抛出异常。这个进程可增加安全。
关于安全,一种情况是用户使用一种可能希望查询该用户是否还使用另一个服务的一个服务。例如,考虑使用游戏(sport)服务“Sports 1”的用户,该服务具有一个对手“Sports 2”。为了安全的目的,被注册的、与Sport1服务相关联的应用程序仅可询问自身,即无法查询用户是否还使用与Sports 2服务相关联的应用程序。这种安全机制例如依赖于URL参数,由此如果信息的调用者与获许可的域名不同,则拒绝对这些信息的访问(例如抛出异常,或者向调用者发出访问被拒绝的指示)。
虽然前述示例描述了进行核查的“域”级别,但是除域级别的安全机制之外或作为其替代方案,也可使用GUID级别的安全机制。例如,如果进行调用的应用程序的GUID与当前执行的应用程序的GUID不匹配,则对信息的访问可被拒绝(例如可仅发送指示访问被拒绝的信息)。虽然描述了对信息的访问,但是可拒绝对导航控制的访问。例如,当不进行域级别或GUID级别的匹配时,则进行调用的应用程序可具有有限的导航控制或其它控制(例如图形、音频、其它动作)。
模块575:被注册的入口点(Entry Point Registered)
IsEntryPointRegistered(为被注册的入口点)模块575包括可指示进行调用的应用程序(被注册或注销)是否具有已向主机系统注册的特定入口点的一种方法。此方法可包括以下语法:IsEntryPointRegistered(entryPointID),其中参数entryPointID是包含唯一标识应用程序入口点的GUID的字符串。如果入口点已被注册,此方法可返回为true(真)的布尔值,而对false(假)则相反。通常,此方法不核实特定应用程序是否被注册,仅对进行调用的应用程序核实特定入口点是否被注册。
模块576:主机控制级别(Host Control Level)
MediaCenterControlLevel(媒体中心控制级别)模块576是包括一个属性值的属性。虽然模块名称包括“媒体中心”,但是此模块可称为主机控制级别模块。这个属性检索当前设置,该设置确定应用程序(例如应用程序250、应用程序350等)相对于主机系统具有的控制级别。属性值可以是指示控制级别的只读数值。它可以是值的以下组合:诸如“0”-应用程序不能控制或查询主机系统;“1”-应用程序可控制主机系统并显示通知;“2”-应用程序可检索指示主机系统的当前状态的设置;以及“4”-应用程序可检索与主机系统或主机系统的用户相关联的元数据,例如用户的邮政编码。
如已所述,主机系统可包括为了安全和隐私的原因,允许用户对应用程序(例如应用程序250、应用程序350等)设置限制的设置。这些设置可确定这些应用程序是否被允许控制主机系统或检索其设置。
作为一个示例,考虑使用主机系统来导航至音频唱片的媒体服务的用户。用户可使被注册的应用程序与媒体服务相关联以便播放特定唱片。作为响应,应用程序可调用示例性主机控制级别模块来检索或确定主机控制级别属性设置。一旦获知,应用程序就可引发适当的后续动作,诸如但不限于:向用户通知“如果你喜欢当前的歌曲,则可试听此歌曲”。
作为另一个示例,考虑当前被播放的歌曲与前述媒体服务相互无关联、但被注册的媒体服务应用程序可调用和访问当前被播放的歌曲的元数据的情况。此外,响应于检索和分析此元数据,被注册的应用程序可向用户通知“如果你喜欢当前的歌曲,则可试听此歌曲”。虽然此后者示例比前者更具侵害性,但是可按主机控制级别属性设置授权一个这种控制。
在再一个示例中,当参照与媒体相关的信息消费媒体时,用户可希望获得一致的体验。因而,不管媒体源或服务供应商如何,被特定注册的应用程序可用于显示与媒体相关的信息。例如,被特定注册的应用程序使得与媒体相关的信息被显示于用户接口的特定信息区域内。这可使用特定字体、滚动动画(ticker animation)等来实现。对于一致的体验,不管源或服务供应商如何,用户可希望使用此应用程序来显示媒体信息。
在用户使用一个以上媒体服务时,可出现一个以上以特定价格任选的推荐服务媒体的情况。然后,用户可基于这些信息来决定使用哪个服务(例如当服务以不同的价格推荐同一首歌曲时等)。可能的情况包括使得服务能够提供出售报价或仅与媒体相关的信息的被注册应用程序(例如唱片分类目录、传记、执行进度表、显示时间、地点等)。
在另一个示例中,可拒绝对媒体服务注册的应用程序访问由该媒体服务提供的媒体的搜索、浏览或消费的信息。例如,用户可听歌曲X,由此拒绝向服务供应商提供将歌曲X标识为当前被播放的歌曲的元数据,即服务供应商仅可通过使用正在调用模块的被注册的应用程序来察知用户正在听歌曲。
一个示例性主机控制级别模块可提供一个或多个访问级别。例如,第一级别可以是元数据访问级别,而第二级别可以对主机系统进行相对不受限制的控制级别。在应用程序试图获取未经许可级别的控制时,则模块可向应用程序提供脚本错误。级别的访问或与访问有关的信息可任选地通过用户来控制(例如按设置选择)。
模块577:引导至页面(Navigate to Page)
NavigateToPage(引导至页面)模块577包括一种可管理主机系统以便引导至该主机系统的图形用户接口(例如图2主机系统220的图形用户接口230)中的指定页面,并且为此页面指定内容(如果需要)的方法。此方法可具有以下语法:NavigateToPage(pageId,params)。pageId(页面Id)参数是包含主机系统的页面的标识符(GUID)的字符串(例如图形用户接口分层结构或集中的特定图形用户接口,诸如图形用户接口230)。params参数是包含附加参数的字符串。在其被调用之后,如果方法成功,则返回0;否则,返回以下错误值之一:
ERR_COMMAND_REMOVED_WITH_SPAD,它指示目的页面已用SetProgram Access and Defaults(设置程序访问和默认值)(SPAD)工具删除;或ERR_NAVIGATION_FAILED,它指示方法失败。
在一个具体示例中,pageId参数的值决定params参数的值,如以下表格所示:
Figure GSB00000576119100201
Figure GSB00000576119100211
Figure GSB00000576119100221
在pageId参数是ExtensibilityEntryPoint并且没有指定applicationGuid参数的示例中,主机系统可使用进行调用的应用程序的应用程序GUID。如果pageID参数是“Visualizations”,则params参数是包含通过冒号分隔开的可视化名称(例如来自注册表)和预置的字符串。例如,“Ambience:Swirl”。如果指定了可视化名称而不指定边框形式,则主机系统可使用默认可视化或预先选定的预置。类似地,如果指定了预置而不指定可视化名称,则主机系统可使用默认可视化或预先选定的可视化。
通常,一个示例性引导至页面模块可使得应用程序能够定向至例如与主机系统的页面集或页面分层结构相关联的特定页面。
作为一个示例,考虑被注册的、与媒体服务相关的应用程序,该应用程序可将用户引导至可视化页面以使得用户能够为经由媒体服务消费的媒体选择一种可视化。在可期望标准可视化或可视化集驻留在主机系统中的一些示例中,被注册的应用程序可在媒体播放期间使一个或多个这种可视化被激活。
作为另一个示例,考虑被注册的、与摄影图像服务供应商相关联的应用程序。此应用程序可访问一个示例性引导模块来将用户引导至主机系统的“My Pictures”页面。作为响应,应用程序可以放映幻灯片或其它显示或组织与“My Pictures”页面或其中的类别相链接的图像文件。在此示例中,应用程序可任选地依赖于主机系统的放映幻灯片应用程序或其它应用程序。应用程序可访问文件路径信息,例如到图像文件的路径。
在再一个示例中,用户可使用被注册的、与电影服务相关联的应用程序。页面可包括使得用户能够察看下载、购买或从其它电影服务处租到的所有电影的图标的按钮。然后,应用程序可在下一步骤中帮助用户(例如出售、删除、察看、重新租用等)。
模块578:在暂停之后继续执行(Resume After Suspension)
onAPMResume(在暂停之后启动APM(高级电源管理))模块578用作在为了帮助省电、降噪降热或其它原因而进行暂停之后、主机系统继续执行操作时发生的事件。每当主机系统在暂停之后继续执行时,应用程序(例如,应用程序250、应用程序350等)可使用此事件来刷新数据。
当主机系统持续一段时间不活动,则主机系统可基本上暂停例如除一个或多个输入通道之外的所有操作。用户也可通过输入命令来引发暂停。在任一个示例中,在暂停时,被注册的、与新服务相关联的应用程序可以一直作为前台应用程序或已被分配了类似优先权。在继续执行操作时,此应用程序可访问最新信息并以相同的优先权(例如前台应用程序)或以不同的优先权(例如后台应用程序或如果原来不是前台,则在前台进行)显示该最新信息。显示可以是部分屏幕或全屏幕。并非新闻中心或者另外取决于及时信息的应用程序可被拒绝访问由示例性继续执行模块提供的特征。
模块579:家长控制
ParentalControl(家长控制)模块579是检索一个对象(例如ParentalControlSelector(家长控制选择器)对象)的属性,该对象用于选择要查询的家长控制设置类型。属性包括为只读对象的属性值。此属性和对象(通过该属性检索的)向应用程序(例如应用程序250、应用程序350等)提供了选择要查询的家长控制设置类型的途径。因而,此应用程序可例如查询用于电影或电视观看的当前家长控制设置。
示例性家长控制特征可依赖于输入访问特定类内容的PIN。可提示用户经由遥控装置或其它输入机构输入这样的PIN。在未提供正确的PIN的情况下,通常拒绝对内容的访问。当用户试图访问特定类内容时,被注册的应用程序可要求输入PIN。此应用程序可调用示例性家长控制模块579(例如API调用)。响应于此调用,可向应用程序提供类似于输入正确PIN或输入错误PIN的指示、或者仅仅是继续进行或不继续进行的指示的有限信息。
主机系统可包括单个家长控制设置(例如on/off(开/关))或者它可包括根据一些控制设置逻辑电路任选操作的多个设置。例如,考虑CS1-暴力类卡通(cartoon-like violence)为“准许(OK)”、CS2-图解式为“不准许(NOK)”、CS3-艺术裸露为“准许”等。逻辑电路可将设置表示成期望调用应用程序的数据块。
考虑使用应用程序来观看由因特网内容供应商提供的连续剧的用户。应用程序可调用示例性家长控制模块579来确定主机系统的设置是否允许观看这些连续剧。在第一示例中,应用程序可确定家长控制是否通过主机系统启用。在此示例中,主机系统可返回指示控制为“on(开)”的布尔值。在第二示例中,应用程序可能需要与设置的特征或启用的家长控制的级别相关的信息。作为响应,模块可返回在某种程度上可通过进行调用的应用程序预期并分析的数据块。进行调用的应用程序可使用块中的信息来避免进一步要求特定类媒体或媒体的其它修改访问(tailoraccess)、广告等。在第三示例中,应用程序可能需要输入PIN,如上所述。
因而,如这里所述的,示例性家长控制模块可提供多种调用级别,有些这些调用可在不用用户输入的情况下返回信息,而其它调用可要求用户输入并返回基本上与输入无关的信息(例如在要求输入PIN时,返回不包括关于该PIN的任何信息)。取决于特定调用,示例性模块可返回布尔值或者数据块。
用户可任意地允许释放特定信息(例如元数据)或释放对示例性家长控制模块的其它改装。例如,调用此模块的返回可指示播放准许(OK)但对元数据的获取不被准许。通常,用户对家长控制的设置有助于提高用户的体验和增加安全。作为基本调用(例如主机控制启用)的可能返回值的布尔值的内含物可防止应用程序以未定方式发生失败。
一种示例性计算机可实现方法包括:接收来自执行于主机(或主机平台或主机系统)上的应用程序(例如应用程序250、应用程序350等)的调用,该主机具有图形用户接口集合(例如图形用户接口230),并且响应于调用检索可用于选择要查询的家长控制设置类型的对象。根据此示例性方法,例如执行可作为与主机相关联的浏览器中的网页和脚本来进行(例如执行于主机的嵌入浏览器上的应用程序)。根据此示例性方法,应用程序可以是独立的可执行代码(例如执行于主机上的独立的可执行代码应用程序)。作为一个替代方案,代理或辅助应用程序可代表应用程序发出调用,其中该辅助应用程序本地或远程地执行。
根据此示例性方法,对象可使得应用程序能够确定家长控制是否通过主机系统启用,或者对象可使得应用程序能够返回与通过主机系统启用的家长控制相关的数据块。在后者示例中,对象可使得应用程序能够要求输入家长控制代码(例如PIN)。
模块580:用户位置、帐单或其它ID(User Location,Billing or other ID)
PostalCode(邮政编码)模块580是检索主机系统用户的邮政编码(例如ZIP码)作为属性值(如果可用)的属性。通常,允许电视观看(例如考虑前述WINDOWS MEIDA
Figure GSB00000576119100251
平台)的媒体平台基于用户的ZIP码提供指南列表,该指南列表是常常在使用平台的包括可能是被注册的应用程序的其它功能之前由用户指定的信息。属性值是包含邮政编码的只读字符串。如果用户未提供邮政编码,则属性值为NULL。如果用户保密设置块访问邮政编码,试图读取此属性将导致抛出异常。
大多数服务供应商(例如媒体、访问等)需要来自用户的诸如邮政编码(例如ZIP码)的位置信息。当通过被注册的应用程序调用时,一个示例性模块可返回此码(例如作为元数据)。位置信息使得应用程序(例如应用程序250、应用程序350等)能够根据用户位置来定制。例如,新闻供应商可使用邮政编码来确定提供那些本地新闻、体育和天气信息。有线电视供应商可使用这些信息来确定适当的频道信息(例如本地频道和专用地区频道)。
模块581:屏幕保护程序(Screen Saver)
ScreenSaverEnabledHint(屏幕保护程序启用提示)模块581是可检索或设置指示应用程序(例如应用程序250、应用程序350)的当前页面是否使得该屏幕保护程序能够中断例如用户媒体体验的一个值的属性。如果当前应用程序页面使得屏幕保护程序能够中断,则属性值为真(true)的读/写布尔值,如果不能中断,则为假(false)。
各种逻辑或条件可用于确定屏幕保护程序是否被禁用。例如,仅当当前媒体体验满足以下条件时,可禁用屏幕保护程序:内容来自主宿HTML应用程序;当前HTML页面已将ScreenSaverEnabledHint属性设置成假(false);当前HTML页面包含定制视见区;定制视见区包含来自电视(TV)、My Video、DVD或可视化的视频;视频正在播放(未停止或中止);主机系统处于全屏幕模式(即,主机系统外壳最大化)。因为跳过页面时此属性并不持续,所以离开将属性设置成假(false)的页面会将该属性恢复为真(true)。为了保持假(false)状态,应用程序(例如应用程序250、应用程序350等)必须在所有适当页面(例如HTML页面等)明确地设置此属性。
考虑其中包括可通过使用被注册的应用程序在用户接口上显示难题答问比赛问题的电视节目的一个示例。在此示例中,电视节目可以在视见区中,难题答问比赛的问题可以显示在另一个视见区中,或者作为视见区中的一个覆盖层。对示例性屏幕保护提示模块的调用可使得应用程序能够防止在显示问题图形的时候启动屏幕保护程序。在没有与调用应用程序相关的逻辑的情况下,应用程序会试图启动屏幕保护程序来影响用户的体验。通常,逻辑可防止音乐或音频独自制止启动屏幕保护应用程序。示例性屏幕保护程序提示模块581可不考虑来自应用程序的前一个调用或之前的多个调用,并要求该应用程序在每当它希望改变主机系统的屏幕保护程序行为时进行调用。
模块590:按进度表进行记录(Schedule Recording)
按进度表进行记录模块是一种向主机系统发出记录由媒体服务所提供的视频或音频的请求的方法。例如,媒体服务可提供电视节目、无线电广播节目等。在此示例中,模块依赖于设置在诸如XML的标记语言中的参数。标记语言通常遵循标记语言模式,该模式包括经定义的、与媒体(例如视频、音频等)记录相关的元素。
一种用于按照进度表进行记录的示例性标记语言模式可包括各种标签或元素,诸如作为根元素的一个<clickToRecord(点击开始记录)>元素、一个<body(主体)>元素、任选的一个数字签名元素、一个<metadata(元数据)>元素、一个或多个<programRecord(节目记录)>元素。
示例性计算环境
可在不同计算机环境中实现各个示例。图6中所示计算系统环境仅作为计算环境的一个示例,而非旨在提出对适于使用的计算机和网络架构的用途范围或功能性做任意限制。计算机环境也不应当被解释为对示例计算机环境中所示元件的任一个或组合有任何的依赖性或要求。
图6示出了其上实现各种示例性方法的适当的计算系统环境600的一个示例。各个示例性设备或系统可包括示例性环境600的任一个特征。计算系统环境600仅作为适当计算环境的一个示例,而非旨在对本发明的用途范围或功能性做任何限制。计算环境600也不应当解释成对示例性操作环境600中所示元件的任何一个或其组合有任何的依赖性或要求。
各种示例性方法可在许多其它通用或专用计算系统环境或配置中运行。可适合用于实现或使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持型或膝上型设备、多处理机系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述系统或设备的任意一种的分布式计算环境等。例如,图1的示例性系统100可使用远程计算机生成用于显示UI的信息,其中结合遥控装置或其它输入设备操作被显示的UI。
可在由计算机执行的诸如程序模块的计算机可执行指令的通用环境中描述各种示例性方法、应用程序等。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可在其中通过经由通信网络或其它通信(例如红外线等)链接的远程处理设备执行任务的分布式计算环境中实践各种示例性方法。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地或远程计算机存储介质中。
参看图6,用于实现各种示例性方法的示例性系统包括计算机610形式的通用计算设备。计算机110的组件可包括但不限于:处理单元620;系统存储器630;以及将包括系统存储器630在内的各种系统元件耦合到处理单元620的系统总线621。系统总线621可以是包括使用各种总线架构中的任一种的存储器总线或存储器控制器、外围总线以及局域总线在内的若干类型总线结构中的任意一种。作为示例而非限制,这些架构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线、以及也称为夹层(Mezzanine)总线的外设部件互连(PCI)总线。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是可由计算机610访问的任何可用介质,包括易失性和非易失性介质、可拆卸和不可拆卸介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任意方法和技术实现的易失性和非易失性、可拆卸和不可拆卸介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用光盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者可被用来存储所需信息并可由计算机610访问的任意其它介质。通信介质通常以诸如载波或其它传送机制的已调制数据信号的方式体现计算机可读指令、数据结构、程序模块或者其它数据,并且包括任意信息传输介质。术语“已调制数据信号”是指以在信号中编码信息的方式设置或改变了其特征中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接连接的有线介质、以及诸如声波、RF、红外线和其它无线介质的无线介质。以上介质的任意组合应当也可包括在计算机可读介质的范围内。
系统存储器630包括诸如只读存储器(ROM)631和随机存取存储器(RAM)632的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于诸如在启动期间在计算机610内的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)633通常存储在ROM 631中。RAM 632通常包含通过处理单元620直接存取和/或立即操作的数据和/或程序模块。作为示例而非限制,图6示出了操作系统634、应用程序635、其它程序模块636和程序数据637。
计算机610也可包括其它可拆卸/不可拆卸、易失性/非易失性计算机存储介质。仅作为示例,图6示出了对不可拆卸的非易失性磁性介质读或写的硬盘驱动器641、对可拆卸的非易失性磁盘652读或写的磁盘驱动器651、以及对诸如CD ROM或其它光学介质(例如DVD等)的可拆卸的非易失性光盘656读或写的光盘驱动器655。可被用在示例性操作环境中的其它可拆卸/不可拆卸、易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字通用光盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动器641通常经由诸如接口640的数据介质接口连接到系统总线621,而磁盘驱动器651和光盘驱动器655通常经由为任选的可拆卸存储器接口的数据介质接口连接到系统总线621。为了说明具体示例的目的,磁盘驱动器651和光盘驱动器使用数据介质接口640。
以上讨论并在图6中示出的驱动器以及与它们相关联的计算机存储介质为计算机610提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图6中,硬盘驱动器641被示为存储操作系统644、应用程序645、其它程序模块646以及程序数据647。注意:这些组件可与操作系统634、应用程序635、其它程序模块636和程序数据637相同或不同。这里,操作系统644、应用程序645、其它程序模块646和程序数据647被赋予不同附图标记,以便最低限度说明它们是不同的副本。用户可通过诸如键盘662和通常称之为鼠标、跟踪球或触摸板的定点设备661向计算机610输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些或其它输入设备常常经由耦合于系统总线621的用户输入接口660连接到处理单元620,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。监视器691或其它类型的显示设备也经由诸如视频接口690的接口连接到系统总线621。除监视器691之外,计算机还可包括诸如扬声器和打印机的其它外围输出设备,它们可经由输出外围接口695连接。
计算机610可工作在使用到诸如远程计算机680的一个或多个远程计算机的逻辑连接的网络化环境中。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上就计算机610所描述的许多或所有特征。图6中所示的逻辑连接包括局域网(LAN)671和广域网(WAN)673,但也可包括其它网络。这些网络环境在办公室、企业计算机网络、内联网和因特网中是普遍的。
当用在LAN网络环境中时,计算机610经由网络接口或适配器670连接到LAN 671。当用在WAN网络环境中时,计算机610通常包括调制解调器672或在诸如因特网的WAN 673上建立通信的其它装置。或为内置式或为外置式的调制解调器672可经由用户输入接口660或其它适当的机制连接到系统总线621。在网络化环境中,关于计算机610所述的程序模块或其一部分可被存储在远程存储器存储设备中。作为示例而非限制,图6示出了驻留在远程计算机680(例如在远程计算机680的存储器中)的远程应用程序685。应当理解,所示网络连接仅是示例性的,并且也可使用在计算机之间建立通信链接的其它装置。
尽管已以专用于结构特征和/或方法领域的语言描述了各种示例性方法、设备、系统等,但是应当理解,所附权利要求中定义的主题并非必需限于所述专用特征或领域。相反,专用特征和领域被公开作为实现要求权利的主题的示例性方式。

Claims (13)

1.一种计算机可实现的方法,包括:
接收来自在主机上执行的应用程序的调用,所述主机具有图形用户接口集合;以及
响应于所述调用,注册所述应用程序,其中所述注册包括将有关所述应用程序的信息加入到一平台,并为所述应用程序提供一个或多个入口点,其中所述平台使用所述信息来管理该应用程序以便为与所述平台相关联的图形用户接口集合提供所述一个或多个入口点,并且每个入口点与所述图形用户接口集合中的各图形用户接口中的至少之一相对应,其中所述入口点具有相关联的类别以确定所述入口点出现在所述图形用户接口中的位置,以及一个定义了到所述应用程序的多个页面中的一个页面的链接的属性。
2.如权利要求1所述的方法,其特征在于,所述应用程序包括HTML应用程序。
3.如权利要求1所述的方法,其特征在于,所述应用程序包括构建为组合件的应用程序。
4.如权利要求1所述的方法,其特征在于,所述图形用户接口集合的各图形用户接口之一使得用户能够注销所述应用程序,其中所述注销移除所述应用程序的所有入口点。
5.如权利要求1所述的方法,其特征在于,每个入口点与所述图形用户接口集合中的一图形用户接口的全局唯一性标识符(GUID)的参数相对应。
6.如权利要求1所述的方法,其特征在于,一个入口点与上下文菜单的一个项目相对应。
7.如权利要求6所述的方法,其特征在于,所述项目的选定运行所述应用程序。
8.如权利要求1所述的方法,其特征在于,一个入口点与使得所述应用程序能够呈现新信息的新信息图形用户接口相对应。
9.一种计算机可实现的方法,包括:
接收来自在主机上执行的应用程序的调用,所述主机具有图形用户接口集合,其中所述应用程序包括与所述图形用户接口集合中的一个图形用户接口相关联的入口点,其中所述入口点具有相关联的类别以确定所述入口点出现在所述图形用户接口中的位置,以及一个定义了到所述应用程序的多个页面中的一个页面的链接的属性;
为所述入口点提供一参数值;以及
响应于所述调用,至少部分地基于所述参数值,指示是否所述应用程序获得了所述主机的焦点,或者所述应用程序激活了媒体在所述主机上播放。
10.如权利要求9所述的计算机可实现的方法,其特征在于,所述指示包括提供一个值,所述值指示所述应用程序获得了所述主机的焦点、或者所述应用程序激活了媒体在所述主机上播放、或者两个状态都不为真。
11.如权利要求9所述的计算机可实现的方法,其特征在于,还包括如果所述指示指明所述应用程序获得了所述主机的焦点、或者所述应用程序激活了媒体在所述主机上播放,则许可或限制所述应用程序的操作,
12.如权利要求9所述的计算机可实现的方法,其特征在于,还包括响应于所述应用程序的调用,指示是否所述应用程序在以全屏幕模式操作或者激活了以全屏幕模式播放媒体。
13.如权利要求12所述的计算机可实现的方法,其特征在于,所述指示是否应用程序在以全屏幕模式操作或者激活了以全屏幕模式播放媒体包括提供一个值,并且还包括使用所述值来指示在所述以全屏幕模式播放媒体结束之后,所述应用程序是否能重新获得所述主机的焦点。
CN2006800173593A 2005-04-15 2006-04-13 用于应用程序的注册和交互式用户接口的问候特征的方法 Active CN101490656B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/108,067 US8214754B2 (en) 2005-04-15 2005-04-15 Registration of applications and complimentary features for interactive user interfaces
US11/108,067 2005-04-15
PCT/US2006/013731 WO2006113291A2 (en) 2005-04-15 2006-04-13 Registration of applications and complimentary features for interactive user interfaces

Publications (2)

Publication Number Publication Date
CN101490656A CN101490656A (zh) 2009-07-22
CN101490656B true CN101490656B (zh) 2012-01-11

Family

ID=37110092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800173593A Active CN101490656B (zh) 2005-04-15 2006-04-13 用于应用程序的注册和交互式用户接口的问候特征的方法

Country Status (6)

Country Link
US (2) US8214754B2 (zh)
EP (1) EP1872584A4 (zh)
JP (1) JP5123169B2 (zh)
KR (1) KR20080005499A (zh)
CN (1) CN101490656B (zh)
WO (1) WO2006113291A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214754B2 (en) 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
DE102006047813A1 (de) * 2006-10-06 2008-04-10 Lechmetall Landsberg Gmbh Edelstahlerzeugnisse Gargerät mit automatischer Garprogrammvorauswahl und Verfahren zum Einstellen solch eines Gargeräts
US20080301744A1 (en) * 2007-05-30 2008-12-04 General Instrument Corporation Method and Apparatus for Locating Content in an Internet Protocol Television (IPTV) System
US20090070673A1 (en) * 2007-09-06 2009-03-12 Guy Barkan System and method for presenting multimedia content and application interface
KR100898794B1 (ko) 2008-04-25 2009-05-20 (주)셈투유 콘텐츠 다운로드 시스템
US20130067050A1 (en) * 2011-09-11 2013-03-14 Microsoft Corporation Playback manager
CN102404627A (zh) * 2011-11-03 2012-04-04 四川长虹电器股份有限公司 智能电视交互方法
WO2014043864A1 (zh) * 2012-09-19 2014-03-27 华为技术有限公司 应用调用的方法及操作系统、浏览器
CN102880514B (zh) * 2012-10-26 2016-03-30 小米科技有限责任公司 一种调用应用程序的方法和装置
CN104424248A (zh) * 2013-08-28 2015-03-18 腾讯科技(北京)有限公司 一种媒介交互方法、装置和系统
KR102238549B1 (ko) * 2014-02-26 2021-04-09 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 스크린 세이버 처리 방법
EP2921933B1 (en) 2014-02-26 2018-12-19 LG Electronics Inc. Digital device and method of processing screensaver thereof
US9519471B2 (en) 2014-12-31 2016-12-13 Microsoft Technology Licensing, Llc Surfacing visual representations of universal applications
CN104698861B (zh) * 2015-02-10 2017-10-24 上海创景计算机系统有限公司 仿真软件交互控制系统
US10754838B1 (en) * 2016-03-31 2020-08-25 EMC IP Holding Company LLC Registration framework for an analytics platform
CN110764793A (zh) * 2019-11-04 2020-02-07 广州市飞元信息科技有限公司 软件工具及其注册、安装、运行的方法、工具管理系统
US20220245124A1 (en) * 2021-02-04 2022-08-04 Google Llc Verified entity attributes

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US715094A (en) * 1901-12-26 1902-12-02 Charles S Langton Automatic pump for pneumatic tires.
US4718107A (en) * 1986-02-14 1988-01-05 Rca Corporation Parental control for CATV converters
DE3852708T2 (de) * 1987-04-10 1995-06-01 Tandem Computers Inc Verfahren und Apparat zum Überspringen mittels Abbildung einer Einsprungstelle.
JPH0727543B2 (ja) 1988-04-28 1995-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーション 文字認識装置
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
US5455901A (en) 1991-11-12 1995-10-03 Compaq Computer Corporation Input device with deferred translation
JPH0676117A (ja) 1992-08-25 1994-03-18 Canon Inc 情報処理方法及び装置
JPH06324928A (ja) 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
US5541738A (en) * 1994-04-12 1996-07-30 E. Guide, Inc. Electronic program guide
US5546538A (en) 1993-12-14 1996-08-13 Intel Corporation System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server
US5588147A (en) 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
US5699456A (en) 1994-01-21 1997-12-16 Lucent Technologies Inc. Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars
JP3590688B2 (ja) * 1995-04-05 2004-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム
US5587560A (en) 1995-04-10 1996-12-24 At&T Global Information Solutions Company Portable handwritten data capture device and method of using
US5682524A (en) 1995-05-26 1997-10-28 Starfish Software, Inc. Databank system with methods for efficiently storing non-uniform data records
US5799315A (en) 1995-07-07 1998-08-25 Sun Microsystems, Inc. Method and apparatus for event-tagging data files automatically correlated with a time of occurence in a computer system
FR2741972B1 (fr) * 1995-11-30 1998-01-02 Thomson Multimedia Sa Dispositif et procede de chargement d'une interface utilisateur
US5806074A (en) 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5960204A (en) * 1996-10-28 1999-09-28 J.D. Edwards World Source Company System and method for installing applications on a computer on an as needed basis
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US7503057B2 (en) 1997-06-02 2009-03-10 Sony Corporation Client and server system
US6292857B1 (en) 1997-06-05 2001-09-18 Microsoft Corporation Method and mechanism for coordinating input of asynchronous data
US6084582A (en) 1997-07-02 2000-07-04 Microsoft Corporation Method and apparatus for recording a voice narration to accompany a slide show
US6008807A (en) 1997-07-14 1999-12-28 Microsoft Corporation Method and system for controlling the display of objects in a slide show presentation
US6401134B1 (en) 1997-07-25 2002-06-04 Sun Microsystems, Inc. Detachable java applets
WO1999008194A1 (en) 1997-08-08 1999-02-18 Pics Previews, Inc. Digital department system
US6279014B1 (en) 1997-09-15 2001-08-21 Xerox Corporation Method and system for organizing documents based upon annotations in context
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US6260044B1 (en) 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
AU2782799A (en) * 1998-02-24 1999-09-06 Gateway 2000, Inc. Software management system
US6446109B2 (en) 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
AR020608A1 (es) * 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6343148B2 (en) 1998-07-22 2002-01-29 International Business Machines Corporation Process for utilizing external handwriting recognition for personal data assistants
US6574618B2 (en) * 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US8232995B2 (en) 1998-07-29 2012-07-31 SAP America, Inc. Local relative layout of node-link structures in space with negative curvature
US6377259B2 (en) 1998-07-29 2002-04-23 Inxight Software, Inc. Presenting node-link structures with modification
TW463503B (en) 1998-08-26 2001-11-11 United Video Properties Inc Television chat system
WO2000016187A1 (en) 1998-09-14 2000-03-23 Microsoft Corporation Input device with forward/backward control
US6487583B1 (en) * 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6400382B1 (en) * 1998-10-13 2002-06-04 Hewlett-Packard Company Apparatus and method for a shortcut link creation system in a computer system
US6189147B1 (en) * 1998-10-13 2001-02-13 Hewlett-Packard Company Apparatus and method for an installation recovery system
US6342907B1 (en) 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US6452609B1 (en) 1998-11-06 2002-09-17 Supertuner.Com Web application for accessing media streams
US6687876B1 (en) 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
US6714219B2 (en) 1998-12-31 2004-03-30 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US20010039594A1 (en) 1999-02-03 2001-11-08 Park Britt H. Method for enforcing workflow processes for website development and maintenance
US6333994B1 (en) 1999-03-31 2001-12-25 International Business Machines Corporation Spatial sorting and formatting for handwriting recognition
US6662365B1 (en) * 1999-08-17 2003-12-09 Gateway, Inc. Unified parental locks
US6442555B1 (en) 1999-10-26 2002-08-27 Hewlett-Packard Company Automatic categorization of documents using document signatures
US7152207B1 (en) 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
JP3866466B2 (ja) 1999-12-13 2007-01-10 株式会社東芝 データ構造管理装置、データ構造管理システム、データ構造管理方法およびデータ構造管理プログラムを格納する記録媒体
US7036083B1 (en) 1999-12-14 2006-04-25 Microsoft Corporation Multimode interactive television chat
US6665425B1 (en) 1999-12-16 2003-12-16 Xerox Corporation Systems and methods for automated image quality based diagnostics and remediation of document processing systems
AU2630101A (en) 2000-01-04 2001-07-16 United Video Properties, Inc. Interactive program guide with graphic program listings
US7353262B2 (en) * 2000-01-21 2008-04-01 Scriptlogic Corporation Validation of configuration settings prior to configuration of a local run-time environment
US7454706B1 (en) * 2000-02-11 2008-11-18 Microsoft Corporation Multiple-page shell user interface
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
AU2001259558A1 (en) 2000-05-08 2001-11-20 Worldgate Service, Inc. System and method for broadcasting information in a television distribution system
US7346848B1 (en) * 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US20030204536A1 (en) 2000-06-30 2003-10-30 Keskar Dhananjay V. Technique for automatically associating desktop data items
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US20030220867A1 (en) 2000-08-10 2003-11-27 Goodwin Thomas R. Systems and methods for trading and originating financial products using a computer network
AU2001294555A1 (en) 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
US6788815B2 (en) 2000-11-10 2004-09-07 Microsoft Corporation System and method for accepting disparate types of user input
US20020090934A1 (en) * 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US20020180803A1 (en) 2001-03-29 2002-12-05 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
WO2002054233A1 (en) 2000-12-28 2002-07-11 Hamilton Scientific, Ltd. Browser container for hypertext application
US6731312B2 (en) 2001-01-08 2004-05-04 Apple Computer, Inc. Media player interface
US7669212B2 (en) 2001-02-02 2010-02-23 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
US20020128061A1 (en) * 2001-03-09 2002-09-12 Blanco Victor Keith Method and apparatus for restricting access to content in a gaming system
US7103586B2 (en) 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US6981223B2 (en) 2001-03-19 2005-12-27 Ecrio, Inc. Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface
US6948133B2 (en) 2001-03-23 2005-09-20 Siemens Medical Solutions Health Services Corporation System for dynamically configuring a user interface display
US7203678B1 (en) 2001-03-27 2007-04-10 Bea Systems, Inc. Reconfigurable query generation system for web browsers
US8949878B2 (en) * 2001-03-30 2015-02-03 Funai Electric Co., Ltd. System for parental control in video programs based on multimedia content information
US20020161865A1 (en) * 2001-04-25 2002-10-31 Gateway, Inc. Automated network configuration of connected device
US20030061279A1 (en) * 2001-05-15 2003-03-27 Scot Llewellyn Application serving apparatus and method
US7280695B2 (en) 2001-05-31 2007-10-09 Empower Technologies, Inc. System and method of pen-based data input into a computing device
JP2003006084A (ja) 2001-06-20 2003-01-10 Funai Electric Co Ltd ネットワークシステムにおけるデータ更新方式
US7076734B2 (en) 2001-06-22 2006-07-11 Microsoft Corporation Systems and methods for providing a dynamically controllable user interface that embraces a variety of media
US7246326B2 (en) 2001-06-25 2007-07-17 Siemens Medical Solutions Health Services Corporation System and procedure for providing a user interface display
JP2003037789A (ja) 2001-07-26 2003-02-07 Matsushita Electric Ind Co Ltd 受信端末装置
US7152094B1 (en) 2001-07-31 2006-12-19 Sprint Communications Company L.P. Middleware brokering system adapter
WO2004023455A2 (en) 2002-09-06 2004-03-18 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
CA2460332A1 (en) 2001-09-12 2003-04-10 Opentv, Inc. A method and apparatus for disconnected chat room lurking in an interactive television environment
US8365230B2 (en) * 2001-09-19 2013-01-29 Tvworks, Llc Interactive user interface for television applications
JP2003122587A (ja) 2001-10-11 2003-04-25 Sharp Corp ソフトウェアアップデート機能を有するネットワーク機器及びソフトウェアアップデート処理プログラム並びにソフトウェアアップデート処理プログラムを記録した記録媒体
US7443401B2 (en) 2001-10-18 2008-10-28 Microsoft Corporation Multiple-level graphics processing with animation interval generation
US20030167318A1 (en) 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
GB2387001B (en) 2001-10-22 2005-02-02 Apple Computer Intelligent interaction between media player and host computer
AU2002219155A1 (en) 2001-11-23 2003-06-10 Nokia Corporation Television chat room
US6959285B2 (en) * 2002-02-28 2005-10-25 Palmsource, Inc. Method and a system for computer software distribution using networked software dispensing vending machines
US20070220580A1 (en) 2002-03-14 2007-09-20 Daniel Putterman User interface for a media convergence platform
US8216071B2 (en) * 2002-03-20 2012-07-10 Intel Corporation Method and apparatus for software delivery and management
US6941521B2 (en) 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US7797446B2 (en) 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
AU2003239385A1 (en) 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US7607107B2 (en) 2002-06-18 2009-10-20 The Directv Group, Inc. On-screen user interface device
US8370744B2 (en) 2002-06-19 2013-02-05 Microsoft Corporation User interface for operating a computer from a distance
US20040001217A1 (en) 2002-06-26 2004-01-01 Microsoft Corporation System and method for users of mobile computing devices to print documents
US7069259B2 (en) 2002-06-28 2006-06-27 Microsoft Corporation Multi-attribute specification of preferences about people, priorities and privacy for guiding messaging and communications
AU2003254036A1 (en) 2002-07-19 2004-02-09 Intellisign, Ltd Methods and apparatus for an interactive media display
JP2004062783A (ja) 2002-07-31 2004-02-26 Sony Corp テレビジョン受像機およびテレビジョン受像機のソフトウェアの取得・実行方法
JP2004070651A (ja) 2002-08-06 2004-03-04 Fujitsu Ten Ltd 電装品制御システム及びgui処理ソフトウェア構造
US7106905B2 (en) 2002-08-23 2006-09-12 Hewlett-Packard Development Company, L.P. Systems and methods for processing text-based electronic documents
US7426532B2 (en) 2002-08-27 2008-09-16 Intel Corporation Network of disparate processor-based devices to exchange and display media files
US8028023B2 (en) 2002-09-17 2011-09-27 At&T Intellecutal Property I, L.P. Extending functionality of instant messaging (IM) systems
US7218779B2 (en) 2003-01-21 2007-05-15 Microsoft Corporation Ink divider and associated application program interface
US7543238B2 (en) * 2003-01-21 2009-06-02 Microsoft Corporation System and method for directly accessing functionality provided by an application
US7337330B2 (en) * 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
AU2004220645C1 (en) * 2003-03-10 2010-11-18 Mudalla Technology, Inc. Dynamic configuration of a gaming system
US7325238B2 (en) 2003-03-21 2008-01-29 Microsoft Corporation Interface for determining the source of user input
US7234114B2 (en) 2003-03-24 2007-06-19 Microsoft Corporation Extensible object previewer in a shell browser
US7846023B2 (en) * 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US20050071477A1 (en) * 2003-03-27 2005-03-31 Microsoft Corporation Providing information links via a network
JP4229322B2 (ja) 2003-07-15 2009-02-25 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 端末装置及び表示制御プログラム
US7426647B2 (en) 2003-09-18 2008-09-16 Vulcan Portals Inc. Low power media player for an electronic device
US7308649B2 (en) 2003-09-30 2007-12-11 International Business Machines Corporation Providing scalable, alternative component-level views
US20050081155A1 (en) * 2003-10-02 2005-04-14 Geoffrey Martin Virtual player capable of handling dissimilar content
EP1670557B1 (en) * 2003-10-10 2013-04-24 Nokia Corporation Method and device for generating a game directory on an electronic gaming device
US20050091107A1 (en) 2003-10-22 2005-04-28 Scott Blum Media player and access system and method and media player operating system architecture
US7823146B2 (en) * 2003-11-07 2010-10-26 Computer Associates Think, Inc. Method and system for software installation
JP4360182B2 (ja) 2003-11-14 2009-11-11 ソニー株式会社 電子機器、操作子の案内表示方法、電子機器のプログラム
US7464332B2 (en) 2003-11-18 2008-12-09 Aaa News, Inc. Devices, systems and methods for selecting the appearance of a viewer displaying digital content
US7712108B2 (en) 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US20050132401A1 (en) 2003-12-10 2005-06-16 Gilles Boccon-Gibod Method and apparatus for exchanging preferences for replaying a program on a personal video recorder
US7512882B2 (en) 2004-01-05 2009-03-31 Microsoft Corporation Systems and methods for providing alternate views when rendering audio/video content in a computing system
WO2005076130A1 (en) 2004-02-03 2005-08-18 Corizon Limited Method and apparatus for composite user interface creation
US7421454B2 (en) * 2004-02-27 2008-09-02 Yahoo! Inc. Method and system for managing digital content including streaming media
US7246134B1 (en) 2004-03-04 2007-07-17 Sun Microsystems, Inc. System and methods for tag library generation
US7516477B2 (en) * 2004-10-21 2009-04-07 Microsoft Corporation Method and system for ensuring that computer programs are trustworthy
US7599915B2 (en) 2005-01-24 2009-10-06 At&T Intellectual Property I, L.P. Portal linking tool
US9836729B2 (en) * 2005-03-11 2017-12-05 Microsoft Technology Licensing, Llc Media software navigation with conditional links
US20060224575A1 (en) * 2005-03-30 2006-10-05 Microsoft Corporation System and method for dynamic creation and management of lists on a distance user interface
US20060225037A1 (en) * 2005-03-30 2006-10-05 Microsoft Corporation Enabling UI template customization and reuse through parameterization
US8214754B2 (en) 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
US7716583B2 (en) * 2005-07-12 2010-05-11 Hewlett-Packard Development Company, L.P. Shortcut for predetermined application

Also Published As

Publication number Publication date
US20120266216A1 (en) 2012-10-18
JP2008538622A (ja) 2008-10-30
US9336016B2 (en) 2016-05-10
WO2006113291A2 (en) 2006-10-26
US20060236337A1 (en) 2006-10-19
WO2006113291A3 (en) 2009-01-08
KR20080005499A (ko) 2008-01-14
EP1872584A4 (en) 2009-12-16
US8214754B2 (en) 2012-07-03
CN101490656A (zh) 2009-07-22
EP1872584A2 (en) 2008-01-02
JP5123169B2 (ja) 2013-01-16

Similar Documents

Publication Publication Date Title
CN101490656B (zh) 用于应用程序的注册和交互式用户接口的问候特征的方法
CN102682063B (zh) 第二显示装置上的直接搜索启动
US6073119A (en) Method and system for banking institution interactive center
CN102695084B (zh) 从第二显示装置进行的设备加入处理
CN101501609B (zh) 基于硬件动作启动软件响应
US20060224575A1 (en) System and method for dynamic creation and management of lists on a distance user interface
JP2004030640A (ja) コンピュータ・ネットワークに接続されたキオスク装置およびキオスク装置の構成方法
KR20140108499A (ko) 멀티미디어 커머스 서비스 처리 장치 및 방법
US8131797B2 (en) System and method for providing and distributing game on network
CN102685573A (zh) 经由多个设备的因特网内容订阅服务
CN102918540A (zh) 利用凭证创建并启动万维网应用
GB2412833A (en) Personalising a user interface based on frequency of selection of commands
CN102077233A (zh) 扩展的用户简档
US20060020548A1 (en) Interactive media viewer system with interactive email and purchase follow up capabilities and special security features
CN103425484A (zh) 跨越多个装置的菜单定制的管理
CN102695082B (zh) 在第二显示装置上提供频繁被访问服务或资产列表的方法
CN102360286A (zh) 控制面板架构
JP3841169B2 (ja) 通信システム、データ処理装置およびデータ処理方法、並びにプログラム
JP2007310596A (ja) サービス提供装置、コンピュータプログラム及び記録媒体
JP2007334525A (ja) コンピュータ、クライアント−サーバコンピュータ群、サーバコンピュータ、表示プログラム、及びディスプレイ表示方法
JP2003099452A (ja) コンテンツ検索システム、コンテンツ検索プログラム及び該プログラムを記録した媒体
CN102693152A (zh) 第二显示装置上的直接服务启动
WO2008018506A1 (en) Image display device, image data providing device, image display system, image display system control method, control program, and recording medium
CN102693257A (zh) 存储服务或内容列表以容易访问的系统和方法
CN103425566A (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
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: 20150511

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

Effective date of registration: 20150511

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.