CN107111418B - 具有最小破坏性的图标位移 - Google Patents

具有最小破坏性的图标位移 Download PDF

Info

Publication number
CN107111418B
CN107111418B CN201580071164.6A CN201580071164A CN107111418B CN 107111418 B CN107111418 B CN 107111418B CN 201580071164 A CN201580071164 A CN 201580071164A CN 107111418 B CN107111418 B CN 107111418B
Authority
CN
China
Prior art keywords
displacement
icons
arrangement
strategy
strategies
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
Application number
CN201580071164.6A
Other languages
English (en)
Other versions
CN107111418A (zh
Inventor
A.A.图森
J.C.怀托克
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107111418A publication Critical patent/CN107111418A/zh
Application granted granted Critical
Publication of CN107111418B publication Critical patent/CN107111418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/04817Interaction 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 using icons
    • 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/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/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/0486Drag-and-drop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在本文中描述了使能实现通过有选择地应用多个不同的位移策略来重新布置图标以便处置例如是移动或者添加图标这样的位移事件的具有最小破坏性的图标位移技术(提到的位移策略为:最少空闲空间、邻近空间、链位移和扩展位移)。在一个或多个实现方式中,检测用于在图标的布置内定位图标的位移事件的发起。响应于所述检测,对由所述计算平台实现的多个可用位移策略进行评估,以及,选择用于对所述布置的重新布置以定位所述图标的位移策略。对所述位移策略的选择是基于对由所述不同的位移策略导致的破坏水平的用于标识具有最小破坏性的选项的评估的。然后,使用所选择的所述位移策略控制对图标的所述布置的重新布置。

Description

具有最小破坏性的图标位移
背景技术
包括移动设备的计算设备的用户界面已演进,以便简化设置、应用、文件和与设备相关联的其它内容项的导航和与之的交互。例如,为了提供高效并且易于使用的环境,现代设备大量摒弃基于文本的用户界面和命令行用户界面,以支持使用图标来表示和使能实现可选择地访问底层内容项的图形用户界面。例如,移动设备的开始或者启动屏幕可以被配置为,包括图标的布置作为来自由操作系统管理的文件系统的文件结构的内容项的表示。但是,某些传统设备为设备应用提供图标的固定布置,这限制了用户对用户界面进行定制的能力。额外地,可以向用户提供几乎没有或者根本没有任何对变更传统布置中的图标的大小或者位置的控制。因此,用户可能不能够调整图标的布置以便创建经定制并且使用起来直观的用户体验。
发明内容
在本文中描述了使能实现重新布置表示内容项的集合的图标的具有最小破坏性的图标位移技术。所述重新布置通过使能进行并且有选择地应用多个不同的位移策略以便处置位移事件(例如,移动或者添加图标)而发生。在一个或多个实现方式中,检测用于在被包含在计算平台的用户界面中的图标的布置内定位图标的位移事件的发起。响应于所述检测,对由计算平台实现的多个可用位移策略进行评估,以及,基于对多个可用位移策略的评估,选择用于对布置的重新布置以定位图标的位移策略。然后,使用所选择的位移策略控制对图标的布置的重新布置。在一种方法中,对位移策略的选择是基于对由不同的位移策略导致的破坏水平的估计的。这可以通过检查就具体的重新布置而言每个策略的破坏性以及选择具有最小破坏性的选项而发生。另外或者替换地,可以按照从最小到最大的所感知的破坏性的已建立的次序检查位移策略,在这种情况下,选择可以成功地执行所述重新布置的第一个所检查的策略。
提供本概要以便以简化形式介绍下面在详细说明中进一步描述的概念的选择。本概要不旨在标识所要求保护的主题的关键特征或者必要特征,其也不旨在被用作在确定所要求保护的主题的范围时的辅助。
附图说明
参考附图描述了详细说明。在附图中,参考标号的最左(一个或者多个)数字标识了该参考标号第一次出现的图。在说明和附图中的不同的实例中使用相同的参考标号可以指示相似或者相同的项。
图1图示了根据一个或多个实现方式的具有最小破坏性的图标位移的示例操作环境。
图2是描绘根据一个或多个实现方式的用于控制图标的重新布置的示例过程的流程图。
图3描绘了根据一个或多个实现方式的针对重新布置的示例场景。
图4图示了根据一个或多个实现方式的针对空闲空间位移策略的示例场景。
图5图示了根据一个或多个实现方式的针对邻近空间位移策略的示例场景。
图6图示了根据一个或多个实现方式的针对链位移策略的示例场景。
图7图示了根据一个或多个实现方式的针对扩展位移策略的示例场景。
图8是描绘根据一个或多个实现方式的用于使用已排序的位移策略重新布置图标的布置的示例过程的流程图。
图9是描绘根据一个或多个实现方式的用于基于破坏性分数重新布置图标的布置的示例过程的流程图。
图10图示了可以被配置为用于实现本文中描述的技术的方面的任何类型的系统或者设备的示例系统和部件。
具体实施方式
概述
一些传统设备为系统应用提供图标的固定布置,这限制用户对用户界面进行定制的能力。额外地,向用户提供了几乎没有或者根本没有任何对变更传统布置中的图标的大小或者位置的控制。因此,用户可能不能够调整图标的布置以便创建经定制并且使用起来直观的用户体验。
在本文中描述了使能实现重新布置表示内容项的集合的图标的具有最小破坏性的图标位移技术。重新布置通过使能进行并且有选择地应用多个不同的位移策略以便处置位移事件(例如,移动或者添加图标)而发生。在一个或多个实现方式中,检测用于在被包含在计算平台的用户界面中的图标的布置内定位图标的位移事件的发起。响应于检测,对由计算平台实现的多个可用位移策略进行评估,以及,基于对多个可用位移策略的评估,选择用于对布置的重新布置以定位图标的位移策略。然后,使用所选择的位移策略控制对图标的布置的重新布置。在一种方法中,对位移策略的选择是基于对由不同的位移策略导致的破坏水平的评估的。这可以通过检查就具体的重新布置而言每个策略的破坏性以及选择具有最小破坏性的选项而发生。另外或者替换地,可以按照从最小到最大的所感知的破坏性的已建立的次序检查位移策略,在这种情况下,选择可以成功地执行重新布置的第一个所检查的策略。
如本文中描述的有选择地应用多个不同位移策略的集合提供一种机制,用户通过该机制能够诸如通过重新定位或者添加项来定制图标彼此的布置并具有对布置的最小扰动。因此,重新布置较不可能产生不可接受的结果,并且可以比传统技术更高效地并且在更少的步骤中被完成。结合用于选择显示了其图标的应用和其它内容项和/或设置图标的位置的功能,具有最小破坏性的图标位移促进定制的用户体验的创建,在定制的用户体验中,突出地并且在可容易地访问的位置处呈现用户认为最重要的项。因此,有限的屏幕实际面积(real estate)被有效地用于向用户显露感兴趣的项和促进对底层内容的访问。因此,提高了对设备和/或计算平台的用户满意度。
在下面的讨论中,首先描述了可以使用本文中描述的技术的示例环境。然后描述了可以在示例环境内以及其它环境中实现的示例设备、用户界面和过程。因此,示例设备、用户界面和过程的实现方式不限于示例环境,并且示例环境不限于示例设备、用户界面和过程。
示例环境
图1是对可操作为使用本文中描述的技术的示例实现方式中的环境100的图示。所图示的环境100包括经由网络106通信地耦合的计算设备102和具有各种资源105的服务提供商104。计算设备可以以各种方式被配置为访问各种资源105(例如,内容和服务)和与之交互,由服务提供商104通过网络106使各种资源105变得可用。资源105可以包括通常由一个或多个服务提供商通过网络使之变得可用的内容和/或服务的任何合适的组合。例如,内容可以包括文本、视频、广告、音频、多媒体流、动画、图像、网页等的各种组合。服务的一些示例包括但不限于在线计算服务(例如,“云”计算)、认证服务、基于web的应用、文件存储和协作服务、搜索服务、诸如电子邮件和/或即时消息传送这样的消息传送服务和社交网络服务。计算设备102和服务提供商104可以由多种计算设备实现。
例如,计算设备102可以被配置为能够通过网络106进行通信的计算机,诸如台式计算机、移动站、娱乐家电、平板型或者直板型设备、表面计算设备、通信地耦合到显示设备的机顶盒、移动通信设备(例如,如所图示的无线电话)、游戏控制台等。计算设备102可以被配置为使用各种处理系统的任何合适的计算系统和/或设备,关于图10的示例系统讨论了这样的处理系统的一些额外的示例。
计算设备102被进一步图示为包括可以通过其实现本文中描述的各种功能的处理系统108和计算机可读介质110。合适的处理系统和计算机可读介质的细节和示例也被包括在下面对图10的示例系统的讨论中。
计算机可读介质110被描绘为存储表示可以经由处理系统108执行的各种功能的示例程序模块,这样的程序模块包括如本文中描述的那样操作的操作系统112、应用114、通知系统116和显示管理器118。显示管理器118还可以包括或者以其它方式利用位移引擎119以便实现如上面和下面讨论的用于具有最小破坏性的图标位移的技术的方面。尽管在所描绘的示例中被图示为独立的应用,但通知系统116、显示管理器118和位移引擎119可以以不同的组合和/或与其它应用114被组合在一起,或者可以替换地表示与操作系统112集成在一起的部件。
概括地,操作系统112被配置为向可以在计算设备102上执行的应用114抽象计算设备102的底层功能。例如,操作系统112可以对计算设备102的处理、存储器、网络和/或显示功能进行抽象,使得可以写入应用114而不知道该底层功能“如何”被实现。例如,应用114可以向操作系统112提供将被显示设备渲染和显示的数据,而不理解该渲染将如何被执行。操作系统112可以提供应用114可以调用以便利用系统特征的各种服务、接口和功能。设想了用于向计算设备102提供多种功能的多种应用114,举例来说,包括但不限于浏览器、办公生产应用、电子邮件客户端、多媒体管理程序、设备管理软件和/或网络应用。
在一个或多个实现方式中,操作系统112被配置为促进应用114与通知系统116之间的交互,以便获得、配置、输出和管理可以经由各种用户界面被暴露的通知。额外地,操作系统112可以表示其它功能,诸如管理可以被计算设备102的用户导航的文件系统和(一个或者多个)用户界面。该示例在图1中由被配置为被呈现在计算设备102的显示设备122上的开始屏幕的用户界面120被图示。如所图示的,操作系统112可以为设备提供包括各种应用114的图标124(例如,图形表示)的开始屏幕或者主页UI,可以诸如通过使用传统图标、图像、图块、文本描述等以各种方式对图标124进行配置。在被实现为图块或者其它智能表示时,图标124可以还合并包括通知的与应用114相关联的实况内容。开始屏幕可以包括图标124或者从由操作系统112管理的文件系统的分层文件结构中选择的项的其它表示。图标可以是可选择以便启动应用114中的对应的应用114的,以便在计算设备102上执行。这样,用户可以轻松地导航通过文件结构和发起感兴趣的应用的执行。
由用户界面120提供的多个图标的布置可以被配置为针对计算设备102的操作系统112的分页界面。分页界面可以提供多个单独的并且不同的图标页以便表示对应的内容项。在另一个示例中,用户界面中的多个图标的布置可以被配置为操作为计算设备102的操作系统112的开始屏幕的可滚动的、基于图标的界面。在该示例中,开始屏幕可以包括如图1中图示的采用图标的形式的多个不同的图标124。图标可以被配置为呈现与底层应用和内容项相关联的实况内容,诸如如本文中讨论的那样使用图标呈现并且更新来自通知系统116的各种通知。
通知系统116表示用于管理诸如针对报警、消息、更新和/或可以作为应用的图标的一部分并且经由各种用户界面120被显示的其它实况内容的通知的功能。通知系统116可以操作为代表向通知系统注册的应用114获得各种通知。相应地,通知可以被通知系统116处置,而不执行对应的应用114。例如,通知系统116可以诸如从软件(例如,被计算设备102执行的其它应用)、经由网络106从服务提供商104等从多种不同的源接收通知116。
例如,通知系统116可以与服务提供商104交互以便使用推送模型、拉取模型或者其它的适于获得通知的合适技术获得与各种资源105相关联的通知。通知系统116然后可以对通知进行处理,并且管理通知如何作为表示的一部分和/或在各种用户界面内被显示而不执行应用114。该方法可以被用于通过不运行应用中的每个应用以便对通知进行处置来提升电池寿命和计算设备的性能。
显示管理器118表示用于管理计算设备102的(一个或者多个)用户界面和关联的图标的显示的功能。显示管理器118还可以表示用于管理图标的布置或者经由用户界面呈现的其它表示的定制的功能。例如,显示管理器118可以被配置为具有用于实现本文档中描述的用于具有最小破坏性的图标位移的技术的位移引擎119。这可以包括但不限于执行用于检测图标重新布置的发起、从具体的计算平台(例如,具体的设备、硬件和软件配置)所支持的多个不同的位移策略中确定将为重新布置应用的合适的位移策略和使用位移策略中的所选择的位移策略控制图标的重新布置的操作。在一个或多个实现方式中,至少部分上基于与每个位移策略相关联的破坏水平作出对不同的可用位移策略的估计。额外地,显示管理器118可以对重新布置强加约束,诸如通过约束用户界面的大小和边界、约束图标的布置可以在其上收缩或者扩大的方向、将图标的大小约束于预定义大小的集合、约束图标的布局(例如,采用网格、轮播(carousel)、偏移或者其它布局)、约束是否图标可以重叠、将图标的布置约束于组中等。
已考虑了示例操作环境,现在考虑下面对图标调整大小实现细节的讨论,该讨论包括对有代表性的示例过程、场景和用户界面的描述。
具有最小破坏性的图标位移实现方式细节
如上面介绍的,与计算设备102相关联的显示管理器118可以被配置为获得、生成、输出和以其它方式管理具有与不同的应用和设备功能相关的图标的布置的各种用户界面120。这可以包括使用户能够通过有选择地应用所支持的位移策略的集合来定制图标的布置。在本小节中关于一些示例过程和场景描述了关于可以被用于实行具有最小破坏性的图标位移的位移策略的方面的细节。所描述的过程和场景可以诸如通过包括或者以其它方式利用通知系统116和/或显示管理器118的图1的计算设备102这样通过经合适配置的设备被实现。
本文档中描述的过程可以使用之前描述的环境、系统、设备和部件并且结合任何合适的硬件、软件、固件或者其组合来实现。过程可以被表示为指定被一个或多个实体执行的操作的方框的集合,并且不必限于所示的用于由相应的方框执行操作的次序。
概括地,关于上面的示例所描述的功能、特征和概念可以在本小节中描述的示例用户界面和过程的上下文中使用。进一步地,关于本文档中的不同附图和示例所描述的功能、特征和概念可以在彼此之间互换,并且不限于在具体的附图或者过程的上下文中的实现方式。此外,与本文中的不同的有代表性的过程和对应的附图相关联的方框可以一起被应用和/或以不同的方式被组合。因此,关于本文中的不同的示例环境、设备、部件、用户界面和过程所描述的单个功能、特征和概念可以以任何合适的组合被使用,并且不限于由本说明中枚举的示例表示的具体的组合。
作为示例,考虑图示了根据一个或多个实现方式的用于控制图标的重新布置的示例过程200的图2。检测用于在被包含在计算平台的用户界面中的图标的布置内定位图标的位移事件的发起(方框202)。位移事件可以涉及将图标移动到新位置(例如,重新定位)或者将新图标插入现有的布置中。因此,检测位移事件的发起可以涉及识别用于变更布置内的图标的具体位置的输入和/或识别用于在布置内的位置处插入额外的图标的输入。图标可以被配置为多个图标的布置内的应用或者其它内容项(例如,文件、组、对象、实体)的图形表示,所述多个图标中的每个图标被配置为表示集合中的对应的内容项。在一个或多个实现方式中,图标是各自可选择以便发起与对应的内容项的交互的,诸如以便启动对应的应用、打开文件、回放媒体项等。
概括地说,用于触发位移事件的输入可以以任何合适的方式来完成,通过示例而非限制,诸如通过触摸手势或者输入模式、自然用户界面(NUI)手势、输入设备选择等。例如,用户可以使用已定义的手势或者行动选择该用户想要移动的图标,预定义的手势或者行动举例来说诸如是在图标上轻击和按住、捏合手势、键击或者使用鼠标作出的从右击菜单中的菜单选择。可以通过被配置为提供用于导航和选择要添加到现有布置中的图标的功能的应用/内容选择器作出类似的选择。另外或者替换地,可以使用本文中讨论的技术将新被安装的应用或者内容项的图标自动地添加到布置中的已建立的位置处。在这种情况下,位移事件涉及内容项下载、安装或者向计算平台的其它添加。显示管理器118可以被配置为识别这些和其它种类的用于触发重新布置的输入。
响应于检测,对由计算平台实现的多个可用位移策略进行评估(方框204),并且基于如上面指出的对多个可用位移策略的评估,选择用于重新布置所述布置以便定位图标的位移策略(方框206)。例如,显示管理器118通过位移引擎119可以被配置为,根据指示在被应用以便作出重新布置时策略的破坏性有多大的准则对不同位移策略进行评估。举例来说,这样的“破坏性准则”可以包括但不限于作出所指定的重新布置的可行性、被移动的项的数量、被移动的距离、由位移引擎设置的大小约束、为用户界面建立的图标分组、策略特定的针对边界的约束、布局和/或被允许的大小、设备能力、显示器大小和针对位移方向、大小或者非可移动项的已指定的偏好和/或布置的美学方面。通过示例而非限制,多个可用位移策略可以包括空闲空间、邻近空间、链位移或者扩展位移策略中的任一项或者其任何组合,下面关于图4-7讨论了这些位移策略的细节。
可以使用破坏性准则的组合或者其中的任一项或者多项针对被评估的每个策略作为评估的一部分按需地导出破坏性水平。另外或者替换地,可以作为位移引擎的开发和/或配置的一部分为每个策略预建立所感知的破坏性水平,在这种情况下,显示管理器118可以被配置为使用预建立的破坏性水平来针对不同的场景作出估计并且选择合适的策略。
在该上下文中,对策略的评估可以涉及估计就由所检测的位移事件指示的重新布置而言的多个可用位移策略中的每个策略的破坏性。然后,选择基于破坏性估计所选择的策略作为多个可用位移策略中的具有最小破坏性的策略。在这里,可以就当前的位移事件单个地对每个可用策略进行测试,并且根据合适的破坏性度量对每个可用策略彼此进行比较,以便找出具有最小破坏性的选项。这样,为具体的交互场景定制了对策略的评估,以便在具体问题具体分析的基础上作出对具有最小破坏性的选项的准确选择。
在另一种方法中,可以使用预建立的破坏性水平来从最小到最大的所感知的破坏为可用位移策略建立次序。在这种情况下,可以按照已建立的次序逐个地对策略进行评估。然后,通过找出被评估的多个可用位移策略中的满足对重新布置强加的任何额外约束的第一策略来确定将所选择的策略作为所选择的策略。如果被评估的策略违反某些约束(诸如将项移出界限),则排除该策略,并且对按照次序的下一个策略进行评估。在发现产生重新布置并且不违反约束的策略时,选择并且应用该策略。由于按照次序对策略进行评估,所以所选择的策略表示可以被用于达到重新布置的具有最小破坏性的策略。这样,选择第一个起作用的策略,并且跳过对其它策略的处理,这避免不必要的处理,减少对策略进行评估花费的时间,并且节约资源。
一旦选择了策略,则使用所选择的位移策略控制对图标的布置的重新布置(方框208)。概括地说,用户界面内的图标被移动到不同的位置,以便容纳针对其发起了位移的图标的重新定位或者插入。可以单个地或者以已建立的组移动图标。为了对重新布置进行控制,显示管理器可以被配置为,生成并且发送指示重新布置的命令,以指引图形处理系统的操作实行重新布置。例如,命令可以导致图形处理硬件执行用于渲染使用所选择的位移策略创建的对图标的布置的视觉表示的重新布置的图形处理操作。命令可以进一步诸如通过控制显示适配器、视频控制器或者其它合适的硬件设备导致在显示设备上输出对显示的重新布置。通过重新布置,用户能够通过由重新布置反映的定制的布置快速地定位并且访问底层内容。
为进一步图示所描述的技术的方面,图3概括地在300处描绘了根据一个或多个实现方式的针对重新布置的示例场景。所描绘的示例表示根据本文中描述的技术的可以在产生图标的重新布置时被涉及的操作的序列。使用不同的字母A到D对操作进行标记。在“A”处,发起位移事件。具体地,对计算设备102的图标的位移302进行表示。在该示例中,位移302被配置为以网格模式被配置的图块,但是也设想了其它的布置。示例布置302与计算平台的开始屏幕或者应用选择器相对应。可以将可比较的技术用于使用图标或者其它图形在视觉上表示的内容项的其它集合,诸如文件系统集合、图片库、媒体文件浏览器屏幕等。
用于发起位移事件的与布置302的交互304可能发生。概括地,交互304涉及对布置302内的一个或多个项的选择和定位。设想了各种交互304,诸如触摸输入、已定义的手势、菜单项选择、对输入设备的操作、自动化的重新布置脚本或者用于选择和定位布置302内的项的其它技术。交互304可以包括用于移动现有的图标、添加新图标、定位两个或更多个图标的组等的用户行动或者自动化的行动。
在图3中,交互304被表示为通过触摸选择应用Q的图标,并且然后将该图标拖拽到布置302内的目标位置。该交互可以被显示管理器118检测为位移事件。响应于检测到位移事件,显示管理器可以调用位移引擎119或者以其它方式与位移引擎119交互,以便使用本文中描述的技术处置位移事件。对位移事件的处置涉及有选择地应用如图3中描述的经由位移引擎119使之变得可用的多个位移策略306。
具体地,在“B”处,对策略的评估发生。对位移策略306的评估可以以本文档中描述的各种方式发生,包括但不限于关于图2的示例过程200讨论的技术。然后在“C”处,基于评估,策略选择发生。如之前指出的,策略选择旨在从多个位移策略306中找出对布置302具有最小破坏性的策略。在“D”处,用于产生如图3上描绘的图标的经重新布置的视图308的对图标的布置302的重新布置发生。在该示例经重新布置的视图302中,通过向下平移应用M、F、E和Z的图标在指定的位置处腾出用于插入应用Q的图标的空间。为重新布置采取的行动反映对各种可能策略的评估和基于已定义的破坏性度量对具有最小破坏性的“最佳选项”的选择。紧接着下面讨论关于位移策略的进一步的细节和位移策略的一些示例。
位移策略示例
可以结合本文中描述的技术定义和使用多种不同的位移策略。概括地,每个单个策略定义用于在该单个策略被应用以便对重新布置进行控制时对重新布置进行处置的规则。规则可以反映针对对图标进行重新布置的各种不同的位移准则、偏好、目的和约束。规则可以取决于诸如是设备的特性和能力、屏幕大小、显示朝向、内容类型、用户界面和/或应用类型等这样的因素。因此,位移引擎119被配置为,提供用于定义与这些和其它的因素的不同组合相对应的可以在不同场景中被应用的不同策略的灵活的基于规则的方法。此外,不同的策略可以涉及诸如本文中枚举的那些因素这样的因素并且基于这样的因素被激活。因此,不同的设备、平台、UI等可以使用从经由位移引擎119使之变得可用的较大策略池中选择的策略的不同组合。一些示例位移策略包括但不限于空闲空间、邻近空间、链位移和扩展位移策略,接着关于下面的附图讨论了这些策略。
图4概括地在400处图示了根据一个或多个实现方式的针对空闲空间位移策略的示例场景。概括地,在位移事件尝试向空闲空间的区域中定位项时使用空闲空间位移策略。针对空闲空间位移策略的规则指定,如果被移动或者被添加的图标的目标位置是空闲的,则所尝试的位移事件将成功。否则位移事件被禁止,并且将失败。在该上下文中,图4的示例描绘了多个图标的布置402。在该示例中,布置402表示平板或者直板型设备的开始屏幕。主体图标404被描绘为通过交互406被选择并且被移动到目标位置408。在这里,目标位置408是布置402内的空闲空间的间隙。因此,为空闲空间位移策略指定的规则指示该位移可以被成功地执行。相应地,空闲空间位移策略可以被用于创建如图4中的重新布置410,在重新布置410中,主体图标404被重新定位到空闲空间408。作为重新布置的一部分产生新的部分的空闲空间412。如果尝试向布置402中的空闲空间408或者重新布置中所创建的空闲空间412添加新图标,则可比较的方法可能发生。
另一方面,如果作出在被占用的空间中定位主体图标404的尝试,则空闲空间位移策略失败。在使用单个固定位移策略的传统技术中,一个可用策略的失败将阻止向期望的位置的重新定位。用户然后可能不得不选择不同的位置,或者单个地移动多个图标以便清除开放空间并且然后将主体图标移动到清除出的区域,这是耗时的并且花费一些步骤。然而,根据本文中讨论的技术,多个不同的策略是可用的,并且可以响应于单个位移事件针对给定的场景被评估。因此,如本文中描述的利用多个不同的策略的集合的技术使得即使一个或多个被评估的策略失败用于重新布置的可行的策略也能够被找出。对不同策略进行估计和选择最佳选项工作由位移引擎119处置。因此,重新布置可以具有较少步骤和/或使用较少计算资源地发生。
图5概括地在500处图示了根据一个或多个实现方式的针对邻近空间位移策略的示例场景。概括地,在位移事件尝试向被占用的空间的区域中定位项时使用邻近空间位移策略。针对邻近空间位移策略的规则指定,如果邻近被占用的空间处存在足够容纳对被包含在被占用的空间中的一个或多个图标的位移的空闲空间,则所尝试的位移事件将成功。否则位移事件被禁止,并且将失败。
在该上下文中,图5的示例描绘了多个图标的布置502,布置502在该示例中表示智能电话设备的应用选择器页面。主体图标504被描绘为通过交互506被选择并且被移动到目标位置,目标位置在该示例中被另一个图标508占用。相应地,为邻近空间位移策略指定的规则触发对围绕目标位置的邻近空间的可用性的评估。在一个实现方式中,可以作出对在围绕目标的每个方向(例如,上、下、左、右等)上可用的邻近空间的估计。在该示例中,邻近空间510是在图标508以上可用的。因此,邻近空间位移策略可以被用于创建如图5中的重新布置512,在重新布置512中,主体图标504被重新定位到图标508的之前的位置,并且图标508被重新定位到邻近空间510。
应当指出,邻近空间策略以及其它策略可以受约束于不同的约束和/或偏好被应用。例如,在图5的示例布置中,界面可以具有位于垂直和/或水平边缘上的边界。概括地,导致“在界限外”位移项的移动被禁止。假设有多个可行的邻近空间,则可以以本文中描述的方式计算每个选项的破坏性并且选择具有最小破坏性的选项。对于位移的偏好也可以被使用,诸如用于解决破坏性估计中的关系或者排除某些非优选的选项。例如,偏好可以指示位移的一个具体的方向是优选的、由于当前的重新布置给予向之前未被占用的空间以及所创建的空间中的移动优先级、设置某些非可移动的位置/图标等。
图6概括地在600处图示了根据一个或多个实现方式的针对链位移策略的示例场景。概括地,在位移事件尝试向被占用的空间的区域中定位项时,使用链位移策略来在链中重新定位图标的组。实际上,链位移策略操作为,将与目标位置重叠的图标推到一边以便为被移动或者添加的主体图标腾出空间。被推的图标推另一个邻近的图标,并且在链中依此类推,直到遇到用于容纳链的结尾处的项的空闲空间为止。对于给定的位移事件,可以为处置重新布置标识并且评估一个或多个可能的链。链可能涉及每个坐标方向上的移动,只要不违反边界和其它约束即可。假设有多个可能的链,则可以使用破坏性估计来选择具有最小破坏性的选项。另一方面,如果合适的链不是可用的,则链位移策略失败。
在该上下文中,图6的示例描绘了多个图标的布置602,布置602再次表示智能电话设备的应用选择器页面。主体图标604被描绘为通过交互606被选择并且被移动到目标位置,目标位置在该示例中被另一个图标608占用。如由图6中描绘的示例链610表示的一个或多个潜在的图标链可以被标识并且被评估为位移的候选项。具体地,链位移策略确定是否针对链位移的可行选项存在,并且从可行选项中选择具有最小破坏性的选项。因此,链位移策略可以被用于标识有代表性的链610和创建如图6中的重新布置612。通过如图6中表示的那样向下和向左移动614链610来创建重新布置612。
图7概括地在700处图示了根据一个或多个实现方式的针对扩展位移策略的示例场景。概括地,扩展位移策略被用于在布置内创建用于容纳被移动或者被添加的图标的新的空闲空间。换句话说,布置的扩展发生,以便在目标位置处腾出空间。例如,在网格布置中,扩展位移策略操作为创建新的行或者列。所创建的空闲空间可以被配置为,与主体图标的尺寸(例如,高度或者宽度)相匹配。针对空闲空间位移策略的规则操作为,定义切割线,并且将项移得远离切割线以便在指定的位置处为主体图标生产足够的空间。项的平移可以在每个坐标方向上以及甚至在多个方向上远离切割线发生。在一种方法中,指定平移的(一个或者多个)优选方向(例如,对于处置扩展向下,以及对于水平扩展向右),在这种情况下,平移根据所述(一个或者多个)优选方向发生。
在该上下文中,图7的示例描绘了多个图标的步骤702,布置702再次表示智能电话设备的应用选择器页面。主体图标704被描绘为通过该交互706被选择并且被移动到目标位置,目标位置在该示例中位于边界708处。在该示例中,边界708被选择为针对经由扩展位移策略进行的对布置702的扩展的切割线。因此,扩展位移策略可以被用于创建如图7中的重新布置710,在重新布置710中,在切割线708处插入新行712以便容纳主体图标706。基于主体图标704的尺寸调整行712的大小。向下在切割线以下对图标的位移714发生,以便为新行712腾出空间。可以使用可比较的技术来在其它场景中插入新行。
已考虑了一些示例位移策略,现在考虑与如贯穿本文档所描述的具有最小破坏性的图标位移技术相关的一些额外的过程。具体地,图8是描绘根据一个或多个实现方式的用于使用已排序的位移策略重新布置图标的布置的示例过程800的流程图。
响应于检测到位移事件,调用被设计为通过有选择地应用多个不同的位移策略来控制计算设备的用户界面中的图标的布置的位移引擎(方框802)。例如,计算设备102的显示管理器118可以操作为,检测如之前讨论的各种位移事件。显示管理器118包括或者利用可以被调用的位移引擎119来处置位移事件。
在一个或多个实现方式中,位移引擎119被配置为具有对于跨具有不同能力的多个不同设备使用可用的位移策略的池。可以从位移策略的池中选择与位移引擎119在其上操作的计算设备的能力相匹配的多个不同的位移策略。这样,位移引擎119被约束为评估对于该设备合适的位移策略,这防止用于对不是设备的匹配项的策略进行评估的不必要的处理和资源消耗。
为处置位移事件,查明与多个不同的位移策略中的每个策略相关联的破坏水平(方框804)。然后,通过根据关联的破坏水平按照从具有最小破坏性到具有最大破坏性的次序一次一个地对多个不同的位移策略进行评估直到位移策略中的一个策略满足经由位移引擎强加的对图标的布置的约束为止而标识所选择的策略(方框806)。在这里,位移引擎119操作为,相继地对所选择的策略进行评估,直到遇到可以执行所指定的重新布置的策略。按照破坏性的次序对策略进行测试。次序可以是基于如之前讨论的预建立的破坏性水平的。另外或者替换地,破坏性水平可以作为评估的一部分被指派,并且被用于产生被用于单个策略的估计的次序。此后,应用所选择的策略,以便导致如由位移事件指示的对图标的布置的重新布置(方框808)。
图9是描绘根据一个或多个实现方式的用于基于破坏性分数重新布置图标的布置的示例过程900的流程图。识别被配置为导致对被包含在用户界面中的用于表示内容项的集合的图标的布置的重新布置的输入(方框902)。响应于识别到该输入,针对多个不同的位移策略中的每个策略生成指示由使用多个不同的位移策略的重新布置导致的对布置的破坏的量的分数(方框904)。设想了各种不同的位移策略,并且贯穿本文档讨论了这样的策略的细节和示例。每个单个策略定义用于在单个策略被应用以对重新布置进行控制时对重新布置进行处置的对应的规则的集合。分数可以反映被计算为破坏性准则的算术组合的破坏性水平,破坏性准则包括但不限于可行性因子、被移动的图块的数量、被移动的距离、策略特定的约束或者指定的偏好中的一项或多项。
可以使用分数来执行对不同的位移策略的破坏性估计。具体地,可以将分数与彼此进行比较,以便标识多个不同的位移策略中的具有最小破坏性的策略(方框906)。例如,可以根据分数对策略进行分析、排名、过滤和/或比较。基于比较,标识并且选择具有与最小破坏性相关联的分数的策略。然后,使用基于比较标识的多个不同的位移策略中的具有最小破坏性的策略来控制对图标的布置的重新布置(方框908)。
已考虑了示例实现方式细节,现在考虑下面对可以在一个或多个实现方式中被用于提供本文中描述的具有最小破坏性的图标位移的示例系统的讨论。
示例系统
图10图示了示例系统1000,示例系统1000包括表示可以实现本文中描述的各种技术的一个或多个计算系统和/或设备的示例计算设备1002。计算设备1002可以例如是服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、单片式系统和/或任何其它合适的计算设备或者计算系统。
如所图示的示例计算设备1002包括被通信地耦合到彼此的处理系统1004、一个或多个计算机可读介质1006和一个或多个I/O接口1008。尽管未示出,但计算设备1002可以进一步包括将各种部件彼此耦合的系统总线或者其它数据和命令传输系统。系统总线可以包括不同总线结构中的任一种总线结构或者组合,诸如存储器总线或者存储器控制器、外设总线、通用串行总线和/或使用多种总线架构中的任一种总线架构的处理器或者本地总线。还设想了多种其它示例,诸如控制和数据线。
处理系统1004表示用于使用硬件执行一个或多个操作的功能。相应地,处理系统1004被图示为包括可以被配置为处理器、功能块等的硬件元件1010。这可以包括用硬件实现为专用集成电路或者使用一个或多个半导体构成的其它逻辑设备。硬件元件1010不受构成其的材料或者在其中被使用的处理机制的限制。例如,处理器可以由(一个或者多个)半导体和/或晶体管组成(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是可电子地执行的指令。
计算机可读介质1006被图示为包括存储器/存储装置1012。存储器/存储装置1012表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置1012可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1012可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如,闪存、可移除硬盘驱动器、光盘等)。可以以如下面进一步描述的多种其它方式对计算机可读介质1006进行配置。
(一个或者多个)输入/输出接口1008表示用于使用各种输入/输出设备允许用户向计算设备1002输入命令和信息并且还允许将信息呈现给用户和/或其它部件或者设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、用于语音操作的麦克风、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容式或者其它传感器)、照相机(例如,其可以使用可见光或者诸如红外线频率这样的非可见光波长来将不涉及触摸的移动检测为手势)等。输出设备的示例包括显示设备(例如,监视器或者投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以以如下面进一步描述的多种方式将计算设备1002配置为支持用户交互。
可以在本文中在软件、硬件元件或者程序模块的一般上下文中描述各种技术。概括地,这样的模块包括执行具体的任务或者实现具体的抽象数据类型的例程、程序、对象、元件、部件、数据结构等。如本文中使用的术语“模块”、“功能”和“部件”概括地表示软件、固件、硬件或者其组合。本文中描述的技术的特征是平台无关的,这意味着可以在具有多种处理器的多种商用计算平台上实现所述技术。
所描述的模块和技术的一种实现方式可以在某种形式的计算机可读介质上被存储或者发射。计算机可读介质可以包括可以被计算设备1002访问的多种介质。通过示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“通信介质”。
“计算机可读存储介质”指与仅仅信号传输、载波或者信号本身相反使能够实现存储信息的介质和/或设备。因此,计算机可读存储介质不包括信号承载介质、暂时性信号或者信号本身。计算机可读存储介质包括诸如使用适于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其它数据这样的信息的方法或者技术实现的易失性和非易失性、可移除和非可移除介质和/或存储设备这样的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字多功能光盘(DVD)或者其它光盘存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或者其它磁性存储设备、或者适于存储期望的信息并且可以被计算机访问的其它存储设备、有形介质或者制品。
“通信介质”可以指被配置为诸如经由网络向计算设备1002的硬件发射指令的信号承载介质。通信介质通常可以将计算机可读指令、数据结构、程序模块或者其它数据体现在诸如载波、数据信号或者其它传输机制这样的经调制的数据信号中。通信介质还包括任何信息递送介质。术语“经调制的数据信号”表示使它的特性中的一项或多项特性以使得将信息编码在信号中的方式被设置或者变更的信号。通过示例而非限制,通信介质包括诸如有线网络或者直连线连接这样的有线介质和诸如声学、RF、红外线和其它无线介质这样的无线介质。
如之前描述的,硬件元件1010和计算机可读介质1006表示可以在某些实施例中被用于实现本文中描述的技术的至少某些方面的以硬件形式被实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括集成电路或者单片式系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)和采用硅或者其它硬件设备的其它实现方式的部件。在该上下文中,硬件元件可以操作为执行由被硬件元件体现的指令、模块和/或逻辑定义的程序任务的处理设备以及例如是之前描述的计算机可读存储介质这样的被用于存储用于执行的指令的硬件设备。
以上的组合也可以被用于实现本文中描述的各种技术和模块。相应地,包括操作系统112、应用114、通知系统116、显示管理器118、位移引擎119和其它程序模块的软件、硬件或者程序模块可以被实现为在某种形式的计算机可读存储介质和/或通过一个或多个硬件元件1010被体现的一个或多个指令和/或逻辑。计算设备1002可以被配置为实现与软件和/或硬件模块相对应的具体的指令和/或功能。相应地,将模块实现为可以被计算设备1002作为软件执行的模块可以例如通过使用处理系统的计算机可读存储介质和/或硬件元件1010至少部分上用硬件来达到。指令和/或功能可以是可以被一个或多个制品(例如,一个或多个计算设备1002和/或处理系统1004)执行/操作以便实现本文中描述的技术、模块和示例的。
如图10中进一步图示的,示例系统1000使能为当在个人计算机(PC)、电视设备和/或移动设备上运行应用时的无缝用户体验实现泛在的环境。为了当在使用应用、玩视频游戏、观看视频等的同时从一个设备转变到下一个设备时的公共的用户体验,服务和应用在全部三个环境中大致上类似地运行。
在示例系统1000中,通过中央计算设备使多个设备互连。中央计算设备可以位于多个设备的本地,或者可以位于多个设备的远程位置。在一个实施例中,中央计算设备可以是通过网络、互联网或者其它数据通信链路被连接到多个设备的一个或多个服务器计算机的云。
在一个实施例中,该互连架构使功能能够跨多个设备被递送,以便向多个设备的用户提供公共的并且无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使能向设备递送对于该设备是定制的并且还是对于全部设备来说公共的体验。在一个实施例中,创建目标设备的类,并且针对设备的一般类对体验进行定制。设备的类可以按照设备的物理特征、用途类型或者其它公共特性来定义。
在各种实现方式中,计算设备1002可以诸如针对计算机1014、移动装置1016和电视机1018使用采取多种不同的配置。这些配置中的每种配置包括可以具有大致上不同的构造和能力的设备,并且因此可以根据不同设备类中的一个或多个设备类对计算设备1002进行配置。例如,计算设备1002可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机1014类的设备。
计算设备1002也可以被实现为包括诸如移动电话这样的移动设备、便携式音乐播放器、便携式游戏设备、平板型计算机、多屏幕计算机等的移动1016类的设备。计算设备1002也可以被实现为包括休闲观看环境中的具有或者被连接到一般较大的屏幕的设备的电视机1018类的设备。这些设备包括电视机、机顶盒、游戏控制台等。
本文中描述的技术可以被计算设备1002的这些各种配置支持,并且不限于本文中描述的技术的具体的示例。通过在计算设备1002上包括显示管理器118对此作出图示。由显示管理器118和其它模块/应用表示的功能也可以全部或者部分上诸如经由如下面描述的平台1022通过“云”1020这样通过使用分布式系统来实现。
云1020包括和/或表示资源1024的平台1022。平台1022对云1020的硬件(例如,服务器)和软件资源的底层功能进行抽象。资源1024可以包括当计算机处理在位于计算设备1002远程位置的服务器上被执行时可以被使用的应用和/或数据。资源1024还可以包括通过互联网和/或通过诸如蜂窝或者Wi-Fi网络这样的订户网络提供的服务。
平台1022可以对用于将计算设备1002与其它计算设备连接在一起的资源和功能进行抽象。平台1022还可以用于对资源的缩放进行抽象,以便为所遇到的对经由平台1022被实现的资源1024的需求提供对应级别的缩放。相应地,在互连设备实施例中,本文中描述的功能的实现方式可以被分布在系统1000的各处。例如,功能可以部分上在计算设备1002上以及经由对云1020的功能进行抽象的平台1022被实现。
示例实现
本文中描述的具有最小破坏性的图标位移技术的示例实现方式包括但不限于以下示例中的一个或多个示例中的一个示例或者任何组合:
示例1. 一种由计算设备实现的用于控制图标的布置和促进对由所述图标表示的内容的用户访问的方法,包括:检测用于在计算平台的用户界面中包含的图标的布置内定位图标的位移事件的发起;响应于所述检测,对由所述计算平台实现的多个可用位移策略进行评估;基于对所述多个可用位移策略的所述评估,选择用于重新布置所述布置以定位所述图标的位移策略;以及,使用所选择的所述位移策略控制对图标的所述布置的重新布置。
示例2. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,检测所述位移事件的发起包括:识别用于变更所述布置内的所述图标的位置的输入。
示例3. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,检测所述位移事件的发起包括:识别用于在所述布置内的位置处插入额外的图标的输入。
示例4. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,对所述多个可用位移策略进行评估包括:估计就由所检测的位移事件指示的重新布置而言所述多个可用位移策略中的每个策略的破坏性;以及,选择根据对破坏性的所述估计所选择的策略作为所述多个可用位移策略中的具有最小破坏性的策略。
示例5. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,对所述多个可用位移策略进行评估包括:针对所述多个可用位移策略,建立由应用所述多个可用位移策略以定位所述图标导致的从最小到最大所感知的破坏的次序;以及,按照所建立的次序逐个地对所述多个可用位移策略进行评估。
示例6. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,选择用于所述重新布置的所述位移策略包括:作为逐个地对所述多个可用位移策略进行评估的一部分,选择满足针对所述重新布置强加的约束的被评估的所述多个可用位移策略中的第一策略作为所选择的策略。
示例7. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,所述多个可用位移策略包括以下各项中的一项或多项:空闲空间、邻近空间、链位移或者扩展位移策略。
示例8. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,评估包括:根据破坏性准则评估与使用所述多个可用位移策略中的每个策略进行重新布置相关联的破坏性,所述破坏性准则包括可行性、被移动的项的数量、被移动的距离、大小约束、图标分组、策略特定的约束和指定的偏好。
示例9. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,对所述重新布置进行控制包括:发送指示所述重新布置的命令,以便指引图形处理系统的操作,以便在被渲染以用于经由与所述计算设备相关联的显示设备显示的图标的所述布置的视觉表示中实行所述重新布置。
示例10. 如在本小节中的示例中的任一个或多个示例中描述的计算机实现的方法,其中,所述图标包括多个图标的布置内的应用的表示,所述图标中的每个图标被配置为表示对应的内容项,并且可选择以便发起与对应的内容项的交互。
示例11. 一种计算设备,包括:处理系统;存储指令的一个或多个计算机可读存储介质,所述指令在被所述处理系统执行时实现显示管理器,所述显示管理器被配置为执行用于控制图标的布置和促进对由所述图标表示的内容的用户访问的操作,包括:响应于检测到位移事件,调用被设计为通过有选择地应用多个不同的位移策略控制所述计算设备的用户界面中的图标的布置的位移引擎;查明与所述多个不同的位移策略中的每个策略相关联的破坏水平;响应于检测到位移事件,通过根据所述关联的破坏水平按照从具有最小破坏性到具有最大破坏性的次序一次一个地评估所述多个不同的位移策略直到所述位移策略中的一个策略满足经由所述位移引擎强加的对于图标的布置的约束为止而标识所选择的策略;以及,应用所选择的策略,以便导致如由所述位移事件指示的对图标的布置的重新布置。
示例12. 如在本小节中的示例中的任一个或多个示例中描述的计算设备,其中,所述多个可用位移策略至少包括空闲空间、邻近空间、链位移和扩展位移策略。
示例13. 如在本小节中的示例中的任一个或多个示例中描述的计算设备,其中,所述显示管理器被进一步配置为执行包括以下项的操作:从跨具有不同能力的多个不同设备可用的位移策略的池中选择所述多个不同的位移策略以便与所述计算设备的能力相匹配;以及,将所述位移引擎约束为使用与所述计算设备的能力相匹配的所述多个不同的位移策略以便处置所述计算设备的位移事件。
示例14. 如在本小节中的示例中的任一个或多个示例中描述的计算设备,其中,所述用户界面中的多个图标的布置包括针对所述计算设备的操作系统的分页界面。
示例15. 如在本小节中的示例中的任一个或多个示例中描述的计算设备,其中,所述用户界面中的多个图标的布置包括被配置为所述计算设备的操作系统的开始屏幕的可滚动的基于图块的界面。
示例16. 存储计算机可读指令的一个或多个计算机可读存储介质,所述计算机可读指令在被处理系统执行时实现被配置为执行包括以下项的操作的显示管理器:识别被配置为导致对被包含在用户界面中的用于表示内容项的集合的图标的布置的输入;响应于所述输入的识别,针对多个不同的位移策略中的每个策略生成指示由使用所述多个不同的位移策略的重新布置导致的对布置的破坏的量的分数;将所述分数与彼此进行比较,以便标识所述多个不同的位移策略中的具有最小破坏性的策略;以及,使用基于所述比较标识的所述多个不同的位移策略中的所述具有最小破坏性的策略控制对图标的布置的重新布置。
示例17. 如本小节中的示例中的任一个或多个示例中描述的一个或多个计算机可读存储介质,其中,所述重新布置包括重新定位所述布置内的多个图标中的一个或多个图标。
示例18. 如本小节中的示例中的任一个或多个示例中描述的一个或多个计算机可读存储介质,其中,所述分数反映被计算为包括可行性因子、被移动的图块的数量、被移动的距离、策略特定的约束或者指定的偏好的破坏性准则的算术组合的破坏性水平。
示例19. 如本小节中的示例中的任一个或多个示例中描述的一个或多个计算机可读存储介质,其中,所述多个不同的位移策略中的每个单个策略定义用于在该单个策略被应用以便控制所述重新布置时对重新布置进行处置的对应的规则的集合。
示例20. 如本小节中的示例中的任一个或多个示例中描述的一个或多个计算机可读存储介质,其中,所述用户界面中的图标的布置包括可滚动的基于网格的图块布置,其中,所述图标被配置为可将大小调整为多个预定义的大小并且可定位到所述用户界面的网格布局内的不同的坐标位置的图块元素。
结论
尽管已使用专用于结构化特征和/或方法学动作的语言描述了技术和方面,但应当理解,所附权利要求中定义的主题不必限于所描述的具体的特征或者动作。相反,作为实现所要求保护的主题的示例形式公开了具体的特征和动作。

Claims (20)

1.一种由计算设备实现的方法,包括:
检测用于定位计算平台的用户界面中包含的图标的布置内的图标的位移事件的发起;
响应于所述位移事件的所述发起,对与由所述计算平台实现的多个可用位移策略相对应的多个规则集进行评估,其中所述多个规则集中的个体规则集对应于所述多个可用位移策略中的个体位移策略,所述评估包括确定与使用所述多个规则集中的所述个体规则集用于所述图标的布置的重新布置相关联的破坏性分数,其中所述破坏性分数至少指示基于所述个体规则集在所述用户界面中被显示的、被移动的所述图标的数目以及所述数目的所述图标基于所述个体规则集将要被移动的距离;
基于与以下项相对应的特定位移策略的特定规则集,选择用于所述图标的布置的所述重新布置的所述特定位移策略:
与所述多个规则集中的其他规则集相比,将要被移动的图标的最少数目,以及
所述最少数目的所述图标将要被移动的所述距离的最少量;以及
使用所述特定位移策略的所述特定规则集来控制所述图标的布置的所述重新布置。
2.根据权利要求1所述的方法,其中检测所述位移事件的所述发起包括:识别用于在所述图标的布置内变更所述图标的位置的输入。
3.根据权利要求1所述的方法,其中检测所述位移事件的所述发起包括:识别用于在所述图标的布置内的位置处插入额外的图标的输入。
4.根据权利要求1所述的方法,其中对所述多个可用位移策略进行评估包括:
针对所述多个可用位移策略,建立由应用所述多个可用位移策略以定位所述图标导致的从最小破坏性分数到最大破坏性分数的次序;以及
按照所建立的所述次序逐个地对所述多个可用位移策略进行评估。
5.根据权利要求1所述的方法,其中所述多个可用位移策略包括以下项中的一项或多项:空闲空间、邻近空间、链位移或者扩展位移策略。
6.根据权利要求1所述的方法,其中所述破坏性分数基于以下项中的一项或多项被确定:可行性、大小约束、图标分组、策略特定的约束和指定的偏好。
7.根据权利要求1所述的方法,其中控制所述重新布置包括:发送指示所述重新布置的命令,以便指引图形处理系统的操作,以便在被渲染以用于经由与所述计算设备相关联的显示设备显示的所述图标的布置的视觉表示中实行所述重新布置。
8.根据权利要求1所述的方法,其中所述图标包括所述图标的布置内的应用的表示,所述图标中的每个图标被配置为表示对应的内容项,并且可选择以便发起与对应的内容项的交互。
9.一种计算设备,包括:
处理系统;
一个或多个计算机读存储介质,其存储指令,所述指令在被所述处理系统执行时实现显示管理器,所述显示管理器被配置为执行操作,所述操作包括:
响应于位移事件的检测,调用被设计为通过有选择地应用多个不同的位移策略控制所述计算设备的用户界面中的图标的布置的位移引擎,其中个体位移策略对应于可用于完成所述位移事件的个体规则集;
响应于所述位移事件的所述检测,生成与使用所述多个不同的位移策略中的个体位移策略以完成所述位移事件相关联的破坏性分数,其中生成所述破坏性分数至少包括:
确定在所述用户界面中被显示的所述图标的个体数目,所述个体规则集将引起所述图标被移动以完成所述位移事件;以及
确定个体距离,所述个体规则集将引起所述个体数目的所述图标被移动所述个体距离;
标识对应于通过确定所述个体数目和所述个体距离而被生成的所述破坏性分数中的最小破坏性分数的所选择的策略;以及
应用所述所选择的策略,以便引起如由所述位移事件指示的所述图标的布置的重新布置。
10.根据权利要求9所述的计算设备,其中所述多个不同的位移策略至少包括空闲空间、邻近空间、链位移和扩展位移策略。
11.根据权利要求9所述的计算设备,其中所述多个不同的位移策略从跨具有不同能力的多个不同设备可用的位移策略的池中被选择以便与所述计算设备的所述能力相匹配。
12.根据权利要求9所述的计算设备,其中所述用户界面中的所述图标的布置包括针对所述计算设备的操作系统的分页界面。
13.根据权利要求9所述的计算设备,其中所述用户界面中的所述图标的布置包括被配置为所述计算设备的操作系统的开始屏幕的可滚动的基于图块的界面。
14.一种或多种计算机可读存储介质,其存储计算机可读指令,所述计算机可读指令在由处理系统执行时实现显示管理器,所述显示管理器被配置为执行操作,所述操作包括:
识别输入,所述输入被配置为引起与用户界面中包含的图标的布置相关联的位移事件,其中个体图标表示内容项集合中的个体内容项;
响应于所述输入:
生成针对多个不同的位移策略中的第一位移策略的第一破坏性分数,所述第一破坏性分数至少指示所述第一位移策略的一个或多个第一规则将引起移动的所述图标的第一数目,以及所述一个或多个第一规则将引起所述第一数目的所述图标被移动的第一距离;
生成针对所述多个不同的位移策略中的第二位移策略的第二破坏性分数,所述第二破坏性分数至少指示所述第二位移策略的一个或多个第二规则将引起移动的所述图标的第二数目,以及所述一个或多个第二规则将引起所述第二数目的所述图标被移动的第二距离;
至少比较所述第一破坏性分数与所述第二破坏性分数,以标识与根据所述第二位移策略完成所述位移事件相比,根据所述第一位移策略完成所述位移事件将导致更少的感知破坏;以及
基于所述比较,通过实现所述一个或多个第一规则以便将所述第一数目的所述图标移动所述第一距离来完成根据所述第一位移策略的所述位移事件。
15.根据权利要求14所述的一种或多种计算机可读存储介质,其中所述位移事件包括在所述图标的布置内重新定位所述图标中的一个或多个图标。
16.根据权利要求14所述的一种或多种计算机可读存储介质,其中所述第一破坏性分数和所述第二破坏性分数还基于以下项中的一项或多项:可行性因子、策略特定的约束或者指定的偏好。
17.根据权利要求14所述的一种或多种计算机可读存储介质,其中当所述个体策略被应用于控制所述位移事件时,所述多个不同的位移策略中的每个个体策略定义用于处理重新布置的对应规则集。
18.根据权利要求14所述的一种或多种计算机可读存储介质,其中所述用户界面中的所述图标的布置包括可滚动的、基于网格的图块布置,其中所述图标被配置为图块元素,所述图块元素可缩放为多个预定大小并且可定位到针对所述用户界面的网格布局内的不同坐标位置。
19.根据权利要求14所述的一种或多种计算机可读存储介质,其中所述第一位移策略是相邻空间位移策略。
20.根据权利要求19所述的一种或多种计算机可读存储介质,其中所述第二位移策略是链位移策略。
CN201580071164.6A 2014-12-26 2015-12-22 具有最小破坏性的图标位移 Active CN107111418B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/583498 2014-12-26
US14/583,498 US10261655B2 (en) 2014-12-26 2014-12-26 Least disruptive icon displacement
PCT/US2015/067237 WO2016106258A1 (en) 2014-12-26 2015-12-22 Least disruptive icon displacement

Publications (2)

Publication Number Publication Date
CN107111418A CN107111418A (zh) 2017-08-29
CN107111418B true CN107111418B (zh) 2020-09-25

Family

ID=55083538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580071164.6A Active CN107111418B (zh) 2014-12-26 2015-12-22 具有最小破坏性的图标位移

Country Status (4)

Country Link
US (1) US10261655B2 (zh)
EP (1) EP3238019B1 (zh)
CN (1) CN107111418B (zh)
WO (1) WO2016106258A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107422934B (zh) * 2016-05-23 2020-04-28 华为终端有限公司 一种图标的设置方法及电子设备
JP7139605B2 (ja) * 2018-01-05 2022-09-21 カシオ計算機株式会社 表示制御装置、表示制御方法、および表示制御プログラム
US11449199B2 (en) * 2019-09-21 2022-09-20 Samsung Electronics Co., Ltd. Method and system for generating dynamic user interface layout for an electronic device
US11449662B2 (en) * 2020-10-12 2022-09-20 Adobe Inc. Automatic generation of layout variations based on visual flow
JP7477235B1 (ja) 2023-12-25 2024-05-01 Art-Tra株式会社 電子機器、表示制御方法及びアプリケーションプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103105997A (zh) * 2011-11-10 2013-05-15 财团法人资讯工业策进会 根据感测信号更改图标坐标值的方法及电子装置
EP2790096A2 (en) * 2013-04-09 2014-10-15 Samsung Electronics Co., Ltd. Object display method and apparatus of portable electronic device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712995A (en) 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US7120868B2 (en) * 2002-05-30 2006-10-10 Microsoft Corp. System and method for adaptive document layout via manifold content
US6530073B2 (en) 2001-04-30 2003-03-04 Lsi Logic Corporation RTL annotation tool for layout induced netlist changes
US7594204B1 (en) 2003-10-06 2009-09-22 Altera Corporation Method and apparatus for performing layout-driven optimizations on field programmable gate arrays
US7395510B2 (en) * 2003-12-16 2008-07-01 Hewlett-Packard Development Company, L.P. Method of, and system for, adjusting a document configuration
US8402381B2 (en) 2008-09-23 2013-03-19 International Business Machines Corporation Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments
WO2011112533A1 (en) 2010-03-08 2011-09-15 Stereotaxis, Inc. Method for managing non-overlapping windows
US20130167072A1 (en) * 2011-12-22 2013-06-27 Sap Portals Israel Ltd. Smart and Flexible Layout Context Manager
US9052766B2 (en) 2013-02-14 2015-06-09 Synaptics Incorporated Mesh sensor design for reduced visibility in touch screen devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103105997A (zh) * 2011-11-10 2013-05-15 财团法人资讯工业策进会 根据感测信号更改图标坐标值的方法及电子装置
EP2790096A2 (en) * 2013-04-09 2014-10-15 Samsung Electronics Co., Ltd. Object display method and apparatus of portable electronic device

Also Published As

Publication number Publication date
US20160188161A1 (en) 2016-06-30
EP3238019B1 (en) 2022-03-23
EP3238019A1 (en) 2017-11-01
WO2016106258A1 (en) 2016-06-30
US10261655B2 (en) 2019-04-16
CN107111418A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
US10459607B2 (en) Expandable application representation
JP6479142B2 (ja) ユーザ介入なくレイアウトに従った画像識別及び編成
US20160034153A1 (en) Icon Resizing
CN107111418B (zh) 具有最小破坏性的图标位移
US20170131858A1 (en) Expandable Application Representation, Activity Levels, and Desktop Representation
CN109478152B (zh) 云内容状态框架
US20150286387A1 (en) Expandable Application Representation and Taskbar
US20140298219A1 (en) Visual Selection and Grouping
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
CN107209626B (zh) 对向应用启动器添加表示的控制
US20160085388A1 (en) Desktop Environment Differentiation in Virtual Desktops
US20160048319A1 (en) Gesture-based Access to a Mix View
CN107209627B (zh) 对应用启动器内的表示交互的控制
KR20170042345A (ko) 직접 액세스 애플리케이션 표현
KR20160144445A (ko) 확장가능한 애플리케이션 표시, 마일스톤, 및 스토리라인

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