CN110663028B - 动态调整用户界面的面板 - Google Patents
动态调整用户界面的面板 Download PDFInfo
- Publication number
- CN110663028B CN110663028B CN201880031936.7A CN201880031936A CN110663028B CN 110663028 B CN110663028 B CN 110663028B CN 201880031936 A CN201880031936 A CN 201880031936A CN 110663028 B CN110663028 B CN 110663028B
- Authority
- CN
- China
- Prior art keywords
- panels
- panel
- interface
- user interface
- logical
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1446—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
-
- 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/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
-
- 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]
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
用于提供通知的上下文信息的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。识别用于一个或多个计算设备的用户界面的面板之间的逻辑关系。获得界面模式的集合,所述界面模式对应于面板之间的不同逻辑关系并且描述用于布置具有相应逻辑关系的面板的不同空间关系。确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配。从界面模式的集合当中选择特定界面模式,以指定用户界面的面板的布置。提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面。
Description
技术领域
本说明书描述了与用户界面的生成相关的技术。
背景技术
图形用户界面显示在设备上,使用户能够与设备交互。例如,图形用户界面可以包括具有选项的菜单,用户可以从中进行选择。
发明内容
图形用户界面可以以一个或多个面板(panel)的形式向用户显示信息。例如,图形用户界面可以包括单个面板、两个并排的面板、在第二面板的顶部的一个面板、或者一些其他布置的面板。面板可以是分组在一起以呈现给用户的信息的图形布置。例如,面板可以是浏览器的网站的窗口、电子邮件应用的窗口、上下文菜单、图像或一些其他图形布置的信息。
面板可以以由应用指定的预定的方式显示。例如,可以这样来硬编码成电子邮件应用:电子邮件应用被示出在第一面板中并且当用户点击特定的上下文菜单时,该特定的上下文菜单应该显示在覆盖第一面板的一部分的第二面板中。然而,以由应用指定的硬编码的、预定的方式显示面板可能导致不能适应其中用户界面被调用的系统上下文的图形用户界面,潜在地使用户界面不适于用途。例如,设备可能已经与第一面板并排显示第三面板,使得当第二面板被示出时覆盖第一面板。取决于用于显示第二面板的硬编码指令,第二面板可能,例如,太小而用户无法与之交互,可能不正确地遮蔽第一或第三面板的一部分,或者可能被第一或第三面板的一部分遮蔽。
为了克服这些问题,系统可以生成包括根据由特定界面模式描述的空间关系而布置的一个或多个面板的图形用户界面。界面模式可以基于由界面模式描述的相应逻辑关系和要显示的一个或多个面板的至少一个逻辑关系从多个界面模式当中选择。面板之间的逻辑关系可以指示面板之间的从属性、层次性或相似性中的一个或多个。面板之间的空间关系可以指示面板相对于彼此的尺寸、形状或位置中的一个或多个。
例如,系统可以确定用于显示的三个面板彼此之间具有与由第一模式描述的逻辑关系相匹配的特定的逻辑关系,其中第一模式还描述了面板将被显示为其中第一面板占据屏幕的左侧并且第二面板和第三面板均匀地共享屏幕的右侧的空间关系。在另一示例中,系统可以确定三个面板彼此之间具有与由第二模式描述的逻辑关系相匹配的特定的逻辑关系,其中第二模式还描述面板将被显示为其中所有三个面板被并排示出的空间关系。在又一示例中,系统可以确定三个面板彼此之间具有与由第三模式描述的逻辑关系相匹配的特定的逻辑关系,其中第三模式还描述了面板将被显示为其中示出第一面板和标栏以用于从第一面板切换到第二面板和第三面板的空间关系。
因此,该系统可以使得操作系统能够在面板打开和关闭时动态地重新布置相同或不同应用的面板。界面模式可以使得面板的重新布置基于面板之间的逻辑关系,而不是基于指定特定面板必须总是以特定方式示出的硬编码指令。因此,该系统使得操作系统能够通过在不同面板被应用调用时生成新的用户界面,来作为一个整体动态地响应用户界面的特定操作上下文。
本说明书中描述的主题的一个创新方面体现在方法中,该方法包括以下动作:由一个或多个计算设备识别用于一个或多个计算设备的用户界面的面板之间的逻辑关系;由一个或多个计算设备获得界面模式的集合,所述界面模式对应于面板之间的不同逻辑关系并且各自描述用于布置具有相应逻辑关系的面板的不同空间关系;由一个或多个计算设备确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配;响应于确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配,由一个或多个计算设备从界面模式的集合当中选择特定界面模式,以指定用户界面的面板的布置;和由一个或多个计算设备提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面。
该方面的其他实施例包括相应计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,各自被配置成执行这些方法的动作。一个或多个计算机的系统可以被配置成通过在系统上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,这些软件、固件、硬件或它们的组合在操作中导致系统执行动作。一个或多个计算机程序可以被配置成通过包括指令来执行特定的操作或动作,指令在被数据处理装置运行时使得该装置执行动作。
前述和其他实施例可以各自可选地、单独或组合地包括一个或多个以下特征。例如,在某些方面,对应于特定界面模式的逻辑关系可以包括指示从第二面板创建第一面板的关系。在一些方面,用于用户界面的面板可以包括应用的上下文菜单、应用的不同窗口或不同应用的不同窗口。
在一些实施方式中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配可以包括:基于对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系来确定用于特定界面模式的第一关系相似性得分,基于对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系来确定用于第二界面模式的第二关系相似性得分,以及确定第一关系相似性得分指示对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,该相似性水平高于第二关系相似性得分所指示的、对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,并且其中确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配是基于确定第一关系相似性得分指示的相似性水平高于由第二相似性得分指示的相似性水平。
在某些方面,识别用于用户界面的面板之间的逻辑关系可以包括以下中的一个或多个:识别第一面板是第二面板的子面板、识别第一面板是第二面板的兄弟面板、识别第一面板从属于第二面板、识别第一面板嵌入在第二面板内、识别第一面板与第二面板串联或者识别第一面板控制第二面板。在一些方面,识别用于用户界面的面板之间的逻辑关系可以包括:生成节点图(graph of nodes),其中每个节点代表面板,以及节点之间的边代表面板之间的逻辑关系。在一些实施方式中,节点图中的每条边可以代表由该边连接的节点代表的面板之间存在的逻辑关系的类型。在某些方面,特定界面模式可以描述第二节点图,其中每个节点代表面板,以及节点之间的边代表面板之间的逻辑关系,其中第二节点图的特定边代表由特定界面模式描述的至少一个逻辑关系,确定被识别的面板的集合中的面板之间的逻辑关系与由特定界面模式描述的面板之间的至少一个逻辑关系相匹配包括:确定节点图包括代表与由第二节点图的特定边表示的逻辑关系类型相匹配的逻辑关系类型的边。
在一些方面,动作可以包括识别用于用户界面的附加面板,以及响应于识别用于用户界面的附加面板,将对应于附加面板的附加节点添加到节点图,并且添加从附加节点到节点图的另一节点的至少一个附加边,其中附加边代表附加节点和节点图的另一节点之间的逻辑关系。在一些实施方式中,动作可以包括生成具有焦点的面板的列表,其中当面板获得焦点时,它被添加到列表的头部,并且面板的取消导致面板从列表中移除,其中从界面模式的集合当中选择特定界面模式以指定用户界面的面板的布置也至少基于具有焦点的面板的列表。
在某些方面,识别用于用户界面的面板之间的逻辑关系可以包括:确定用于用户界面的面板中的哪个面板当前在用户界面上具有焦点,其中对应于特定界面模式的逻辑关系描述特定面板具有焦点,并且确定用于用户界面的面板之间的逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:确定当前在用户界面上具有焦点的面板与由特定界面模式描述为具有焦点的面板相匹配。
在一些实施方式中,提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面可以包括:识别由特定界面模式描述的面板的位置和尺寸,并将面板的集合中的面板映射到由特定界面模式描述的面板的位置和尺寸。
在一些方面,动作可以包括:确定其上将显示界面的设备的特性,其中获得界面模式的集合包括获得各自描述设备要求的界面模式的初始集合,确定设备的特性是否满足由界面模式的初始集合中的每个界面模式描述的设备要求,以及生成界面模式的集合以仅包括界面模式的初始集合中的、描述被设备的特性满足的设备要求的界面模式。
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。从说明书、附图和权利要求书中,主题的其他特性、方面和优点将变得显而易见。
附图说明
图1是生成界面的示例环境的框图。
图2是用于生成界面的数据的示例表示的框图。
图3是示出提供界面的数据的过程的示例的流程图。
图4是计算机系统的示意图。
不同附图中相似的附图标记和名称指示相似的元件。
具体实施方式
图1是生成界面的示例环境100的框图。环境100包括用户设备102,界面140可以在用户设备102上生成和显示。用户设备102是显示界面140的电子设备,用户可以通过界面140与用户设备102交互。示例用户设备102包括个人计算机(例如,台式机或笔记本电脑)、移动通信设备(例如智能电话或平板电脑)和其他设备。
用户设备102可以包括描述用于显示的面板之间的逻辑关系的关系信息110、描述用户设备102的特性的设备特性130、以及获得关系信息110和设备特性130以生成界面140的界面生成器120。关系信息110可以描述用于在用户设备102上显示的面板之间的逻辑关系。逻辑关系可以是面板之间的从属性、层次性或相似性中的一个或多个。例如,两个面板之间的逻辑关系可以是父子关系,其中第一面板是父面板,并且第二面板是响应于用户与第一面板交互而示出的子面板。在另一示例中,两个面板之间的逻辑关系可以是共面(co-planar)的,其中第一面板和第二面板响应于不从属于另一面板的交互而被示出。在又一示例中,两个面板之间的逻辑关系可以是从属关系,其中仅当显示第一面板时才显示第二面板。在又一示例中,两个面板之间的逻辑关系可以是任意关系,其中第一面板和第二面板在如何显示它们方面彼此之间没有任何从属性。在另一示例中,两个面板之间的逻辑关系可以是嵌入逻辑关系,其中第一面板嵌入在第二面板内。在又一示例中,两个面板之间的逻辑关系可以是远程控制关系,其中第一面板控制第二面板。
如图1所示,关系信息描述“面板C”是“面板B”的子面板,以及“面板B”是“面板A”的子面板。“面板A”被示出为用户可以选择一个日期的日历界面,“面板B”被示出为用户可以选择所选择的日期的时间段的时间界面,以及“面板C”被示出为用户可以输入所选择的日期的所选择的时间段的细节的事件界面。在一些实施方式中,关系信息110可以描述面板是如何相关的,而不描述面板内的内容。例如,关系信息可以简单地描述存在父面板、子面板和嵌套子面板,而不描述父面板是日历界面,子面板是时间界面,以及嵌套子面板是事件界面。
设备特性130可以描述用户设备102的一个或多个特性。例如,如图1所示,设备特性描述了用户设备102具有分辨率为1920×1080像素的显示器。特性可以包括分辨率、物理屏幕大小、触摸能力和其他特性中的一个或多个。
界面生成器120获得关系信息110和设备特性130以生成界面140。例如,界面生成器120可以获得描述“面板C”是“面板B”的子面板以及“面板B”是“面板A”的子面板的关系信息110,以及描述用户设备130具有1920×1080的分辨率的设备特性。作为响应,界面生成器120可以生成一个界面,该界面包括“面板A”在“面板B”上方,其中两者均匀地共享界面的左半部分,并且“面板C”占据界面的右半部分。
界面生成器120可以通过监控生成面板的顺序和生成面板的来源来获得关系信息110。例如,界面生成器120可以监控“面板B”是从用户与“面板A”的交互而创建的,并且作为响应,确定“面板A”和“面板B”具有父-子关系。在另一示例中,界面生成器120可以通过检查面板的元数据来获得关系信息110。例如,当从“面板A”创建“面板B”时,“面板B”可以存储有指示从“面板A”生成“面板B”的元数据。在又一示例中,界面生成器120可以通过检查面板的行为来获得关系信息110。例如,界面生成器120可以确定应用的指令指示如果“面板A”关闭、那么“面板B”也应该关闭,并且作为响应,确定“面板B”从属于“面板A”的关系。
界面生成器120可以包括存储多个界面模式的数据存储122并使用多个存储的界面模式来生成界面140。例如,数据存储122可以存储第一模式“模式A”、第二模式“模式B”和第三模式“模式C”,并使用模式来生成界面140。
多个界面模式中的每个界面模式可以描述面板之间相应的逻辑关系以及描述如何显示与逻辑关系相匹配的面板的空间关系。例如,第一界面模式“模式A”可以描述在具有横向格式的屏幕上显示具有父子关系的两个面板,其中父面板在左半部,子面板在右半部。第二界面模式“模式B”可以描述在具有纵向格式的屏幕上显示具有父子关系的两个面板,其中占据一半屏幕的子面板在占据另一半屏幕的父面板上方。第三界面模式“模式C”可以描述在具有横向格式的屏幕上显示具有父-子-嵌套子关系的三个面板,其中父面板在左上象限,子面板在左下象限,嵌套子面板在右半部。
在一些实施方式中,界面模式可以额外地或可替代地描述作为行为的方面。例如,界面模式可以描述界面模式的特定面板之间的滚动位置应当同步,或者当使用界面模式时,应当响应于特定用户交互而示出特定动画。
界面生成器120可以确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配。例如,界面生成器120可以确定“面板C”是“面板B”的子面板以及“面板B”是“面板A”的子面板的所识别的关系信息110与针对“模式C”描述的父-子-嵌套子的逻辑关系相匹配。因此,界面生成器120可以确定更好地适合具有不同设备特性的不同设备和用于显示的面板之间的不同关系的不同界面模式。
界面生成器120可以响应于确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配,选择特定界面模式。例如,响应于界面生成器120确定“面板C”描述与所识别的父-子-嵌套子的关系的逻辑关系相匹配的逻辑关系,界面生成器120可以从数据存储122中的所有界面模式当中选择“面板C”。
界面生成器120可以提供具有根据所选择的界面模式而布置的面板的用户界面。例如,所选择的界面模式可以描述具有父-子-嵌套子关系的三个面板被显示在具有横向格式的屏幕上,其中父面板在左上象限,子面板在左下象限,嵌套子面板在右半部。作为响应,界面生成器120可以将对应于左上象限中的父面板的“面板A”、对应于左下象限中的子面板的“面板B”以及对应于右半部中的嵌套子面板的“面板C”进行布置。
界面生成器120可以根据界面模式来布置面板的集合,该界面模式通过识别由界面模式描述的空间关系中的面板的位置和尺寸并将面板映射到由界面模式描述的面板的位置和尺寸来进行选择。例如,界面生成器120可以识别“模式C”包括被定位和被设置尺寸以占据左上象限的第一面板,被定位和被设置尺寸以占据左下象限的第二面板,以及被定位和被设置尺寸以占据右半部分的第三面板。在该示例中,界面生成器120然后可以将用于显示的面板的集合中的相应的面板映射到由界面模式描述的面板的位置和尺寸。
在一些实施方式中,界面模式可以额外地描述哪些面板在界面140中具有焦点。例如,界面模式可以描述在小屏幕上显示父子关系,其中子面板覆盖在父面板上并且子面板处于焦点中。在另一示例中,界面模式可以描述显示从属关系,其中从属面板与另一面板并排示出,两个面板都处于焦点中。焦点可以涉及用户输入是否会被引导到面板中。例如,点击处于焦点中的面板的图形控制元素将激活图形控制元素,点击不处于焦点中的面板的图形元素将使面板处于焦点中而不激活图形控制元素。
在一些实施方式中,界面模式可以描述要求。例如,界面模式可以描述两个兄弟(sibling)面板并排示出,但是每个面板最多具有至少600×600的分辨率。因此,如果界面生成器120确定要求不被所获得的设备特性满足,则界面生成器120可以确定不选择该界面模式。在一些实施方式中,当界面生成器120获得界面模式时,界面生成器120可以过滤界面模式以移除或仅获得具有被所获得的设备特性满足的要求的界面模式。
虽然图1示出了用户设备102上的界面生成器120,但是在一些实施方式中,界面生成器120可以替代地位于服务器上,其中服务器获得描述用于显示的面板之间的关系的关系信息110,获得描述用户设备102的特性的设备特性130,使用关系信息110和设备特性130生成界面140,并且向用户设备102提供界面140。在一些其他实施方式中,界面生成器120可以在用户设备102和服务器两者上实施。例如,用户设备102可以获得关系信息110和设备特性130,向服务器提供关系信息110和设备特性130,服务器可以基于关系信息110和设备特性130从多个界面模式当中选择界面模式,服务器可以向用户设备102提供所选择的界面模式,并且用户设备102可以通过根据所选择的界面模式布置面板的集合来生成界面。
在一些实施方式中,界面生成器120还可以基于面板的固有属性来选择界面模式。例如,界面模式120可以确定面板指示如果面板被显示,则面板必须至少以特定的最小分辨率显示,并且界面生成器120可以在选择界面模式时使用该固有属性。在另一示例中,面板可以指示面板不能在被另一面板重叠时示出,并且在选择界面模式时使用该属性。
图2是用于生成界面的数据的示例表示200的框图。表示200示出了当首先显示第一面板,然后将第一面板显示为父面板并显示子面板,且然后显示父面板、子面板和嵌套子面板时,界面210A、210B和210C、节点图220A和220B以及界面模式230A和230B如何用于生成界面。
表示200示出了具有第一面板“面板A”的第一界面210A,其中将额外地显示子面板“面板B”。例如,“面板A”可以是日历界面,用户可能仅选择了一个日期,并且系统可以额外地显示具有时间界面的子面板“面板B”,以选择时间段。
当系统确定显示子面板时,可以更新节点图220A。例如,节点图220A示出代表“面板A”的标记为“A”的第一节点,以及虚线轮廓中的、代表“面板B”的标记为“B”的第二节点,以及从第一节点到第二节点的标记为“子”的边(edge)。节点图220A可以表示描述用于显示的面板之间的逻辑关系的关系信息。在一些实施方式中,图1的关系信息110可以由节点图表示。
表示200示出了节点图220A被确定为与界面模式230A相匹配,这也在图2中示出。然后使用由界面模式230A描述的空间关系生成界面210B。例如,界面生成器120可以使用由界面模式230A描述的空间关系来生成界面210B。
表示200示出了界面210B,其中要显示父面板“面板A”、子面板“面板B”和嵌套面板“面板C”。例如,“面板A”可以是日历界面,“面板B”可以是时间界面,并且用户可能仅选择了时间段,并且系统可以示出具有其中用户可以输入所选择的日期的所选择的时间段的细节的事件界面的嵌套子面板“面板C”。
当系统确定显示嵌套子面板时,可以更新节点图220B。例如,节点图220B示出了代表“面板A”的标记为“A”的第一节点,该第一节点具有到代表“面板B”的标记为“B”的第二节点的标记为“子”的边,以及虚线轮廓中的、代表“面板C”的标记为“C”的第三节点,和从第二节点到第三节点的标记为“子”的边。
表示200示出了节点图220B被确定为与界面模式230B相匹配,这也在图2中示出。然后,使用由界面模式230B描述的空间关系来生成界面210C。例如,界面生成器120可以使用由界面模式230B描述的空间关系来生成界面210C。
如图2所示,随着用于用户界面的新面板的出现,新节点可以与相应的边一起添加到节点图中。类似地,当面板被取消或对于用户界面不再需要时,现有节点和相应的边可以从节点图中移除。例如,当与标记为“C”的第三节点相对应的面板被取消时,节点图220B中示出的虚线边和节点可以被移除。
在一些实施方式中,可以生成具有焦点的面板的列表,并将其与节点图分开存储。面板的列表可以代表具有焦点的面板,其中当面板获得焦点时,它被添加为列表的头部,并且面板的取消导致面板从列表中移除。该列表可用作用于对面板排序的信号。例如,该列表用于选择界面模式,或者用于确定一旦选择了界面模式将显示哪些面板。
图3是示出提供界面的数据的过程300的示例的流程图。过程300的操作可以由一个或多个计算系统执行,诸如图1的用户设备102。
可以识别用于用户界面的面板之间的逻辑关系(310)。例如,界面生成器120可以获得描述将要显示的三个面板并且这三个面板处于具有同等重要性的共面关系中的关系信息。在一些实施方式中,识别面板之间的逻辑关系包括识别第一面板中的一个或多个是第二面板的子面板、第一面板是第二面板的兄弟面板、第一面板从属于第二面板、第一面板嵌入在第二面板内、第一面板与第二面板串联、第一面板控制第二面板、或者从第二面板创建第一面板。
在一些实施方式中,识别面板之间的逻辑关系包括生成节点图,其中每个节点代表面板,以及节点之间的边代表面板之间的逻辑关系。例如,界面生成器120可以生成节点图220A和220B。节点图中的每条边可以代表由边连接的节点所代表的面板之间存在的逻辑关系的类型。在一些实施方式中,识别面板之间的逻辑关系包括确定面板的集合中的哪个面板具有焦点。例如,界面生成器120可以确定关系信息描述共面面板中的第一面板具有焦点,并且确定最初示出处于焦点中的第一面板,第一面板具有用于用相应的另一面板替换第一面板的标栏。
在一些实施方式中,当界面生成器120监控面板的打开和关闭时,可以生成节点图。例如,界面生成器120可以在每次显示新面板时进行监控,并且作为响应,更新节点图。在另一示例中,界面生成器120可以在每次面板关闭时进行监控,并且作为响应,更新节点图。
获得界面模式的集合,该界面模式对应于面板之间不同逻辑关系并描述用于布置面板的不同空间关系(320)。例如,界面生成器120可以访问存储在数据存储122中的所有界面模式。
确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配(330)。例如,界面生成器120可以确定由关系信息描述的三个面板之间的共面关系与由第一模式描述的三个面板之间的共面关系相匹配,并且作为响应,选择第一界面模式。
在一些实施方式中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:基于对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系来确定用于特定界面模式的第一关系相似性得分,基于对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系来确定用于第二界面模式的第二关系相似性得分,以及确定第一关系相似性得分指示对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,该相似性水平高于第二关系相似性得分指示的、对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,其中确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配是基于确定第一关系相似性得分指示的相似性水平高于由第二相似性得分指示的相似性水平。例如,界面生成器120可以确定用于第一界面模式的相似性得分95%和用于第二界面模式的相似性得分50%,确定用于第一界面模式的相似性得分95%指示比用于第二界面模式的相似性得分50%更大的相似性,并且作为响应,确定第一界面模式与用于用户界面的面板的逻辑关系中的至少一个逻辑关系相匹配。
在一些实施方式中,特定界面模式描述了第二节点图,其中每个节点代表面板,并且节点之间的边代表面板之间的逻辑关系,其中第二节点图的特定边代表由特定界面模式描述的至少一个逻辑关系,确定被识别的面板的集合中的面板之间的逻辑关系与由特定界面模式描述的面板之间的至少一个逻辑关系相匹配包括:确定节点图包括代表与由第二节点图的特定边代表的逻辑关系类型相匹配的逻辑关系类型的边。
可以至少基于面板的集合中的面板之间的关系,从界面模式的集合当中选择界面模式(340)。例如,基于所获得的描述用于显示的三个面板处于共面的关系信息,界面生成器120可以选择第一模式,该第一模式描述处于共面关系中的三个面板将被显示,其中处于焦点中的最近打开的面板具有用于用相应的其他面板替换最近打开的面板的标栏。
在一些实施方式中,识别用于用户界面的面板之间的逻辑关系包括:确定用于用户界面的面板中的哪个面板当前在用户界面上具有焦点,其中对应于特定界面模式的逻辑关系描述其中特定面板具有焦点的面板布置,并且其中确定用于用户界面的面板之间的逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:确定当前在用户界面上具有焦点的面板与由特定界面模式描述为具有焦点的面板相匹配。
可以提供具有根据所选择的特定界面模式而布置的面板的用户界面(350)。例如,界面生成器120可以生成一个界面,其中首先示出具有用于用相应的其他面板替换最近打开的面板的标栏的最近打开的面板。在一些实施方式中,提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面包括:识别由界面模式描述的面板的位置和尺寸,并将面板的集合中的面板映射到由界面模式描述的面板的位置和尺寸。例如,第一模式可以描述,对于三个共面面板,最近打开的面板占据整个界面,并且包括用于用相应的其他面板替换最近打开的面板的标栏。
在一些实施方式中,过程300包括确定其上将显示界面的设备的特性,其中获得界面模式的集合包括:获得各自描述设备要求的界面模式的初始集合,确定设备的特性是否满足由界面模式的初始集合中的每个界面模式描述的设备要求,以及生成界面模式的集合以仅包括界面模式的初始集合中的、描述被设备的特性满足的设备要求的界面模式。例如,界面生成器120可以确定屏幕的分辨率为1920×1080,获得描述各种分辨率要求的界面模式的集合,确定1920×1080的分辨率是否满足由界面模式的集合所描述的分辨率要求,并且生成仅包括分辨率要求被1920×1080的分辨率满足的界面模式的界面模式的集合。
在一些实施方式中,过程300可以响应于检测到面板的集合中的面板之间的关系的变化来执行。例如,界面生成器120可以检测到新面板也将被显示或者节点图已经改变,并且作为响应,执行过程300以生成新的界面。在另一示例中,界面生成器120可以检测到面板不应再被显示,并且作为响应,执行过程300以生成新的界面。在又一示例中,界面生成器120可以检测焦点已经改变到面板的集合中的另一面板,并且作为响应,执行过程300以生成新的界面。
本说明书中描述的主题和操作的实施例可以在数字电子电路中实施,或者在包括本说明书中公开的结构及其结构等同物的计算机软件、固件、或硬件中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为编码在计算机存储介质上的一个或多个计算机程序,即计算机程序指令的一个或多个模块,以用于由数据处理装置运行或控制数据处理装置的操作。可替换地或额外地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息,用于传输到合适的接收器装置以由数据处理装置运行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他来源接收的数据执行的操作。
术语“数据处理装置”涵盖用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或者上述的多个或组合。装置可以包括专用逻辑电路,例如FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application-specific integrated circuit,专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和运行环境可以实现各种不同的计算模型基础设施,诸如网站服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上运行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以实现为专用逻辑电路。
举例来说,适于运行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或者可操作地耦合用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),以从一个或多个大容量存储设备接收数据,或者将数据传送到一个或多个大容量存储设备,或者两者兼有。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏机、全球定位系统(Global Positioning System,GPS)接收器或便携式存储设备(例如通用串行总线(universal serial bus,USB)闪存驱动器),仅举几个示例。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示)显示器),以及用户可以通过其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网站浏览器接收的请求,向用户的用户设备上的网站浏览器发送网页。
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如具有用户可以通过其与本说明书中描述的主题的实施方式进行交互的图形用户界面或网站浏览器的用户计算机),或者一个或多个这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(local area network,“LAN”)和广域网(a wide area network,“WAN”)、互联网络(例如,因特网)和对等网络(例如,自组织对等网络)。
计算系统可以包括用户和服务器。用户和服务器通常彼此远离,并且通常通过通信网络进行交互。用户和服务器之间的关系是通过在各自的计算机上运行并且彼此之间具有用户-服务器关系的计算机程序而产生的。在一些实施例中,服务器向用户设备发送数据(例如,HTML网页)(例如,为了向与用户设备交互的用户显示数据和从与用户设备交互的用户接收用户输入)。可以在服务器处从用户设备接收在用户设备处生成的数据(例如,用户交互的结果)。
图4示出了一种这样类型的计算机的示例,其示出了通用计算机系统400的示意图。根据一种实施方式,系统400可以用于结合前面描述的任何计算机实施方法而描述的操作。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个都使用系统总线450互连。处理器410能够处理用于在系统400内运行的指令。在一个实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420或存储设备430中的指令,以在输入/输出设备440上显示用于用户界面的图形信息。
存储器420在系统400内存储信息。在一个实施方式中,存储器420是计算机可读介质。在一个实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
存储设备430能够为系统400提供大容量存储。在一个实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备。
输入/输出设备440为系统400提供输入/输出操作。在一个实施方式中,输入/输出设备440包括键盘和/或定点设备。在另一实施方式中,输入/输出设备440包括用于显示图形用户界面的显示单元。
虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对所要求保护的范围的限制,而是对特定于特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特性可以被描述为以某些组合起作用,并且甚至最初被要求这样保护,但是在某些情况下,可以从所要求保护的组合中删除来自该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定的次序或顺序的次序执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的次序执行,并且仍然获得期望的结果。此外,附图中描述的过程不一定需要所示的特定的次序或顺序的次序来获得期望的结果。在某些实施方式中,多任务处理和并行处理可能是有利的。
Claims (18)
1.一种由一个或多个计算设备执行的方法,所述方法包括:
由一个或多个计算设备监控生成用于一个或多个计算设备的用户界面的面板的顺序和生成面板的来源来获得关系信息;
由一个或多个计算设备基于关系信息来识别面板之间的逻辑关系;
由一个或多个计算设备获得界面模式的集合,所述界面模式对应于面板之间的不同逻辑关系并且描述用于布置具有相应逻辑关系的面板的不同空间关系;
由一个或多个计算设备确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配;
响应于确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配,由一个或多个计算设备从所述界面模式的集合当中选择特定界面模式,以指定用户界面的面板的布置;和
由一个或多个计算设备提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面,
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:
基于对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于特定界面模式的第一关系相似性得分;
基于对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于第二界面模式的第二关系相似性得分;和
确定第一关系相似性得分指示对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,所述相似性水平高于第二关系相似性得分指示的、对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平;和
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配是基于确定第一关系相似性得分指示的相似性水平高于由第二相似性得分指示的相似性水平。
2.根据权利要求1所述的方法,其中,对应于特定界面模式的逻辑关系包括指示从第二面板创建第一面板的关系。
3.根据权利要求1所述的方法,其中,用于用户界面的面板包括:
应用的上下文菜单;
应用的不同窗口;或者
不同应用的不同窗口。
4.根据权利要求1所述的方法,其中,识别用于用户界面的面板之间的逻辑关系包括以下一个或多个:
识别第一面板是第二面板的子面板;
识别第一面板是第二面板的兄弟面板;
识别第一面板从属于第二面板;
识别第一面板嵌入第二面板内;
识别第一面板与第二面板串联;或者
识别第一面板控制第二面板。
5.根据权利要求1所述的方法,其中,识别用于用户界面的面板之间的逻辑关系包括:
生成节点图,其中每个节点代表面板,并且节点之间的边代表面板之间的逻辑关系。
6.根据权利要求5所述的方法,其中,节点图中的每条边代表由边连接的节点所代表的面板之间存在的逻辑关系的类型。
7.根据权利要求6所述的方法,其中,特定界面模式描述第二节点图,其中每个节点代表面板,并且节点之间的边代表面板之间的逻辑关系,其中第二节点图的特定边代表由特定界面模式描述的至少一个逻辑关系,
其中,确定被识别的面板的集合中的面板之间的逻辑关系与由特定界面模式描述的面板之间的至少一个逻辑关系相匹配包括:
确定节点图包括代表与由第二节点图的特定边代表的逻辑关系类型相匹配的逻辑关系类型的边。
8.根据权利要求5所述的方法,包括:
识别用于用户界面的附加面板;和
响应于识别用于用户界面的附加面板,将对应于附加面板的附加节点添加到节点图中,并且添加从附加节点到节点图的另一节点的至少一个附加边,其中附加边代表附加节点和节点图的另一节点之间的逻辑关系。
9.根据权利要求5所述的方法,包括:
生成具有焦点的面板的列表,其中当面板获得焦点时,它被添加到列表的头部,并且面板的取消导致面板从列表中移除,
其中,从界面模式的集合当中选择特定界面模式以指定用户界面的面板的布置也至少基于具有焦点的面板的列表。
10.根据权利要求1所述的方法,其中,识别用于用户界面的面板之间的逻辑关系包括:
确定用于用户界面的面板中的哪个面板当前在用户界面上具有焦点,
其中,对应于特定界面模式的逻辑关系描述特定面板具有焦点,并且
其中,确定用于用户界面的面板之间的逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:确定当前在用户界面上具有焦点的面板与由特定界面模式描述为具有焦点的面板相匹配。
11.根据权利要求1所述的方法,其中,提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面包括:
识别由特定界面模式描述的面板的位置和尺寸;和
将面板的集合中的面板映射到由特定界面模式描述的面板的位置和尺寸。
12.根据权利要求1所述的方法,包括:
确定其上将显示界面的设备的特性,
其中,获得界面模式的集合包括:
获得各自描述设备要求的界面模式的初始集合,
确定设备的特性是否满足由界面模式的初始集合中的每个界面模式描述的设备要求,以及
生成界面模式的集合以仅包括界面模式的初始集合中的、描述设备的特性所满足的设备要求的界面模式。
13.一种用于生成用户界面的系统,所述系统包括:
数据处理装置;和
非暂时性计算机可读存储介质,其与数据处理装置进行数据通信并存储可由数据处理装置运行的指令,并且在这种运行时使得数据处理装置执行包括以下的操作:
由一个或多个计算设备监控生成用于一个或多个计算设备的用户界面的面板的顺序和生成面板的来源来获得关系信息;
由一个或多个计算设备基于关系信息来识别面板之间的逻辑关系;
由一个或多个计算设备获得界面模式的集合,所述界面模式对应于面板之间的不同逻辑关系并且描述用于布置具有相应逻辑关系的面板的不同空间关系;
由一个或多个计算设备确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配;
响应于确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配,由一个或多个计算设备从所述界面模式的集合当中选择特定界面模式,以指定用户界面的面板的布置;和
由一个或多个计算设备提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面,
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:
基于对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于特定界面模式的第一关系相似性得分;
基于对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于第二界面模式的第二关系相似性得分;和
确定第一关系相似性得分指示对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,所述相似性水平高于第二关系相似性得分指示的、对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平;和
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配是基于确定第一关系相似性得分指示的相似性水平高于由第二相似性得分指示的相似性水平。
14.根据权利要求13所述的系统,其中,对应于特定界面模式的逻辑关系包括指示从第二面板创建第一面板的关系。
15.根据权利要求13所述的系统,其中,用于用户界面的面板包括:
应用的上下文菜单;
应用的不同窗口;或者
不同应用的不同窗口。
16.根据权利要求13所述的系统,其中,识别用于用户界面的面板之间的逻辑关系包括以下一个或多个:
识别第一面板是第二面板的子面板;
识别第一面板是第二面板的兄弟面板;
识别第一面板从属于第二面板;
识别第一面板嵌入第二面板内;
识别第一面板与第二面板串联;或者
识别第一面板控制第二面板。
17.根据权利要求13所述的系统,其中,识别用于用户界面的面板之间的逻辑关系包括:
生成节点图,其中每个节点代表面板,并且节点之间的边代表面板之间的逻辑关系。
18.一种用计算机程序编码的计算机可读存储设备,所述程序包括指令,所述指令在由一个或多个计算机运行时使得一个或多个计算机执行包括以下的操作:
由一个或多个计算设备监控生成用于一个或多个计算设备的用户界面的面板的顺序和生成面板的来源来获得关系信息;
由一个或多个计算设备基于关系信息来识别面板之间的逻辑关系;
由一个或多个计算设备获得界面模式的集合,所述界面模式对应于面板之间的不同逻辑关系并且描述用于布置具有相应逻辑关系的面板的不同空间关系;
由一个或多个计算设备确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配;
响应于确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配,由一个或多个计算设备从所述界面模式的集合当中选择特定界面模式,以指定用户界面的面板的布置;和
由一个或多个计算设备提供具有根据所选择的特定界面模式而布置在用户界面中的面板的用户界面,
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配包括:
基于对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于特定界面模式的第一关系相似性得分;
基于对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系,确定用于第二界面模式的第二关系相似性得分;和
确定第一关系相似性得分指示对应于特定界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平,所述相似性水平高于第二关系相似性得分指示的、对应于第二界面模式的逻辑关系和用于用户界面的面板之间的逻辑关系之间的相似性水平;和
其中,确定用于用户界面的面板之间的逻辑关系中的至少一个逻辑关系与对应于特定界面模式的逻辑关系相匹配是基于确定第一关系相似性得分指示的相似性水平高于由第二相似性得分指示的相似性水平。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/673,082 | 2017-08-09 | ||
US15/673,082 US10628109B2 (en) | 2017-08-09 | 2017-08-09 | Dynamically adapting panels of a user interface |
PCT/US2018/045167 WO2019032397A1 (en) | 2017-08-09 | 2018-08-03 | DYNAMIC ADAPTATION OF PANELS OF A USER INTERFACE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110663028A CN110663028A (zh) | 2020-01-07 |
CN110663028B true CN110663028B (zh) | 2023-12-26 |
Family
ID=63449653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880031936.7A Active CN110663028B (zh) | 2017-08-09 | 2018-08-03 | 动态调整用户界面的面板 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10628109B2 (zh) |
EP (1) | EP3602286B1 (zh) |
CN (1) | CN110663028B (zh) |
WO (1) | WO2019032397A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11199944B2 (en) * | 2018-09-24 | 2021-12-14 | Salesforce.Com, Inc. | System and method for navigation within widget-sized browser panels |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826727B1 (en) * | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
CN101316183A (zh) * | 2007-05-31 | 2008-12-03 | 海尔集团公司 | 数字家庭网络的人机交互界面生成方法以及系统 |
CN103164204A (zh) * | 2011-12-15 | 2013-06-19 | 北京新媒传信科技有限公司 | 基于Symbian系统的用户界面的生成方法和系统 |
CN105022615A (zh) * | 2014-04-21 | 2015-11-04 | 大唐软件技术股份有限公司 | 一种界面的生成方法和系统 |
CN105074652A (zh) * | 2013-01-31 | 2015-11-18 | 惠普发展公司,有限责任合伙企业 | 利用在节点层级中提供可执行脚本的模式远程执行应用的操作 |
CN106095767A (zh) * | 2015-04-29 | 2016-11-09 | 1C有限责任公司 | 自动生成用户表单界面的方法和系统 |
CN106155686A (zh) * | 2016-06-30 | 2016-11-23 | 华为技术有限公司 | 界面生成方法、装置和系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2301757B (en) * | 1995-06-01 | 2000-02-02 | Ibm | Graphical user interface |
US5838317A (en) * | 1995-06-30 | 1998-11-17 | Microsoft Corporation | Method and apparatus for arranging displayed graphical representations on a computer interface |
US6173316B1 (en) * | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
US6313854B1 (en) * | 1998-10-16 | 2001-11-06 | International Business Machines Corporation | Display mechanism for HTML frames |
JP2002032335A (ja) * | 2000-07-14 | 2002-01-31 | Nec Corp | 画面表示方法および画面表示システム |
US20030014445A1 (en) * | 2001-07-13 | 2003-01-16 | Dave Formanek | Document reflowing technique |
JP3938307B2 (ja) * | 2001-12-27 | 2007-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示装置、表示方法、表示プログラム、および記録媒体 |
KR100734742B1 (ko) * | 2002-03-28 | 2007-07-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 위임된 특정화 시스템에서의 특정화 방법, 디스플레이 방법 및 기록 매체 |
US7752572B1 (en) * | 2002-12-16 | 2010-07-06 | Sap Ag | Method of grouping objects in a graphical user interface |
JP4127194B2 (ja) * | 2003-01-15 | 2008-07-30 | セイコーエプソン株式会社 | レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法 |
JP4079087B2 (ja) * | 2003-03-12 | 2008-04-23 | セイコーエプソン株式会社 | レイアウトシステム |
JP2005276161A (ja) * | 2004-02-26 | 2005-10-06 | Seiko Epson Corp | レイアウトシステム、レイアウト装置、レイアウトプログラム、テンプレート選択プログラム、レイアウトプログラムを記憶した記憶媒体およびテンプレート選択プログラムを記憶した記憶媒体、並びにレイアウト方法 |
US7590947B1 (en) * | 2004-05-28 | 2009-09-15 | Adobe Systems Incorporated | Intelligent automatic window sizing |
US7873622B1 (en) * | 2004-09-02 | 2011-01-18 | A9.Com, Inc. | Multi-column search results interface |
US7770109B2 (en) * | 2005-12-16 | 2010-08-03 | Microsoft Corporation | Adaptive layout for content |
WO2011037558A1 (en) | 2009-09-22 | 2011-03-31 | Apple Inc. | Device, method, and graphical user interface for manipulating user interface objects |
US20130261611A1 (en) * | 2010-03-19 | 2013-10-03 | Siemens Healthcare Diagnostics Inc. | Modular Diagnostic Instrument Workstation Architecture and Method |
US20120078062A1 (en) * | 2010-09-24 | 2012-03-29 | International Business Machines Corporation | Decision-support application and system for medical differential-diagnosis and treatment using a question-answering system |
US9323442B2 (en) * | 2010-09-30 | 2016-04-26 | Apple Inc. | Managing items in a user interface |
US9049547B2 (en) * | 2012-08-31 | 2015-06-02 | Blackberry Limited | Displaying place-related content on a mobile device |
US9734136B1 (en) * | 2014-12-05 | 2017-08-15 | Intuit Inc. | Methods, systems, and articles of manufacture for rendering internet contents on different displays of mobile devices |
-
2017
- 2017-08-09 US US15/673,082 patent/US10628109B2/en active Active
-
2018
- 2018-08-03 WO PCT/US2018/045167 patent/WO2019032397A1/en active Search and Examination
- 2018-08-03 EP EP18762666.8A patent/EP3602286B1/en active Active
- 2018-08-03 CN CN201880031936.7A patent/CN110663028B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826727B1 (en) * | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
CN101316183A (zh) * | 2007-05-31 | 2008-12-03 | 海尔集团公司 | 数字家庭网络的人机交互界面生成方法以及系统 |
CN103164204A (zh) * | 2011-12-15 | 2013-06-19 | 北京新媒传信科技有限公司 | 基于Symbian系统的用户界面的生成方法和系统 |
CN105074652A (zh) * | 2013-01-31 | 2015-11-18 | 惠普发展公司,有限责任合伙企业 | 利用在节点层级中提供可执行脚本的模式远程执行应用的操作 |
CN105022615A (zh) * | 2014-04-21 | 2015-11-04 | 大唐软件技术股份有限公司 | 一种界面的生成方法和系统 |
CN106095767A (zh) * | 2015-04-29 | 2016-11-09 | 1C有限责任公司 | 自动生成用户表单界面的方法和系统 |
CN106155686A (zh) * | 2016-06-30 | 2016-11-23 | 华为技术有限公司 | 界面生成方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110663028A (zh) | 2020-01-07 |
US10628109B2 (en) | 2020-04-21 |
US20190050190A1 (en) | 2019-02-14 |
EP3602286A1 (en) | 2020-02-05 |
EP3602286B1 (en) | 2021-07-14 |
WO2019032397A1 (en) | 2019-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437443B1 (en) | Multiple-application mobile device methods, systems, and computer program products | |
US9529783B2 (en) | Live previews for multitasking and state management | |
CN109923568B (zh) | 用于数据分析的移动数据洞察平台 | |
US8423902B2 (en) | Representation of overlapping visual entities | |
US20120311501A1 (en) | Displaying graphical object relationships in a workspace | |
US20130212534A1 (en) | Expanding thumbnail with metadata overlay | |
US8745540B2 (en) | Accordion style bread crumbing for mobile applications | |
RU2614539C2 (ru) | Масштабирование адресной строки и вкладок на основе задачи | |
TW201241731A (en) | Presenting an application change through a tile | |
WO2019212728A1 (en) | Displaying a subset of menu items based on a prediction of the next user-actions | |
US10175959B2 (en) | Generation of user interfaces by considering field importance and using smart controls and layouts | |
US20150113452A1 (en) | Graphical user interface | |
CN113011400A (zh) | 对数据的自动识别和洞察 | |
KR102350540B1 (ko) | 디지털 컴포넌트 배경 렌더링 | |
EP2250622A2 (en) | Service preview and access from an application page | |
US20180275833A1 (en) | System and method for managing and displaying graphical elements | |
US9747005B1 (en) | Adaptive user interface | |
Carroll et al. | Designing accessible visualizations: The case of designing a weather map for blind users | |
CN110663028B (zh) | 动态调整用户界面的面板 | |
US10303706B2 (en) | Condensed hierarchical data viewer | |
Yoshioka et al. | Unified Symbol Framework to Improve UI Comprehension | |
Gallud et al. | A proposal to validate the user's goal in distributed user interfaces | |
US20230325049A1 (en) | Legend of graphical objects | |
Deaker et al. | Tag clouds in software visualisation. | |
CN114327167A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |