具体实施方式
如上简述,本发明实施例涉及集成的帮助内容查看器,该查看器提供了对多个应用程序一致的用户界面并且实现了离线和在线帮助内容源间的平滑转换。在如下的详细描述中,会参考形成了本发明一部分的附图,并且这些附图是为了对特定实施例和实例的说明而展示出来。可以组合这些实施例,可利用其他的实施例并且可以在不背离本发明精神和范围的情况下做出结构上的改变。因此如下的详尽描述是非限制性的并且本发明的范围由所附的权利要求和它们的等效物定义。
现在参见附图在其中类似序号代表类似元素,将要描述本发明的各方面和典型的操作环境。图1和随后的讨论旨在提供一个能够实现本发明的合适的计算机环境的简要通用的描述。虽然本发明在结合可在个人计算机操作系统上运行的应用程序而执行程序模块的一般上下文中描述,但是本领域普通技术人员将认识到,也可结合其他程序模块实现本发明。
程序模块通常包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构或其他类型结构。此外,本领域普通技术人员可以理解也能使用包括手持设备、多处理器系统、基于微处理器或可编程消费电子品、小型机、大型机等在内的其他计算机系统配置来实践本发明。也可以在分布式计算环境内实践本发明,其中任务由通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备内。
现在转向图1,将描述用于实践本发明各个实施例的个人计算机2的说明性计算机结构。图1所示的计算机结构示出了传统个人计算机,它包括了中央处理单元4(“CPU”)、包含随机存取存储器8(“RAM”)和只读存储器(“ROM”)10在内的系统存储器6以及将存储器耦合至CPU 4的系统总线12。含有帮助计算机内部各元件间在诸如启动期间传递信息的基本例程的基本输入/输出系统被存储在ROM 10内。个人计算机2还包括用于存储操作系统16、诸如应用程序205的应用程序以及数据的大容量存储设备14。
大容量存储设备14通过连接到总线12的多个存储控制器(未示出)与CPU 4相连。大容量存储设备14以及与其相关联的计算机可读媒介为个人计算机2提供了非易失性的存储装置。虽然这里包含的计算机可读媒介的描述涉及诸如硬盘或CD-ROM驱动的多存储设备,但是本领域普通技术人员可以理解所述计算机可读媒介可以是任何能被个人计算机2访问的可用媒介。
出于示例而非限制,计算机可读媒介可以包括计算机存储媒介和通信媒介。计算机存储媒介包括以用于存储诸如计算机可读指令、数据结构、程序模块或者其他数据的信息的任何信息存储方法和技术实现的易失性的和非易失性的、可移动和不可移动的媒介。计算机存储媒介包括但不限于RAM、ROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字通用盘(DVD)或者其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁性存储设备或者能够存储期望信息并可由计算机访问的任何其他介质。
根据本发明的各个实施例,个人计算机2可以在使用通过诸如因特网的TCP/IP网络18的逻辑连接至远程计算机的网络环境中运行。所述个人计算机2可以通过连接到总线12的网络接口单元20与TCP/IP网络18相连。应该认识到也可使用网络接口单元20与其他类型的网络和远程计算机系统相连。个人计算机2还包括用于接收和处理来自包括键盘或鼠标(未示出)在内的多个设备的输入的输入/输出控制器22。类似地,输入/输出控制器22可以提供输出给显示屏、打印机或其他类型输出设备。
如上简述,在个人计算机2的大容量存储设备14和RAM 8内可能存储了多个程序模块和数据文件,它们包括了适用于控制网络化个人计算机操作的操作系统16,诸如由华盛顿州雷蒙德的微软公司研发的WINDOWS操作系统。大容量存储设备14和RAM 8可以存储一个或更多应用程序。特别地,所述大容量存储设备14和RAM 8还存储了为用户提供多种功能的应用程序105。例如,应用程序105可包括诸如字处理应用程序、电子表格应用程序、桌面发布应用程序等等的许多种类的程序。根据本发明的一个实施例,应用程序205包括用于提供来自多种不同软件应用程序的功能的多功能软件应用程序套件。包含多功能应用程序套件205的各个程序模块中的某些包括了字处理应用程序125、幻灯片演示应用程序135、电子表格应用程序140和数据库应用程序145。此多功能软件应用程序套件205的一个实例是由微软公司生产的OFFICE。如图1示出的其他软件应用程序包括电子邮件应用程序130。
根据本发明的实施例,当用户请求与给定主题相关的帮助内容时,首先做出经由通过诸如因特网的分布式计算网络的连接检索来自在线源的被请求的帮助内容的尝试。如果与在线帮助内容源的连接无法完成,那么随后就会从保持在用户本地计算机2上预装帮助内容的离线存储中提供响应于被请求帮助主题的帮助内容。图2是根据本发明实施例示出了在焦点客户应用程序、客户帮助应用程序以及服务器侧帮助内容源之间交互的简要框图。当用户期望获得与给定帮助主题相关联的帮助内容时,诸如字处理应用程序、电子表格应用程序、幻灯片演示应用程序之类的焦点软件应用程序205调用客户侧帮助内容应用程序210用以启动根据本发明实施例的集成的帮助内容查看器。该客户帮助应用程序210尝试经由因特网220与在线的基于因特网的帮助功能230连接,以获取响应于所选或输入的请求的帮助内容。如下详述,如果客户侧帮助应用程序210和服务器侧基于因特网的帮助功能230之间的连接不可用,那么客户侧帮助应用程序210随后就从保持在用户本地计算机2上的本地帮助内容存储中检索帮助内容以响应于所选的帮助主题。
图3示出了根据本发明实施例显示集成的帮助内容查看器的计算机屏幕显示。集成的帮助内容查看器300是在其中能够输入帮助主题或请求并且能够显示对应于所选或输入的帮助主题的搜索结果的用户界面。根据本发明的实施例,帮助内容查看器300可以在例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序、任务管理器应用程序之类的多个不同的应用程序使用。
根据本发明的实施例,与帮助内容查看器相关联的语言(例如英语、法语、日语等等)可以根据不同的用户需要而改变。如果从第一语言变为第二语言,那么就可以从与所选语言相关联的离线和在线源中检索帮助内容。根据一个实施例,可以为给定的应用程序施加用户界面软件的更新、插入、附加等等以使得本发明的帮助内容查看器能够按照所选语言查找并显示相应的帮助内容。
为了告知用户启动的内容查看器300的当前帮助访问,提供标题栏310用以识别与启动的内容查看器300相关联的当前帮助范围。例如参见图3,标题栏310包括范围标识“Microsoft Word Help[connected to the Internet]”以识别当前的帮助范围是与字处理器应用程序相关联的并且可以经由因特网从在线帮助源中检索帮助内容。查看器300内包含的其他信息识别了该查看器300的当前范围,诸如应用程序的主页(home)按钮345表示了与当前启动的查看器相关联的当前软件应用程序。
查找范围文本框305表示了已启动查看器的当前范围。如下将参考图7的描述,可以在查找范围文本框305以下提供下拉菜单700用以显示与之前用户做出的查找询问相关联的查找范围。改变查找范围的一种方法是在下拉菜单700.2中列出的查找范围主题中选择一个。一旦选择了查找范围并且在查找框312内识别出特定的帮助主题,就可选择“转到(Go)”按钮370用以启动与所选查找范围以及所选或输入的帮助主题相关联的帮助内容的在线或离线查找。一旦从在线或离线帮助内容存储中检索出查找结果,就在查看器300的显示区域内显示查找结果以供发出请求的用户浏览。根据本发明的一个实施例,帮助查找结果根据超文本标记语言(HTML)格式显示在查看器300内。如果是从基于因特网的帮助内容存储或网站中检索出帮助内容,那么可以设定响应于该帮助内容查找的信息的格式使之最适于查看器300。例如,可以从因特网网站拉下的内容中去除某些在查看器300内无用的相关功能或控件。
诸如“后退(Back)”按钮325、“前进(Forward)”按钮330、“停止(Stop)”按钮335、“刷新(Refresh)”按钮340的多个浏览功能按钮允许用户以类似于浏览显示在因特网浏览应用软件内的查找结果的方式浏览显示的查找结果。同样地,“收藏夹(Favorites)”按钮350和“历史(History)”按钮355允许用户存储和浏览收藏的查找结果内容或者浏览以前所查找的帮助内容。
将如下所述,根据本发明的实施例,帮助内容查看器300可以钉住特定的应用程序用户界面,使得能够保持查看器位于其钉住的用户界面之上。提供“钉住(Pin)”按钮360用以选择性地将帮助内容查看器300钉住特定的应用程序用户界面,或者用以选择性的取消内容查看器对给定应用程序用户界面的钉住。
查看器300的下沿包括了用于示出给定帮助内容查找当前状态的状态栏315。如果完成了来自在线或离线存储的帮助内容查找,那么将提供“完成(Done)”指示。如果查找帮助内容仍在进行中,就提供诸如“查找中(Search in Progress)”的状态指示。状态栏315右侧是用于提供当是前离线还是在线连接状态的连接状态栏320。例如连接状态“已连接(Connected)”表示客户帮助应用程序210当前是连接到在线帮助内容存储的。另一方面,连接状态“未连接(Not Connected)”表示客户侧帮助应用程序210未连接到在线帮助内容存储,而在离线(未连接)状态期间检索并显示的任何帮助内容都是从保持在用户本地计算机2上离线帮助内容存储中检索出来的。
根据本发明的实施例,较佳的连接状态是在线连接,使得检索出的响应于所选或输入的帮助请求的帮助内容是最新的并且是更可靠的。参见图4,如果在给定帮助内容会话期间丢失了客户侧帮助应用程序210和服务器侧帮助功能230之间的连接,就会在查看器300的内容显示区域提供通知警告410用来警告用户连接的丢失。一旦丢失了在线连接,客户侧帮助应用程序210自动切换至离线模式并且对应于所选或输入的帮助请求查找离线存储以寻找帮助内容。任何检索出的帮助内容随后显示在查看器300内。因此,可让用户意识到在线帮助会话已丢失,但是从本地帮助内容中自动提供帮助内容给用户,使得帮助会话不会被中断或终止。
根据一个实施例,检索出的离线查找结果(无论是因为连接丢失还是由于用户选择)可以提供关于可用在线帮助的有用信息。例如,离线查找的结果除了提供有用信息外还提供到在线信息源的链接以指示用户如何进入在线状态查找在线源。例如,在用户处于离线模式的情况下选择在线连接会产生提示,警告该用户必须连接到在线源以接收被请求的在线信息。
以上已经结合图3和图4描述了帮助内容查看器300的帮助属性和操作,而图5是示出根据本发明实施例用于在集成帮助内容查看器300内部的显示帮助内容并且用于在离线和在线连接状态间转换的说明性例程的流程图。例程500在起始框505处开始并且行进至框510,其中用户启动帮助内容查看器300用于获取与给定主题相关联的帮助信息。本领域普通技术人员应该理解的是,可以使用多种机制启动帮助内容查看器300,诸如选择诸如F1键的应该按键,或者通过选择工具栏内提供的帮助图标,或者在当前使用的用户界面中的其他功能按钮阵列。例如,可以考虑用户通过包括工作入口区域和多个功能控件或按钮的字处理应用程序用户界面在字处理应用程序内键入一封信的情况。例如也可以考虑用户期望是关于格式化文本的信息的例子。该用户可以通过选择由用户的字处理应用程序用户界面提供的帮助图标或按钮,或者通过选择诸如F1键的键盘按键来启动本发明的帮助内容查看器300。
在框515处,客户帮助应用程序210确定是否当前连接到在线基于因特网的帮助功能230用于获取帮助内容。如果帮助应用程序210当前没有连接到在线帮助功能230,就提供诸如图4中的通知410之类的通知给用户,并且连接状态320指示“未连接”状态。在决定框520处,如果期望在线连接,那么例程就行进至框525,并且用户可以选择要建立的连接,或者另选地在帮助应用程序210确定未建立连接或连接已丢失之后自动建立连接。如果不期望连接,那么例程行进至框550用于如下所述的离线帮助内容。
在框525处,在建立了连接之后,客户侧帮助应用程序210接收来自用户的诸如文本格式化之类的帮助请求,并且在框530处由客户侧帮助应用程序210将输入的或所选的帮助请求送至服务器侧基于因特网的帮助功能230用于获取对应于于输入的或所选的帮助请求的帮助内容。在框535处,客户侧帮助应用程序210设定检索出的帮助内容的格式并且如上所述在客户侧帮助内容查看器300内显示帮助内容。
根据本发明的一个实施例,当从服务器侧帮助功能230处检索出帮助内容时,客户侧帮助应用程序210动态地将检索出的内容存储在客户侧的高速缓存内用于之后离线使用。因此,就算在线连接随后被丢失或者被中断或终止,所述客户侧帮助应用程序210仍可以通过利用存储在客户侧的来自在线帮助功能230的内容来提供增强的帮助内容。
在框545处,如果在线帮助会话期间丢失在线连接,在帮助查看器300内提供诸如图4所示的警告410之类的警告用来通知用户在线连接已丢失。此外,连接状态320从状态“已连接”变为状态“未连接”。在框550处,客户侧帮助应用程序210自动查找离线高速缓存或者存储寻找对应于用户输入或选择的帮助请求的帮助内容。在框555处,如上所述在帮助查看器300内显示从离线高速缓存或存储中检索出的帮助内容。根据一个实施例,离线高速缓存或存储包括对应于多个帮助内容查找或主题的预装帮助内容。如上所述,根据另一个实施例,可使用从在线帮助功能中检索出的内容来补充或更新帮助内容信息的离线高速缓存或存储。在任一情况下,就算从离线高速缓存或存储中检索出的帮助内容少于从在线高速缓存或存储中来的可用信息,仍然将从离线高速缓存或存储中检索出的信息或帮助内容显示给用户,使得用户帮助会话不会因为在线连接的丢失而中断或终止。
仍旧参见图5,在框560处,客户侧帮助应用程序210监控在线连接状态。在框565处,如果连接丢失之后在线连接变得可用,在内容查看器中提供警告,通知用户可以恢复在线帮助会话。根据一个实施例,该用户能可选地重新连接在线帮助功能。如果用户的确选择性的重新连接到在线帮助功能,那么如上所述,将从在线帮助内容高速缓存或存储中检索出对应于用户帮助内容请求的查找结果并且将该结果显示给用户。根据一个另选实施例,如果在线连接变得可用,那么客户侧帮助应用程序210就自动重新建立与在线帮助功能230的连接并且更新显示在帮助内容查看器300内的帮助内容。在框570处,在内容查看器300内自动更新来自在线高速缓存或存储中的可用的附加帮助内容,或者提供一个警告给用户以允许用户选择性地接收从在线高速缓存或存储内可得到的更新的帮助内容。例程在框595处结束。
根据本发明的实施例,客户侧帮助应用程序210和帮助内容查看器300可以便利地与组成多应用程序套件的诸如字处理应用程序、电子表格应用程序、幻灯片演示应用程序、数据库应用程序之类的多个应用程序直接通信。如上简述,帮助内容查看器300根据启动该帮助内容查看器300的应用程序确定最初范围。就是说如果查看器300是从字处理应用程序中启动用来获取与字处理相关联的某些功能或主题的帮助内容,则帮助内容查看器300的范围就是该字处理应用程序。如上参考图3所述,查看器300的当前范围被标识在标题栏310内并且在包括了应用程序主页按钮345和查找范围文本框305在内的查看器300内的其他位置之中。
根据本发明的实施例,帮助内容查看器300的范围可由用户通过选择应用程序主页按钮345以呈现另选应用程序范围的下拉框来进行手动地及选择性的改变。参见图6,在应用程序主页按钮345之下的下拉框600示出了可被利用多个不同的帮助内容查找范围,并且所述帮助内容查看器300的查找范围可以被手动地及选择性的改变到那个范围。例如,如果帮助内容查看器300的当前范围与字处理应用程序相关联而用户期望与幻灯片演示应用程序相关联的帮助内容,那么该用户可以选择应用程序主页按钮345以显示如图6所示的下拉600。用户随后可以选择幻灯片演示应用程序范围(scope)按钮620以自动改变帮助内容查看器300的范围。一旦就此改变了帮助内容查看器300的范围,随后由用户输入或选择的帮助内容请求将会使得客户侧帮助应用程序210根据幻灯片演示应用程序范围,查找在与所选或输入的帮助主题相关的在线或离线帮助内容。参见图7,也在查找范围文本框305下的下拉菜单700中示出了各种查找范围。如上所述,下拉菜单700示出了与以前用户做出的搜索查询相关联的查找范围。应该理解用户可以从在查找范围下拉700中示出的查找范围中选择不同的查找范围用于手动地改变给定查找的范围。
根据一个可选实施例,在不同的应用程序调用该帮助内容查看器300时可以自动改变帮助内容查看器300的范围。例如,如果用户当前使用字处理应用程序并且用户启动了例如电子表格应用程序的不同应用程序,随后用户从第二个应用程序选择了帮助功能键或图标,那么帮助内容查看器300的范围会自动变成与调用了帮助功能的第二个应用程序相关联的范围。按此实例,帮助内容查看器的范围将变成电子表格应用程序的范围。
根据另一个实施例,如果用户导航到与一个不同范围相关联的帮助内容查找结果,那么该帮助内容查看器的范围会自动改变。例如,如果该用户当前浏览的在帮助内容查看器300中显示的与字处理应用程序的帮助主题相关联的查找结果,但是用户导航到与例如电子表格应用程序范围的不同范围相关联的帮助内容查找结果的部分,那么帮助内容查看器300的当前范围将变为与用户导航到的帮助内容相关联的范围,例如电子表格应用程序范围。
现在参见图8,一旦建立了给定的查找范围,用户就可在查找框312内输入特定的帮助内容主题或请求。可以显示最近输入帮助主题的下拉列表800以允许用户选择之前以前输入过的帮助主题/请求。如上所述,一旦输入或选择的帮助主题,那么就可以选择如图3所示的“转到”按钮370用于如上参考图5所述启动在线或离线帮助内容查找。
根据本发明的实施例,帮助内容查看器300从中启动的例如字处理应用程序、电子表格应用程序之类的软件应用程序可以控制查看器300的大小和位置。例如,可以在覆盖与给定应用程序相关的用户界面的位置上启动查看器300。此外,可以设置查看器300的大小使之符合邻近给定应用程序用户界面的工作空间。此外,查看器300显示区域的大小可以减小或扩展用以适合所显示的帮助内容的量的变化。
参见图9,根据本发明的实施例,帮助内容查看器300可以钉住特定的应用程序用户界面使得被钉住的帮助内容查看器300保持在相关的应用程序用户界面之上的位置。例如参见图9,如果字处理应用程序用户界面910是当前的焦点应用程序,那么客户的帮助内容查看器300可以钉住该字处理应用程序用户界面910并且以此程序作为范围。因此,查看器300保持在一个位置上,使得查看器300显示在字处理应用程序用户界面910之上的位置。如果用户以前已经选择了如电子邮件和日历应用程序用户界面920的不同应用程序的用户界面,帮助内容查看器300仍然保持着位于焦点字处理应用程序910用户界面之上的位置。参见图9的底部,如果用户关注如电子邮件和日历用户界面920的第二应用程序用户界面,那么该用户界面移到顶部位置,但是帮助内容查看器300仍然保持着位于当前钉住或作为范围的字处理应用程序910用户界面之上的位置。
如上简述并参见图3,如果用户选择了钉住按钮用来取消帮助内容查看器300对它相关范围的应用程序的钉住,那么随后帮助内容查看器就以类似于任何其他视窗帧的方式进行动作,并且该查看器是相对于基于选择它的时刻的其他窗口的位置。例如,如果取消钉住之后的查看器300是第三选择行,那么依照该查看器的显示位置,它就是第三选择行。例如用户界面920可以在顶部,字处理用户界面910第二,而查看器300的位置是第三。另一方面,如果查看器300钉住了给定的用户界面,那么查看器300对于被钉住的相关用户界面来说就处于“总在最上”的位置。
如果查看器300的范围变为另一不同的应用程序并且选择该查看器300钉住所选范围的用户界面,那么随后查看器300将移到相对于已改变范围的新的应用程序来说就处于“总在最上”的位置。例如参见图9,如果帮助内容查看器300的范围变成电子邮件和日历应用程序用户界面920,如上参考图6和图7所述,那么帮助内容查看器300随后将移到到位于该电子邮件和日历应用程序用户界面920之上的位置上。
根据本发明的一个实施例,在帮助内容查看器300内显示的内容可以控制该帮助内容查看器300当前为共享范围的应用程序的功能。就是说包含在查看器300的显示内容中的软件编码可以自动地或者选择性地控制相关应用程序的功能。例如,如果在查看器300中显示的帮助内容包括一种编码,该编码能够改变相关字处理应用程序的打印功能使得依据可选字体打印文档,那么可在显示的帮助内容中添加一个按钮以允许该用户根据直接来自帮助内容查看器的可选字体来选择性地打印文档。根据一个实施例,如字处理应用程序的相关应用程序内的软件编码被展示给内容查看器300内显示的内容中所含有的编码。因此,内容查看器300内显示的帮助内容中所含有的编码调用由应用程序展示的编码并且执行该展示的编码。根据一个可选的实施例,在帮助内容查看器内显示的内容发送一个引用给相关应用程序编码用来允许相关应用程序下载、解释和执行包含在帮助内容内的编码,使得相关应用程序可以运行所述包含在帮助内容之内的引用编码。
如在此的描述,提供了用于管理离线或在线帮助内容的集成的帮助内容查看器。对本领域普通技术人员显而易见的是可以在不背离本发明范围或精神的情况下对本发明做出各种修改或变化。本发明的其他实施例对于参考了说明书以及本发明所附的实践本领域普通技术人员来说也是显而易见的。