CN110785740A - 基于规则的用户界面生成 - Google Patents
基于规则的用户界面生成 Download PDFInfo
- Publication number
- CN110785740A CN110785740A CN201780091953.5A CN201780091953A CN110785740A CN 110785740 A CN110785740 A CN 110785740A CN 201780091953 A CN201780091953 A CN 201780091953A CN 110785740 A CN110785740 A CN 110785740A
- Authority
- CN
- China
- Prior art keywords
- user interface
- interface manager
- manager
- type
- application
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 52
- 230000000007 visual effect Effects 0.000 claims description 36
- 230000003190 augmentative effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101000857680 Xenopus laevis Runt-related transcription factor 1 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000000537 electroencephalography Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Electrophonic Musical Instruments (AREA)
- Stored Programmes (AREA)
Abstract
在本文中所描述的用于生成用户界面的系统能够包括:处理器,其用于:基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型;并且基于所述系统的所述类型来确定待运行的用户界面管理器。所述处理器还能够运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器的类型包括用于指示所述用户界面的布局的多个规则。
Description
背景技术
任何尺寸的计算机设备都能够生成用户体验,其对于预期的设计通常是固定的。每个设备能够基于固定的应用功能来单独地生成用户界面。例如,每个设备能够通过硬编码或者使用固定的格式来单独地生成用户界面以用于显示应用。
发明内容
下文呈现了简化的发明内容,以便提供对在本文中所描述的一些方面的基本理解。该发明内容并不是对所要求保护的主题的扩展概述。该发明内容既不旨在标识所要求保护的主题的关键或重要元素,也并不旨在描绘所要求保护的主题的范围。该发明内容的唯一目的是以简化形式来呈现所要求保护的主题的一些概念,作为稍后呈现的更详细描述的序言。
在本文中所描述的实施例包括一种用于生成用户界面的系统,所述系统包括:处理器,其用于基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型。所述处理器还能够基于所述系统的所述类型来确定待运行的用户界面管理器;并且运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
在本文中所描述的另一实施例中,一种用于生成用户界面的方法,包括:基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型。所述方法还能够包括:基于所述系统的所述类型来确定待运行的用户界面管理器;以及运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
在本文描述的又一实施例中,一种用于生成用户界面的系统能够包括:处理器;以及存储设备,其用于存储多条指令,所述指令响应于被处理器运行而使所述处理器用于:基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型;以及基于所述系统的所述类型来从待运行的用户界面管理器的视觉树中选择用户界面管理器,其中,所述视觉树驻留在用户界面主机中。所述多条指令还能够使所述处理器用于运行所选择的用户界面管理器以生成用于所述系统的用户界面,其中,所选择的用户界面管理器包括用于指示所述用户界面的布局的多个规则。
以下描述和附图详细阐述了所要求保护的主题的某些说明性方面。然而,这些方面指示了可以采用本发明的原理的各种方式中的数种方式,并且所要求保护的主题旨在包括所有这些方面以及其等同形式。当结合附图来考虑时,根据本发明的以下详细描述,所要求保护的主题的其他优点和新颖特征将变得显而易见。
附图说明
通过参考附图可以更好地理解以下详细描述,附图包含所公开的主题的众多特征的特定示例。
图1是能够基于规则来生成用户界面的计算系统的示例的框图;
图2是用于基于规则来生成用户界面的示例性方法的过程流程图;
图3是能够基于规则为多个用户应用生成用户界面的示例性系统的框图;
图4是能够基于规则来生成用户界面的示例性计算机可读存储介质的框图;以及
图5是用于将用户界面管理器托管在用户界面管理器内的示例性系统的框图。
具体实施方式
能够使用各种静态的、不可重用的技术来生成用户界面。例如,能够使用不同的功能集、不同的数据路径和不同的视觉构成来生成用于不同设备的用户界面。因此,应用常常包括不同的代码以生成用于每种类型的设备的用户界面。这些应用还具有关于它们正在其上运行的设备的深层上下文,并且常常将用户界面控件直接映射到显示设备上的像素坐标。例如,所述应用可以指定像素坐标以显示诸如文本字段的用户控制元件。
在本文中所描述的技术提供了一种用于基于规则来生成用户界面的系统。在一些示例中,所述规则能够对应于特定类型的设备。例如,用于为桌面(desktop)计算设备生成用户界面的规则会不同于用于为移动设备生成用户界面的规则。在一些实施例中,系统能够基于驻留在所述系统内的硬件组件来检测所述系统的类型,并且能够基于所述系统的所述类型来确定待运行的用户界面管理器的类型。所述系统还能够运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
在本文中所描述的技术使得在创建针对任意数量的不同设备的用户界面时,能够共享用于生成用户界面的代码。例如,在本文中所描述的技术能够使得共享代码能够生成用于桌面设备、平板设备、移动设备、电话设备、游戏控制台设备和增强现实设备等的用户界面。所述共享代码能够基于与每种类型的设备相对应的规则来生成不同的用户界面。例如,用于显示具有某些规则的用户应用的代码能够在与不同类型的设备相对应的任意数量的不同用户界面管理器之间共享。
作为引文,所述附图中的一些附图在一个或多个结构组件(被称为功能、模块、特征、元件等)的上下文中描述了概念。图中所示的各种组件能够以任意方式来实施,例如,通过软件、硬件(例如,分立逻辑组件等)、固件等或者这些实现方式的任意组合。在一个实施例中,各种组件可以反映实际实现方式中对应组件的使用。在其他实施例中,图中所示的任何单个组件可以由许多实际组件来实施。图中的任意两个或更多个分离组件的描绘可以反映由单个实际组件执行的不同功能。下文讨论的图1提供了关于可用于实现图中所示功能的不同系统的详细信息。
其他图以流程图的形式描述了这些概念。以这种形式,某些操作被描述为构成以特定次序执行的不同块。这样的实现方式是示例性的而非限制性的。能够将在本文中所描述的某些框分组在一起并且在单个操作中执行,能够将某些框分解为多个组件框,并且能够按照与在本文中所图示的次序不同的次序来执行某些框,包括执行框的并行方式。流程图中所示的框能够由软件、硬件、固件等或者这些实现方式的任意组合来实施。如在本文中所使用的,硬件可以包括计算机系统、分立逻辑组件(诸如专用集成电路(ASIC)等)以及其任意组合。
就术语而言,短语“被配置为”涵盖能够构造任意种类的结构组件以执行识别出的操作的任何方式。结构组件能够被配置为使用软件、硬件、固件等或者其任意组合来执行操作。例如,短语“被配置为”能够指代实施相关联的功能的硬件元件的逻辑电路结构。短语“被配置为”还能够指代实施固件或软件的相关联的功能的编码设计的硬件元件的逻辑电路结构。术语“模块”指代能够使用任意合适的硬件(例如,处理器等)、软件(例如,应用等)、固件或者硬件、软件和固件的任意组合来实施的结构元件。
术语“逻辑”涵盖用于执行任务的任意功能。例如,流程图中所图示的每个操作对应于用于执行该操作的逻辑。能够使用软件、硬件、固件等或者其任意组合来执行操作。
如在本文中所利用的,术语“组件”、“系统”、“客户端”等旨在指代计算机相关的实体,其是硬件、软件(例如,在执行中)和/或固件或者其组合。例如,组件能够是在处理器上运行的进程、对象、可执行文件、程序、功能、库、子例程和/或计算机或软件与硬件的组合。通过说明,在服务器上运行的应用和服务器两者都能够是组件。一个或多个组件能够驻留在进程内,并且组件能够位于一台计算机上和/或被分布在两台或更多台计算机之间。
此外,可以使用标准编程和/或工程技术将所要求保护的主题实施为方法、装置或制品以产生软件、固件、硬件或者其任意组合来控制计算机实施所公开的内容。在本文中所使用的术语“制品”旨在涵盖能从任意有形的计算机可读设备或介质访问的计算机程序。
计算机可读存储介质能够包括但不限于磁存储设备(例如,硬盘、软盘和磁条等)、光盘(例如,压缩盘(CD)和数字通用盘(DVD)等)、智能卡以及闪存设备(例如,卡、棒和钥匙驱动器等)。相反,计算机可读介质通常(即,非存储介质)可以另外包括通信介质,诸如用于无线信号等的传输介质。
图1是能够基于规则来生成用户界面的计算系统的示例的框图。示例性系统100包括计算设备102。计算设备102包括处理单元104、系统存储器106和系统总线108。在一些示例中,计算设备102能够是游戏机控制台、个人计算机(PC)、配件控制台、游戏控制器以及其他计算设备。在一些示例中,计算设备102能够是云网络中的节点。
系统总线108将包括但不限于系统存储器106的系统组件耦合到处理单元104。处理单元104能够是各种可用处理器中的任意处理器。双微处理器和其他多处理器架构也能够用作处理单元104。
系统总线108能够是若干类型的总线结构中的任意总线结构,包括存储器总线或存储器控制器、外围总线或外部总线、以及使用本领域普通技术人员已知的任意可用总线架构的本地总线。系统存储器106包括计算机可读存储介质,所述计算机可读存储介质包括易失性存储器110和非易失性存储器112。
在一些实施例中,统一可扩展固件接口(UEFI)管理器或基本输入/输出系统(BIOS),包含诸如在启动期间在计算机102内的各元件之间传递信息的基本例程,被存储在非易失性存储器112中。作为示例而非限制,非易失性存储器11 2能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。
易失性存储器110包括用作外部高速缓存存储器的随机存取存储器(RAM)。作为说明而非限制,RAM以许多种形式可用,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、SynchLinkTM DRAM(SLDRAM)、直接RAM(RDRAM)、直接动态RAM(DRDRAM)和动态RAM(RDRAM)。
计算机102还包括其他计算机可读介质,诸如可移除/不可移除、易失性/非易失性计算机存储介质。图1示出了例如磁盘存储装置114。磁盘存储装置114包括但不限于如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-210驱动器、闪存卡或记忆棒的设备。
另外,磁盘存储装置114能够单独地或者与其他存储介质组合包括存储介质,所述其他存储介质包括但不限于光盘驱动器,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或者数字多功能磁盘ROM驱动器(DVD-ROM)。为了促进将磁盘存储设备114连接到系统总线108,通常使用可移除或不可移除接口,诸如接口116。
应当意识到,图1描述了充当在用户与在适当的操作环境100中描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统118。能够被存储在磁盘存储设备114上的操作系统118用于控制和分配计算机102的资源。
系统应用120利用由操作系统118通过被存储在系统存储器106或磁盘存储装置114中的程序模块122和程序数据124对资源的管理。应当意识到,所公开的主题能够利用各种操作系统或操作系统组合来实施。
用户通过输入设备126将命令或信息输入到计算机102中。输入设备126包括但不限于:定点设备(诸如鼠标、轨迹球、触控笔)、键盘、麦克风、操纵杆、碟形卫星天线、扫描仪、TV调谐卡、数码相机、数码视频相机、网络相机、任何合适的拨号配件(物理的或虚拟的)等。在一些示例中,输入设备能够包括自然用户界面(NUI)设备。NUI指代使得用户能够以“自然”方式与设备进行交互的任何接口技术,不受诸如鼠标、键盘、遥控器等输入设备施加的人为约束。在一些示例中,NUI设备包括依赖于以下项的设备:语音识别、触摸和触控笔识别,屏幕上和屏幕附近的手势识别,空中手势,头部和眼睛跟踪,语音和话语,视觉,触摸,手势和机器智能。例如,NUI设备能够包括:触敏显示器,语音和话语识别,意图和目标理解,以及使用深度相机(诸如立体相机系统、红外相机系统、RGB相机系统以及其组合)的运动手势检测。NUI设备还能够包括:使用加速度计或陀螺仪的运动手势检测,面部识别,三维(3D)显示,头部、眼睛和视线跟踪,沉浸式增强现实和虚拟现实系统,所有这些都提供了更自然的界面。NUI设备还能够包括用于使用电场感测电极来感测大脑活动的技术。例如,NUI设备可以使用脑电图(EEG)以及相关的方法来检测大脑的电活动。输入设备126经由接口端口128通过系统总线108被连接到处理单元104。接口端口128包括例如串行端口、并行端口、游戏端口以及通用串行总线(USB)。
输出设备130使用一些与输入设备126相同类型的端口。因此,例如,USB端口可以被用于向计算机102提供输入,并且将信息从计算机102输出到输出设备130。
提供输出适配器132以说明存在一些输出设备130,如监视器、扬声器和打印机,以及其他输出设备130,其能经由适配器访问。通过说明而非限制的方式,输出适配器132包括视频卡和声卡,其提供了在输出设备130与系统总线108之间的连接的方式。能够注意到,其他设备和设备的系统提供输入能力和输出能力两者,诸如远程计算设备134。
计算机102能够是服务器,服务器使用到一个或多个远程计算机(诸如远程计算设备134)的逻辑连接在联网环境中托管各种软件应用。远程计算设备134可以是配置有网络浏览器、PC应用、移动电话应用等的客户端系统。远程计算设备134能够是:个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的家电、移动电话、对等设备或者其他公共网络节点等,并且通常包括相对于计算机102所描述的许多或全部元件。
远程计算设备134能够通过网络接口136在逻辑上被连接到计算机102,并且然后经由可以是无线的通信连接138来连接。网络接口136涵盖无线通信网络,诸如局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜缆分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于:点对点链接、电路交换网络(如集成服务数字网络(ISDN))以及其变型、分组交换网络和数字用户线(DSL)。
通信连接138指代用于将网络接口136连接到总线108的硬件/软件。尽管为了说明清楚起见示出了通信连接138在计算机102的内部,但是其也能够在计算机102的外部。出于示例性目的,用于连接到网络接口136的硬件/软件可以包括内部技术和外部技术,诸如移动电话交换机,调制解调器(包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器),ISDN适配器和以太网卡。
计算机102还能够包括无线电设备140。例如,无线电设备140能够是操作一个或多个无线频带的无线局域网无线电设备。例如,无线电设备140能够在2.4GHz或5GHz的工业、科学和医学(ISM)无线电频带上操作。在一些示例中,无线电设备140能够在任何无线电频率的任何合适的无线电频带上操作。
计算机102包括一个或多个模块122,诸如系统分析器142、用户界面选择器144和用户界面生成器146。在一些实施例中,系统分析器142能够基于驻留在系统内或者被耦合到系统的硬件组件来检测系统的类型。例如,包括低于阈值尺寸的显示屏的设备能够被识别为移动设备,或者与游戏控制器耦合的设备能够被识别为游戏控制台。在一些实施例中,用户界面选择器144能够基于系统的类型来确定要运行的用户界面管理器的类型。在一些示例中,每种类型的设备能够与单独的用户界面管理器相关联。如在本文中所提到的,用户界面管理器能够包括能够为操作系统生成视觉外观的任何合适的应用。在一些实施例中,用户界面生成器146能够运行用户界面管理器以生成用于系统的用户界面,其中,用户界面管理器的类型包括用于指示用户界面的布局的多个规则。如在本文中所提及的,布局能够包括可视应用和系统控件的二维表示。所述多个规则能够包括:应用窗口是否能够重叠,应用是否能够在全屏模式下可见,或者显示屏上与各种操作系统菜单和功能相对应的位置等。应当意识到,规则的集合还可以定义3D用户体验或者甚至非视觉用户体验,诸如仅音频体验。
应当意识到,图1的框图并非旨在指示计算系统102将包括在图1所示的所有组件。而是,计算系统102能够包括更少的组件或者在图1中未图示的额外组件(例如,额外应用、额外模块、额外存储器设备、额外网络接口等)。此外,系统分析器142、用户界面选择器144和用户界面生成器146的任何功能可以部分地或全部地以硬件和/或以处理单元(在本文中也被称为处理器)104来实施。例如,可以利用专用集成电路以在处理单元104或任何其他设备中实施的逻辑来实施所述功能。
图2是用于基于规则来生成用户界面的示例性方法的过程流程图。方法200能够利用任意合适的计算设备(诸如图1的计算系统102)来实施。
在框202处,系统分析器142能够基于驻留在系统内或者被耦合到系统的硬件组件来检测系统的类型。例如,系统的类型能够包括增强现实设备、平板设备、移动设备、电话设备、游戏控制台设备或桌面设备等。在一些实施例中,系统分析器142能够基于任意合适的硬件组件(诸如显示屏、处理器、图形处理器、蜂窝无线电等)来检测系统的类型。在一些示例中,系统分析器142能够确定包括蜂窝无线电的系统是电话设备。在一些实施例中,系统分析器142能够基于设备的显示屏的尺寸来确定设备的类型。例如,包括小于预定阈值尺寸的显示屏的设备能够被识别为移动设备。在一些实施例中,系统分析器142能够确定支持三维用户界面的设备是增强现实设备,并且被连接到游戏控制器的设备是游戏控制台设备。在一些实施例中,系统分析器142能够基于诸如电源、图形处理器、存储器设备等的其他硬件组件来检测设备类型。在这些实施例的每个实施例中,系统分析器142能够使用预定条件的组合,诸如存在用于移动设备的模块122的特定组合或者用于桌面设备的模块122的不同组合,以及这里调出的启发法以最终确定当前系统的类型和配置。
在框204处,用户界面选择器144能够基于系统的类型来确定待运行的用户界面管理器。在一些实施例中,用户界面管理器(在本文中也被称为组合器)能够基于系统的类型来生成用户界面。例如,用户界面可以使得能够在桌面设备上启用重叠窗口,但是在移动设备上不启用重叠窗口。另外,用户界面管理器可以包括应用切换器,应用切换器包括到数字助理的链接以及与正在运行的应用相对应的图标,以及其他特征。用户界面选择器144能够确定用户界面管理器要运行以产生与设备相对应的用户体验。在一些实施例中,每种类型的设备都与特定的用户界面管理器相关联。例如,增强现实设备可以具有第一用户界面管理器,而游戏控制台设备可以具有第二用户界面管理器。如下文更详细讨论的,每个用户界面管理器能够指示如何为正在运行的应用生成用户界面。
在框206处,用户界面生成器146能够运行用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器的类型包括用于指示所述用户界面的布局的多个规则。所述多个规则能够指示如何显示正在运行的应用以及其他视觉元素,诸如应用启动器、应用切换器和窗口列表等,其可以是也可以不是独立应用或者定义如何显示例如时钟的用户管理器规则的集合。如在本文中所提出的,应用启动器能够包括:被安装在系统上的可执行应用的列表,被安装在系统上的最近访问的应用的列表,被安装在系统上的推荐的应用等。在一些示例中,应用启动器能够包括能够访问程序、文档和设置的命令。这些命令能够包括:基于本地存储的应用和文件的搜索功能,在设备上本地可用或者在远程服务器上可用的文档列表,用于配置设备组件的控制面板,用于更改设备的电源状态的电源功能命令等。如在本文中所提出的,应用切换器能够包括:到数字助理的链接,示出所有打开应用的任务视图,与正在运行的应用相对应的图标集合,以及与每次设备接收电力时启用的应用和硬件特征相对应的各种图标。
在一些实施例中,所述多个规则能够指示将由应用启动器、应用切换器以及与正在运行的应用相对应的窗口占据的屏幕区域。所述多个规则可以不依赖于正在运行的应用的像素到像素的映射。例如,能够基于规则将用户界面控件显示在显示屏的区域中。在一些示例中,可以在应用的中心显示文本字段,并且能够由用户界面生成器146基于多个规则来确定文本字段的位置。例如,在多于一个的应用窗口等可见的情况下,文本字段的位置可以取决于应用窗口是否彼此重叠。也能够基于应用切换器的尺寸和位置来调节用户界面控件的位置。例如,能够沿着显示屏的顶部、底部、左侧或右侧来显示应用切换器。每种类型的用户界面管理器都能够确定与应用切换器的位置有关的应用窗口的位置。在一些实施例中,用户界面生成器146能够基于与用户界面管理器相对应的至少一个显示特性来显示用户界面。例如,用于游戏控制台设备的用户界面管理器可以以没有边框或装饰物的全屏模式来显示应用。在一些实施例中,用户界面管理器146还能够显示应用切换器和桌面背景。如下文更详细描述的,应用切换器能够包括对应于硬件控制应用、运行应用、数字助理等的任意数量的图标。桌面背景能够包括任意合适的图像、到本地存储的文件的任意数量的链接、到目录的链接等。
应当意识到,在本文中所提到的诸如应用启动器、应用切换器、窗口装饰、动作中心以及用户界面体验的其他实例之类的用户界面概念本质上是示例性的。呈现给用户界面生成器146的多个规则可以创建期望的任意用户体验。这样的规则的复杂性也没有限制。一些规则可以简单地指示何时以及如何将文本元素放置在屏幕上,而其他规则可以定义具有许多潜在结果的多阶段3D体验。
在一个实施例中,图2的过程流程图旨在指示将以特定次序运行方法200的框。替代地,在其他实施例中,方法200的框能够以任意合适的次序来运行,并且能够包括方法200的任意合适数量的框。此外,取决于特定的应用,方法200内可以包括任意数量的额外框。在一些实施例中,方法200能够包括检测系统或设备从第一类型的设备转移到第二类型的设备。例如,可以将移动设备插入到提供更大显示屏的扩展坞中。用户界面生成器146能够检测到对移动设备的可用硬件资源的改变,并且生成基于桌面的用户界面以代替基于移动设备的用户界面。在一些实施例中,方法200还能够包括检测外部监视器被耦合到移动设备或电话设备。如果外部监视器的尺寸超过预定阈值,则用户界面管理器146能够基于桌面用户界面来生成单独的用户界面。
在一些实施例中,方法200能够包括生成包括至少一个活动应用和至少一个可见应用的用户界面。活动应用能够指示接受用户输入的应用,而可见应用能够被显示但不接受用户输入。在一些实施例中,方法200还能够包括运行第二用户界面管理器,其中,第二用户界面管理器将运行动作中心和通知检测器应用。在一些实施例中,方法200还能够包括管理至少两个从属用户界面管理器,其中,所述至少两个从属用户界面管理器中的每个从属用户界面管理器将运行单独的应用。
在一些实施例中,方法200还能够包括检测输入设备被耦合到系统,并且基于所述输入设备来生成新的用户界面管理器,其中,所述输入设备是游戏控制器,而所述新的用户界面管理器提供游戏控制台用户界面。另外,方法200能够包括响应于从所述用户界面管理器转换到所述新的用户界面管理器而存储所述用户界面的状态。
在一些实施例中,能够利用各种配置来实施用户界面管理器。例如,用户界面管理器能够利用运行的应用来实施,所述运行的应用包括:视觉部分和装饰物,在用户界面管理器主线程中的持久性用户界面,在用户界面管理器非主线程中的持久性用户界面,作为进程应用外的托管shell(外壳)体验,或者递归组成的用户界面管理器等。用户界面管理器的各种配置在下文结合图3进行了说明和描述。
图3是能够基于规则为多个用户应用生成用户界面的示例性系统的框图。规则可以被表示为高级概念,诸如在区域中心显示文本块;或者表示为低级概念,诸如需要规则作者确定区域尺寸并且在数学上将文本在所述区域内居中的那些概念。能够利用任意适当数量的应用和软件组件来运行用户界面管理器300。例如,用户界面管理器300能够使用Windows.UI.Composition或者可扩展应用标记语言(XAML)来命令式地或声明地描述各种规则,这些规则导致从视觉树302的根处开始创建用户界面或shell。在其他实施例中,用户界面管理器300可以使用任意可用的技术,诸如任何其各种形式的HTML、OpenGL、Vulkan、Collada或者其他现有的用户体验框架,来定义和管理转换用户体验规则以生成描述屏幕上体验的视觉树的方式。用户界面管理器300还能够使用这些规则来构成在进程外部(诸如在其他shell组件应用中)运行的视觉部分或者其他应用体验的其他顶级视觉部分。在一些实施例中,用户界面管理器300能够通过以反映总体shell体验的方式将shell的不同的较小通用组件组合在一起来实施特定的用户界面或shell体验。而且,用户界面管理器300能够基于系统分析器142来配置组件的属性,以实现特定的shell体验。
在一些实施例中,用户界面管理器300能够通过专用应用编程接口(API)的集合与底层shell或用户界面进行通信。这些专用API能够允许用户界面管理器运行与和shell相关联的shell任务相对应的指令。shell任务能够包括应用激活和生命期管理、应用或进程锁定、应用大小调整、应用可见性改变、关闭以及其他shell特征。在一些实施例中,用户界面管理器300还能够反映shell的当前状态。shell的状态能够包括活动视图、正在运行的应用、当前屏幕分辨率以及其他shell状态信息。
在一些实施例中,除了shell体验之外,用户界面管理器300还能够向用户呈现用户应用的视觉部分。这些应用能够使用应用选择的框架绘制到缓存器(由DCOMP视觉表面或其他类似技术表示的)中。在这样的示例中,缓存器不会直接绘制到屏幕上,并且在默认情况下不会单独在屏幕上。而是,用户界面管理器300能够选择针对应用的视觉部分并且显示该应用。在一些实施例中,用户界面管理器300还能够在用户应用的顶级视觉上添加装饰物,诸如标题栏或投影。在一些实施例中,用户界面管理器300还能够指示任意每个应用窗口内容(诸如闪屏)等。
在一个示例中,用户界面管理器300能够与窗口列表控件304功能进行通信,以提供在系统上运行的应用的列表。基于由用户界面管理器300所应用的用户界面规则,列表中的每个应用都能够与窗口用户界面控件306或308相关联,所述窗口用户界面控件306或308也与标题栏310或312以及窗口内容主机314或316相关联。所得到的用户界面规则启用例如一个窗口,该窗口被拖动以使该窗口的内容也被移动,这是因为针对该移动的渲染变换也以协调的方式应用于恰好是应用的合成视觉的子视觉。在图3的示例中,窗口控制主机314显示活动用户应用1 318,并且窗口控制主机316显示可视用户应用2 320。在围绕活动应用318的标题栏310与围绕活动应用320的标题栏312之间的视觉表示的差异还通过由用户界面生成器146处理的用户界面规则来指示和管理。用户界面管理器300能够指示用户应用1318和用户应用2 320是否能够重叠、并排查看、重新调整大小等。
应当理解,图3的框图并不旨在指示用户界面管理器300将创建包含图3所示的所有组件的视觉表示。而是,用户界面管理器300能够使视觉树包括更少的组件或者包括图3中未示出的额外组件(例如,额外应用、额外模块、额外体验等)。
图4是能够基于规则来生成用户界面的示例性计算机可读存储介质的框图。处理器402可以通过计算机总线404来访问有形的计算机可读存储介质400。此外,有形的计算机可读存储介质400可以包括用于指导处理器402执行当前方法的步骤的代码。
如在图4中所指示的,在本文中所讨论的各种软件组件可以被存储在有形的计算机可读存储介质400上。例如,有形的计算机可读存储介质400能够包括能够基于驻留在系统内的硬件和软件组件来检测系统类型的系统分析器406。在一些实施例中,用户界面选择器408能够基于系统的类型来确定待运行的用户界面管理器。在一些实施例中,用户界面生成器410能够运行所述类型的用户界面管理器以生成用于系统的用户界面,其中,用户界面管理器的类型包括用于指示所述用户界面的布局的多个规则。
应当理解,取决于具体应用,可以在有形的计算机可读存储介质400内包括未在图4中示出的任意数量的额外软件组件。
图5是用于在用户界面管理器内托管用户界面管理器的示例性系统的框图。在一些实施例中,多个用户界面管理器在同时可以是活动的,并且系统能够基于系统的状态和任意数量的规则在这些用户界面管理器中的一个或多个用户界面管理器之间变形。在一些示例中,用户界面管理器也能够以同时的方式来表达,其中,以彼此独立的方式使用多个用户界面管理器。例如,针对设备(诸如台式PC)的用户界面能够以更高效的方式变形为平板模式或者从平板模式变形。在一些示例中,存在全局数据模型和视图模型,其理解并且表示这些体验中托管的元素,从而能够变形。
如在图5中所图示的,用户界面主机500能够包括诸如产品策略以及显示和输入策略502之类的规则,系统分析器142能够使用和解释这些规则来确定待基于系统的类型来运行的用户界面管理器。用户界面主机500能够基于产品策略、显示和输入策略502以及系统的状态来生成视觉树504。视觉树504能够包括根视觉506、用户界面管理器1 508、用户界面管理器2 510以及用户界面管理器3 512。取决于规则和系统的状态,用户界面管理器1508、用户界面管理器2 510或用户界面管理器3 512能够被用于生成用户界面。存在替代实施例,其中,用户界面主机500创建多个视觉根,每个视觉根都具有一个或多个用户界面管理器或场景,其中,用户界面管理器本身可以封装其他用户界面管理器。
在一个实施例中,图5中的用户界面主机500可以代表能够呈现2合1便携式计算机的用户体验的用户界面主机。附接并激活键盘后,这样的设备的性能就如同传统的笔记本计算机,而移除键盘后,该相同设备的性能更像平板计算机。用户界面主机500使用系统分析器406来确定键盘何时是活动的等。当用户界面主机500确定键盘是活动的时,其启用用户界面管理器508。如先前所描述的,用户界面管理器508与用户界面生成器410结合使用多个规则来创建适合于膝上型计算机的用户的用户体验。这样的用户体验可以包括将重叠窗口用于应用以及针对鼠标和键盘使用进行优化的用户体验等。
在稍后的时间点,用户可以执行诸如卸下键盘之类的动作,这使系统分析器406认识到键盘不再是活动的,并且用户界面主机500确定用户界面管理器508不再向用户呈现正确的体验。通过此处描述的功能,启用用户界面主机500以使用户管理器508变形为用户管理器510,用户管理器510在不影响用户与系统交互的能力的情况下表现出更适合平板计算机的体验。平板计算机模式体验可能以单个全屏体验和针对触摸使用进行优化的用户体验等来代替重叠窗口的使用。如在本文中所提到的,变形的过程暗示着使用动画技术等从系统的一种视觉状态到另一种视觉状态的无缝视觉转换,同时维持组件化诸如标题栏310或标题栏312之类的视觉元素的能力以支持用户输入或者执行其他任务。在一个这样的实施例中,这是通过在整个系统中具有关于顶级应用视觉状态和正呈现的其他关键视觉组件的信息的集中存储库来实现的。保存在该存储库中的状态独立于由每个用户界面管理器用于呈现这些顶级应用视觉和其他元素的规则和信息。存储库中的该状态信息的一部分是在这些视觉元素与负责在屏幕上呈现它们的用户界面管理器之间存在的关联。当系统分析器406确定键盘不再是活动的并且用户界面主机500通过指示用户界面管理器508将被用户界面管理器510替换来响应时,该状态存储库中的信息的组合以及与用户界面管理器的松散耦合使用户界面管理器510可以能够快速并且有效地替换用户界面管理器508。另外,使用用户界面生成器410来同时解释用于动画和其他行为的规则可以提供从界面管理器508到用户界面管理器510的视觉部分和输入的无缝转换。将意识到,这里调出的方法和技术(诸如将通用状态存储库用于顶层应用视觉部分)仅仅是示例,而其他实施例可以采用不同的方法以及硬件和软件的组合来实现类似的效果。
在替代实施例中,启用用户界面主机500来创建环境,在该环境中,用户界面管理器彼此递归地嵌入。考虑使用重叠窗口并且包括虚拟桌面范例的传统桌面计算机。虚拟桌面是许多现代操作系统用户体验的特征,其使得用户能够创建替代桌面。然后,用户能够在这些桌面中的每个桌面之间进行切换,以分隔不同的任务。例如,用户可以使用一个桌面来管理与一个项目相关的工作相关的应用,使用不同的桌面来管理针对单独项目的工作相关的应用,并且使用不同的桌面来管理与其个人生活相关的应用。通常,这样的虚拟桌面实现方式允许在每个虚拟桌面上应用不同的定制,诸如桌面背景。在一些示例中,它们是互斥的——这意味着您不能够同时地看到工作虚拟桌面和个人虚拟桌面。返回图5,用户界面主机500认为用户界面管理器508、510和512中的每个实例由用户界面生成器410配置有适当的规则集来表达桌面体验。假设用户随后将用户界面管理器508与针对第一工作项目的应用相关联,将用户界面管理器510与第二工作项目的应用相关联,以及将用户界面管理器512与第三工作项目相关联。使用类似于在先前示例中所描述的那些技术,用户界面主机500能够使用通过系统分析器406提供的用户反馈来根据用户选择呈现适当的用户界面管理器508、510或512。该功能与虚拟桌面实现方式相匹配。
在一个实施例中,用户界面管理器510是桌面体验的独立实例,其本身与用户界面管理器508和512分离,允许用户同时向用户呈现用户界面管理器508、510和512的任意组合。这使得例如用户能够同时示出用户界面管理器508和用户界面管理器510并且与之进行交互,从而允许用户同时与这两个桌面体验进行交互。这种体验的一个这样的实施例允许将用户管理器510托管在用户管理器508的内部作为单独的重叠窗口。类似地,包含个人信息的用户界面管理器512可以由用户体验管理器508托管在窗口中。在这样的配置中,如在图5中所示的根视觉506与用户界面管理器510和512之间的连接将被移除,并且其相反是作为用户界面管理器508的子件进行连接。使用先前描述的技术,当用户界面管理器510和512被托管在用户界面管理器508下时,将能够以无缝方式正确地使得他们的体验变形。
在替代实施例中,可以通过系统分析器以及其他适当的硬件和软件功能可见性来使得系统400能够创建如在图1中所描述的输入设备126和输出设备130的不同关联,以创建系统的分区。例如,考虑附接有四个输入设备126——两个鼠标和两个键盘等——以及两个输出设备130——计算机监视器等——的台式计算机。使用这些硬件和软件功能可见性,能够将系统划分为鼠标、键盘和监视器的两个不同的集合。这些分区中的每个分区对于用户界面主机500都能通过系统分析器406可见。使用由用户界面主机500提供的功能可见性,能够将单独的用户体验与这些分区中的每个分区相关联。例如,用户界面主机500可以将用户界面508与第一分区相关联,并且将用户界面510与第二分区相关联,因此允许一个或多个用户同时与用户界面进行交互。
在本文中所描述的这些示例的每个示例中,能够创建一种环境,在该环境中,用户界面主机500能够在这些配置中同时示出用户体验508和510,这可能与以互斥方式示出用户体验508和510所需的环境没有区别。通过使用用户界面管理器和用户界面生成器,显著地简化了创建和管理这些场景的复杂性的负担,从而有效地允许将整个系统的用户体验重新用作更大的总体体验中的组成。还应当意识到,在本文中所使用的示例不限于任何形式或功能。在替代实施例中,用户界面管理器508、510和512可以表示不同的独特体验,诸如桌面体验、游戏控制台体验和媒体室娱乐体验,而不是所有都是相同的体验。
示例1
在一个实施例中,一种用于生成用户界面的系统,包括:处理器,其用于基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型。所述处理器还能够基于所述系统的所述类型来确定待运行的用户界面管理器;以及运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
替代地或另外地,所述用户界面能够包括至少一个活动应用和至少一个可见应用。替代地或另外地,所述系统的类型包括移动系统、游戏控制台系统、增强现实系统、平板系统或桌面系统。替代地或另外地,所述处理器将基于与所述用户界面管理器相对应的至少一个显示特性来显示所述用户界面。替代地或另外地,所述用户界面管理器将管理至少两个从属用户界面管理器,其中,所述至少两个从属用户界面管理器中的每个用户界面管理器将运行单独的应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell体验主机。替代地或另外地,所述处理器用于检测输入设备被耦合到所述系统,并且基于所述输入设备来生成新的用户界面管理器。替代地或另外地,所述输入设备是游戏控制器,并且所述新的用户界面管理器将提供游戏控制台用户界面。替代地或另外地,所述处理器响应于从所述用户界面管理器转换到所述新的用户界面管理器而存储所述用户界面的状态。
示例2
在本文中所描述的另一实施例中,一种用于生成用户界面的方法可以包括:基于驻留在系统内或耦合到系统的硬件组件来检测所述系统的类型。所述方法还可以包括:基于所述系统的所述类型来确定待运行的用户界面管理器;以及运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
替代地或另外地,所述用户界面能够包括至少一个活动应用和至少一个可见应用。替代地或另外地,所述系统的类型包括移动系统、游戏控制台系统、增强现实系统、平板系统或桌面系统。替代地或另外地,所述方法能够包括:基于与所述用户界面管理器相对应的至少一个显示特性来显示所述用户界面。替代地或另外地,所述用户界面管理器将管理至少两个从属用户界面管理器,其中,所述至少两个从属用户界面管理器中的每个从属用户界面管理器将运行单独的应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell体验主机。替代地或另外地,所述方法能够包括:检测输入设备被耦合到所述系统,并且基于所述输入设备来生成新的用户界面管理器。替代地或另外地,所述输入设备是游戏控制器,并且所述新的用户界面管理器将提供游戏控制台用户界面。替代地或另外地,所述方法能够包括:响应于从所述用户界面管理器转换到所述新的用户界面管理器而存储所述用户界面的状态。
示例3
在本文中所描述的又一实施例中,一种用于生成用户界面的系统能够包括:处理器;以及存储设备,其用于存储多条指令,所述指令响应于被处理器运行而使所述处理器用于:基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型;基于所述系统的所述类型来从待运行的用户界面管理器的视觉树中选择用户界面管理器,其中,所述视觉树驻留在用户界面主机中。所述多条指令还能够使处理器用于:运行所选择的用户界面管理器以生成用于所述系统的用户界面,其中,所选择的用户界面管理器包括用于指示所述用户界面的布局的多个规则。
替代地或另外地,所述用户界面能够包括至少一个活动应用和至少一个可见应用。替代地或另外地,所述系统的类型包括移动系统、游戏控制台系统、增强现实系统、平板系统或桌面系统。替代地或另外地,所述多条指令能够使所述处理器基于与所述用户界面管理器相对应的至少一个显示特性来显示所述用户界面。替代地或另外地,所述用户界面管理器将管理至少两个从属用户界面管理器,其中,所述至少两个从属用户界面管理器中的每个从属用户界面管理器将运行单独的应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell应用。替代地或另外地,所述用户界面管理器还用于管理支持体验的shell体验主机。替代地或另外地,所述多条指令能够使处理器用于:检测输入设备被耦合到所述系统,并且基于所述输入设备来生成新的用户界面管理器。替代地或另外地,所述输入设备是游戏控制器,并且所述新的用户界面管理器将提供游戏控制台用户界面。替代地或另外地,所述多条指令能够使处理器用于:响应于从所述用户界面管理器转换到所述新的用户界面管理器而存储所述用户界面的状态。
特别地并且关于由上文所描述的组件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述这种组件的术语(包括对“单元”的引用)旨在对应于执行所描述的组件的指定功能的任意组件,例如,功能等效的组件,即使在结构上不等同于所公开的结构,其在所要求保护的主题的本文示出的示例性方面中执行功能。在这方面,还将认识到,本发明包括系统以及具有用于执行所要求保护的主题的各种方法的动作和事件的计算机可执行指令的计算机可读存储介质。
存在实现所要求保护的主题的多种方式,例如,适当的API、工具套件、驱动程序代码、操作系统、控件、单机或可下载的软件对象等,其使得应用和服务能够使用在本文中所描述的技术。从API(或其他软件对象)的角度以及从根据在本文中所阐述的技术进行操作的软件或硬件对象的角度,所要求保护的主题涵盖了用途。因此,在本文中所描述的所要求保护的主题的各种实现方式可以具有完全以硬件、部分以硬件并且部分以软件以及以软件的各方面。
已经相对若干组件之间的交互描述了前述系统。能够意识到,根据前述的各种排列和组合,这样的系统和组件能够包括那些组件或指定的子组件,一些指定的组件或子组件以及额外组件。子组件也能够被实施为与其他组件通信地耦合的组件,而不是包含在父组件中(层级)。
另外,应当注意,可以将一个或多个组件组合为提供汇总功能的单个组件,或者被分为若干单独的子组件,并且可以提供任何一个或多个中间层,诸如管理层,以通信地耦合到这样的子组件,以便提供集成的功能。在本文中所描述的任何组件还可以与在本文中未具体描述但是本领域技术人员通常已知的一个或多个其他组件交互。
另外,尽管可能已经相对于若干种实现方式之一公开了所要求保护的主题的特定特征,但是可以将这种特征与其他实现方式的一个或多个其他特征相组合,这可能对任何给定或特定应用是期望且有利的。此外,就在详细描述或权利要求中使用术语“包括”、“包含”、“具有”、“含有”、其变体以及其他类似词语的程度而言,这些术语旨在以类似于术语“包括”的方式是包含性的,作为开放式过渡词,而不排除任何额外或其他元素。
Claims (15)
1.一种用于生成用户界面的系统,包括:
处理器,其用于:
基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型;
基于所述系统的所述类型来确定待运行的用户界面管理器;以及
运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
2.根据权利要求1所述的系统,其中,所述用户界面包括至少一个活动应用和至少一个可见应用。
3.根据权利要求1或2所述的系统,其中,所述系统的所述类型包括移动系统、游戏控制台系统、增强现实系统、平板系统或桌面系统。
4.根据权利要求1或2所述的系统,其中,所述处理器用于基于与所述用户界面管理器相对应的至少一个显示特性来显示所述用户界面。
5.根据权利要求1所述的系统,其中,所述用户界面管理器用于管理至少两个从属用户界面管理器,其中,所述至少两个从属用户界面管理器中的每个从属用户界面管理器用于运行单独的应用。
6.根据权利要求1或2所述的系统,其中,所述用户界面管理器还用于管理支持体验的shell应用。
7.根据权利要求1或2所述的系统,其中,所述用户界面管理器还用于管理支持体验的shell体验主机。
8.根据权利要求1所述的系统,其中,所述处理器用于:检测输入设备被耦合到所述系统,并且基于所述输入设备来生成新的用户界面管理器。
9.根据权利要求8所述的系统,其中,所述输入设备是游戏控制器,并且所述新的用户界面管理器用于提供游戏控制台用户界面。
10.根据权利要求8所述的系统,其中,所述处理器响应于从所述用户界面管理器转换到所述新的用户界面管理器而存储所述用户界面的状态。
11.一种用于生成用户界面的方法,包括:
基于驻留在系统内或者被耦合到系统的硬件组件来检测所述系统的类型;
基于所述系统的所述类型来确定待运行的用户界面管理器;以及
运行所述用户界面管理器以生成用于所述系统的用户界面,其中,所述用户界面管理器包括用于指示所述用户界面的布局的多个规则。
12.根据权利要求11所述的方法,其中,所述用户界面包括至少一个活动应用和至少一个可见应用。
13.根据权利要求11或12所述的方法,其中,所述系统的所述类型包括移动系统、游戏控制台系统、增强现实系统、平板系统或桌面系统。
14.根据权利要求11或12所述的方法,包括:检测输入设备被耦合到所述系统,并且基于所述输入设备来生成新的用户界面管理器,其中,所述输入设备是游戏控制器,并且所述新的用户界面管理器用于提供游戏控制台用户界面。
15.一种用于生成用户界面的系统,包括:
处理器;以及
存储设备,其用于存储多条指令,所述多条指令响应于由处理器运行而使所述处理器用于:
基于驻留在所述系统内或者被耦合到所述系统的硬件组件来检测所述系统的类型;
基于所述系统的所述类型从待运行的用户界面管理器的视觉树中选择用户界面管理器,其中,所述视觉树驻留在用户界面主机中;以及
运行所选择的用户界面管理器以生成用于所述系统的用户界面,其中,所选择的用户界面管理器包括用于指示所述用户界面的布局的多个规则。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/038032 WO2018231259A1 (en) | 2017-06-16 | 2017-06-16 | Rules based user interface generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110785740A true CN110785740A (zh) | 2020-02-11 |
CN110785740B CN110785740B (zh) | 2024-06-11 |
Family
ID=59270139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780091953.5A Active CN110785740B (zh) | 2017-06-16 | 2017-06-16 | 基于规则的用户界面生成 |
Country Status (13)
Country | Link |
---|---|
US (2) | US11809217B2 (zh) |
EP (1) | EP3612929B1 (zh) |
JP (1) | JP7007401B2 (zh) |
KR (1) | KR102378953B1 (zh) |
CN (1) | CN110785740B (zh) |
AU (1) | AU2017418322B2 (zh) |
BR (1) | BR112019026121A2 (zh) |
CA (1) | CA3063675A1 (zh) |
CO (1) | CO2019013990A2 (zh) |
IL (1) | IL271255B2 (zh) |
PH (1) | PH12019550259A1 (zh) |
RU (1) | RU2020100889A (zh) |
WO (1) | WO2018231259A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111596985A (zh) * | 2020-04-24 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 多媒体会议场景下的界面显示方法、装置、终端及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387105A (zh) * | 2001-02-27 | 2002-12-25 | 微软公司 | 产生用户界面的专门系统 |
EP1884871A1 (en) * | 2006-07-26 | 2008-02-06 | Research In Motion Limited | System and method for adaptive theming of a mobile device |
TW201044255A (en) * | 2009-06-12 | 2010-12-16 | Acer Inc | Electronic device, computer-executable system, and application program display control method thereof |
CN105493032A (zh) * | 2013-04-30 | 2016-04-13 | 微软技术许可有限责任公司 | 跨设备用户界面选择 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675755A (en) * | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
US6188399B1 (en) * | 1998-05-08 | 2001-02-13 | Apple Computer, Inc. | Multiple theme engine graphical user interface architecture |
US6282646B1 (en) * | 1998-05-08 | 2001-08-28 | Apple Computer, Inc. | System for real-time adaptation to changes in display configuration |
US7137066B2 (en) * | 2000-04-06 | 2006-11-14 | Microsoft Corporation | Binary cache file format for themeing the visual appearance of a computer system |
US6753885B2 (en) * | 2000-04-06 | 2004-06-22 | Microsoft Corporation | System and theme file format for creating visual styles |
US7246326B2 (en) * | 2001-06-25 | 2007-07-17 | Siemens Medical Solutions Health Services Corporation | System and procedure for providing a user interface display |
US7392483B2 (en) * | 2001-09-28 | 2008-06-24 | Ntt Docomo, Inc, | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US7234111B2 (en) * | 2001-09-28 | 2007-06-19 | Ntt Docomo, Inc. | Dynamic adaptation of GUI presentations to heterogeneous device platforms |
US7895522B2 (en) * | 2001-09-28 | 2011-02-22 | Ntt Docomo, Inc. | Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US7952569B2 (en) * | 2002-08-08 | 2011-05-31 | Hewlett-Packard Development Company, L.P. | System and method of switching between multiple viewing modes in a multi-head computer system |
WO2004054671A1 (en) * | 2002-12-13 | 2004-07-01 | Wagerworks, Inc. | Flexible user interface |
US7417644B2 (en) * | 2003-05-12 | 2008-08-26 | Microsoft Corporation | Dynamic pluggable user interface layout |
US8196044B2 (en) | 2004-01-05 | 2012-06-05 | Microsoft Corporation | Configuration of user interfaces |
US8130237B2 (en) * | 2004-06-24 | 2012-03-06 | Apple Inc. | Resolution independent user interface design |
US7730484B2 (en) * | 2004-11-12 | 2010-06-01 | Opera Software Asa | Method and device for providing interfaces that are tailored to specific devices |
US7450084B2 (en) * | 2004-12-17 | 2008-11-11 | Microsoft Corporation | System and method for managing computer monitor configurations |
US7907966B1 (en) | 2005-07-19 | 2011-03-15 | Aol Inc. | System and method for cross-platform applications on a wireless phone |
CN100419848C (zh) * | 2005-09-28 | 2008-09-17 | 联想(北京)有限公司 | 一种多显示器系统及其自动设置显示模式的方法 |
US20070079236A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Multi-form design with harmonic composition for dynamically aggregated documents |
US7707514B2 (en) * | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US8869027B2 (en) * | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US20100115434A1 (en) | 2007-02-16 | 2010-05-06 | Ryouta Yagi | User interface generator, information terminal, user interface generation control program, storage medium, and user interface generation method |
US20100138295A1 (en) * | 2007-04-23 | 2010-06-03 | Snac, Inc. | Mobile widget dashboard |
US8954871B2 (en) * | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
US20090150773A1 (en) * | 2007-12-05 | 2009-06-11 | Sun Microsystems, Inc. | Dynamic product configuration user interface |
US20110153612A1 (en) | 2009-12-17 | 2011-06-23 | Infosys Technologies Limited | System and method for providing customized applications on different devices |
US20140026086A1 (en) * | 2010-04-28 | 2014-01-23 | Adobe Systems Incorporated | Methods and Systems for Cross-Platform Computing Applications Featuring Adaptable User Interfaces |
US20120017172A1 (en) * | 2010-07-15 | 2012-01-19 | Microsoft Corporation | Display-agnostic user interface for mobile devices |
US20120054634A1 (en) | 2010-08-27 | 2012-03-01 | Sony Corporation | Apparatus for and method of creating a customized ui based on user preference data |
US9621567B2 (en) | 2010-11-29 | 2017-04-11 | Biocatch Ltd. | Device, system, and method of detecting hardware components |
US9043714B1 (en) * | 2011-01-07 | 2015-05-26 | Google Inc. | Adaptive user interface for widescreen devices |
US20120284631A1 (en) | 2011-05-02 | 2012-11-08 | German Lancioni | Methods to adapt user interfaces and input controls |
US9013510B2 (en) | 2011-07-29 | 2015-04-21 | Google Inc. | Systems and methods for rendering user interface elements in accordance with a device type |
US20140040819A1 (en) * | 2011-09-09 | 2014-02-06 | Adobe Systems Incorporated | Methods and systems for managing the presentation of windows on a display device |
US9075631B2 (en) | 2011-10-18 | 2015-07-07 | Blackberry Limited | Method of rendering a user interface |
EP2795448A4 (en) * | 2011-12-23 | 2015-08-12 | Airstrip Ip Holdings Llc | SYSTEMS AND METHODS FOR DEVELOPING MULTIPLATEFORM APPLICATIONS FOR COMPUTER DEVICES |
US20130191775A1 (en) * | 2012-01-25 | 2013-07-25 | Richard James Lawson | Adjustable user interface |
US20170168782A1 (en) * | 2012-05-28 | 2017-06-15 | Ian Boyd | System and method for creating a universally compatible application development system |
EP2868064A4 (en) * | 2012-06-29 | 2016-01-20 | Intel Corp | PROVIDING A USER INTERFACE BASED ON INTERACTION OF A USER WITH A COMPUTER DEVICE |
US9107076B1 (en) | 2012-07-27 | 2015-08-11 | Sprint Communications Company L.P. | Data fraud detection via device type identification |
US9053243B2 (en) * | 2012-10-10 | 2015-06-09 | Google Inc. | Unidirectional and bidirectional communication between a host device and a peripheral device |
US20140157183A1 (en) * | 2012-11-30 | 2014-06-05 | John Gordon Dorsay | System and method for the selection, layout, and control of one or more hosted interactive computer application programs using a lightweight supervisor computer application program |
US9239713B1 (en) | 2013-03-06 | 2016-01-19 | MobileForce Software, Inc. | Platform independent rendering for native mobile applications |
US9747005B1 (en) * | 2013-03-11 | 2017-08-29 | Workday, Inc. | Adaptive user interface |
US9626146B2 (en) * | 2013-07-24 | 2017-04-18 | Kabushiki Kaisha Toshiba | Electronic apparatus, configuration setting method for adjusting display size and storage medium |
KR20150014319A (ko) | 2013-07-29 | 2015-02-06 | 삼성전자주식회사 | 사용자 인터페이스 화면을 제공하는 모바일 디바이스와 화상형성장치, 및 모바일 디바이스 및 화상형성장치에서 사용자 인터페이스 화면을 제공하는 방법 |
US9513763B1 (en) * | 2014-03-20 | 2016-12-06 | Amazon Technologies, Inc. | Adaptive user interfaces |
US9471201B1 (en) | 2014-05-20 | 2016-10-18 | Google Inc. | Laptop-to-tablet mode adaptation |
US10120659B2 (en) * | 2014-05-30 | 2018-11-06 | Apple Inc. | Adaptive user interfaces |
US20160132992A1 (en) * | 2014-11-06 | 2016-05-12 | Microsoft Technology Licensing, Llc | User interface scaling for devices based on display size |
EP3216196B1 (en) | 2014-11-24 | 2021-01-06 | C-Labs Corporation | Method for dynamic and automatic creation of user interfaces |
US10042655B2 (en) * | 2015-01-21 | 2018-08-07 | Microsoft Technology Licensing, Llc. | Adaptable user interface display |
US10552183B2 (en) * | 2016-05-27 | 2020-02-04 | Microsoft Technology Licensing, Llc | Tailoring user interface presentations based on user state |
US10025548B2 (en) * | 2016-08-09 | 2018-07-17 | International Business Machines Corporation | Automated display configuration |
US10620792B2 (en) * | 2017-03-10 | 2020-04-14 | Jonathan Glickman | Computing device with an appropriate adaptable user hardware interface |
-
2017
- 2017-06-16 WO PCT/US2017/038032 patent/WO2018231259A1/en unknown
- 2017-06-16 BR BR112019026121-4A patent/BR112019026121A2/pt unknown
- 2017-06-16 CA CA3063675A patent/CA3063675A1/en active Pending
- 2017-06-16 CN CN201780091953.5A patent/CN110785740B/zh active Active
- 2017-06-16 IL IL271255A patent/IL271255B2/en unknown
- 2017-06-16 US US16/613,613 patent/US11809217B2/en active Active
- 2017-06-16 RU RU2020100889A patent/RU2020100889A/ru unknown
- 2017-06-16 KR KR1020207000328A patent/KR102378953B1/ko active IP Right Grant
- 2017-06-16 EP EP17734911.5A patent/EP3612929B1/en active Active
- 2017-06-16 JP JP2019561853A patent/JP7007401B2/ja active Active
- 2017-06-16 AU AU2017418322A patent/AU2017418322B2/en active Active
-
2019
- 2019-11-28 PH PH12019550259A patent/PH12019550259A1/en unknown
- 2019-12-11 CO CONC2019/0013990A patent/CO2019013990A2/es unknown
-
2023
- 2023-09-08 US US18/463,806 patent/US20240143350A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387105A (zh) * | 2001-02-27 | 2002-12-25 | 微软公司 | 产生用户界面的专门系统 |
EP1884871A1 (en) * | 2006-07-26 | 2008-02-06 | Research In Motion Limited | System and method for adaptive theming of a mobile device |
TW201044255A (en) * | 2009-06-12 | 2010-12-16 | Acer Inc | Electronic device, computer-executable system, and application program display control method thereof |
CN105493032A (zh) * | 2013-04-30 | 2016-04-13 | 微软技术许可有限责任公司 | 跨设备用户界面选择 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111596985A (zh) * | 2020-04-24 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 多媒体会议场景下的界面显示方法、装置、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
US11809217B2 (en) | 2023-11-07 |
CO2019013990A2 (es) | 2020-01-17 |
AU2017418322B2 (en) | 2022-06-30 |
CN110785740B (zh) | 2024-06-11 |
EP3612929B1 (en) | 2022-08-24 |
RU2020100889A (ru) | 2021-07-16 |
IL271255A (en) | 2020-01-30 |
EP3612929A1 (en) | 2020-02-26 |
IL271255B (en) | 2022-11-01 |
US20240143350A1 (en) | 2024-05-02 |
JP2020529055A (ja) | 2020-10-01 |
IL271255B2 (en) | 2023-03-01 |
US20210286632A1 (en) | 2021-09-16 |
AU2017418322A1 (en) | 2019-11-28 |
KR102378953B1 (ko) | 2022-03-24 |
WO2018231259A1 (en) | 2018-12-20 |
BR112019026121A2 (pt) | 2020-07-07 |
PH12019550259A1 (en) | 2020-07-13 |
CA3063675A1 (en) | 2018-12-20 |
KR20200018574A (ko) | 2020-02-19 |
JP7007401B2 (ja) | 2022-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9684434B2 (en) | System and method for displaying a user interface across multiple electronic devices | |
US9195362B2 (en) | Method of rendering a user interface | |
US10157593B2 (en) | Cross-platform rendering engine | |
JP2018509686A (ja) | インクストロークの編集および操作 | |
KR20150138271A (ko) | 전환 목록 상호작용 | |
US20220221970A1 (en) | User interface modification | |
US11989571B2 (en) | Generating user interface containers | |
US20240143350A1 (en) | Rules Based User Interface Generation | |
US20190056857A1 (en) | Resizing an active region of a user interface | |
EP3635527B1 (en) | Magnified input panels | |
CN118260014A (zh) | 生成用户界面容器 | |
CN109416593B (zh) | 用于添加和逆转操作的转盘控制 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020665 Country of ref document: HK |
|
GR01 | Patent grant |