CN117546130A - 仪表板浏览模式 - Google Patents
仪表板浏览模式 Download PDFInfo
- Publication number
- CN117546130A CN117546130A CN202280042363.4A CN202280042363A CN117546130A CN 117546130 A CN117546130 A CN 117546130A CN 202280042363 A CN202280042363 A CN 202280042363A CN 117546130 A CN117546130 A CN 117546130A
- Authority
- CN
- China
- Prior art keywords
- content
- gadget
- dashboard
- dashboard panel
- panel view
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 38
- 230000003993 interaction Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007654 immersion Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 15
- 230000006854 communication Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
仪表板面板应用提供内容沉浸式体验。仪表板面板应用使用户能够滚动来自多个端点的标题,并更深入地研究感兴趣的主题,同时继续从相同的滚动位置滚动标题。使得包括内容卡的第一可滚动布置的第一仪表板面板视图呈现在基本图形画布上。每个卡都与相应的内容项相关。当选择卡时,滚动状态被存储,并且第一仪表板面板视图被消除。与所选卡相关的附加内容显示在内容沉浸式查看器窗格中。使得包括内容卡的第二可滚动布置的第二仪表板面板视图与内容沉浸式查看器窗格一起呈现,并且重新应用滚动状态。仪表板面板和内容沉浸式查看器窗格可独立滚动。
Description
背景技术
应用(“app”)是在计算设备的操作系统上运行的程序代码。应用被设计为执行除与计算设备本身的操作相关的任务之外的特定任务,并且通常被配置为由终端用户使用。应用的示例包括文字处理器、电子表格程序、会计应用、电子邮件客户端、媒体播放器、控制台游戏和照片编辑器。计算设备可以安装许多应用,每个应用使用相称的存储量。此外,通过执行应用来访问应用的特征。在计算设备上同时执行的许多应用消耗了大量的存储器和处理资源。
web浏览器是一种类型的应用,其使得web应用(“web app”)能够在计算设备上运行。web浏览器将web应用的内容从服务器下载到计算设备。web浏览器呈现与web应用相关的内容页面以显示给用户。web浏览器可以维护多个标签,每个标签包含与不同网页相关的内容,尽管通常在任何给定时间向用户显示单个标签。传统的web浏览器应用可以具有附加特征,包括各种导航特征。这样的导航特征可以包括接收用于导航到由统一资源定位符(URL)指定的网站的URL的地址栏、用于为搜索引擎输入项目的搜索栏、以及允许用户保存URL以供以后使用的书签栏。另一方面,内容查看器(例如,web查看器)可以被配置为呈现可以与之交互但可能不提供完整浏览器应用的特征的网页。
发明内容
提供本发明内容是为了以简化形式介绍一组概念,这些概念将在下面的详细描述中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。
本文描述的方法、系统、装置和计算机可读存储介质通过促进观看上下文的连续性来提供内容沉浸式体验。例如,仪表板面板应用和沉浸式体验管理器使用户能够滚动从多个端点接收的标题并更深入地研究感兴趣的主题,同时继续从相同滚动位置查看标题,而无需使用传统的web浏览器。
在一方面中,操作系统(OS)被配置为在显示屏上呈现基本图形画布。由处理器电路执行的程序代码被配置为使得第一仪表板面板视图被呈现在基本图形画布上,第一仪表板面板视图包括内容卡的第一可滚动布置。每个内容卡包括与相应内容项相关的信息。响应于接收到对内容卡中的第一内容卡的选择,存储可滚动布置的第一滚动状态。将第一仪表板面板视图从显示消除。与所选择的第一内容卡相关联的相应内容项的附加内容被显示在基本图形画布上的第一内容沉浸式查看器窗格中。使得第二仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上。第二仪表板面板视图包括内容卡的第二可滚动布置。将第一滚动状态应用于第二仪表板面板视图。
下面参考附图详细描述实施例的进一步特征和优点以及各种实施例的结构和操作。注意,该方法和系统不限于本文描述的特定实施例。本文呈现这样的实施例仅用于说明目的。基于本文包含的教导,其他实施例对于(多个)相关领域的技术人员而言将是显而易见的。
附图说明
本文并入并构成说明书一部分的附图示出了本申请的实施例,并且与说明书一起进一步用于解释实施例的原理并使相关领域的技术人员能够制作和使用这些实施例。
图1示出了根据示例实施例的用于呈现包括根据各种账户凭证访问的多个小组件的仪表板面板的系统的框图。
图2示出了根据示例实施例的用于呈现包括根据各种账户凭证访问的多个小组件的仪表板面板的计算设备中的方法的流程图。
图3示出了根据示例实施例的仪表板面板应用和相关联的数据存储的框图。
图4示出了根据示例实施例的小组件清单的框图。
图5示出了根据示例实施例的显示仪表板面板的显示屏。
图6示出了根据示例实施例的显示仪表板面板应用的小组件选择器的显示屏。
图7示出了根据示例实施例的选择要包括在仪表板面板中的小组件的方法的流程图。
图8示出了根据示例实施例的在仪表板面板中呈现和定制小组件的方法的流程图。
图9示出了根据示例实施例的在仪表板面板中相对于小组件显示web内容的方法的流程图。
图10示出了根据示例实施例的用于呈现包括可滚动内容卡和内容沉浸式面板的仪表板的系统的框图。
图11示出了根据示例实施例的用于在包括可滚动内容卡和可选择展开视图的沉浸式体验中呈现仪表板面板视图流的计算设备中的方法的流程图。
图12示出了根据示例实施例的用于在包括可滚动内容卡和可选择展开视图的沉浸式体验中呈现仪表板面板视图流的系统的框图。
图13-图15示出了根据示例实施例的在进入沉浸式体验视图之前内容卡的可滚动布置的示例显示。
图16包括示出根据示例实施例的示例内容沉浸式体验显示的显示,该示例性内容沉浸式体验显示包括第二仪表板面板视图和第一内容沉浸式查看器窗格,第二仪表板面板视图包括内容卡的第二可滚动布置。
图17示出了根据示例实施例的用于在显示第一内容沉浸式窗格的同时响应第二可滚动布置中的内容卡的第二选择的方法的流程图。
图18示出了根据示例实施例的用于响应与第一内容沉浸式窗格中的导航链接的用户交互的方法的流程图。
图19示出了其中可以实现实施例的示例性用户设备的框图。
图20示出了可用于实现各种实施例的示例基于处理器的计算机系统的框图。
本文描述的实施例的特征和优点在结合附图时将从下面阐述的详细描述中变得更加明显,其中相同的附图标记在全文中标识相应的元件。在附图中,相似的附图标记通常表示相同的、功能相似的和/或结构相似的元件。元件首次出现的附图由相应附图标记中的最左边的(多个)数字指示。
具体实施方式
I.导言
下面的详细描述公开了许多示例实施例。本专利申请的范围不限于所公开的实施例,还包括所公开的实施例的组合以及对所公开的实施例的修改。
在本说明书中,对“一个实施例”、“实施例”、“示例实施例”等的引用,表示所描述的实施例可以包括特定的特征、结构或特性,但每个实施例不一定包括该特定的特征、结构或特性。此外,这些短语不一定是指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,提出无论是否明确描述,结合其他实施例实现这种特征、结构或特性都在本领域技术人员的知识范围之内。
下面描述许多示例实施例。需要注意的是,本文中提供的任何章节/小节标题不旨在是限制性的。本文档通篇描述了实施例,并且任何类型的实施例可以被包括在任何章节/子节之下。此外,在任何章节/小节中公开的实施例可以以任何方式与在相同章节/小节和/或不同章节/小节中描述的任何其他实施例组合。
II.在小组件板中显示具有多种认证形式的服务驱动的小组件
本文公开的实施例使得仪表板面板应用能够使计算设备上的用户可以使用“小组件(widget)”,这些小组件同时为多个应用提供功能,而不必在计算设备上安装或运行(如果已安装)相应的应用,并且无需使用传统的web浏览器。传统上,为了访问应用的功能,应用必须要么直接安装在计算设备上,要么在web浏览器中作为web应用操作。在直接安装在计算设备上的应用的情况下,可能使用大量存储空间,包括长期存储(例如,盘空间)和存储器,以及消耗大量处理带宽。对于web应用,必须在所使用的计算设备上安装web浏览器,并满足相应的存储空间和处理带宽要求。相反,在本技术的实施例中,执行单个仪表板面板应用,该单个仪表板面板应用管理具有各自应用功能的多个小组件,同时需要实质上更少的存储空间和处理带宽来操作。
小组件是应用的图形用户界面(GUI)可访问的视图,其在计算设备处提供应用的功能,而无需在计算设备上执行应用的代码。相反,小组件主机应用(在本文主要被称为仪表板面板应用)基于与小组件相关联的小组件清单并且基于从与小组件和应用相关联的基于网络的服务接收的服务数据,来实现针对小组件的应用功能。
因此,在各实施例中,小组件是服务驱动的。本技术利用远程服务来根据与小组件相关联的清单向小组件提供数据,而不是要求在计算设备中安装应用以便以传统方式构建小组件。提供的数据用于在呈现以供显示时填充小组件的字段。
更进一步地,在各实施例中,计算设备被配置为提供具有多账户支持的认证。使用不同用户登录凭证访问的小组件可以同时(例如并排)显示在同一仪表板面板窗格中。仪表板面板应用可以自动使与操作系统(OS)相关联的用户账户对小组件可访问。仪表板面板应用还可以使用户能够在逐个小组件的基础上,例如在小组件配置时,为第三方账户提供用户凭证。
接着,计算设备(“客户端”)将用户账户信息发送给与小组件相关联的服务,以认证用户账户并取回服务数据,然后使其在仪表板面板中为用户呈现。以此方式,可以在公共仪表板面板应用中使用多个用户账户来显示用户感兴趣的信息。小组件可以在各种服务上访问数据,并且在一个实施例中,小组件可以在所显示的仪表板面板中与小组件交互(例如,通过用户语音命令点击或参与)以在计算设备上启动相应的应用(如果安装在那里),以便提供完整的应用功能。在一个实施例中,如果在从小组件启动应用时没有在计算设备上安装相应的应用,则计算设备可以向用户显示安装应用的提示。
如下所述,除了显示小组件之外,在一些实施例中,仪表板面板应用可以被配置为显示来自其他源的内容,诸如内容推送(feed)服务(例如,新闻推送服务)。例如,仪表板面板应用可以显示包括来自在线新闻文章的标题、来自各种网页的亮点、来自天气应用的天气数据、体育数据、金融数据、博客帖子等的内容卡。
注意,尽管本文可以参考统一资源定位符(URL)来描述实施例,但是这样的实施例可应用于任何类型的统一资源指示符(URI),包括但不限于URL、统一资源名称(URN)等。仪表板面板的实施例可以以各种方式实现和操作。这样的实施例描述如下。
例如,图1示出了根据示例实施例的用于呈现包括具有各种账户凭证的多个小组件的仪表板面板的系统100的框图。如图1所示,系统100包括计算设备102、第一服务器104A、第二服务器104B和第三服务器104C。计算设备102经由网络108通信地耦合到第一到第三服务器104A-104C。计算设备102包括一个或多个处理器106、存储装置144和显示屏110。存储装置144存储OS116和仪表板面板应用118。第一服务器104A托管第一服务112A。第二服务器104B托管第二服务112B。第三服务器104C托管内容提供方114。下面更详细地描述系统100的这些特征。
计算设备102是使用户能够运行应用和访问网页的计算设备。计算设备102可以是任何类型的移动计算设备,诸如设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、诸如Apple iPadTM的平板计算机、上网本、智能电话(诸如AppleiPhone、实现/>AndroidTM操作系统的电话)、可穿戴计算设备(例如,包括智能眼镜的头戴式设备(诸如/>GlassTM)、诸如Oculus VR有限责任公司的Oculus/>或微软公司的/>的虚拟耳机)、诸如台式计算机或PC(个人计算机)的固定计算设备,或其他支持浏览器的设备。服务器104A-104C中的每一个可以是被配置为管理服务和/或托管和提供网页的计算设备。例如,如图1所示,第三服务器104C处的内容提供方114托管诸如网页130的一个或多个网页(例如,网站)。
网络108可以包括一个或多个网络,诸如局域网(LAN)、广域网(WAN)、企业网、互联网等,并且可以包括有线和/或无线部分中的一个或多个。
(多个)处理器106包括任意数量的处理器,包括中央处理单元(CPU)、微处理器、多处理器、处理核心和/或本文描述的或以其他方式已知的任何其他基于硬件的处理器类型。存储装置144可以包括任何类型的物理存储机制中的一个或多个,包括磁盘(例如,在硬盘驱动器中)、光盘(例如,在光盘驱动器中)、固态驱动器(SSD)、存储器设备(诸如RAM(随机存取存储器)设备、ROM(只读存储器)设备)、和/或任何其他适当类型的基于硬件的物理存储介质。OS 116可以是任何适当类型的操作系统,包括MicrosoftApple MacX、Google AndroidTM和/>显示屏110是任何适当类型的显示器的显示屏,其可以内置到计算设备102中或在物理上与计算设备102分开,例如阴极射线管(CRT)显示器、液晶显示器(LCD)显示器、发光二极管(LED)显示器、等离子显示器或其他类型的显示器。注意,显示屏110可以是单个显示屏,或者可以由多个分开的显示屏组成。如图1中所示,OS116在显示屏110上呈现基础图形画布120(也被称为“桌面背景”)。基础图形画布120可以显示背景图像或可以是空白的。
仪表板面板应用118是被配置为使用户能够从各种小组件中选择小组件以在由仪表板面板应用118管理的仪表板面板中呈现的应用。小组件不是独立的应用,而是由仪表板面板应用118基于小组件特定的清单、用户定制数据和/或服务数据(内容)来生成。小组件与从中取回服务数据的、与仪表板面板应用分离的服务相关联。小组件被配置为显示和提供与该服务相关联的交互内容,而不提供可能与该服务相关联的网站或应用的全部功能。通过使用户能够提供用户定制数据以配置小组件,仪表板面板应用生成仪表板面板,作为用户阅读与每个服务相关联的信息的方便、统一的解决方案。与用户单独执行和查看与所表示的服务相关联的多个单独的应用相比,用户可以相对快速地查看仪表板面板,而不是提供体验和兴趣的汇总概览。
如图1所示,仪表板面板应用118使得仪表板面板122呈现在基本图形画布120上。仪表板面板122也可以被称为“小组件板”,它是在其上呈现小组件的所显示的图形用户界面窗口。在图1的示例中,仪表板面板122包括小组件窗格124,其包括第一至第n小组件126A-126N。可以存在任意数量的小组件。小组件126A-126N是由用户选择和/或自动选择的小组件,用于包括在仪表板面板122中并且可由用户配置。在图1中,小组件126A-126N各自显示相应的内容,诸如天气小组件中的天气数据、日历小组件中的日历信息、新闻小组件中的新闻数据、照片小组件中的照片、流视频小组件中的电影图标、书店小组件中的书评摘要等。每个小组件可以与用于取回内容的相应服务相关联。此外,小组件126A-126N可以包括用户多次选择要在仪表板面板122中显示的同一小组件的多个实例。例如,用户可能希望显示多个天气小组件,第一天气小组件实例被配置为显示华盛顿州西雅图市的天气,而第二天气小组件实例被配置为显示纽约州纽约市的天气。
如图1所示,第一小组件126A可以与服务器104A处的第一服务112A相关联,并且第二小组件126B可以与服务器104B处的第二服务112B相关联。当要呈现仪表板面板122时,与第一小组件126A相关的请求可以作为第一服务请求132通过网络108从计算设备102发送给服务器104A处的第一服务112A。第一服务请求132可以是对来自第一服务112A的服务数据的请求,该服务数据可以显示在仪表板面板122中的第一小组件126A的视图框(或“卡”)中。可以取回任何类型的服务数据,包括文本信息、图像文件、音频文件、视频文件等。响应于请求132,第一服务112A生成第一小组件服务数据信号134,其通过网络108从第一服务器104A发送给计算设备102。第一小组件服务数据信号134包括第一服务112A响应于第一服务请求132而生成的服务数据。仪表板面板应用118使得仪表板面板122被呈现以在第一小组件126A的呈现视图中包括第一小组件服务数据信号134的服务数据。类似地,与第二小组件126B相关的请求可以作为第二服务请求136通过网络108从计算设备102发送给服务器104B处的第二服务112B。第二服务请求136可以是对来自第二服务112B的服务数据的请求,该服务数据可以显示在仪表板面板122中的第二小组件126B的视图框中。响应于请求136,第二服务112B生成第二小组件服务数据信号138,其通过网络108从第二服务器104B发送给计算设备102。第二小组件服务数据信号138包括第二服务112B响应于第二服务请求136而生成的服务数据。仪表板面板应用118使得要呈现的仪表板面板122在小组件126B的呈现视图中包括第二小组件数据信号138的所接收的服务数据。
此外,在一个实施例中,仪表板面板122可以可选地包括web内容窗格128,其包括web内容146的呈现。例如,用户可以与小组件窗格124中的新闻小组件的新闻项中显示的链接交互。这可导致在仪表板面板122中呈现web内容窗格128以将新闻网页显示为web内容146。在另一实施例中,web内容面板128可以备选地在web浏览器中呈现。
例如,如图1所示,响应于(由用户)与仪表板面板122中的第一小组件126A的交互,可以由仪表板面板应用118生成内容请求140。内容请求140可以包括由第三服务器104C处的内容提供方114托管的内容的网络地址(例如,URL)。内容请求140由计算设备102通过网络108发送给内容提供方114。响应于内容请求140,内容提供方114可以取回网络地址处的网页,从而访问网页130。网页130可以由第三服务器104C在内容响应142中通过网络108发送给计算设备102。仪表板面板应用118使网页130在仪表板面板122的web内容窗格128中呈现为web内容146。备选地或另外地,网页130可以呈现在仪表板面板122之外,诸如在web浏览器中。在各实施例中,如果用户与仪表板面板122的web内容窗格128中显示的web内容146交互(例如,点击其中显示的URL),则可以在仪表板面板122的内部或外部(例如,经由web浏览器)调用和显示后续的网页内容。在一个实施例中,仪表板面板应用118响应于用户从小组件窗格124做出的第一内容选择(第一级别选择),使得能够在web内容面板128中呈现第一内容,但是由仪表板面板应用118和仪表板面板122外部的应用(例如,通过web浏览器)来处理用户在所呈现的web内容窗格128的第一内容中做出的进一步选择(后续级别选择)。备选地或另外地,当用户与小组件126A-126N的小组件(诸如小组件标题)交互时,可以在仪表板面板应用118和仪表板面板122的内部或外部调用与该小组件相关联的应用。例如,如果用户在照片小组件的标题中“点击”,则可以在计算设备102中调用照片应用以在仪表板面板122之外并且独立于仪表板面板应用118执行。
以此方式,可以在仪表板面板122中提供任意数量的小组件及其作为结果显示的内容和功能。用户可以选择小组件126A-126N中的每一个以包括在仪表板面板122中,并且可以配置每个小组件,诸如提供位置信息、偏好信息、简档信息等,从而为用户定制每个小组件。可以使用任何数量的用户账户来登录小组件,并使用用于小组件数据取回的相应服务来认证用户。仪表板面板122中可以包括任何数量的不同小组件,以提供对相应数量的服务的可见性和/或访问。此外,可以与小组件交互以使相关网页被显示,和/或在仪表板面板122内部或外部调用计算设备102中的相应应用。
注意,图1的仪表板面板应用118可以以各种方式配置,并且可以以各种方式操作,以执行这些和进一步的功能。例如,图2示出了根据示例实施例的用于呈现包括具有各种账户凭证的多个小组件的仪表板面板的计算设备中的方法的流程图200。流程图200可以由仪表板面板应用118实现。为了说明的目的,参考图3描述流程图200。图3示出根据示例实施例的数据存储装置144的内容的框图。如图3所示,存储装置114存储仪表板面板应用118、配置信息314、小组件库316和服务数据318。仪表板面板应用118包括服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310和小组件选择器(或“小组件选取器”)312。基于下面关于流程图200和图3的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员而言是显而易见的。
图2的流程图200从步骤202开始。在步骤202中,接收启动仪表板面板应用的请求。在各实施例中,可以以各种方式请求启动仪表板面板应用118。例如,可以响应于用户与用户界面(UI)控件交互以输入启动仪表板面板应用118的请求,由计算设备102(图1)启动仪表板面板应用118。适当的UI控件的示例包括任务栏按钮、键盘快捷键、触摸屏(例如,用户在(图1的)显示屏110上滑动一个或多个手指,诸如从左边缘滑动),以及被配置为接收和处理语音命令的麦克风和相应逻辑。在另一实施例中,可通过将仪表板面板应用118包括在OS116(图1的)的启动例程中来请求启动仪表板面板应用118,从而在计算设备102上电时或在重启之后调用仪表板面板应用118。当仪表板面板应用118启动时,可以执行仪表板面板应用118的可执行文件以启动(多个)处理器106对仪表板面板应用118的程序代码的运行。在启动时,用户登录到仪表板面板应用118。例如,仪表板面板应用118可以被配置为从OS116(例如,登录到OS116的用户账户)的账户管理器(例如,用于的微软公司的Web账户管理器,或用于其他操作系统的备选账户管理器)选择账户,或者可以提示用户提供账户凭证(登录标识符和密码)。
在步骤204中,访问配置信息,该配置信息标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件,多个小组件包括第一小组件和第二小组件。在一个实施例中,仪表板面板应用118访问存储装置144中的配置信息314以配置图1的仪表板面板122。例如,配置信息314可以包括用户配置的信息,诸如用户选择包括在仪表板面板122中的小组件的指示,以及由用户为每个所指示的小组件提供的配置信息。如图3所示,配置信息314可以包括第一小组件定制数据320A,其包括用于第一小组件126A(图1)的用户指定的定制;第二小组件定制数据320B,其包括用于第二小组件126B的用户指定的定制;以及用于任何其他数量的小组件的定制数据。为小组件定义的配置信息314的示例包括位置信息、简档信息(诸如用户的年龄、性别等)、每个小组件的偏好信息(例如,所选择的小组件尺寸、小组件的颜色模式(例如,颜色、亮、暗、灰度))、从多种类型的小组件中选择的小组件的类型等。配置信息314可以存储在任何适当格式的单个文件或多个文件(例如,用于每个小组件的文件)中,包括文本、XML(可扩展标记语言)、二进制或其他格式。
返回图2,在步骤206中,将小组件的账户凭证发送给小组件清单中指示的对应网络地址处的对应服务器托管服务。在各实施例中,每种类型的小组件都具有相关联的小组件清单,其包含关于小组件类型的元数据,并且可以包含用于处理离线场景的资产。例如,小组件清单可以包括网络地址,该网络地址是小组件与之通信以获取数据的关联服务的地址(位于一个或多个网络可访问的服务器上)。例如,可以存在用于第一小组件126A的小组件清单,其包括第一服务器104A处的第一服务112A的网络地址(例如,URL)。此外,可以存在第二小组件126B的小组件清单,该小组件清单包括第二服务器104B处的第二服务112B的网络地址。每个唯一类型的小组件可以具有相应的清单,该清单包括相关联的网络地址以及特定小组件类型的进一步信息。
例如,如图3所示,小组件库316可以存储在存储装置144中。小组件库316包括用户已经选择包括在仪表板面板122(图1)中的每个唯一小组件的清单,并且在一些实施例中,可以包括注册并可供用户选择的每个小组件的清单,无论是否被选择包括在仪表板面板122中。例如,如图3所示,小组件库316包括用于小组件126A(图1)的第一小组件清单322A、用于小组件126B的第二小组件清单322B、以及用于任何其他数量的可用小组件的小组件清单。小组件清单可以包含在任何适当格式的文件中,包括文本文件、二进制文件、XML文件、JSON(JavaScript对象表示法)文件或其他格式的文件。
如上所述,小组件清单包含关于相应小组件类型的元数据,并且可以包含用于处理离线场景的资产。因此,可以在小组件清单中为小组件维护各种类型的数据和/或元数据。例如,图4示出了根据示例实施例的小组件清单400的框图。小组件清单400是图3的小组件清单322A和322B的示例。小组件清单400中示出的元数据和/或数据字段参数中的任何一个或多个可以包括在小组件清单中,以及从本文的教导对(多个)相关领域的技术人员而言显而易见的其他参数。
具体地,如图4所示,小组件清单400可以包括小组件显示名402、支持的账户类型404、尺寸数据406、一个或多个图像文件408、小组件ID(标识符)410、支持的最小仪表板版本412、小组件实例的最大数量414、服务的网络地址416、以及一个或多个小组件属性418。如下描述小组件清单400的这些字段中的每一个。
小组件显示名402是仪表板面板122中显示的小组件视图的相应小组件的名称和/或标题。
支持的账户类型404是用户可用于通过与小组件相关联的服务进行认证的一种或多种类型的账户的指示。例如,与第一小组件126A相关联的小组件清单322A(图3)可以指示用户使用一个或多个账户类型来使用第一服务器104A处的第一服务112A进行认证。使用所支持的账户类型之一的有效账户,可以从第一服务112A取回与第一小组件126A相关的数据。可以指示任意数量的不同类型的支持账户类型。这样的账户的示例包括MSA(账户)、AAD(/>Active/>)账户、/>账户、Google账户等。这样的账户可以由OS的账户管理器进行,例如/>的Web账户管理器等。
尺寸数据406指示当显示在仪表板面板122中时可供选择的小组件框的一个或多个尺寸,包括默认尺寸。例如,第一小组件126A可以具有四个显示尺寸,包括小(例如,300×200像素)、中等(例如,300×304像素)、大(例如,300×412像素)和特大(例如,300×516),其中中等是默认尺寸。在其他示例中,可以将另一尺寸指示为默认,或者仪表板面板应用118可以确定默认尺寸。
图像文件408包括对应于小组件的可能显示视图(例如小组件的背景视图)的一个或多个图像文件。例如,如图4所示,图像文件408可以包括默认小组件图像430、数据加载小组件图像432、正常小组件图像434和错误图像436。在这样的实施例中,小组件可以具有利用图像文件的查看状态,包括对应于默认小组件图像430的默认状态、对应于数据加载小组件图像432的占位符状态、对应于正常小组件图像434的正常状态、对应于也显示最后更新时间戳的正常小组件图像434的过时状态、以及对应于错误图像436的错误状态。下面更详细地描述这些示例小组件视图状态。注意,还可以在小组件清单400中可选地指示小组件的图标图像文件。
默认状态:此状态定义在没有配置的情况下小组件的外观。即使没有配置,小组件的默认状态图像也可能以某种方式个性化。例如,天气小组件的默认状态图像可以显示用户的本地天气(例如,基于提供计算设备102(图1)的位置的全球定位信号(GPS))。在一个实施例中,需要配置才能起作用的小组件可以显示出动作调用的默认视觉。例如,需要输入用户账户以允许显示定制内容的社交媒体小组件可以显示默认状态图像,该默认状态图像包括对应社交媒体公司的徽标和指示需要输入用户账户信息的消息。
占位符状态:此状态定义小组件在加载数据时显示的内容。用于该状态的数据加载小组件图像可以模仿正常状态,其中图形和/或数据字段被显示为涂黑(例如,显示为矩形阴影区域)而不是实际内容。当小组件第一次出现时,当还没有缓存该小组件的服务数据时,以及在取回服务数据时,可以显示该状态的图像。
正常状态:此状态定义已配置的最新小组件的显示方式。每个小组件可以具有刷新策略。在调用时,仪表板面板122显示具有高速缓存的服务数据(内容)的普通小组件图像。API(应用编程接口)使小组件能够确定何时显示仪表板面板122,使得小组件可以按需刷新其内容。如果小组件是最新的,则不需要从相应的服务取回新数据。如果小组件已经过了其更新节奏和/或如果有新数据可用,则可以从小组件的服务取回新数据。
过时状态:此状态定义当当前显示的小组件数据过时且无法取回新数据(例如,由于连接问题)时小组件的外观。在一个实施例中,处于该状态的小组件在报头中显示时间戳,该时间戳指示数据最后被刷新的时间。仪表板面板应用118可以提供API来确定该时间。仪表板面板应用118可以将这一次转换成字符串,以便以一致的格式显示在仪表板面板122中的小组件标题中。
错误状态:此状态定义小组件在错误期间的显示方式。注意,在一个实施例中,错误图像由在小组件清单中提供,而在另一个实施例中,除了相关小组件标题(和图标)可以显示在错误图像中之外,相同的错误图像用于所有小组件。错误状态可以覆盖各种错误场景,例如仪表板面板应用118在相应服务处导航到小组件的内容失败,和/或小组件在小组件的授权期间不能接收有效的认证令牌。可以与重新加载按钮交互以重新启动认证流。因此,在一个实施例中,仪表板面板122可以显示具有覆盖有小组件标题、错误消息和重新加载按钮的错误图像的小组件视图。
返回参考图4,小组件ID 410是标识相应小组件的值。在一个实施例中,可以用反向DNS(域名服务)表示法来表示小组件ID。在其他实施例中,可以使用任何适当的标识字母数字标识符值。小组件ID 410可以以各种方式使用,包括在与远程服务的通信中、在仪表板面板122中追踪/标识小组件、用于确定由小组件选择器312生成的小组件列表中的小组件的顺序等。
支持的最低仪表板版本412是支持小组件的仪表板面板应用118的最低版本的指示(例如,出于兼容性目的)。
小组件实例的最大数量414是可同时显示在仪表板面板122中的小组件实例的最大数量的指示。
网络地址(用于服务)416是对应于小组件的服务的入口点的指示。例如,网络地址416可以是指向服务处的文件(例如,JavaScript.js文件)的HTTPS(超文本传输协议安全)URL,该文件包含服务和仪表板面板应用118之间的初始化契约的脚本。在一个实施例中,初始化契约实例化小组件并在描述仪表板面板122的DOM(文档对象模型)代码中输入小组件以供呈现,如下面进一步详细描述的。此外,初始化契约可以定义用于小组件设置和状态的契约。
小组件属性418包括专用于小组件的任意数量的参数,并且这些参数可在初始化和运行时对小组件可用。这样的属性的示例可以包括股票价值参数(用于股票小组件)、最喜欢的团队参数(用于体育小组件)等。
返回参考图2中的流程图200的步骤206,在确定用于小组件服务的网络地址之后,可以将为小组件设置的账户凭证发送给服务(在网络地址处),从而可以向服务认证用户。例如,参考图1和图3,服务数据取回器304可以访问在配置信息314中指示的用户选择的小组件的小组件清单322A、322B等中指示的网络地址。第一服务请求132可以由服务数据取回器304(使用计算设备102的通信电路)通过网络108发送给服务器104A处的第一服务112A。出于认证目的,第一服务请求132可以包括为第一小组件126A设置的账户凭证。在一个实施例中,令牌可以由OS116的账户管理器在服务请求132中提供,该服务请求132包括由用户与第一小组件126A和第一服务112A相关联的账户凭证。令牌可以包括参与单点登录(SS)认证方案的账户凭证(用户标识符和密码),该方案允许用户使用单个ID和密码登录到若干相关但独立的软件系统中的任何一个,或者可以包括特定于第一服务112A的账户凭证。令牌可以由服务数据取回器304发送给第一服务112A,以代表第一服务请求132中的第一小组件126A认证第一服务112A处的用户。此外,如果需要,服务数据取回器304可以访问配置信息314中的用户指定的小组件定制数据以发送给第一服务112A,从而第一服务112A可以基于小组件定制数据为用户定制返回的服务数据。这种用户指定的小组件定制数据的示例可以包括最喜欢的运动队、股票报价器符号、电影偏好等。
注意,在一个实施例中,不同的账户凭证可用于不同的小组件,包括同一用户对于同一小组件的多个实例的不同账户凭证(例如,用于日历小组件的第一实例的用户的工作账户凭证,以及用于日历小组件的第二实例的用户的个人账户凭证)。例如,在步骤206中,可以代表第一小组件126A将第一账户凭证发送给第一服务112A,并且可以代表第二小组件126B将第二账户凭证发送给第二服务112B,其中第一和第二账户凭证彼此不同(例如,不同的登录标识符)。在步骤208中,可以分别针对第一和第二小组件126A和126B从第一和第二服务112A和112B接收对应的服务数据。以此方式,尽管需要不同的账户凭证,但是与使用用于所有小组件的公共账户凭证的传统系统相比,可以在公共仪表板面板122中同时向用户呈现各种服务的小组件,从而使用户能够被呈现更多种类的数据。
在步骤208中,从服务器托管的服务接收与小组件相关联的小组件数据。在一个实施例中,在根据步骤206在小组件服务处对用户进行认证之后,该服务可以将小组件的数据发送回仪表板面板应用118。例如,参考图1,响应于请求132,第一服务112A生成第一小组件服务数据信号134,其通过网络108从第一服务器104A发送给仪表板面板应用118。由第一小组件服务数据信号134发送的服务数据可以由第一服务112A根据为每个当前小组件接收的用户指定的小组件定制数据来定制,例如通过提供用户位置的天气信息、用户最喜欢的运动队的体育新闻、根据用户的电影偏好制作的电影选择等。类似地,可以从第二服务112B取回与第二小组件126B相关的服务数据。
注意,可以针对用户选择用于包括在仪表板面板122中的任意数量的小组件执行步骤206和208,包括第一小组件126A、第二小组件126B等。以此方式,服务数据取回器304取回仪表板面板122的所有用户选择的小组件的服务数据以供显示。如图3所示,服务数据取回器304输出包括针对所有小组件接收的服务数据的服务数据318。在一个实施例中,服务数据318可以存储在存储装置144中。如图3所示,服务数据318可以包括为第一小组件126A取回的第一小组件服务数据324A、为第二小组件126B取回的第二小组件服务数据324A、以及为其他小组件取回的服务数据。
在步骤210中,构成仪表板面板的视图,其包括并入小组件数据的小组件的视图。在各实施例中,仪表板面板构成器306接收由服务数据取回器304取回的服务数据318,访问配置信息314,并访问小组件库316。仪表板面板构成器306被配置为构成描述用于呈现的每个小组件的视图的文档。例如,在一个实施例中,仪表板面板构成器306被配置为生成仪表板面板视图326,其是包含用于呈现的仪表板面板122的描述的DOM代码的XML文档、HTML文档或其他格式文档。以此方式,呈现引擎可用于将DOM代码呈现到仪表板面板122中。
在各实施例中,为了构成仪表板面板视图326,仪表板面板构成器306访问小组件库316中的小组件清单,以获得对每个当前小组件的描述,包括用于小组件的特定状态的图像、任何特定于小组件的属性、以及以上参考图4描述的或以其他方式已知的任何其他小组件参数。此外,仪表板面板构成器306访问针对每个当前小组件的任何用户指定的小组件定制数据的配置信息314、这种优选小组件显示尺寸等。此外,仪表板面板构成器306访问每个当前小组件的服务数据318,以利用取回的服务数据来定制具有取回的服务数据的小组件的视图,例如通过填充相应的显示字段。例如,对于天气小组件,仪表板面板构成器306可以构成小组件视图以包括为用户指定的位置确定的天气信息。对于体育小组件,仪表板面板构成器306可以构建小组件视图以包括为用户最喜欢的运动队确定的体育新闻。对于流视频小组件(例如,的小组件),仪表板面板构成器306可以构成小组件视图以包括根据用户的电影偏好确定的电影选择。
在步骤212中,使得在基本图形画布上呈现仪表板面板视图。在一个实施例中,仪表板面板呈现器308接收仪表板面板视图326(例如,以文档形式),并且使得仪表板面板视图326被呈现为仪表板面板视图328(例如,以像素数据的形式)。例如,参考图1,基于仪表板面板视图326显示仪表板面板122,并且包括第一至第n小组件126A-126N的呈现视图。呈现的仪表板面板视图326可以以仪表板面板框的形式呈现,该仪表板面板框的形状可以是矩形(或其他形状),在仪表板面板框的内部,每个小组件视图可以在可以是矩形(或其他)形状的单独的框(或“卡”)中呈现。在其他实施例中,被呈现的仪表板面板视图326可以具有其他形式。
在仪表板面板视图326具有DOM文档形式的实施例中,仪表板面板呈现器308可以包括类似于web浏览器的呈现引擎,但是没有其他浏览器功能(例如,没有浏览器用户界面)来节省资源。以此方式,可以使呈现引擎执行页面布局并呈现每个小组件视图框内的内容。适用的渲染引擎的示例包括Mozillaweb浏览器中使用的GeckoTM、AppleSafari浏览器中使用的WebKitTM引擎、Internet ExplorerTM浏览器中使用的TridentTM(MSHTML)以及Google Chrome和Microsoft Edge浏览器中使用的BlinkTM。在另一实施例中,仪表板面板呈现器308访问仪表板面板应用118外部的呈现引擎以使得仪表板面板视图326被呈现。
注意,可以周期性地重复步骤204-212。例如,可以执行流程图200的步骤202来启动仪表板面板应用118并呈现仪表板面板122的初始视图,并且随后可以更新仪表板面板122并以更新后的形式重新呈现仪表板面板122。可以基于已经用户选择的小组件以及自上次呈现仪表板面板122以来由用户选择的任何其他小组件来重复步骤204。可以重复步骤206和208以取回小组件的更新的服务数据,并且可以重复步骤210和212以更新仪表板面板122的渲染视图,包括更新内的小组件的渲染视图。可以响应于用户与仪表板面板122的交互(例如,选择刷新UI)、周期性地(例如,每15分钟)和/或以另一种方式重复步骤204-212。在另一实施例中,可以根据为小组件指示的时间表(例如,在小组件清单中)、根据从相应服务接收的信号、基于用户与小组件的刷新UI控件交互、或者基于另一基础,通过取回小组件的更新的服务数据(通过步骤206和208)、然后利用小组件的更新的服务数据重新呈现仪表板面板122(通过步骤210和212)来单独刷新每个小组件。
因此,各种小组件的视图可以在仪表板面板122内、在具有相应各种数据的相应视图框(view frame)中显示。这种呈现的仪表板面板可以以各种方式布置。
例如,根据示例实施例,图5示出了在显示屏500上的基本图形画布502上显示的仪表板面板504。显示屏500是图1的显示屏110的示例,基本图形画布502是基本图形画布120的示例,并且仪表盘面板504是仪表盘面板122的示例。如图5所示,仪表板面板504包括视图框506A-506F和UI控件512。仪表板面板504通常具有矩形形状,尽管在其他实施例中,仪表板面板504可以具有其他形状。此外,视图框506A-506F被示为布置在两列中,尽管在其他实施例中,视图框506A-506F可以布置在其他数目的列中,或者备选地布置在任何数目的行中。此外,可以在仪表板面板504中显示图5中不可见的附加小组件。这些附加小组件可以通过向下滚动(或者当小组件排列成行时通过水平滚动)变得可见。
在图5中,小组件框506A-506F中的每一个包含相应小组件的视图。例如,视图框506A包含日历小组件的视图,视图框506B包含待办事项列表小组件的视图,视图框506C包括照片小组件的视图(部分在图5中示出),视图框506D包含天气小组件的视图,视图框506E包含推荐小组件的视图,以及视图框506F包含家庭小组件的视图(部分在图5中示出)。视图框506A-506F中的每一个都具有通常为矩形的形状(具有圆角),并且每一个都具有其默认显示尺寸、由用户在其定制小组件期间选择的显示尺寸、或动态确定的显示尺寸(例如,基于要显示的信息量确定的尺寸)。每个视图的内容对应于小组件开发者为显示特定小组件而编码的内容,并且包含从相应服务中为小组件取回的服务数据。取回的服务数据的示例包括为视图框506A的日历小组件取回的约会信息、为视图框506B的待办事项列表小组件取回的任务数据、为视图框506C的照片小组件取回的照片图像、为视图框506D的天气小组件取回的温度数据、为视图框506E的推荐小组件取回的推荐等。
在一个实施例中,诸如小组件506A-506F的小组件可以具有定制的或标准化的显示格式。例如,在标准化显示格式示例中,每个小组件可以具有完整的背景图像、在所有四个边缘处的页边距、应用属性区域(例如,沿着顶边的长度的页眉区域)、以及页边距内的内容区域,其中每个边缘具有以像素为单位的预定宽度。在其他实施例中,小组件可以具有其他标准化显示格式。在一个实施例中,点击属性区域可以导致小组件的应用被调用或网站被启动(两者都在仪表板面板应用118之外被调用),如小组件清单中所指定的。备选地,小组件可以具有定制显示格式,其中允许用户配置小组件的显示方面,诸如边框厚度、背景颜色、小组件上显示的信息(例如,为天气小组件选择不同的城市或将股票添加到观察列表)等。
UI控件512是用户可以与其交互以向仪表板面板122添加附加小组件的UI元素(例如,图形按钮),如下进一步描述。在图5中,UI控件512被示出显示在仪表板面板504上方。在其他实施例中,UI控件512可以显示在仪表板面板504的右侧、左侧、下方或内部。
此外,如本文所描述的,可以诸如通过调用与提供进一步信息的小组件相关联的网站处的网页来与小组件交互以访问关于小组件的进一步信息。例如,如图5所示,视图框506D中的天气小组件的视图包括UI控件514。用户可以与UI控件514交互以调出进一步的信息。例如,与UI控件514交互可使在小组件清单中指示的URL(例如,在小组件属性418中指示的URL)被导航到,导致可由URL寻址的网页作为web内容146在图1的web内容窗格128的调用实例中被打开。仪表板面板呈现器308的或其外部的呈现引擎可将网页呈现为web内容146。在该示例中,网页可以显示用户位置的更详细的天气信息。此外,如果用户与显示为web内容146的网页交互(例如,点击其中显示的URL),则可以调用独立于仪表板面板应用118的web浏览器以在仪表板面板122之外的web浏览器窗口中呈现任何所调用的内容。与该结果调用的内容的任何交互可以由仪表板面板应用118的范围之外的web浏览器来管理。
备选地,用户可以与UI控件514交互以调用与小组件相关联并安装在计算设备102上的应用。该应用在仪表板面板122之外被调用,并且此后可以由用户在仪表板面板应用118之外与其交互。注意,在一个实施例中,小组件可以实现单击动作。例如,可以使用户能够通过点击家庭小组件内显示的UI控件来批准来自孩子的屏幕时间请求;可以使用户能够点击网络会议小组件内的加入会议UI控件;或者可以使用户能够点击任务小组件内显示的待办事项以指示项目完成。可以使用相应的通信信号通过网络(例如,图1的网络108)将所选择的单击动作(和/或其他动作)的相应指示发送给相应的服务(例如,第一服务112A或第二服务112B)。根据本文的教导,其他小组件单击动作对于(多个)相关领域的技术人员而言将是显而易见的。
注意,UI控件512和514可以是任何适当的类型,包括指针可点击按钮(如图5所示)、下拉菜单、弹出菜单等。这样的用户输入可以以其他方式提供,包括通过语音命令激活等。
如图5的实施例所示,所显示的小组件具有各种优点并为人机交互提供改进。例如,视图框506A-506F的小组件是“可浏览的”,这意味着用户通过向用户展示以甚至可以快速查看即可确定的形式呈现的服务数据来获得价值。如果需要特定小组件的更多详细信息,则可以与诸如UI控件514的UI控件交互。这些小组件是个性化的,提供与用户相关的个性化内容,并可能与用户建立情感联系。此外,用户通过定制选项来控制他们的小组件内容和布局,本文将更详细地描述这一点。这些小组件很有用,可以提升相关信息。小组件是有重点的,每个小组件一般都专注于要完成的主要工作。小组件是最新的,因为小组件内容根据可用上下文动态刷新,并在正确的时间提供所需的内容。此外,这些小组件是可靠的,通过与服务的交互快速显示信息,从而节省了用户必须重复这些步骤所需的时间。
如参考图5所述,用户可以选择要添加到仪表板面板的小组件。这样的添加使用户能够配置仪表板面板以包括用户希望看到的小组件,并在新小组件变得可用时添加它们。可以以各种方式执行对附加小组件的这种选择。
例如,图6示出了根据示例实施例的显示小组件选择器UI 604的显示屏110。小组件选择器UI 604可以由小组件选择器312(图3)生成,用于小组件的用户选择。关于图7,小组件选择器UI 604和小组件选择器312被描述如下。图7示出了根据示例实施例的选择用于仪表板面板的小组件的方法的流程图700。基于下面关于流程图700的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员是显而易见的。
图7的流程图700从步骤702开始。在步骤702中,接收启动仪表板面板应用的小组件选择器的请求。在各实施例中,可以以各种方式响应于接收到的请求来启动小组件选择器。例如,参考图5,计算设备102(图1)可以响应于通过用户与UI控件512的交互接收到的请求,例如通过用户用指针点击UI控件512来启动小组件选择器。参考图3,小组件选择器312可由计算设备102响应于用户与UI控件512的交互而调用,从而使得小组件选择器UI 604被显示。
在步骤704中,确定在可用小组件支持的可用小组件的小组件清单中指示的一个或多个账户类型。在步骤706中,确定用户账户是否是一个或多个支持的账户类型之一。这两个步骤一起描述如下。
在一个实施例中,小组件选择器312执行步骤704和706,以避免显示诸如由于用户不具有小组件支持的账户类型而禁止用户选择的小组件。因此,在步骤704中,小组件选择器312为每个可用小组件确定该小组件支持的账户类型。例如,小组件选择器312可以访问每个小组件的小组件清单,例如小组件库316中用于第三小组件的第三小组件清单,以确定如支持的账户类型404(图4)中所指示的对应的支持账户类型。可能支持的账户类型的示例包括MSA(账户)、AAD(/>Active/>)账户、/>账户、谷歌账户等。在步骤706中,小组件选择器312针对每个可用小组件将确定的(多个)支持账户类型与当前登录的用户账户的账户类型进行比较。对于具有用于登录仪表板面板应用118的支持账户类型匹配的任何小组件,流程图700的操作从步骤706前进到步骤710。对于不具有与登录的用户账户匹配的支持账户类型的任何小组件,流程图700的操作从步骤706前进到步骤708。
在步骤708中,小组件选择器不显示缺少匹配的小组件。在步骤710中,显示具有匹配的可用小组件。在一个实施例中,使得小组件选择器312在基本图形画布120上呈现小组件选择器UI 604(其可以被显示为覆盖图1的仪表板面板122)。在小组件选择器UI 604中显示小组件库316中具有与登录用户账户匹配的支持账户类型的任何可用小组件。小组件选择器UI 604中不具有与登录用户账户的支持账户类型匹配的支持账户类型的小组件库316中的任何可用小组件都不显示。备选地,小组件库316中不具有与登录用户账户的支持账户类型匹配的支持账户类型的可用小组件可以显示在单独的显示框或其他区域中,或者可以以其他方式与具有支持账户类型的可用小组件视觉上区分(例如,灰显),并且可以使用户能够提供用户账户信息。例如,在图6中,可以确定第三至第五小组件606C-606E(以及可能的其他小组件)具有与当前用户账户的类型相匹配的支持账户类型,并且因此在小组件选择器UI 604中被显示为可选择。每个显示的小组件可以通过标题、作为可选图标和/或基于从相应小组件清单中取回的任何其他适当的信息来显示。
在步骤712中,接收对所显示的(多个)小组件的至少一个可用小组件的用户选择。在一个实施例中,用户可以在小组件选择器UI 604中选择显示的小组件中的任何一个,例如第三小组件606C,包括任何数量的显示小组件。用户可以以任何方式选择所显示的小组件,例如通过语音命令、通过指针点击所显示的可选择小组件、通过指针点击显示在可选择小组件内的小组件添加小组件(例如UI控件610)或以另一种适当的方式。在一个实施例中,在配置信息314(图3)中为每个用户选择的小组件创建条目以接收定制数据,如下进一步描述。
在步骤714中,构成仪表板面板视图并使其被呈现,该仪表板面板视图包括所选择的至少一个小组件的视图。在一个实施例中,在用户选择一个或多个可用小组件之后,可以根据图2的步骤210和212用所选择的(多个)小组件重新构成和呈现仪表板面板122。例如,图8示出了根据示例实施例的在仪表板面板中呈现和定制小组件的方法的流程图800。出于说明目的,下面参考图1、3和5描述流程图800。基于下面关于流程图800的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员而言是显而易见的。
图8的流程图800从步骤802开始。在步骤802中,构成仪表板面板的第二视图,该第二视图包括包括第一小组件和第二小组件的先前小组件的视图以及包括第三小组件的所选可用小组件的视图。参考图3,通过访问配置信息314、小组件库316和服务数据318,仪表板面板构成器306被配置为组成描述用于呈现的每个小组件的视图的文档,包括任何先前选择的小组件(诸如图1的第一和第二小组件126A和126B)以及通过用户与小组件选择器312的交互而新添加的任何小组件(例如第三小组件)。
例如,如上所述,仪表板面板构成器306可以生成包含DOM代码的仪表板面板视图326。为了将仪表板面板视图326组成为包含添加的小组件的第二仪表板面板视图,仪表板面板构成器306访问小组件库316中的小组件清单,以获取先前选择的和新选择的每个小组件的描述,包括用于小组件的特定状态的图像、任何小组件特定的属性、以及以上参考图4描述的或以其他方式已知的任何其他小组件参数。此外,仪表板面板构成器306访问针对每个当前小组件的任何用户指定的小组件定制数据、这种优选小组件显示尺寸等的配置信息314。对于新添加的小组件,用户可能还没有添加定制数据。这样,新添加的小组件基于包括在相应小组件清单中或由其指示的初始数据来生成,所述相应小组件清单诸如图4中所示的默认小组件图像430,其可以包括用于用户定制小组件的动作调用。此外,仪表板面板构成器306访问任何先前呈现的小组件的服务数据318以定制那些小组件的视图,这些小组件可以包括来自小组件被显示的先前时间的高速缓存的服务数据或新取回的服务数据。
在步骤804中,使第二仪表板面板视图呈现在基本图形画布上,第二小组件的视图提供被配置为允许定制第三小组件的UI控件。参考图1,仪表板面板122可以是仪表板面板视图326的第二(或后续)呈现,以包括先前选择的小组件(例如,第一和第二小组件126A和126B)以及任何新添加的小组件(例如,第三小组件)的呈现视图。
注意,在一个实施例中,新添加的小组件可以被呈现为显示在小组件窗格124的底部(在先前呈现的小组件之后),或者在另一个实施例中,被呈现为显示在小组件窗格124的顶部。在另一实施例中,可以呈现新添加的小组件以用于在其他位置上显示,诸如按字母顺序插入到按字母顺序的小组件排序中、被包括在小组件主题类别中等。此外,注意,仪表板面板122可以被配置为使得用户能够诸如通过用户将小组件拖放到修改的位置来对所显示的小组件进行重新排序。
在步骤806中,通过与UI控件交互来接收第三小组件的用户提供的定制数据。在各实施例中,可以使用户能够定制新添加的小组件,以及修改先前定制的小组件的配置。可以使用户能够以各种方式提供小组件的定制数据。例如,参考图5,诸如小组件506D的标题区域中的UI控件510的小组件的UI定制小组件可以由用户交互,例如通过用指针点击UI控件510。与UI控件510的交互使得小组件配置工具被启动,从而用户可以定制小组件506D,其可能先前已经被定制或没有被定制。在图3的示例中,交互导致调用仪表板面板应用118的小组件选择器312。小组件选择器312被配置为打开小组件定制UI,该小组件定制UI使得用户能够定制小组件506D的可定制特征。
在各实施例中,小组件定制UI可以具有任何形式,包括具有可选择小组件的弹出窗口。例如,在可选择小组件尺寸的情况下,可以显示文本选项“小”、“中”和“大”,从中可以交互以选择小组件的相应显示尺寸。这样的尺寸可以对应于小组件清单中存在的图像文件。此外,可以显示用户可以与其交互以从仪表板面板中删除该小组件的“移除小组件”选项。更进一步地,可在小组件定制UI中呈现附加定制选择,和/或可显示用户可与其交互以执行小组件的进一步定制的“定制小组件”选择。这样的定制可以包括位置设置、要用于小组件的用户账户(其可以是例如用户通过键盘输入的、或者从操作系统的账户管理员已知的账户列表中选择的)以及任何其他小组件设置中的一个或多个。
注意,在选择要包括在仪表板面板122中的小组件之后,备选地可以立即在小组件选择器UI 604内设置小组件的任何可定制设置。经由小组件选择器312和/或小组件配置器310接收的任何定制设置被存储在配置信息314中。例如,应用于第一小组件126A(图1)的定制设置被保存在第一小组件定制数据320A中。在一个实施例中,配置信息314可以存储在计算设备102的存储144中,和/或可以存储在云存储中。
如上所述,用户可以与所显示的小组件交互,以使得显示显示关于该小组件的进一步信息的web内容窗格。web内容窗格的这种显示可以以各种方式启用。例如,图9示出了根据示例实施例的在仪表板面板中相对于小组件显示web内容的方法的流程图900。出于说明目的,下面参考图1、图3和图5描述流程图900。基于下面关于流程图900的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员而言是显而易见的。
图9的流程图900从步骤902开始。在步骤902中,检测与第一小组件视图的用户交互。例如,如图5所示,小组件框514中的UI控件514可以由用户与之交互,以调出关于其中包括UI控件514的小组件的进一步信息。
在步骤904中,从第一小组件清单确定与第一小组件相关联的网页的网络地址。例如,与图5的UI控件514交互可以使得取回在小组件清单中指示为进一步小组件信息的登陆点的URL(例如,在小组件属性418中指示的URL)。
在步骤906中,从所确定的网络地址取回web内容。在一个实施例中,服务数据取回器304可以被配置为导航网络地址(例如,URL)以取回网页文档。
在步骤908中,构成仪表板面板的第二视图,该第二视图包括第一和第二小组件的视图以及web内容的视图。如上所述,仪表板面板构成器306被配置为生成仪表板面板视图326,其包括描述仪表板面板122的DOM代码。仪表板面板构成器306可以构成该DOM代码以包括对应于用户选择的小组件的小组件窗格信息以及对应于取回的网页文档的网页内容页面信息。备选地,仪表板面板构成器306可以构成仅包括取回的网页文档的第二DOM代码。
在步骤910中,使得将仪表板面板的第二视图呈现在基本图形画布上。如上所述,仪表板面板呈现器308可以使构成的DOM代码被呈现到小组件窗格124中。此外,仪表板面板呈现器308可以使DOM代码的取回的网页文档部分或者与取回的网页文档相对应的单独生成的第二DOM代码被呈现到web内容窗格128中,该web内容窗格128包括被呈现为web内容146的取回的网页文档。在天气小组件示例中,网页可以显示用户位置的更详细的天气信息。然而,如果用户与显示为web内容146的网页交互(例如,点击其中显示的URL),则可以调用独立于仪表板面板应用118的web浏览器以在仪表板面板122之外的web浏览器窗口中呈现任何所调用的内容。与该结果调用的内容的任何交互可以由仪表板面板应用118的范围之外的web浏览器来管理。
因此,仪表板面板应用118通过经由仪表板面板122向用户呈现小组件来提供许多好处。此外,请注意,小组件开发人员可以为同一服务或应用提供多种类型的小组件。每个小组件可以代表服务或应用目的的一个特定方面。例如,家庭小组件可以有显示单个孩子及其驾驶历史的第一小组件。第二小组件可以显示所有家庭成员的位置。
如前所述,小组件可以支持多个实例。用户可以添加同一小组件的多个实例。仪表板面板中显示的小组件的每个单独实例都有自己的配置信息(定制数据)。例如,可以为两个孩子定制两个家庭小组件,可以为两个城市定制两个天气小组件。当添加小组件的新实例时,它首先以默认状态显示,然后用户可以转到小组件定制页面以不同的方式配置它。仪表板面板应用118可以使用图4所示的小组件实例414的最大数量来将实例数量约束到所指示的数量。
可以将小组件配置为在定制之前默认显示相关内容。例如,默认情况下,家庭小组件可以在用户选择要小组件显示哪个孩子的信息之前显示有关一个孩子的信息。然后,用户可以定制小组件并选择他们希望查看有关哪个孩子的信息。同样,默认情况下,天气小组件可能会显示本地信息,而股票小组件可能会在允许用户自定义之前默认显示主要市场指数。
在一个实施例中,当在小组件下载任何服务数据之前调用仪表板面板应用118时,仪表板面板应用118尝试导航到小组件的服务数据(内容)的端点。如果能够获得内容,则小组件视图将使用最新内容呈现在仪表板面板中。如果不能获得内容,则仪表板面板应用118使小组件视图显示小组件的错误状态,因为将不存在缓存的内容。
在一个实施例中,当先前已调用仪表板面板应用118时,仪表板面板显示来自上次服务数据刷新的内容。小组件可以被配置为确定仪表板面板何时对用户通过API可见。小组件可以被配置为保持其内容新鲜,或者如果内容陈旧,则通过在上次更新的小组件中显示时间戳来与用户通信。
在一个实施例中,当仪表板面板不可见时,每个小组件的刷新计时器可被配置为在仪表板面板未挂起时触发。当小组件的刷新计时器触发时,小组件根据其刷新策略确定是否需要刷新。例如,小组件的程序代码可以被配置为执行小组件的刷新策略,而小组件被显示在仪表板面板中,诸如被配置为触发刷新定时器并根据任何适当的频率执行小组件的实时更新。
在一个实施例中,仪表板面板应用118被配置为在刷新显示的小组件之前检查网络连接。如果没有网络连接,则仪表板面板应用118可以被配置为使得呈现全局脱机状态。小组件可以使用API来确定用户是否离线。当用户离线时,小组件不需要执行任何操作。因为仪表板面板应用118可以在刷新之前检查网络连接,所以在用户打开仪表板面板应用118并且短时间(例如,10秒)丢失连接的情况下,UI不会突然切换到全局脱机状态。
在一些实施例中,小组件可以支持分页以处理内容溢出或在相似类型的内容之间导航。例如,可以显示诸如箭头的UI控件以使用户能够在与小组件相关联的不同项之间分页。例如,照片小组件中的导航箭头可以导航到其他照片。
在各实施例中,为了尊重用户对每个服务的隐私设置,仪表板面板应用118可以被配置为不将位置信息传递给小组件。可以管理小组件来遵守他们的服务已经拥有的任何位置/隐私设置。小组件的隐私设置可以由其相应的服务控制。可以使用户能够根据需要选择加入或退出共享包括所有服务的任何服务的特定信息,以及能够控制共享数据的显示、校正数据、和/或执行关于数据隐私和隐私设置的其他功能。
在各实施例中,使得开发者能够向仪表板面板应用118注册他们的小组件。例如,每个小组件所有者/开发者可以提供具有指定名称的小组件清单(例如,元数据的JSON文件),例如widget_manifest.json。清单及其所指向的任何资产(例如,图像文件)被提供以并入仪表板面板应用118中,并且可以作为上述初始化合同的一部分来提供。这些文件称为注册文件。在一个实施例中,开发者可以被允许提供更新的小组件清单以替换现有的小组件清单以启用修改的(例如,增加的、减少的)小组件功能。
III.仪表板浏览模式
在一些实施例中,除了显示小组件之外,或者作为备选,仪表板面板应用可以显示来自其他源的内容,诸如内容推送服务(例如,新闻推送服务)。例如,仪表板面板应用可以被配置为显示来自在线新闻文章的标题、来自各种网页的亮点、来自天气应用的天气数据、体育数据、金融数据、博客帖子等。推送服务可以聚集来自多个内容源的内容。在一些实施例中,推送服务可以被配置为基于账户简档来标识与用户或账户相关的内容。账户简档可以包括显式或隐式的用户偏好、地理位置信息、人口统计信息等。推送服务可以在其上要呈现内容的本地计算设备(例如,客户端)上、在云中、或者部分在本地和部分在云中执行。内容推送服务可以被配置为与聚合内容的一个或多个服务通信,以获得要在用户计算设备处的仪表板面板中显示的内容。在一些实施例中,用户可以从一个或多个用户账户中选择以访问来自内容推送服务的内容(例如,通过在仪表板UI设置菜单中输入或选择用户账户信息)。此外,在一些实施例中,可以利用用于取回小组件的服务数据的相同用户账户信息来访问来自内容推送服务的内容。
在一些实施例中,仪表板面板118可以被配置为通过促进上下文连续性来管理内容沉浸式体验,上下文连续性允许用户滚动来自多个端点的标题和亮点,更深入地挖掘吸引他们兴趣的主题,并且同时从他们离开的地方继续浏览标题。内容沉浸式体验可以通过呈现可滚动内容卡(例如,推送服务卡和/或小组件)并且响应于对内容卡的选择而并排呈现包括具有可滚动内容卡的一个窗格和包括与所选内容卡相关联的附加或扩展内容的独立可滚动内容沉浸式视图窗格来管理。
例如,图10示出了根据示例实施例的用于呈现包括可滚动内容卡和内容沉浸式窗格的仪表板的系统1000的框图。如图10所示,系统1000包括经由网络108彼此通信地耦合的计算设备102、推送服务服务器1050、第一服务器104A和第二服务器104B。计算设备102包括一个或多个处理器106、存储器144和显示屏110。存储装置144存储操作系统(OS)116、仪表板面板应用118、沉浸式体验管理器1002和web浏览器应用1070。显示屏110包括基本图形画布120、仪表板面板视图1022、内容卡的可滚动布置1024(其可被称为可滚动布置1024)和内容沉浸式查看器窗格1028。可滚动布置1024可以包括第一内容卡1026A和第二内容卡1026B到第N内容卡1026N,其可以被称为内容卡1026A-1026N。内容沉浸式查看器窗格1028包括附加内容视图1046。推送服务服务器1050托管内容搜索引擎1052、内容存储装置1054、内容分类器1056、内容选择器1058和账户简档数据1060。如上所述,第一服务器104A托管第一服务112A,第二服务器104B托管第二服务112B。下面更详细地描述系统1000的这些特征。
上面关于在仪表板面板122中构成和呈现小组件描述了仪表板面板应用118,然而,仪表板面板应用118可以被附加地配置为构成各种类型的内容卡并使其呈现,诸如可以显示从推送服务服务器1050接收的数据的内容推送卡。推送服务服务器1050可以被配置为从多个内容源取回和聚合内容(例如,新闻文章、网页、书籍、音频系列、视频、天气数据、体育数据、金融数据、博客帖子),并且随着时间的推移将更新的内容递送到计算设备102。例如,内容搜索引擎1052可以被配置为从多个内容提供方(例如,数字新闻发布者、各种网站、社交媒体帖子)取回内容项并将内容项存储在内容存储装置1054中。内容分类器1056可以被配置为相对于例如主题、流行度、趋势状态、目标人口统计、地理位置和时间新鲜度对存储在内容存储装置1054中的内容进行分类和/或归类。内容选择器1058可以被配置为通过比较或匹配账户简档数据1060和与内容项相关联的分类信息来标识与一个或多个用户账户相关的一个或多个内容项。例如,除了账户凭证信息(例如,用户标识符(ID)和密码)之外,账户简档数据1060可以包括与账户相关联的用户或用户组的显式或隐式内容偏好(例如,用户经由配置菜单输入的偏好、从应用中的用户活动导出的偏好、浏览历史)。尽管推送服务服务器1050被示出在相对于计算设备102(例如,客户端)的云计算环境中,但是关于推送服务服务器1050描述的功能可以在计算设备102(其中要显示内容卡)上、在云中(例如,推送服务服务器1050)、或部分本地和部分在云中执行。内容选择器1058可以被配置为选择要在计算设备102上的仪表板面板视图1022中显示的特定内容推送(例如,新闻推送)的一个或多个分类的内容项。
在一些实施例中,仪表板面板应用118可以被配置为使得呈现用于个性化内容推送(例如,新闻推送)的交互菜单。例如,菜单可以作为与可滚动布置1024中的其他内容卡一起的内联卡或者作为弹出菜单来提供。在这点上,用户可以选择菜单卡中显示的控件,这些控件定义了用户希望在其新闻推送中接收哪些主题(例如,电影、旅行、技术、食物、游戏、流媒体)。用户的选择可以与他们的(多个)账户相关联,并被内容选择器1058用来过滤他们的新闻推送的内容。备选地或另外地,对于一些内容推送,内容选择器1058可以选择默认的内容项集合(例如,而不是为特定用户或组账户定制的内容)。
一旦为认证了用户的账户凭证,仪表板面板应用118就可以被配置为经由网络108为用户自动从推送服务服务器1050取回随着时间的推移新发布和/或更新的内容。对于为内容推送选择的每个内容项,推送服务服务器1050可以向计算设备102提供内容项的子集或表示推送内容组件中的内容项(例如,新闻标题、文本摘要、引语、代表性照片、图形)和/或相关信息(例如,作者、内容源)的缩减的内容量。仪表板面板应用118可以被配置为使得在仪表板面板122中的可滚动布置1024中的一个或多个相应内容元素(例如,内容卡)呈现在订阅源中。例如,内容卡可以包括第一内容卡1026A到第N内容卡1026N。例如,内容卡可以被称为内容推送卡、视频框或新闻卡。每个显示的内容卡可以包括从推送服务服务器1050或从原始内容源(例如,网站)接收的相应内容项的子集或与相应内容项相关的信息。内容卡可包括交互式元素(例如,点击目标),其提供到完整的相应内容项的导航链接(例如,在推送服务服务器1050处或在诸如网站等最初可能已经访问了相应内容项的另一资源处)。例如,整个内容卡可以包括点击目标。多个内容卡可以显示在仪表板面板1022中,并且可以是可滚动的。例如,多个内容卡(例如,内容卡1026A-1026N)可以布置在仪表板面板视图1022的可滚动布置1024中,并且用户可以与该可滚动布置交互以滚动这些卡(例如,在触摸屏中向上/向下或向左/向右滑动、转动鼠标滚轮、点击和/或拖动滚动条、使用诸如上、下、左或右键的键盘方向键,经由麦克风输入语音命令)。
图10的仪表板面板应用118可以以各种方式配置并且可以以各种方式操作,以执行这些和进一步的功能。例如,图11示出了根据示例实施例的用于在包括可滚动内容卡和可选择展开视图的沉浸式体验中呈现仪表板面板视图流的计算设备中的方法的流程图1100。流程图1100可以由仪表板面板应用118、仪表板面板呈现器308、沉浸式体验管理器1002和内容沉浸式查看器1222来实现。出于说明的目的,参考图10和12描述流程图1100。图12示出了根据示例实施例的用于在包括可滚动内容卡和可选择展开视图的沉浸式体验中呈现仪表板面板视图流的系统1200的框图。
如图12所示,存储装置144存储仪表板面板应用118、配置数据1230和内容高速缓存1250。仪表板面板应用118包括内容取回器1204、沉浸式体验管理器1002、仪表板面板构成器1206、内容沉浸式查看器1222和仪表板面板呈现器308。配置数据1230包括内容卡定制数据1232、仪表板设置数据1234和用户账户信息1236。内容高速缓存1250可以存储第一内容组件1252A和第二内容组件1252B到第N内容组件1252B(即,内容组件1252A-1252N)。
(多个)处理器106可以被配置为例如在用户启动时执行仪表板面板应用118。内容取回器1204可以被配置为使用由用户输入的或存储在用户账户信息1236中的凭证(例如,用于登录OS116的凭证或从账户管理器选择的凭证)登录到推送服务服务器1050。内容取回器1204可以访问来自推送服务服务器1050的内容推送,该推送服务服务器1050可以包括多个推送内容组件(如以上参考图10所述)。内容取回器1204可以将推送内容组件存储在内容高速缓存1250和/或另一存储区域中作为内容组件1252A-1252N中的一个或多个,并且可以在仪表板面板应用118运行时随着时间推移(例如,周期性地)取回和存储更新的或新的推送内容组件。在一些实施例中,内容取回器1204可以(例如,从本地或远程应用或网站)访问其他类型的内容组件,并且还可以将内容存储在内容高速缓存1250中作为内容组件1252A-1252N中的一个或多个。例如,除了从推送服务服务器1050取回内容组件之外,内容取回器1204可以被配置为聚集本地内容或经由网络108从网站取回的内容卡的内容。在这点上,内容卡的内容组件的选择可以基于存储在用户账户信息1236中的用户偏好(例如,诸如电影、旅行、技术、食物、游戏、流媒体之类的感兴趣的主题)。
图11的流程图1100从步骤1102开始。在步骤1102中,使得第一仪表板面板视图呈现在基本图形画布上,该基本图形画布包括多个内容卡的第一可滚动布置,其中每个内容卡包括与相应内容项相关的信息。如下所述,仪表板面板构成器1206可以被配置为组成一种或多种样式的内容卡1026和一种或多种样式的可滚动内容卡布置1024,用于在仪表板面板视图1022中显示(例如,不同大小或形状的卡、垂直的卡列、水平的卡行、层叠的卡和/或其他的卡的排列)。多个内容卡1026A-1026N可以包括一个或多个推送内容卡、小组件和/或表示来自其他应用的内容(例如,来自诸如日历应用的本地或远程应用的信息)的卡。如上所述,每个内容卡1026A-1026N中包括的内容可以包括相应内容项的子集,或者来自原始源(例如,网站、推送服务服务器、应用)的与相应内容项相关的信息。
仪表板面板构成器1206可以被配置为访问和/或选择一个或多个缓存的内容卡组件1252A-1252N,并且可以访问内容卡定制数据1232和/或仪表板设置数据1234,以构成包括可滚动布置1024的仪表板面板视图1022。内容卡定制数据1232可以包括用于内容卡的设计特征(例如,形状、大小、边框、焦点)的参数。仪表板设置1234,其可以包括用于配置可滚动布置1024的设计参数(例如,可滚动布置1024的屏幕位置、可滚动布置的取向、可滚动布置中的卡片的并排图案、可滚动布置中的卡级联图案、可滚动布置的主题(例如,亮、暗))。仪表板设置1234还可以包括用于确定哪些类型的卡将被包括在仪表板面板视图1022中的参数(例如,内容卡、推送内容卡、小组件)(见图13-图15)。在一个实施例中,仪表板面板应用118可以被配置为用布置在两列中的矩形内容卡组成可滚动布置1024,其中布置位于图形画布120的左侧或右侧。类似地,所呈现的小组件506A-506F的视图可以位于仪表板面板视图1022中的可滚动布置1024的旁边(见图15)。每个内容卡可包括一个或多个控件,使得用户可与该卡交互(例如,卡选择控件或到诸如推送服务服务器1050处的相应内容项的导航链接或从其原始获得相应内容项的另一资源)。仪表板面板构成器1206可以被配置为构成描述用于呈现的每个内容卡的视图的文档。例如,仪表板面板构成器1206可以生成仪表板面板视图1022,其包括XML文档、HTML文档或包含用于呈现的仪表板面板视图1022的描述的DOM代码的其他格式文档。
仪表板面板呈现器308可以包括呈现引擎,其可以被配置为将DOM代码呈现到包括可滚动布置1024的仪表板面板视图1022中。例如,仪表板面板呈现器308可以接收仪表板面板视图1260(例如,以文档形式),并且将仪表板面板视图1260呈现为仪表板面板视图1262(例如,以像素数据的形式)。仪表板面板视图1022可以基于仪表板面板视图1262来显示,并且可以包括可滚动布置1024的呈现视图,该可滚动布置1024包括内容卡1026A-1026N的至少一部分。在一些实施例中,并非所有内容卡1026A-1026N可以一起安装在显示屏110上。例如,在任何一次,一些内容卡可能不可见,但可以以可滚动布置1024呈现或旋转,例如,作为用户滚动输入(如上所述)的结果。如上所述,仪表板面板呈现器308可以包括类似于web浏览器的呈现引擎,但没有完整的浏览器功能。呈现引擎可以被配置为执行可滚动布置1024的每个内容卡视图框内的内容的页面布局和呈现。
在步骤1104中,接收对多个内容卡中的第一内容卡的选择,并且作为响应,执行以下步骤。例如,用户可以与内容卡1026A-1026N中的特定卡内的控制元件交互(例如,经由鼠标点击、触摸输入、光标悬停、经由麦克风的语音输入)。控制元素可以包括到内容提供方(例如,推送服务服务器1050、网站或其他资源)的导航链接,该导航链接提供对与所选内容卡相关的相应内容项的访问。
在步骤1106中,存储第一仪表板面板视图中的多个内容卡的可滚动布置的第一滚动状态。例如,响应于检测到用户与第一内容卡的交互(例如,选择),沉浸式体验管理器1002可以被配置为存储仪表板面板视图1022的可滚动布置1024的状态。例如,在一个实施例中,沉浸式体验管理器1002可以被配置为记录内容组件1252A-1252N的哪些组件以及使用了哪些参数(例如,内容卡定制数据1232和/或仪表板设置数据1234)来组成当前可滚动布置1024的内容卡。此外,沉浸式体验管理器1002可以被配置为存储内容卡的当前滚动状态(例如,当接收到用户交互输入时哪些内容卡1026A-1026N在仪表板面板视图1022中可见)。
在步骤1108中,第一仪表板面板视图从显示消除。例如,进一步响应于检测到用户与特定内容卡的交互,沉浸式体验管理器1002可以被配置为开始控制重排(reflow)第一仪表板面板视图1022以呈现沉浸式体验的过程。沉浸式体验可以包括在内容沉浸式查看器窗格1028中与可滚动布置1024的第二版本一起(例如,与之并排)显示与所选择的特定内容卡相关的附加或扩展内容。可滚动布置1024的第二版本可以在大小和/或位置上被修改,以适应内容沉浸式查看器窗格1028在第二仪表板面板视图1022内的显示。仪表板面板应用118可以被配置为停止显示仪表板面板视图1022的第一版本。然而,在从第一显示的仪表板面板视图1022到第二显示的仪表板面板视图1022的转换期间,用户可能感觉不到空白屏幕,因为第一显示的视图可以保持到显示下一个视图,或者可以为视图之间的转换显示其他效果。
在步骤1110中,可以在显示屏中的基本图形画布上的第一内容沉浸式查看器窗格中显示与所选择的第一内容卡相关联的相应内容项的附加内容。例如,沉浸式体验管理器1002可以被配置为控制内容取回器1204经由网络108导航到内容提供方,并且访问对应于所选内容卡的内容组件1252的相应内容项(附加或扩展内容)(例如,利用在内容卡中与之交互的网络地址(例如,URL))。可以从推送服务服务器1050或存储相应内容项的另一内容资源(例如,网站或其他服务器)取回相应内容项。沉浸式体验管理器1002可以控制内容沉浸式查看器1222在基本图形画布120上组成和呈现内容沉浸式窗格1028。内容沉浸式面板1028可以包括与所选内容卡相关的相应内容项(例如,完整文章、图像、视频、音频)的附加内容视图1046。例如,如果在所选内容卡中显示了新闻标题,则对应的附加内容视图1046可以显示对应于该新闻标题的完整新闻。
内容沉浸式查看器1222可以包括例如web查看器、视频查看器、照片查看器和/或图形查看器,其可以被配置为允许用户查看相应的内容项并与其交互,但可以不包括完整的web浏览器的所有特征,诸如地址栏、搜索栏、专用导航按钮等。内容沉浸式查看器1222可以以各种方式实现。例如,内容沉浸式查看器1222可以集成或嵌入仪表板面板应用118内。备选地或附加地,内容沉浸式查看器1222或查看器的一部分(例如,查看器的功能子集)可以被实现为在计算设备102中运行的单独或独立的(多个)应用。此外,在一些实施例中,仪表板面板构成器1206和/或仪表板面板呈现器308可以执行内容沉浸式查看器1222的一些或所有功能。
在步骤1112中,第二仪表板面板视图可以与第一内容沉浸式查看器窗格一起被呈现在基本图形画布上。第二仪表板面板视图可以包括多个内容卡的第二可滚动布置。例如,沉浸式体验管理器1002可以被配置为控制仪表板面板应用118来组成可滚动布置1024的第二版本。仪表板面板应用118可以被配置为取回所存储的滚动状态,该滚动状态可以指示哪些内容组件1252A-1252N以及哪些参数(例如,内容卡定制数据1232和/或仪表板设置数据1234)被用来组成先前可滚动布置1024的内容卡。仪表板面板应用118可以被配置为利用取回的参数和/或附加参数来组成第二仪表板面板视图1260(例如,以文档形式),该第二仪表板面板视图1260被组成为与内容沉浸式查看器窗格1028一起定位(例如,与内容沉浸式查看器窗格1028并排)。第二仪表板面板视图1260,其可以基于配置数据1230在大小、形状、方向或相对于第一(先前)仪表板面板视图1260的其他方面进行修改。仪表板面板呈现器308可以被配置为接收第二仪表板面板视图1260并且将第二仪表板面板视图1260呈现为第二仪表板面板视图1262(例如,以像素数据的形式)。可以基于第二仪表板面板视图1262的像素数据来显示第二仪表板面板视图1022,并且第二仪表板面板视图1022可以包括第二版本的可滚动布置1024的渲染视图。
在步骤1114中,可以将第一滚动状态应用于第二仪表板面板视图。例如,内容卡1024的可滚动布置的第二版本可以包括内容卡1026A-1026N的至少一部分,其中在任一时刻,一些内容卡可能在显示屏110上不可见,但由于用户的滚动输入(如上所述),可以在可滚动布置1024中浮出水面。在用户选择第一(先前)版本的可滚动布置1024中的内容卡或与其交互时,内容卡1026A-1026N可能已经以特定位置和/或顺序显示。通过存储滚动状态,可滚动内容卡的上下文(例如,包括位置和/或顺序)被保留,并且可以通过应用所存储的滚动状态参数在可滚动布置1024的第二版本中恢复。
可滚动布置1024可以以各种方式显示。例如,根据示例实施例,图13-图15示出了在进入沉浸式体验视图之前的内容卡的可滚动布置1024的示例性显示1300、1400和1500。例如,图13包括显示1300,其包括在基本图形画布120上的仪表板面板视图1022中呈现的控件506A-506F的可滚动布置。仪表板面板视图1022可以包括标题,该标题可以包括各种信息,诸如问候语“早上好”和当前时间。可以以各种方式启动包括可滚动布置1024的仪表板面板视图1022。例如,用户可以选择(例如,点击)任务栏图标或者可以使用触摸输入手势来从图形基础画布120的一侧拖拽仪表板打开。
图14包括显示器1400,其包括在基本图形画布120上的仪表板面板视图1022中呈现的内容推送卡1026A-1026N的可滚动布置1024。如上所述,仪表板面板视图1022可以包括标题,并且可以以各种方式启动(例如,通过选择任务栏图标或触摸输入手势以从图形基础画布120的一侧拖拽仪表板打开)。
图15包括显示器1500,其包括两个可滚动布置,其中窗口部件506A-506F位于仪表板面板视图1022的一侧,内容推送卡1026A-1026N位于仪表板面板视图1022的第二侧(例如,分别位于左侧和右侧)。这两个可滚动布置可以以各种方式启动。在一个示例中,包括控件506A-506F的可滚动布置可以在图形基础画布120的一侧(例如,左侧)上启动,并且可以通过例如使用触摸和拖动手势从包括控件506A-506F的可滚动布置中拖出侧抽屉(未示出)来启动内容卡1026A-1026N的可滚动布置1024。系统1500中还示出了在层叠视图1524中显示的多个内容卡1026A-1026N的内容卡,该层叠视图1524包括可滚动布置1024内的内容卡扇形堆。层叠视图1524中的内容卡可以作为诸如点击和拖拽、语音命令或触摸屏手势的用户输入的结果而滚动,触摸屏手势诸如在堆叠中的顶部内容卡内的拖拽或轻击。在一些实施例中,沉浸式体验管理器1002可以被配置为在可滚动布置1024中自动滚动内容卡(例如,可以自动滚动在层叠视图或并排平面图视图中显示的内容卡)。在一个示例中,沉浸式体验管理器1002可以被配置为基于时间间隔来循环浏览可用内容卡,这可以将用户的注意力吸引到新内容上。尽管图13-图15中所示的可滚动布置1024包括小组件或诸如推送内容卡的其他类型的内容卡,但是本公开不限于此,并且在一些实施例中,单个可滚动布置1024可以包括多种类型的内容卡,诸如小组件、推送内容卡、应用内容卡等的组合。
图16包括根据示例实施例的显示1600,其示出了示例内容沉浸式体验显示,其包括第二仪表板面板视图,包括多个内容卡的第二可滚动布置和第一内容沉浸式查看器窗格。例如,系统1600示出了作为执行流程图1100的步骤1102-1114的结果而生成的示例显示。响应于用户选择或与第一可滚动布置1024中的多个内容卡1026A-1026N中的所显示的内容卡(例如,推送内容卡)中的控制元素(例如,导航链接或内容卡区域中的任何点)交互,沉浸式体验管理器1002可以保存当前滚动状态并控制内容取回器1204以(例如,从推送服务服务器1050或对应于导航链接的另一内容资源)取回与所选内容卡相关的相应内容项。可以解除包括第一可滚动布置1024的第一仪表板面板视图1022。沉浸式体验管理器1002可以控制内容沉浸式查看器1222将内容沉浸式查看器窗格1028中的相应内容项组成并呈现为与所选内容卡相关的相应内容项(例如,作为完整新闻文章)的附加内容视图1046。此外,沉浸式体验管理器1002可被配置为控制仪表板面板应用118在第二仪表板面板视图1022中组成可滚动布置1024的第二版本,该第二版本可在内容沉浸式查看器窗格1028旁边呈现。第二可滚动布置可以相对于第一可滚动布置1024在大小、形状、取向或其他方面进行修改,以适应附加内容视图1046的显示,附加内容视图1046可以具有比内容卡更大的尺寸。可以通过应用所存储的滚动状态来保留在选择内容卡之前的第一可滚动布置1024中的用户滚动活动的上下文。响应于用户输入,可以独立地滚动具有第二可滚动布置1024的第二仪表板面板视图1022和具有附加内容视图的第一内容沉浸式查看器窗格1046中的每一个。
图10的沉浸式体验管理器1002可以以各种方式配置并且可以以各种方式操作,以执行这些和进一步的功能。例如,图17示出了根据示例实施例的用于在显示第一内容沉浸式窗格的同时响应第二可滚动布置1024中的内容卡的第二选择的方法的流程图1700。流程图1700可以由沉浸式体验管理器1002和内容沉浸式查看器1222来实现。出于说明的目的,参考图10、图12和图16描述流程图1700。
图17的流程图1700从步骤1702开始。在步骤1702中,接收对第二仪表板面板视图中的多个内容卡中的第二内容卡的第二选择,并且作为响应,执行以下步骤。例如,可以接收用户对第二可滚动布置1024中的多个内容卡1026A-1026N中的第二内容卡的选择或与第二内容卡的交互(例如,在导航链接处或内容卡区域中的任何点)。
在步骤1704中,可以继续显示具有多个内容卡的第二可滚动布置的第二仪表板面板视图。例如,仪表板面板应用118可以继续显示第二可滚动布置1024,并且可以根据第二可滚动布置1024的内容卡中的用户输入(例如,内容卡滚动输入)来维护和更新第二可滚动布置1024的可滚动状态。
在步骤1706中,可以在具有第二仪表板面板视图的基本图形画布上的第二内容沉浸式查看器窗格中显示与中的第二所选内容卡相关联的相应内容项的附加内容。例如,沉浸式体验管理器1002可以控制内容取回器1204来取回与第二所选内容卡相关的第二相应内容项(例如,从推送服务服务器1050或由与导航交互链接指示的另一内容资源)。沉浸式体验管理器1002可以控制内容沉浸式查看器1222在基本图形画布120上的第二内容沉浸式查看器窗格1028中组成并呈现第二相应内容项,作为与第二所选内容卡相关的相应第二内容项(例如,作为第二全新闻文章)的第二附加内容视图1046。第二内容沉浸式查看器窗格1028可以相对于包括第一内容沉浸式查看器窗格1028的第一选项卡显示在第二选项卡中,或者可以在显示第二内容沉浸式查看器窗格1028之前消除第一内容沉浸式查看器窗格1028。
图10的沉浸式体验管理器1002可以以各种方式配置并且可以以各种方式操作,以执行这些和进一步的功能。例如,图18示出了根据示例实施例的用于响应用户与第一内容沉浸式窗格内的导航链接的交互的方法的流程图1800。流程图1800可以由沉浸式体验管理器1002和web浏览器来实现。出于说明的目的,参考图10、图12和图16描述流程图1800。
图18的流程图1800从步骤1802开始。在步骤1802中,接收与第一内容沉浸式查看器窗格中与第一选择的内容卡相关联的相应内容项的附加内容内的导航链接的交互,并且作为响应,执行以下步骤。例如,如图16所示,内容沉浸式查看器窗格1028中的附加内容视图1046包括导航链接1602,用户可以与该导航链接1602交互以导航到网站(例如,用于导航到诸如CNN网站的网站的网络地址或URL)。
在步骤1804中,存储第二仪表板面板视图的第二滚动状态或第一内容沉浸式查看器窗格的滚动状态中的至少一个。例如,沉浸式体验管理器1002可以存储第二可滚动布置1024的第二滚动状态和/或第一沉浸式查看器窗格1028的滚动状态,以在显示屏110中保留用户体验的上下文。例如,可以存储诸如滚动位置、内容卡定制数据1232、仪表板设置数据1234之类的信息,这些信息在与导航链接交互的交互时或大约在与导航链接交互时属于第二可滚动布置1024,以用于潜在的稍后应用。
在步骤1806中,可以调用外部应用来导航到由导航链接指定的资源,其中来自指定资源的结果内容由外部应用显示在显示屏中。例如,响应于用户与导航链接1602(例如,网络地址或URL)的交互,沉浸式体验管理器1002可以被配置为调用外部应用(例如,图10的web浏览器应用1070)。web浏览器应用1070可以被配置为导航到该网络地址,并在显示屏110的浏览器界面中显示来自该网络地址处的网站的网页。在一些实施例中,第二可滚动布置1024和内容沉浸式查看器面板1028可以在显示浏览器界面的同时被消除。
在一些实施例中,如果接收到导致从外部应用返回的用户交互(例如,关闭web浏览器应用1070),则沉浸式体验管理器1002可以被配置为控制仪表板面板应用118在显示屏110中的基本图形画布120上呈现包括多个内容卡1026A-1026N的第三可滚动布置1024的第三仪表板面板视图1022,并且可以控制内容沉浸式查看器1222来呈现包括第二附加内容视图1046的第二内容沉浸式查看器窗格1020。可以将第二仪表板面板视图1022的第二滚动状态的任何先前存储的滚动状态或第一内容沉浸式查看器窗格1028的滚动状态应用于第三仪表板面板视图1022或第二内容沉浸式查看器窗格1028。在一些实施例中,所存储的(多个)滚动状态可以在指定的时间段之后期满。如果所存储的(多个)滚动状态在用户关闭外部应用之前期满,则仪表板面板应用118可以被配置为在用户关闭外部应用(web浏览器1070)之后显示第一可滚动布置1024或默认可滚动布置1024。
在另一实施例中,第二可滚动布置1024可以继续与显示导航网页的浏览器界面并排显示。
IV.示例移动和固定设备实施例
上面参考图1-图18描述的系统和方法可以以硬件或与软件和/或固件中的一个或两者相结合的硬件来实现。例如,仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312、沉浸式体验管理器1002、web浏览器应用1070、仪表板面板构成器1206、内容沉浸式查看器1222和流程图200、700、800、900、1100、1700和/或1800可以各自实现为被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码/指令。备选地,仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312、沉浸式体验管理器1002、web浏览器应用1070、仪表板面板构成器1206、内容沉浸式查看器1222和流程图200、700、800、900、1100、1700和/或1800可以实现为硬件逻辑/电路。在一个实施例中,可以在一个或多个SoC(片上系统)中实现仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312、沉浸式体验管理器1002、web浏览器应用1070、仪表板面板构成器1206、内容沉浸式查看器1222和流程图200、700、800、900、1100、1700和/或1800。SoC可以包括集成电路芯片,该集成电路芯片包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP))、存储器、一个或多个通信接口和/或其他电路中的一个或多个,并且可以可选地执行接收到的程序代码和/或包括用于执行功能的嵌入式固件。
图19示出了包括各种可选硬件和软件组件的示例性移动设备1900的框图,通常示为组件1902。在一个实施例中,计算设备102可以实现为移动设备1900。注意,为了便于说明,任何组件1902都可以与任何其他组件1902通信,尽管并未示出所有连接。移动设备1900可以是本文其他地方描述或提及的或以其他方式已知的各种移动设备中的任何一种(例如,蜂窝电话、智能手机、手持计算机、个人数字助理(PDA))。并且可以允许通过一个或多个通信网络1904(例如蜂窝或卫星网络)或与局域网或广域网与一个或多个移动设备进行无线双向通信。
所示的移动设备1900可以包括称为处理器电路1910的控制器或处理器,用于执行诸如信号编码、图像处理、数据处理、输入/输出处理、功率控制和/或其他功能之类的任务。处理器电路1910是在作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或芯片)中实现的电和/或光学电路。处理器电路1910可以执行存储在计算机可读介质中的程序代码,诸如一个或多个应用1914的程序代码、操作系统1912、存储在存储器1920中的任何程序代码等。操作系统1912可以控制组件1902的分配和使用并支持一个或多个应用程序1914(也称为应用、“app”)。应用程序1914可以包括普通移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)和任何其他计算应用(例如,文字处理应用、地图应用、媒体播放器应用)。
如图所示,移动设备1900可以包括存储器1920。存储器1920可以包括不可移除存储器1922和/或可移除存储器1924。不可移除存储器1922可以包括RAM、ROM、闪存、硬盘或其他公知的存储器存储技术。可移除存储器1924可以包括闪存或在GSM通信系统中公知的用户识别模块(SIM)卡,或其他公知的存储器存储技术,例如“智能卡”。存储器1920可用于存储用于运行操作系统1912和应用1914的数据和/或代码。示例数据可以包括网页、文本、图像、声音文件、视频数据或要经由一个或多个有线或无线网络发送给一个或多个网络服务器或其他设备和/或从一个或多个网络服务器或其他设备接收的其他数据集。存储器1920可用于存储诸如国际移动用户标识(IMSI)之类的订户标识和诸如国际移动设备标识(IMEI)之类的设备标识。这样的标识符可被发送给网络服务器以标识用户和设备。
多个程序可以存储在存储器1920中。这些程序包括操作系统1912、一个或多个应用程序1914以及其他程序模块和程序数据。这样的应用程序或程序模块的示例可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括参考图1-图18描述的实施例。
移动设备1900可以支持一个或多个输入设备1930,诸如触摸屏1932、麦克风1934、相机1936、物理键盘1938和/或轨迹球1940,以及一个或多个输出设备1950,诸如扬声器1952和显示器1954。
其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。某些设备可以提供多个输入/输出功能。例如,触摸屏1932和显示器1954可以组合在单个输入/输出设备中。输入设备1930可以包括自然用户界面(NUI)。
(多个)无线调制解调器1960可以耦合到(多个)天线(未示出),并且可以支持处理器电路1910和外部设备之间的双向通信,这在本领域中是众所周知的。(多个)调制解调器1960被一般地示出,并且可以包括用于与移动通信网络1904和/或其他基于无线电的调制解调器(例如,蓝牙1964和/或Wi-Fi 1962)通信的蜂窝调制解调器1966。蜂窝调制解调器1966可以被配置为根据任何适当的通信标准或技术,例如GSM、3G、4G、5G等来实现电话呼叫(并且可选地发送数据)。(多个)无线调制解调器1960中的至少一个典型地被配置为与一个或多个蜂窝网络通信,例如用于单个蜂窝网络内、蜂窝网络之间、或者移动设备和公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。
移动设备1900还可以包括至少一个输入/输出端口1980、电源1982、卫星导航系统接收器1984(例如全球定位系统(GPS)接收器)、加速度计1986和/或物理连接器1990,其可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口。所示组件1902不是必需的,也不是包罗万象的,因为如本领域技术人员所认识到的,可以不存在任何组件,并且可以另外存在其他组件。
此外,图20描绘了其中可以实现实施例的计算设备2000的示例性实现。例如,计算设备102和/或服务器104A-104C和1050中的任何一个可以实现为计算设备2000。本文提供的对计算设备2000的描述是为了说明的目的而提供的,并且不打算是限制性的。实施例可以在其他类型的计算机系统中实现,如(多个)相关领域的技术人员所公知的。
如图20所示,计算设备2000包括称为处理器电路2002的一个或多个处理器、系统存储器2004、以及将包括系统存储器2004的各种系统组件耦合到处理器电路2002的总线2006。处理器电路2002是在作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或芯片)中实现的电和/或光学电路。处理器电路2002可以执行存储在计算机可读介质中的程序代码,诸如操作系统2030的程序代码、应用程序2032、其他程序2034等。总线2006表示几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。系统存储器2004包括只读存储器(ROM)2008和随机存取存储器(RAM)2010。基本输入/输出系统2012(BIOS)存储在ROM 2008中。
计算设备2000还具有以下驱动器中的一个或多个:硬盘驱动器2014,用于读取和写入硬盘;磁盘驱动器2016,用于读取或写入可移除磁盘2018;以及光盘驱动器2020,用于读取或写入可移除光盘2022,诸如CD ROM、DVD ROM或其他光学介质。硬盘驱动器2014、磁盘驱动器2016和光盘驱动器2020分别通过硬盘驱动器接口2024、磁盘驱动器接口2026和光盘驱动器接口2028连接到总线2006。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。虽然描述了硬盘、可移动磁盘和可移动光盘,但也可以使用其他类型的基于硬件的计算机可读存储介质来存储数据,例如闪存卡、数字视频盘、RAM、ROM和其他硬件存储介质。
多个程序模块可以存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统2030、一个或多个应用程序2032、其他程序2034和程序数据2036。应用程序2032或其他程序2034可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括以上参考图1-图18描述的实施例。
用户可以通过诸如键盘2038和定点设备2040的输入设备将命令和信息输入到计算设备2000中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、触摸屏和/或触摸板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统等。这些和其他输入设备通常通过耦合到总线2006的串口接口2042连接到处理器电路2002,但也可以通过诸如并行端口、游戏端口或通用串行总线(USB)的其他接口连接。
显示屏2044还通过诸如视频适配器2046的接口连接到总线2006。显示屏2044可以在计算设备2000外部或并入计算设备2000。显示屏2044可以显示信息,也可以是用于接收用户命令和/或其他信息的用户界面(例如,通过触摸、手指手势、虚拟键盘,通过提供轻触输入(其中用户轻按并快速释放显示屏2044)、通过提供“触摸并保持”输入(其中用户在显示屏2044上触摸并保持其手指(或触摸仪器)达预定时间段)、通过提供超过预定压力阈值的触摸输入等)来显示信息。除了显示屏2044之外,计算设备2000还可以包括其他外围输出设备(未示出),诸如扬声器和打印机。
计算设备2000通过适配器或网络接口2050、调制解调器2052或用于在网络上建立通信的其他装置连接到网络2048(例如,互联网)。如图20所示,可以是内置或外置的调制解调器2052可以经由串口接口2042连接到总线2006,或者可以使用包括并行接口的另一种接口类型连接到总线2006。
如本文所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”通常指的是物理硬件介质,诸如与硬盘驱动器2014、可移动磁盘2018、可移动光盘2022相关联的硬盘、诸如RAM、ROM、闪存卡、数字视频盘、zip盘、MEM、基于纳米技术的存储设备、以及其他类型的物理/有形硬件存储介质(包括图20的系统存储器2004)。这种计算机可读存储介质与通信介质(不包括通信介质)不同且不与其重叠。通信介质通常在诸如载波的调制数据信号中包含计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”是指其一个或多个特性以编码信号中的信息的方式设置或改变的信号。作为示例而非限制,通信媒体包括无线媒体,诸如声学、RF、红外和其他无线媒体,以及有线媒体。实施例还涉及这样的通信媒体。
如上所述,计算机程序和模块(包括应用程序2032和其他程序2034)可以存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。这样的计算机程序也可以经由网络接口2050、串口接口2052或任何其他接口类型来接收。这样的计算机程序在由应用执行或加载时使计算设备2000能够实现本文讨论的实施例的特征。因此,这样的计算机程序表示计算设备2000的控制器。
实施例还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。这样的计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备包、便携式记忆棒、存储卡和其他类型的物理存储硬件。
IV.附加示例实施例
在一个实施例中,计算设备包括:至少一个处理器电路,具有显示屏的显示器,以及操作系统(OS),被配置为由至少一个处理器电路执行。该OS被配置为在显示屏上呈现基本图形画布。计算设备还包括至少一个存储器,其存储被配置为由至少一个处理器电路执行的程序代码。该程序代码被配置为:使得第一仪表板面板视图呈现在基本图形画布上,第一仪表板面板视图包括多个内容卡的第一可滚动布置。每个内容卡包括与相应内容项相关的信息。响应于接收到对多个内容卡中的第一内容卡的选择,存储第一仪表板面板视图中的多个内容卡的可滚动布置的第一滚动状态。第一仪表板面板视图从显示消除,并且在显示屏中的基本图形画布上显示与第一内容沉浸式查看器窗格中的所选择的第一内容卡相关联的相应内容项的附加内容。使得第二仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上。第二仪表板面板视图包括多个内容卡的第二可滚动布置。将第一滚动状态应用于第二仪表板面板视图。
在前述计算设备的实施例中,多个内容卡包括内容推送卡或小组件中的至少一项。
在前述计算设备的实施例中,使得呈现内容沉浸式查看器窗格的内容沉浸式查看器被集成在使得呈现仪表板面板视图的程序代码内。
在前述计算设备的实施例中,第二仪表板面板视图位于显示屏的第一侧,并且第一内容沉浸式查看器窗格位于显示屏的第二侧。
在前述计算设备的实施例中,第二仪表板面板视图和第一内容沉浸式查看器窗格均可独立滚动。
在前述计算设备的实施例中,程序代码还被配置为响应于接收到在第二仪表板面板视图中对多个内容卡中的第二内容卡的第二选择,继续显示具有多个内容卡的可滚动布置的第二仪表板面板视图,并且在具有第二仪表板面板视图的基本图形画布上的第二内容沉浸式查看器窗格中显示与第二选择的内容卡相关联的相应内容项的附加内容。
在前述计算设备的实施例中,程序代码还被配置为响应于接收到与第一内容沉浸式查看器窗格中与第一所选内容卡相关联的相应内容项的附加内容中的导航链接的交互,存储第二仪表板面板视图的第二滚动状态或第一内容沉浸式查看器窗格的滚动状态中的至少一项,并且调用外部应用来导航到导航链接指定的资源,其中来自指定资源的结果内容由外部浏览器应用显示在显示屏中。
在前述计算设备的实施例中,响应于引起来自外部应用的返回的交互,使得包括多个内容卡的第三可滚动布置的第三仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上。应用第二仪表板面板视图的第二滚动状态和第一内容沉浸式查看器窗格的滚动状态中的任何先前存储的滚动状态。
在一个实施例中,一种方法由计算设备实现,该计算设备包括至少一个处理器、被配置为由至少一个处理器执行的操作系统(OS)以及具有显示屏的相关联的显示器。该OS被配置为在显示屏上呈现基本图形画布。该方法包括使得第一仪表板面板视图被呈现在基本图形画布上,该第一仪表板面板视图包括多个内容卡的第一可滚动布置,其中每个内容卡包括与相应内容项相关的信息。响应于接收到对多个内容卡中的第一内容卡的选择,存储第一仪表板面板视图中的多个内容卡的可滚动布置的第一滚动状态。来自显示器中的第一仪表板面板视图和与所选择的第一内容卡相关联的相应内容项的附加内容被显示在显示屏中基本图形画布上的第一内容沉浸式查看器窗格中。使得第二仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上。第二仪表板面板视图包括多个内容卡的第二可滚动布置。将第一滚动状态应用于第二仪表板面板视图。
在前述方法的实施例中,多个内容卡包括内容推送卡或小组件中的至少一个。
在前述方法的实施例中,使得呈现内容沉浸式查看器窗格的内容沉浸式查看器被集成在使得呈现仪表板面板视图的程序代码内。
在前述方法的实施例中,第二仪表板面板视图位于显示屏的第一侧,并且第一内容沉浸式查看器窗格位于显示屏的第二侧。
在前述方法的实施例中,第二仪表板面板视图和第一内容沉浸式查看器窗格均可独立滚动。
在前述方法的实施例中,响应于在第二仪表板面板视图中接收到对多个内容卡中的第二内容卡的第二选择,继续显示具有多个内容卡的可滚动布置的第二仪表板面板视图,并在具有第二仪表板面板视图的基本图形画布上的第二内容沉浸式查看器窗格中显示与第二所选内容卡相关联的相应内容项的附加内容。
在前述方法的实施例中,响应于接收到与第一内容沉浸式查看器窗格中与第一所选内容卡相关联的相应内容项的附加内容中的导航链接的交互,存储第二仪表板面板视图的第二滚动状态或第一内容沉浸式查看器窗格的滚动状态中的至少一个,并且调用外部应用来导航到由导航链接指定的资源。由外部浏览器应用在显示屏上显示来自指定资源的结果内容。
在前述方法的实施例中,响应于引起来自外部应用的返回的交互,使得包括多个内容卡的第三可滚动布置的第三仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上,并且应用第二仪表板面板视图的第二滚动状态和第一内容沉浸式查看器窗格的滚动状态中的任何先前存储的滚动状态。
在一个实施例中,计算机可读存储介质具有其上记录的程序指令。该程序指令在由一个或多个处理器执行时执行一种方法,该方法包括使得第一仪表板面板视图呈现在基本图形画布上,第一仪表板面板包括多个内容卡的第一可滚动布置。每个内容卡包括与相应内容项相关的信息。响应于接收到对多个内容卡中的第一内容卡的选择,存储第一仪表板面板视图中的多个内容卡的可滚动布置的第一滚动状态。第一仪表板面板视图将从显示消除。与所选择的第一内容卡相关联的相应内容项的附加内容被显示在显示屏中基本图形画布上的第一内容沉浸式查看器窗格中。使得第二仪表板面板视图与第一内容沉浸式查看器窗格一起呈现在基本图形画布上。第二仪表板面板视图包括多个内容卡的第二可滚动布置。将第一滚动状态应用于第二仪表板面板视图。
在前述计算机可读存储介质的实施例中,第二仪表板面板视图位于显示屏的第一侧,并且第一内容沉浸式查看器窗格位于显示屏的第二侧
在前述计算机可读存储介质的实施例中,第二仪表板面板视图和第一内容沉浸式查看器窗格均可独立滚动。
在前述计算机可读存储介质的实施例中,该方法还包括响应于接收到在第二仪表板面板视图中对多个内容卡中的第二内容卡的第二选择,继续显示具有多个内容卡的可滚动布置的第二仪表板面板视图,并在具有第二仪表板面板视图的基本图形画布上的第二内容沉浸式查看器窗格中显示与第二选择的内容卡相关联的相应内容项的附加内容。
VI.结论
虽然上面已经描述了本发明的各种实施例,但是应当理解,它们仅作为示例而不是限制地呈现。(多个)相关领域的技术人员可以理解,在不背离所附权利要求中定义的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明的广度和范围不应受任何上述示例实施例的限制,而应仅根据所附权利要求及其等同形式来限定。
Claims (15)
1.一种计算设备,包括:
至少一个处理器电路;
显示器,具有显示屏;
操作系统(OS),被配置为由所述至少一个处理器电路执行,所述OS被配置为在所述显示屏上呈现基本图形画布;以及
至少一个存储器,存储被配置为由所述至少一个处理器电路执行的程序代码,所述程序代码被配置为:
使得第一仪表板面板视图被呈现在所述基本图形画布上,所述第一仪表板面板视图包括多个内容卡的第一可滚动布置,每个内容卡包括与相应内容项相关的信息;
响应于接收到对所述多个内容卡中的第一内容卡的选择:
存储所述第一仪表板面板视图中的所述多个内容卡的所述可滚动布置的第一滚动状态;
将所述第一仪表板面板视图从显示消除;
在所述显示屏中的所述基本图形画布上的第一内容沉浸式查看器窗格中显示与所选择的所述第一内容卡相关联的所述相应内容项的附加内容;
使得第二仪表板面板视图与所述第一内容沉浸式查看器窗格一起被呈现在所述基本图形画布上,所述第二仪表板面板视图包括所述多个内容卡的第二可滚动布置;以及
将所述第一滚动状态应用于所述第二仪表板面板视图。
2.根据权利要求1所述的计算设备,其中所述多个内容卡包括内容推送卡或小组件中的至少一项。
3.根据权利要求1所述的计算设备,其中使得所述内容沉浸式查看器窗格被呈现的内容沉浸式查看器被集成在使得所述仪表板面板视图被呈现的所述程序代码内。
4.根据权利要求1所述的计算设备,其中所述第二仪表板面板视图位于所述显示屏的第一侧,并且所述第一内容沉浸式查看器窗格位于所述显示屏的第二侧。
5.根据权利要求1所述的计算设备,其中所述第二仪表板面板视图和所述第一内容沉浸式查看器窗格各自可独立地滚动。
6.根据权利要求1所述的计算设备,其中所述程序代码还被配置为:
响应于接收到对所述第二仪表板面板视图中的所述多个内容卡中的第二内容卡的第二选择:
继续显示具有所述多个内容卡的所述第二可滚动布置的第二仪表板面板视图;以及
在具有所述第二仪表板面板视图的所述基本图形画布上的第二内容沉浸式查看器窗格中显示与第二所选内容卡相关联的相应内容项的附加内容。
7.根据权利要求1所述的计算设备,其中所述程序代码还被配置为:
响应于接收到与所述第一内容沉浸式查看器窗格中的第一所选内容卡相关联的所述相应内容项的所述附加内容内的导航链接的交互:
存储所述第二仪表板面板视图的第二滚动状态或者所述第一内容沉浸式查看器窗格的滚动状态中的至少一项;以及
调用外部应用以导航到由所述导航链接指定的资源,其中来自所指定所述资源的结果内容由外部浏览器应用显示在所述显示屏中。
8.根据权利要求7所述的计算设备,响应于引起来自所述外部应用的返回的交互,包括:
使得包括所述多个内容卡的第三可滚动布置的第三仪表板面板视图与所述第一内容沉浸式查看器窗格一起被呈现在所述基本图形画布上;以及
应用所述第二仪表板面板视图的所述第二滚动状态和所述第一内容沉浸式查看器窗格的所述滚动状态中的任何先前所存储的滚动状态。
9.一种由计算设备实现的方法,所述计算设备包括至少一个处理器、被配置为由所述至少一个处理器执行的操作系统(OS)、以及具有显示屏的关联的显示器,所述OS被配置为在所述显示屏上呈现基本图形画布,所述方法包括:
使得第一仪表板面板视图被呈现在所述基本图形画布上,所述第一仪表板面板视图包括多个内容卡的第一可滚动布置,每个内容卡包括与相应内容项相关的信息;
响应于接收到对所述多个内容卡中的第一内容卡的选择:
存储所述第一仪表板面板视图中的所述多个内容卡的所述可滚动布置的第一滚动状态;
将所述第一仪表板面板视图从显示消除;
在所述显示屏中的所述基本图形画布上的第一内容沉浸式查看器窗格中显示与所选择的所述第一内容卡相关联的所述相应内容项的附加内容;
使得第二仪表板面板视图与所述第一内容沉浸式查看器窗格一起被呈现在所述基本图形画布上,所述第二仪表板面板视图包括所述多个内容卡的第二可滚动布置;以及
将所述第一滚动状态应用于所述第二仪表板面板视图。
10.根据权利要求9所述的方法,其中使得所述内容沉浸式查看器窗格被呈现的内容沉浸式查看器被集成在使得所述仪表板面板视图被呈现的所述程序代码内。
11.根据权利要求9所述的方法,其中所述第二仪表板面板视图和所述第一内容沉浸式查看器窗格各自可独立地滚动。
12.根据权利要求9所述的方法,还包括:
响应于接收到对所述第二仪表板面板视图中的所述多个内容卡中的第二内容卡的第二选择:
继续显示具有所述多个内容卡的所述第二可滚动布置的第二仪表板面板视图;以及
在具有所述第二仪表板面板视图的所述基本图形画布上的第二内容沉浸式查看器窗格中显示与第二所选内容卡相关联的相应内容项的附加内容。
13.根据权利要求9所述的方法,还包括:
响应于接收到与所述第一内容沉浸式查看器窗格中的第一所选内容卡相关联的所述相应内容项的所述附加内容内的导航链接的交互:
存储所述第二仪表板面板视图的第二滚动状态或者所述第一内容沉浸式查看器窗格的滚动状态中的至少一项;以及
调用外部应用以导航到由所述导航链接指定的资源,其中来自所指定所述资源的结果内容由外部浏览器应用显示在所述显示屏中。
14.根据权利要求13所述的方法,还包括响应于引起来自所述外部应用的返回的交互:
使得包括所述多个内容卡的第三可滚动布置的第三仪表板面板视图与所述第一内容沉浸式查看器窗格一起被呈现在所述基本图形画布上;以及
应用所述第二仪表板面板视图的所述第二滚动状态和所述第一内容沉浸式查看器窗格的所述滚动状态中的任何先前所存储的滚动状态。
15.一种计算机程序产品,包括其上被记录有计算机程序逻辑的计算机可读存储设备,包括:
用于使处理器能够执行根据权利要求9-14任一项所述的方法的计算机程序逻辑。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/348,032 | 2021-06-15 | ||
US17/360,627 | 2021-06-28 | ||
US17/360,627 US20220397995A1 (en) | 2021-06-15 | 2021-06-28 | Dashboard explore mode |
PCT/US2022/028989 WO2022265769A1 (en) | 2021-06-15 | 2022-05-12 | Dashboard explore mode |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117546130A true CN117546130A (zh) | 2024-02-09 |
Family
ID=89782765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280042363.4A Pending CN117546130A (zh) | 2021-06-15 | 2022-05-12 | 仪表板浏览模式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117546130A (zh) |
-
2022
- 2022-05-12 CN CN202280042363.4A patent/CN117546130A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941244B1 (en) | Presenting suggestions from search corpora | |
RU2632144C1 (ru) | Компьютерный способ создания интерфейса рекомендации контента | |
US20150378600A1 (en) | Context menu utilizing a context indicator and floating menu bar | |
US20170024226A1 (en) | Information processing method and electronic device | |
US20220397995A1 (en) | Dashboard explore mode | |
US9607332B1 (en) | Embedded web application gallery | |
US20100205559A1 (en) | Quick-launch desktop application | |
US20150207800A1 (en) | Systems and methods for enabling access to a web application | |
US9804767B2 (en) | Light dismiss manager | |
US20120287039A1 (en) | User interface for application selection and action control | |
US10402470B2 (en) | Effecting multi-step operations in an application in response to direct manipulation of a selected object | |
US20100235750A1 (en) | System, method and program product for a graphical interface | |
EP2972830A1 (en) | Switching to and from native web applications | |
CN117501223A (zh) | 在小组件板中显示的具有多种形式认证的服务驱动小组件 | |
CN116368468A (zh) | 用于经由操作系统用户界面提供选项卡预览的系统和方法 | |
CN112088362A (zh) | 针对已保存站点的通知更新 | |
CN109313662B (zh) | 到本机应用体验中的对网页的解构和呈现 | |
US20230216858A1 (en) | Dynamic permissions interface | |
US10871882B2 (en) | Efficient access to frequently utilized actions on computing devices | |
CN117546130A (zh) | 仪表板浏览模式 | |
WO2018083679A1 (en) | System and method for providing personalized solutions using bots | |
US20150378530A1 (en) | Command surface drill-in control | |
US11379102B1 (en) | Native application development techniques | |
McGrath | Windows 10 in easy steps–Special Edition | |
US11886853B2 (en) | Software widget installation on a client device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |