CN112424737A - 调节用于触摸屏和鼠标/键盘环境的用户界面 - Google Patents

调节用于触摸屏和鼠标/键盘环境的用户界面 Download PDF

Info

Publication number
CN112424737A
CN112424737A CN201980047894.0A CN201980047894A CN112424737A CN 112424737 A CN112424737 A CN 112424737A CN 201980047894 A CN201980047894 A CN 201980047894A CN 112424737 A CN112424737 A CN 112424737A
Authority
CN
China
Prior art keywords
elements
computer
usage data
determining
computing device
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
Application number
CN201980047894.0A
Other languages
English (en)
Inventor
托马斯·德泽莱斯
维克托·克尔布内
丹尼尔·马丁·凯泽斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112424737A publication Critical patent/CN112424737A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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
    • G06F3/0488Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

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)
  • User Interface Of Digital Computer (AREA)

Abstract

主题技术的方面涉及基于当前模态来动态地调节UI。可以基于计算设备的输入模态来确定UI的布局特征。UI元素的布置可以基于布局特征和UI元素的相应的重要性分值来确定。可以提供基于布置来布置的UI元素以用于计算设备的显示。

Description

调节用于触摸屏和鼠标/键盘环境的用户界面
发明内容
主题技术的各方面涉及用户界面(UI)的生成和管理。可以基于计算设备的输入模态(modality)来确定UI的布局特征。UI元素的布置可以基于布局特征和UI元素的相应重要性分值来确定。可以提供基于布置来布置的UI元素以用于计算设备的显示。
主题技术的各方面还涉及一种计算系统。该系统可以包括一个或多个处理器以及包括存储在其中的指令的非暂时性计算机可读介质,该指令在被一个或多个处理器处理时,使一个或多个处理器执行操作。这些操作包括基于计算设备的输入模态来确定用户界面(UI)的布局特征。这些操作还包括基于布局特征和UI元素的相应重要性分值来确定UI元素的相应点击目标大小。该操作进一步包括基于布局特征、UI元素的相应重要性分值以及UI元素的相应点击目标大小来确定所选择的UI元素的布置。这些操作进一步包括提供布置的UI元素以供显示。
主题技术的各方面还涉及一种非暂时性计算机可读介质,该非暂时性计算机可读介质包括存储在其中的指令,该指令在由处理器执行时,使机器执行包括基于计算设备的输入模态来确定用户界面(UI)的布局特征的操作。该操作还可以包括基于应用的指定来确定相应重要性分值。该操作进一步包括基于布局特征和UI元素的相应重要性分值,从UI模型中选择UI元素的集合。该操作还包括基于布局特征和UI元素的相应重要性分值来确定所选择的UI元素的布置。这些操作还包括提供UI。
将理解,根据以下具体实施方式,主题技术的其他配置对于本领域的技术人员来说将变得显而易见,在具体实施方式中,以图示的方式示出和描述了主题技术的各种配置。将会认识到,主题技术能够其他和不同的配置,并且其若干细节能够在各种其他方面进行更改,所有这些都不脱离主题技术的范围。因此,附图和具体实施方式本质上应被认为是说明性的而不是限制性的。
附图说明
被包括以提供进一步的理解并且被并入本说明书中且组成本说明书的一部分的附图图示所公开的方面,并且连同说明书一起用作解释所公开的方面的原理。
图1A图示根据主题技术的示例方面的示例客户端-服务器环境。
图1B图示描述根据主题技术的示例方面的示例机器学习模型的框图的框图。
图2图示根据主题技术的示例方面的用于基于当前模态优化UI的系统的示例数据流。
图3A示出根据主题技术的示例方面的用于基于当前模态来调节UI的示例过程的流程图。
图3B示出根据主题技术的示例方面的用于基于当前模态来调节UI的示例过程的流程图。
图3C示出根据主题技术的示例方面的用于基于当前模态来调节UI的示例过程的流程图。
图4图示根据主题技术的示例方面的针对不同的输入模态调节的示例用户界面。
图5概念性地图示示例电子系统,通过该示例电子系统可以实现主题技术的一些实施方式。
具体实施方式
以下阐述的详细描述旨在作为主题技术的各种配置的描述,而并非旨在表示可以实践主题技术的唯一配置。附图被并入本文并且组成详细描述的一部分。为了提供对主题技术的透彻理解,详细描述可以包括具体细节。然而,主题技术不限于本文阐述的具体细节,并且可以在没有这些具体细节的情况下实践。在一些实例中,以框图形式示出结构和组件,以便于避免使主题技术概念模糊不清。
在计算设备上运行的应用的用户界面(UI)可以被提供有多个用户界面(UI)元素(即,图标、按钮、菜单选项等)。应用UI设计人员可以指定UI的规则,诸如要包括在应用的UI中的UI数目以及UI元素在UI中相对于彼此的布置。然而,计算设备可以是膝上型计算机、台式计算机、平板电脑和移动设备。计算设备显示器的分辨率、尺寸和大小可能会基于操作环境(例如,膝上型计算机、台式机、平板电脑、移动设备)而变化。为用于相应操作环境的UI提供规则对于应用UI设计人员而言将是繁重的并且还呈现消耗计算设备的大量数据存储的技术问题,因为需要在数据存储中存储更多规则。
此外,诸如可转换计算设备的计算设备可能能够在膝上型计算机模式和平板电脑模式之间切换。尽管在膝上型计算机模式和平板电脑模式之间计算设备的显示器的分辨率、尺寸和屏幕大小可能不会改变,但是在膝上型计算机模式和平板电脑模式之间输入方法可能会有所不同。例如,当计算设备以膝上型计算机模式操作时,计算设备的操作系统可以接收基于鼠标的输入(例如,通过鼠标和/或键盘的输入)。在膝上型计算机模式下,可以在用户界面(UI)中提供多个具有相对较小的点击目标大小的UI元素。UI元素的点击目标大小可以相对较小,因为与UI元素接触的用于选择UI元素的光标或指针的触摸大小相对较小。
计算设备还可以在平板电脑模式下操作,其中计算设备的操作系统可以接收基于触摸屏的输入(例如,通过手指或手写笔的输入)。手指或手写笔的触摸大小可能大于通过基于鼠标的输入操纵的光标或指针的触摸大小。因此,可能期待具有比膝上型计算机模式下的UI大的点击目标大小的UI元素,以适应使用手指或手写笔选择UI元素。
为了适应计算设备的不同输入模态,UI的设计人员可能需要针对用于计算设备的相应输入模态的UI提供不同的规则。但是,与基于鼠标的输入模态中的光标或指针不同,在基于触摸屏的输入模态中手指或手写笔的大小可能会依用户而变化。手指或手写笔的触摸大小可以根据用户的手指或手写笔的各种大小依用户而变化。因此,对于某些用户而言,在平板电脑模式的UI中提供具有不同点击目标大小(例如,比膝上型计算机模式更大的点击目标大小)的UI元素可能仍然很小。
提供具有与触摸大小不匹配的点击目标大小的UI元素可能会造成对UI元素的意外选择,并且可能会呈现对数据处理和传输产生负面影响的不必要的数据处理的技术问题。
为了解决技术问题,主题技术提供以下技术解决方案,即,提供与在计算设备上运行的应用相关联的用户界面(UI)模型,以针对基于鼠标的输入模态或基于触摸屏的输入模态优化UI。UI模型提供了用户界面(UI)元素(例如,菜单选项、图标、按钮)和用于在应用的UI中放置UI元素的规则的库。特别地,基于与应用相关联的UI模型来确定与当前输入模式相关联的UI的布局特征。可以基于所确定的布局特征和UI元素的重要性度量,从UI模型中选择要包括在UI中以进行显示的UI元素。基于UI模型提供的规则,将选择的UI元素布置在UI内。
图1A图示根据主题技术的用于基于当前模态自动地调节UI的示例环境100。环境100包括计算设备102、104和106,以及服务器110和114。在一些方面,环境100可以具有比图1A中示出的那些更多或更少的计算设备(例如,102-106)和/或服务器(例如,110和114)。
计算设备102、104和106中的每一个都可以表示具有处理器、存储器和通信能力的各种形式的处理设备。计算设备102、104和106可以彼此通信,与服务器110和114通信并且/或者与图1A中未示出的其他系统和设备通信。作为非限制性示例,处理设备可以包括台式计算机、膝上型计算机、手持计算机、个人数字助理(PDA)、蜂窝电话、网络电器、相机、智能电话、增强型通用分组无线电服务(EGPRS)移动电话、媒体播放器、导航设备、电子邮件设备、游戏机或这些处理设备或其他处理设备中的任何的组合。
计算设备102、104和106中的每一个可以在可以允许基于鼠标的输入(例如,通过鼠标和/或键盘输入)的膝上型计算机模式下操作或者在可以允许基于触摸屏的输入(例如,通过手指或手写笔输入)的平板电脑模式下操作。计算设备102、104和106中的每一个上的操作系统可以基于在相应计算设备102、104和106中的硬件配置中检测到的变化来在膝上型计算机模式和平板电脑模式之间切换。
硬件配置的变化可以包括检测膝上型计算机的屏幕部分和键盘部分之间的角度的变化,该变化从预定阈值角度(即,180度)内的角度变成预定阈值角度以上的角度。例如,当屏幕部分和键盘部分之间的角度在预定阈值角度之内时,计算设备可以处于膝上型计算机模式。然而,当屏幕部分和键盘部分之间的角度高于预定阈值角度时,计算设备可以处于平板电脑模式。在一些方面,当计算设备的屏幕部分和键盘部分彼此拆卸时,可以检测到硬件配置的变化。当屏幕部分和键盘部分被拆卸时,计算设备可以处于平板电脑模式。另一方面,当附接屏幕部分和键盘部分时,计算设备处于膝上型计算机模式中。
计算设备102、104和106中的每个可以与用户相关联。该用户可以是计算设备(例如,计算设备102、104或106)的所有者,或者是登录到该计算设备上的账户的人。在一些方面,用户可以与多个计算设备(例如,计算设备102、104和106的任何组合)相关联。例如,计算设备102可以是用户的个人膝上型计算机,而计算设备104可以是用户的商务膝上型计算机。
计算设备102、104和106中的每一个可以具有安装在其上的应用。当启动应用时,该应用可以提供用于经由计算设备的显示器进行显示的用户界面(UI)。安装在计算设备上的每个应用可以包括至少一个用户界面(UI)模型。基于UI模型和与该应用相关联的使用数据来生成应用的UI。
使用数据可以包括应用的使用日志以及与和应用相关联的UI的UI元素的用户交互。例如,应用的使用日志可以是在预定时间段内(例如,在应用的会话期间、一天、一周等期间)收集和汇总的使用日志。使用日志可以包括应用在计算设备上启动的一天中的时间、应用处于活动的小时数目和/或应用的使用频率。
与UI元素的用户交互可以包括在UI内的相应UI元素处接收到的点击样式(pattern)。点击可以包括用于在UI中选择UI元素的选择机制。选择机制可以是通过经由指针设备(例如,鼠标、手写笔、手指等)接收到的在UI元素处接收到的点击(即,单击,双击)或输入手势(例如,拖动、平移(span)或滑动)。点击样式可以包括用于点击相应的UI元素的指针设备的类型、在相应的UI元素处接收的点击的触摸大小、在相应的UI元素处接收的选择机制的类型、在相应的UI元素上接收的点击数目、失败点击数目、无用点击数目、跨应用的布局和内容的注意力跨度(span)。
所使用的指针设备的类型可以包括用于在UI中点击UI元素的鼠标、键盘、操纵杆、手指或手写笔。一种类型的指针设备可以是基于鼠标的输入模态中的鼠标、键盘或操纵杆,以及基于触摸屏的输入模态中的手指或手写笔。
所接收的点击的触摸大小可以是当在UI元素处接收到点击时与UI元素接触的输入面积。触摸大小可以是当计算设备在基于触摸屏的输入模态下操作的同时在UI元素上接收输入时接触触摸屏的指尖的面积。在其他一些方面,点击的触摸大小可以包括点击的强度。点击的强度可以是当计算设备在基于触摸屏的输入模态下操作的同时从手指或手写笔接收UI元素上的输入时经由触摸屏接收到的触摸强度。
选择机制的类型可以包括点击、拖动、平移(pan)和滑动。UI元素可以接收滑动输入手势。在一些其他方面,可以在UI元素处接收选择机制的类型的任何组合。例如,可以在接收到点击之前平移UI元素。
在UI元素上接收到的点击数目可以包括在UI元素上接收到的成功点击。例如,当在UI元素上接收到点击时点击可以被计数为成功点击,并且在UI元素上接收到的点击触发与UI元素相关联的动作。也可以基于在UI元素上接收到的点击数目来确定UI元素的使用频率。在一些其他方面,可以确定访问UI元素的顺序。访问顺序可以指示UI元素可以被连续地选择。
当点击被认为是失败时,可以计数为失败点击数目。失败点击可以是在预定时间段内(例如,在2秒内)在UI元素附近接收到的两个点击,其中两个点击中的第二个点击触发与UI元素相关联的动作。在被识别为失败点击之前在UI元素附近接收到的点击数目可能不限于两个点击,并且点击数目可能是两个或更多个点击。失败的点击可能指示UI元素的点击目标大小对于当前输入模态而言过小。
当成功的点击后面是在预定时间段内触发返回到指示UI元素错误接收到点击的先前屏幕的动作时,点击被确定为无用点击。无用点击数目可能不会计入UI元素上收到的点击数目。
可以基于在应用的布局和/或内容上的特定区域的滚动或缩放来确定注意力跨度。在一些方面,可以基于从眼睛跟踪设备(即,眼睛跟踪相机)接收到的眼睛跟踪数据来确定注意力跨度。
记录与相应UI元素的用户交互,并且可以根据记录的用户交互来更新应用的使用数据。可以基于更新的使用数据来更新应用的UI。可以生成应用的UI并将其提供以进行显示。当基于用户交互来更新使用数据时,可以更新应用的UI模型,并且可以基于更新的UI模型来重新生成应用的UI。在一些方面,当与重新生成之前的UI相比时,可以减少重新生成的UI中包括的UI元素的数目。在一些其他方面,UI元素的位置在重新生成之前和之后在UI中可以不同。
可以为相应应用生成并记录使用数据。例如,可以为应用生成并记录与一个或多个计算设备102、104和106相关联的用户的使用数据。在一些方面,可以为在计算设备(即,计算设备102、104、106之一)上或在多个计算设备(即,计算设备102、104和106)上的应用的多个不同用户生成使用数据。使用数据可以被存储在相应计算设备102、104和106中。在一些方面,使用数据可以经由网络108被传输到一个或多个服务器(例如,服务器110和114)。就本文讨论的系统收集与用户相关联的使用数据或者可以利用使用数据而言,向用户提供控制程序或特征是否收集使用数据(例如,用户的偏好),并基于收集的使用数据控制与应用相关联的UI的机会。还可以向用户提供打开或关闭系统提供的某些特征或功能的选项。在一些方面,用户可以选择禁用本文讨论的系统所提供的特征和功能(例如,基于收集的使用数据来控制与应用相关联的UI)。另外,用户可以规定在存储或使用某些数据之前,应以一种或多种处理某些数据,使得移除个人可识别信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人可识别信息,或者在获得位置信息的情况下可以概括用户的地理位置(诸如,概括为城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户具有对所公开的系统是否以及如何收集、存储和使用用户信息的控制。
网络108可以是连接任意数目的移动客户端、固定客户端和服务器的诸如例如局域网(LAN)、广域网(WAN)、互联网、蜂窝网络或其组合的计算机网络。此外,网络108可以包括但不限于以下网络拓扑中的任何一个或多个,其包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树形或分级网络等。在一些方面,每个客户端(例如,计算设备102、104和106)和服务器(例如,服务器110)之间的通信可以经由虚拟专用网络(VPN)、安全外壳(SSH)隧道、安全套接字层(SSL)通信或其他安全网络连接而出现。在一些方面,网络108可以进一步包括公司网络(例如,内联网)和一个或多个无线接入点。
服务器110和114中的每一个可以表示单个计算设备,诸如包括处理器和存储器的计算机服务器。处理器可以执行存储在存储器中的计算机指令。服务器110和114可以在地理上共位和/或服务器110和114可以位于不同的位置。在一些方面,服务器110和114可以共同表示计算机服务器。在一些方面,服务器110和114可以每一个均使用多个分布式计算设备来实现。服务器110和114被配置成经由网络108与客户端设备(例如,计算设备102、104和106)进行通信。
服务器110和114可以分别包括数据存储112和116,用于存储用户或计算设备102、104和106的使用数据。在一些方面,在计算设备102、104和106上实现的应用的UI模型可以存储在服务器110和114上。例如,UI模型可以包括与应用相关联的UI元素,以及UI元素的默认重要性度量。在一个或多个实施方式中,计算设备102、计算设备104、计算设备106、服务器110或服务器114可以是或可以包括下面关于图5讨论的电子系统组件的全部或部分。
图1B描绘根据主题技术的示例方面的示例机器学习模型的框图的框图。在一些方面,主题技术可以包括或以其他方式利用一个或多个机器学习模型来基于使用数据来调节UI元素。机器学习模型120可以被训练为接收输入数据122(即,使用数据),并且作为响应,提供输出数据124(即,UI元素的大小、位置、尺寸)。因此,机器学习模型120执行推断。
机器学习模型可以是一个或多个循环神经网络。循环神经网络的节点中的一些可能会形成一个循环。循环神经网络对于处理本质上是顺序的输入数据可能特别有用。特别地,在一些情况下,循环神经网络可以通过使用循环或有向循环节点连接来将信息从输入数据序列的先前部分传递或保留到输入数据序列的后续部分。
顺序输入数据可以包括时间序列数据(例如,在不同时间接收到的点击样式)。循环神经网络可能使用数据对比时间,以调节要包含在UI中的UI元素。作为另一个示例,顺序输入数据可以包括应用的使用日志以及与UI元素的用户交互。
示例循环神经网络可包括长期短期(LSTM)循环神经网络;门控循环单元;双向循环神经网络;连续时间循环神经网络;神经历史压缩器;回声状态网络;Elman网络;Jordan网络;递归神经网络;Hopfield网络;完全循环网络;序列到序列的配置。
在一些方面,可以对机器学习模型进行训练或以其他方式将机器学习模型配置成接收输入数据并作为响应提供输出数据。输入数据可以包括输入数据的不同类型、形式或变体。输入数据可以包括使用数据,该使用数据包括例如应用的使用日志以及与和应用相关联的UI的UI元素的用户交互。
响应于输入数据的接收,机器学习模型可以提供输出数据。输出数据可以包括输出数据的不同类型、形式或变体。输出数据可以包括用于调节UI元素的数据。在一些实施方式中,输出数据可以包括各种类型的分类数据(例如,二进制分类、多类分类、单标签、多标签、离散分类、回归分类、概率分类等),或者可以包括各种类型的回归数据(例如,线性回归、多项式回归、非线性回归、简单回归、多元回归等)。在其他情况下,输出数据可以包括聚类数据、异常检测数据、推荐数据或上面讨论的其他形式的输出数据中的任一个。在一些实施方式中,输出数据可以影响下游处理或做出决策。作为一个示例,在一些实施方式中,输出数据可以由基于规则的调节器解释和/或对该输出数据起作用。
因此,主题技术提供包括或以其他方式利用一个或多个机器学习模型基于使用数据来调节UI元素的系统和方法。上述的任何不同类型或形式的输入数据可以与上述任何不同类型或形式的机器学习模型相结合,以提供上述任何不同类型或形式的输出数据。
主题技术的系统和方法可以由一个或多个计算设备(即,计算设备102、104和106)实现或以其他方式在其上执行。因此,在一些实施方式中,机器学习模型可以被存储在一个或多个计算设备(即,计算设备102、104和106)处和/或由其本地实现。通过在计算设备处机器学习模型的本地实现而获得的输出数据可以用于改善计算设备(例如,由计算设备实现的应用)的性能。
在其他实施方式中,机器学习模型可以存储在服务器(例如,服务器110和114)处和/或由其实现。通过在服务器上实现机器学习模型而获得的输出数据可以用于改善其他服务器任务,或者可以由计算设备(即,计算设备102、104和106)用来改善由计算设备执行的服务或为计算设备改善服务。例如,输出数据可以改善服务器为计算设备(即,计算设备102、104和106)执行的其他下游处理。可以说服务器将机器学习作为服务来执行。
图2图示根据主题技术的示例方面的用于基于当前模态优化UI的示例系统。系统200包括显示设备210、输入接口220和计算设备230。显示设备210可以显示由操作系统提供的信息。显示设备210可以是触摸屏。在一些方面,显示设备210可以是可转换显示器,其中当计算设备处于平板电脑模式时,显示设备210可以是触摸屏,而当计算设备处于膝上型计算机模式时,显示设备210可以是常规监视器。
输入接口220可以提供来自输入设备(例如,鼠标、手写笔、键盘)的输入信号。例如,当计算设备处于膝上型计算机模式时,计算设备经由输入接口220从输入设备接收输入信号。当计算设备处于平板电脑模式时,显示设备210可以用作输入接口220的一部分,可以经由触摸屏从其接收输入信号。
计算设备230可以包括处理器240和存储器250。处理器240可以检索指令和数据以执行计算设备230的处理。处理器的数目不限于图2所示的一个。但是,处理器的数量可以是一个或多个。存储器250可以包括用户界面(UI)模块252和应用254。
UI模块252可以包括指令和数据,以基于与应用254相关联的用户界面(UI)模型254A来生成要提供给显示设备210的UI。应用254可以是安装在计算设备230上的应用。在一些方面,应用254可以包括系统软件,诸如用于计算设备的操作系统。应用254可以包括UI模型254A,该UI模型254A可以包括UI元素(即,菜单选项、图标、按钮)的列表、UI布局以及用于在应用254的UI布局内放置UI元素的规则,诸如UI元素的布局特征和点击目标大小。用于放置UI元素的规则可以由UI的设计人员指定,并且可以指示要包括在UI中的UI元素,而不管当前的输入模态或使用数据如何。放置UI元素的规则可以指示由UI的设计人员指定的UI元素的最小点击目标大小。
布局特征可以包括可用于在UI内放置UI元素的空间量以及在UI内放置UI元素的可用选项。可以基于当前输入模态和计算设备230的显示设备210的配置(即,屏幕大小、分辨率)来确定布局特征。
当检测到应用254的启动时,UI模块252可以基于计算设备的当前输入模态和计算设备的显示设备210的配置来确定与应用相关联的UI的布局特征。可以针对在显示设备210上提供的UI的可视区域确定布局特征。例如,布局特征可以是可用于在UI内放置UI元素的空间量。在一些方面,布局特征可以指示UI中包括的UI元素的数目。在一些方面,UI模块252可以从计算设备230的操作系统252接收启动应用的信号。UI模块252可以识别计算设备的当前输入模态。从操作系统230接收的信号可以包括与计算设备的当前输入模态有关的数据。UI模块252可以基于所识别的计算设备的当前输入模态从UI模型检索应用254的UI信息。UI模块252可以基于所识别的当前输入模态和所检索的UI信息来确定布局特征。
UI模块252可以基于所确定的布局特征和UI元素的相应重要性分值从UI模型236中选择多个UI元素。UI模块252可以确定与应用254相关联的UI元素(即,菜单选项、图标、按钮等)的使用数据。在一些方面,UI模块252还可以包括应用的使用日志、应用UI设计人员指定的重要性度量和/或来自其他应用的使用样式。应用的使用日志可以包括应用在计算设备上启动的一天中的时间、应用处于活动的小时数目和/或应用的使用频率。
UI模块252可以指的是UI模型254A,该UI模型254A可以包括例如由应用254的设计人员所指定的对于UI元素的重要性度量。重要性度量可以指示UI元素的重要性。应用UI设计人员可以指定要包括在UI中的UI元素,而不管UI元素的使用数据如何。用户可以通过例如偏好设置来指定要包括在UI中的UI元素。在一些方面,用户偏好可以超过(override)由应用UI设计人员指定的重要性度量。
UI模块252可以从具有与主题应用类似的外观、内容和交互性并且安装在计算设备上的其他应用收集使用数据。来自其他应用的收集的使用数据可以包括在主题应用的使用数据中,使得可以使用更多数据来更好地优化UI。来自其他应用的收集的使用数据可以用于更新UI模型254A。
UI模块252可以基于所确定的使用数据来确定相应UI元素的重要性分值。在一些方面,UI模块252可以基于所确定的使用数据和指定的UI元素的重要性度量来确定重要性分值。具有满足阈值的点击数目和/或包括在应用的布局的特定区域中的UI元素可以具有高于阈值分值的重要性分值。例如,可以基于UI元素的重要性分值来对UI元素进行优先化。UI模块252可以记录应用的UI元素的使用样式,并且基于记录结果来更新UI元素的使用样式。基于更新的使用样式来更新UI元素的重要性分值。
UI模块252可以识别具有满足阈值分值的重要性分值的UI元素,并且基于所确定的UI元素的点击目标大小和所确定的UI元素的布局特征,在所识别的UI元素当中选择多个UI元素。UI模块252可以根据存储在UI模型中的UI布局来布置所选择的UI元素。UI布局可以指示UI元素相对于应用的UI上的其他UI元素的位置。例如,UI布局可以指示可以与另一个UI元素相邻地提供UI元素。UI模块252可以向UI提供基于UI布局布置的所选择的UI元素,以用于显示。
UI模块252可以从UI模型识别用于UI的UI布局。应用的UI设计人员可以指定要使用的布局。UI模块252可以选择要包括在UI中的UI元素的集合。UI模块252可以参考UI元素的重要性分值,并且选择满足阈值分值的UI元素。UI模型可以包括哪些UI元素要包括在UI布局中。可以通过UI模型来识别UI元素的一部分,并且可以基于UI元素的重要性分值来选择UI元素的其余部分。UI模块252可以基于UI布局来布置选择的UI元素,并提供UI以进行显示。
UI模块252可以选择具有满足阈值分值的重要性分值的多个UI元素。UI模块252可以基于相应重要性分值来布置选择的UI元素。具有最高重要性分值的UI元素可以被布置在UI的顶部中央。相对于具有最高重要性分值的UI元素,可以将其余的选择的UI元素布置在UI内。UI模块252可以基于UI内的UI元素的重要性分值来布置选择的UI元素,并提供UI以进行显示。
UI模块252可以基于计算设备的当前输入模态来确定相应选择的UI元素的点击目标大小。可以基于计算设备的当前输入模态和使用数据来确定相应选择的UI元素的点击目标大小。例如,可以认为具有满足基于使用数据的阈值分值的重要性分值的UI元素具有对用户更高的重要性度量,并且可以向UI元素指配满足阈值点击目标大小的点击目标大小。UI模块252可以向UI提供布置的UI元素以供显示。
图3A示出流程图,该流程图图示根据技术主题的示例方面的用于基于当前输入模态自动调节UI的示例过程300A。为了说明的目的,本文参考本文描述的组件和/或过程描述了示例过程300A的各种框。过程300A的一个或多个框可以例如由图1的服务器110和/或服务器114的一个或多个组件或处理器来实现。在一些实施方式中,一个或者多个块可以与其它块分开实现,并由一个或多个不同的处理器或控制器实现。此外,出于说明的目的,示例过程300A的框被描述为串行或线性发生。然而,示例过程300A的多个框可以并行发生。另外,示例过程300A的框不需要以所示的顺序执行和/或示例过程300A的框中的一个或多个不需要执行。
在框310A处,基于UI模型和计算设备的输入模态来确定UI的布局特征。UI模块可以在应用是活动时响应于基于计算设备的设备配置的变化来检测到输入模态的变化而确定UI的布局特征。在一些方面,UI模块可以响应于检测到应用的启动而确定UI的布局特征。
UI模块可以确定计算设备的当前输入模态。在一些方面,可以响应于检测到输入模态的变化或检测到应用的启动而确定当前输入模态。在一些其他方面,UI模块可以检查计算设备的当前输入模态。
例如,UI模块可以确定计算设备的当前输入模态是与平板电脑模式相关联的基于触摸屏的输入。UI模块检测在平板电脑模式下的计算设备,其使用基于触摸屏的输入,并将计算设备的当前输入模态确定为基于触摸屏的输入。UI模块可以参考与启动的应用相关联的UI模型,并确定与平板电脑模式相关联的启动的应用的UI的布局特征。布局特征可以是可用于在UI中放置UI元素的空间量。可以为显示设备上的UI的可视区域确定布局特征。在一些方面,启动的应用的UI的布局特征可能会基于膝上型计算机模式或平板电脑模式而不同。膝上型计算机模式的UI的布局特征可能比平板电脑模式的UI的布局特征大。
在框320A处,基于布局特征和UI元素的相应重要性分值,从UI模型中选择要在UI上显示的多个UI元素。UI模块可以基于UI元素的使用数据来确定UI元素的相应重要性分值。基于UI元素的重要性分值来确定在UI上显示相应UI元素所需的空间(例如,点击目标大小)。例如,当UI元素与UI中的其他UI元素相比被更频繁地选择或被包括在基于注意力跨度的用户看起来感兴趣的UI的区域中时,可以为该UI元素给予指示高的重要性度量的较高的重要性分值。因此,可以给予该UI元素比UI中的其他UI元素更多的空间,导致该UI元素看起来比UI中的其他UI元素更大。基于确定的重要性分值和UI模型中的规则,UI模块可以选择要包括在提供用于显示的UI中的UI元素。
在框330A处,根据UI模型来布置所选择的UI元素。例如,UI模块可以基于相应的重要性分值和点击目标大小来确定所选择的UI元素的布置。UI模块可以以高于最小阈值点击目标大小的点击目标大小来将要包括在UI中的元素列表上的其余UI元素进行布置。在一些方面,可以隐藏具有低于阈值分值的重要性分值的UI元素(即,不提供给UI以供显示)。当计算设备的输入模态从基于触摸屏的输入改变为基于鼠标的输入时,可以执行其中可以将隐藏的UI元素提供给UI以进行显示的UI的布局。
在框340A处,向UI提供所确定的布置中的所选择的UI元素以用于显示。
图3B示出流程图,该流程图图示根据主题技术的示例方面的用于基于当前输入模态自动调节UI的示例过程300B。为了说明的目的,本文参考本文描述的组件和/或过程描述示例过程300B的各种框。过程300B的一个或多个框可以例如由图1的服务器110和/或服务器114的一个或多个组件或处理器来实现。在一些实施方式中,一个或多个框可以与其他框分开地实现,并且可以由一个或多个不同的处理器或控制器来实现。此外,出于说明的目的,示例过程300B的框被描述为串行或线性发生。然而,示例过程300B的多个框可以并行发生。另外,示例过程300B的框不需要以所示顺序执行和/或示例过程300B的框中的一个或多个不需要执行。
在框310B处,基于UI模型和计算设备的输入模态来确定UI的布局特征。UI模块可以确定计算设备的当前输入模态是与平板电脑模式相关联的基于触摸屏的输入。
在框320B处,基于UI模型来识别UI布局。UI模块可以参考UI模型并识别要使用的UI布局。可以基于当前的输入模态或基于应用的UI设计人员在UI模型中指定来识别UI布局。
在框330B处,可以基于UI布局来选择要包括在UI中的UI元素的集合。可以将一些UI元素指定为包括在具有如通过UI模型所指示的识别的UI布局的UI中。在一些情况下,可以基于UI元素的相应重要性分值来选择UI元素。可以选择具有满足阈值分值的重要性分值的UI元素以包括在UI中。
在框340B处,可以基于所识别的UI布局将UI元素的集合布置在UI内。UI元素相对于彼此的位置可以由UI布局指定。在一些方面,可以在将UI元素的集合布置在UI内时考虑UI元素的点击目标大小。UI元素的相对位置可以由UI布局指定,并且取决于UI元素的点击目标大小,可以在UI内设置UI元素的位置。
在框350B处,可以提供基于UI布局布置在UI内的UI元素以进行显示。
图3C示出流程图,该流程图图示根据技术主题的示例方面的用于基于当前输入模态自动调节UI的示例过程300C。为了说明的目的,本文参考本文描述的组件和/或过程描述示例过程300C的各种框。过程300C的一个或多个框可以例如由图1的服务器110和/或服务器114的一个或多个组件或处理器来实现。在一些实施方式中,一个或多个框可以与其他框分开地实现,并且可以由一个或多个不同的处理器或控制器来实现。此外,出于说明的目的,示例过程300CB的框被描述为串行或线性发生。然而,示例过程300C的多个框可以并行发生。另外,示例过程300C的框不需要以所示的顺序执行和/或示例过程300B的框中的一个或多个不需要执行。
在框310C处,基于UI模型和计算设备的输入模态来确定UI的布局特征。UI模块可以确定计算设备的当前输入模态是与平板电脑模式相关联的基于触摸屏的输入。
在框320C处,可以基于相应的重要性分值来选择多个UI元素。可以基于UI元素的相应重要性分值满足阈值分值来选择UI元素。
在框330C,可以基于存储在UI模型中的UI布局,将UI元素的集合布置在UI内。可以基于UI元素的重要性分值和UI布局来确定UI元素的位置。在一些方面,在将UI元素的集合布置在UI内时,也可以考虑UI元素的点击目标大小。在框340C处,可以提供布置在UI内的UI元素以进行显示。
在一些方面,UI可以包括如图4中所图示的可滚动容器视图(例如,电子邮件收件箱中的消息列表)。图4图示根据主题技术的示例方面针对不同的输入模态调节的示例用户界面。
UI 400与应用(即,电子邮件应用)相关联,并且以基于鼠标的输入模态为基础来生成。例如,UI模块检测在膝上型计算机模式下的使用基于鼠标的输入的计算设备,并将该计算设备的当前输入模态确定为基于鼠标的输入。UI模块基于与应用相关联的UI模型来确定与基于鼠标的输入模态相关联的UI(即,UI 400)的布局特征。UI模块基于布局特征和UI元素的相应的重要性分值来确定要包括在UI 400中的UI元素的数目,并且选择要包括在UI400中的UI元素。
如UI 400中所示,UI 400可以包括UI元素402、404、406和408。UI元素402可以是菜单选项的组,包括,例如,五个电子邮件文件夹(即,Inbox(收件箱)、Sent(已发送)、Draft(草稿)、Junk(垃圾邮件)、Outbox(发件箱))。UI元素404可以是用于联系人列表的菜单选项的组(即,Alice(爱丽丝)、Bob(鲍勃)、Charlie(查理)、Dave(戴夫)、Ellie(埃莉)、Frank(弗兰克)、George(乔治)、Henry(亨利)、Isaac(艾萨克))。UI元素406可以是用于收件箱消息列表的菜单选项的组(即,11个消息),其可以是滚动视图。UI元素408可以是用于在电子邮件应用中搜索项目(例如,电子邮件,联系人)的搜索栏。
UI模块可以参考应用的UI模型,并且确定UI元素406(即,收件箱中的消息列表)应该总是被包括在UI中。电子邮件应用的应用UI设计人员可以在UI模型中指定应该包括UI元素406,而不管使用数据如何。UI模块可以根据布局特征基于剩余的可用空间来确定UI元素402和404可以被包括在UI中。UI模块可以确定与应用中的其他UI元素相比,包括在UI元素402和404中的UI元素可以被更频繁地选择,并且基于UI元素的使用数据,UI元素402和404可以具有满足阈值分值的重要性分值。UI模块可以选择要包括在UI中的UI元素408。用户可以指定UI元素408被包括在UI中。基于用户设置的偏好,UI模块可以确定在UI中包括UI元素408。
UI模块可以基于应用的UI模型和使用数据来布置选择的UI元素402、404、406和408。UI模块可以基于由UI模型中的应用的UI设计人员指定的UI布局来布置UI元素402、404、406和408。UI模块可以基于以使用数据为基础确定的相应重要性分值来确定UI元素的点击目标大小。在一些方面,UI模块可以基于UI元素的点击目标大小来确定UI元素的外观大小。例如,提供UI元素406中的消息列表中的文本项目以在单行视图中显示。
UI 410与应用(即,电子邮件应用)相关联,并且针对基于触摸屏的输入模态而生成。UI模块检测在平板电脑模式下的使用基于触摸屏的输入的计算设备,并将该计算设备的当前输入模态确定为基于触摸屏的输入。UI模块基于与应用相关联的UI模型确定与基于触摸屏的输入模态相关联的UI(即,UI 410)的布局特征。UI模块基于布局特征和UI元素的相应的重要性分值来确定要包括在UI 410中的UI元素的数目,并且选择要包括在UI 410中的UI元素。
如UI 410中所示,UI 410可以包括UI元素412A、412B、416和418。在一些方面,UI元素412A和412B可以对应于UI 400中的UI元素402和404。UI模块可以基于电子邮件应用的UI模型来确定电子邮件文件夹(即,UI元素402)、联系人列表(即,UI元素404)、电子邮件消息(即,UI元素406)和搜索栏(即,UI元素408)应被包括在UI 410中(即,基于触摸屏的输入模态)。
UI模块可以基于应用的UI模型和使用数据来布置UI元素412A、412B、416和418。UI模块可以确定用于基于触摸屏的输入模态的UI 410中的UI元素的点击目标大小可以大于用于基于鼠标的输入模态的UI 400中的UI元素的点击目标大小。因此,UI模块可以从UI元素的组中选择预定数目的UI元素(例如,一个、三个),并提供预定数目的UI元素以用于显示并隐藏其他UI元素。
在一些方面,UI模块可以基于使用数据确定电子邮件文件夹比联系人列表被更频繁地访问,并且“Inbox”可以在电子邮件文件夹中被最频繁地访问。因此,UI模块可以压缩和在UI元素412A下隐藏UI元素402中的电子邮件文件夹中的一些文件夹以及UI元素404中的联系人列表。用户可以通过选择UI元素412A来访问隐藏的UI元素。当用户点击UI元素412A时,可以在展开视图中显示包括隐藏的UI元素的列表,并且用户可以访问隐藏的UI元素。UI模块可以基于使用数据提供在电子邮件文件夹列表中最频繁访问的“Inbox”作为UI410中的UI元素412B。
UI模块可以基于使用数据确定电子邮件消息列表是电子邮件应用内最频繁访问的UI元素。UI模块可以将UI 410中的UI元素416的点击目标大小设置为大于为UI 400中的UI元素406设置的点击目标大小。UI模块可以基于用户偏好来确定在UI 400中被提供以显示为单行视图的电子邮件消息(即,UI 400中的元素406、UI 410中的元素416)可以被提供以显示为多行视图,该多行视图包括电子邮件消息的内容的一部分。在一些方面,UI 400中的UI元素406中包括的项目数目和UI 410中的UI元素416中包括的项目数目可以不同。基于为UI元素416中的项目设置的点击目标大小大于为UI元素406中的项目设置的点击目标,UI元素416可以包括比UI元素406更少的项目(即,消息)。对应地,UI元素416中的每个项目可能比UI元素406中的每个项目占用更大的空间,并且因此,可能没有足够的空间来将UI元素406中包括的所有项目容纳到UI元素416中。在某些方面,UI元素的外观大小可能与点击目标大小相关。由于UI元素416的点击目标大小被设置为大于UI元素406,因此UI元素416的外观大小可以被设置为大于UI元素406。
UI模块可以确定与UI 400中的UI元素408相对应的UI元素418(即,搜索栏)应当被包括在UI 410中。例如,使用指示与在计算设备正在基于鼠标的输入模态中操作时相比,当计算设备正在基于触摸屏的输入模态中操作时,搜索栏被较不频繁地使用。UI模块可以减小UI 410中的UI元素418的点击目标大小和外观大小。
UI模块可以基于应用的UI模型来布置所选择的UI元素412和416的组。例如,UI模块可以基于由UI模型中的应用的设计人员指定的UI布局来布置UI元素412和416的组。在一些方面,UI模块可以基于以使用数据为基础确定的相应重要性分值来确定该UI元素的组中的UI元素的点击目标大小。在一些其他方面,UI模块可以确定UI元素的外观大小。
应用可以为计算设备的输入模态(即,基于鼠标的输入模态、基于触摸屏的输入模态)中的任一个提供UI模型。例如,在仅用于膝上型计算机模式的UI模块可用于UI模型的情况下,可以基于由UI模块进行的UI元素的使用样式的不断记录来将要提供给UI以供显示的UI元素的布置转换为适合于平板电脑模式的UI元素的布置。
UI模块可以将UI元素的使用样式和布置与相应的用户账户相关联。在这种情况下,可以在相关联的用户账户上执行UI元素的使用样式和布置,而不管正被使用的计算设备如何。
UI模块可以响应于更新UI元素的使用样式来更新UI元素的布置。例如,可以根据应用的一个会话内的更新的使用样式来调节点击目标大小。
图5概念性地图示示例电子系统500,利用该示例电子系统500可以实现主题技术的一些实施方式。电子系统500可以是计算机、电话、个人数字助理(PDA)或任何其他种类的电子设备。这样的电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统500包括总线508、处理单元512、系统存储器504、只读存储器(ROM)510、永久性存储设备502、输入设备接口514、输出设备接口506和网络接口516。
总线508统一表示可通信地连接电子系统500的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线308通信地将处理单元512与ROM 510、系统存储器504和永久性存储设备502连接。
处理单元512从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行主题公开的过程。在不同的实施方式中,处理单元可以是单个处理器或多核处理器。
ROM 510存储电子系统的处理单元512和其他模块所需的静态数据和指令。另一方面,永久性存储设备502是读写存储器设备。该设备是存储指令和数据的非易失性存储器单元,即使当电子系统500关闭时。主题公开的一些实施方式使用大容量存储设备(例如,磁盘或光盘或者闪存)作为永久性存储设备502。
其他实施方式使用可移除存储设备(例如,软盘、闪存驱动器)作为永久性存储设备502。与永久性存储设备502类似,系统存储器504是读写存储器设备。但是,与存储设备502不同,系统存储器504是易失性读写存储器,诸如随机存取存储器。系统存储器504存储处理器在运行时所需的一些指令和数据。在一些实施方式中,主题公开的过程存储在系统存储器504、永久性存储设备502或ROM 510中。例如,各种存储器单元包括用于显示与相应应用相关联的图形元素和标识符、接收预定的用户输入以显示与相应应用相关联的快捷方式的视觉表示、以及显示快捷方式的视觉表示的指令。处理单元512从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行一些实施方式的过程。
总线508还连接到输入和输出设备接口514和506。输入设备接口514使用户能够向电子系统传送信息并选择命令。与输入设备接口514一起使用的输入设备包括例如字母数字键盘和指示设备(也称为“光标控制设备”)。输出设备接口506使得例如能够显示由电子系统500生成的图像。与输出设备接口506一起使用的输出设备包括例如打印机和显示设备,例如,阴极射线管(CRT)或液晶显示器(LCD)。一些实施方式包括设备,例如,既充当输入设备又充当输出设备的触摸屏。
最终,如图5中所示,总线508还通过网络接口616将电子系统500耦合到网络(未示出)。以这种方式,计算机可以是计算机的网络(例如,LAN、WAN或内联网或网络中的网络,例如,互联网)的一部分。电子系统500的任何或所有组件可以与主题公开结合使用。
许多上述特征和应用被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集的软件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器,处理器的核或其他处理单元)执行时,它们使处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于磁性介质、光学介质、电子介质等。计算机可读介质不包括无线或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”意指包括例如驻留在只读存储器或者其它形式的电子存储中的固件或可以存储在磁存储、光学、固态等中的应用,其可以被读入存储器中以由处理器进行处理。而且,在一些实施方式中,主题公开的多个软件方面可以被实现为较大程序的子部分,同时保留主题公开的不同软件方面。在一些实施方式中,多个软件方面也可以被实现为单独的程序。最后,一起实现此处描述的软件方面的单独程序的任何组合都处于主题公开的范围之内。在一些实施方式中,软件程序在被安装以在一个或多个电子系统上操作时,定义一种或多种运行和执行软件程序的操作的特定机器实施方式。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明性或过程语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一个计算机或位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
上述这些功能可以在数字电子电路、计算机软件、固件或硬件中实现。可以使用一种或多种计算机程序产品来实现这些技术。可编程处理器和计算机可以包含在移动设备中或打包为移动设备。该过程和逻辑流程可以由一个或多个可编程处理器以及由一个或多个可编程逻辑电路执行。通用和专用计算设备和存储设备可以通过通信网络互连。
一些实施方式包括电子组件,例如,微处理器、存储和将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、迷你SD卡,微SD卡等)、磁性或固态硬盘驱动器、只读和可记录的
Figure BDA0002902421010000261
光盘、超密度光盘、任何其他光学或磁性介质以及软盘。该计算机可读介质可以存储可由至少一个处理单元执行并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括例如由编译器产生的机器代码,以及包括由计算机、电子部件或使用解释器的微处理器执行的高级代码的文件。
尽管以上讨论主要是指执行软件的微处理器或多核处理器,但是一些实施方式是由一个或多个集成电路(例如,专用集成电路(ASIC)或现场可编程门阵列(FPGA))来执行的。在一些实施方式中,这样的集成电路执行指令存储在电路本身上。
如在本说明书和本申请的任何权利要求中使用的,术语“计算机”、“服务器”、“处理器”和“存储器”均指电子或其他技术设备。这些术语不包括人或人的组。为了说明的目的,术语显示(display)或显示(displaying)是指在电子设备上显示。如本说明书和本申请的任何权利要求中所使用的,术语“计算机可读介质”和“计算机可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其他短暂信号。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT或LCD监视器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现本说明书中描述的主题的实施方式。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,话音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器接收到的请求,将网页发送到用户客户端设备上的web浏览器。
本说明书中描述的主旨的各方面可以在包括以下的计算系统中实现:后端组件(例如,作为数据服务器),或者中间件组件(例如,应用服务器),或者前端组件(例如,具有用户可以通过其与本说明书中描述的主题的实施方式进行交互的图形用户界面或web浏览器的客户端计算机)或者一个或多个此类后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN)、网际网络(例如,互联网)和对等网络(例如,ad hoc对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,HTML页面)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据以及从该用户接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
应当理解,所公开的过程中步骤的任何特定顺序或层次是示例方法的说明。基于设计偏好,应当理解,可以重新排列过程中步骤的特定顺序或层次,或者执行所有示出的步骤。某些步骤可以同时执行。例如,在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施例中的各种系统组件的分离不应被理解为在实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包为多个软件产品。
提供先前的描述以使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不意图限于本文中示出的方面,而是应被赋予与语言权利要求一致的完整范围,其中,除非特别说明,以单数形式提及元素并不意图表示“一个且仅一个”,而是指“一个或多个”。除非特别说明,否则术语“一些”指一个或多个。男性代词(例如,他的)包括女性和中性性别(例如,她的及它的),反之亦然。标题和副标题,如果有的话,仅是为了方便起见,并不限制主题公开。
如本文所使用的,在术语“和”或“或”隔开项目中的任何一个的情况下,一系列项目之前的短语“中的至少一个”修饰整个列表,而不是列表中的每个成员(即,每个项目)。短语“中的至少一个”不要求对列出的每个项目中的至少一个的选择;相反,该短语允许包括项目中的任何一个中的至少一个,和/或项目的任何组合中的至少一个,和/或项目中的每一个中的至少一个的含义。举例来说,短语“A、B和C中的至少一个”或“A、B或C中的至少一个”中的每一个指代仅A、仅B或仅C;A、B和C的任意组合;和/或A、B和C中的每一个中的至少一个。
诸如一个方面、该方面、另一个方面、一些方面、一个或多个方面、一个实施方式、该实施方式、另一个实施方式、一些实施方式、一个或多个实施方式、一个实施例、该实施例、另一个实施例、一些实施例、一个或多个实施例、配置、该配置、另一个配置、一些配置、一个或多个配置、主题技术、该公开、本公开、其其他变型等的短语是为了方便,并不意味着涉及这种短语的公开对该主题技术是必不可少的,或者这样的公开应用于该主题技术的所有配置。涉及这种短语的公开可以应用于所有配置,或一个或多个配置。涉及这种短语的公开可以提供一个或多个示例。诸如方面或某些方面的短语可以指代一个或多个方面,反之亦然,并且这类似地应用于其他前述短语。
就本文讨论的系统收集与用户相关联的使用数据或者可以利用使用数据而言,向用户提供控制程序或特征是否收集使用数据(例如,用户的偏好),并基于收集的使用数据控制与应用相关联的UI的机会。还可以向用户提供打开或关闭系统提供的某些特征或功能的选项。在一些方面,用户可以选择禁用本文讨论的系统所提供的特征和功能(例如,基于收集的使用数据来控制与应用相关联的UI)。另外,用户可以规定在存储或使用某些数据之前,应以一种或多种方式处理某些数据,使得移除个人可识别信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人可识别信息,或者在获得位置信息的情况下的用户的地理位置可以概括用户的地理位置(诸如,概括到城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制所公开的系统是否以及如何收集、存储和使用用户信息。
本领域普通技术人员已知的或稍后将知道的本公开中描述的各个方面的要素的所有结构和功能等效物通过引用明确地并入本文中,并且旨在通过主题技术涵盖。此外,本文所公开的任何内容都不旨在专用于公众,无论这样的公开是否在上面的描述中明确引用。此外,就描述或者权利要求中使用术语“包含”、“具有”等而言,这样的术语旨在以与术语“包括”类似的方式如“包括”当在权利要求中被用作过渡词时被解释的是包含性的。

Claims (20)

1.一种计算机实现的方法,包括:
利用一个或多个处理器基于计算设备的输入模态来确定用户界面UI的布局特征;
利用所述一个或多个处理器基于所述布局特征和UI元素的相应的重要性分值来确定所述UI元素的布置;以及
利用所述一个或多个处理器提供基于所确定的布置来布置的所述UI元素以用于显示。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
利用所述一个或多个处理器基于所述布局特征和所述UI元素的所述相应的重要性分值来从所述UI元素中选择UI元素的集合;和
利用所述一个或多个处理器确定所述UI元素的相应的点击目标大小,其中,进一步基于所述UI元素的所确定的相应的点击目标大小来选择所述UI元素的集合。
3.根据权利要求2所述的计算机实现的方法,其中,基于与相应的UI元素的用户交互的数据来确定所述UI元素的所述相应的点击目标大小。
4.根据权利要求1所述的计算机实现的方法,进一步包括确定由与UI模型相关联的应用指定的所述相应的重要性分值。
5.根据权利要求1所述的计算机实现的方法,其中,所述相应的重要性分值是基于与相应的UI元素相关联的使用数据。
6.根据权利要求1所述的计算机实现的方法,进一步包括:
识别与所布置的UI元素相关联的使用数据;
基于所述使用数据来重新布置所选择的UI元素;以及
向所述UI提供所重新布置的UI元素以用于显示。
7.根据权利要求6所述的计算机实现的方法,进一步包括:
基于所述使用数据来调节所述UI元素的所述相应的点击目标大小。
8.根据权利要求1所述的计算机实现的方法,其中,确定所选择的UI元素的所述布置包括将所述使用数据应用于机器学习模型。
9.一种计算系统,包括:
一个或多个处理器;和
包括存储在其中的指令的非暂时性机器可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
基于计算设备的输入模态来确定用户界面UI的布局特征;
基于所述布局特征和UI元素的相应的重要性分值来确定所述UI元素的相应的点击目标大小;
基于所述布局特征、所述UI元素的相应的重要性分值以及所述UI元素的所述相应的点击目标大小来确定所选择的UI元素的布置;以及
提供所布置的UI元素以用于显示。
10.根据权利要求9所述的计算系统,其中,基于与相应的UI元素的用户交互的数据来确定所述UI元素的所述相应的点击目标大小。
11.根据权利要求9所述的计算系统,其中,由与UI模型相关联的应用指定所述相应的重要性分值。
12.根据权利要求9所述的计算系统,其中,所述相应的重要性分值是基于与相应的UI元素的用户交互。
13.根据权利要求9所述的计算系统,其中,所述操作进一步包括:
识别与所布置的UI元素相关联的使用数据;
基于所述使用数据来重新布置所选择的UI元素;以及
向所述UI提供所重新布置的UI元素以用于显示。
14.根据权利要求13所述的计算系统,其中,所述操作进一步包括:
基于所述使用数据来调节所述UI元素的所述相应的点击目标大小。
15.根据权利要求13所述的计算系统,其中,所述使用数据至少包括点击失败数目。
16.一种包括存储在其中的指令的非暂时性计算机可读介质,所述指令在由处理器执行时使计算机执行操作,所述操作包括:
基于计算设备的输入模态来确定用户界面UI的布局特征;
基于由应用指定来确定相应的重要性分值;
基于所述布局特征和UI元素的相应的重要性分值来从UI模型中选择UI元素的集合;
基于所述布局特征和所述UI元素的所述相应的重要性分值来确定所选择的UI元素的布置;以及
向所述UI提供基于所确定的布置来布置的所述UI元素以用于显示。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述操作进一步包括:
确定所述UI元素的相应的点击目标大小,其中,基于所述UI元素的所确定的相应的点击目标大小来选择多个UI元素。
18.根据权利要求16所述的非暂时性计算机可读介质,其中,所述相应的重要性分值是基于与相应的UI元素的用户交互。
19.根据权利要求16所述的非暂时性计算机可读介质,其中,所述操作进一步包括:
识别与所布置的UI元素相关联的使用数据;
基于所述使用数据来重新布置所选择的UI元素;以及
向所述UI提供所重新布置的UI元素以用于显示。
20.根据权利要求16所述的非暂时性计算机可读介质,其中,确定所选择的UI元素的所述布置包括将所述使用数据应用于机器学习模型。
CN201980047894.0A 2018-07-19 2019-04-04 调节用于触摸屏和鼠标/键盘环境的用户界面 Pending CN112424737A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/040,394 US11042272B2 (en) 2018-07-19 2018-07-19 Adjusting user interface for touchscreen and mouse/keyboard environments
US16/040,394 2018-07-19
PCT/US2019/025888 WO2020018158A1 (en) 2018-07-19 2019-04-04 Adjusting user interface for touchscreen and mouse/keyboard environments

Publications (1)

Publication Number Publication Date
CN112424737A true CN112424737A (zh) 2021-02-26

Family

ID=66223864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980047894.0A Pending CN112424737A (zh) 2018-07-19 2019-04-04 调节用于触摸屏和鼠标/键盘环境的用户界面

Country Status (4)

Country Link
US (2) US11042272B2 (zh)
EP (1) EP3807750A1 (zh)
CN (1) CN112424737A (zh)
WO (1) WO2020018158A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042272B2 (en) 2018-07-19 2021-06-22 Google Llc Adjusting user interface for touchscreen and mouse/keyboard environments
CN114064376A (zh) * 2020-07-29 2022-02-18 北京字节跳动网络技术有限公司 一种页面监测方法、装置、电子设备及介质
GB2600669A (en) * 2020-08-21 2022-05-11 Isky Res Pte Ltd Determination of friction score of a service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070300185A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Activity-centric adaptive user interface
US20090303676A1 (en) * 2008-04-01 2009-12-10 Yves Behar System and method for streamlining user interaction with electronic content
CN104685449A (zh) * 2012-08-20 2015-06-03 谷歌公司 基于用户的目光的用户界面元素焦点
US20150378575A1 (en) * 2014-06-26 2015-12-31 International Business Machines Corporation User interface element adjustment using web analytics

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047197B1 (en) * 2000-09-29 2006-05-16 Intel Corporation Changing characteristics of a voice user interface
US7363302B2 (en) * 2003-06-30 2008-04-22 Googole, Inc. Promoting and/or demoting an advertisement from an advertising spot of one type to an advertising spot of another type
JP4605478B2 (ja) * 2007-12-19 2011-01-05 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US20100302212A1 (en) * 2009-06-02 2010-12-02 Microsoft Corporation Touch personalization for a display device
US20110057886A1 (en) * 2009-09-10 2011-03-10 Oliver Ng Dynamic sizing of identifier on a touch-sensitive display
US8863027B2 (en) * 2011-07-31 2014-10-14 International Business Machines Corporation Moving object on rendered display using collar
US9152529B2 (en) * 2012-09-24 2015-10-06 Adobe Systems Incorporated Systems and methods for dynamically altering a user interface based on user interface actions
EP2920678A1 (en) * 2012-11-15 2015-09-23 Schönleben, Oliver Method and device for typing on mobile computing devices
US10778745B2 (en) * 2013-08-22 2020-09-15 Google Llc Systems and methods for providing a personalized visual display multiple products
US20150153897A1 (en) * 2013-12-03 2015-06-04 Microsoft Corporation User interface adaptation from an input source identifier change
US9223955B2 (en) * 2014-01-30 2015-12-29 Microsoft Corporation User-authentication gestures
CN114329374A (zh) * 2014-06-27 2022-04-12 微软技术许可有限责任公司 基于设备上的用户输入模式的数据保护系统
US9996682B2 (en) * 2015-04-24 2018-06-12 Microsoft Technology Licensing, Llc Detecting and preventing illicit use of device
US10346488B1 (en) * 2015-06-10 2019-07-09 SOCI, Inc. Filtering and scoring of web content
US10402089B2 (en) * 2015-07-27 2019-09-03 Jordan A. Berger Universal keyboard
US9864516B2 (en) * 2015-07-27 2018-01-09 Jordan A. Berger Universal keyboard
US20170102781A1 (en) * 2015-10-10 2017-04-13 Peigen Jiang Computer keyboard and mouse combo device
US11093660B2 (en) * 2015-12-14 2021-08-17 Adobe Inc. Recommending pattern designs for objects using a sequence-based machine-learning model
US10705683B2 (en) * 2016-10-31 2020-07-07 Microsoft Technology Licensing, Llc Changing visual aspects of a graphical user interface to bring focus to a message
US10768780B2 (en) * 2017-12-11 2020-09-08 International Business Machines Corporation Method and system for context-driven displaying of shortcuts on touchscreen
US11042272B2 (en) 2018-07-19 2021-06-22 Google Llc Adjusting user interface for touchscreen and mouse/keyboard environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070300185A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Activity-centric adaptive user interface
US20090303676A1 (en) * 2008-04-01 2009-12-10 Yves Behar System and method for streamlining user interaction with electronic content
CN104685449A (zh) * 2012-08-20 2015-06-03 谷歌公司 基于用户的目光的用户界面元素焦点
US20150378575A1 (en) * 2014-06-26 2015-12-31 International Business Machines Corporation User interface element adjustment using web analytics

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐艳金;: "触摸屏用户界面设计探究", 制造业自动化, no. 08, 25 April 2012 (2012-04-25) *

Also Published As

Publication number Publication date
US20210263626A1 (en) 2021-08-26
US11042272B2 (en) 2021-06-22
US11199952B2 (en) 2021-12-14
US20200026400A1 (en) 2020-01-23
EP3807750A1 (en) 2021-04-21
WO2020018158A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
US11249633B2 (en) Device, method, and graphical user interface for managing electronic communications
US10725632B2 (en) In-place contextual menu for handling actions for a listing of items
EP3469477B1 (en) Intelligent virtual keyboards
CN102609130B (zh) 计算设备中的触摸事件预期
US11199952B2 (en) Adjusting user interface for touchscreen and mouse/keyboard environments
US9906472B2 (en) Dynamic navigation bar for expanded communication service
US9348484B2 (en) Docking and undocking dynamic navigation bar for expanded communication service
US20150378600A1 (en) Context menu utilizing a context indicator and floating menu bar
US20140282178A1 (en) Personalized community model for surfacing commands within productivity application user interfaces
US20150082238A1 (en) System and method to display and interact with a curve items list
US20150347532A1 (en) User interface for searching
US20180075073A1 (en) Moving nodes in a tree structure
US20230078889A1 (en) Cross device interactions
US20150200829A1 (en) Task-based state recovery in a web browser
WO2017222841A1 (en) Deconstructing and rendering of web page into native application experience
US10067670B2 (en) Multi-switch option scanning
US20150199083A1 (en) Consolidated system tray
US20240118803A1 (en) System and method of generating digital ink notes
US20240143670A1 (en) Unsupervised user segment discovery system
EP4356233A1 (en) Multimodal scrolling system
CN115113777A (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