沉浸式和桌面外壳的显示转让专利

申请号 : CN201180071199.1

文献号 : CN103649902B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B.S.勒维J.C.萨特菲尔德C.D.萨里恩J.男P.L.米纳A.P.施泰因格拉斯T.Y.王T.B.皮塔皮利H.H.奥斯曼R.J.陈

申请人 : 微软技术许可有限责任公司

摘要 :

描述了作为沉浸式应用技术的桌面。在一个或多个实施方式中,一种沉浸式环境模块被配置为提供沉浸式外壳,用户可以通过所述沉浸式外壳与计算设备的应用进行交互。该沉浸式环境模块进一步被配置为在所述沉浸式外壳内提供桌面外壳以支持用于与计算设备的应用进行交互的附加技术。该桌面外壳例如可以针对与为该沉浸式外壳中的应用所提供的相类似的访问能力进行配置。

权利要求 :

1.一种用于显示的方法,包括:

通过显示设备显示用户界面,所述用户界面的所述显示包括主要区域和次要区域,所述主要区域和所述次要区域分别呈现来自应用和计算设备的操作系统的沉浸式外壳中的桌面外壳的数据,所述沉浸式外壳的所述主要区域和所述次要区域被分隔线隔开;

响应于用户在所述次要区域中选择所述计算设备的所述操作系统的所述沉浸式外壳中的所述桌面外壳的窗口,将所述桌面外壳从所述次要区域移动到所述主要区域并且在所述用户界面的所述主要区域中显示所述桌面外壳,所述桌面外壳作为所述沉浸式外壳的一个沉浸式应用而被访问;

在所述次要区域中显示从原始位于所述用户界面的所述主要区域中的所述应用呈现的数据;

从在所述计算设备的所述操作系统的所述桌面外壳中执行的应用接收通知;以及在所述计算设备的所述操作系统的所述沉浸式外壳内显示所述通知。

2.根据权利要求1所述的方法,其中所述桌面外壳和所述沉浸式外壳在所述计算设备的所述显示设备上同时进行显示。

3.根据权利要求1所述的方法,其中所述桌面外壳被所述沉浸式外壳作为应用对待。

4.根据权利要求1所述的方法,其中所述显示使用弹出菜单而被执行。

5.根据权利要求4所述的方法,其中所述弹出菜单被配置为在预定时间量内进行显示。

6.根据权利要求1所述的方法,其中在所述接收期间所述桌面外壳在用户界面中并不当前可见。

7.根据权利要求1所述的方法,其中所述桌面外壳在所述操作系统的所述沉浸式外壳内是可访问的。

8.根据权利要求1所述的方法,其中所述桌面外壳针对至少一个所述应用采用多个窗口,并且所述沉浸式外壳支持每个应用单个窗口。

9.根据权利要求1所述的方法,其中桌面外壳包括对应于在所述桌面外壳内可执行的多个应用的多个窗口的显示。

说明书 :

沉浸式和桌面外壳的显示

背景技术

[0001] 用户对可以采用众多种配置的计算设备进行访问。例如,传统上可用于普通用户的第一计算设备被配置为台式个人计算机。用户通常使用键盘以及稍后使用鼠标与这些第一计算设备进行交互来观看监视器上的数据。
[0002] 计算机设备随着用户期望在越来越多样的环境中与设备进行交互而继续演进。一个这样的示例是移动电话,其从基本电话功能演进至运行应用的能力。另一个这样的示例是平板触摸电脑(slate computer),其也被称作平板电脑。这两个示例都被配置为由用户在交互期间所持有,并且因此开发了解决这种配置的技术。
[0003] 然而,由于计算设备的不同配置,可以采用多种不同的技术来进行交互。因此,甚至典型的用户也会面临着众多种不同的技术,甚至是利用设备的匹配功能,这会导致用户感到受挫并甚至使得用户放弃使用具有不同配置的计算设备。

发明内容

[0004] 描述了作为沉浸式(immersive)应用技术的桌面。在一个或多个实施方式中,一种沉浸式环境模块被配置为提供沉浸式外壳(shell),用户可以通过所述沉浸式外壳与计算设备的应用进行交互。该沉浸式环境模块进一步被配置为在所述沉浸式外壳内提供桌面外壳以支持用于与计算设备的应用进行交互的附加技术。该桌面外壳例如可以针对与为该沉浸式外壳中的应用所提供的相类似的访问能力进行配置。
[0005] 提供该发明内容而以简单的形式引入一系列概念,这些概念在以下具体实施方式中进一步进行描述。该发明内容并非意在标示出所请求保护主题的关键特征或必要特征,也并非意在确定所请求保护主题的范围时被用作辅助。

附图说明

[0006] 参考附图对具体实施方式进行描述。在图中,附图标记最左侧的(一个或多个)数字标示出该附图标记首次出现的附图。在说明书的不同实例中使用相同的附图标记并且附图可以指示相似或相同的事项。
[0007] 图1是可操作以实施这里所描述的沉浸式外壳技术的示例实施方式中的环境的图示。
[0008] 图2将图1的计算设备的示例实施方式中的系统图示为支持通过选择被配置为瓦片(tile)的应用表示而将应用启动到沉浸式外壳中。
[0009] 图3将沉浸式外壳的示例实施方式描绘为从社交网络应用输出数据并且将桌面外壳描绘为沉浸式应用。
[0010] 图4描绘了示例实施方式,其中示出了从次要区域选择图3的沉浸式环境中的桌面外壳以便在主要区域中进行显示的结果。
[0011] 图5描绘了示例实施方式,其中对图4的用户界面进行滚动以在沉浸式外壳中从桌面外壳导航至应用。
[0012] 图6描绘了另一个示例实施方式,其中采用技术在沉浸式外壳中的应用和桌面外壳之间进行导航。
[0013] 图7描绘了另一个示例实施方式,其中示出了图6中用于在沉浸式外壳中的应用和桌面外壳之间进行导航的技术的结果。
[0014] 图8描绘了示例实施方式,其中输出具有命令的菜单,该命令可被实施以在作为整体的沉浸式外壳中进行相对应的选择。
[0015] 图9是描绘示例实施方式中的过程的流程图,其中桌面外壳在沉浸式外壳内进行同步显示。
[0016] 图10是描绘示例实施方式中的过程的流程图,其中通过沉浸式外壳执行导航以在应用和桌面外壳之间进行导航。
[0017] 图11是描绘示例实施方式中的过程的流程图,其中显示了沉浸式外壳的开始画面,其包括表示应用的瓦片以及表示桌面外壳的瓦片。
[0018] 图12是描绘示例实施方式中的过程的流程图,其中沉浸式外壳包括主要区域、第二部分,并且被配置为在任一部分中显示并移动从桌面外壳所生成的数据。
[0019] 图13是是描绘示例实施方式中的过程的流程图,其中在沉浸式外壳内开始桌面外壳的执行。
[0020] 图14是描绘示例实施方式中的过程的流程图,其中在第二外壳中显示来自第一外壳的通知。
[0021] 图15是描绘示例实施方式中的过程的流程图,其中显示了可作为整体而应用于应用和桌面外壳的命令菜单。
[0022] 图16图示了示例系统,其包括如参考图1所描述的计算设备。
[0023] 图17图示了能够被实施为如参考图1-8和图16所描述的任意类型的计算设备以实施这里所描述的技术实施例的示例设备的各个组件。

具体实施方式

[0024] 概述
[0025] 用户甚至在典型的一天中与之进行交互的计算设备的多样性在快速增长。然而,用户经由其而与设备进行交互的常规技术经常针对这些配置而优化。因此,不同计算设备配置可能采用不同技术,甚至为了访问匹配功能。此外,新配置的研发可能由于用户能够与设备进行交互的新方式而使得用户产生混淆,这甚至可能导致用户放弃与不熟悉的设备配置进行交互。
[0026] 描述了一种作为沉浸式应用的桌面。在一个或多个实施方式中,操作系统可以支持沉浸式外壳,用户可以经由该沉浸式外壳与应用进行交互并且因此与计算设备中实施该外壳的数据进行交互。例如,该沉浸式外壳可以被配置为占用显示设备中显著数量的显示区域,并且甚至停止“chrome”的使用(例如,诸如菜单栏之类的控件的表示),支持可以良好地适用于平板触摸电脑配置以及诸如传统台式计算机的其它配置的滚动和导航技术。
[0027] 操作系统还可以支持桌面外壳,其配置用于通过使用包含文件夹、图标等的窗口的层级文件系统进行导航。在该示例中,该桌面外壳可在沉浸式外壳内进行访问,这与如何在该沉浸式外壳内访问其它应用是类似的。因此,可以使得该桌面外壳的功能可轻易地经由沉浸式外壳而被访问,以向用户提供各种不同的技术而通过计算设备的应用和文件进行导航。例如,用户可以使用处于平板触摸电脑配置的计算设备与沉浸式外壳进行交互来访问应用,并且还可以以用户容易理解的传统方式访问桌面来获得对其它功能的访问。另外,这些技术可以被用来对计算设备的资源进行有效管理。例如,这些技术可以被用来保存沉浸式外壳中资源(例如,功率、处理和存储器),当通过沉浸式外壳访问桌面外壳时还提供对附加资源的访问。桌面作为沉浸式应用的进一步讨论可以结合以下部分而找到。
[0028] 在以下讨论中,首先描述可以采用这里所描述的技术的示例环境。随后描述可以在该示例环境以及其它环境中执行的示例过程。因此,示例过程的执行并不局限于该示例环境并且示例环境也并不局限于示例过程的执行。
[0029] 示例环境
[0030] 图1是示例实施方式中可操作以采用这里所描述的技术的环境100的图示。所图示的环境100包括计算设备102,其具有处理系统104以及被图示为存储器106的计算机可读存储介质,虽然如以下进一步所描述的也可以预想到其它确认形式。
[0031] 计算设备102可以以各种方式进行配置。例如,计算设备可以被配置为能够通过网络进行通信的计算机,诸如台式计算机、移动台、娱乐电器、通信耦合至显示设备的机顶盒、无线电话、游戏机,等等。因此,计算设备102的范围可以从具有实质性存储器和处理器资源的全资源设备(例如,个人计算机、游戏机)到具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持游戏机)。此外,虽然示出了单个计算设备102,但是计算设备102可以表示多个不同设备,诸如被公司用来执行操作的多个服务器,诸如通过web服务、远程控制和机顶盒的组合、图像捕捉设备以及被配置为捕捉姿势的游戏机等。
[0032] 计算设备102进一步被图示为包括操作系统108。操作系统108被配置为将计算设备102的基本功能抽象为可在计算设备102上执行的应用110。例如,操作系统108可以对计算设备102的处理系统104、存储器106、网络和/或显示设备112的功能进行抽象以使得可以在无需了解该基本功能“如何”实施的情况下编写应用110。例如,应用110可以向操作系统108提供数据以便由显示设备112进行呈现和显示而无需理解该呈现将如何执行。操作系统
108还可以表示各种其它功能,诸如对可由计算设备102的用户导航的文件系统和用户界面进行管理。
[0033] 操作系统108还被图示为包括沉浸式环境模块114,其代表了计算设备102提供沉浸式外壳116的功能,用户可以经由该沉浸式外壳116与计算设备102中的应用110和其它数据进行交互,这种交互既包括在设备本地也包括经由网络进行远程交互。该沉浸式外壳116被配置为接受输入以与计算设备102的操作系统108和应用110进行交互,以便访问计算设备102的功能,诸如以上所描述的抽象功能。如以下进一步描述的,沉浸式外壳116还可以被配置为支持桌面外壳118。
[0034] 沉浸式外壳116可以被配置为支持与具有很少至无窗口框架的应用110进行交互。此外,沉浸式外壳116可以支持与应用110进行交互,而并不要求用户管理相对应的窗口框架的布局、窗口相对于其它窗口的优先性(primacy)(例如,窗口是否活动,处于后面的其它窗口之前,各窗口的顺序,等等)。虽然被图示为操作系统108的一部分,但是沉浸式环境模块114可以以各种其它方式来实施,诸如独立模块,经由网络远程实施,等等。
[0035] 在一个或多个实施方式中,操作系统108的沉浸式外壳116被配置为使得它是不可关闭的,或者是不能独立于操作系统108而卸载的。此外,沉浸式外壳116可以被配置为占用显示设备112的可用显示区域的显著部分。用户可以以各种方式与沉浸式外壳116进行交互,诸如经由光标控制设备,使用一个或多个手势,使用语音识别,使用一个或多个深度感应相机进行捕捉,等等。
[0036] 因此,沉浸式环境模块114可以对沉浸式外壳116进行管理,其中可以呈现应用110的内容,并且可以在不要求用户管理用来显示应用110的内容的窗口的大小、位置、优先性等的情况下执行呈现。
[0037] 例如,如显示设备112所显示的用户界面上所示出的,用户界面被示为其被配置为以“咬合(snapped)”配置显示来自两个应用的数据122、124。在该示例中,使得对应于数据的两个应用能够主动被计算设备102所执行,而针对当前并不显示数据的其它应用110的执行则被挂起。分隔线(gutter)126被部署在数据122、124的显示之间,其可以进行移动以改变各应用分别在显示设备112上所占据的显示区域的数量。
[0038] 沉浸式外壳116可以支持众多种功能以向用户提供访问应用110的沉浸式体验。在以下讨论中,关于支持这些技术以使得能够与桌面外壳118进行交互来对该功能进行讨论。然而,应当轻易显而易见的是,这些技术可以被用来管理与应用110自身的交互而并不背离其精神和范围。
[0039] 如所图示的,沉浸式外壳104包括桌面外壳118。桌面外壳118表示在该示例中要与应用110和其它数据进行交互时由操作系统108所输出的用户界面的另一种配置。例如,桌面外壳118可以被配置为通过具有框的窗口来呈现应用和相对应的数据。这些框可以提供用户可以藉此与应用进行交互的控制以及使得用户能够移动窗口及设置其大小的控制。桌面外壳118还可以支持用于通过使用文件夹而导航层级文件结构并且通过使用图标来表示数据和应用的技术。在一个或多个实施方式中,桌面外壳118还可以被用来访问应用110,该应用110特别针对经由桌面外壳118进行交互而配置而并非针对经由沉浸式外壳116进行访问而配置,尽管还预见到其它实施方式。
[0040] 在这里所描述的一个或多个技术中,沉浸式外壳104提供对桌面外壳118的访问,就如同桌面外壳118是在计算设备102上执行的另一个应用。以这种方式,用户可以利用沉浸式外壳116的功能,而且仍更为传统的功能而访问桌面外壳118。桌面作为沉浸式外壳内的沉浸式应用的实施方式的示例可以结合以下附图而找到。
[0041] 通常,这里所描述的任意功能都能够使用软件、固件、硬件(例如,固定逻辑电路)或者这些实施方式的组合来实施。如这里所使用的术语“模块”、“功能”和“引擎”通常表示软件、固件、硬件或者其组合。在软件实施方式的情况下,模块、功能或引擎表示在处理器(例如,一个或多个CPU)上执行时实施指定任务的程序代码。该程序代码可以存储在一个或多个计算机可读存储器设备中。以下所描述的技术的特征是独立于平台的,这意味着该技术可以在具有各种处理器的各种商业计算平台上实施。
[0042] 例如,计算设备102还可以包括使得计算设备102的硬件执行操作的实体(例如,软件),例如处理器、功能模块等。例如,计算设备102可以包括计算机可读介质,其可以被配置为保存使得计算设备(更具体地,计算设备102的硬件)执行操作的指令。因此,该指令用来配置硬件以执行操作,并且以这种方式导致硬件的变换而执行功能。指令可以由计算机可读介质通过各种不同配置提供至计算设备102。
[0043] 一种这样的计算机可读介质的配置是信号承载介质,并且因此其被配置为诸如经由网络而将指令(例如,作为载波)传送至计算机设备的硬件。计算机可读介质还可以被配置为计算机可读存储介质,因此不是信号承载介质。计算机可读存储介质的示例包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁性、光学和其它技术来存储指令和其它数据的其它存储器设备。
[0044] 图2将图1的计算设备102的示例实施方式中的系统200图示为支持通过选择被配置为瓦片的应用的表示而将应用投入到沉浸式环境之中。系统200被图示为包括第一和第二阶段202、204。在第一阶段202,计算设备102被图示为输出沉浸式外壳116的开始画面。该开始画面包括表示可进行选择以便由计算设备102执行的应用的多个瓦片。如之前所描述的,还预见到各种其它表示形式而并不背离其精神和范围。
[0045] 瓦片的选择可以以各种方式来完成。例如,用户可以利用诸如鼠标或轨迹板之类的光标控制设备来导航光标以便在所要选择的瓦片“上方”进行显示并且“点击”该瓦片以指示选择。如在第一阶段202所图示的,例如光标被示为处于社交网络应用的瓦片上方。在另一个示例中,计算设备102可以支持手势,诸如通过敲击所期望的表示来启动相对应的应用。
[0046] 响应于该选择,相对应的应用110可以被启动以便由计算设备102执行。该示例在图2中的第二阶段204进行图示,其中社交网络应用被启动到沉浸式外壳116之中。社交网络应用被图示为提供用户界面206,其几乎占据了显示设备112的整个显示区域。此外,如所图示的用户界面206并不包括连同应用数据一起显示的窗口或“chrome”。
[0047] 可以重复该技术以启动多个应用110以便由计算设备102所执行。例如,诸如通过选择如所图示并且结合图8进一步描述的命令菜单804(例如,“charms”)中的“开始”选择,用户可以返回第一阶段202中所图示的开始画面,并且选择另外的应用来执行。响应于每个选择,可以输出附加的用户界面,其实质上占据显示设备的可用显示区域。
[0048] 用户随后可以以各种方式通过已经被选择执行的应用进行导航。例如,用户可以与显示设备的左侧边缘208进行交互以使得社交网络应用的显示被对应于用户启动的另一应用的显示所替代。
[0049] 如前所述,该交互可以以各种方式来执行,诸如通过将光标操控至左侧边缘208附近,涉及左侧边缘208的“刷过”手势,等等。该替换可以通过在应用之间自动循环而非模态地执行,通过具有所选择应用110的表示的菜单的输出模态地执行,等等。虽然针对导航应用110而对与左侧边缘208的交互进行了描述,但是应当轻易显而易见的是,可以利用不同边缘以及不同导航技术而并不背离其精神和范围。
[0050] 在沉浸式外壳116中还可以支持其它功能。例如,与顶部或底部边缘210、212的交互可以导致针对沉浸式外壳116中当前显示的应用110所定制的菜单输出(例如,通过手势和/或光标控制设备)。换句话说,该菜单可以包括由应用110所指定以便包括在菜单中的命令,例如可以涉及与应用的交互以及其它功能的命令。
[0051] 沉浸式外壳116还可以支持应用的用户界面的“咬合”以支持来自多个应用110的数据的显示。例如,如之前结合图1所示出并描述的,来自天气和社交网络应用的数据可以同时显示在显示设备112上。该数据可以被分隔线126所隔开,该分隔线126被配置为调节显示设备被相应应用所占据的显示区域的量。沉浸式环境模块114还可以支持各种其它沉浸式外壳116的功能,其另外的示例可以结合以下附图找到。
[0052] 如之前所描述的,沉浸式环境模块114还可以支持对桌面外壳118的访问,就如同桌面外壳118是计算设备102的应用那样。该示例被图示为表示桌面外壳118的瓦片214。在该实例中,瓦片214被配置为显示作为桌面外壳118中的部分状态保存的一个或多个窗口。换句话说,瓦片214表示会在选择瓦片214时输出的至少一部分用户界面。
[0053] 此外,瓦片214可以被配置为支持对桌面自身的视图以及该表示中所包括的特定窗口的选择。例如,诸如通过光标控制设备、手势等,用户可以选择瓦片214内处于瓦片中的窗口之外的区域以导致桌面被输出。此外,用户可以选择瓦片214内的特定窗口以直接导航至桌面外壳118中的该窗口,这同样可以使用光标控制设备、手势等来执行。因此,桌面外壳118可以以模仿开始画面中的其它应用的表示的方式进行表示。另外,瓦片214可以被用来直接导航至可在桌面外壳118内访问的应用。虽然没有示出,但是桌面外壳118的启动可以包括输出与应用110的启动中所涉及的“飞溅(splash)”画面相类似的飞溅画面。
[0054] 还可以包括其它瓦片以直接导航至应用110和/或要结合应用110进行处理的特定数据。其示例由对应于要由电子数据表应用所输出的特定电子数据表的瓦片216所图示。通过选择该瓦片216,可以在桌面外壳118内启动电子数据表应用以包括诸如办公费用电子数据表的特定数据。还预见到其它示例,诸如导航至特定文件以便由文字处理应用、呈现应用、照片编辑应用等进行处理。
[0055] 图3将沉浸式外壳116的示例实施方式300描绘为从社交网络应用输出数据并且提供对作为沉浸式应用的桌面外壳118的访问。在该示例中,由显示设备112所显示的用户界面包括主要分区302和次要分区304,它们被图示为分别呈现来自社交网络应用302和桌面外壳118的数据。
[0056] 主要和次要分区302、304被图示为被分隔线306所隔开。分隔线306可以支持交互以使得用户可以移动分隔线306以改变分别被主要和次要分区302、304所占据的显示区域的量。在一个或多个实施例中,主要分区302被配置为比次要分区占据更大的显示设备112的区域,并且因此主要分区可以在显示设备112的任一侧实施。
[0057] 次要分区304可以被认为“对接(dock)”或“咬合”来自相对应应用110的数据显示,还使得该显示可用于观看。如结合图5进一步描述的,主要和次要分区302、304的使用还可以被用来支持导航。
[0058] 在图3所图示的实施方式300中,用户手部308的手指被描绘为选择与次要分区304中的桌面外壳118的表示中的电子邮件应用相对应的窗口。这可以被用来以编程的方式将桌面外壳118从次要分区304“解开”以便置于主要分区302中。
[0059] 与之前针对桌面外壳118所描述的瓦片214相同,次要分区304也可以支持一系列导航技术。例如,诸如通过光标控制设备、手势等,用户可以选择处于次要分区304内但是处于该分区中的窗口之外的区域以导致桌面的输出。此外,用户可以选择次要分区304内的特定窗口以直接导航至桌面外壳118中的该窗口,诸如使得该窗口成为显示在被桌面窗口118显示在主要分区302中的其它窗口“顶端”的“主要”窗口。因此,次要分区304可以被用来直接导航至可在桌面分区118内访问的应用。
[0060] 如图3所示,例如用户手部308的手指被图示为选择沉浸式外壳116的次要分区304中的窗口。响应于该选择,沉浸式环境模块114可以使得桌面外壳118得以被显示在用户界面的主要分区302之中。
[0061] 此外,沉浸式环境模块114可以将次要分区304中所选择的窗口显示为准备用于用户交互。例如,窗口可以被选择并且被给予焦点,并且因此由计算设备102所接收的输入被指向对应于所选择窗口的应用110。关于以下附图图示了选择次要分区304中的电子邮件窗口的结果的示例。
[0062] 图4描绘了示例实施方式400,其中示出了从次要分区304选择图3的沉浸式环境中的桌面外壳118以便在主要分区302中进行显示的结果。在所图示的示例中,桌面外壳118被显示在显示设备112上的用户界面的主要分区之中。此外,从原本位于图3的用户界面的主要分区302的应用所呈现的数据被图示为移动至次要分区304。因此,在该示例中,相应部分中的内容响应于图3的选择而进行了“切换”。
[0063] 示例实施方式400还被图示为输出通知402。通知402可以包括众多种信息。例如,当桌面外壳118被显示在用户界面中时,该通知可以包括与桌面外壳118内的应用执行相关的信息。其示例在图4中被图示为指示接收到电子邮件消息,其描述了该消息的发送方(例如,“Sara”)以及该消息的主题行(例如,“Ellie’s B-day”)。因此,该沉浸式环境模块可以将桌面外壳118中与该外壳内所执行的应用相关的通知处于表面。
[0064] 还预见到其它的通知。例如,通知402可以描述当前并未在沉浸式外壳116中显示的其它应用的执行。例如,可以显示与“驻留”在次要分区304中、被“屏外”执行的应用相关的通知,等等。在另一个示例中,即使桌面外壳118当前并未在显示设备112上的沉浸式外壳116内进行显示,通知402也可以描述桌面外壳118内的应用的执行。还预见到各种其它示例。
[0065] 图5描绘了示例实施方式500,其中图4的用户界面被滚动以在沉浸式外壳中从桌面外壳118导航至应用。在该示例中,用户手部502的手指被图示为接近于显示设备112而放在主要分区302上方。用户手部502的手指随后被图示为(通过使用箭头)向显示设备112的左侧边缘208滑动。
[0066] 在一种实施方式中,该手势可以被沉浸式环境模块114识别为指示来自桌面外壳118的数据的显示要被置于次要分区304中。将来自桌面外壳118的数据的显示置于次要分区304中因此可以替换来自之前在该部分中所显示的应用的数据,例如,来自如所图示的社交网络应用的数据。可以继续该手势来导航已经由用户选择执行的应用,该选择例如图2中对瓦片的选择。
[0067] 因此,可以对用户界面的主要和次要分区302、304进行权衡以导航应用110(包括桌面外壳118)以定位所期望的应用110或感兴趣的桌面外壳118。虽然描述了手势,但是该操作被各种输入所发起,诸如从主要分区302朝向次要分区304的“点击和拖拽”,描述从主要分区302的通过分隔线306的移动的输入,等等。同样,虽然描述了朝向显示设备102的左侧边缘208的移动,但是应当轻易显而易见的是,可以使用众多种显示设备的边缘、手势、命令、光标移动和其它输入来发起以上所描述的特征。
[0068] 图6描绘了另一个示例实施方式600,其中采用技术在沉浸式外壳中的应用和桌面外壳118之间进行导航。在该示例中,用户手部602的手指被图示为在用户界面的主要分区302中放在显示设备112的顶部边缘附近。沉浸式环境模块114可以在移动已经跨过阈值时识别出手势,例如显示设备112的显示区域向下大约一半。
[0069] 响应于识别出该手势,沉浸式环境模块114可以生成来自桌面外壳118的数据的减小的显示604。另外,沉浸式环境模块114可以使得该减小的显示遵循用户手部602的手指的后续移动。因此,这可以向用户指示减小的显示中的来自桌面外壳118的数据可以按照需要被重新定位为用户界面中的次要分区304。
[0070] 例如,如使用箭头所图示的,该手势的初始部分可以被用来导致减小的显示604,其通过使用相对长的向下箭头来图示。后续移动然后可以指示来自桌面外壳118的数据要“咬合”显示设备112的哪个边缘,其在该实例中被图示为指向显示设备112的右侧边缘606的箭头。当处于预定距离之内时,沉浸式环境模块114可以使用动画而使得来自桌面外壳118的数据的显示朝向相对应的边缘“咬合”,其结果在随后附图中示出。
[0071] 图7描绘了另一种示例实施方式700,其中图6中的技术的结果被示为在沉浸式外壳116中的应用110和桌面外壳118之间进行导航。在该示例中,来自桌面外壳118的数据的显示已经被“咬合”到显示设备112的右侧边缘606。这已经使得用户界面被重新配置以使得来自社交网络应用的数据被显示在现在位于显示设备112左侧的用户界面的主要分区302之中。来自桌面外壳118的数据的显示现在成为了用户界面的次要分区304的一部分。因此,该手势可以被用来对来自相应应用110的数据的显示以及针对桌面外壳118的显示进行导航和/或重新定位。同样,应当轻易显而易见的是,可以使用众多种显示设备的边缘、手势、命令、光标移动和其它输入来发起以上所描述的特征。
[0072] 图8描绘了示例实施方式800,其中输出具有可以作为整体而针对沉浸式外壳116中的相对应选择所实施的命令的菜单。在该示例中,用户手部802的手指被图示为放在显示设备112的右侧边缘606附近并且远离那里进行移动。该输入可以被检测(例如,使用触摸屏功能、运动传感器、相机等)为输出“charm”菜单804的手势。
[0073] 该示例中的菜单804包括可以从沉浸式外壳116中的应用110和/或桌面外壳118所发起的命令的表示。这样的命令的示例被图示为包括“搜索”、“共享”、“开始”、“连接”和“设置”。例如,开始表示可以被选择以导航回到图2的开始画面。因此,用户可以从图2中的开始画面选择瓦片,使得来自该瓦片所表示的应用110的数据得以在用户界面中输出,使用手势而使得菜单804的输出选择开始命令,这可能会导致再次输出图2的开始画面从而用户可以选择另一个应用以便在沉浸式外壳116中进行显示。
[0074] 在一个或多个实施方式中,所表示的命令被应用于在相对应部分(例如,主要分区302)中显示任何内容。因此,在所图示的示例中,对“设置”表示的选择可能会导致与桌面外壳118的设置相关的菜单输出。还预见到各种其它示例,诸如通过选择“共享”来传输桌面外壳118的截屏,选择“连接”进行打印、播放或发送桌面外壳118,选择“搜索”以发起搜索功能(例如,搜索桌面外壳118和/或互联网),等等。虽然在该示例中描述了涉及显示设备的右侧边缘606的手势,但是应当轻易显而易见的是,可以使用显示设备的各种边缘、手势、命令、光标移动和其它输入来发起以上所描述的特征。
[0075] 在一个或多个实施方式中,桌面外壳“了解”其在沉浸式外壳116中的大小并且相应地作出反应,就如同沉浸式应用了解其大小和反应。例如,当如以下进一步描述的桌面外壳118在次要分区中显示时,其可以改变其布局和功能以适应更小的大小,这也能够由在沉浸式外壳116内执行的应用来执行。同样,当屏幕上有两个应用并且桌面外壳118处于沉浸式外壳116的主要分区中时,该布局也可以被桌面外壳116所改变。
[0076] 作为另一个示例,选择桌面外壳118中的窗口上的最大化按钮并不会导致该窗口试图填满显示设备的整个屏幕;相反,桌面外壳118可以“理解”其所要在其中工作的空间较小,并且因此最大化的应用“填满”在主要分区内分配给桌面外壳118的空间。在“咬合”功能的另外的示例中,应用或桌面外壳的数据被拖拽到屏幕的边缘以针对主要或次要分区重新设置其大小。如果桌面外壳118当前被显示以来自沉浸式外壳116中的应用的数据,则当桌面外壳118被拖拽到桌面外壳118和应用之间的边界时,桌面外壳118自动重新设置大小(即使光标并未处于屏幕边缘),这是因为桌面外壳118了解光标已经被拖拽到了桌面外壳118的边缘。
[0077] 在一个或多个实施方式中,沉浸式外壳116可以被配置为使得在沉浸式外壳116内执行的应用或桌面外壳118并不互相干扰。例如,如果沉浸式外壳116中有两个应用处于屏幕上(但是在桌面外壳118之外),则应用110或桌面外壳118并不在彼此的顶端创建UI并且因此针对其自己在显示设备上的空间被“装入沙箱”。因此,桌面外壳118也像沉浸式外壳116中的其它应用那样被装入沙箱。还预见到各种其它示例,其进一步讨论可以结合以下过程找到。
[0078] 示例过程
[0079] 以下讨论描述了可以利用之前所描述的系统和设备实施的沉浸式应用技术。每个过程的各方面可以以硬件、固件或软件或者其组合来实施。该过程被示为指定由一个或多个设备所执行的操作的一组方框,而并非必然被局限于由相应方框所示出的用于执行操作的顺序。在以下讨论的各部分中,将分别参考图1的环境100、图2的系统200以及图3-8的示例实施例。
[0080] 图9描绘了其中桌面外壳在沉浸式外壳内同时显示的示例实施方式中的过程900。沉浸式外壳被显示为被配置为支持使用一种或多种技术对应用进行访问的操作系统(方框
902)。桌面外壳在沉浸式外壳内同时显示,该桌面外壳被显示并且还可使用一种或多种技术进行访问以支持对应用的访问(方框904)。
[0081] 例如,这些技术可以被配置为将桌面外壳118作为沉浸式外壳116内的应用对待。这些技术可以涉及如何在沉浸式外壳116内连同应用110一起显示桌面外壳118,如何在沉浸式外壳116内访问桌面外壳118(例如,实体之间的导航),等等。例如,如图3和4所示,来自桌面外壳118的数据的显示可以连同从应用所接收的数据的显示一起在沉浸式外壳116中示出。
[0082] 如之前所讨论的,桌面外壳118可以提供各种不同的功能。桌面外壳118的显示例如可以包括对应于可在如所示出的桌面外壳内执行的多个应用的多个窗口的显示。桌面外壳118还可以包括被配置为可在桌面外壳内执行的应用的图标的多个表示以及用于支持计算设备102的层级文件结构的文件夹的至少一个表示。
[0083] 另外,在桌面外壳118内所提供的功能可以与沉浸式外壳116有所不同,以使得用户可以被展现以各种与计算设备102进行交互的技术。例如,桌面外壳可以采用一个或多个窗口,而沉浸式外壳在没有桌面外壳的情况下则并不这样配置。在另一个实例中,桌面外壳被配置为采用chrome和任务栏,而桌面外壳以外的沉浸式外壳则并不如此配置。在另外的实例中,桌面外壳被配置为支持优先级的指示以便使用例如分层窗口的深度显示在应用之间进行交互。以这种方式,来自一个应用的数据看上去被显示在来自另一个应用的至少一部分数据的上方,而桌面外壳以外的沉浸式外壳则并不如此配置。
[0084] 桌面外壳还可以被用来通过改变窗口的显示特性而在桌面外壳中显示通知,该通知被作为与发出该通知的应用相对应的窗口的一部分显示(方框906)。例如,如图3所示,可以显示对应于电子邮件应用的窗口。为了输出通知,诸如为了指示已经接收到新的消息,窗口自身的显示特性可以被改变,诸如进行“闪烁”。在该示例中,桌面外壳118被装入用户界面的边缘但仍然提供通知。因此,如果窗口在桌面外壳118被对接的同时变得“急迫(needy)”,则该急迫状态可以使用诸如任务栏所采用的那些显示特性的变化而在所对接的桌面外壳中进行指示。在一个或多个实施方式中,如果桌面外壳118在窗口变得急迫时脱离屏幕,则桌面外壳118可以被自动滚动至视图之中以通知用户。虽然还预见到其它实施方式,但是在该示例中,针对显示特性的变化涉及窗口的框而并不涉及窗口中的内容。
[0085] 图10描绘了其中通过沉浸式外壳执行导航以在应用和桌面外壳之间进行导航的示例实施方式中的过程1000。输入被识别为指定要通过沉浸式外壳执行的导航至少部分通过计算设备所进行的操作系统的执行来进行输出,该沉浸式外壳被配置为提供匹配技术来访问应用和桌面外壳(方框1002)。可以识别各种不同的输入,诸如手势、从光标控制设备所接收的输入,等等。一种这样的输入可以涉及如图3和4中所描述的在主要和次要分区之间进行“切换”。另一种这样的输入可以涉及结合图6和7所描述的重新定位。
[0086] 响应于输入的识别,可以对沉浸式外壳的显示进行导航,其包括应用的显示以及桌面外壳的显示(方框1004)。沉浸式外壳116中的显示例如可以水平滚动以在应用110和桌面外壳118之间进行导航,可以涉及如之前所描述的“顶部边缘”手势,使用“咬合”技术等。
[0087] 图11描绘了其中显示包括表示应用的瓦片和表示桌面外壳的瓦片的沉浸式外壳的开始画面的示例实施方式的过程1100。开始画面被显示为包括表示应用并且可被选择以启动执行该应用的第一瓦片以及表示桌面外壳并且可被选择以开始执行桌面外壳的第二瓦片的沉浸式外壳(方框1102)。如图2所示,例如,沉浸式外壳的开始画面可以包括表示应用的瓦片。选择该瓦片可能会导致相对应的应用得以被启动。如之前所描述的,沉浸式环境模块114也可以将桌面外壳118作为应用对待并且因此输出表示桌面外壳118的瓦片214。如所示出的,瓦片214可以包括桌面外壳118的“视图”,就如同其在被启动的情况下所看上去的那样,诸如示出要在桌面外壳118内执行的应用的窗口。
[0088] 响应于接收到指示选择第二瓦片的输入,在沉浸式外壳内启动桌面外壳的执行(方框1104)。桌面外壳118例如可以在如图4所示的用户界面的主要分区302内启动并显示,可以像图2的第二阶段204中的应用那样大约占据显示设备的接近整个显示区域。
[0089] 图12描绘了其中沉浸式外壳包括主要分区、次要分区并且被配置为在任一部分中显示和移动从桌面外壳所生成的数据的示例实施方式中的过程1200。沉浸式外壳被显示为包括主要分区和次要分区的同时显示,该主要分区包括通过执行应用所获得的数据,而该次要分区则包括描述桌面外壳的数据(方框1202)。如图3所示,例如,来自社交网络应用的数据被显示在主要分区302中,而来自桌面外壳118的数据则被显示在次要分区304中。
[0090] 一个输入为指示描述桌面外壳的数据要位于主要分区之中(方框1204)。例如,手势可以被识别为将桌面外壳拖拽至沉浸式外壳116的主要分区302。在另一个实例中,可以使用鼠标接收“点击并拖拽”命令。还预见到各种其它实例。
[0091] 响应于该识别,显示对沉浸式外壳的主要分区中的桌面外壳进行描述的数据(方框1206)。此外,之前在主要分区中进行描述的数据可以被切换至次要分区,可以被滚动至屏幕之外以在沉浸式外壳116中支持导航应用和桌面外壳,等等。
[0092] 图13描绘了其中在沉浸式外壳内启动桌面外壳的执行的示例实施方式中的过程1300。接收通过与操作系统的主要外壳进行交互而提供的用于指示启动操作系统的桌面外壳的输入(方框1302)。例如,该输入可以涉及图2的开始画面中的选择,图3的第二部分304的选择,经由手势和/或光标控制设备水平地滚动应用110和桌面外壳118的显示,等等。
[0093] 响应于接收到该输入,启动桌面外壳的执行(方框1304)并且桌面外壳的执行数据被显示在操作系统的主要外壳之内(方框1306)。对于图2的瓦片示例而言,可以在选择瓦片214时启动执行并且因此桌面外壳118的执行可以事先被挂起,这可以被用来节省计算设备
102的资源(例如,电池、处理等)。同样,对于滚动示例而言,应用110和桌面外壳118的执行可以在那些实体脱离屏幕时被挂起。还预见到另一个实施例,其中应用110而非桌面外壳
118的执行在脱离屏幕时被挂起。该数据随后可以在沉浸式外壳116的主要分区302内显示以便进行用户交互,诸如允许用户重新定位窗口并且与桌面外壳118内执行的应用110进行交互。
[0094] 图14描绘了其中在第二外壳中显示来自第一外壳的通知的示例实施方式中的过程1400。从计算设备的操作系统的第一外壳中执行的应用接收通知(方框1402)。该通知随后在计算设备的操作系统的第二外壳内进行显示(方框1404)。
[0095] 应用例如可以在操作系统108的桌面外壳118内执行。该通知可以包括各种不同数据,诸如通常在计算设备中的“吐司(toast)”通知、弹出窗口中找到的数据,等等。在该实例中,应用可以在“脱离屏幕”的桌面外壳118内执行,可以在桌面外壳118“咬合”和“对接”沉浸式外壳116的次要分区时执行,等等。
[0096] 来自应用的数据因此可以以各种方式在沉浸式外壳116中进行显示。例如,通知可以被显示为“吐司”(例如,在预定时间量内出现的弹出窗口),涉及音频输出,等等。以这种方式,通知可以被用来使得用户始终了解在操作系统的另一个外壳中“发生了什么”。
[0097] 图15描绘了其中显示可作为整体应用于应用和桌面外壳的命令菜单的示例实施方式的过程1500。显示沉浸式外壳,其被配置为支持对沉浸式外壳内的应用和桌面外壳同时进行访问,该桌面外壳出于显示和访问的目的而被作为沉浸式外壳内的一个应用对待(方框1502)。菜单由沉浸式外壳进行显示,其包括可作为整体在相对应的所述桌面外壳或应用上执行的多个命令(1504)。
[0098] 如之前关于图8所描述的,菜单804可以包括可从沉浸式外壳116中的应用110和/或桌面外壳118所发起的命令的表示。这样的命令的示例被图示为包括“搜索”、“共享”、“开始”、“连接”和“设置”。
[0099] 所表示的命令可以被应用于相对应部分中所显示的任何内容,该相对应部分在图8所图示的示例中为主要分区302。因此,选择“设置”表示可以导致与桌面外壳118的设置相关的菜单输出。还预见到各种其它示例,诸如通过选择“共享”来传输桌面外壳118的截屏,选择“连接”进行打印、播放或发送桌面外壳118,选择“搜索”以发起搜索功能(例如,搜索桌面外壳118和/或互联网),等等。还预见到各种其它示例而并不背离其精神和范围。
[0100] 示例系统和设备
[0101] 图16图示了包括如参考图1所描述的计算设备102的示例系统1600。示例系统1600支持在个人计算机(PC)、电视设备和/或移动设备上运行应用时的无缝用户体验的普适环境。当在采用应用、玩视频游戏、观看视频等的同时从一个设备变换为下一个设备时,为了共同的用户体验,服务和应用在所有三种环境中实质上类似地运行。
[0102] 在示例系统1600中,多个设备通过中央计算设备进行互连。该中央计算设备可以位于多个设备本地或者可以位于距该多个设备远程。在一个实施例中,中央计算设备可以是通过网络、互联网或其它数据通信链路连接至多个设备的一个或多个服务器计算机的云。在一个实施例中,该互连架构使得功能能够跨多个设备提供以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台而使得能够提供对设备的体验,该体验针对设备所定制但是也共用于所有设备。在一个实施例中,创建目标设备的类别并且针对设备的一般类别定制体验。设备的类别可以通过物理特征、使用类型或设备的其它常见特性来定义。
[0103] 在各个实施方式中,计算设备102可以采用各种不同的配置,诸如针对计算机1602、移动1604和电视1606用途的配置。这些配置中的每一种包括可以具有总体上不同构造和能力的设备,并且因此计算设备102可以根据一个或多个不同的设备类别进行配置。例如,计算设备102可以被实施为计算机1602的类别的设备,其包括个人计算机、台式计算机、多屏幕计算机、膝上计算机、上网本等。
[0104] 计算设备102还可以被实施为移动1602类别的设备,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板电脑、多屏幕计算机等。计算设备102还可以被实施为电视1606类别的设备,其包括在非正式观看环境中具有或连接至一般更大屏幕的设备。这些设备包括电视、机顶盒、游戏机等。这里所描述的技术可以被计算设备102的这些各种配置所支持且并不局限于这里所描述的技术的具体示例。因此,计算设备102被图示为包括可以实施这里所描述的技术的沉浸式环境模块114。
[0105] 云1608包括和/或表示用于内容服务1612的平台1610。平台1610对云1608的硬件(例如,服务器)和软件资源的基本功能进行抽象。内容服务1612可以包括能够在距计算设备102远程的服务器上执行计算机处理的同时所采用的应用和/或数据。内容服务1612可以被作为互联网上的服务提供和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供。
[0106] 平台1610可以对资源和功能进行抽象以将计算设备102与其它计算设备相连接。平台1610还可以用来对资源的规模进行抽象以针对经由平台1610所实施的内容服务1612所面临的需求提供相对应的规模水平。因此,在互连设备的实施例中,这里所描述的功能的实施可以遍布系统1600进行分布。例如,功能可以部分在计算设备102上实施,以及经由对云1608的功能进行抽象的平台1610来实施。换句话说,平台1610可以被用来实施沉浸式环境模块114的所有或部分功能,例如该功能可以在平台1610和计算设备102之间进行分布。
[0107] 图17图示了能够被实施为如参考图1、2和16所描述的任意类型的计算设备以实施这里所描述的技术的实施例的示例设备1700的各个组件。设备1700包括通信设备1702,其支持设备数据1704(例如,所接收的数据、正被接收的数据、调度进行广播的数据、数据的数据分组等)的有线和/或无线通信。设备数据1704或其它设备内容可以包括设备的配置设定、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备1700上的媒体内容可以包括任意类型的音频、视频和/或图像数据。设备1700包括能够经由其接收任意类型的数据、媒体内容和/或输入的一个或多个数据输入1706,该输入诸如用户可选择输入、消息、音乐、电视媒体内容、录制视频内容,以及从任意内容和/或数据源所接收的任意其它类型的音频、视频和/或图像数据。
[0108] 设备1700还包括通信接口1708,其能够被实施为串行和/或并行接口、无线接口、任意类型的网络接口、调制解调器中的任意一个或多个,以及被实施为任意类型的通信接口。通信接口1708在设备1700和通信网络之间提供其它电子、计算和通信设备能够藉此与设备1700进行通信的连接和/或通信链路。
[0109] 设备1700包括一个或多个处理器(例如,任意的微处理器、控制器等),其对各种计算机可执行指令进行处理以控制设备1700的操作并且实施这里所描述的技术的实施例。可替换地或除此之外,设备1700可以利用结合以1712所笼统标识的处理和控制电路一起实施的硬件、固件或固定逻辑电路中的任意一个或其组合来实施。虽然并未示出,但是设备1700可以包括耦合设备内的各个组件的系统总线或数据传输系统。系统总线可以包括诸如存储器总线或存储器控制器、外部总线、通用串行总线和/或利用任意各种总线架构的处理器或局部总线的不同总线结构中的任意一种或组合。
[0110] 设备1700还包括计算机可读媒体1714,诸如一个或多个存储器组件,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等的任意一个或多个)和盘存储设备。盘存储设备可以被实施为任意类型的磁性或光学存储设备,诸如硬盘驱动器、可录制和/或可重写紧致盘(CD)、任意类型的数字多功能盘(DVD),等等。设备1700还可以包括大容量存储媒体设备1716。
[0111] 计算机可读媒体1714提供数据存储机制以存储设备数据1704以及各种设备应用1718和与设备1700的操作方面相关的任意其它类型的信息和/或数据。例如,操作系统1720可以利用计算机可读媒体1714而被保存为计算机应用并且在处理器1710上执行。设备应用
1718可以包括设备管理器(例如,控制应用、软件应用、信号处理和控制模块、特定设备固有的代码、用于特定设备的硬件抽象层等)。设备应用1718还包括任意系统组件或模块以实施这里所描述的技术的实施例。在该示例中,设备应用1718包括被示为软件模块和/或计算机应用的接口应用1722和输入/输出模块1724(其可以与输入/输出模块114相同或不同)。输入/输出模块1724表示被用来提供与被配置为捕捉输入的设备的接口的软件,该设备诸如触摸屏、轨迹板、相机、麦克风等。可替换地或除此之外,接口应用1722和输入/输出模块
1724可以被实施为硬件、软件、固件或者其任意组合。此外,输入/输出模块1724可以被配置为支持多个输入设备,诸如分别用于捕捉视觉和音频输入的单独设备。
[0112] 设备1700还包括音频和/或视频输入输出系统1726,其向音频系统1728提供音频数据和/或向显示系统1730提供视频数据。音频系统1728和/或显示系统1730可以包括处理、显示和/或以其它方式呈现音频、视频和图像数据的任意设备。视频信号和音频信号能够经由RF(射频)链路、S-视频链路、复合视频链路、分量视频链路、DVI(数字视频接口)、模拟音频连接或其它类似通信链路而从设备1700传输至音频设备和/或显示设备。在一个实施例中,音频系统1728和/或显示系统1730被实施为设备1700的外部组件。可替换地,音频系统1728和/或显示系统1730被实施为示例设备1700的集成组件。
[0113] 结论
[0114] 虽然已经以特定于结构特征和/或方法动作的语言对本发明进行了描述,但是所要理解的是,所附权利要求中所限定的本发明并非必然被局限于所描述的具体特征或动作。相反,该具体特征和动作作为实施请求保护的发明的示例形式而公开。