CN118103806A - 用于计算设备的溢出应用工具 - Google Patents

用于计算设备的溢出应用工具 Download PDF

Info

Publication number
CN118103806A
CN118103806A CN202280068512.4A CN202280068512A CN118103806A CN 118103806 A CN118103806 A CN 118103806A CN 202280068512 A CN202280068512 A CN 202280068512A CN 118103806 A CN118103806 A CN 118103806A
Authority
CN
China
Prior art keywords
application
overflow
taskbar
applications
panel
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
CN202280068512.4A
Other languages
English (en)
Inventor
C·E·小泰勒
P·E·哈默奎斯特
B·J·舍普克
J·L·杜马
A·P·伊
E·M·诺布雷加
H·M·格里芬
A·N·弗格森
R·J·迪萨诺
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 CN118103806A publication Critical patent/CN118103806A/zh
Pending legal-status Critical Current

Links

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
    • G06F3/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • 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/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/0485Scrolling or panning
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于自动地生成应用溢出工具的计算机化的系统和方法,该应用溢出工具被动态地更新并且被布置为提供对流行或最近使用的应用的改进的访问。这些系统和方法通过生成不同于任务栏的溢出面板使得溢出面板提供对不在任务栏上的最近最多使用的应用的访问来改进现有技术。因此,提高了对应用的访问的容易性,从而提高用户效率。这些系统还通过利用现有GUI布局来改进计算机的操作方式,以减少计算资源消耗,诸如存储器、网络时延、I/O等,这需要以其他方式改进对应用的访问。

Description

用于计算设备的溢出应用工具
背景技术
随着计算效率的提高,计算设备已经能够运行越来越多的应用,从而为个人和企业提供多样化的功能。计算设备可以生成与应用相对应的指示符,诸如图标。这些指示符可以包括在将应用在视觉上彼此区分开方面有用的品牌可视化或控件(例如,用户界面元素)。为了帮助用户找到目标应用,计算设备已经实现了各种组织策略。例如,特定计算系统生成应用的可滚动的列表,而其他计算系统生成应用指示符的页面。其他组织策略包括钉扎(pin)或流行的应用指示符的任务栏,以促进对对应的钉扎应用的访问。
发明内容
提供本发明内容是为了以简化的形式介绍概念的选择,这些概念将在下面的具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本公开中描述的技术针对用于自动地生成溢出工具的计算机化的系统和方法,该溢出工具被动态地更新并且按时间顺序被组织以提供对流行或最近使用的应用的改进的访问。在高级别上并且根据一些实施例,这通过首先经由计算设备生成图形用户界面(GUI)来发生,该GUI可以包括任务栏、最近最多使用(MRU)槽(slot)和/或溢出扩展控件。由于任务栏上的空间可能是有限的,因此可以被添加到任务栏的应用指示符的数目可能是有限的。因此,本公开的实施例提供了一种溢出工具,该溢出工具生成溢出面板用于显示在任务栏附近。溢出面板包括应用指示符的动态布置的列表,该应用指示符对应于在计算设备上当前在使用中的并且还不能从任务栏直接选择的应用。溢出面板可以基于特定应用指示符不适合任务栏的确定而被生成。另外地或另选地,溢出面板可以响应于用户交互而被生成。溢出面板上的应用指示符在下文中被称为“溢出应用指示符”。
在特定实施例中,溢出面板包括溢出应用指示符的共线列表,该溢出应用指示符基于最近最多使用的溢出应用按时间顺序被布置。溢出面板可以接收与溢出应用指示符的用户交互。响应于与溢出应用指示符的用户交互,计算设备可以生成扩展用户界面元素,该扩展用户界面元素提供与用户已经与其交互的溢出应用指示符相对应的溢出应用的预览。扩展用户界面元素可以位于溢出面板附近。
考虑到这一点,本公开的各种实施例解决了与显示器上的有限空间和任务栏上的有限空间相关联的问题,同时不损害选择精度,诸如用于允许触摸选择的计算设备的选择精度。因此,可以通过提高用户能够访问应用的效率来改善用户体验,该应用可以在活动状态或挂起状态下运行,但是未被钉扎或者呈现在任务栏上。此外,根据本公开的各个实施例,溢出面板可以被用作任务栏的扩展,使得溢出应用指示符被配置为被放置在任务栏的应用指示符之后或附近,但是溢出面板的坐标空间与任务栏的坐标空间偏移,以在GUI上作为单独的特征出现。以这种方式,由于在生成溢出面板时可以利用GUI的现有布局和设计,因此可以提高计算效率。
附图说明
以下参考附图详细地描述本公开的各方面,在附图中:
图1是适用于在实现本公开的一些实施例时使用的示例性计算环境的框图;
图2是示出其中采用本公开的一些实施例的示例系统的框图;
图3是根据本公开的一些实施例的示例图形用户界面(GUI)的屏幕截图,GUI例示了任务栏和最近最多使用槽;
图4是根据本公开的一些实施例的示例台式机GUI的屏幕截图,台式机GUI例示了图3的任务栏和溢出工具,台式机GUI包括最近最多使用槽和溢出选择指示符,该溢出选择指示符在被交互时生成溢出面板;
图5是根据本公开的一些实施例的示例平板计算机GUI,示例平板计算机GUI例示了图3的任务栏和图4的溢出工具;
图6是根据本公开的一些实施例的图4的台式机GUI或图5的平板计算机GUI的一部分的放大屏幕截图,平板计算机GUI例示了图3的任务栏和图4的溢出工具;
图7是根据本公开的一些实施例的示例平板计算机GUI,示例平板计算机GUI例示了被配置为生成溢出面板的垂直布置的图4的溢出工具;
图8是根据本公开的一些实施例的示例GUI,示例GUI例示了被配置为调节溢出面板的尺寸的面板尺寸调节器;
图9是根据本公开的一些实施例的示例GUI,示例GUI例示了图3的任务栏和图4的溢出工具的特定应用指示符上的标志(badge);
图10是根据本公开的一些实施例的示例GUI,示例GUI例示了图3的任务栏和图4的溢出工具的特定应用指示符上的强调通知;
图11是根据本公开的一些实施例的示例GUI,示例GUI例示了图3的任务栏和图4的溢出工具,示例GUI包括扩展用户界面元素;
图12是根据本公开的一些实施例的用于至少基于相对于任务栏的距离偏移来生成图4至图11的溢出面板的示例过程的流程图;
图13是根据本公开的一些实施例的用于至少基于多个溢出应用指示符超过任务栏上的可用空间来生成图4至图11的溢出面板的示例过程的流程图;
图14是采用本公开的实施例的计算设备的框图;以及
图15是其中可以采用本公开的实施例的计算环境的框图。
具体实施方式
本公开的各方面的主题在本文中被具体描述以满足法定要求。然而,说明书本身并不旨在限制本专利的范围。相反,发明人已经考虑到,所要求保护的主题也可以以其他方式体现,以包括与本文献中描述的步骤不同的步骤或类似步骤的组合、以及其他当前或未来的技术。此外,尽管术语“步骤”和/或“块”在本文中可以被用于表示所采用的方法的不同元素,但是除非明确地描述了个体步骤的顺序,否则这些术语不应当被解释为暗示本文中公开的各个步骤之间的任何特定顺序。本文中描述的每种方法可以包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。这些方法还可以被体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立的应用、服务或托管服务(独立的或与另一托管服务相结合)、或者另一产品的插件等提供。
传统的应用组织技术不能提供对不断增多的应用的高效访问。一些解决方案可以允许用户将应用指示符(例如,图标)组织为主屏幕上的目标放置、不同页面、文件夹等。例如,一些方法可以允许用户将所选择的应用的指示符钉扎到任务栏。然而,这些任务栏可能会很快耗尽空间,这通常会限制访问不适合任务栏的应用的便利性和容易性。因此,需要提高用户能够访问特定应用的容易性,同时保留图形用户界面(GUI)设计的各方面,诸如向用户提供至少一些基本功能的任务栏。
考虑到这一点,本公开中描述的技术总体上涉及用于自动地生成溢出面板的计算机化的系统和方法,该溢出面板被动态地更新以显示最相关的溢出应用,由此提高对溢出应用的访问的容易性。如本文中使用的并且如以上所阐述的,“溢出应用”通常是指不与任务栏关联或者未被钉扎到任务栏的应用。在高级别上,特定实施例包括生成GUI,该GUI包括各种应用和任务栏,例如,各种应用和任务栏可以沿着GUI的底部的宽度被定位。
GUI的生成可以基于计算设备的操作模式或定向。例如,以平板计算机模式定向的计算设备可以显示包括应用指示符的GUI,使得GUI可以以具有比显示表面的高度大的宽度的横向视图被呈现。作为另一示例,以台式机模式定向的计算设备可以显示包括应用指示符的GUI,使得GUI以比显示表面的宽度大的高度的纵向视图被呈现。
在任何一种情况下,GUI都可以包括任务栏,在任务栏上可以手动地或自动地钉扎与目标或流行应用相对应的指示符。首先,作为手动钉扎应用的示例,用户可以选择GUI控件(例如,右键单击软件应用指示符并且选择“钉扎”选项)以将对应软件应用指示符手动地钉扎到任务栏。其次,作为自动钉扎软件应用的示例,计算系统可以基于各种因素(例如,使用的频率、使用的持续时间、用户偏好、被跟踪的用户活动等)将软件应用指示符自动地钉扎到任务栏。被钉扎到任务栏的应用在本文中被称为“钉扎应用”
在一些上下文中,与正在运行但未被钉扎到任务栏的软件应用相对应的特定指示符仍然可以被呈现在任务栏上,例如,因为任务栏上存在没有被钉扎应用使用的空间。因此,在一些实施例中,任务栏可以包括“任务栏应用指示符”,任务栏包括任务栏上的软件应用指示符,诸如针对钉扎应用的指示符以及针对特定未钉扎应用的指示符。以这种方式,任务栏应用指示符可以包括针对钉扎应用的指示符、针对未钉扎的正在运行的应用的指示符、或者这两者。
如上所述,任务栏可以容纳的应用指示符的数目受到显示器屏幕的尺寸的限制。虽然呈现在GUI上的应用指示符的尺寸可以被减小以容纳更多的应用指示符,但是可能希望避免将应用指示符的尺寸减小到超过特定尺寸,以在经由任何数目的选择方法(诸如触摸选择、点击等)来选择应用指示符时维持精度。此外,现有任务栏可能不是触摸友好的,因为在用户用双手握持诸如平板计算机之类的计算设备的同时,呈现在任务栏上的钉扎应用指示符不在用户的(多个)拇指能伸到的范围内。结果,用户可能不得不重新定位计算设备,以便能够从计算设备移除一只手并且执行应用指示符的触摸选择。
为了解决这些问题,除了其他方面以外,本公开的一些实施例包括生成溢出工具,该溢出工具包括溢出面板,该溢出面板包括已经不容易经由任务栏访问或与任务栏相关联的应用指示符的动态更新的列表。特定实施例包括确定任务栏上没有足够空间可用于溢出应用指示符并且将溢出应用指示符分配给溢出面板。溢出面板可以响应于与任务栏共线定位的溢出扩展控件的第一用户交互(诸如选择输入、语音激活命令、悬停输入或触摸输入)而被生成。如本文中使用的,当提及应用时,“使用中”通常是指已经被启动并且在活动状态或挂起状态下保持打开。例如,当应用被启动时,它可以保持“使用中”,直到应用被关闭并且会话被终止。
在特定实施例中,溢出面板包括使用中的溢出应用指示符的共线列表,该溢出应用指示符基于最近最多使用的溢出应用按时间顺序被组织。溢出面板可以沿着GUI的右侧区域或左侧区域被呈现在任务栏上方,以促进溢出应用指示符的选择,例如,当计算设备处于平板计算机模式时。如本文中使用的,“最近最多使用”应用是指保持在使用中(如上文中定义的)并且最近通过任何合适的用户动作(诸如启动对应的应用、在应用内提供输入、使应用最小化等等)被最多交互的应用。例如,溢出面板可以从左到右水平地呈现溢出应用指示符,其中针对最近最多使用应用的指示符在一端(诸如最左端),而针对最近最少使用溢出应用的指示符在另一端(诸如最右端)。另选地,溢出面板可以包括垂直布置的溢出应用指示符,其中针对最近最多使用溢出应用的指示符在一端(诸如顶端),而针对最近最少使用的应用的指示符在另一端(诸如底端)。
在特定实施例中,溢出面板可以包括向溢出面板添加附加功能的任何数目的特征。在一些实施例中,针对溢出应用的指示符可以接收用户交互以将对应的指示符分配给任务栏。例如,针对溢出应用的指示符可以是可拖曳的,使得用户可以将对应的溢出应用指示符从溢出面板拖曳到任务栏,以将对应的溢出应用指示符钉扎到任务栏。作为另一示例,针对溢出应用的指示符可以被选择(例如,右键单击)以被添加到任务栏。
另外地或另选地,溢出面板可以包括面板尺寸调节器,当被选择时,该面板尺寸调节器扩展或增加溢出面板的尺寸,例如,以允许更多的溢出应用指示符被呈现在溢出面板上。溢出面板可以接收与溢出应用指示符的用户交互。响应于与溢出应用指示符的用户交互,计算设备可以生成扩展用户界面元素,该扩展用户界面元素提供与用户所交互的指示符相对应的溢出应用的内容的预览,诸如较小再现。扩展用户界面元素可以被定位为接近溢出面板。例如,计算设备可以呈现扩展用户界面元素,使得溢出面板被定位在扩展用户界面元素与任务栏之间。以这种方式,扩展用户界面元素被定位在溢出面板附近,以促进对扩展用户界面元素的用户选择。作为另一示例,计算设备可以定位扩展用户界面元素,使得扩展用户界面元素的一个边界邻接溢出面板并且另一边界邻接任务栏。
以这种方式,溢出面板解决了与显示器上的有限空间相关联的问题,同时不损害由特定计算设备(诸如允许触摸选择的计算设备)提供的选择精度。如此,用户体验可以通过提高用户能够访问打开的但是没有被钉扎或呈现在任务栏上的应用的效率来改善。此外,溢出面板可以被编程为任务栏的扩展,使得溢出应用指示符被放置在任务栏的应用指示符之后或附近,并且溢出面板的坐标空间与任务栏的坐标空间偏移。以这种方式,由于在生成溢出面板时可以利用GUI的现有布局和设计,因此可以提高计算效率。
现在转到图1,提供了示出其中可以采用本公开的一些实施例的示例操作环境100的框图。应当理解,本文中描述的这一布置和其他布置仅作为示例来阐述。除了所示的布置和元素以外或者代替所示的布置和元素,可以使用其他布置和元素(例如,机器、接口、功能、命令、以及功能的分组),并且为了清楚起见,一些元素可以被完全省略。此外,本文中描述的许多元素是功能实体,该功能实体可以被实现为分立组件或分布式组件,或者与其他组件相结合来实现,并且以任何合适的组合和位置来实现。本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器或处理电路装置来执行。
除了未示出的其他组件以外,示例操作环境100还包括多个用户设备,诸如用户设备102a和102b至102n;多个数据源,诸如数据源104an和104b至104n;服务器106;显示器103an和103b至103n;以及网络110。应当理解,图1所示的环境100是一个合适的操作环境的示例。图1所示的组件中的每个组件可以经由任何类型的计算设备(诸如结合图14描述的计算设备1400)来实现。这些组件可以经由网络110彼此通信,该网络可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现中,网络110包括互联网和/或蜂窝网络、以及采用任何合适的通信协议的各种可能的公共网络和/或专用网络中的任一者。
应当理解,在本公开的范围内,在操作环境100内可以采用任何数目的用户设备、服务器和数据源。每个设备可以包括单个设备或在分布式环境中协作的多个设备。例如,服务器106可以经由布置在分布式环境中的多个设备来提供,这些设备共同提供本文中描述的功能。此外,未示出的其他组件也可以被包括在分布式环境中。
用户设备102a和102b至102n可以是在操作环境100的客户端侧的客户端设备,而服务器106可以在操作环境100的服务器侧。服务器106可以包括服务器侧软件,该服务器侧软件被设计为与用户设备102a和102b至102n上的客户端侧软件协同工作,以实现本公开中讨论的特征和功能的任何组合。操作环境100的这种划分被提供以例示合适环境的一个示例,并且对于每个实现不要求服务器106和用户设备102a和102b至102n的任何组合保持为单独的实体。显示器103a和103b至103n可以被集成到用户设备102a和102b至102n中。在一个实施例中,显示器103an和103b至103n是触摸屏显示器。
用户设备102a和102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是本文中关于图14描述的类型的计算设备。作为示例而非限制,用户设备可以被体现为个人计算机(PC)、膝上型计算机、移动装置或移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、音乐播放器或MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、相机、遥控器、条形码扫描仪、计算机化的测量设备、电器、消费电子设备、工作站、或者这些描绘的设备的任何组合、或者任何其他合适的计算机设备。
数据源104a和104b至104n可以包括数据源和/或数据系统,该数据源和/或数据系统被配置为使得数据可用于结合图2描述的操作环境100或系统200的各种组成部分中的任一者。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的应用度量收集组件210提供(或使其可用于访问)应用度量数据。)数据源104a和104b至104n可以与用户设备102a和102b至102n以及服务器106分离。另选地,数据源104b至104n可以被并入和/或集成到这些组件中的至少一个组件中。在一个实施例中,数据源104a至104n中的一个或多个数据源可以被集成到(多个)用户设备102a、102b或102n或者服务器106中的一者或多者中,与其相关联,和/或由其可访问。结合图2的应用度量收集组件210进一步地描述了由数据源104a至104n提供的应用和/或对应数据的示例。
操作环境100可以被用于实现图2中描述的系统200的组件中的一个或多个组件。操作环境100还可以被用于实现分别在图12和图13中描述的过程流程1200和1300的各方面。现在参考图2,结合图1,提供了示出适用于实现本公开的实施例并且总体上被指定为系统200的示例计算系统架构的各方面的框图。系统200仅表示合适的计算系统架构的一个示例。除了所示的布置和元素以外或者代替所示的布置和元素,可以使用其他布置和元素,并且为了清楚起见,一些元素可以被完全省略。此外,如与操作环境100一样,本文中描述的许多元素是功能实体,该功能实体可以被实现为分立或分布式组件,或者与其他组件相结合来实现,并且以任何合适的组合和位置来实现。
示例系统200包括网络110,该网络结合图1进行描述,并且通信地耦合系统200的组件,包括应用度量收集组件210、呈现组件212、溢出引擎220和存储装置230。应用度量收集组件210、呈现组件212和/或溢出引擎220可以被体现为一组编译计算机指令或函数、程序模块、计算机软件服务、或者在一个或多个计算机系统(诸如结合图14描述的计算设备1400)上执行的过程的布置。
在一个实施例中,由系统200的组件执行的功能与一个或多个应用、服务或例程相关联。在一个实施例中,特定应用、服务或例程可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)上操作,可以跨一个或多个用户设备和服务器而分布,或者可以在基于云的系统中被实现。此外,在一些实施例中,系统200的这些组件可以分布在网络上,包括云中的一个或多个服务器(诸如服务器106)和客户端设备(诸如用户设备102a),或者可以驻留在用户设备(诸如用户设备102b)上。此外,这些组件、由这些组件执行的功能、或者由这些组件执行的服务可以在(多个)计算系统的(多个)适当的抽象层(诸如操作系统层、应用层、硬件层等)处被实现。另选地或另外地,这些组件的功能和/或本文中描述的本公开的实施例可以至少部分由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。此外,尽管功能在本文中参考示例系统200中所示的特定组件来描述,但是可以设想,在一些实施例中,这些组件的功能可以跨其他组件被共享或分布。
继续图2,应用度量收集组件210通常负责访问、接收和确定与应用相关联的信息,诸如哪些应用已经被访问或者正在诸如图1的用户设备102a或图1的服务器106之类的设备上运行。应用度量数据232通常是指与应用相关或者可以与应用相关联的任何类型的数据。在一些情况下,应用度量数据232可以对应于在一个时刻与应用相关联的事件。例如,应用度量数据232可以包括由应用提供的内容的指示、针对应用的访问的时间、由应用使用的计算资源、由应用请求的输入的指示等。如此,应用度量数据232可以包括指示以下的任何合适的数据:(1)应用使用;(2)哪些特定应用在使用中,保持打开,和/或正在请求用户输入;以及(3)诸如此类。应用度量数据232可以包括特定应用是钉扎应用还是未钉扎应用的指示,如本文中讨论的。应用度量数据232可以从一个或多个数据源(诸如图1的数据源104an和104b至104n)获得。另外地或另选地,应用度量数据232可以被存储在存储装置230中以供溢出引擎220稍后访问,以至少基于相应的应用度量数据232来布置溢出应用指示符,如本文中讨论的。
在一些实施例中,应用度量收集组件210可以被用于促进与运行在特定设备上的多个应用相关联的应用度量数据232的累积,或者在一些情况下,促进与运行在两个或更多个相关联的设备(诸如通信地耦合到膝上型计算机设备或与膝上型计算机设备相关联的平板计算机设备)上的多个应用相关联的应用度量数据232的累积。应用度量数据232可以由应用度量收集组件210接收或访问并且可选地累积、重新格式化和/或组合,并且被存储在一个或多个数据存储器(诸如存储装置230)中,在该数据存储器中,该应用度量数据可用于系统200的组件或子组件。例如,如本文所述,应用度量数据232可以与对应应用相关联。此外,应用度量数据232可以被用于(由溢出应用分类器222)将应用分类为钉扎应用或未钉扎应用,如下所述。
应用度量数据232可以响应于指示在计算设备(诸如图1的用户设备102a和/或图1的服务器106)上采取的动作的任何数目的事件而被获得。应用度量数据232然后可以被存储在存储装置230中并且与对应应用相关联。例如,在一些实施例中,应用度量数据232可以基于用户与应用或应用指示符交互(例如,选择、触摸、悬停等)经由应用度量收集组件210来获得。与应用指示符的用户交互可以包括点击、触摸、悬停、和/或用于例如从用户设备102a上的数据源104a选择或打开应用的任何其他合适的操作。因此,应当理解,与应用的用户交互包括用于访问特定应用的任何特征或方面的任何合适的输入。例如,用户交互可以包括对呈现在图1的显示器103a上的应用的选择(例如,在平板计算机设备上的触摸输入)。在一个实施例中,对应用指示符的选择引起对应应用的窗口被呈现在图1的显示器103a上。
应用度量数据232可以是与应用相关联的任何类型的数据,诸如应用最近最少被打开或访问的时间、对用户输入的请求、指示应用是在使用中还是关闭的状态(例如,基于应用正在使用的计算资源所确定的)等等。作为示例而非限制,应用度量数据232可以包括基于来自图1的用户设备102a或运行应用的图1的服务器106而确定的数据。例如,应用度量收集组件210可以收集计算设备信息(诸如计费数据、日期/时间、或从计算设备导出的其他信息)、用户活动信息(例如:应用使用;在线活动;搜索;浏览特定类型的网页;听音乐;拍照;语音数据,诸如自动语音识别;活动日志;通信数据,包括呼叫、文本、即时消息和电子邮件;网站帖子;与通信事件相关联的其他用户数据;与用户设备的其他用户交互等),包括在多于一个的用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和时间表数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的流行或趋势项)、在线游戏数据等、电子商务活动(包括来自诸如视频流服务、游戏服务或Xbox/>之类的在线账户的数据)、(多个)用户账户数据(其可以包括来自用户偏好或者与个性化相关(例如,“个人助理”或“虚拟助理”)应用或服务相关联的设置的数据)、家庭传感器数据、电器数据、全球定位系统(GPS)数据、车辆信号数据、交通数据、天气数据(包括预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、简档、网络相关信息(例如,网络名称或ID、域信息、工作组信息、其他网络连接数据,Wi-Fi网络数据、或配置数据、关于型号、固件或设备的数据、设备配对(诸如在用户具有与Bluetooth头戴式耳机配对的移动电话的情况下)或其他网络相关信息)、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的PayPal账户的信息)、购买历史数据(诸如来自用户的Xbox Live、Amazon.com或eBay账户的信息等)、可以被感测或以其他方式检测到的其他数据、基于其他数据而导出的数据(例如,可以从Wi-Fi、蜂窝网络或IP(互联网协议)地址数据导出的位置数据)、在用户的电子日历中指定的日历项、以及如本文所述的可以感测或确定的几乎任何其他数据源。
继续图2,呈现组件212被配置为例如在图1的用户设备102a的显示器103a上生成GUI和相关内容。呈现组件212可以基于计算设备的操作模式或定向来生成GUI。例如,呈现组件212可以接收传感器数据,该传感器数据指示诸如图1的用户设备102a之类的计算设备被定向为平板计算机模式。平板计算机模式中的定向可以对应于计算设备相对于重力矢量被定向,使得显示器屏幕的宽度大于显示器屏幕的高度。响应于确定用户设备102a以平板计算机模式被定向,呈现组件212可以生成GUI的横向视图。作为另一示例,呈现组件212可以接收指示诸如图1的用户设备102a之类的计算设备以台式机模式被定向的传感器数据。台式机模式中的定向可以对应于计算设备相对于重力矢量被定向,使得显示器屏幕的高度大于显示器屏幕的宽度。响应于确定用户设备102a以台式机模式被定向,呈现组件212可以生成GUI的纵向视图。横向视图可以是已经旋转90度的纵向视图的版本。类似地,纵向视图可以是已经旋转90度的横向视图的版本。
在任何一种情况下,呈现组件212都可以将任务栏定位在GUI上的任何合适的位置。在一个实施例中,呈现组件212生成定位在屏幕的底部处的任务栏。例如,当在平板计算机模式中呈现内容时,呈现组件212可以沿着底部宽度(其小于高度)定位任务栏。作为另一示例,当在台式机模式中呈现内容时,呈现组件212可以沿着底部宽度(其大于高度)定位任务栏。虽然这里提供的示例讨论了沿着GUI的底部定位的任务栏,但是应当理解,任务栏可以被定位在GUI上的任何合适的位置以占据GUI上的任何区域。在一个实施例中,用户可以导航到任务栏设置以定制任务栏的位置(例如,将任务栏向右、向左、向顶部或向底部定位)。在一个实施例中,任务栏可以根据默认位置配置被定位,该默认位置配置可以例如基于软件更新、与GUI的用户交互等被改变。
任务栏可以包括与任务栏相关联的任何数目的应用指示符。例如,呈现组件212可以确定特定应用已经被钉扎到任务栏(例如,由用户),使得只有与钉扎应用相对应的指示符位于任务栏上,而与溢出或未钉扎应用相对应的指示符未被包括在任务栏上。相反,如本文中讨论的,与溢出或未钉扎应用相对应的指示符可以通过溢出工具来呈现。如本文中使用的,钉扎应用是指已经被特别指定或分类为具有由呈现组件212包括在任务栏上的对应的可选择的指示符的任何应用。钉扎应用可以手动地或自动地与指示钉扎应用指示符将被包括在任务栏上的任何合适的指定或类别相关联。例如,如本文中讨论的,钉扎应用可以被偏爱,使得只有与偏爱应用相对应的指示符被显示在任务栏上,而与非偏爱应用相对应的指示符被显示在溢出工具上。
继续图2,溢出引擎220通常被配置为提供溢出工具,该溢出工具提高针对不适合任务栏、未被钉扎到任务栏、和/或不与任务栏相关联的应用指示符的应用可访问性,这些应用指示符在本文中被称为溢出应用指示符。溢出引擎220可以包括被配置为确定哪些应用被分类为溢出应用的溢出应用标识符222、被配置为向显示在溢出工具的溢出面板上的溢出应用指示符分配顺序的溢出应用定序器224、以及被配置为生成溢出工具的溢出工具提供器226,如本文所述。
溢出应用分类器222可以基于由应用度量收集组件210确定和/或存储在存储装置230中的应用度量数据232来确定应用是否是溢出应用。在特定实施例中,呈现组件212被配置为生成显示在任务栏上的钉扎应用指示符和显示在溢出工具上的溢出应用指示符,如本文中讨论的。
在特定实施例中,溢出应用分类器222可以确定任务栏上的可用空间(即,被配置为在任务栏上呈现应用指示符但是当前不包括应用指示符的地方或区域),并且确定使用中的溢出应用的数目。基于任务栏上的可用空间,溢出应用分类器222可以确定能够适合任务栏的附加应用指示符的阈值数目。响应于使用中的溢出应用的数目超过附加应用指示符的阈值数目,溢出应用分类器222可以将溢出应用分配给溢出面板。另选地,响应于使用中的溢出应用的数目超过附加应用指示符的阈值数目,溢出应用分类器222可以向任务栏分配等于或小于附加应用指示符的阈值数目的数目的溢出应用,并且向溢出面板分配大于附加应用指示符的阈值数目的溢出应用。
继续图2,溢出应用定序器224被配置为在溢出面板上将溢出应用布置为特定布置。在一些实施例中,溢出应用定序器224可以确定并且向溢出应用分配顺序。溢出应用定序器224可以基于上述的应用度量数据232来确定溢出应用的顺序或布置。针对溢出应用的顺序或布置可以基于针对溢出应用的使用的新近度。例如,在应用已经被分类为溢出应用(由溢出应用分类器222)之后,溢出应用定序器224可以(从存储装置230)确定或获得与每个溢出应用的交互相关联的时间戳。时间戳可以包括对应溢出应用被打开、关闭或最后被交互的时间。
在一些实施例中,最近最多使用溢出应用可以被分配针对溢出面板上的布置的第一位置,并且最近最少使用溢出应用可以被分配针对溢出面板上的布置的最后位置。另选地,在一个实施例中,最近最小化(但仍然打开和运行)的溢出应用可以被排序为第一个,并且最长时间之前被最小化的溢出应用可以被排序为最后一个。以这种方式,溢出应用定序器224可以基于与用户何时与溢出应用交互(例如,打开、最小化和/或关闭)相关联的时间戳从第一个到最后一个来布置溢出应用。
在特定实施例中,溢出应用定序器224可以接收溢出应用何时被交互的指示。响应于接收到该指示,针对被交互的溢出应用的指示符可以被重新定位为朝向溢出应用的顺序的前面布置。以这种方式,响应于与溢出应用的用户交互,与溢出应用及其对应指示符的布置相关联的顺序被动态地更新。
继续图2,溢出工具提供器226可以生成溢出工具,该溢出工具可以包括最近最多使用(MRU)槽、溢出选择指示符、溢出面板和扩展用户界面元素,如下面关于图4至图11所述。在特定实施例中,MRU槽和溢出选择指示符可以相对于任务栏以及位于任务栏上的(多个)钉扎应用指示符被共线地显示。溢出工具提供器226可以按照溢出应用的顺序在MRU槽中显示针对第一溢出应用的指示符。如此,溢出工具提供器226可以基于由溢出应用定序器224确定的顺序的改变来替换显示在MRU槽中的溢出应用指示符。在一个实施例中,当前打开并且由用户使用的溢出应用可以对应于占据MRU槽的溢出应用指示符。另选地,在一个实施例中,针对除了用户当前正在进行交互的应用之外的最近最多使用溢出应用的指示符可以被显示在MRU槽中。通过在MRU槽中呈现最近最多使用溢出应用指示符,溢出工具提供器226促进对最近最少访问的溢出应用的访问,特别是当该溢出应用指示符以其他方式在任务栏上不容易访问时,例如,基于溢出应用不是钉扎应用。
溢出工具提供器226可以响应于特定触发事件而生成溢出面板。例如,响应于接收到与溢出选择指示符的第一用户交互(诸如选择输入、悬停输入、语音命令或触摸输入)的指示,溢出工具提供器226可以生成包括针对最近最多使用溢出应用的指示符的有序布置的溢出面板,如下文关于图4至图6和图13所描述的。溢出面板可以包括针对溢出应用的指示符的共线列表,该指示符相对于任务栏上的钉扎应用指示符平行、垂直或以任何其他合适的布置被定向。在一些实施例中,溢出面板可以沿着GUI的右侧区域或左侧区域被显示在任务栏上方,以促进对溢出应用的访问。通过沿着GUI的右侧区域或左侧区域在任务栏附近显示溢出面板,例如,当计算设备处于平板计算机模式时,溢出工具可以促进对溢出应用指示符的拇指访问,因为溢出应用指示符可以在拇指能伸到的范围内。
如前所述,在一些情况下,可以确定、获得或导出用于显示溢出应用指示符的顺序。如此,溢出应用逻辑235可以被用于确定并且向溢出应用指示符分配顺序等等。溢出应用逻辑235可以包括用于确定用于在溢出面板上显示溢出应用指示符的顺序的规则、条件、关联、分类模型或其他准则。例如,在一个实施例中,溢出应用逻辑235可以包括比较不同溢出应用被打开的时间,以确定针对最近被打开的溢出应用的指示符应当被移动到溢出应用指示符的顺序的前面。取决于用于确定溢出应用的顺序的机制,溢出应用逻辑235可以采取许多不同的形式。例如,溢出应用逻辑235可以包括用于训练神经网络的训练数据,该神经网络被用于评估应用度量数据232(例如,经由应用度量收集组件210接收的)以确定任何数目的溢出应用指示符的顺序。溢出应用逻辑235可以包括静态规则(其可以是预定义的,或者可以按照溢出应用指示符的优选顺序基于设置或偏好来设置)、布尔逻辑、模糊逻辑、神经网络、有限状态机、支持向量机、逻辑回归、聚类或机器学习技术、类似的统计分类过程、其他规则、条件、关联、或者这些的组合,以重新布置用于在溢出面板上呈现溢出应用指示符的顺序。例如,溢出应用逻辑235可以指定与触发用于呈现溢出应用的顺序的重新布置的事件(诸如溢出应用正在启动、溢出应用正在关闭、溢出应用以超过阈值的频率被访问、溢出应用的优先级等)相关联的(多个)用户交互信息的类型。
如图所示,示例系统200包括通常负责向用户呈现内容和相关信息(诸如溢出工具)的呈现组件212。呈现组件212可以包括用户设备上、跨多个用户设备或在云中的一个或多个应用或服务。例如,在一个实施例中,呈现组件212管理跨与用户相关联的多个用户设备向用户的内容呈现。在一些实施例中,呈现组件212可以确定内容以什么格式被呈现。在一些实施例中,呈现组件212生成用户界面特征,如本文所述。这样的特征可以包括界面元素(诸如图形按钮、滑块、菜单、音频提示、警报、警报、振动、弹出窗口、通知栏或状态栏项、应用内通知、或用于与用户接口连接的其他类似特征)、查询以及提示。在特定实施例中,呈现组件212可以基于计算设备是在平板计算机模式还是台式机模式下操作来生成GUI,如本文中讨论的。
如图所示,呈现组件212包括溢出工具定位器240,溢出工具定位器240被配置为计算溢出面板在GUI上的位置。在溢出应用已经被标识和排序之后,呈现组件可以确定屏幕上的位置,溢出面板将被定位在该位置中以呈现溢出应用指示符。在一个实施例中,溢出应用指示符在任务栏上的钉扎应用指示符之后被呈现,并且经由与任务栏分离的溢出面板与任务栏偏移,如本文中讨论的。溢出面板的生成可以基于计算设备是处于台式机模式还是平板模式。
溢出面板可以作为任务栏的扩展被编程到计算设备中,使得溢出工具定位器240计算距任务栏的距离偏移以显示溢出面板。例如,在一个实施例中,溢出工具定位器计算x坐标和y坐标,通过x坐标和y坐标,溢出面板将被显示为相对于任务栏偏移。在一个实施例中,溢出工具定位器240计算相对于将显示溢出面板的中心或开始的任务栏的端部的距离偏移。溢出工具定位器240生成溢出面板,使得溢出应用指示符被放置在任务栏的钉扎应用指示符之后或附近,但是溢出面板的坐标空间与任务栏的坐标空间偏移。以这种方式,由于在显示溢出面板时可以利用GUI的现有布局和设计(在特定实施例中,溢出面板可以是任务栏的扩展),所以可以提高计算效率。
转到图3,例示了根据本公开的一些实施例的示例图形用户界面300的屏幕截图,示例图形用户界面300例示了包括钉扎应用指示符312的任务栏310、以及包括最近最多使用溢出应用指示符322的MRU槽320。GUI 300可以由任何合适的设备(诸如图1的用户设备102a以及图1的服务器106)生成。为了促进区分任务栏310的钉扎应用指示符312与MRU槽320的最近最多使用溢出应用指示符322,GUI 300可以包括将任务栏310与MRU槽320分开的分隔器324。
在特定实施例中,任务栏310沿着显示器的边界被定位,在该示例中,朝向显示器的底部边界。类似地,MRU槽320可以沿着显示器的边界被定位,在该示例中,朝向显示器的底部。在特定实施例中,任务栏310和MRU槽320可以沿着相同的边界被定位,使得MRU槽320相对于任务栏310被共线地定位。另选地,任务栏310和MRU槽320可以沿着不同的边界被呈现。如例示的,GUI还可以包括工作区域330,与任务栏310和MRU槽320相比,该工作区域可以占据更大的显示区域。在一些实施例中,钉扎应用指示符312或溢出应用指示符322的选择可以引起与所选择的应用指示符相对应的内容被呈现在整个工作区域330或工作区域330的一部分上。应当理解,任何数目或组合的钉扎应用指示符312和/或(多个)溢出应用指示符322可以被同时使用或运行,使得它们的对应内容可以被呈现或堆叠在工作区域330上。在一个实施例中,与应用相关联的内容的呈现可以被限制在工作区域330,使得应用可以不覆盖任务栏310、MRU槽320和/或小部件工具栏340的任何部分。小部件工具栏340可以包括与诸如时钟、日期、电池寿命、信号强度、音量等之类的各种功能小部件相对应的指示符。
如上所述,图2的呈现组件212可以生成GUI的各个方面。在所示实施例中,呈现组件212可以基于以台式机模式而呈现的GUI来生成GUI和各种特征。虽然示例GUI 300以台式机模式被呈现,使得显示表面的宽度W1大于高度H1;但是应当理解,GUI也可以以平板计算机模式被呈现,使得显示表面的宽度小于高度,如图5、图7和图8所示。此外,图2的呈现组件212可以定位应用指示符,以便与任何合适的指示符一起显示在任务栏310和/或MRU槽320上。例如,如图所示,任务栏310和/或MRU槽320上的应用指示符可以包括状态指示符350,该状态指示符350被配置为提供视觉指示以在视觉上向用户通知对应的应用指示符当前正在以活动状态和/或挂起状态运行。因此,在特定实施例中,状态指示符350可以从与尚未启动和/或未正在计算设备上运行的应用相对应的指示符被省略。虽然在所例示的示例中,状态指示符350包括在应用指示符下方的标记,诸如条或线,状态指示符350为其提供指示,但是应当理解,状态指示符35可以是突出显示、颜色变化、符号或者任何其他合适的可视化。
继续图3,MRU槽320可以包括与最近最多使用溢出应用相对应的溢出应用指示符322。MRU槽320可以排除钉扎应用指示符312,因为那些钉扎应用指示符已经可以经由任务栏310可容易地访问。在一个实施例中,MRU槽320被配置为呈现一个应用指示符,但是MRU槽也可以被配置为呈现已经例如基于图2的溢出应用定序器224被排序的任何数目的经排序的溢出应用指示符。如上所述,溢出应用定序器224可以基于应用度量数据(例如,图2的应用度量数据232)来确定溢出应用指示符的顺序。
对于MRU槽320被配置为呈现一个溢出应用指示符的情况,MRU槽32可以显示与最近最多使用溢出应用相对应的指示符。最近最多使用溢出应用指示符322可以对应于最近最少呈现在工作区域330上或以其他方式被启动的并且仍然打开的溢出应用。在一个实施例中,当前正在工作区域330上运行或显示的溢出应用从最近最多使用溢出应用指示符322的确定被省略。如此,MRU槽320可以呈现除了当前在呈现GUI 300的计算设备上运行的溢出应用的指示符以外的最近最多使用溢出应用指示符。
对于MRU槽320被配置为呈现多于一个的溢出应用指示符的情况,MRU槽32可以显示与从(1)最近最多使用到(2)最长时间之前使用被排序的最近最多使用溢出应用相对应的指示符。最近最多使用溢出应用指示符322可以对应于最近最少呈现在工作区域330上或以其他方式被启动的并且仍然打开的溢出应用。在一个实施例中,当前正在工作区域330上运行或显示的溢出应用从呈现在MRU槽320上的最近最多使用溢出应用指示符322的确定被省略。如此,MRU槽320可以呈现除了针对当前正在运行的溢出应用的指示符之外的最近最多使用溢出应用指示符中的多于一者。在一个实施例中,当前正在工作区域330上运行或显示的溢出应用在呈现在MRU槽上的最近最多使用溢出应用指示符322的确定中被考虑。
转到图4并且为了促进讨论,溢出扩展控件410、溢出面板421以及它们的对应特征将被统称为溢出工具420。转到将一起讨论的图4至图6,图4是根据本公开的一些实施例的示例台式机GUI 400的屏幕截图,示例台式机GUI 400例示了任务栏310和溢出工具420,该溢出工具420包括MRU槽320和溢出扩展控件410,该溢出扩展控件410在被交互时,生成溢出面板421。与图3相比,图4的示例GUI 400的不同之处在于,它包括溢出扩展控件410、溢出面板421、以及溢出应用指示符422的有序列表。与图4相比,图5是示例平板计算机GUI 500(代替图4的台式机GUI 400)。图6是图4的台式机GUI 400或图5的平板计算机GUI 500的一部分600的放大屏幕截图。
如上所述,为了通过提供用于更容易地访问未被钉扎到任务栏的应用指示符的工具来改善用户体验,溢出工具420提供用于查看和选择最近最多使用溢出应用指示符322的机制(例如,MRU槽320);用于查看溢出应用指示符的动态更新列表的机制(例如,溢出扩展控件410);以及用于选择有序列表中的溢出应用指示符422中的一者的机制(例如,溢出面板421)。在一些实施例中,有序列表可以被动态地排序,使得有序列表基于诸如在溢出应用之间的用户切换之类的任何事件被更新。
如上所述,图2的溢出引擎220可以生成溢出工具420。在一些实施例中,溢出面板421可以响应于与溢出扩展控件410的用户交互(诸如选择输入、语音命令、悬停输入或触摸输入)而被生成。溢出面板421可以沿着GUI的右侧部分被显示在任务栏310上方。如图所示,溢出面板421包括溢出应用指示符422的动态更新列表,该溢出应用指示符是基于最近最多使用的溢出应用按时间顺序被组织的。溢出面板421可以沿着行来列出溢出应用指示符422。例如,如图所示,溢出面板421可以从左到右水平地呈现应用指示符,其中最近最多使用应用的指示符在一端(诸如最左端),而最近最少使用应用的指示符在另一端(诸如最右端)。另选地,溢出面板可以从下向上垂直地呈现应用,其中最近最多使用应用在一端(诸如顶端),而最近最少使用应用在另一端(诸如底端)。
为此,图7是根据本公开的一些实施例的示例平板计算机GUI 700,其例出了被配置为显示溢出面板421的垂直布置710的图4的溢出工具。虽然所例示的示例包括平板计算机GUI 700上的溢出面板421的垂直布置710,但是应当理解,溢出面板421可以以垂直布置710显示在台式机视图(例如,图4的GUI 400)或任何其他合适的视图中。如图所示,垂直布置的溢出面板421可以包括沿着与任务栏310上的钉扎应用指示符312被布置所沿的轴线垂直的轴线而布置的溢出应用指示符422。通过垂直布置,溢出应用可以靠近用户的拇指,由此提高了应用的访问的容易性。应当理解,溢出应用指示符422被布置所沿的轴线可以相对于任务栏310上的钉扎应用指示符312被布置所沿的轴线成任何合适的角度。例如,溢出应用指示符422被布置所沿的轴线可以与任务栏310上的钉扎应用指示符312被布置所沿的轴线以除了90度以外的其他角度或者以90度相交。
根据所公开的实施例,通过沿着不同于任务栏310上的钉扎应用指示符312被布置所沿的轴线来布置溢出应用指示符422,GUI可以促进将钉扎应用与溢出应用区分开。
在一些实施例中,溢出面板421包括面板尺寸调节器720。面板尺寸调节器720可以朝向溢出面板的一个或多个端部被显示,诸如具有溢出面板421的顶端和/或底端或部分。响应于面板尺寸调节器720的选择,溢出面板421可以在尺寸上增加以容纳更多的溢出应用指示符422。面板尺寸调节器720的选择可以引起溢出面板421在高度或宽度上增加,以容纳附加的行或列的溢出应用指示符。在一些实施例中,面板尺寸调节器720(或任何其他合适的控件,诸如箭头、滚动选项卡等)在被选择时可以允许用户滚动到不适合溢出面板421的其他溢出应用指示符422。
为了提供面板尺寸调节器的另一示例,图8是根据本公开的一些实施例的示例GUI800,其例示了被配置为调节溢出面板421的尺寸的面板尺寸调节器720。如图所示,当面板尺寸调节器720被选择时,溢出面板421可以沿着溢出应用指示符422被布置所沿的轴线在尺寸上增大。在该示例中,溢出面板421水平地扩展,但是应当理解,溢出面板421可以被配置为沿着任何方向扩展,以增加显示在溢出面板421上的溢出应用指示符422的数目。
转到图9,描绘了根据本公开的一些实施例的示例GUI 900,其例示了图3的任务栏和图4的溢出工具的特定应用指示符上的标志910。如上所述,GUI可以包括任何数目的附加功能特征。在一些实施例中,溢出工具420包括指示与特定应用相关联的通知的数目的标志910。标志910可以被显示在钉扎应用指示符312或溢出应用指示符422上。在特定实施例中,标志910可以作为数字指示(例如,气泡)被呈现在与具有任何数目的通知的应用相对应的应用指示符上。例如,如图所示,特定应用指示符包括标志910,该标志910具有数字,诸如“7”、“9”和“99”,以指示对应应用当前分别具有7个、9个和99个通知。虽然在所例示的实施例中,标志910包括文本气泡中的数字,但是应当理解,标志910可以经由任何合适的机制在视觉上传送指示与应用相关联的通知的任何信息。
转到图10,描绘了根据本公开的一些实施例的示例GUI 1000,其例示了图3的任务栏310和图4的溢出工具420的特定应用指示符上的强调通知1010。强调通知1010可以用作对应的应用正在等待特定用户输入的视觉指示。例如,在一个实施例中,强调通知1010可以被生成以指示对应的应用正在等待删除或选择。另选地或另外地,强调通知1010可以指示与对应的应用相关联的会话将在任何时间量内到期,例如诸如一分钟或五分钟。虽然强调通知被描绘为虚线/点划线,但是应当理解,强调通知1010可以使用任何合适的区分视觉指示(诸如突出显示、闪烁颜色等)来生成。
图11是根据本公开的一些实施例的示例GUI 1100,其例示了图3的任务栏310和图4的溢出工具420,该溢出工具420包括扩展用户界面元素1110。如图所示,扩展用户界面元素1110可以响应于与溢出面板421的相应的溢出应用指示符422的用户交互而被显示。在该示例中,响应于指示与溢出面板421上的对应于最近最多使用应用的指示符322的用户交互的指示的接收,扩展用户界面元素1110可以被显示在工作区域330上。如上所述,图2的溢出工具提供器226可以生成扩展用户界面元素1110。
如上所述,在一些实施例中,溢出工具420提供用于查看和选择最近最多使用溢出应用指示符322的机制(例如,MRU槽320);用于查看溢出应用指示符的有序列表的机制(例如,溢出扩展控件410);用于选择有序列表中的溢出应用指示符422中的一者的机制(例如,溢出面板421);以及用于预览与溢出面板421中的溢出应用指示符422相对应的特定溢出应用的机制(例如,扩展用户界面元素1110)。在一些实施例中,扩展用户界面元素1110提供预览窗口,该预览窗口描绘与来自溢出面板421的交互指示符相对应的溢出应用的可视表示,该可视表示可以是近乎实时的。以这种方式,GUI 1100可以向用户提供应用的预览,而不会引起应用被最大化或以其他方式被更充分地显示并且因此在工作区域330上占据更多的空间。事实上,在一些实施例中,与对应的应用被启动或打开相比,扩展用户界面元素1110可以占据工作区域330上的更小的部分。
现在转到图12,其描绘了根据本公开的实施例的用于生成溢出面板421(图4至图11)的过程1200。过程1200(和/或本文中描述的任何功能)可以由处理逻辑执行,该处理逻辑包括硬件(例如,电路装置、专用逻辑、可编程逻辑、微码)、软件(例如,在处理器上运行以执行硬件模拟的指令)、固件、或者其组合。尽管本公开中描述的特定块以特定顺序或特定数量被引用,但是应当理解,任何块都可以基本上与任何其他块平行或者在任何其他块之前或之后出现。此外,可以存在比图示的更多(或更少)的块。这样添加的块可以包括体现本文中描述的任何功能的块。如本文中描述的计算机实现的方法、系统(其包括具有至少一个处理器和至少一个计算机可读存储介质的至少一个计算设备)和/或计算机存储介质可以执行或被引起执行本文中描述的过程1200或任何其他功能。
根据框1210,特定实施例确定诸如用户设备102a(图1)之类的计算设备的定向或模式。在一些实施例中,计算设备的定向模式可以包括平板计算机模式、移动模式、台式机模式等,并且还可以基于来自计算设备的传感器反馈。在一个实施例中,定向模式包括用于以特定布置(例如,在平板计算机模式或台式机模式)呈现内容的预设和/或用户可定制的显示设置。框1210的一些实施例可以使用呈现组件212(图2)来执行。框1210的实施例的附加细节、或者用于执行框1210的操作的附加细节结合图2来描述,并且更具体地,结合呈现组件212来描述。
根据框1220,一些实施例基于定向或模式在计算设备上显示的GUI上生成任务栏310(图3至图11)。此外,图3至图11包括与GUI相对应的多个屏幕截图,GUI可以由呈现组件212生成。例如,任务栏310可以朝向屏幕的底部被定位,并且包括多个钉扎应用指示符312(图3至图11),如上所述。框1220的一些实施例可以使用呈现组件212(图2)和/或溢出工具提供器226(图2)来执行。框1220的实施例的附加细节、或者用于执行框1220的操作的附加细节结合图2来描述,并且更具体地,结合呈现组件212和/或溢出工具提供器226来描述。
根据框1230,特定实施例确定任务栏310的坐标空间。特定实施例可以确定钉扎应用指示符被定位的区域的位置和尺寸。例如,特定实施例可以确定任务栏310朝向GUI的底部边界被定位并且被调整尺寸以容纳一行或一列的钉扎应用指示符。框1230的一些实施例可以使用溢出工具定位器240(图2)来执行。框1230的实施例的附加细节、或者用于执行框1230的操作的附加细节结合图2来描述,并且更具体地,结合溢出工具定位器240来描述。
根据框1240,特定实施例确定或计算针对溢出面板的距任务栏的坐标空间的距离偏移。例如,参考图4至图11,一些实施例可以确定溢出面板421的位置与任务栏310的坐标空间的距离偏移。针对溢出面板的距离偏移的确定或计算可以基于使用中的溢出应用的数目,如以上关于溢出应用分类器222(图2)所讨论的。例如,距离偏移可以包括从坐标空间上的位置(诸如任务栏310的端部)到溢出面板421的开始或中心的水平和垂直位移。如此,溢出面板421可以包括溢出应用指示符422,该溢出应用指示符422被放置在任务栏310的附加部分上,该附加部分跟随钉扎应用指示符312,然后任务栏310的包括钉扎应用指示符312的附加部分被移位达所计算或确定的距离偏移,如关于图2的溢出工具定位器240所讨论的。在一些实施例中,用于计算距离偏移的方法可以基于结合图2描述的溢出应用逻辑235。
继续图12并且根据框1250,特定实施例包括基于由图2的应用度量收集组件210累积或确定的距离偏移、任务栏310的坐标空间、定向、模式、和/或任何应用度量数据232在GUI上生成溢出面板421。包括溢出面板421的GUI关于图4至图11被描述。框1250的一些实施例可以使用呈现组件212和/或溢出工具提供器226来执行。框1250的实施例的附加细节、或者用于执行框1310的操作的附加细节结合图2来描述,并且更具体地,结合呈现组件212和/或溢出工具提供器226来描述。
现在转到图13,其描绘了根据本公开的实施例的用于至少基于超过任务栏310(图3至图11)上的可用空间的溢出应用指示符的数目来生成溢出面板421(图4至图11)的过程1300。过程1300和/或本文中描述的任何功能可以由处理逻辑执行,该处理逻辑包括硬件(例如,电路装置、专用逻辑、可编程逻辑、微码或其他硬件)、软件(例如,由处理器执行的指令,其可以执行硬件仿真)、固件、或者其组合。尽管本公开中描述的特定块以特定顺序或特定数量被引用,但是应当理解,任何块都可以基本上与任何其他块平行或者在任何其他块之前或之后出现。此外,可以存在比图示的更多(或更少)的块。这样添加的块可以包括体现本文中描述的任何功能的块。如本文中描述的计算机实现的方法、系统(其包括具有至少一个处理器和至少一个计算机可读存储介质的至少一个计算设备)和/或计算机存储介质可以执行或被引起执行本文中描述的过程1300或任何其他功能。
根据框1310,特定实施例确定任务栏310上的可用空间。任务栏上的可用空间可以对应于任务栏上的尚未被钉扎应用指示符占据的区域。框1310的一些实施例可以使用溢出应用分类器222(图2)来执行。框1310的实施例的附加细节、或者用于执行框1310的操作的附加细节结合图2来描述,并且更具体地,结合溢出应用分类器222来描述。
根据框1320,特定实施例确定使用中的溢出应用的数目。如上所述,“使用中”通常是指已经被启动并且在活动状态或挂起状态下保持打开。例如,当应用被启动时,它可以保持“使用中”,直到应用被关闭并且会话被终止。框1320的一些实施例可以使用溢出应用分类器222来执行。框1320的实施例的附加细节、或者用于执行框1320的操作的附加细节结合图2来描述,并且更具体地,结合溢出应用分类器222来描述。
根据框1330,特定实施例确定使用中的溢出应用的数目对应于超过任务栏310上的可用空间的溢出应用指示符412(图4至图11)。如上所述,钉扎应用指示符312可以占据任务栏310上的空间,使得可用空间是不足以容纳溢出应用指示符422中的全部或一些的空间。另外地或另选地,钉扎应用指示符312可以占据任务栏上的所有空间,使得没有可用空间来容纳任何溢出应用指示符422。框1330的一些实施例可以使用溢出应用分类器222来执行。框1330的实施例的附加细节、或者用于执行框1330的操作的附加细节结合图2来描述,并且更具体地,结合溢出应用分类器222来描述。
根据框1340,特定实施例响应于确定与使用中的溢出应用的数目相对应的溢出应用指示符超过任务栏310上的可用空间,将溢出应用指示符412分配给溢出面板421。在一些实施例中,溢出应用指示符412是否被分配给溢出面板421可以基于由应用度量收集组件210(图2)收集的应用度量数据232(图2中)。框1340的一些实施例可以使用溢出应用分类器222和/或溢出应用定序器224来执行。框1340的实施例的附加细节、或者用于执行框1340的操作的附加细节结合图2来描述,并且更具体地,结合溢出应用分类器222和/或溢出应用定序器224来描述。
根据框1350,特定实施例生成包括溢出应用指示符412的溢出面板421。所生成的溢出面板421的示例在图4至图11的屏幕截图中被例示。如上所述,溢出面板421可以是溢出工具420(图4至图11)的一部分,溢出工具420还可以包括MRU槽320(图3)、溢出扩展控件410(图4)和/或扩展用户界面元素1110(图11)。框1350的一些实施例可以使用溢出工具提供器226(图2)和/或溢出工具定位器240(图2)来执行。框1350的实施例的附加细节、或者用于执行框1350的操作的附加细节结合图2来描述,并且更具体地,溢出工具提供器226和/或溢出工具定位器240来描述。
其他实施例
在一些实施例中,一个或多个计算机存储介质上具有计算机可执行指令,该计算机可执行指令在由硬件处理器执行时引起硬件进程执行方法。该方法可以包括:由硬件处理器设备确定图形用户界面(GUI)的任务栏上的可用空间。可用空间指示使用中的一个或多个第一应用,并且任务栏包括与一个或多个第一应用相对应的一个或多个第一应用指示符。该方法可以包括:确定与一个或多个第二应用相对应的一个或多个第二应用指示符的数目,所述一个或多个第二应用已经被启动并且保持在活动状态或挂起状态的。该方法可以包括:确定所述数目的一个或多个第二应用指示符超过任务栏上的可用空间。该方法可以包括:响应于确定所述数目的一个或多个第二应用指示符超过可用空间,将一个或多个第二应用指示符中的至少一个第二应用指示符分配给溢出面板。该方法可以包括:响应于接收到与任务栏的用户交互的指示,引起显示包括至少一个第二应用指示符的溢出面板。有利地,如本文所述,这些和其他实施例修改传统的GUI操作,以提供对频繁使用或最近使用的计算机应用的更高效的访问。特别地,通过提供可以被动态地更新以显示相关溢出应用的溢出面板来改进计算机GUI技术,由此提高了对这些溢出应用的访问的容易性。此外,通过提供根据本文中描述的特定实施例的溢出面板,节省了计算资源,包括处理操作和能量消耗,因为对溢出应用的访问更高效。此外,在一些实施例中,溢出面板可以被生成为任务栏的扩展,由此减少与生成溢出面板相关联的计算负担,因为溢出面板可以被配置为任务栏的偏移达目标距离的扩展。以这种方式,可以保留现有GUI设计的各方面,同时减少用于改进对最近最多使用软件应用的访问的计算资源。
在上述实施例的任何组合中,确定可用空间可以包括:确定一个或多个第二应用是否与将在任务栏上被指示的一个或多个第一应用相同地被分类。
在上述实施例的任何组合中,一个或多个第一应用被分类为钉扎应用,钉扎应用被钉扎到任务栏,并且一个或多个第二应用与一个或多个第一应用不同地被分类并且未被钉扎到任务栏。
在上述实施例的任何组合中,该方法还可以包括:响应于接收到与溢出面板上的至少一个第二应用指示符的用户交互的指示,生成扩展用户界面元素,扩展用户界面元素包括与至少一个第二应用指示符相对应的应用的用户界面的预览版本。
在上述实施例的任何组合中,任务栏沿着第一轴线被布置在GUI上,并且溢出面板沿着第二轴线被布置在GUI上,第二轴线不同于第一轴线。
在上述实施例的任何组合中,第一轴线平行于第二轴线,第一轴线垂直于第二轴线,或者第一轴线以除90度以外的角度与第二轴线相交。
在上述实施例的任何组合中,该方法还可以包括:响应于接收到与溢出面板的面板尺寸调节器的用户交互的指示,滚动溢出面板,放大溢出面板,或者这两者,以查看一个或多个第二应用的附加第二应用指示符。
在上述实施例的任何组合中,该方法还可以包括:确定一个或多个第一应用中的至少一个应用、一个或多个第二应用、或者这两者需要用户输入;该方法还可以包括:生成关于与至少一个应用相对应的至少一个应用指示符的强调通知。强调通知可以将至少一个应用指示符与和不需要用户输入的应用相对应的应用指示符在视觉上区分开。
在上述实施例的任何组合中,溢出面板的生成包括:引起硬件处理器设备将至少一个第二应用指示符从最近最多使用布置为最近最少使用。
在上述实施例的任何组合中,该方法还可以包括:确定一个或多个第二应用中的另一第二应用已经被访问,以及更新溢出面板上的应用指示符的顺序,以将与所访问的另一第二应用相对应的指示符朝向顺序的开始放置。
在一些实施例中,一种计算机化的系统(诸如在上面的任何实施例中描述的系统)包括显示器、硬件处理器设备、以及存储有计算机可读指令的存储资源,该计算机可读指令在由硬件处理器设备执行时实现方法。该方法包括:引起图形用户界面(GUI)被呈现在显示器上,使得GUI包括(i)工作区域、(ii)任务栏、(iii)溢出扩展控件、以及(iv)最近最多使用(MRU)槽。任务栏可以包括至少一个应用指示符,至少一个应用指示符被钉扎到任务栏,其中与被显示显示在MRU槽上的第一未钉扎应用相对应的指示符从任务栏被省略。该方法包括:接收与第二未钉扎应用的用户交互的指示。该方法包括:响应于用户交互,(1)引起与被显示在MRU槽上的第一未钉扎应用相对应的指示符被与第二未钉扎应用相对应的指示符替换,以及(2)引起溢出面板显示与多个未钉扎应用相对应的多个指示符的重新组织的布置,以将与第二未钉扎应用相对应的指示符重新布置到溢出面板上的多个指示符的列表的开始。有利地,如本文所述,这些和其他实施例修改传统的GUI操作,以提供对频繁使用或最近使用的计算机应用的高效访问。特别地,通过提供可以被动态地更新以基于多个因素来显示针对相关溢出应用的指示的溢出面板来改进计算机GUI技术,由此提高了对这些溢出应用的访问的容易性。此外,通过提供根据本文中描述的特定实施例的溢出面板,节省了计算资源,包括处理操作和能量消耗,因为对溢出应用的访问更高效。此外,在一些实施例中,溢出面板可以被生成为任务栏的扩展,由此减少与生成溢出面板相关联的计算负担,因为溢出面板可以被配置为任务栏的偏移达目标距离的扩展。以这种方式,可以保留现有GUI设计的各方面,同时减少用于改进对最近最多使用软件应用的访问的计算资源。
在系统的上述实施例的任何组合中,该方法可以包括:响应于接收到与多个未钉扎应用中的相应的未钉扎应用的在溢出面板上的相应的指示符的另一用户交互,引起预览相应未钉扎应用的内容的扩展用户界面元素在工作区域上被生成,使得扩展用户界面占据小于工作区域的总面积。
在系统的上述实施例的任何组合中,溢出面板被定位在扩展用户界面元素与溢出扩展控件之间。
在计算机化的系统的上述实施例的任何组合中,该方法包括:响应于接收到与溢出扩展控件的另一用户交互,引起溢出面板在工作区域上被生成。
在系统的上述实施例的任何组合中,溢出面板被生成为包括与沿着第一轴线布置的多个未钉扎应用相对应的多个指示符,并且任务栏上的多个钉扎应用沿着第二轴线被布置。
在系统的上述实施例的任何组合中,第一轴线平行于第二轴线,第一轴线垂直于第二轴线,或者第一轴线以除90度以外的角度与第二轴线相交。
在一些实施例中,提供了一种计算机实现的方法。该方法可以包括:确定计算设备的物理定向或操作模式。该方法可以包括:在呈现在计算设备的显示器上的图形用户界面(GUI)上生成任务栏,使得该任务栏包括与已经被钉扎到任务栏的第一多个应用相对应的第一多个应用指示符。该方法可以包括:确定任务栏的坐标空间,使得坐标空间包括任务栏的相对于GUI的位置以及任务栏的相对于GUI的尺寸。该方法可以包括:基于任务栏的坐标空间来确定距任务栏的距离偏移。该方法可以包括:基于距离偏移、任务栏的坐标空间、物理定向、或操作模式、或者其组合在GUI上生成溢出面板。溢出面板可以包括第二多个应用指示符,该第二多个应用指示符对应于已经被启动并且在活动状态或挂起状态下保持打开的第二多个应用。有利地,如本文所述,这些和其他实施例修改传统的GUI操作,以提供对频繁使用或最近使用的计算机应用的更高效的访问。特别地,通过提供可以被动态地更新以基于任何数目的因素(例如,距离偏移、任务栏的坐标空间、物理方向、或操作模式、或者其组合)显示针对相关溢出应用的指示的溢出面板来改进计算机GUI技术,由此提高了对这些溢出应用的访问的容易性。此外,通过提供根据本文中描述的特定实施例的溢出面板,节省了计算资源,包括处理操作和能量消耗,因为对溢出应用的访问更高效。此外,在一些实施例中,溢出面板可以被生成为任务栏的扩展,由此减少与生成溢出面板相关联的计算负担,因为溢出面板可以被配置为任务栏的偏移达目标距离的扩展。以这种方式,可以保留现有GUI设计的各方面,同时减少用于改进对最近最多使用软件应用的访问的计算资源。
在上述实施例的任何组合中,生成溢出面板包括:接收与溢出面板上的第二多个应用指示符中的应用指示符的用户交互,确定与溢出面板的第二距离偏移,以及基于用户交互和第二距离偏移生成包括与应用指示符相对应的应用的内容的扩展用户界面元素。
在上述实施例的任何组合中,生成溢出面板可以包括:扩展任务栏的尺寸,在任务栏的扩展部分上生成第二多个应用指示符,移除任务栏的扩展部分,以及将任务栏的扩展部分与任务栏偏移达距离偏移,其中扩展部分对应于溢出面板。
在上述实施例的任何组合中,操作模式包括平板计算机模式或台式机模式。
示例性操作环境概述
已经描述了本公开的各种实施例,现在描述适合于实现本公开的实施例的示例性计算环境。参考图14,示例性计算设备被提供并且被通常称为计算设备1400。计算设备1400只是合适的计算环境的一个示例,并且不旨在对本公开的使用范围或功能提出任何限制。计算设备1400也不应当被解释为具有与所例示的组件的任一者或组合相关的任何依赖性或要求。
本公开的实施例可以在计算机代码或机器可用指令的一般上下文中被描述,包括由计算机或其他机器(诸如个人数据助理、智能电话、平板计算机或其他手持设备)执行的计算机可用或计算机可执行的指令,诸如程序模块。通常,程序模块(包括例程、程序、对象、组件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。本公开的实施例可以在包括手持设备、消费者电子产品、通用计算机、更专业的计算设备等的各种系统配置中被实践。本公开的各实施例也可以在分布式计算环境中被实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质(包括存储器存储设备)两者中。
参考图14,计算设备1400包括直接或间接耦合以下设备的总线1410:存储器1412、一个或多个处理器1414、一个或多个呈现组件1416、一个或多个输入/输出(I/O)端口1418、一个或多个I/O组件1420、以及说明性的电源1422。总线1410表示可以是一条或多条总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,图14的各个块用线示出,但是实际上,这些块表示逻辑的而不一定是实际的组件。例如,可以将诸如显示设备之类的呈现组件视为I/O组件。此外,处理器具有存储器。本文的发明人认识到这是本领域的性质,并且重申图14的图仅仅是可以结合本公开的一个或多个实施例来使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间没有进行区分,因为所有这些都在图14的范围内并且参考“计算设备”来考虑。
计算设备1400通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备1400访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性的、可移动和不可移动的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可以被用于存储期望信息并且可以由计算设备1400访问的任何其他介质。计算机存储介质本身不包括信号。通信介质通常体现计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息传递介质。术语“调制数据信号”是指具有以在信号中对信息进行编码的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学介质、RF介质、红外介质和其他无线介质)。上述各项中的任何的组合也应当被包括在计算机可读介质的范围内。
存储器1412包括以易失性和/或非易失性存储器的形式的计算机存储介质。存储器可以是可移动的、不可移动的、或者其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备1400包括从诸如存储器1412或I/O组件1420之类的各种实体读取数据的一个或多个处理器1414。(多个)呈现组件1416向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
I/O端口1418允许计算设备1400在逻辑上耦合到其他设备,包括I/O组件1420,其中的一些可以是内置的。示例性组件包括麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪、打印机、无线设备等。I/O组件1420可以提供自然用户界面(NUI),该NUI处理由用户生成的空中手势、语音或其他生理输入。在一些情况下,输入可以被传输到适当的网络元件以进行进一步处理。NUI可以实现语音识别、触摸和手写笔识别、面部识别、生物特征识别、屏幕上和屏幕附近两者的手势识别、空中手势、头部和眼睛跟踪、以及与计算设备1400上的显示器相关联的触摸识别的任何组合。计算设备1400可以被配备有用于手势检测和识别的深度相机,诸如立体相机系统、红外相机系统、红-绿-蓝(RGB)相机系统、以及这些的组合。此外,计算设备1400可以被配备有能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备1400的显示器,以渲染沉浸式增强现实或虚拟现实。
计算设备1400的一些实施例可以包括一个或多个无线电1424(或类似的无线通信组件)。无线电1424传输和接收无线电或无线通信。计算设备1400可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备1400可以经由诸如码分多址(“CDMA”)、全球移动通信系统(“GSM”)或时分多址(“TDMA”)之类的无线协议进行通信,以及经由其他协议与其他设备通信。无线电通信可以是短距离连接、长距离连接、者或短距离和长距离无线电信连接两者的组合。当提到“短”和“长”类型的连接时,并不是指两个设备之间的空间关系。相反,通常将短距离和长距离称为不同的类别或类型的连接(即,主连接和辅连接)。作为示例而非限制,短距离连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的连接,诸如使用802.11协议的无线局域网(WLAN)连接;到另一计算设备的Bluetooth连接是短距离连接或近场通信连接的第二示例。作为示例而非限制,远距离连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一者或多者的连接。
示例分布式计算系统环境
现在参考图15,图15示出了其中可以采用本公开的实现的示例分布式计算环境1500。特别地,图15示出了可以托管技术解决方案环境或其一部分(例如,数据受托方环境)的示例云计算平台1510的高级别架构。应当理解,本文中描述的这一布置和其他布置仅作为示例来阐述。例如,如上所述,本文中描述的许多元素可以被实现为分立或分布式组件,或者与其他组件相结合来实现,并且以任何合适的组合和位置来实现。除了所示的布置和元素以外或者代替所示的布置和元素,也可以使用其他布置和元素(例如,机器、接口、功能、命令、以及功能的分组)。
数据中心可以支持分布式计算环境1500,该分布式计算环境1500包括云计算平台1510、机架1520以及机架1520中的节点1530(例如,计算设备、处理单元或刀片)。该技术解决方案环境可以用云计算平台1510来实现,该云计算平台跨不同的数据中心和地理区域来运行云服务。云计算平台1510可以实现结构控制器1540组件,用于供应和管理云服务的资源分配、部署、升级和管理。通常,云计算平台1510用于以分布式方式存储数据或运行服务应用。数据中心中的云计算基础设施1510可以被配置为托管并且支持特定服务应用的端点的操作。云计算基础设施1510可以是公共云、私有云或专用云。
节点1530可以被配备有在节点1530上运行限定的软件堆栈的主机1550(例如,操作系统或运行时环境)。节点1530还可以被配置为执行云计算平台1510内的专用功能(例如,计算节点或存储节点)。节点1530被分配来运行租户的服务应用的一个或多个部分。租户可以是指使用云计算平台1510的资源的客户。云计算平台1510的支持特定租户的服务应用组件可以被称为多租户基础设施或租赁。术语“服务应用”、“应用”或“服务”在本文中可以互换使用,并且广义地是指在数据中心之上运行或者访问数据中心内的存储和计算设备位置的任何软件或软件部分。
当节点1530支持多于一个的单独的服务应用时,节点1530可以被划分为虚拟机(例如,虚拟机1552和虚拟机1554)。物理机也可以并行地运行单独的服务应用。虚拟机或物理机可以被配置为由云计算平台1510中的资源1560(例如,硬件资源和软件资源)支持的个性化计算环境。可以设想,可以为特定服务应用配置资源。此外,每个服务应用可以被划分为功能部分,使得每个功能部分能够在单独的虚拟机上运行。在云计算平台1510中,多个服务器可以被用于在集群中运行服务应用和执行数据存储操作。特别地,服务器可以独立地执行数据操作,但是被公开为被称为集群的单个设备。集群中的每个服务器可以被实现为节点。
客户端设备1580可以被链接到云计算平台1510中的服务应用。客户端设备1580可以是任何类型的计算设备,诸如参考图1描述的用户设备102a,并且客户端设备1580可以被配置为向云计算平台1510发出命令。在实施例中,客户端设备1580可以通过虚拟互联网协议(IP)和负载均衡器或者将通信请求引导到云计算平台1510中的指定端点的其他方式与服务应用通信。云计算平台1510的组件可以通过网络(未示出)彼此通信,该网络可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。
在不脱离所附的权利要求的范围的情况下,所描绘的各种组件以及未示出的组件的许多不同布置是可能的。描述本公开的实施例的意图是说明性的而非限制性的。另选的实施例在阅读本公开之后以及因为阅读本公开而对本公开的读者来说将变得很清楚。在不脱离所附的权利要求的范围的情况下,可以完成实现上述内容的另选方式。特定特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用,并且在权利要求的范围内被考虑。

Claims (15)

1.一种计算机实现的方法,包括:
由硬件处理器设备确定图形用户界面(GUI)的任务栏上的可用空间,所述可用空间用于指示使用中的一个或多个第一应用,所述任务栏包括与所述一个或多个第一应用相对应的一个或多个第一应用指示符;
确定与一个或多个第二应用相对应的一个或多个第二应用指示符的数目,所述一个或多个第二应用已经被启动并且保持在活动状态或挂起状态;
确定所述数目的所述一个或多个第二应用指示符超过所述任务栏上的所述可用空间;
响应于确定所述数目的所述一个或多个第二应用指示符超过所述可用空间,将所述一个或多个第二应用指示符中的至少一个第二应用指示符分配给溢出面板;以及
响应于接收到与所述任务栏的用户交互的指示,引起显示包括所述至少一个第二应用指示符的所述溢出面板。
2.根据权利要求1所述的计算机实现的方法,其中确定所述可用空间包括:确定所述一个或多个第二应用是否与将在所述任务栏上被指示的所述一个或多个第一应用相同地被分类。
3.根据权利要求2所述的计算机实现的方法,其中所述一个或多个第一应用被分类为钉扎应用,所述钉扎应用被钉扎到所述任务栏,并且所述一个或多个第二应用与所述一个或多个第一应用不同地被分类并且未被钉扎到所述任务栏。
4.根据权利要求1所述的计算机实现的方法,还包括:
响应于接收到与所述溢出面板上的所述至少一个第二应用指示符的用户交互的指示,生成扩展用户界面元素,所述扩展用户界面元素包括与所述至少一个第二应用指示符相对应的应用的用户界面的预览版本。
5.根据权利要求1所述的计算机实现的方法,其中所述任务栏沿着第一轴线被布置在所述GUI上,并且所述溢出面板沿着第二轴线被布置在所述GUI上,所述第二轴线不同于所述第一轴线。
6.根据权利要求5所述的计算机实现的方法,其中所述第一轴线平行于所述第二轴线,所述第一轴线垂直于所述第二轴线,或者所述第一轴线以除90度之外的角度与所述第二轴线相交。
7.根据权利要求1所述的计算机实现的方法,还包括:
响应于接收到与所述溢出面板的面板尺寸调节器的用户交互的指示,滚动所述溢出面板,放大所述溢出面板,或者这两者,以查看所述一个或多个第二应用的附加第二应用指示符。
8.根据权利要求1所述的计算机实现的方法,还包括:
确定所述一个或多个第一应用中的至少一个应用、所述一个或多个第二应用、或者这两者需要用户输入;以及
生成关于与所述至少一个应用相对应的至少一个应用指示符的强调通知,所述强调通知将所述至少一个应用指示符和与不需要所述用户输入的应用相对应的应用指示符在视觉上区分开。
9.根据权利要求1所述的计算机实现的方法,还包括:生成所述溢出面板,生成所述溢出面板包括:引起所述硬件处理器设备将所述至少一个第二应用指示符从最近最多使用布置为最近最少使用。
10.根据权利要求9所述的计算机实现的方法,还包括:
确定所述一个或多个第二应用中的另一第二应用已经被访问;以及
更新所述溢出面板上的应用指示符的顺序,以将与所访问的所述另一第二应用相对应的指示符朝向所述顺序的开始放置。
11.一种系统,包括:
显示器;
硬件处理器设备;以及
存储资源,所述存储资源上存储有计算机可读指令,所述计算机可读指令在由所述硬件处理器设备执行时引起所述硬件处理器设备:
引起图形用户界面(GUI)被呈现在所述显示器上,其中所述GUI包括(i)工作区域、(ii)任务栏、(iii)溢出扩展控件、以及(iv)最近最多使用(MRU)槽,其中所述任务栏包括至少一个应用指示符,所述至少一个应用指示符被钉扎到所述任务栏,其中与被显示在所述MRU槽上的第一未钉扎应用相对应的指示符从所述任务栏被省略;
接收与第二未钉扎应用的用户交互的指示;以及
响应于所述用户交互,
引起与被显示在所述MRU槽上的所述第一未钉扎应用相对应的所述指示符被与所述第二未钉扎应用相对应的指示符替换;以及
引起溢出面板显示与多个未钉扎应用相对应的多个指示符的重新组织的布置,以将与所述第二未钉扎应用相对应的所述指示符重新布置到所述溢出面板上的所述多个指示符的列表的开始。
12.根据权利要求11所述的系统,其中所述计算机可读指令还引起所述硬件处理器设备:
响应于接收到与所述多个未钉扎应用中的相应的未钉扎应用的相应的指示符在所述溢出面板上的另一用户交互,引起预览相应的所述未钉扎应用的内容的扩展用户界面元素在所述工作区域上被生成,并且其中所述扩展用户界面占据小于所述工作区域的总面积。
13.根据权利要求12所述的系统,其中所述溢出面板被定位在所述扩展用户界面元素与所述溢出扩展控件之间。
14.根据权利要求11所述的系统,其中所述计算机可读指令还引起所述硬件处理器设备:
响应于接收到与所述溢出扩展控件的另一用户交互,引起所述溢出面板在所述工作区域上被生成。
15.根据权利要求11所述的系统,其中所述溢出面板被生成为包括与沿着第一轴线被布置的所述多个未钉扎应用相对应的所述多个指示符,并且所述任务栏上的所述多个钉扎应用沿着第二轴线被布置。
CN202280068512.4A 2021-10-20 2022-08-09 用于计算设备的溢出应用工具 Pending CN118103806A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/506,580 US11880554B2 (en) 2021-10-20 2021-10-20 Overflow application tool for computing devices
US17/506,580 2021-10-20
PCT/US2022/039762 WO2023069174A1 (en) 2021-10-20 2022-08-09 Overflow application tool for computing devices

Publications (1)

Publication Number Publication Date
CN118103806A true CN118103806A (zh) 2024-05-28

Family

ID=83398462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280068512.4A Pending CN118103806A (zh) 2021-10-20 2022-08-09 用于计算设备的溢出应用工具

Country Status (4)

Country Link
US (2) US11880554B2 (zh)
EP (1) EP4419988A1 (zh)
CN (1) CN118103806A (zh)
WO (1) WO2023069174A1 (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6232972B1 (en) * 1998-06-17 2001-05-15 Microsoft Corporation Method for dynamically displaying controls in a toolbar display based on control usage
US7181698B2 (en) * 2002-12-16 2007-02-20 Sap Ag Detachable tabs presenting accessed objects in a multi-tab interface
US8327290B2 (en) * 2004-04-06 2012-12-04 International Business Machines Corporation User task interface in a web application
US20060074929A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Multiple document file tab channel
US7665031B2 (en) 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US7134094B2 (en) * 2005-01-14 2006-11-07 Microsoft Corporation Automatic assigning of shortcut keys
US7512904B2 (en) * 2005-03-22 2009-03-31 Microsoft Corporation Operating system launch menu program listing
US7478339B2 (en) 2005-04-01 2009-01-13 Microsoft Corporation Method and apparatus for application window grouping and management
US9842097B2 (en) * 2007-01-30 2017-12-12 Oracle International Corporation Browser extension for web form fill
US9612847B2 (en) * 2008-02-05 2017-04-04 Microsoft Technology Licensing, Llc Destination list associated with an application launcher
US9201709B2 (en) * 2011-05-20 2015-12-01 Citrix Systems, Inc. Shell integration for an application executing remotely on a server
US9262496B2 (en) * 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US10936631B2 (en) 2016-04-15 2021-03-02 Microsoft Technology Licensing, Llc Person centric applications

Also Published As

Publication number Publication date
US20230123345A1 (en) 2023-04-20
US11880554B2 (en) 2024-01-23
WO2023069174A1 (en) 2023-04-27
EP4419988A1 (en) 2024-08-28
US20240094889A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
US11169705B2 (en) Configuration of application execution spaces and sub-spaces for sharing data on a mobile touch screen device
US10073589B1 (en) Contextual card generation and delivery
CN109753326B (zh) 处理方法、装置、设备和机器可读介质
US11604580B2 (en) Configuration of application execution spaces and sub-spaces for sharing data on a mobile touch screen device
US8245148B2 (en) History display apparatus, history display system, history display method, and program
JP2015210587A (ja) 情報処理装置、プログラム及び情報出力方法
JP2022520094A (ja) インタフェース表示方法及びその装置、端末並びにコンピュータプログラム
US20150095160A1 (en) Method and system for providing advertising on mobile devices
US11327984B2 (en) Computerized systems and methods for query expansion using displayed objects
JP2013504793A (ja) ズーミング・グラフィカル・ユーザー・インターフェース
KR20150065141A (ko) 모바일 디바이스 및 모바일 디바이스의 아이콘 표시 방법
US11200740B1 (en) Systems for generating image-based user interfaces
US20160092563A1 (en) Graphical interface presentation of search results
TW201344476A (zh) 業務物件的篩選方法以及裝置
JP2016520923A (ja) 計算装置上で動作するブラウザのためのマルチパネルビューインタフェース
US9582133B2 (en) File position shortcut and window arrangement
US20130205260A1 (en) Method and apparatus for managing an application in a mobile electronic device
CN111813489A (zh) 一种屏保显示方法、装置及计算机可读存储介质
US20130205253A1 (en) Method and system for completing schedule information, and computer-readable recording medium having recorded thereon program for executing the method
US11880554B2 (en) Overflow application tool for computing devices
US11144186B2 (en) Content object layering for user interfaces
CN114077371A (zh) 信息展示方法、装置、电子设备以及存储介质
US9465515B2 (en) Graphical user interface for mobile presentation application
CN106095861B (zh) 一种信息处理方法及电子设备
US12073076B1 (en) Gestural navigation of a graphical user interface

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