特定于上下文的用户界面的制作方法

文档序号:6455369阅读:151来源:国知局
专利名称:特定于上下文的用户界面的制作方法
特定于上下文的用户界面
些旦
NT尿
在当今的移动世界中,用户带着相同的设备从家到办公室、在车中、去度 假等。用户在相同设备上使用的特征随着该用户操作该设备的上下文而发生很 大的变化。例如,在工作时,用户会使用他/她不会在家使用的某些程序。同样, 当用户在家时,他/她会使用他/她不会在工作时使用的某些程序。用户可取决 于这些不同的情形来手动地对程序设置做出调整以增强用户体验。该基于上下 文来调整用户体验的手动过程可能是非常乏味的且重复的。
概述
公开了基于设备的上下文来修改该设备的操作的各种技术和方法。系统在 分析至少一个揭示上下文的属性时确定设备的当前上下文。揭示上下文的属性 的示例包括设备的物理位置、附连到该设备的至少一个外围设备、与该设备所 附连到的网络相关的一个或多个网络属性、特定对接状态、对于该设备的过去 的用户行为模式、其他应用程序的状态、和/或用户状态。然后基于该当前上下 文来修改该设备的软件和/或硬件元素。作为软件调整的一些非限制性示例,可
修改用户界面上至少一个元素的大小;特定上下文可被包括在用户界面中;特 定的一个或多个任务可由用户界面来提升;可修改用户界面的视觉、听觉和/ 或主题元素;等等。作为硬件调整的一些非限制性示例, 一个或多个硬件元素 可在操作中基于设备的当前上下文来禁用和/或改变。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些 概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在 用于帮助确定所要求保护的主题的范围。
附图简述


图1是一个实现的计算机系统的图示。
图2是在图1的计算机系统上操作的一个实现的上下文检测器应用程序的图示。
图3是图1的系统的一个实现的高级处理流程图。
图4是示出在基于设备上下文修改各种用户界面元素时所涉及的各阶段
的图1系统的一个实现的处理流程图。
图5是示出在确定设备的当前上下文时所涉及的各阶段的图1的系统的一 个实现的处理流程图。
图6是示出在确定视觉受损的设备的当前上下文时所涉及的各阶段的图1 的系统的一个实现的处理流程图。
图7是示出在确定设备的物理位置以帮助确定上下文时所涉及的各阶段 的图1的系统的一个实现的处理流程图。
图8是示出在确定附连到该设备的一个或多个外围设备以帮助确定上下 文时所涉及的各阶段的图1的系统的一个实现的处理流程图。
图9是示出在确定对接状态以帮助确定上下文时所涉及的各阶段的图1 的系统的一个实现的处理流程图。
图10是示出在分析过去的用户行为模式以帮助确定上下文时所涉及的各 阶段的图1的系统的一个实现的处理流程图。
图11是示出基于工作上下文来调整设备的用户界面元素的图1的系统的 一个实现的模拟屏幕。
图12是示出基于家上下文来调整设备的用户界面元素的图1的系统的一 个实现的模拟屏幕。
图13是示出基于该设备所对接的相框基座来将该设备变换为照片幻灯片 放映播放器的图1的系统的一个实现的模拟屏幕。
图14是示出基于汽车上下文来将该设备变换为音乐播放器的图1的系统 的一个实现的模拟屏幕。
图15是示出基于汽车上下文来将该设备变换为导航系统的图1的系统的 一个实现的模拟屏幕。
详细描述
为促进对本发明原理的理解,现将参考附图中所示的各实施例,并将使用
6专用语言来描述它们。然而,要理解,并不旨在对范围进行限制。在所述实施 方式中的任何改变和进一步修正,以及在此所述的原理的进一步应用可以预期 将是本领域技术人员通常能想到的。
该系统可以在一般上下文中被描述为确定设备的上下文和/或基于设备的 上下文调整用户体验的应用程序,但是该系统还适合除了这些目的之外的其它 目的。在一个实施例中,此处所描述的技术中的一个或多个可被实现为操作系 统或向多个应用程序提供上下文信息的其他程序中的,或来自确定设备的上下 文和/或使用该上下文来修改设备的行为的任何其他类型的程序或服务中的特 征。
作为一个非限制性示例,可以使用"特性包(property bag)"来主存上下 文属性的集合。具有感兴趣的上下文信息的任何应用程序或服务都可以是"提 供者"并可将值置于特性包中。这样的应用程序或服务的一个非限制性示例是 计算并发布当前"位置"的GPS服务。另选地或另外地,用作特性包的应用 程序可自己确定上下文信息。在使用特性包的此类情形中, 一个或多个应用程 序检查特性包以査找感兴趣的属性并根据其值来决定如何反应。另选地或另外 地,应用程序可"监听"并在特性改变时被动态更新。作为另一非限制性示例, 一个或多个应用程序可使用其自己的逻辑来确定上下文并适当地反应以便相 应地基于该上下文来调整设备的操作。
如图1所示,用于实现该系统的一个或多个部分的示例性计算机系统包括 诸如计算设备100等计算设备。在其最基本的配置中,计算设备100通常包括 至少一个处理单元102和系统存储器104。取决于计算设备的确切配置和类型, 存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或 是两者的某种组合。该最基本配置在图1中由虚线106来例示。
另外,设备100还可具有附加的特征/功能。例如,设备100还可包含额 外的存储(可移动和/或不可移动),其中包括但不限于磁盘、光盘或磁带。这 样的额外存储在图1中由可移动存储108和不可移动存储110示出。计算机存 储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据 等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介 质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它 存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、 磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由设备100访问 的任何其它介质。任何这样的计算机存储介质都可以是设备100的一部分。
计算设备100包括允许计算设备100与其它计算机/应用程序114进行通 信的一个或多个通信连接115。设备100也可以具有诸如键盘、鼠标、笔、语 音输入设备、触摸输入设备等输入设备112。也可以包括诸如显示器、扬声器、 打印机等输出设备lll。这些设备在本领域中公知且无需在此处详细讨论。在 一个实现中,计算设备100包括上下文检测器应用程序200和/或使用来自上下 文检测器应用程序200的上下文信息的其他应用程序202。上下文检测器应用 程序200将在图2中更详细地描述。
现在转向图2,并继续参考图l,示出了在计算设备100上操作的上下文 检测器应用程序200。上下文检测器应用程序200是驻留在计算设备100上的 应用程序之一。然而,可以理解,上下文检测器应用程序200可另选地或另外 地被具体化为一个或多个计算机上的计算机可执行指令和/或与图1所示的不 同的变型。虽然上下文检测器应用程序200被示为与使用上下文信息的其他应 用程序202分开,但可以理解,在各替换实施例中这两个应用程序可被组合成 同一个应用程序。另选地或另外地,上下文检测器应用程序200的一个或多个 部分可以是系统存储器104的一部分、可以在其它计算机和/或应用程序115 上、或可以是计算机软件领域的技术人员能想到的其它此类变型。
如上所述,在一个实现中,上下文检测器应用程序200用作其他应用程序 可向其查询上下文信息以确定如何更改系统的操作的上下文信息的"特性包"。 在一个实现中,上下文检测器应用程序200确定各种揭示上下文的属性并使其 对其他应用程序可用。在另一实现中,其他应用程序将揭示上下文的属性提供 给上下文检测器应用程序200,其然后使这些揭示上下文的属性对需要该信息 的任何其他应用程序可用。其它变型也是可能的。
上下文检测器应用程序200包括程序逻辑204,其负责执行在此描述的一 些或全部技术。程序逻辑204包括用于在分析一个或多个揭示上下文的属性(例 如,物理位置、所附连的外围设备、与该设备所附连到的网络相关的一个或多
8个网络属性、对接状态和/或基座类型、过去的用户行为模式、其他应用程序的 状态、和/或用户状态等)时程序性地确定设备的当前上下文的逻辑206;用于 在设备通电时确定当前上下文的逻辑208;用于在揭示上下文的属性中的一个 或多个改变(例如,设备在其仍旧通电时改变位置等)时确定当前上下文的逻 辑210;用于将设备的当前上下文提供给做出请求的应用程序,从而使该做出 请求的应用程序能够使用该当前上下文来修改该设备的操作(例如,软件和/
或硬件元素)的逻辑212;以及用于操作应用程序的其他逻辑220。在一个实 现中,程序逻辑204可用于通过编程,如使用对程序逻辑204中的一个过程的 单一调用而从另一程序调用。
现在转向图3-10,并继续参考图l-2,更详细地描述了用于实现上下文检 测器应用程序200的一个或多个实现的各阶段。图3是上下文检测器应用程序 200的一个实现的高级处理流程图。在一种形式中,图3的过程至少部分地在 计算设备100的操作逻辑中实现。该过程在起始点240处开始,在那里设备通 过分析至少一个揭示上下文的属性(例如,基于物理位置、所附连的外围设备、 与该设备所附连到的网络相关的一个或多个网络属性、设备是否对接及它在其 中的基座类型、过去的用户行为模式和基于当前使用的推断、其他应用程序的 状态、和/或用户状态等来确定的属性)来确定/感测其上下文(阶段242)。 该设备通过修改一个或多个应用程序的软件元素(例如,界面元素的大小;所 提升的内容和任务;视觉、听觉和其他主题元素;和/或固件元素;等)来对该 上下文信息做出响应(阶段244)。该设备可任选地通过修改硬件元素(例如, 禁用某些硬件、改变诸如按钮等某些硬件的功能等)来对该上下文信息做出响 应(阶段246)。该设备在给定上下文和各个用户区别的情况下提供适当的反 馈(阶段248)。该过程结束于结束点250。
图4示出了在基于设备上下文修改各种用户界面元素时所涉及的各阶段 的一个实现。在一种形式中,图4的过程至少部分地在计算设备100的操作逻 辑中实现。该过程在起始点270处开始,在那里确定特定设备(计算机、移动 电话、个人数字助理等)的上下文(阶段272)。该系统在给定该上下文的情 况下适当地修改一个或多个用户界面元素的大小(例如,在视觉受损环境中时 使某些用户界面元素变得更大等)(阶段274)。
9也基于该上下文适当地改变所提升的屏幕上的内容和任务(阶段276)。作为一非限制性示例,如果该设备对接在相框基座中,则该设备可变换为显示
照片的幻灯片放映。如果确定用户的上下文是在家,则可基于居家使用来修改壁纸、收藏列表、最近使用的基于家庭的程序和/或其他界面元素。如果该上下文是汽车,则该用户界面可变换为用作音乐播放器和/或导航系统。如果该上下
文是电影院,则可禁用声音以便不打扰其他人。可以使用基于上下文来修改所提升的用户界面内容和任务的众多其他变型来代替这些示例或作为其补充。另选地或另外地,基于该上下文适当地修改用户界面的视觉、听觉和/或其他主题
元素(阶段278)。作为一些非限制性示例,可基于时间和/或设备的位置来增
加或减小用于可读性的对比度、可增加悬停反馈来改进某些输入设备的目标锁
定和/或可在视觉受损环境中提供声音以用于反馈(阶段278)。该过程结束于结束点280。
图5示出了在确定设备的当前上下文时所涉及的各阶段的一个实现。在一种形式中,图5的过程至少部分地在计算设备100的操作逻辑中实现。该过程在起始点290处开始,在那里基于一个或多个揭示上下文的属性(例如,在该设备上电时等)来确定设备的当前上下文(阶段292)。基于该当前上下文适当地修改该设备的一个或多个用户界面元素(阶段294)。该系统检测到揭示上下文的属性中的一个或多个已经改变(例如,该设备的位置在该设备仍然通电时改变)(阶段296)。基于一个或多个揭示上下文的属性来确定/感测该设备的新的当前上下文(阶段298)。该系统然后根据该新的当前上下文来修改用户界面(阶段298)。该过程结束于结束点300。
图6示出了在确定设备的视觉受损的当前上下文时所涉及的各阶段的一个实现。在一种形式中,图6的过程至少部分地在计算设备100的操作逻辑中实现。该过程在起始点310处开始,在那里在分析一个或多个揭示上下文的属性时确定设备的当前上下文,该当前上下文揭示用户可能处于视觉受损状态(例如,正在驾驶汽车等)(阶段312)。提供更适用于视觉受损的设备操作的修改的用户界面(例如,当用户的手靠近该设备和/或特定元素时提供音频反馈,从而允许该用户使用语音来控制该用户界面的用户界面等)(阶段314)。该系统从用户接收输入以便在该视觉受损环境中与该设备交互(阶段316)。该过程结束于结束点318。
图7示出了在确定设备的物理位置以帮助确定上下文时所涉及的各阶段的一个实现。在一种形式中,图7的过程至少部分地在计算设备100的操作逻辑中实现。该过程在起始点340处开始,在那里可任选地使用全球定位系统(如果存在的话)来帮助确定设备的物理位置(阶段342)。可任选地使用与该设备当前连接到网络相关的至少一个网络属性(诸如网络名、网络命令等)来帮助确定该设备的物理位置(阶段344)。另选地或另外地,可任选地使用该设备的IP地址或其网关来帮助确定该设备的物理位置(阶段346)。也可以使用帮助确定该设备的物理位置的其他感测位置的属性和/或程序(阶段348)。然后使用该设备的物理位置信息来帮助调整对于用户的用户界面体验(阶段350)。该过程结束于结束点352。
图8示出了在确定附连到该设备的一个或多个外围设备以帮助确定该设备的上下文时所涉及的各阶段的一个实现。在一种形式中,图8的过程至少部分地在计算设备100的操作逻辑中实现。该过程在起始点370处开始,在那里枚举该设备上的各种适配器以确定附连了什么外围设备(阶段372)。该系统使用关于所附连的一个或多个外围设备的知识来帮助确定该设备的上下文(例如,如果附连了网络打印机或特定类型的外围设备、或定位了几十个计算机,则该设备可能连接到工作网络;如果没有附连外围设备,则该设备可能处于移动状态等)(阶段374)。然后使用该设备的外围信息来帮助调整对于用户的用户界面体验(阶段376)。该过程结束于结束点378。
图9示出了在确定对接状态以帮助确定上下文时所涉及的各阶段的一个实现。在一种形式中,图9的过程至少部分地在计算设备100的操作逻辑中实现。该过程在起始点400处开始,在那里确定设备位于基座中(还是未对接)(阶段402)。如果该设备位于基座中,则该系统确定该设备在其中的基座类型(例如,相框基座、膝上型计算机基座、同步基座等)(阶段404)。然后使用设备对接状态信息(设备是否对接和/或基座类型)来帮助调整对于用户的用户界面体验(阶段406)。该过程结束于结束点408。
图10示出了在分析过去的用户行为模式以帮助确定上下文时所涉及的各阶段的一个实现。在一种形式中,图10的过程至少部分地在计算设备100的
11操作逻辑中实现。该过程在起始点430处开始,在那里在用户使用该设备时监视并记录发生在特定上下文中的常见动作(例如,当该用户在工作、在家、旅
行时等)(阶段432)。该系统分析所记录的过去的行为模式以帮助确定当前上下文(阶段434)。使用该过去的用户行为模式来帮助调整对于用户的用户界面体验(阶段436)。作为一个非限制性示例,如果该用户始终在该设备对接在汽车基座中时加载音乐播放器程序,则该系统可自动调整将来的车中体验以便在插入该汽车基座时自动加载音乐播放器,或允许用户用单个命令来加载该音乐播放器程序。该过程结束于结束点438。
现在转向图11-15,示出了模拟的屏幕以进一步示出图3-10的各阶段以便示出该相同的设备是如何基于它在其中操作的特定上下文来变换的。这些屏幕可以在输出设备lll上向用户显示。此外,这些屏幕可从输入设备112接收来自用户的输入。
图11是示出基于工作上下文来调整设备的用户界面元素的图1的系统的一个实现的模拟屏幕500。因为上下文检测器应用程序200已确定该用户的上下文是"在工作",所以各用户界面元素已被调整为适用于该用户的工作。例如,基于该工作上下文来设置开始菜单502、图标504和壁纸(单色/纯色背景)506。
图12是示出基于家上下文来调整设备的用户界面元素的图1的系统的一个实现的模拟屏幕600。因为上下文检测器应用程序200已确定该用户的上下文是"在家",所以各用户界面元素已被调整为适用于该用户的家。例如,基于该家上下文来设置开始菜单602、图标604和壁纸(现在具有家庭居家图片)606。
图13是示出基于该设备所对接的相框基座来将该设备变换为照片幻灯片放映播放器的图1的系统的一个实现的模拟屏幕700。当将该设备对接到相框基座702时,John Doe—家的照片幻灯片放映704就自动开始播放。在一个实现中,禁用了其他应用程序,所以该设备在对接在相框基座702中时只用作幻灯片放映播放器。在另一实现中,对用户隐藏其他应用程序直到采取更改该幻灯片放映播放器模式的特定动作(例如,关闭幻灯片放映)。
图14是示出基于汽车上下文来将该设备变换为音乐播放器的图1的系统的一个实现的模拟屏幕800。该设备被对接到汽车基座802中。该设备当前正用作音乐播放器804,并且已调整了诸如按钮806和歌曲808的字体大小等各种用户界面元素以顾及该视觉受损环境(例如,正在驾驶汽车)。在一个实现中,当用户的手指挨近按钮时,给予用户听觉反馈,从而使他们能够在该降低的可见性环境中更容易地与该用户界面交互。类似地,图15是示出基于汽车上下文来将该设备变换为导航系统的图1的系统的一个实现的模拟屏幕900。如同图14一样,该设备被对接到汽车基座902中。该设备当前正用作导航系统904,并且已相应地调整了各用户界面元素。在一个实现中,使用该汽车中用户先前的使用历史来确定显示音乐播放器还是导航系统。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。落入在此所述的和/或所附权利要求所述的实现的精神内的所有等效技术方案、更改和修正都期望受到保护。
例如,计算机软件领域普通技术人员会认识到在此讨论的示例中所述的客户机和/或服务器布置、用户界面屏幕内容、和/或数据布局可在一台或多台计算机上不同地组织,以包括比示例中所描绘的更少或更多的选项或特征。
权利要求
1. 一种用于基于上下文来变换设备的操作的方法,所述方法包括以下步骤确定设备的当前上下文,所述当前上下文在分析至少一个揭示上下文的属性时确定,所述属性选自由所述设备的物理位置、与所述设备连接到的网络相关的至少一个网络属性、附连到所述设备的至少一个外围设备、特定对接状态、以及对于所述设备的过去的用户行为模式组成的组(242);以及基于所述当前上下文来修改所述设备上的用户界面的至少一个软件元素(244)。
2. 如权利要求l所述的方法,其特征在于,还包括基于所述当前上下文来修改所述设备的至少一个硬件元素。
3. 如权利要求2所述的方法,其特征在于,所述至少一个硬件元素通过 改变在访问特定硬件元素时发生的操作来修改(246)。
4. 如权利要求3所述的方法,其特征在于,所述硬件元素是按钮(246)。
5. 如权利要求2所述的方法,其特征在于,所述设备的至少一个硬件元 素通过禁用所述至少一个硬件元素来修改(246)。
6. 如权利要求1所述的方法,其特征在于,所述至少一个软件元素选自 由所述用户界面上的至少一个元素的大小、所述用户界面上所包括的特定内 容、所述用户界面提升的特定的一个或多个任务、所述用户界面的视觉内容、 所述用户界面的听觉元素、以及所述用户界面的主题元素组成的组(244)。
7. 如权利要求1所述的方法,其特征在于,所述当前上下文在所述设备 最初通电时确定(292)。
8. 如权利要求1所述的方法,其特征在于,所述当前上下文在确定所述至少一个揭示上下文的属性已从先前状态改变时确定(296)。
9. 如权利要求1所述的方法,其特征在于,关于所述设备的物理位置的 揭示上下文的属性至少部分地使用全球定位系统来确定(342)。
10. 如权利要求1所述的方法,其特征在于,关于所述设备的物理位置的 揭示上下文的属性至少部分地通过分析所述至少一个网络属性来确定(344)。
11. 如权利要求l所述的方法,其特征在于,关于所述设备的物理位置的 揭示上下文的属性至少部分地通过分析当前分配给所述设备的IP地址来确定(346)。
12. 如权利要求1所述的方法,其特征在于,关于所述设备的物理位置的 揭示上下文的属性至少部分地通过分析所述设备对接在其中的基座类型来确 定(404)。
13. —种具有用于使计算机执行如权利要求1所述的步骤的计算机可执 行指令的计算机可读介质(200)。
14. 一种具有用于使计算机执行以下步骤的计算机可执行指令的计算机 可读介质,所述步骤包括确定设备的当前上下文,所述当前上下文在分析至少一个揭示上下文的属 性时确定,所述属性选自由所述设备的物理位置、附连到所述设备的至少一个 外围设备、与所述设备连接到的网络相关的至少一个网络属性、特定对接状态、 以及对于所述设备的过去的用户行为模式组成的组(206);以及将所述设备的当前上下文提供给做出请求的应用程序,由此所述做出请求 的应用程序使用所述当前上下文信息来修改所述设备的操作(212)。
15. 如权利要求14所述的计算机可读介质,其特征在于,还具有用于使 得计算机执行以下步骤的计算机可执行指令,所述步骤包括在所述设备通电时确定所述设备的当前上下文(208)。
16. 如权利要求14所述的计算机可读介质,其特征在于,还具有用于使 得计算机执行以下步骤的计算机可执行指令,所述步骤包括当所述至少一个揭示上下文的属性改变时确定所述设备的当前上下文(210)。
17. —种用于基于检测到的视觉受损的上下文来变换设备的操作的方法, 所述方法包括以下步骤确定设备的当前上下文,所述当前上下文指示用户的可能的、视觉受损的状态(312);以及提供更适用于所述设备的视觉受损的操作的修改的用户界面,所述修改的 用户界面可用于在所述用户的手靠近所述修改的用户界面上的特定元素时提供音频反馈(314)。
18. 如权利要求17所述的方法,其特征在于,所述当前上下文在分析至少一个揭示上下文的属性时确定,所述属性选自由所述设备的物理位置、附连 到所述设备的至少一个外围设备、与所述设备连接到的网络相关的至少一个网 络属性、特定对接状态、以及对于所述设备的过去的用户行为模式组成的组(242)。
19. 如权利要求17所述的方法,其特征在于,所述修改的用户界面还可 由所述用户至少部分地使用一个或多个语音命令来控制(314)。
20. —种具有用于使得计算机执行如权利要求17所述的步骤的计算机可 执行指令的计算机可读介质(200)。
全文摘要
公开了基于设备的上下文来修改该设备的操作的各种技术和方法。系统在分析至少一个揭示上下文的属性时确定设备的当前上下文。揭示上下文的属性的示例包括设备的物理位置、附连到该设备的至少一个外围设备、与该设备所附连到的网络相关的至少一个网络属性、特定对接状态、对于该设备的过去的用户行为模式、其他应用程序的状态、和/或用户的状态。然后基于该当前上下文来修改该设备的软件和/或硬件元素。
文档编号G06F17/00GK101479722SQ200780024543
公开日2009年7月8日 申请日期2007年6月7日 优先权日2006年6月28日
发明者A·M·伦德, C·S·谢里, D·V·哈伯德, D·琼斯, E·K·里马斯-里比考斯卡斯, K·D·哈迪 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1