CN117501223A - 在小组件板中显示的具有多种形式认证的服务驱动小组件 - Google Patents
在小组件板中显示的具有多种形式认证的服务驱动小组件 Download PDFInfo
- Publication number
- CN117501223A CN117501223A CN202280042373.8A CN202280042373A CN117501223A CN 117501223 A CN117501223 A CN 117501223A CN 202280042373 A CN202280042373 A CN 202280042373A CN 117501223 A CN117501223 A CN 117501223A
- Authority
- CN
- China
- Prior art keywords
- gadget
- view
- dashboard
- gadgets
- user
- 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
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000003993 interaction Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 description 15
- 230000006854 communication Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 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
- 230000000694 effects 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
- 230000002452 interceptive 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
- 230000008569 process 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
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Abstract
本文描述的方法、系统、装置和计算机可读存储介质使仪表板面板应用能够使计算设备上的用户可以使用提供应用功能的“小组件”,而不必在计算设备上安装相应的应用,并且不使用传统的web浏览器。访问配置信息,该配置信息标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件。小组件的账户凭证被发送给在小组件的清单中指示的网络地址处的对应服务器托管服务。从服务器托管的服务接收与小组件相关联的数据。构成仪表板面板的视图,其包括合并所接收的数据的小组件的视图。使得在基本图形画布上呈现仪表板面板视图。可以使用不同的账户凭证来使用各种服务器托管服务来认证小组件。
Description
背景技术
应用(“app”)是在计算设备的操作系统上运行的程序代码。应用被设计为执行除与计算设备本身的操作相关的任务之外的特定任务,并且通常被配置为由终端用户使用。应用的示例包括文字处理器、电子表格程序、会计应用、电子邮件客户端、媒体播放器、控制台游戏和照片编辑器。计算设备可以安装许多应用,每个应用使用相称的存储量。此外,通过执行应用来访问应用的特征。在计算设备上同时执行的许多应用消耗了大量的存储器和处理资源。web浏览器是一种类型的应用,其使得web应用(“web app”)能够在计算设备上运行。web浏览器将web应用的内容从服务器下载到计算设备。web浏览器呈现与web应用相关的内容页面以显示给用户。web浏览器可以维护多个标签,每个标签包含与不同网页相关的内容,尽管通常在任何给定时间向用户显示单个标签。
发明内容
提供本发明内容是为了以简化形式介绍一组概念,这些概念将在下面的详细描述中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。
本文描述的方法、系统、装置和计算机可读存储介质使得仪表板面板应用能够使计算设备上的用户可以使用“小组件(widget)”,其同时向用户提供用于多个应用的应用功能,而不必在计算设备上安装相应的应用,并且无需使用传统的web浏览器。
在一方面,基本图形画布由操作系统(OS)呈现在显示屏上。接收发起仪表板面板应用的请求。作为响应,访问标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件的配置信息。多个小组件包括第一小组件和第二小组件。第一小组件的第一账户凭证被发送给在第一小组件的第一小组件清单中指示的第一网络地址处的第一服务器托管服务。从第一服务器托管服务接收与第一小组件相关联的第一小组件数据。第二小组件的第二账户凭证被发送给在第二小组件的第二小组件清单中指示的第二网络地址处的第二服务器托管服务。第二账户凭证可以不同于第一账户凭证。从第二服务器托管服务接收与第二小组件相关联的第二小组件数据。构成仪表板面板的视图,其包括合并第一小组件数据的第一小组件的视图和合并第二小组件数据的第二小组件的视图。使得在基本图形画布上呈现仪表板面板视图。
下面参考附图详细描述实施例的进一步特征和优点以及各种实施例的结构和操作。注意,该方法和系统不限于本文描述的特定实施例。本文呈现这样的实施例仅用于说明目的。基于本文包含的教导,其他实施例对于(多个)相关领域的技术人员而言将是显而易见的。
附图说明
本文并入并构成说明书一部分的附图示出了本申请的实施例,并且与说明书一起进一步用于解释实施例的原理并使相关领域的技术人员能够制作和使用这些实施例。
图1示出了根据示例实施例的用于呈现包括根据各种账户凭证访问的多个小组件的仪表板面板的系统的框图。
图2示出了根据示例实施例的用于呈现包括根据各种账户凭证访问的多个小组件的仪表板面板的计算设备中的方法的流程图。
图3示出了根据示例实施例的仪表板面板应用和相关联的数据存储的框图。
图4示出了根据示例实施例的小组件清单的框图。
图5示出了根据示例实施例的显示仪表板面板的显示屏。
图6示出了根据示例实施例的显示仪表板面板应用的小组件选择器的显示屏。
图7示出了根据示例实施例的选择要包括在仪表板面板中的小组件的方法的流程图。
图8示出了根据示例实施例的在仪表板面板中呈现和定制小组件的方法的流程图。
图9示出了根据示例实施例的在仪表板面板中相对于小组件显示web内容的方法的流程图。
图10是其中可以实现实施例的示例性用户设备的框图。
图11是可用于实现各种实施例的示例基于处理器的计算机系统的框图。
本文描述的实施例的特征和优点在结合附图时将从下面阐述的详细描述中变得更加明显,其中相同的附图标记在全文中标识相应的元件。在附图中,相似的附图标记通常表示相同的、功能相似的和/或结构相似的元件。元件首次出现的附图由相应附图标记中的最左边的(多个)数字指示。
具体实施方式
I.导言
下面的详细描述公开了许多示例实施例。本专利申请的范围不限于所公开的实施例,还包括所公开的实施例的组合以及对所公开的实施例的修改。
在本说明书中,对“一个实施例”、“实施例”、“示例实施例”等的引用,表示所描述的实施例可以包括特定的特征、结构或特性,但每个实施例不一定包括该特定的特征、结构或特性。此外,这些短语不一定是指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,提出无论是否明确描述,结合其他实施例实现这种特征、结构或特性都在本领域技术人员的知识范围之内。
下面描述许多示例性实施例。需要注意的是,本文中提供的任何章节/小节标题不旨在是限制性的。本文档通篇描述了实施例,并且任何类型的实施例可以被包括在任何章节/子节之下。此外,在任何章节/小节中公开的实施例可以以任何方式与在相同章节/小节和/或不同章节/小节中描述的任何其他实施例组合。
II.示例实施例
本文公开的实施例使得仪表板面板应用能够使计算设备上的用户可以使用“小组件(widget)”,这些小组件同时为多个应用提供功能,而不必在计算设备上安装或运行(如果已安装)相应的应用,并且无需使用传统的web浏览器。传统上,为了访问应用的功能,应用必须要么直接安装在计算设备上,要么在web浏览器中作为web应用操作。在直接安装在计算设备上的应用的情况下,可能使用大量存储空间,包括长期存储(例如,盘空间)和存储器,以及消耗大量处理带宽。对于web应用,必须在所使用的计算设备上安装web浏览器,并满足相应的存储空间和处理带宽要求。相反,在本技术的实施例中,执行单个仪表板面板应用,该单个仪表板面板应用管理具有各自应用功能的多个小组件,同时需要实质上更少的存储空间和处理带宽来操作。
小组件是应用的图形用户界面(GUI)可访问的视图,其在计算设备处提供应用的功能,而无需在计算设备上执行应用的代码。相反,小组件主机应用(在本文主要被称为仪表板面板应用)基于与小组件相关联的小组件清单并且基于从与小组件和应用相关联的基于网络的服务接收的服务数据,来实现针对小组件的应用功能。
因此,在各实施例中,小组件是服务驱动的。本技术利用远程服务来根据与小组件相关联的清单向小组件提供数据,而不是要求在计算设备中安装应用以便以传统方式构建小组件。提供的数据用于在呈现以供显示时填充小组件的字段。
更进一步地,在各实施例中,计算设备被配置为提供具有多账户支持的认证。使用不同用户登录凭证访问的小组件可以同时(例如并排)显示在同一仪表板面板窗格中。仪表板面板应用可以自动使与操作系统(OS)相关联的用户账户对小组件可访问。仪表板面板应用还可以使用户能够在逐个小组件的基础上,例如在小组件配置时,为第三方账户提供用户凭证。
接着,计算设备(“客户端”)将用户账户信息发送给与小组件相关联的服务,以认证用户账户并取回服务数据,然后使其在仪表板面板中为用户呈现。以此方式,可以在公共仪表板面板应用中使用多个用户账户来显示用户感兴趣的信息。小组件可以在各种服务上访问数据,并且在一个实施例中,小组件可以在所显示的仪表板面板中与小组件交互(例如,通过用户语音命令点击或参与)以在计算设备上发起相应的应用(如果安装在那里),以便提供完整的应用功能。在一个实施例中,如果在从小组件发起应用时没有在计算设备上安装相应的应用,则计算设备可以向用户显示安装应用的提示。
注意,尽管本文可以参考统一资源定位符(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(只读存储器)设备等)、和/或任何其他适当类型的基于硬件的物理存储介质。OS116可以是任何适当类型的操作系统,包括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.示例移动和固定设备实施例
上面参考图1-图9描述的系统和方法可以以硬件或与软件和/或固件中的一个或两者相结合的硬件来实现。例如,仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312和流程图200、700、800和/或900可以各自实现为被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码/指令。备选地,仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312和流程图200、700、800和/或900可以实现为硬件逻辑/电路。在一个实施例中,可以在一个或多个SoC(片上系统)中实现仪表板面板应用118、服务数据取回器304、仪表板面板构成器306、仪表板面板呈现器308、小组件配置器310、小组件选择器312和流程图200、700、800和/或900。SoC可以包括集成电路芯片,该集成电路芯片包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或其他电路中的一个或多个,并且可以可选地执行接收到的程序代码和/或包括用于执行功能的嵌入式固件。
图10示出了包括各种可选硬件和软件组件的示例性移动设备1000的框图,通常示为组件1002。在一个实施例中,计算设备102可以实现为移动设备1000。注意,为了便于说明,任何组件1002都可以与任何其他组件1002通信,尽管并未示出所有连接。移动设备1000可以是本文其他地方描述或提及的或以其他方式已知的各种移动设备中的任何一种(例如,蜂窝电话、智能手机、手持计算机、个人数字助理(PDA)等)。并且可以允许通过一个或多个通信网络1004(例如蜂窝或卫星网络)或与局域网或广域网与一个或多个移动设备进行无线双向通信。
所示的移动设备1000可以包括称为处理器电路1010的控制器或处理器,用于执行诸如信号编码、图像处理、数据处理、输入/输出处理、功率控制和/或其他功能之类的任务。处理器电路1010是在作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或芯片)中实现的电和/或光学电路。处理器电路1010可以执行存储在计算机可读介质中的程序代码,诸如一个或多个应用1014的程序代码、操作系统1012、存储在存储器1020中的任何程序代码等。操作系统1012可以控制组件1002的分配和使用并支持一个或多个应用程序1014(也称为应用、“app”等)。应用程序1014可以包括普通移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)和任何其他计算应用(例如,文字处理应用、地图应用、媒体播放器应用)。
如图所示,移动设备1000可以包括存储器1020。存储器1020可以包括不可移除存储器1022和/或可移除存储器1024。不可移除存储器1022可以包括RAM、ROM、闪存、硬盘或其他公知的存储器存储技术。可移除存储器1024可以包括闪存或在GSM通信系统中公知的用户识别模块(SIM)卡,或其他公知的存储器存储技术,例如“智能卡”。存储器1020可用于存储用于运行操作系统1012和应用1014的数据和/或代码。示例数据可以包括网页、文本、图像、声音文件、视频数据或要经由一个或多个有线或无线网络发送给一个或多个网络服务器或其他设备和/或从一个或多个网络服务器或其他设备接收的其他数据集。存储器1020可用于存储诸如国际移动用户标识(IMSI)之类的订户标识和诸如国际移动设备标识(IMEI)之类的设备标识。这样的标识符可被发送给网络服务器以标识用户和设备。
多个程序可以存储在存储器1020中。这些程序包括操作系统1012、一个或多个应用程序1014以及其他程序模块和程序数据。这样的应用程序或程序模块的示例可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括参考图1-图9描述的实施例。
移动设备1000可以支持一个或多个输入设备1030,诸如触摸屏1032、麦克风1034、相机1036、物理键盘1038和/或轨迹球1040,以及一个或多个输出设备1050,诸如扬声器1052和显示器1054。
其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。某些设备可以提供多个输入/输出功能。例如,触摸屏1032和显示器1054可以组合在单个输入/输出设备中。输入设备1030可以包括自然用户界面(NUI)。
(多个)无线调制解调器1060可以耦合到(多个)天线(未示出),并且可以支持处理器电路1010和外部设备之间的双向通信,这在本领域中是众所周知的。(多个)调制解调器1060被一般地示出,并且可以包括用于与移动通信网络1004和/或其他基于无线电的调制解调器(例如,蓝牙1064和/或Wi-Fi 1062)通信的蜂窝调制解调器1066。蜂窝调制解调器1066可以被配置为根据任何适当的通信标准或技术,例如GSM、3G、4G、5G等来实现电话呼叫(并且可选地发送数据)。(多个)无线调制解调器1060中的至少一个典型地被配置为与一个或多个蜂窝网络通信,例如用于单个蜂窝网络内、蜂窝网络之间、或者移动设备和公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。
移动设备1000还可以包括至少一个输入/输出端口1080、电源1082、卫星导航系统接收器1084(例如全球定位系统(GPS)接收器)、加速度计1086和/或物理连接器1090,其可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口。所示组件1002不是必需的,也不是包罗万象的,因为如本领域技术人员所认识到的,可以不存在任何组件,并且可以另外存在其他组件。
此外,图11描绘了其中可以实现实施例的计算设备1100的示例性实现。例如,计算设备102和/或服务器104A-104C中的任何一个可以实现为计算设备1100。本文提供的对计算设备1100的描述是为了说明的目的而提供的,并且不打算是限制性的。实施例可以在其他类型的计算机系统中实现,如(多个)相关领域的技术人员所公知的。
如图11所示,计算设备1100包括称为处理器电路1102的一个或多个处理器、系统存储器1104、以及将包括系统存储器1104的各种系统组件耦合到处理器电路1102的总线1106。处理器电路1102是在作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或芯片)中实现的电和/或光学电路。处理器电路1102可以执行存储在计算机可读介质中的程序代码,诸如操作系统1130的程序代码、应用程序1132、其他程序1134等。总线1106表示几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。系统存储器1104包括只读存储器(ROM)1108和随机存取存储器(RAM)1110。基本输入/输出系统1112(BIOS)存储在ROM 1108中。
计算设备1100还具有以下驱动器中的一个或多个:硬盘驱动器1114,用于读取和写入硬盘;磁盘驱动器1116,用于读取或写入可移除磁盘1118;以及光盘驱动器1120,用于读取或写入可移除光盘1122,诸如CD ROM、DVD ROM或其他光学介质。硬盘驱动器1114、磁盘驱动器1116和光盘驱动器1120分别通过硬盘驱动器接口1124、磁盘驱动器接口1126和光盘驱动器接口1128连接到总线1106。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。虽然描述了硬盘、可移动磁盘和可移动光盘,但也可以使用其他类型的基于硬件的计算机可读存储介质来存储数据,例如闪存卡、数字视频盘、RAM、ROM和其他硬件存储介质。
多个程序模块可以存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1130、一个或多个应用程序1132、其他程序1134和程序数据1136。应用程序1132或其他程序1134可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括以上参考图1-图9描述的实施例。
用户可以通过诸如键盘1138和定点设备1140的输入设备将命令和信息输入到计算设备1100中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、触摸屏和/或触摸板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统等。这些和其他输入设备通常通过耦合到总线1106的串口接口1142连接到处理器电路1102,但也可以通过诸如并行端口、游戏端口或通用串行总线(USB)的其他接口连接。
显示屏1144还通过诸如视频适配器1146的接口连接到总线1106。显示屏1144可以在计算设备1100外部或并入计算设备1100。显示屏1144可以显示信息,也可以是用于接收用户命令和/或其他信息的用户界面(例如,通过触摸、手指手势、虚拟键盘,通过提供轻触输入(其中用户轻按并快速释放显示屏1144)、通过提供“触摸并保持”输入(其中用户在显示屏1144上触摸并保持其手指(或触摸仪器)达预定时间段)、通过提供超过预定压力阈值的触摸输入等)来显示信息。除了显示屏1144之外,计算设备1100还可以包括其他外围输出设备(未示出),诸如扬声器和打印机。
计算设备1100通过适配器或网络接口1150、调制解调器1152或用于在网络上建立通信的其他装置连接到网络1148(例如,互联网)。如图11所示,可以是内置或外置的调制解调器1152可以经由串口接口1142连接到总线1106,或者可以使用包括并行接口的另一种接口类型连接到总线1106。
如本文所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”通常指的是物理硬件介质,诸如与硬盘驱动器1114、可移动磁盘1118、可移动光盘1122相关联的硬盘、诸如RAM、ROM、闪存卡、数字视频盘、zip盘、MEM、基于纳米技术的存储设备、以及其他类型的物理/有形硬件存储介质(包括图11的系统存储器1104)。这种计算机可读存储介质与通信介质(不包括通信介质)不同且不与其重叠。通信介质通常在诸如载波的调制数据信号中包含计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”是指其一个或多个特性以编码信号中的信息的方式设置或改变的信号。作为示例而非限制,通信媒体包括无线媒体,诸如声学、RF、红外和其他无线媒体,以及有线媒体。实施例还涉及这样的通信媒体。
如上所述,计算机程序和模块(包括应用程序1132和其他程序1134)可以存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。这样的计算机程序也可以经由网络接口1150、串口接口1152或任何其他接口类型来接收。这样的计算机程序在由应用执行或加载时使计算设备1100能够实现本文讨论的实施例的特征。因此,这样的计算机程序表示计算设备1100的控制器。
实施例还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。这样的计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备包、便携式记忆棒、存储卡和其他类型的物理存储硬件。
IV.附加示例实施例
在一个实施例中,计算设备包括:至少一个处理器电路;具有显示屏的显示器;操作系统(OS),被配置为由至少一个处理器电路执行,OS被配置为在显示屏上呈现基本图形画布;以及至少一个存储器,其存储被配置为由至少一个处理器电路执行的程序代码,该程序代码被配置为:访问标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件的配置信息,多个小组件包括第一小组件和第二小组件;将第一小组件的第一账户凭证发送给在第一小组件的第一小组件清单中指示的第一网络地址处的第一服务器托管服务;从第一服务器托管服务接收与第一小组件相关联的第一小组件数据;将第二小组件的第二账户凭证发送给第二小组件的第二小组件清单中所指示的第二网络地址处的第二服务器托管服务,第二账户凭证不同于第一账户凭证;从第二服务器托管服务接收与第二小组件相关联的第二小组件数据;构成仪表板面板的视图,其包括合并第一小组件数据的第一小组件的视图合并第二小组件数据的第二小组件的视图;以及使得仪表板面板视图被呈现在基本图形画布上。
在一个实施例中,程序代码还被配置为:在仪表板面板的呈现窗格内,呈现在第一框中的第一小组件以及第二框中的第二小组件的视图。
在一个实施例中,所访问的配置信息与登录到OS的用户账户相关联。
在一个实施例中,程序代码还被配置为:接收用以发起仪表板面板应用的小组件选择器的请求;确定第三小组件的第三小组件清单中指示的、支持第三小组件的一个或多个账户类型;确定用户账户是所支持的一个或多个账户类型中的一个账户类型;在小组件选择器用户界面(UI)中显示第三小组件;接收对所显示的第三小组件的用户选择;以及构成并使得呈现包括所选择的至少一个小组件的视图的仪表板面板视图。
在一个实施例中,程序代码还被配置为:构成仪表板面板的第二视图,该第二视图包括第一和第二小组件的视图以及第三小组件的视图;使得第二控面板视图呈现在基本图形画布上,第三小组件的视图提供被配置为允许第三小组件的定制的用户界面(UI)控件;以及通过与UI控件的交互来接收用户提供的针对第三小组件的定制数据。
在一个实施例中,程序代码还被配置为:使得包括第一小组件的视图的仪表板面板视图在以下视图状态之一中被呈现:对应于默认小组件图像的默认状态、对应于数据加载小组件图像的占位符状态、对应于正常小组件图像的正常状态、对应于显示最后更新时间戳的正常小组件图像的过时状态、或对应于错误图像的错误状态。
在一个实施例中,程序代码还被配置为:响应于与第一小组件视图的用户交互,从第一小组件清单确定与第一小组件相关联的网页的第三网络地址;从所确定的第三网络地址取回web内容;构成包括第一和第二小组件的视图以及web内容的视图的仪表板面板的第二视图;以及要在基本图形画布上呈现的仪表板面板的第二视图。
在另一实施例中,一种方法由计算设备实现,该计算设备包括至少一个处理器、被配置为由至少一个处理器执行的操作系统(OS)、以及具有显示屏的相关联的显示器,OS被配置为在显示屏上呈现基本图形画布。该方法包括:接收发起仪表板面板应用的请求;访问标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件的配置信息,多个小组件包括第一小组件和第二小组件;将第一小组件的第一账户凭证发送给在第一小组件的第一小组件清单中指示的第一网络地址处的第一服务器托管服务;从第一服务器托管服务接收与第一小组件相关联的第一小组件数据;将第二小组件的第二账户凭证发送给在第二小组件的第二小组件清单中指示的第二网络地址处的第二服务器托管服务,第二账户凭证不同于所述第一账户凭证;从第二服务器托管服务接收与第二小组件相关联的第二小组件数据;构成仪表板面板的视图,其包括合并第一小组件数据的第一小组件的视图和合并第二小组件数据的第二小组件的视图;以及使得仪表板面板视图呈现在基本图形画布上。
在一个实施例中,使得在基本图形画布上呈现仪表板面板视图包括:在仪表板面板的呈现窗格内,呈现在第一框中的第一小组件以及第二框中的第二小组件的视图。
在一个实施例中,所访问的配置信息与登录到OS的用户账户相关联。
在一个实施例中,该方法还包括:接收发起仪表板面板应用的小组件选择器的请求;确定在第三小组件的第三小组件清单中指示的、支持第三小组件的一个或多个账户类型;确定用户账户是一个或多个支持的账户类型之一;响应于该确定,在小组件选择器用户界面(UI)中显示第三小组件;接收对所显示的第三小组件的用户选择;以及构成并使得呈现包括所选择的至少一个小组件的视图的仪表板面板视图。
在一个实施例中,该方法还包括:构成仪表板面板的第二视图,该第二视图包括第一和第二小组件的视图以及第三小组件的视图;使得第二控面板视图呈现在基本图形画布上,第三小组件的视图提供被配置为允许第三小组件的定制的用户界面(UI)控件;以及通过与UI控件的交互来接收用户提供的针对第三小组件的定制数据。
在一个实施例中,使得仪表板面板视图呈现在基本图形画布上包括:使仪表板面板视图包括处于以下视图状态之一的第一小组件的视图:对应于默认小组件图像的默认状态、对应于数据加载小组件图像的占位符状态、对应于正常小组件图像的正常状态、对应于示出最后更新时间戳的正常小组件图像的过时状态、或对应于错误图像的错误状态。
在一个实施例中,该方法还包括:响应于与第一小组件视图的用户交互,从第一小组件清单确定与第一小组件相关联的网页的第三网络地址;从所确定的第三网络地址取回web内容;构成包括第一和第二小组件的视图以及web内容的视图的仪表板面板的第二视图;以及使得仪表板面板的第二视图呈现在基本图形画布上。
在另一实施例中,一种计算机可读存储介质具有记录在其上的程序指令,所述程序指令在由一个或多个处理器执行时执行一种方法,所述方法包括:访问标识被选择用于在仪表板面板应用的仪表板面板中显示的多个小组件的配置信息,所述多个小组件包括第一小组件和第二小组件;将所述第一小组件的第一账户凭证发送给在所述第一小组件的第一小组件清单中指示的第一网络地址处的第一服务器托管服务;从所述第一服务器托管服务接收与所述第一小组件相关联的第一小组件数据;将第二小组件的第二账户凭证发送给在第二小组件的第二小组件清单中指示的第二网络地址处的第二服务器托管服务,所述第二账户凭证不同于所述第一账户凭证;从所述第二服务器托管服务接收与所述第二小组件相关联的第二小组件数据;组成所述仪表板面板的视图,其包括合并所述第一小组件数据的所述第一小组件的视图和合并所述第二小组件数据的所述第二小组件的视图;以及使得所述仪表板面板视图呈现在显示屏上显示的基本图形画布上。
在一个实施例中,所访问的配置信息与登录到OS的用户账户相关联。
在一个实施例中,该方法还包括:接收发起仪表板面板应用的小组件选择器的请求;确定第三小组件的第三小组件清单中指示的、支持第三小组件的一个或多个账户类型;确定用户账户是一个或多个支持的账户类型之一;响应于所述确定,在小组件选择器用户界面(UI)中显示第三小组件;接收对所显示的第三小组件的用户选择;以及组成并使得包括所选择的至少一个小组件的视图的仪表板面板视图被呈现。
在一个实施例中,该方法还包括:构成仪表板面板的第二视图,该第二视图包括第一和第二小组件的视图以及第三小组件的视图;使得第二控面板视图呈现在基本图形画布上,在所呈现的第二小组件面板视图中的第三小组件的视图提供被配置为允许第三小组件的定制的用户界面(UI)控件;以及通过与UI控件的交互来接收用户提供的针对第三小组件的定制数据。
在一个实施例中,使得在显示屏上显示的基本图形画布上呈现仪表板面板视图包括:使仪表板面板视图在视图状态中包括第一小组件的视图,所述视图状态是以下中的一项:对应于默认小组件图像的默认状态、对应于数据加载小组件图像的占位符状态、对应于正常小组件图像的正常状态、对应于显示最后更新时间戳的正常小组件图像的过时状态、或对应于错误图像的错误状态。
在一个实施例中,该方法还包括:响应于与第一小组件视图的用户交互,从第一小组件清单确定与第一小组件相关联的网页的第三网络地址;从所确定的第三网络地址取回web内容;组成包括第一和第二小组件的视图以及web内容的视图的仪表板面板的第二视图;以及使仪表板面板的第二视图呈现在基本图形画布上。
V.结论
虽然上面已经描述了本发明的各种实施例,但是应当理解,它们仅作为示例而不是限制地呈现。(多个)相关领域的技术人员可以理解,在不背离所附权利要求中定义的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明的广度和范围不应受任何上述示例实施例的限制,而应仅根据所附权利要求及其等同形式来限定。
Claims (15)
1.一种计算设备,包括:
至少一个处理器电路;
显示器,具有显示屏;
操作系统(OS),被配置为由所述至少一个处理器电路执行,所述OS被配置为在所述显示屏上呈现基本图形画布;以及
至少一个存储器,存储被配置为由所述至少一个处理器电路执行的程序代码,所述程序代码被配置为:
访问配置信息,所述配置信息标识被选择用于在仪表板面板应用的所述仪表板面板中显示的多个小组件,所述多个小组件包括第一小组件和第二小组件;
将针对所述第一小组件的第一账户凭证发送给在所述第一小组件的第一小组件清单中被指示的第一网络地址处的第一服务器托管服务;
从所述第一服务器托管服务接收与所述第一小组件相关联的第一小组件数据;
将针对所述第二小组件的第二账户凭证发送给在所述第二小组件的第二小组件清单中被指示的第二网络地址处的第二服务器托管服务,所述第二账户凭证不同于所述第一账户凭证;
从所述第二服务器托管服务接收与所述第二小组件相关联的第二小组件数据;
构成所述仪表板面板的视图,所述视图包括合并所述第一小组件数据的所述第一小组件的视图以及合并所述第二小组件数据的所述第二小组件的视图;以及
使得所述仪表板面板视图被呈现在所述基本图形画布上。
2.根据权利要求1所述的计算设备,其中所述程序代码还被配置为:
在所述仪表板面板的呈现窗格内,呈现第一框中的所述第一小组件和第二框中的所述第二小组件的所述视图。
3.根据权利要求1所述的计算设备,其中所访问的所述配置信息与被登录到所述OS的用户账户相关联。
4.根据权利要求3所述的计算设备,其中所述程序代码还被配置为:
接收用以发起所述仪表板面板应用的小组件选择器的请求;
确定在第三小组件的第三小组件清单中被指示的、支持所述第三小组件的一个或多个账户类型;
确定所述用户账户是所述一个或多个所支持的账户类型中的一个账户类型;
在小组件选择器用户界面(UI)中显示所述第三小组件;
接收对所显示的所述第三小组件的用户选择;以及
构成仪表板面板视图并且使得呈现所述仪表板面板视图,所述仪表板面板视图包括所选择的至少一个小组件的视图。
5.根据权利要求4所述的计算设备,其中所述程序代码还被配置为:
构成所述仪表板面板的第二视图,所述第二视图包括所述第一小组件和所述第二小组件的视图以及所述第三小组件的视图;
使得所述第二仪表板面板视图被呈现在所述基本图形画布上,所述第三小组件的所述视图提供被配置为使得能够定制所述第三小组件的用户界面(UI)控件;以及
通过与所述UI控件交互来接收用户提供的针对所述第三小组件的定制数据。
6.根据权利要求1所述的计算设备,其中所述程序代码还被配置为:
使得所述仪表板面板视图被呈现为包括处于以下一项的视图状态的所述第一小组件的所述视图:
对应于默认小组件图像的默认状态,
对应于数据加载小组件图像的占位符状态,
对应于正常小组件图像的正常状态,
对应于显示最后更新时间戳的所述正常小组件图像的过时状态,或者
对应于错误图像的错误状态。
7.根据权利要求1所述的计算设备,其中所述程序代码还被配置为:
响应于与所述第一小组件视图的用户交互,
从所述第一小组件清单确定针对与所述第一小组件相关联的网页的第三网络地址;
从所确定的所述第三网络地址取回web内容;
构成所述仪表板面板的第二视图,所述第二视图包括所述第一小组件和所述第二小组件的所述视图以及所述web内容的视图;以及
使得所述仪表板面板的所述第二视图被呈现在所述基本图形画布上。
8.一种由计算设备实现的方法,所述计算设备包括至少一个处理器、被配置为由所述至少一个处理器执行的操作系统(OS)、以及具有显示屏的相关联的显示器,所述OS被配置为在所述显示屏上呈现基本图形画布,所述方法包括:
接收用以发起仪表板面板应用的请求;
访问配置信息,所述配置信息标识被选择用于在仪表板面板应用的所述仪表板面板中显示的多个小组件,所述多个小组件包括第一小组件和第二小组件;
将针对所述第一小组件的第一账户凭证发送给在所述第一小组件的第一小组件清单中被指示的第一网络地址处的第一服务器托管服务;
从所述第一服务器托管服务接收与所述第一小组件相关联的第一小组件数据;
将针对所述第二小组件的第二账户凭证发送给在所述第二小组件的第二小组件清单中被指示的第二网络地址处的第二服务器托管服务,所述第二账户凭证不同于所述第一账户凭证;
从所述第二服务器托管服务接收与所述第二小组件相关联的第二小组件数据;
构成所述仪表板面板的视图,所述视图包括合并所述第一小组件数据的所述第一小组件的视图以及合并所述第二小组件数据的所述第二小组件的视图;以及
使得所述仪表板面板视图被呈现在所述基本图形画布上。
9.根据权利要求8所述的方法,其中使所述仪表板面板视图被呈现在所述基本图形画布上包括:
在所述仪表板面板的呈现窗格内使得第一框中的所述第一小组件和第二框中的所述第二小组件的所述视图被呈现。
10.根据权利要求8所述的方法,其中所访问的所述配置信息与被登录到所述OS的用户账户相关联。
11.根据权利要求10所述的方法,还包括:
接收用以发起所述仪表板面板应用的小组件选择器的请求;
确定在第三小组件的第三小组件清单中被指示的、支持所述第三小组件的一个或多个账户类型;
确定所述用户账户是所述一个或多个所支持的账户类型中的一个账户类型;
响应于所述确定,在小组件选择器用户界面(UI)中显示所述第三小组件;
接收对所显示的所述第三小组件的用户选择;以及
构成仪表板面板视图并且使得呈现所述仪表板面板视图,所述仪表板面板视图包括所选择的至少一个小组件的视图。
12.根据权利要求11所述的方法,还包括:
构成所述仪表板面板的第二视图,所述第二视图包括所述第一小组件和所述第二小组件的视图以及所述第三小组件的视图;
使得所述第二仪表板面板视图被呈现在所述基本图形画布上,所述第三小组件的所述视图提供被配置为使得能够定制所述第三小组件的用户界面(UI)控件;以及
通过与所述UI控件交互来接收用户提供的针对所述第三小组件的定制数据。
13.根据权利要求8所述的方法,其中使得所述第二仪表板面板视图被呈现在所述基本图形画布上包括:
使得所述仪表板面板视图被呈现为包括处于以下一项的视图状态的所述第一小组件的视图:
对应于默认小组件图像的默认状态,
对应于数据加载小组件图像的占位符状态,
对应于正常小组件图像的正常状态,
对应于显示最后更新时间戳的所述正常小组件图像的过时状态,或者
对应于错误图像的错误状态。
14.根据权利要求8所述的方法,还包括:
响应于与所述第一小组件视图的用户交互,
从所述第一小组件清单确定针对与所述第一小组件相关联的网页的第三网络地址;
从所确定的第三网络地址取回web内容;
构成所述仪表板面板的第二视图,所述第二视图包括所述第一小组件和所述第二小组件的所述视图以及所述web内容的视图;以及
使得所述仪表板面板的所述第二视图被呈现在所述基本图形画布上。
15.一种计算机可读存储介质,所述计算机可读存储介质具有被记录在其上程序代码,所述程序代码在由计算设备的处理器执行时,执行根据权利要求8-14任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/348,032 | 2021-06-15 | ||
US17/348,032 US20220398306A1 (en) | 2021-06-15 | 2021-06-15 | Service-driven widgets with multiple forms of authentication displayed in a widgets board |
PCT/US2022/029186 WO2022265775A1 (en) | 2021-06-15 | 2022-05-13 | Service-driven widgets with multiple forms of authentication displayed in a widgets board |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501223A true CN117501223A (zh) | 2024-02-02 |
Family
ID=82258404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280042373.8A Pending CN117501223A (zh) | 2021-06-15 | 2022-05-13 | 在小组件板中显示的具有多种形式认证的服务驱动小组件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220398306A1 (zh) |
CN (1) | CN117501223A (zh) |
WO (1) | WO2022265775A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11567645B2 (en) * | 2021-01-22 | 2023-01-31 | Business Objects Software Ltd. | Paginated growing widgets |
US11720220B1 (en) * | 2022-06-30 | 2023-08-08 | Capital One Services, Llc | User-specific graphical user interface based on a graphical user interface template |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924869B2 (en) * | 2005-08-12 | 2014-12-30 | Barry Fellman | Service for generation of customizable display widgets |
US8881052B2 (en) * | 2007-03-21 | 2014-11-04 | Yahoo! Inc. | Methods and systems for managing widgets through a widget dock user interface |
US8595186B1 (en) * | 2007-06-06 | 2013-11-26 | Plusmo LLC | System and method for building and delivering mobile widgets |
AU2011202182B1 (en) * | 2011-05-11 | 2011-10-13 | Frequency Ip Holdings, Llc | Creation and presentation of selective digital content feeds |
US9811250B2 (en) * | 2014-05-31 | 2017-11-07 | Apple Inc. | Device, method, and graphical user interface for displaying widgets |
US20160246490A1 (en) * | 2015-02-25 | 2016-08-25 | Bank Of America Corporation | Customizable Dashboard |
US9733916B2 (en) * | 2015-11-23 | 2017-08-15 | Business Objects Software Limited | Linking customized external widgets to dashboard data |
-
2021
- 2021-06-15 US US17/348,032 patent/US20220398306A1/en active Pending
-
2022
- 2022-05-13 WO PCT/US2022/029186 patent/WO2022265775A1/en unknown
- 2022-05-13 CN CN202280042373.8A patent/CN117501223A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220398306A1 (en) | 2022-12-15 |
WO2022265775A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941244B1 (en) | Presenting suggestions from search corpora | |
US11151303B2 (en) | Integration of content in non-browser applications | |
US9990128B2 (en) | Messaging application interacting with one or more extension applications | |
US10595169B2 (en) | Message extension app store | |
TWI528282B (zh) | 用於自訂應用程式的啟動之方法 | |
EP3255909A1 (en) | Messaging application interacting with one or more extension applications | |
US20130138723A1 (en) | Dynamic browser icons | |
US20220397995A1 (en) | Dashboard explore mode | |
US20150207800A1 (en) | Systems and methods for enabling access to a web application | |
US20170185248A1 (en) | Electronic device and method of managing application programs thereof | |
US20210373942A1 (en) | Workflow service application networking | |
US20160197773A1 (en) | Techniques for sharing applications | |
US9804767B2 (en) | Light dismiss manager | |
JP2018531454A6 (ja) | 非ブラウザアプリケーションにおけるコンテンツの統合 | |
CN117501223A (zh) | 在小组件板中显示的具有多种形式认证的服务驱动小组件 | |
CN112088362A (zh) | 针对已保存站点的通知更新 | |
US10871882B2 (en) | Efficient access to frequently utilized actions on computing devices | |
US11893199B2 (en) | Systems and methods for viewing incompatible web pages via remote browser instances | |
WO2018083679A1 (en) | System and method for providing personalized solutions using bots | |
CN117546130A (zh) | 仪表板浏览模式 | |
US20220253295A1 (en) | Software widget installation on a client device | |
US20230196239A1 (en) | Workflow service application stating |
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 |