CN103635871A - 使用户界面和输入控制适应的方法 - Google Patents
使用户界面和输入控制适应的方法 Download PDFInfo
- Publication number
- CN103635871A CN103635871A CN201180072054.3A CN201180072054A CN103635871A CN 103635871 A CN103635871 A CN 103635871A CN 201180072054 A CN201180072054 A CN 201180072054A CN 103635871 A CN103635871 A CN 103635871A
- Authority
- CN
- China
- Prior art keywords
- user interface
- aui
- interface element
- cui
- screen
- 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 title claims abstract description 67
- 238000013461 design Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 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
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001259 photo etching Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
呈现用于生成图形用户界面的方法。在一个实施例中,方法包括确定与执行应用的装置关联的装置性质并且至少基于这些装置性质和该应用的抽象用户界面(AUI)生成具体图形用户界面(CUI)。该方法包括在该装置上显示该CUI并且确定这些装置性质中的变化。在一个实施例中,该方法进一步包括如果必要的话至少基于更新的装置性质和该应用的相同AUI生成不同的CUI。
Description
技术领域
本发明的实施例涉及生成计算机用户界面,特别地生成多个形状因子的计算机用户界面。
背景技术
一般,重新设计并且重新创建图形用户界面来将软件应用部署于多个平台。在大多数情况,对例如笔记本、上网本、智能电话、移动互联网装置(MID)、智能电视等每个不同的装置再次开发与输入控制耦合的图形用户界面。
使应用适应于多个装置的投入招致另外的开发时间/成本。当前,Java SDK(例如,J2ME)简单地通过使所有小部件(widget)在一个特定的屏幕中自动调整大小而与不同的装置兼容。如果小部件(其适合较大装置上的页面)在较小装置上不能适合一个屏幕页面,该技术方案失败。结果,开发者可能必须对每个装置重新设计新的图形用户界面。
附图说明
将从下文给出的详细描述以及本发明的各种实施例的附图更充分地理解本发明的实施例,然而,它们不应视为使本发明局限于特定实施例,而只是为了解释和理解。
图1是分析图形用户界面设计并且生成具体图形用户界面的过程的一个实施例的流程图。
图2是生成具体图形用户界面的系统的一个实施例的流程图。
图3是生成具体图形用户界面的过程的一个实施例的流程图。
图4图示与本发明的一个实施例一起使用的计算机系统。
图5图示与本发明的一个实施例一起使用的点对点计算机系统。
具体实施例
呈现生成图形用户界面的方法。在一个实施例中,方法包括确定与执行应用的装置关联的装置性质并且至少基于这些装置性质和该应用的抽象用户界面(AUI)生成具体图形用户界面(CUI)。该方法包括在该装置上显示该CUI并且确定这些装置性质中的变化。在一个实施例中,该方法进一步包括如果必要的话至少基于更新的装置性质和该应用的相同AUI生成不同的CUI。
在下列描述中,阐述许多细节以提供对本发明的实施例的更全面的解释。然而,本发明的实施例可在没有这些具体细节的情况下实践,这对于本领域内技术人员将是明显的。在其它实例中,以框图的形式而不详细地示出众所周知的结构和装置,以便避免掩盖本发明的实施例。
从对计算机存储器内的数据位的操作的符号表示以及算法方面呈现接着的详细描述中的一些部分。这些算法描述和表示是由数据处理领域内的技术人员使用以最有效地向本领域内其他技术人员传达它们的工作实质的手段。算法在这里并且一般设想为导致期望结果的步骤的自洽顺序。这些步骤是需要物理操纵物理量的那些步骤。通常,尽管不是必须的,这些量采用能够被存储、转移、组合、比较和用别的方式而操纵的电或磁信号的形式。已经证实有时主要由于常见使用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似物是方便的。
然而,应该牢记所有这些和相似的术语将与适当的物理量关联并且仅是应用于这些量的方便标签。除非另外具体阐述(如从上文论述而明显可见的),意识到在整个说明中,利用例如“处理”或“计算”或“运算”或“确定”或“显示”或相似物等术语的论述指计算机系统或相似的电子计算装置的动作和过程,其操纵表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并且将其转换为相似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示装置内的物理量的其他数据。
本发明的实施例还涉及用于执行本文中的操作的设备。一些设备可专门对于所需目的而构造,或它可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可存储在计算机可读存储介质中,例如但不限于任何类型的盘(包括软盘、光盘、CD-ROM、DVD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁或光卡或适合用于存储电子指令的任何类型的介质,并且每个耦合于计算机系统总线。
本文呈现的算法和显示器不固有地涉及任何特定计算机或其他设备。各种通用系统可根据本文的教导与程序一起使用,或可证明便于构造更专业的设备来执行需要的方法步骤。多种此类系统需要的结构将从下文的描述显而易见。另外,未参考任何特定编程语言描述本发明的实施例。将意识到多种编程语言可用于实现如本文描述的本发明的教导。
机器可读介质包括用于存储或传输采用机器(例如,计算机)可读形式的信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪速存储器装置;等。
本文描述的方法和设备用于对关于多个形状因子的应用生成图形用户界面。该方法和设备主要参考多核处理器计算机系统论述。然而,用于生成图形用户界面的方法和设备不限于此,因为它们可在任何集成电路装置或系统(例如手机、个人数字助理、平板电脑、嵌入式控制器、移动平台、桌面平台和服务器平台等)上或与之相关联地以及连同其他资源实现。
综览
呈现生成图形用户界面的方法。在一个实施例中,方法包括确定与执行应用的装置关联的装置性质并且至少基于这些装置性质和该应用的抽象用户界面(AUI)生成具体图形用户界面(CUI)。该方法包括在该装置上显示该CUI并且确定这些装置性质中的变化。在一个实施例中,该方法进一步包括如果必要的话至少基于更新的装置性质和该应用的相同AUI生成不同的CUI。
图1是分析图形用户界面设计并且生成具体图形用户界面的过程的一个实施例的流程图。该过程通过可包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的软件)或两者的组合的处理逻辑执行。在一个实施例中,该过程由关于图4的计算机系统执行。
AUI的生成
参照图1,在一个实施例中,过程通过检测装置信息并且通过部分基于算法(例如,重新编页/布局模块140)渲染GUI而实现图形用户界面的自动适应。在一个实施例中,开发者或程序员创建CUI 110(例如,Glade、Qt UI等)。在一个实施例中,CUI 110是Glade XML文件,其中小部件用GTK+syntax定义。CUI 110包括文本输入供用户输入型号,和两个单选按钮供用户选择颜色选项。CUI 110还包括一组控制按钮(“取消”和“确认”)来确认用户输入。
在一个实施例中,处理逻辑至少部分基于其他信息从CUI 110生成AUI 120(例如,采用XML格式的AUI)。
在一个实施例中, AUI 120被创建来表示动作,并且根据定制规范。动作的示例包括小部件的抽象化,例如按钮、标签、图像、视频、滑块等。在一个实施例中,抽象用户界面(AUI)根据AUI语言采用任务模型的形式生成。该AUI遵照基于面向任务的模型的规范。小部件表示为通用任务,从而保存它们的上下文和隐含属性,例如关系、优先级、群组和强制大小(如果要求的话)等。例如,AUI 120包括接收文本输入和选择输入的任务。AUI 120还包括来自用户的动作(“取消”和“确认”)。
在一个实施例中,AUI 120的生成在应用的设计时间期间被执行。例如,开发者提供现有CUI。处理逻辑执行分析将CUI(例如,CUI 110)变换成AUI(例如,AUI 120)。
CUI的生成
在一个实施例中,处理逻辑收集与执行应用的装置关联的装置信息或装置性质。在一个实施例中,目标装置信息131包含关于该目标装置的特定信息。在一个实施例中,该信息包括装置的类型、屏幕大小、屏幕分辨率、屏幕的数目、可用的输入装置等。
在一个实施例中,处理逻辑经由DBus和X11收集关于执行装置的元数据。
在一个实施例中,在生成AUI 130并且收集了目标装置信息131后,处理逻辑通过使用算法(例如,重新编页/布局140)基于这些来源而生成CUI 150。在一个实施例中,处理逻辑动态生成CUI 150。
在一个实施例中,重新编页/布局140包括执行重新编页(分页)、布局设置、导航控制插入等的模块。在一个实施例中,处理逻辑从以下接收输入:(1)页面分割&布局逻辑(例如,XSLT文件),(2)AUI(例如,XML文件),和(3)目标装置信息(例如,嵌入XSLT文件)。重新编页/布局140将在下文更详细地论述。
在一个实施例中,目标装置信息被嵌入与页面分割&布局逻辑相同的XSLT文件。在一个实施例中,处理逻辑基于页面分割&布局逻辑和装置信息生成定制的XSLT文件。在其他实施例中,目标装置信息在单独的文件中,例如另一个XSLT文件中。
在一个实施例中,处理逻辑连同重新编页/布局140的执行而接收AUI 130中的任务描述并且根据执行应用的装置的限制和能力而生成最终的CUI(例如,CUI 150)。在一个实施例中,处理逻辑是执行应用的装置的一部分。
在一个实施例中,处理逻辑将AUI 130变换成CUI 150。该变换考虑要用于表示任务及其特性的小部件(CUI中可用的)。在一个实施例中,任务特性涉及最小的小部件大小、任务优先级(例如,如果应用分成多个屏幕页面,一些任务应该在第一个屏幕页面显示)、编组信息(例如,确认和取消是编组的任务)、强制大小(例如,视频区域是总屏幕区域的至少50%)等。
在一个实施例中,如果CUI分成多个屏幕页面(多个窗口),处理逻辑生成导航控制(例如,“下一步”、“前一步”或两者)。例如,在具有较小屏幕区域的装置上,AUI采用多页面方式显示。例如,代替原始CUI(即,CUI 110)中仅有的一个屏幕页面,CUI 150包括两个屏幕页面(即,屏幕页面151和屏幕页面152)。
在一个实施例中,渲染CUI 150并且将其与应用的方法、规程和功能链接。
在一个实施例中,处理逻辑确定装置能力。处理逻辑确定最方便的小部件来表示期望的动作。如果装置的形状因子比原始用户界面更小,处理逻辑将UI分割并且在最终CUI中生成具有导航控制的多个屏幕,供在较小装置(例如,具有较小显示器的智能电话)上使用。
在一个实施例中,架构100独立于另外的服务、应用或工具来重新创建每个不同装置的用户界面。架构100可应用于已经开发的应用。架构100采用AUI的概念来表示用户界面和周围的逻辑规则(例如,小部件群组信息、优先级、强制屏幕大小等)。在一个实施例中,架构100独立于运行时间SDK。例如,AUI 130和重新编页/布局140作为库或应用的一部分而被嵌入该应用中。在一个实施例中,架构100连同采用高级计算机语言(包括面向对象的和其他语言,例如FORTRAN、Java、C++等)的代码来使用。
在一个实施例中,处理逻辑响应于运行时间期间应用的执行而生成CUI 150。
在一个实施例中,架构100根据XML格式使用AUI定义。AUI中的元素根据实际目标装置而被映射至一个或多个小部件、硬件输入控制、其任意组合。例如,推送动作被渲染为上网本上的软按钮,而在智能电话上是硬控制按钮。
在一个实施例中,AUI规范语言包括采用例如UsiXML、XForm等的方式。在一个实施例中,AUI规范语言包括任务、容器、实例、小部件抽象化和性质模型。AUI规范进一步包括概念和定义,例如优先级信息、编组信息、序列信息和事件映射等。
在一个实施例中,架构100连同AUI规范模型实现。根据该AUI规范模型,容器是屏幕页面的表示,任务是小部件的表示。包括另外的元数据来生成最终的CUI并且定义该最终CUI的一些特性。
重新编页和布局算法
在一个实施例中,重新编页/布局算法是架构100的部分。在一个实施例中,重新编页/布局140解析AUI来生成CUI。重新编页/布局140基于装置性质、小部件和用户规定的期望的行为而执行该生成。在一个实施例中,重新编页/布局140构成为XSLT解析器文件,其采用XML格式生成输出(即,CUI)。在一个实施例中,重新编页/布局140用XSLT语言编码来将AUI变换成CUI,其是XSLT语言非常规的使用。
在一个实施例中,重新编页/布局140使用目标装置元数据,其通过X11接口(基于Linux的装置)或OS API(基于Windows的装置)而从装置被提取。在一个实施例中,重新编页/布局140包括执行例如重新编页、布局分割、装置信息收集、容器解析、分割协调、屏幕堆栈计算、动作解析、群组解析和导航控制插入等的模块。
在一个实施例中,重新编页模块基于装置特性和由开发者预定义的首选项来决定并且将小部件从一个屏幕页面移动到另一个屏幕页面。布局分割通过创建新的窗口(屏幕页面)来容纳小部件或通过将多个屏幕页面联合成较少的屏幕页面而帮助重新编页。布局分割估计对于每个目标平台要求多少个屏幕页面。例如,应用如果在上网本上执行则需要使用两个屏幕页面,但如果在智能电话上则需要使用四个屏幕页面(窗口)。在一个实施例中,架构100在显示器上重新定位小部件,因此通过不同的装置维持用户体验。
在一个实施例中,容器解析分析GUI来设置容器的位置。在一个实施例中,容器与包含其他小部件(其总是作为单元被管理)的小部件相似。如果需要,容器解析还创建新的容器。例如,具有三个按钮(“播放”、“停止”和“暂停”)的容器指示这三个按钮总是放在一起,使得设计更易于使用。在分割屏幕页面的过程期间确定这样的隐含信息是有用的。
在一个实施例中,分割协调对每个创建的新屏幕页面迭代操作,使得所有小部件逐渐地被放置或移动。例如,如果达到窗口容量(可用屏幕区域低或是零),创建新的屏幕页面。
在一个实施例中,堆栈计算计算要放入当前窗口的小部件的数目(AUI规范中的“动作”)。堆栈计算基于优先级信息和确定可用的剩余屏幕区域的屏幕百分比计算。堆栈计算的输出对于动作解析和群组解析是有用的。
在一个实施例中,动作解析是最终模块中的一个,这些最终模块通过基于装置性质选择最适合的小部件而将抽象动作变换成CUI中的一个或多个小部件。例如,动作“推送”在上网本上被渲染为按钮,但在智能电话上渲染为复选框。在一个实施例中,群组解析是最终模块中的一个,这些最终模块将抽象群组变换成CUI中的一个或多个容器。
在一个实施例中,如果在所有小部件被放入屏幕页面后创建新的屏幕页面,则发生导航控制插入。插入导航控制使得用户可以从一个屏幕导航到另一个屏幕。在一个实施例中,导航控制使用“下一步”/“前一步”按钮或适合良好用户体验的一些其他方式来实现。在一个实施例中,响应于窗口分割(重新编页)调用导航控制生成。在一个实施例中,导航控制是“下一步”/“前一步”按钮、下拉菜单、索引、其的任意组合。
在一个实施例中,架构100为不同形状因子的装置提供自动图形用户界面/输入适应。程序员能够为特定装置开发应用,然后在其他装置上执行该应用而无需不重新开发图形用户界面/输入控制。
装置性质的变化
在一个实施例中,为较大装置设计的应用能够在较小装置上执行。布局分割(重新编页)采用连贯的方式将一个窗口分割成具有导航控制的多个屏幕页面。在一个实施例中,应用能够在运行时间动态执行AUI-CUI变换,其中通信经由过程间通信或远程规程调用(例如,DBus)。例如,如果显示器的屏幕分辨率改变或者如果装置连接到另一个显示器(例如,使用另一个监视器/投影机),系统服务发送消息(信号)给应用使得应用及时执行GUI的适应。
在一个实施例中,当应用在不同装置上执行时,输入控制自动适应。输入控制适应成使得应用利用各种类型的可用输入控制/接口,例如鼠标、键盘、指示笔、触摸屏、加速计、GPS模块、硬按钮、软控制按钮等。
图2是生成具体图形用户界面的系统的一个实施例的流程图。例如总线和外围设备等许多相关的部件没有示出来避免掩盖本发明。参照图2,系统包括笔记本210、平板电脑211和其他装置213。在一个实施例中,装置信息发现(DID)220、装置信息注入(DII)221和AUI-CUI变换231是连同装置(装置210-213)实现的硬件/软件模块。这些模块由处理逻辑执行,处理逻辑可包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的软件等)或两者的组合。
参照图2,在一个实施例中,装置信息由DID 220收集。在一个实施例中,DII 221将装置信息注入重新编页/布局算法。在一个实施例中,定制模块240是基于来自DII 221的装置信息和重新编页与布局逻辑模块来汇编或生成的XSLT模块。在一个实施例中,AUI-CUI变换231接收采用XSLT格式的定制模块240和AUI 230来生成最终适应的CUI(例如,编码为XML文件的CUI 250)。在一个实施例中,DID 220、DII 221和AUI-CUI变换231作为系统一起操作来执行重新编页(分割)和布局设置。
在一个实施例中,处理装置(例如,装置210-213)包括图形处理器,其与CPU集成在芯片中。在其他实施例中,该图形处理器和CPU是分立装置。在一个实施例中,图形处理器也是处理装置,其可操作成支持来自CPU的一定处理工作量。在一个实施例中,图形处理器包括处理装置(例如,处理器、数字信号处理单元和微控制器)。上文的方法和设备主要参考CPU/GPU论述。然而,这些方法和设备不限于此,因为它们可在任何处理装置(包括图形处理器、数字信号处理单元、微控制器或其的任意组合)上或与之相关联地实现。
在一个实施例中,计算机系统(例如,装置210-213)包括计算机工作站、便携式电脑、台式机、服务器、大型机或任何其他计算装置。
图3是生成具体图形用户界面的过程的一个实施例的流程图。该过程由处理逻辑执行,该处理逻辑可包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的软件等)或两者的组合。在一个实施例中,该过程由关于图4的计算机系统执行。
参照图3,在一个实施例中,处理逻辑响应于应用在装置上的执行而通过确定与该装置关联的装置性质来开始(过程框601)。处理逻辑收集装置信息,例如屏幕大小、屏幕分辨率、装置的输入能力等。
在一个实施例中,处理逻辑至少基于装置性质和应用的抽象用户界面(AUI)来生成具体图形用户界面(CUI)(过程框602)。在一个实施例中,处理逻辑基于AUI中表示的基于任务的元素来确定用户界面元素。用户界面元素在本文中也称为小部件。处理逻辑基于AUI和装置信息而应用重新编页和布局算法。当必要时处理逻辑将用户界面窗口分割成多个屏幕页面,并且在这些屏幕页面中增加导航控制。
在一个实施例中,处理逻辑基于每个用户界面元素的先后次序信息以及剩余的屏幕页面信息来计算屏幕页面中用户界面元素的数量的估计。在一个实施例中,处理逻辑确定是否将屏幕页面分割成两个或以上的屏幕页面。处理逻辑对每个屏幕页面插入导航控制。例如,最后的屏幕页面仅示出到之前页面的导航控制。最后的屏幕页面不示出到后续屏幕的导航控制。
在一个实施例中,处理逻辑基于装置性质(其包括关于一个或多个硬件按钮的信息)生成CUI。在一个实施例中,处理逻辑生成能够从一个或多个硬件按钮和一个或多个软按钮接收用户输入的CUI。
在一个实施例中,处理逻辑生成并且显示最后适应的CUI(过程框603)。处理逻辑在装置的显示器上渲染并且显示最后的CUI。
在一个实施例中,处理逻辑确定在装置性质中是否存在变化(过程框604)。例如,处理逻辑监视系统服务来检测是否发生变化。在一个实施例中,处理逻辑在发生变化时从系统服务接收消息。
在一个实施例中,处理逻辑基于更新的装置性质和应用的相同AUI来生成不同的CUI(过程框605)。在一个实施例中,应用的AUI在不知晓特定装置的情况下被创建。当装置开始执行应用时,不同的CUI将基于AUI而动态生成。
本发明的实施例可在多种电子装置和逻辑电路中实现。此外,包括本发明的实施例的装置或电路可包括在多种计算机系统内。本发明的实施例还包括在其他计算机系统拓扑和架构中。
图4例如图示连同本发明的一个实施例的计算机系统。处理器705访问来自1级(L1)高速缓存存储器706、2级(L2)高速缓存存储器710和主存储器715的数据。在本发明的其他实施例中,高速缓存存储器706可以是多级高速缓存存储器,其包括L1高速缓存连同其他存储器(例如计算机系统存储器层级内的L2高速缓存)并且高速缓存存储器710是后续的较低等级高速缓存存储器,例如L3高速缓存或更多级高速缓冲。此外,在其他实施例中,计算机系统可具有高速缓存存储器710作为用于超过一个处理器核的共享高速缓存。
处理器705可具有任何数量的处理核。然而,本发明的其他实施例可以可在系统内的其他装置内实现或在整个系统中分布在硬件、软件或其的一定组合中。
在一个实施例中,图形控制器708与处理器70 5集成在芯片中。在其他实施例中,图形控制器708和处理器705是分立装置。在一个实施例中,图形控制器708还是能操作成支持来自处理器705的一定处理工作负荷的处理装置。在一个实施例中,图形控制器708包括处理装置(例如,处理器、图形处理器、数字信号处理单元,和微控制器)。
主存储器715可在例如动态随机存取存储器(DRAM)、硬盘驱动器(HDD)720、基于NVRAM技术的固态盘725或远离计算机系统而定位(经由网络接口730或经由无线接口740(其包含各种存储装置和技术))的存储器源等各种存储器源中实现。高速缓存存储器可定位在处理器内或紧密地靠近处理器(例如在处理器的本地总线707上)而定位。此外,高速缓存存储器可包含相对快的存储器单元,例如六晶体管(6T)单元,或具有适当相等或更快存取速度的其他存储器单元。
然而,本发明的其他实施例可在图4的系统内的其他电路、逻辑单元或装置中存在。此外,本发明的其他实施例可遍布图4中图示的若干电路、逻辑单元或装置而分布。
相似地,至少一个实施例可在点到点计算机系统内实现。图5例如图示采用点到点(PtP)配置而设置的计算机系统。特别地,图5示出其中处理器、存储器和输入/输出装置通过若干点到点接口而互连的系统。
图5的系统还可包括若干处理器,为了清楚起见仅示出其中的两个,处理器870、880。处理器870、880可每个包括本地存储器控制器中枢(MCH)811、821来与存储器850、851连接。处理器870、880可经由点到点(PtP)接口853使用PtP接口电路812、822来交换数据。处理器870、880可每个使用点到点接口电路813、823、860、861经由个体PtP接口830、831来与芯片组890交换数据。芯片组890还可经由高性能图形接口862而与高性能图形电路852交换数据。本发明的实施例可耦合于计算机总线(834或835),或在芯片组890内,或在数据存储装置875内,或在图5的存储器850内耦合。
然而,本发明的其他实施例可在图5的系统内的其他电路、逻辑单元或装置中存在。此外,本发明的其他实施例可遍布在图5中图示的若干电路、逻辑单元或装置而分布。
本发明不限于描述的实施例,但可以在附上的权利要求的精神和范围内通过修改和改动而实践。例如,应该意识到本发明能适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片或类似物。此外,应该意识到可已经给出示范性大小/模型/值/范围,但本发明的实施例不限于此。因为制造技术(例如,光刻)随时间的推移而变成熟,预期可以制造具有更小尺寸的装置。
然而本发明的实施例的许多改动和修改无疑地将在本领域内技术人员阅读前面的描述后对他们变得明显,要理解通过说明示出和描述的任何特定实施例绝不视为限制性的。因此,对各种实施例的细节的引用不意在限制权利要求的范围,其本身只记载被视为本发明所必要的那些特征。
Claims (20)
1. 一种方法,其包括:
响应于应用的执行,确定与第一装置关联的第一装置性质;
至少基于所述第一装置性质和所述应用的抽象用户界面(AUI)生成第一具体图形用户界面(CUI);以及
在所述第一装置上显示所述第一CUI用于所述应用的执行。
2. 如权利要求1所述的方法,其中所述第一装置性质包括关于屏幕大小、分辨率和非触摸屏输入界面的存在的信息。
3. 如权利要求1所述的方法,其进一步包括:
确定所述第一装置性质中的变化;以及
如果必要的话,至少基于更新的第一装置性质和所述应用的相同AUI生成第二具体图形用户界面(CUI)。
4. 如权利要求1所述的方法,其进一步包括:
至少基于在所述AUI中表示的多个基于任务的元素来确定多个
用户界面元素;以及
对所述多个用户界面元素执行重新编页。
5. 如权利要求1所述的方法,其中所述第一CUI的生成包括:
确定是否分割成两个或以上的屏幕页面;以及
对所述两个或以上的屏幕页面中的每个插入导航控制,其中最后的屏幕页面没有到后续屏幕的导航控制。
6. 如权利要求1所述的方法,其进一步包括:
至少基于所述第一装置性质和所述应用的AUI来确定多个用户界面元素;
至少基于所述第一装置性质确定是否使用一个或多个屏幕页面用于执行所述应用;以及
确定在所述一个或多个屏幕页面上在哪里显示所述多个用户界面元素中的每个。
7. 如权利要求1所述的方法,其进一步包括确定将两个或以上的屏幕页面组合成一个屏幕页面,并且将用户界面元素从所述两个或以上的屏幕页面移动到所述一个屏幕页面。
8. 如权利要求1所述的方法,其进一步包括:
至少基于所述第一装置性质和所述应用的AUI确定多个用户界面元素;以及
基于每个用户界面元素的先后次序信息以及剩余屏幕页面信息来计算屏幕页面中用户界面元素的数量的估计。
9. 如权利要求1所述的方法,其进一步包括:
至少基于所述AUI中表示的多个基于任务的元素确定多个用户界面元素;
创建第一屏幕页面;
至少基于所述第一屏幕页面的大小生成哪些用户界面元素适合所述第一屏幕页面的估计;以及
如果存在还未渲染的任何用户界面元素则确定分割成第二屏幕页面。
10. 如权利要求1所述的方法,其进一步包括:
至少基于所述AUI中表示的多个基于任务的元素确定多个用户界面元素;以及
根据每个用户界面元素的最小大小、每个用户界面元素的先后次序信息、每个用户界面元素的群组性质信息、每个用户界面元素的强制大小或其任意组合来执行所述用户界面元素的重新编页。
11. 如权利要求1所述的方法,其中所述AUI在不知晓第二装置的情况下被创建,其中不同的CUI将基于所述AUI而动态生成以用于所述第二装置。
12. 如权利要求1所述的方法,其中所述第一装置性质包括关于一个或多个硬件按钮的信息,所述方法进一步包括生成能够从所述一个或多个硬件按钮和在所述第一装置的显示器上显示的一个或多个软按钮来接收用户输入的所述第一CUI。
13. 如权利要求1所述的方法,其进一步包括从GUI设计生成所述抽象用户界面,其中生成所述AUI包括:
对所述应用分析所述GUI设计;
确定多个基于任务的元素;
生成所述多个基于任务的元素的表示;以及
将所述表示嵌入所述应用的可执行二进制码,其中所述抽象GUI采用变换性语言表示。
14. 如权利要求1所述的方法,其进一步包括至少基于所述AUI确定一个或多个用户界面元素,其中所述多个用户界面元素与第一群组标识符关联,其中相同的群组标识符的所述用户界面元素被渲染为具体群组小部件。
15. 一种包括计算机可读存储介质的制品,该介质包括数据而在其上存储指令,其当由机器访问时促使所述机器执行方法,其包括:
响应于应用的执行,确定与第一装置关联的第一装置性质;
至少基于所述第一装置性质和所述应用的抽象用户界面(AUI)生成第一具体图形用户界面(CUI);以及
在所述第一装置上显示所述第一CUI用于所述应用的执行。
16. 如权利要求15所述的物品,其中所述方法进一步包括:
至少基于所述AUI中表示的多个基于任务的元素确定多个用户界面元素;以及
根据每个用户界面元素的最小大小、每个用户界面元素的先后次序信息、每个用户界面元素的群组性质信息、每个用户界面元素的强制大小或其任意组合来执行所述用户界面元素的重新编页。
17. 如权利要求15所述的物品,其中所述方法进一步包括:
确定所述第一装置性质中的变化;以及
如果必要的话,至少基于更新的第一装置性质和所述应用的相同AUI生成第二具体图形用户界面(CUI)。
18. 一种执行程序的系统,其包括:
第一装置;
第一装置显示器;以及
存储要在所述第一装置上执行的应用的存储器,其中所述第一装置能操作成
响应于所述应用的执行,确定与所述第一装置关联的第一装置性质;
至少基于所述第一装置性质和所述应用的抽象用户界面(AUI)生成第一具体图形用户界面(CUI);以及
在所述第一装置显示器上显示所述第一CUI用于所述应用的执行。
19. 如权利要求18所述的系统,其中所述第一装置能操作成
至少基于所述AUI中表示的多个基于任务的元素确定多个用户界面元素;以及
根据每个用户界面元素的最小大小、每个用户界面元素的先后次序信息、每个用户界面元素的群组性质信息、每个用户界面元素的强制大小或其任意组合来执行所述用户界面元素的重新编页。
20. 如权利要求18所述的系统,其中所述AUI在不知晓第二装置的情况下被创建,其中不同的CUI基于所述AUI而动态生成以用于所述第二装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/099,066 US20120284631A1 (en) | 2011-05-02 | 2011-05-02 | Methods to adapt user interfaces and input controls |
US13/099,066 | 2011-05-02 | ||
PCT/US2011/063419 WO2012150963A1 (en) | 2011-05-02 | 2011-12-06 | Methods to adapt user interfaces and input controls |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103635871A true CN103635871A (zh) | 2014-03-12 |
Family
ID=47091109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180072054.3A Pending CN103635871A (zh) | 2011-05-02 | 2011-12-06 | 使用户界面和输入控制适应的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120284631A1 (zh) |
EP (1) | EP2705418A4 (zh) |
JP (1) | JP5911562B2 (zh) |
KR (2) | KR20140017649A (zh) |
CN (1) | CN103635871A (zh) |
AU (2) | AU2011367233A1 (zh) |
TW (1) | TW201246051A (zh) |
WO (1) | WO2012150963A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942023A (zh) * | 2014-03-31 | 2014-07-23 | 广东威创视讯科技股份有限公司 | 一种显示处理方法及终端 |
CN104360855A (zh) * | 2014-11-04 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN110235093A (zh) * | 2017-01-30 | 2019-09-13 | 微软技术许可有限责任公司 | 经由语义抽象的对铰链式设备的导航性辅助 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054469A (zh) * | 2009-11-04 | 2011-05-11 | 联想(北京)有限公司 | 显示器及其显示方法 |
US9223582B2 (en) * | 2011-09-12 | 2015-12-29 | Sap Se | User interface description language |
US9411784B2 (en) * | 2011-11-22 | 2016-08-09 | Adobe Systems Incorporated | Method and computer readable medium for controlling pagination of dynamic-length presentations |
CN103885755A (zh) * | 2012-12-19 | 2014-06-25 | 腾讯科技(深圳)有限公司 | 自绘控件的屏幕适配实现方法及实现装置 |
KR101822463B1 (ko) | 2013-01-21 | 2018-01-26 | 삼성전자주식회사 | 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법 |
KR20150123922A (ko) * | 2013-03-07 | 2015-11-04 | 미쓰비시덴키 가부시키가이샤 | 엔지니어링 툴 |
US10375342B2 (en) * | 2013-03-27 | 2019-08-06 | Apple Inc. | Browsing remote content using a native user interface |
US9998327B2 (en) | 2013-06-26 | 2018-06-12 | International Business Machines Corporation | Configuration information transfer with a mobile device |
WO2016067098A1 (en) * | 2014-10-27 | 2016-05-06 | Kinaxis Inc. | Responsive data exploration on small screen devices |
JP6212657B2 (ja) * | 2014-12-09 | 2017-10-11 | 株式会社野村総合研究所 | 開発支援システム |
JP6786984B2 (ja) * | 2016-09-16 | 2020-11-18 | オムロン株式会社 | プログラム処理装置およびプログラム |
CN110785741B (zh) * | 2017-06-16 | 2024-04-26 | 微软技术许可有限责任公司 | 生成用户界面容器 |
KR102378953B1 (ko) * | 2017-06-16 | 2022-03-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 규칙 기반 사용자 인터페이스 생성 |
US10747404B2 (en) * | 2017-10-24 | 2020-08-18 | Microchip Technology Incorporated | Touchscreen including tactile feedback structures and corresponding virtual user interface elements |
JP7001012B2 (ja) | 2018-07-30 | 2022-01-19 | オムロン株式会社 | サポート装置およびサポートプログラム |
CN109508188B (zh) * | 2018-10-12 | 2022-09-06 | 上海金大师网络科技有限公司 | Gui动态布局方法、系统及介质 |
EP3690645B1 (en) * | 2019-02-01 | 2022-10-26 | Siemens Healthcare GmbH | Adaption of a multi-monitor setup for a medical application |
US11567645B2 (en) * | 2021-01-22 | 2023-01-31 | Business Objects Software Ltd. | Paginated growing widgets |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236917A1 (en) * | 2002-06-17 | 2003-12-25 | Gibbs Matthew E. | Device specific pagination of dynamically rendered data |
CN1704900A (zh) * | 2004-06-03 | 2005-12-07 | 微软公司 | 基于具有完全灵活性的自动化生成用户界面的方法和装置 |
US20070094609A1 (en) * | 2005-09-30 | 2007-04-26 | Sap Portals Israel Ltd. | Executable and declarative specification for graphical user interfaces |
US20110035688A1 (en) * | 2008-04-02 | 2011-02-10 | Kyocera Corporation | User interface generation apparatus |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328081A (ja) * | 1998-05-13 | 1999-11-30 | Matsushita Electric Ind Co Ltd | ネットワーク制御システム、コントローラ及びデバイス |
JP3202968B2 (ja) * | 1998-06-30 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示制御情報生成方法及びコンピュータ |
US7392483B2 (en) * | 2001-09-28 | 2008-06-24 | Ntt Docomo, Inc, | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US7058898B2 (en) * | 2002-03-22 | 2006-06-06 | Sun Microsystems, Inc. | Abstract user interface manager with prioritization |
US7546541B2 (en) * | 2002-12-10 | 2009-06-09 | International Business Machines Corporation | Method and apparatus for iterative refinement of generated user-interface markup |
EP1678605A1 (en) * | 2003-10-15 | 2006-07-12 | Koninklijke Philips Electronics N.V. | Automatic generation of user interface descriptions through sketching |
US20090150541A1 (en) * | 2007-12-06 | 2009-06-11 | Sony Corporation And Sony Electronics Inc. | System and method for dynamically generating user interfaces for network client devices |
JP5374873B2 (ja) * | 2008-01-09 | 2013-12-25 | 富士通株式会社 | 情報処理装置、情報処理システム、コンピュータプログラム、及び情報処理方法 |
JP5123133B2 (ja) * | 2008-10-17 | 2013-01-16 | パナソニック株式会社 | 表示システム、および表示器 |
US8584031B2 (en) * | 2008-11-19 | 2013-11-12 | Apple Inc. | Portable touch screen device, method, and graphical user interface for using emoji characters |
-
2011
- 2011-05-02 US US13/099,066 patent/US20120284631A1/en not_active Abandoned
- 2011-12-06 KR KR1020137031427A patent/KR20140017649A/ko active Application Filing
- 2011-12-06 JP JP2014509282A patent/JP5911562B2/ja active Active
- 2011-12-06 KR KR1020167011639A patent/KR20160054629A/ko not_active Application Discontinuation
- 2011-12-06 CN CN201180072054.3A patent/CN103635871A/zh active Pending
- 2011-12-06 WO PCT/US2011/063419 patent/WO2012150963A1/en active Application Filing
- 2011-12-06 EP EP11864626.4A patent/EP2705418A4/en not_active Withdrawn
- 2011-12-06 AU AU2011367233A patent/AU2011367233A1/en not_active Abandoned
- 2011-12-13 TW TW100145969A patent/TW201246051A/zh unknown
-
2016
- 2016-01-28 AU AU2016200493A patent/AU2016200493A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236917A1 (en) * | 2002-06-17 | 2003-12-25 | Gibbs Matthew E. | Device specific pagination of dynamically rendered data |
CN1704900A (zh) * | 2004-06-03 | 2005-12-07 | 微软公司 | 基于具有完全灵活性的自动化生成用户界面的方法和装置 |
US20070094609A1 (en) * | 2005-09-30 | 2007-04-26 | Sap Portals Israel Ltd. | Executable and declarative specification for graphical user interfaces |
US20110035688A1 (en) * | 2008-04-02 | 2011-02-10 | Kyocera Corporation | User interface generation apparatus |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942023A (zh) * | 2014-03-31 | 2014-07-23 | 广东威创视讯科技股份有限公司 | 一种显示处理方法及终端 |
CN103942023B (zh) * | 2014-03-31 | 2017-04-12 | 广东威创视讯科技股份有限公司 | 一种显示处理方法及终端 |
CN104360855A (zh) * | 2014-11-04 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN104360855B (zh) * | 2014-11-04 | 2018-11-13 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN110235093A (zh) * | 2017-01-30 | 2019-09-13 | 微软技术许可有限责任公司 | 经由语义抽象的对铰链式设备的导航性辅助 |
CN110235093B (zh) * | 2017-01-30 | 2022-08-05 | 微软技术许可有限责任公司 | 经由语义抽象的对铰链式设备的导航性辅助 |
Also Published As
Publication number | Publication date |
---|---|
WO2012150963A1 (en) | 2012-11-08 |
KR20160054629A (ko) | 2016-05-16 |
EP2705418A1 (en) | 2014-03-12 |
TW201246051A (en) | 2012-11-16 |
KR20140017649A (ko) | 2014-02-11 |
AU2016200493A1 (en) | 2016-02-18 |
US20120284631A1 (en) | 2012-11-08 |
AU2011367233A1 (en) | 2013-11-28 |
EP2705418A4 (en) | 2014-11-19 |
JP5911562B2 (ja) | 2016-04-27 |
JP2014519079A (ja) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103635871A (zh) | 使用户界面和输入控制适应的方法 | |
JP5941541B2 (ja) | モバイル・アプリケーション開発のためのシステムおよび方法 | |
JP5021211B2 (ja) | デジタル装置メニューエディタのための方法およびシステム | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
TWI413933B (zh) | 圖形使用者介面之應用程式介面 | |
US20070288887A1 (en) | Dynamic design-time extensions support in an integrated development environment | |
CN107608747B (zh) | 表单系统的构建方法、装置、电子设备、存储介质 | |
US20130152038A1 (en) | Project management workflows | |
KR20150043333A (ko) | 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크 | |
WO2017065991A1 (en) | Generation of application behaviors | |
CN104685466A (zh) | 用于提供多个视图的浏览器级背景页面 | |
US9195435B2 (en) | Image processing software development method, image processing software development device, and image processing software development program | |
US7707508B1 (en) | Methods and apparatus for efficient layout of digital content | |
US11315208B2 (en) | Conceptual representation of business processes for cross-domain mapping | |
CN101408843B (zh) | 一种生成程序菜单的方法及其装置 | |
US9170783B1 (en) | Class creation assistant for textual programming languages | |
US7966562B1 (en) | System and method for providing domain-sensitive help | |
CN103631645A (zh) | 一种基于数字医疗的数字家庭中间件系统 | |
JP2013235508A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
CN104063229A (zh) | 一种数字家庭中间件系统 | |
JP4895374B2 (ja) | ソフトウェア成果物生成方法及びそのシステム | |
CN113887186A (zh) | 一种电子病历内置脚本及其生成方法与执行方法 | |
Zeleznik et al. | Knowledge Based Embedded System Modeling With Real-Time Response Requirements | |
CN117290036A (zh) | 一种量子eda在线工具平台的窗口视图切换方法及装置 | |
CN116595935A (zh) | 工艺设计包构建及跨工艺电路设计方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140312 |
|
RJ01 | Rejection of invention patent application after publication |