CN114467068B - 基于应用布局和用户工作流来定位用户界面组件 - Google Patents

基于应用布局和用户工作流来定位用户界面组件 Download PDF

Info

Publication number
CN114467068B
CN114467068B CN202080069586.0A CN202080069586A CN114467068B CN 114467068 B CN114467068 B CN 114467068B CN 202080069586 A CN202080069586 A CN 202080069586A CN 114467068 B CN114467068 B CN 114467068B
Authority
CN
China
Prior art keywords
application window
application
display area
existing
workflow
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
CN202080069586.0A
Other languages
English (en)
Other versions
CN114467068A (zh
Inventor
C·克莱因
L·埃德尔迈耶
R·彭莱
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 CN114467068A publication Critical patent/CN114467068A/zh
Application granted granted Critical
Publication of CN114467068B publication Critical patent/CN114467068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1616Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1616Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position
    • G06F1/1618Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position the display being foldable up to the back of the other housing with a single degree of freedom, e.g. by 360° rotation over the axis defined by the rear edge of the base enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1652Details related to the display arrangement, including those related to the mounting of the display in the housing the display being flexible, e.g. mimicking a sheet of paper, or rollable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/02Flexible displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文公开了用于基于已有应用布局和预期的用户工作流来定位应用窗口的技术。当确定已有应用窗口和最近启动的应用窗口与工作流相关,并且确定最近启动的应用窗口的默认位置与已有应用窗口重叠时,最近启动的应用窗口可以被显示在非默认显示区域中以避免遮挡。通过避免遮挡,可折叠设备可以提供用户友好的应用布局,从而减少用户将在工作流中在应用窗口之间移动、调整大小或切换的次数。这进而可以提高设备性能和效率,同时减少可归因于用户输入的错误。用户友好的布局还可以使用户能够同时查看更多内容,从而提高生产力、减少眼睛疲劳、促进诸如剪切和粘贴等的操作。

Description

基于应用布局和用户工作流来定位用户界面组件
背景技术
可折叠计算设备包括具有利用铰链连接的两个屏幕的设备或具有可弯曲屏幕的设备。这些类型的设备可以提供优于传统计算设备(诸如,膝上型计算机)的优势。然而,通常,这些设备实现了最初针对具有传统形式因素的计算设备所设计的用户界面(“UI”)范例,例如,在铰链的相对侧具有屏幕和键盘的可折叠设备。结果,由传统的可折叠计算设备提供的UI可能很笨重并且容易出错,这会导致不正确的、低效的或无意的用户输入以及不必要的计算资源消耗。
本文所提出的公开内容正是针对这些和其他技术挑战提出的。
发明内容
本文公开了用于基于已有应用窗口的布局和预期的用户工作流来定位应用窗口的技术。在一些配置中,***分析活动数据,以标识与工作流相关联的应用窗口。当确定已有应用窗口和最近启动的应用窗口与工作流相关,并且确定最近启动的应用窗口的默认位置与已有应用窗口重叠时,最近启动的应用窗口可以被显示在非默认显示区域中,以减轻内容遮挡。在其他配置中,响应于检测到与工作流的关联,无论已有应用窗口与最近启动的应用窗口之间是否存在任何重叠,最近启动的应用窗口可以被显示在非默认显示区域中。
通过减轻在与相同工作流相关联的用户界面上所显示的内容的遮挡,以及通过在不同显示区域中主动显示与工作流相关联的应用窗口,诸如可折叠设备的多屏设备可以提供用户友好的应用布局,从而减少用户在与工作流相关联的应用窗口之间移动、调整大小或切换的次数。这进而可以提高设备性能和效率,同时减少可归因于用户输入的错误。用户友好的布局还可以使用户能够同时查看更多内容,从而提高生产力、减少眼睛疲劳、促进诸如“拖放”和“剪切粘贴”的操作。这种用户交互的改进还可以导致诸如处理周期、网络带宽和存储器使用的多个计算机资源的效率提高。
在一些配置中,用户工作流是指由两个或更多个应用窗口执行以执行任务的一系列步骤。例如在不同的显示区域上并排显示与工作流相关联的应用窗口通常是有益的。例如,一个应用窗口的内容可以对由另一应用窗口执行的任务给予上下文,从而同时查看两个应用窗口是有益的。
然而,默认情况下,应用窗口被显示在从中启动它的显示区域中。在一些实例中,默认显示区域将已经包含与相同工作流相关联的已有应用窗口。如此,在默认显示区域中显示应用窗口可能会遮挡已有应用窗口的至少部分。这也可能妨碍可折叠设备将应用窗口和已有应用窗口显示在同一显示区域中的有效使用,即使它们不会重叠。例如,在不同的显示区域中显示每个应用窗口允许同时查看更多的每个应用。为了避免遮挡已有应用窗口并且改善用户与可折叠设备的交互,可折叠设备可以在非默认显示区域中显示应用窗口。也可以修改应用窗口的大小和位置以改进应用布局。
例如,电子邮件应用可以在第一显示区域中显示具有附加照片的电子邮件。默认情况下,从电子邮件应用启动的照片查看应用将位于与电子邮件应用相同的显示区域中。在许多情况下,照片查看应用将遮挡电子邮件应用的至少部分,从而降低可用性并且增加了用户在应用窗口之间移动、调整大小和/或切换的可能性。即使照片查看应用不与电子邮件应用重叠,将两个应用窗口挤入到同一显示区域中也可能会提供比在不同显示区域上显示每个应用窗口的更低效的用户界面。为了克服这些缺陷,一些配置确定电子邮件应用和照片查看应用与用户工作流相关联,因为照片查看应用是从电子邮件应用内的UI元素启动的。响应于确定电子邮件应用和照片查看应用与相同工作流相关联,可折叠设备可以将照片查看应用移动到非默认显示区域。
可以存在多个方式以确定两个或更多个应用窗口与工作流相关联。一些技术基于历史活动数据来生成应用窗口名称的列表。可折叠设备然后可以监视应用窗口启动。当所有命名的应用窗口正在同时执行时,应用窗口被认为与工作流相关联。
可以部分地基于应用窗口的先前实例的使用模式来标识应用窗口名称的列表。例如,顺序地启动应用窗口、移动应用窗口以使其位于不同的显示区域中、在不同的应用窗口中打开同一文件、让应用窗***换数据等,所有这些都是可用于标识应用窗口名称的列表的使用模式。
也可以部分地基于由用户经由操作***所做出的关联来生成应用窗口名称的列表。例如,如果两个应用窗口与位于同一文件夹中的快捷方式相关联,或者如果两个应用窗口由单个快捷方式启动,则应用窗口的名称可以被用来生成应用窗口名称的列表。在一些配置中,可以部分地基于具有共享的分类(例如,“生产力软件”)来确定应用窗口名称的列表。
另一技术基于应用窗口中所包含的实时信息来标识与工作流相关联的应用窗口——即,被用来确定应用窗口与工作流相关联的应用状态在应用窗口的相同实例中被找到,应用窗口可以被显示在非默认位置中。例如,当应用窗口彼此已经打开相同文件或其他数据资源时,它们可能与“相同数据资源工作流”相关联。类似地,显示相同或相关内容的应用窗口可能与“相同内容工作流”相关联。“相同数据资源工作流”和“相同内容工作流”以及其他基于运行时的确定不是基于应用窗口名称的列表,这些应用窗口名称根据应用窗口的先前实例的使用模式而被生成。相反,任何满足标准的应用窗口都可以被标识为与工作流相关联。
通过实现所公开的技术,UI可以由更易于利用并且导致更少用户输入错误的可折叠设备来提供。此外,通过避免与UI的低效导航和无意或不正确的用户输入相关联的处理,可以减少可折叠计算设备对计算资源的利用。本文中未具体提及的其他技术益处也可以通过实施所公开的主题来实现。
还应该了解,上述主题可以被实现为计算机控制的装置、计算机实现的方法、计算设备,或者被实现为诸如计算机可读介质的制品。通过阅读以下具体实施方式和查看相关附图,这些和各种其他特征将是明显的。
本发明内容被提供来以简化的形式介绍所公开技术的一些方面的简要描述,所公开技术在具体实施方式中被进一步描述。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在使用本发明内容来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
图1A和图1B是图示了以一种特定配置实现所公开技术的铰接的计算设备的配置和操作方面的设备姿态图;
图2A至图2C是图示了以一种特定配置实现所公开技术的可弯曲计算设备的配置和操作方面的设备姿态图;
图3A和图3B是根据本文公开的一个实施例图示了针对可弯曲设备的多个屏幕模式的各种适配的设备用户界面图;
图4是根据一个实施例的图示了跨越可折叠设备的两个区域的应用的窗口和使用遮挡应用的窗口的底部部分的“正常”绘制模式所显示的任务栏的方面的设备用户界面图;
图5是根据一个实施例的图示了跨越可折叠设备的两个区域的应用的窗口和使用遮挡应用的窗口的中间部分的“害羞(shy)”绘制模式所显示的任务栏的方面的设备用户界面图;
图6是根据一个实施例的图示了跨越可折叠设备的两个区域的应用的窗口和使用遮挡应用的窗口的中间部分的“害羞”绘制模式所显示的任务栏的方面的设备用户界面图;
图7是根据一个实施例的图示了跨越可折叠设备的一个区域的应用的窗口和使用“自豪(proud)”绘制模式而被显示的并且在空白显示区域中未经提示而出现的任务栏的操作方面的设备用户界面图;
图8A是根据一个实施例图示了确定最近启动的应用窗口和已有应用窗口与用户工作流相关联的各方面的设备用户界面图;
图8B是根据一个实施例图示了应用窗口的默认位置的设备用户界面图;
图8C是根据一个实施例图示了与具有已有应用窗口的工作流相关联的用户界面的非默认位置的设备用户界面图;
图9A是根据一个实施例图示了促进在非默认显示区域中启动应用窗口的OS外壳(“shell”)启动表面的各方面的设备用户界面图;
图9B是根据一个实施例图示了在非默认位置中所显示的启动表面的设备用户界面图;
图9C是根据一个实施例图示了在启动表面上的UI元素的激活的设备用户界面图;
图9D是根据一个实施例图示了响应于启动表面上的UI元素的激活而显示应用窗口的设备用户界面图;
图10A是根据一个实施例图示了通过标识使用相同资源的两个或更多应用窗口来标识与工作流相关联的两个或更多应用窗口的各方面的设备用户界面图;
图10B是根据一个实施例图示了与第一应用窗口重叠的第二应用窗口的设备用户界面图;
图10C是根据一个实施例图示了在已经加载了与第一应用窗口相同的文件之后的第二应用窗口的设备用户界面图;
图10D是根据一个实施例图示了由于使用相同数据资源而与工作流相关联的应用窗口的并排布局的设备用户界面图;
图11A是根据一个实施例图示了从已有应用窗口中的UI元素启动应用窗口的方面的设备用户界面图;
图11B是根据一个实施例图示了由于已经从父应用窗口启动了子应用窗口而与工作流相关联的应用窗口的并排布置的设备用户界面图;
图12是根据一个实施例图示了由于一个应用窗口加载由另一应用窗口下载的文件而作为工作流部分的应用窗口的并排布置的设备用户界面图;
图13是示出根据一个实施例的例程的流程图,该例程图示了用于基于应用布局和用户工作流来定位应用窗口的可折叠设备的操作方面;
图14是示出了可以实现本文提出的技术方面的用于计算设备的说明性计算机硬件和软件架构的计算机架构图。
具体实施方式
以下详细描述针对用于在非默认显示区域中适时性地显示应用窗口以增强预测的用户工作流的技术。如上面简要讨论的,所公开技术的实现可以使能够提供更容易利用并且导致更少用户输入错误的UI。因此,与以前的解决方案相比,可以通过避免与UI的低效导航和无意或不正确的用户输入相关联的处理,来减少计算资源的利用。本文中未具体提及的其他技术益处也可以通过实施所公开的主题来实现。
本领域技术人员将认识到,本文公开的主题可以利用各种类型的计算***和模块来实现,其中至少一些在下面被详细描述。本领域技术人员还将了解,本文所描述的主题可以利用其他计算机***配置来实践,包括手持设备、多处理器***、基于微处理器或可编程的消费电子产品、嵌入在设备中的计算或处理***(诸如,可穿戴设备、汽车、家庭自动化等)、嵌入在设备中的计算或处理***(诸如,可穿戴计算设备、汽车、家庭自动化等)等。
在以下详细描述中,对附图进行引用,附图形成详细描述的部分并且通过说明特定配置或示例的方式被示出。现在参考附图,其中相似的附图标记在几幅附图中表示相似的元素,将描述用于适时地移动UI组件以增强所预测的用户工作流的各种技术的方面。
在讨论所公开技术的特定方面之前,将提供对可折叠计算设备(其在本文中可以被称为“可折叠设备”)的简要介绍。如上面简要讨论的,可折叠设备包括具有利用铰链或其他等效机制而被连接在一起的两个物理显示屏的多个屏幕形式因素设备(其在本文中可以被称为“铰接的设备”)。通过借助铰链来操纵显示屏相对于彼此的定向,这样的设备可以被配置成多种姿态,其中一些姿态在下面关于图1A和图1B更详细地描述。
可折叠设备还指的是具有可弯曲显示屏的计算设备(在本文中可以被称为“可弯曲设备”),诸如利用柔性屏幕技术的计算设备。当这样的设备不弯曲时,它呈现单个显示表面。当被弯曲时,这些设备呈现中间有折痕的单个显示表面。可弯曲设备也可以通过改变弯曲量而被配置成多种姿态,其中一些姿态也将在下面参考图1A和图1B更详细地描述。
可折叠计算设备的显示屏可以是触敏的,从而使这些设备能够识别触摸或触针输入、按压、轻扫和其他类型的手势,其中一些手势在下面被描述。当然,这些设备也可以在被保持在各种定向时被使用,其中一些定向在下面关于图1A和图1B进行描述。
现在参考图1A和图1B,将描述关于可折叠显示设备的多个姿态的细节。图1A和图1B中所示的示例图示了铰接的设备102的一些可能姿态。然而,应当了解,所图示的姿态通常也适用于可弯曲设备。
如图1A中所示,铰接的设备102可以通过改变连接两个显示设备104A和104B(在本文中可以被称为“显示器”)的铰链104的角度而被配置成多种姿态。例如,在图1A中,铰接的设备102被示为显示屏幕104A和104B在纵向定向上彼此平行的平坦姿态、在纵向定向上仅单个显示器104B可见的完全打开姿态、以及在纵向定向上铰链104被弯曲的部分打开姿态。铰接的设备102也可以被配置成两个显示屏都不可见的闭合姿态(未示出)。
在图1B中,铰接的设备102被示出:处于平坦姿态,其中显示屏104A和104B处于横向定向;处于帐篷形的和支撑姿态,其中铰接的设备104的角度使铰接的设备102能够独立站立并且呈现单个显示器104A;以及处于部分打开姿态,其中一个显示器104A是平坦的,而另一显示器104B至少部分直立,从而形成类似于传统膝上型计算机的配置。在这点上,应当了解,图1A和图1B中所图示的姿态是说明性的并且其他姿态也是可能的。
还如图1A和图1B中所示,显示设备104A提供涵盖显示器104A的全部或部分的第一显示区域106A。类似地,显示设备104B提供涵盖显示器104B的全部或部分的第二显示区域106B。第一显示区域106A和第二显示区域106B可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息以及能够以视觉形式所呈现的任何其他信息。下面将描述由铰接的设备102提供的显示区域106A和106B的各种用途。
现在参考图2A和图2B,将提供关于可弯曲设备202的配置和操作的细节。如上面所提及,可弯曲设备202也可以被配置成与以上关于图1A和图1B所描述的姿态相同或相似的姿态。例如,在图2B中所示的示例姿态中,可弯曲设备202已经被放置在未弯曲位置,从而呈现整个显示器104C。可弯曲设备202也可以被配置成显示区域都不可见的闭合姿态。
在图2B和图2C中所示的示例姿态中,可弯曲设备202已经被部分弯曲,类似于图1A和图1B中所示的部分打开姿态。特别地,在图2B中所示的示例中,当屏幕104C处于横向定向时,可弯曲设备202已经被弯曲。在图2C所示的示例中,当屏幕104C处于纵向定向时,设备202已经被弯曲。
当可弯曲设备202被弯曲时,在显示器104C中形成折痕或“折叠”204。如本文中所使用的术语“折叠”可以指的是可折叠设备被折叠的范围(即,铰接的设备102上的铰链104的范围或可弯曲设备202的显示器弯曲的范围)。
与铰接的设备102的情况一样,可弯曲设备202也可以提供一个或多个显示区域。然而,在可弯曲设备202的情况下,可用显示区域的数目可以基于设备的姿态而变化。例如,当可弯曲设备202处于如图2A中所示的未弯曲状态时,提供单个显示区域106C。当可弯曲设备202处于弯曲姿态时,诸如图2B中所示,在显示器104C上可以提供两个显示区域106D和106E。下面提供了关于由可折叠设备提供的显示区域106(在整个附图中使用虚线来绘制)的配置和使用的各种细节。
现在参考图3A和图3B,将提供关于针对可弯曲设备202的多个屏幕模式的各种适配的细节。应当了解,为了便于说明,图3A和图3B(以及图4至图9)中所示的可弯曲设备202以二维的方式来示出。然而,这并不旨在指示可弯曲设备202是平放的。
在讨论图3A和图3B以及其他图之前,还应当了解,某些相对术语(例如,高度、宽度、顶部、底部、左、右)可以在本文中被利用来描述本文描述的显示器和显示区域的配置。在这点上,还应当了解,这些术语在本文中为了讨论而被利用,而不是限制显示区域或UI元素的配置。可以利用其他术语来描述显示器、显示区域、UI元素以及它们彼此之间的空间关系。还应该了解,虽然通常是分开描述的,但是可以彼此结合地利用在上面所简要描述的并且在下面进一步详细描述的各种实施例。
如上面简要讨论的,可以在如图3A中所示的纵向定向与如图3B中所示的横向定向之间操纵可折叠设备。同样如上面所讨论的,这些设备可以通过修改铰链的角度而被弯曲到不同程度。在铰接的设备102的情况下,铰链104通常从设备的前部和后部可见。在可弯曲设备202的情况下,从设备的前部看不到铰链,因为可弯曲显示器104C涵盖整个设备。此外,在这两种类型的设备中,铰链都可以配置有传感器,该传感器能够测量铰链的弯曲角度(即“铰链角度”)并且向指定铰链角度的设备的处理器提供数据。
在一个实施例中,可弯曲设备202被配置为,基于设备202的铰链角度在针对单个和多个显示区域106优化的交互模式之间动态转变。例如而非限制,当设备202未弯曲时,可弯曲设备202可能表现得好像它具有单个显示屏并且提供单个显示区域106C。在该示例中,显示区域106C跨整个显示器而延伸,包括其中在弯曲时将出现折痕204的设备202的范围。这种交互模式在本文中可以被称为“单显示区域模式”。
当设备202弯曲时,可弯曲设备202还可以表现为双屏设备并且提供多个显示区域106D和106E。在所图示的示例中,显示区域106D涵盖设备202的整个左侧,并且显示区域106E涵盖设备202的整个右侧。这种交互模式在本文中可以被称为“多个显示区域模式”。如果设备202处于未弯曲姿态并且转变为弯曲姿态,则设备202将从单显示区域模式转变为多个显示区域模式。类似地,如果设备202处于弯曲姿态并且转变为未弯曲姿态,则设备202将从多个显示区域模式转变为单显示区域模式。
在一个实施例中,操作***跨可弯曲设备202的显示屏底部而呈现任务栏302。任务栏302可以提供各种类型的功能性,包括但不限于启动应用、显示通知、显示UI控件以用于配置设备操作的方面(例如更改音量等级)、搜索、查看可用应用、显示时间、启动当前可用窗口的视图等。
在图3A中所示的实施例中,当处于单显示区域模式中时,可弯曲设备202在显示区域106C的整个底部边缘上显示任务栏302。当设备202从单显示区域模式转变为多个显示区域模式时,设备202修改任务栏302的显示以使得它仅涵盖区域106D和106E中的一个区域的底部边缘。在图3B中所示的示例中,任务栏302跨越显示区域106D的底部边缘,然而,在其他实施例中,任务栏302可以以类似的方式被呈现在显示区域106E中。在多个显示区域模式中,任务栏302常常被呈现在显示区域106D或106E中,但是任务栏302也可以同时跨显示区域106D和106E两者而被呈现。
当设备202操作在多个显示区域模式中时,从任务栏302启动的应用所呈现的UI将默认出现在与任务栏302相同的显示区域中。例如,如果任务栏302被显示在显示区域106D中并且被利用以启动应用,则由启动的应用所提供的UI将被示出在显示区域106D中。类似地,如果任务栏302被显示在显示区域106E中并且被利用以启动应用,则由启动的应用所提供的UI将被显示在显示区域106E中。
还如图3B中所图示,当设备202正操作在多个显示区域模式中时,可以在折痕204的大致位置处呈现制品硬件接缝304。在一个实施例中,制品硬件接缝304是在设备202的显示屏上所显示的、显示区域106D和106E之间的竖条。
基于内容遮挡针对UI组件选择绘制模式
现在转向图4,将提供关于用于基于UI组件的得分与任何已有UI的得分的比较来确定针对UI组件的UI绘制模式的技术细节,该已有UI在UI组件被显示时将被UI组件遮挡。“已有UI”是指应用、对话框或其他UI内容的预先存在的窗口。已有UI可能会或可能不会被UI组件遮挡。例如,如果将UI组件的部分设为透明,则一些已有UI可能不会被遮挡。如果UI组件被显示在不同的位置,则已有的UI也可能不会被遮挡。“已遮挡的UI”是指实际被UI组件遮挡的已有UI。
在一种配置中,可折叠设备102计算与UI组件相关联的得分和与任何已有UI相关联的得分。在一些配置中,得分表示UI组件将提供给用户的效用或其他益处的预测量。例如,可折叠设备102可以将更高的得分指派给向用户提供信息或使用户能够执行功能的UI组件。信息的紧急性和功能的重要性也可能影响得分。
可以基于UI组件的历史使用数据来计算得分。例如,可折叠设备102可以将更高的得分指派给与之交互多于平均UI组件的UI组件。类似地,可折叠设备102可以将较低得分指派给已经被解除、最小化或移动到显示器上的***位置的UI组件,而不止是平均UI组件。
可折叠设备102然后可以基于UI组件的得分是否超过已有UI的得分以及在什么程度上超过已有UI的得分来改变UI组件的外观。可折叠设备可以通过使用特定绘制模式来显示UI组件以改变UI组件的外观。绘制模式确定如何显示UI组件,例如选择UI组件的哪些子组件用于显示,什么样的不透明度等级被应用到UI组件,UI组件是否在一段不活动时段后自动隐藏,等等。
当得分之间的差异大并且为正时,即,当与UI组件相关联的得分比与已有UI相关联的得分大至少定义的量时,可折叠设备102可以通过使用自豪绘制模式来显示UI组件以给予UI组件高显著性。
当差异为负时,即,UI组件的得分小于已遮挡的UI的得分,那么可折叠设备102可以通过使用害羞绘制模式来显示UI组件以给予UI组件低显著性。当得分之间的差异没有达到这些阈值中的任何一个阈值时——即,与要被显示的UI组件相关联的得分大于与已有UI相关联的得分,但是小于定义的量,则可折叠设备102可以通过使用正常绘制模式来显示UI组件以给予UI组件中等显著性。
虽然在整个本文档中使用了“正常”、“害羞”和“自豪”绘制模式,但是这些名称和描绘只是示例——影响UI组件如何绘制和响应于用户输入的其他类型的绘制模式也被类似地设想。
在一个特定示例中,可折叠设备102可以响应于确定与任务栏302相关联的得分大于与应用窗口404的已有UI 406相关联的得分但是小于定义的量而使用正常绘制模式来显示任务栏302。由于多种原因,任务栏302的得分可能超过应用窗口404的已有UI 406的得分。例如,已有UI 406可以显示非必要信息或根本没有信息,从而导致较低的得分。
此外,任务栏302可以提供功能性,例如在运行的应用之间进行切换,其使用频率高于其他UI组件,从而使得分增加。任务栏302还可以显示内在的高价值信息,例如安全信息、登录信息、电池寿命信息等,进一步使得分增加。在一些实施例中,当使用正常绘制模式来显示任务栏302时,任务栏302显示完整的标准图标集和其他子组件。附加地或备选地,当使用正常绘制模式来显示任务栏302时,可以将任务栏302设置为完全不透明。
在一些配置中,确定任务栏302与比遮挡UI更高的得分相关联可以包括:标识将被遮挡的应用窗口404的一个或多个部分,并且将这些部分的得分与任务栏302的得分进行比较。每个应用窗口可以与预定的部分列表相关联,例如边缘部分、拐角部分等,并且每个预定部分具有对应的得分列表。部分列表可以对所有应用通用,或者特定于特定应用或应用类型。类似地,与每个部分相关联的得分列表可以对所有应用通用,或者特定于特定应用或应用类型。预定的部分列表和对应的得分可以由应用窗口404的开发方、开发方的遮挡UI组件(诸如,任务栏302)或用户手动选择。
应用窗口404的部分也可以基于历史用户界面交互而被自动标识,诸如鼠标光标倾向于在应用窗口内的什么位置、倾向于在什么位置执行鼠标点击等的历史。针对允许文本编辑的应用,部分可以被标识为***点(也被称为“***符号”)趋向于位于的区域,或者当接收到键盘输入时***点趋向于位于的区域。例如,可折叠设备102可以标识发生用户交互的位置集群,并且将应用窗口的部分定义为包围该集群的几何形状。集群可以是至少具有定义密度的用户交互位置集,例如每小时每平方英寸至少250次交互。
在另一实施例中,可以将部分自动标识为应用窗口内的一个或多个窗口、对话框、控件或其他用户界面元素。例如,如果可折叠设备102确定在应用窗口处底部处的状态栏内接收到大量鼠标输入,则整个状态栏UI元素可以被认为是应用窗口的部分。
在一些配置中,应用窗口的部分或与那些部分相关联的价值可以基于应用窗口404的位置、大小和/或形状而改变。例如,当应用窗口404的高度大于定义的量时,或者如果应用窗口404被最大化,则应用窗口404可以沿着底部具有低价值部分。然而,如果应用窗口小于定义的量,例如当所有应用窗口404显示高价值内容时,同一应用窗口沿着底部可能不具有低价值部分。在一些配置中,可以分析历史用户交互数据,以确定区域变得高价值或低价值的定义的高度。
不管应用窗口的部分是如何被确定的,从用户与应用窗口404的交互所收集的历史数据都可以被编程地分析,以确定针对特定用户而言哪些部分具有低得分、平均得分和高得分。例如,可以分析与以上关于标识部分所讨论的那些类似的用户界面交互的历史,以确定当前用户已经与这些部分交互的频率。然后可以使用交互频率来确定给定部分的得分。可以基于用户最近进行的交互或基于用户的整个用户交互历史来计算应用窗口的部分的得分。
在一些实施例中,可以基于对部分内的内容的分析来为应用窗口的部分指派得分。例如,在贯穿整个文档或跨文档而被重复的文本可能被认为具有低得分,因为重复的文本可能是样板文件。来自应用窗口不同部分的文本也可以由机器学习分类器分析,以标识该部分的得分。在一些配置中,基于内容的分析可以与用户交互历史分析相结合,以将得分指派给应用窗口的部分。
图4图示了使用“正常”绘制模式所显示的UI组件任务栏302。在一些配置中,“正常”绘制模式是应用了默认配置的绘制模式,包括不透明度等级、组成UI子组件的数目和类型等。虽然针对不同的UI组件,“正常”的细节可能有所不同,但许多使用“正常”绘制模式所显示的UI组件将几乎或完全不透明。“正常”绘制模式通常也会利用可直接访问的图标来公开功能,而不是将图标移动到必须在访问图标之前首先被激活的菜单。“正常”绘制模式通常也将保持固定位置,即在定义的不活动时间段后不会自动折叠或以其他方式隐藏。
虽然任务栏302被用作图4中的UI组件的示例,但是其他UI组件被类似地设想,包括任务启动菜单(例如“开始菜单”)、弹出对话框、安全确认屏幕、固定或“始终在顶部”应用、运行对话框、性能监视器、任务管理器等等。类似地,当跨区域106D和106E而显示应用窗口404时,当任务栏302遮挡显示在单个区域中的应用窗口时,也可以使用“正常”绘制模式。
图5是示出使用遮挡应用窗口404的中间部分506的“害羞”绘制模式所显示的任务栏502的方面的设备用户界面图。当可折叠设备102确定,UI组件会遮挡已有UI中的中心、重要或经常使用的信息时,“害羞”绘制模式可以被选择。害羞绘制模式可以使一些或全部UI组件透明或半透明。使用害羞绘制模式所显示的UI组件也可以呈现最小化的用户界面,例如将图标放置在菜单中、使用较小版本的图标等的用户界面。使用害羞绘制模式所显示的UI组件也可以是瞬态的,例如具有自动隐藏其自身的用户界面。
可折叠设备102可以基于确定与任务栏502相关联的得分小于与已有UI相关联的得分(例如,与应用404的部分506相关联的得分)而使用害羞绘制模式来显示任务栏502。例如通过标识将被UI组件遮挡的应用窗口404的部分的列表,并且将每个部分的得分与任务栏502的得分进行比较,可折叠设备102可以基于与以上结合图4所描述的分析类似的分析来做出该确定。如果已遮挡的部分中的一个或多个已遮挡的部分具有比任务栏的得分502更高的得分,那么可以使用害羞绘制模式来显示任务栏502。
在一些配置中,UI组件的部分可以使用正常绘制模式来显示,而同一UI组件的另一部分可以使用害羞绘制模式来显示。例如,如果任务栏502的部分具有比已有UI的部分更高的得分,则可以使用正常绘制模式来显示任务栏502的那些部分。然而,如果任务栏502的其他部分具有比已有UI的部分更低的得分,则可以使用害羞绘制模式来显示任务栏502的这些其他部分。
任务栏502只是可以使用害羞绘制模式而被显示的UI组件的一个示例——其他UI组件和其他类型的UI组件,例如窗口、菜单、图标、对话框等可以类似地使用害羞绘制模式来显示。
在一些配置中,当确定与UI组件相关联的得分相对于与已有UI相关联的得分时,遮挡本身的负面影响可能会降低与UI组件相关联的得分。以这种方式,与比与已有UI相关联的得分更高的得分相关联的UI组件仍可以使用害羞模式来显示。例如,如果UI组件和已有UI的部分按1至100的级别来评分,1表示几乎没有价值,100表示最高价值,那么如果得分为55的UI组件遮挡了与得分为53相关联的已有UI,则得分为55的UI组件通常将被设置为正常绘制模式。然而,如果可折叠设备102确定遮挡本身将UI组件的得分降低了5,有效得分为50,那么UI组件将使用害羞绘制模式来显示——尽管名义上具有高于已有内容的更大得分。
害羞绘制模式可以使像任务栏502这样的UI组件是半透明的,如图5中的虚线所描绘的。通过半透明地显示任务栏502,可折叠设备102允许已有UI 506也是可见的,同时维持任务栏502的正常数目和类型的子组件。如所图示,任务栏502包括与正常绘制的任务栏302相同数目的图标和其他子组件。
在一些配置中,可以基于与已有UI相关联的得分大于与UI组件相关联的得分的程度来设置半透明等级。半透明度可以被设置为可归因于已有UI的半透明图像的百分比。例如,70%的半透明度百分比意味着UI组件与已有UI之间的混合有70%来自已有UI。70%的半透明度百分比可能被认为是高的,例如在已有UI具有明显高于UI组件的价值的情况下而被保留。
例如,如果UI组件具有得分为20而已有UI具有得分为65,则对于45的净得分差,可折叠设备102可以将UI组件的半透明度设置为70%。较小的得分差,例如得分为55的UI组件和得分为65的已有UI,可以对应于50%的半透明度,因为已有UI和UI组件具有可比的得分。
使用害羞绘制模式来显示像任务栏502这样的UI组件也可以使任务栏502是部分透明的,即任务栏502的子组件可以被绘制为轮廓,从而允许已有UI出现在轮廓内。例如,搜索框508可以允许已有UI除了搜索框的轮廓和其中所包含的任何文本之外完全可见。
现在转向图6,将提供关于跨越可折叠设备102的两个区域106的应用窗口404和使用遮挡应用窗口404的中间部分606的“害羞”绘制模式所显示的任务栏602的细节。图6中描绘的害羞绘制模式将任务栏602置于精简模式、省略非必要的子组件、将子组件的大小最小化、将子组件放置在菜单和选项卡中、以及以其他方式采取措施来减小任务栏602的整体大小。可以不透明地绘制任务栏602的精简模式,以使得应用窗口404中的一些窗口保持被遮挡。
在一些配置中,也可以将任务栏602制成半透明的。用于使用害羞绘制模式来显示UI组件的其他技术包括:自动隐藏任务栏602、将任务栏602缩小为单个图标等,该单个图标可以被激活以显示一些或全部任务栏602。例如,任务栏602可以在定义的未使用时段后被叠成单个图标。可折叠设备102可以检测对单个图标的触摸,并且作为响应,恢复一些或全部任务栏602。
现在转向图7,将提供关于跨越可折叠设备102的区域106D的应用窗口704和使用“自豪”绘制模式而被显示的并且在空白显示区域106E中未经提示出现的任务栏702的细节。在一些实施例中,当使用“自豪”绘制模式显示诸如任务栏702的UI组件时,与使用正常模式或自动隐藏模式相比,UI组件使用扩展的模式显示UI组件。扩展的模式可以填充区域106D的未使用部分,以使得自豪UI组件占用它所需要的尽可能多的空间而不会造成遮挡。如图7中所描绘的,如果任务栏702要出现在空白区域106E中,则可折叠设备102确定将不存在遮挡。
可折叠设备102可以确定与任务栏702相关联的得分大于与区域106E的空白空间相关联的得分。例如,由于应用窗口默认位于被用来启动它们的UI组件的显示区域中,因此与区域106E中显示任务栏702相关联的得分可以部分地基于使用户便于启动第二应用,该第二应用在区域106E中具有用于与应用窗口704并排操作的窗口。该得分可以大于区域106E中的空白空间的得分——即,该得分可以大于不因任务栏702未经请求的出现而打扰用户的得分。可折叠设备102可以基于应用窗口704和第二应用窗口历史上以并排配置进行使用的频率来确定用户会评估启动第二应用的价值,该第二应用具有与应用窗口704并排操作的窗口。
在一些配置中,当使用自豪绘制模式自发地显示任务栏702时,任务栏702可以显示、突出显示或以其他方式引起对历史上与应用窗口704同时执行的其他应用的注意,例如历史上已经以并排模式与应用窗口704一起被执行的其他应用。例如,任务栏702可以包括与应用窗口704相关联的应用的“快速启动”图标。在一些配置中,在自豪绘制模式中所提供的“快速启动”图标可以不是由任务栏在正常或害羞绘制模式中所提供的图标。
此外,在自豪绘制模式中所提供的“快速启动”图标可以基于应用窗口704、绘制应用窗口704的应用的类型、由用户最近在应用窗口704中采取的动作等而变化。当应用通常与应用窗口704并排显示时,这使可折叠设备102的用户能够方便地在区域106E中启动应用。在一些配置中,可折叠设备102周期性地分析潜在的UI组件,如任务栏702,以确定是否有任何潜在的UI组件具有足够高的得分以保证主动显示自己而不用用户输入。
当预测用户想要将另一应用启动到区域106E中时在空白空间中显示任务栏702是将UI组件设置为自豪绘制模式的一个原因。类似地设想其他UI组件,诸如应用启动(例如,“开始”菜单),以及用于确定与使用自豪绘制模式来显示UI组件相关联的得分何时大于不是使用自豪绘制模式来显示UI组件的其他标准。进一步考虑了使用其他绘制模式(例如,害羞或正常)来显示的UI组件可以被显示在非默认位置,诸如在默认显示区域上的不同位置或在不同显示区域上的位置。
在一些配置中,除了考虑由UI组件在已有UI上创建的实际遮挡之外,可折叠设备102可以基于任务上下文(即,已经运行的应用的数目、类型和位置)来预测最近启动的应用窗口将在哪里显示以及用户将如何与最近启动的应用窗***互。
例如,用于查看视频内容的应用窗口可以具有用于浏览视频的一个任务上下文和用于观看全屏视频的不同的任务上下文。文字处理应用窗口可以具有用于编辑文档的第一任务上下文、用于查看文档的第二任务上下文、用于审阅文档的第三任务上下文等。该任务上下文信息可以被用来在特定的绘制模式中显示UI组件。例如,如果当前任务上下文和历史使用数据指示最近启动的Web浏览器可以被用来查看全屏视频,则与最近启动的应用窗口重叠或预期与最近启动的应用窗口重叠的任何UI组件都可以被设置为害羞绘制模式。
现在转向图8A,将提供关于确定最近启动的应用窗口806(首先在图8C中描绘)和应用窗口704是用户工作流的部分或以其他方式与用户工作流相关联的细节。通过检测应用窗口704和应用窗口806是工作流的部分,应用窗口806和/或应用窗口704可以根据由工作流定义的布局来进行定位或重新定位。在一些配置中,应用窗口806和/或应用窗口704被显示在不同的显示区域中,因为它们与工作流相关联。在其他配置中,应用窗口806和/或应用窗口704被显示在不同的显示区域中,因为它们与工作流相关联并且如果不移动和/或显示在它们的默认位置,则它们将重叠。由工作流定义的布局可以简化用户与可折叠设备的交互,例如通过减少应用之间的任务切换、减少用户将移动窗口或调整窗口大小的频率,以及本文描述的其他有益结果。
如所描绘的,应用窗口806从位于区域106D中的任务栏302启动。具体地,应用窗口806响应于位于区域106D中的UI元素802的指针804的激活803而被启动。
确定用于应用窗口806的默认显示区域
在一些配置中,可折叠设备102可以使用UI元素802的显示区域作为应用窗口806的默认显示区域。如所描绘的,应用窗口806响应于时钟图标802的激活而被启动,该时钟图标802位于显示区域106D中,并且因此应用窗口806的默认显示区域是显示区域106D。
在其他配置中,可折叠设备102可以使用激活的显示区域作为应用窗口806的默认显示区域。如图8A中所描绘的,激活803发生在显示区域106D中,并且因此可折叠设备102将确定应用窗口806的默认显示区域是显示区域106D。如果任务栏302或UI元素802未被包含在单个显示区域中,则基于激活803的位置来确定应用窗口806的默认显示区域可能是有用的。
在一些配置中,UI元素802的激活803可以由跨越多个显示区域的手势来触发。在这种情况下,可折叠设备102可以使用手势在那里结束的显示区域作为应用窗口806的默认显示区域。
可以从OS外壳表面启动应用窗口806
任务栏302是可以被用来启动或以其他方式显示应用窗口806的操作***(OS)外壳表面的非限制性示例。OS外壳表面指的是由不是应用的部分的操作***显示的任何UI。例如,任务栏302是OS外壳表面,因为它是由操作***生成的并且它不同于任何应用。相比之下,鼠标光标、应用的标题栏、最大化和最小化按钮、应用边框等可以由操作***生成,但与特定应用交织在一起,并且因此不被视为OS外壳表面。OS外壳表面的其他示例包括安全验证对话框、锁定屏幕、开始菜单、桌面图标、性能监视器、控制面板等。具有启动界面的OS外壳界面的其他示例包括开始菜单、用户从中可以键入要启动的应用的名称的“run”对话框等。
指针804可以是手指、触针、笔或其他能够与区域106D的触摸传感器交互的设备。指针804也可以是由鼠标、轨迹球、触控板或其他定点设备所控制的光标。指针804可以通过触摸显示区域106D来引起激活803。然而,类似地设想了激活UI元素802的任何其他方式,包括触摸UI元素802并且保持一段定义的时间段、在UI元素802上悬停一段定义的时间段、激活UI元素802的手势、在鼠标光标位于UI元素802上方时点击鼠标按钮、在UI元素802被选择时激活键盘快捷键等。
在一些配置中,指针804可以被用来输入手势,该手势启动应用窗口806而不与OS外壳表面交互。例如,指针804可以在桌面的背景部分上生成手势,从而使应用窗口806被显示。在这种情况下,可折叠设备102将使用手势在其中发生的显示区域作为应用窗口806的默认显示区域。如果手势发生在多个显示区域上方,则默认显示区域可以是手势在其中结束的显示区域。
也可以从位于已有应用窗口704内的入口点来启动应用窗口806。入口点是指已有应用窗口704内的UI元素,诸如菜单、图标、命令行界面等,它有助于启动新的应用窗口。例如,电子邮件应用可以显示图标,该图标允许用户启动以便显示所附加的幻灯片。
从已有应用窗口704的入口点所启动的应用窗口806的默认显示区域可以是包含已有应用窗口704的显示区域。然而,在其他配置中,应用窗口806的默认显示区域可以是不包含已有应用窗口704的显示区域。在其他配置中,应用窗口806的默认显示区域可以是与包含已有应用窗口704的显示区域相邻的显示区域,与包含已有应用窗口704的显示区域不相邻的显示区域,或被定位成与包含已有应用窗口704的显示区域成特定方向或定向的显示区域。如果已有应用窗口704跨越多个显示区域,则应用窗口806的默认显示区域可以被确定为是包含入口点的显示区域。如果入口点跨越多个显示区域,则应用窗口806的默认显示区域可以被确定为是接收到激活入口点的用户输入的显示区域。
标识应用窗口806是否与工作流相关联
响应于激活803,可折叠设备102可以确定应用窗口806与哪些工作流816(如果有的话)相关联。一些工作流是基于与应用窗口的先前实例相关联的活动数据814的历史分析而被定义的。历史分析可以生成应用窗口名称818的一个或多个列表。然后,响应于启动应用窗口,可以搜索应用窗口名称的一个或多个列表,以确定最近启动的应用窗口和已有应用窗口是否与工作流相关联。历史分析可以包括:确定两个应用窗口被同时显示在不同显示区域中的频率、两个应用窗口是否打开了相同文件或其他资源、是否移动了应用以防止另一应用窗口被遮挡等。
应用窗口还可以基于如何启动应用窗口806来与工作流相关联。例如,如果应用窗口是从父应用窗口启动的子应用窗口,那么应用窗口和父应用窗口被认为与“父子工作流”相关联。
应用窗口还可以基于应用窗口的运行时行为来与工作流相关联,诸如应用窗口正在使用哪些数据资源。可以在应用窗口正在运行时实时做出该确定,并且独立于可能与工作流相关联的应用窗口的列表。
另一用于标识哪些应用窗口与工作流相关联的技术是基于用户经由操作***所做出的关联,例如,通过标识两个应用窗口具有位于同一文件夹中的快捷方式、两个应用窗口从同一快捷方式启动或者两个应用窗口同时从同一快捷方式组来启动。
在一些配置中,可折叠设备102周期性地检查,以确定两个或更多个应用窗口是否已经与工作流相关联。例如,应用窗口806和已有应用窗口704在启动应用窗口806时最初可能不被确定为与任何工作流相关联。然而,加载资源的后续操作(诸如,将文件打开到应用窗口806或已有应用窗口704中的文件加载)可以触发已经找到与应用窗口相关联的工作流的确定。在应用窗口上执行的或与应用窗口一起执行的其他操作,或应用窗口状态中的改变,也可能触发与工作流的关联,包括窗口大小调整,使用与工作流相关联的应用窗口的特定部分,达到用户输入的阈值量或速率或用户输入类型,参与应用间窗口操作,诸如“拖放”或“剪切粘贴”等。一旦已经确定应用窗口与工作流相关联,一个或多个应用窗口可以从默认位置805被移动到非默认显示区域106E以防止遮挡、建立由工作流定义的并排应用布局等。在其他配置中,一旦已经确定应用窗口与工作流相关联,可折叠设备102可以在默认位置805中显示应用窗口806,并且添加用户界面元素,该用户界面元素在被激活时,根据与工作流相关联的布局将应用窗口806移动到非默认显示区域106E。可折叠设备102可以在已有应用窗口704或与工作流相关联的任何其他应用窗口中添加类似的用户界面元素。例如,可以将按钮添加到应用窗口806的标题栏,该按钮在被点击时根据与工作流相关联的布局将应用窗口806移动到非默认显示区域106E。
基于应用窗口的历史分析定义的工作流
关于应用窗口的活动数据的历史分析可以被用来定义用户工作流。历史分析可以被用来创建应用窗口的列表,当被发现同时运行时,这些应用窗口与工作流相关联。应用窗口的列表可以包括也可以不包括启动应用窗口的顺序。例如,工作流可以被定义为应用窗口704后接应用窗口806。在这种情况下,如果应用窗口806在应用窗口704之后而不是在应用窗口704之前启动,则可以标识工作流。在其他配置中,启动应用的顺序不重要。
在一些配置中,历史分析包括:
·两个应用窗口同时运行的频率和时间。
·两个应用窗口在不同显示区域中同时并排显示的频率和时间。
·用户移动应用或调整应用窗口大小以与另一应用窗口处于不同显示区域中的并排配置中的次数。
·用户连续启动两个或更多个应用窗口的次数。
·当已有应用窗口是最近活动的应用窗口时,用户启动应用窗口的次数。
·用户在应用窗口之间复制和粘贴或以其他方式共享内容的次数。
·应用窗口使用相同数据资源(例如同一文件、数据表、网页等)的次数。
这些标准可以被归一化并且被聚合成工作流标准得分。如果对于应用窗口的特定集(或序列),工作流标准得分超过定义的阈值,则应用窗口的集(或序列)可以与工作流相关联。
基于应用窗口的历史分析定义的一些工作流可以限制哪些已有应用窗口可以被认为是工作流的部分。例如,在确定应用窗口806是否是工作流的部分时,一些工作流可能只考虑最近活动的应用窗口。如此,即使由应用窗口806和不是最近活动的应用窗口中的一个或多个应用窗口满足工作流标准,工作流标准没有被满足。在一些配置中,工作流可以允许任何可见的应用窗口成为工作流的部分,而其他工作流可以允许任何正在运行的应用窗口成为工作流的部分。
历史分析可以基于在可折叠设备102上本地所使用的应用窗口。附加地或备选地,历史分析可以基于从多个设备上的多个用户聚合的应用窗口使用。
如上面所讨论的,通过将与已有应用窗口相关联的名称和最近启动的应用窗口的名称(例如outlook.exe和photoviewer.exe)与应用窗口名称的列表中的名称匹配来标识一些工作流。当当前执行或刚刚启动的应用窗口集具有包含在应用窗口名称的列表中的一个列表中的名称时,它们被认为同与该列表相关联的工作流相关。例如,如果应用窗口704是活动的(例如,具有焦点)或最近是活动的,那么响应于激活803,可折叠设备102可以标识包括应用窗口704和应用窗口806的工作流。
应用窗口名称可以是指生成应用窗口的可执行程序的名称,例如outlook.exe可能是由outlook.exe生成的用于显示电子邮件收件箱的应用窗口的名称。应用窗口名称也可以是指可执行文件所显示的特定窗口,诸如Outlook.exe:main,其指的是由Outlook.exe所生成的主窗口,或者Outlook.exe:composemail,其指的是用于撰写电子邮件的窗口。还设想了包括类似信息的其他名称格式。此外,应用窗口名称和/或与可执行文件相关联的特定窗口的名称可以是唯一标识符,例如全局唯一标识符(GUID)、窗口句柄(hWnd)等。
如果没有发现工作流以包括应用窗口中的一个或两个应用窗口,则可折叠设备102可以基于一种或多种应用类型来选择工作流。例如,如果应用窗口704是文字处理器并且应用窗口806是照片查看器,但是没有工作流包括应用窗口704的特定文字处理器和/或应用窗口806的特定照片查看器,则可折叠设备102可以选择与文字处理应用和/或照片查看应用兼容的工作流。在一些实施例中,可折叠设备102可以从“应用商店”、在线百科全书或其他应用分类数据源来检索应用类型信息。
从多个工作流中进行挑选
当多个工作流使其标准被满足时,可以应用工作流选择规则,以选择在对激活803进行响应时要使用的特定工作流。例如,可以选择具有更具体要求的工作流而不是具有更一般要求的工作流,以使得与特定类型的文字处理器兼容的工作流(例如微软将在一般与文字处理器兼容的工作流中被选择。类似地,与活动应用窗口兼容的工作流,或者如果没有活动应用窗口,则不是与后台应用兼容的工作流而是最近活动的应用窗口将被选择。在一些配置中,当在应用规则之后仍有多个工作流用于选择时,可以采用明确的用户选择、最近使用的工作流、随机选择或其他技术来选择工作流。
工作流定义了如何布置应用窗口
在一些配置中,除了定义哪些应用窗口与工作流相关联之外,工作流可以定义如何布置应用窗口。例如,工作流可以定义将电子邮件应用窗口放置在第一显示区域中,而将照片查看应用窗口放置在第二显示区域中。在一些配置中,工作流可以定义:如果已经运行的应用窗口位于第一显示区域中,那么另一应用窗口可以被移动到第二显示区域。以这种方式,已经运行的应用窗口保持在它原来的位置,减少了用户混淆。
工作流还可以指定两个或更多个应用窗口将位于相同显示区域中,在这种情况下,工作流可以指定如何在显示区域内布置这些应用窗口。例如,应用布局可以指定web浏览器将被显示在显示区域的上半部分中,而视频共享应用将被显示在显示区域的下半部分中。
在一些配置中,工作流可以指定应用窗口将位于可折叠设备102的特定侧上的显示区域中,诸如可折叠设备102左侧上的显示区域中。例如,包括电子邮件应用和照片查看应用的工作流可以包括应用布局,该应用布局将电子邮件应用放置在左侧显示区域中同时将照片查看应用显示在右侧显示区域中。在标识工作流时,可折叠设备102可以推断出此布局,如果应用的一侧比另一侧使用得更多,例如如果电子邮件应用的右侧比电子邮件应用的左侧使用得更多,那么与工作负载相关联的另一应用窗口可以被放置成与更频繁使用的一侧相邻。这通过最小化用户在应用窗口之间来回查看时移动其视觉焦点的平均距离来最小化用户的眼睛疲劳。
可折叠设备102还可以基于哪些硬件设备被哪些应用窗口利用以及基于哪些硬件设备被包括在哪些显示区域中来推断将特定应用窗口优先定位在特定显示区域中的布局。例如,可折叠设备102可以确定视频会议应用频繁使用面向用户的相机,并且因此当推断出包括视频会议应用的工作流布局时,可折叠设备102可以将视频会议应用定位在包括面向用户的相机的显示区域中。
现在转向图8B,图示了应用窗口806的默认位置805——即,如果由于与工作流相关联而没有改变位置,则应用窗口806将被显示的位置。如所描绘的,默认位置805与应用窗口704重叠。然而,响应于接收到对图标802的触摸803,并且在确定应用窗口806和应用窗口704与工作流相关联之后,可折叠设备102可以在非默认显示区域106E中显示显示应用窗口806,从而避免与作为相同工作负载部分的应用窗口重叠,提高用户交互性。可折叠设备102可以在非默认显示区域106E中显示应用窗口806,即使应用窗口806遮挡了一些或全部已有用户界面814,因为以非重叠方式来布局与工作流相关联的应用窗口对用户的益处可能超过了避免遮挡已有用户界面814的益处。
确定要重新定位哪个应用窗口
可折叠设备102可以选择将用户工作流的哪个(多个)应用以重新定位到非默认显示区域。在一些配置中,最近启动的应用窗口806被移动到非默认显示区域106E,因为用户可能已经习惯了已有应用窗口704的位置和大小。如果用户已经定制了已有应用窗口704的大小和/或位置,则可折叠设备102甚至更不可能移动已有应用窗口704。
在其他配置中,可以将两个应用窗口中的较小应用窗口移动到非默认显示区域106E,因为这最小化了移动的视觉影响。在其他配置中,已有应用窗口被重新定位,从而允许最近启动的应用窗口806被显示在默认位置106D中,因为这可以降低用户找不到最近启动的应用窗口806的可能性。
在一些配置中,工作流本身可以指定应该优先移动哪个应用窗口或哪种类型的应用。这可以反映用户偏好或由应用或操作***供应方所做的默认选择。例如,如果最近启动的应用窗口显示文字处理文档,而已有应用窗口显示在文字处理文档中找到的定义,则与两个应用窗口相关联的用户工作流可以指示应当优先移动词典应用,而文字处理应用应当被优先显示在默认显示区域中。该决定可以基于文字处理应用是主要应用的判断,并且因此,如果移动它,则对用户来说会更加不和谐。
覆盖由于已有UI而导致的重新定位
在一些配置中,移动作为相同用户工作流部分的一个或多个应用的决定可以被覆盖。例如,如果显示区域106E被确定为包含与应用窗口704相比得分特别高的已有UI,则可折叠设备102可以选择不将应用窗口806重新定位到显示区域106E,即使应用窗口806和应用窗口704是相同用户工作流的部分。在这种情况下,应用窗口806可以被显示在默认位置805中,遮挡应用窗口704的至少部分。
降低非默认显示区域中的已有UI的优先级
在一些配置中,当在非默认显示区域上移动或以其他方式定位应用窗口806时,可折叠设备102可以最小化、关闭、移动到第三显示区域,或以其他方式操纵非默认显示区域中的已有UI。例如,如果笔记记录应用在目的地显示区域(例如,显示区域106E)中打开,但不是工作流的部分,则可折叠设备102可以在目的地显示区域中显示应用窗口806之前最小化笔记记录应用。
在一些配置中,可折叠设备102包括三个或更多个显示区域。在这种场景中,可折叠设备102可以基于与每个显示区域的已有UI相关联的得分来选择两个或更多个非默认显示区域中的一个非默认显示区域。例如,如果可折叠设备102具有与显示区域106D相邻的第三显示区域106F,那么可折叠设备102可以基于与显示区域106E和106F相关联的得分来选择用于应用窗口806的显示区域。具体地,可折叠设备102可以选择包含具有最低得分的已有UI的显示区域。可以为空白显示区域指派得分“0”。在一些配置中,可折叠设备102可以通过将已有UI移动到第三显示区域106F来降低非默认显示区域106E中的已有UI的优先级。
在一些配置中,可能难以有置信度地确定特定应用窗口是否是特定工作流的部分。例如,应用窗口可以共享要与“共享内容工作流”相关联的最少量的内容。或者,当由工作流定义的底层应用之间存在更短或更小的交互历史记录时,可折叠设备102可能对应用窗口与工作流相关联具有较低的置信度。当应用窗口与工作流相关联的置信度等级存在差异时,可以选择具有最低置信度的应用窗口而被显示在非默认区域中。
工作流可以包括多个步骤
在一些配置中,用户工作流包含涉及多个应用窗口的多个步骤。每个工作流步骤都可以执行任务,诸如打开带有照片附件的电子邮件、在照片查看器中查看所附的照片、使用专门构建的应用将所附的照片上传到社交媒体网站、在照片编辑应用中编辑照片等。当工作流利用比可折叠设备102具有显示区域更多的应用窗口时,可折叠设备102可以降低已经被用来执行步骤的应用窗口的优先级。可折叠设备102还可以降低被用来执行被估计为具有较低重要性的步骤的应用窗口的优先级。可折叠设备102还可以提高被用来执行尚未完成的工作流步骤和/或被估计为具有更高重要性的工作流步骤的应用窗口的优先级。
如图8C中所描绘的,所公开的实施例的各方面使应用窗口806被显示在非默认显示区域中,例如显示区域106E。在一些配置中,可折叠设备102在显示区域106E中显示应用窗口806而不考虑显示区域106E中的已有UI 812——即,应用窗口806将遮挡已有UI 812。虽然利用已有UI 812的单个窗口来描绘图8C,但是类似地设想已有UI的多个窗口可以位于显示区域106E中,并且被应用于已有UI 812的单个窗口的分析可以被推测以应用于已有UI的多个片段。
在一些配置中,可折叠设备102可以将与在显示区域106E中显示已有UI 812相关联的得分和与在显示区域106E中显示应用窗口806相关联的得分进行比较。如上面所讨论的,得分可以量化用户界面的用户的益处。如果与显示应用窗口806相关联的得分大于与显示已有UI 812相关联的得分,则应用窗口806可以被显示在显示区域106E中,导致当存在重叠时遮挡已有UI 812。然而,如果与已有UI 812相关联的得分大于与应用窗口806相关联的得分,则应用窗口806可以被显示在显示区域106D的默认位置805中。在其他配置中,如果与已有UI 812相关联的得分大于与应用窗口806相关联的得分,则应用窗口806可以被显示在已有UI 812下方(即被遮挡)的非默认显示区域106E中。
可以基于多个标准来修改与在显示区域106E中显示应用窗口806和已有UI 812相关联的得分。例如,与显示应用窗口806相关联的得分可以基于用户感知到的、根据工作流布局已有应用窗口704和应用窗口806的益处而增加。在一些配置中,感知到的益处是在工作流中硬编码或由最终用户提供的。在其他配置中,可以基于应用窗口704和应用窗口806是工作流部分的置信度来计算感知到的益处。如果存在应用窗口704和应用窗口806是工作流810的部分的置信度很高,那么用户更有可能受益于采用工作负载中定义的应用布局,并且因此与在非默认显示区域106E中显示应用窗口806相关联的得分相应地增加。
附加地或备选地,还可以基于应用窗口704与应用窗口806的连接有多强来计算感知到的益处。例如,如果应用窗口704和应用窗口806的先前实例具有强连接,例如从历史上看,它们一次已经并排被使用了很多小时,根据工作流布局应用窗口704和应用窗口806的感知到的益处可能大于如果先前的实例不经常一起使用的情况。在其他配置中,根据工作流来布局应用窗口704和应用窗口806的感知到的益处可以基于创建工作流所依据的标准而改变。例如,与基于频繁使用相同数据资源的底层应用所标识的工作流相比,基于历史使用情况所标识的工作流(例如,每天并排运行数小时)可能与更高感知到的益处相关联。
在一些配置中,在区域106E中显示应用窗口806的价值可以被打折,以解释在应用窗口806被绘制在非默认位置时的***混淆。在这些情况下,即使在区域106E中显示应用窗口806的价值略高于显示已有UI 812的价值,可折叠设备102也可能会在区域106D中显示应用窗口806,以考虑潜在的用户混淆。
现在转向图9A,将提供关于有助于在非默认显示区域中启动应用窗口的OS外壳启动表面的细节。在一些配置中,OS外壳启动表面是应用启动菜单,例如由微软操作***所使用的“开始菜单”。然而,类似地设想了其他类型的启动表面,包括任务栏、运行菜单、上下文菜单(即“右键单击菜单”)等。
图9A至图9D描绘了在非默认显示区域106E中显示启动表面。因为启动表面位于显示区域106E中,所以从启动表面所启动的任何应用也将位于显示区域106E中。可以执行这种将启动表面移动到非默认显示区域的技术代替或附加于以上结合图8A至图8C描述的技术,在其中当在非默认显示区域中启动应用窗口时启动表面(例如,任务栏302)保持在默认位置。
如所描绘的,可以响应于指针904在图标902上执行激活903来显示启动表面。然而,可以以其他方式调用启动表面,诸如键盘快捷键。如所描绘的,启动表面的默认位置在显示区域106D中的图标902上方。
现在转向图9B,将提供关于在非默认位置中所显示的启动表面的细节。如所描绘的,应用启动菜单906(也被称为“菜单906”)包含可用于启动应用的一个或多个UI元素908。菜单906被显示在非默认显示区域106E中,以使得从菜单906所启动的应用将位于相同的非默认显示区域106E中。响应于确定从菜单906可启动的一些或所有应用是具有已有应用窗口704的工作流的部分,应用启动菜单906可以被显示在非默认显示区域106E中,并且因此优先被显示在非默认显示区域106E中。
例如,图标908A可以由用户激活以启动文件浏览器应用。可折叠设备102可以确定文件浏览器应用是具有已有应用窗口704的工作流的部分。如此,可折叠设备102可以将菜单906定位在非默认显示区域106E中,使得激活图标908A将使文件浏览器应用在非默认显示区域106E中被启动。在一些配置中,图标908A被突出显示或以其他方式被区分为与作为具有已有应用窗口704的工作流的部分的应用相关联。
现在转向图9C,将提供关于在启动表面906上UI元素908A的激活的细节。如所图示,指针904在图标908上执行激活912。
现在转向图9D,将提供关于响应于菜单906上的UI元素908A的激活而显示应用窗口914的细节。如所描绘的,应用窗口914是文件浏览器应用窗口914。在一些配置中,文件浏览器应用窗口914的大小和位置可以由工作流设置。例如,可以如所描绘的那样设置大小和位置,占据一些但不是全部的非默认显示区域106E。工作流可以备选地指定:文件浏览器应用窗口914将是“全屏”,如果不是全部非默认显示区域106E的话,则涵盖大部分非默认显示区域106E。应用窗口(诸如,文件浏览器应用窗口914)的大小、位置和其他参数可以从使用数据中推断出——例如文件浏览器应用窗口914的大小和位置可以被设置为用户更常用的参数。可折叠设备102可以在非默认显示区域中显示OS外壳启动表面906,以防止应用窗口914或从OS外壳启动表面906启动的任何其他应用窗口遮挡已有应用窗口704。
现在转向图10A,将提供关于通过标识使用相同资源的两个或更多应用窗口来标识工作流的细节。其中多个应用窗口可以使用相同资源的场景包括文档审阅、代码审阅、视频编辑或其他受益于从多个角度可视化资源的任务。在许多这些场中,用户交互将通过并排、端到端或以其他方式跨多个显示区域平铺来布置应用窗口来进行改进。这些布置可以最小化应用窗口之间的重叠,最大化可用显示区域的利用,最小化任务切换等。
可折叠设备102可以确定两个或更多个应用窗口在应用窗口运行时正在使用相同资源——即,不仅仅是在应用窗口已被启动时。例如,可折叠设备102可以监视应用窗口打开了哪些文件、应用窗口访问了哪些网站、应用窗口检索了哪些数据表等。通过持续监视应用窗口正在使用哪些资源,最初没有被考虑是工作流部分的两个应用窗口稍后可能会被确定为工作流的部分。
如所描绘的,应用窗口1004显示从文档1002加载的内容。文档1002是可以由不同应用窗口使用的资源的示例。文档1002可以作为文件而被本地存储在可折叠设备102上或被远程存储。虽然存储在文件中的文档在图10A至图10C中被描绘,但是类似地设想了其他类型的资源,包括数据表、网站或任何其他数据资源。
可以以多种方式来启动也使用文档1002的第二应用窗口。例如,用户可以从启动表面启动第二应用窗口,例如应用启动菜单906、任务栏302等。然后,用户可以手动加载文档1002。在一些情况下,应用窗口可以是相同应用的不同实例——例如,它们可能都是的实例。然而,应用窗口也可以与不同的应用相关联。例如,用户可以将文档1002加载到文字处理器和web浏览器中,从而触发可折叠设备102来标识工作流。
如所描绘的,被用来启动第二应用窗口的另一技术是从应用窗口1004中的入口点来启动应用窗口1004的第二实例。例如,“新窗口”按钮1008可以在由指针1010触摸时接收到激活1006,从而导致使用文档1002来启动应用窗口1004的新实例。
现在转向图10B,将提供关于与第一应用窗口1004重叠的第二应用窗口1012的细节。图10B图示了在经由新窗口按钮1008来启动应用窗口1012与加载文档1002的应用窗口1012之间的时刻。在此时,应用窗口1004和1012没有使用相同资源,并且因此不被标识为基于使用相同资源的工作流的部分。
现在转向图10C,将提供关于在加载资源1002之后的第二应用窗口1012的细节。可折叠设备102可以监视应用窗口1004和1012正在使用哪些资源,并且当确定它们两者都在使用文档1002时,可折叠设备102可以考虑应用窗口1004和1012是工作流的部分。如此,可折叠设备102可以将应用窗口1012移动到非默认显示区域,以创建应用窗口1004和1012的并排、端到端或其他布局。附加地或备选地,如上面结合图8C所讨论的,可折叠设备102可以将应用窗口1004和1012中的一个或多个应用窗口留在原处,同时将用户界面元素添加到应用窗口1004和1012中的一个或多个应用窗口。响应于用户界面元素中的一个用户界面元素的激活,可折叠设备102可以移动应用窗口1004和1012中的一个或多个应用窗口和/或调整应用窗口1004和1012中的一个或多个应用窗口,以创建与工作流相关联的布局。在一些实施例中,可折叠设备102移动包含被激活的UI元素的应用窗口,而在其他实施例中,可折叠设备102将包含UI元素的应用窗口留在原处,同时移动与工作流相关联的一个或多个其他应用窗口。
现在转向图10D,将提供关于由于使用相同资源而成为工作流的部分的应用窗口的并排布局的细节。在一些配置中,并排布局是可折叠设备102监视由应用窗口1004和1012使用的资源、确定它们两者都在使用文档1002、并且作为响应将应用窗口1012移动到非默认显示区域106E以实现工作流中所指定的并排布局的结果。
如所描绘的,应用窗口1004和应用窗口1012被确定为是工作流的部分,因为两个应用窗口使用相同数据资源——文档1002。可折叠设备102可以标识在第二应用窗口已经完成加载之后或在其后的任何时间使用相同数据资源的应用窗口。
在所图示的实施例中,使用“新窗口”按钮1008来启动第二应用窗口1012,该按钮将文档1002自动加载到应用窗口1012中。如此,在启动显示区域106D中的应用窗口1012和将应用窗口1012重新定位到显示区域106E之间几乎没有时间。然而,在上面讨论的其他场景中,诸如手动启动第二应用窗口和将文档1002手动加载到第二应用窗口中,第二应用窗口1012可以留在默认显示区域中更长的时间段。在一些配置中,如果应用窗口中的一个应用窗口或两者停止使用文档1002,则应用窗口中的一个应用窗口或两者可以被降低优先级和/或移动到默认位置。
基于使用相同资源的应用窗口的标准是基于应用窗口的运行时行为的工作流标准的一个示例。应用窗口的运行时行为是指当用户正在操作可折叠设备102时应用窗口的状态、动作、位置、大小、内容和其他属性。也可以成为工作流标准的部分的其他运行时行为包括:应用窗口是否相互重叠,应用窗口之间有多个复制和粘贴命令,以及应用窗口之间有多个上下文切换。例如,工作流标准可以在两个应用窗口之间执行三个复制和粘贴命令之后将应用窗口标识为工作流的部分。
涉及运行时行为的一些工作流标准可以不涉及应用名称、应用类型或任何其他特定于应用的标识符。相反,涉及运行时行为的工作流标准可以普遍被应用于所有正在运行的应用窗口。
一些工作流标准可以基于对由应用窗口所显示的内容的运行时分析。在一些配置中,如果两个应用窗口正在显示相似的内容,则它们可以被认为是工作流的部分,即使应用窗口没有从相同数据资源获得内容。在一些配置中,可折叠设备102可以对所显示的内容执行基于文本或图像的分析,以确定由两个应用窗口是否正在显示多于定义的量或百分比的内容。在一些配置中,可折叠设备102可以对显示在应用窗口中的内容进行截屏,并且对截屏执行分析。
例如,如果用户将来自文字处理文档的内容复制并且粘贴到笔记记录应用中,并且从笔记记录应用复制并且粘贴到正在撰写的电子邮件,则可折叠设备102可以确定文字处理器和电子邮件应用正在显示超过定义的百分比(例如80%)的相同内容。如此,可折叠设备102可以至少将文字处理器和电子邮件应用标识为与工作流相关联。
附加地或备选地,如果两个或更多个应用窗口显示的内容共享主题,则可以确定它们与工作流相关联。通过应用机器学习算法对在每个应用窗口中所显示的内容进行分类,可以从所显示的内容中推断出主题。然而,类似地设想用于对内容进行分类的其他技术,诸如将关键字搜索应用于文本内容。例如,可折叠设备102可以截取电子邮件应用和照片查看应用的截屏,并且应用机器学习算法来确定电子邮件应用中正在阅读的电子邮件和照片查看应用中正在查看的照片两者具有主题“郁金香”。基于该分析,可折叠设备102可以确定电子邮件查看应用和照片查看应用与工作流相关联。
还可以基于共享的元数据来确定应用窗口与在运行时的工作流相关联。例如,应用窗口标题、作者、权限和其他标准可以被用来标识运行时应用工作流。
现在转向图11A,将提供关于从已有应用窗口中的UI元素启动应用窗口的细节。如所描绘的,电子邮件应用1104显示带有附件1106的电子邮件。附件是名为Lake.jpg的图片。指针1110激活附件,导致照片查看器应用被打开。在一些配置中,可折叠设备102确定电子邮件应用1104——父应用窗口启动了照片查看器应用——子应用窗口,并且因此标识父子工作流。
现在转向图11B,将提供关于由于子应用窗口已经从父应用窗口被启动而作为工作流的部分的应用窗口的并排布置的细节。具体来说,Lake.jpg被显示在照片查看器应用1106中,它是电子邮件应用1104的子应用窗口。
现在转向图12,将提供关于由于一个应用窗口加载由另一应用窗口下载的文件而作为工作流的部分的应用窗口的并排布置的细节。具体而言,web浏览器应用窗口1204已经导航到电子邮件应用。正在显示的电子邮件具有附件1208电子表格“Numbers.xlsx”。响应于指针1210激活附件1208,“Numbers.xlsx”可以被下载到可折叠设备102。可折叠设备102然后可以利用电子表格应用打开“Numbers.xlsx”。可折叠设备102可以跟踪文件是从哪个应用下载的,并且在web浏览器的情况下可以跟踪文件是从哪个标签下载的。响应于打开应用窗口以显示已下载的文件或者利用已经运行的应用窗口来打开下载的文件,可折叠设备102可以标识工作流,即已下载的文件工作流。结果,可折叠设备102可以布置web浏览器应用窗口1204和电子表格应用1206以实现工作流中所指定的并排布局。
图13是示出了例程1300的流程图,其图示了用于机会性地重新定位应用窗口以增强预测的用户工作流的可折叠设备102的操作的方面。应当了解,在本文中关于图13和其他图描述的逻辑操作可以被实现为(1)在计算设备上运行的计算机实现的动作或程序模块的序列和/或(2)在计算设备内的互连机器逻辑电路或电路模块。
本文公开的技术的特定实现是取决于计算设备的性能和其他要求的选择问题。因此,在本文中描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些状态、操作、结构设备、动作和模块可以以硬件、软件、固件、专用数字逻辑以及它们的任何组合来实现。应当了解,可以执行比图中所示以及本文中描述的更多或更少的操作。这些操作也可以以不同于本文描述的顺序来执行。
例程1300可选地开始于操作1302处,其中可以分析活动数据以标识与工作流相关联的应用窗口,如上面详细描述的。
例程1300然后进行到操作1304,其中可折叠设备102接收与应用窗口相关联的UI元素的激活的指示,如上面详细描述的。例程1300然后进行到操作1306,其中可折叠设备102确定应用窗口的默认位置在第一显示区域中,如上面详细描述的。
例程1300然后进行到操作1308,其中可折叠设备102确定应用窗口和已有应用是工作流的部分,如上面详细描述的。例程1300然后进行到操作1310,其中可折叠设备102确定已有应用位于第一显示区域中,如上面详细描述的。
例程1300然后进行到操作1312,其中可折叠设备102将应用窗口显示在第二显示区域中,如上面详细描述的。例程1300然后进行到操作1314,它在那里结束。
图14是示出了可以实现本文提出的各种技术的用于计算设备的说明性计算机硬件和软件架构的计算机架构图。特别地,图14中所图示的架构可以被利用来实现本文所述的铰接的设备102和可弯曲设备202。所图示的架构还可以被利用来实现其他类型的计算***。
图14中图示的计算机1400。图14包括中央处理单元1402(“CPU”)、包括随机存取存储器1406(“RAM”)和只读存储器(“ROM”)1408的***存储器1404、以及将存储器1404耦合到CPU 1402的***总线1410。包含基本例程的基本输入/输出***(“BIOS”或“固件”)可以被存储在ROM中1408,基本例程例如在启动期间有助于在计算机1400内的元件之间传送信息。计算机1400还包括大容量存储设备1412,用于存储操作***1422、应用程序1430和其他类型的程序。上述功能性由这些程序中的一个或多个程序以各种配置来实现。大容量存储设备1412还可以被配置为存储其他类型的程序和数据。
大容量存储设备1412通过连接到总线1410的大容量存储控制器(未示出)而被连接到CPU 1402。大容量存储设备1412及其关联的计算机可读介质为计算机1400提供非易失性存储。尽管本文所包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘、CD-ROM驱动器、DVD-ROM驱动器或USB存储密钥,但是本领域技术人员应该了解,计算机可读介质可以是计算机1400可以访问的任何可用的计算机存储介质或通信介质。
通信介质包括计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的调制数据信号中的其他数据,并且包括任何递送介质。术语“调制数据信号”意指以某种方式改变或设置其特性中的一个或多个特性以便在信号中对信息进行编码的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、射频、红外线和其他无线介质的无线介质。以上任何内容的组合也应当被包括在计算机可读介质的范围内。
作为示例而非限制,计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术所实现的易失性和非易失性、可移动和不可移动介质。例如,计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能磁盘(“DVD”)、HD-DVD、BLU-RAY,或其他光存储器、磁盒、磁带、磁盘存储或其他磁存储设备或可以被用来存储所需信息并且可以由计算机1400访问的任何其他介质。对于权利要求,短语“计算机存储介质”及其变型不包括波或信号本身或通信介质。
根据各种配置,计算机1400可以使用逻辑连接在网络环境中操作,该逻辑连接通过诸如网络1420的网络连接远程计算机。计算机1400可以通过连接到总线1410的网络接口单元1416来连接到网络1420。应该了解,网络接口单元1416也可以被利用来连接到其他类型的网络和远程计算机***。计算机1400还可以包括输入/输出控制器1418,用于接收和处理来自多个其他设备的输入,包括键盘、鼠标、触摸输入、数字笔或诸如相机和生物传感器的物理传感器。
计算机1400还可以配置有合适的视频输出设备,该视频输出设备可以向一个或多个显示屏提供输出,诸如上述那些。一个或多个显示器可以是被配置为检测触摸的存在和位置的触敏显示器。这种显示器可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲识别触摸屏或者可以利用任何其他触摸屏技术。在一些配置中,触摸屏作为透明层而被并入到显示器顶部上,以使用户能够使用一个或多个触摸来与显示器上呈现的对象或其他信息进行交互。
触敏显示器可以被配置为检测离散的触摸、单点触摸手势和/或多点触摸手势。为方便起见,这些在本文中被统称为“手势”。现在将描述多个手势。应该理解,这些手势是说明性的,并且不旨在限制所附权利要求的范围。
在一些配置中,计算机1400支持用户轻击显示器一次的轻击手势。还可以支持用户轻击显示器两次的双击手势。可以出于各种原因使用双击手势,包括但不限于分级放大或缩小。在一些配置中,计算机1400支持轻击并且保持手势,其中用户轻击并且维持接触至少预定义时间。可以出于各种原因使用轻击并且保持手势,包括但不限于打开特定于上下文的菜单。
在一些配置中,计算机1400支持平移手势,其中用户将手指放置在显示器上并且在移动其手指的同时维持与显示器的接触。可以出于各种原因使用平移手势,包括但不限于以受控速率在屏幕、图像或菜单中移动。多个手指平移手势也被设想。
在一些配置中,计算机1400支持轻拂手势,其中用户在用户希望屏幕移动的方向上轻扫手指。可以出于各种原因使用轻拂手势,包括但不限于水平或垂直滚动菜单或页面。在一些配置中,计算机1400支持捏合和拉伸手势,其中用户用两个手指(例如,拇指和食指)做出捏合运动或将两个手指移开。可以出于各种原因使用捏合和拉伸手势,包括但不限于逐渐放大或缩小网站、地图或图片。
尽管已经参考使用一个或多个手指来执行手势从而呈现了上述手势,但是可以使用诸如数字笔的其他附件来与计算设备1400交互。如此,上述手势应该被理解为说明性的,而不应当被解释为以任何方式进行限制。
应当了解,本文所述的软件组件在被加载到CPU 1402中并且被执行时,可以将CPU1402和整个计算机1400从通用计算设备变换为定制为促进本文提出的功能性的专用计算设备。CPU 1402可以由任意数目的晶体管或其他分立电路元件构成,它们可以单独地或共同地显露任意数量的状态。更具体地,CPU 1402可以操作为有限状态机,以响应包含在本文公开的软件模块内的可执行指令。这些计算机可执行指令可以通过指定CPU 1402如何在状态之间转变来变换CPU 1402,从而变换构成CPU 1402的晶体管或其他离散硬件元件。
对本文提出的软件模块进行编码还可以变换本文提出的计算机可读介质的物理结构。在本说明的不同实现中,物理结构的具体变换取决于各种因素。这样的因素的示例包括但不限于用于实现计算机可读介质的技术、计算机可读介质是否被表征为初级或次级存储等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文公开的软件可以通过变换半导体存储器的物理状态而被编码在计算机可读介质上。例如,该软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。该软件还可以变换这些组件的物理状态,以便在其上存储数据。
作为另一示例,本文公开的计算机可读介质可以使用磁性或光学技术来实现。在这样的实现中,当在其中编码软件时,本文提出的软件可以变换磁性或光学介质的物理状态。这些变换可以包括改变给定磁介质内的特定位置的磁特性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。在不背离本说明书的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于讨论。
鉴于上述情况,应当了解,许多类型的物理变换发生在计算机1400中以便存储和执行本文提出的软件组件。还应该了解,针对计算机1400的图14中所示的架构或类似架构可以被利用来实现其他类型的计算设备,包括手持计算机、视频游戏设备、嵌入式计算机***、移动设备诸如智能电话、平板计算机和AR/VR设备以及本领域技术人员已知的其他类型的计算设备。还设想了计算机1400可以不包括图14中所示的所有组件,可以包括未在图14中明确示出的其他组件,或者可以利用与图14中所示的架构完全不同的架构。
应该了解,为了便于讨论,图14中所示的计算架构已被简化。还应该了解,所图示的计算架构可以包括和利用本文未具体描述的更多的计算组件、设备、软件程序、联网设备和其他组件。
本文提出的公开内容还包括在以下条款中阐述的主题:
示例1.一种计算机实现的方法,所述方法用于选择可折叠设备的显示区域以在其中显示应用窗口,方法包括:分析活动数据,以标识与工作流相关联的多个应用窗口;接收在可折叠设备的第一显示区域中UI元素的激活的指示,其中UI元素与显示应用窗口相关联;通过确定已有应用窗口的标识信息与多个应用窗口中的第一应用窗口的标识信息匹配,并且通过确定应用窗口的标识信息与多个应用窗口中的第二窗口的标识信息匹配,来确定应用窗口和已有应用窗口与工作流相关联;确定已有应用窗口位于可折叠设备的第一显示区域中;基于UI元素位于第一显示区域中,确定应用窗口的默认位置在第一显示区域中;响应于确定应用窗口和已有应用窗口与工作流相关联,并且响应于确定已有应用窗口和应用窗口的默认位置位于第一显示区域中,将应用窗口显示在可折叠设备的第二显示区域中。
示例2.根据示例1所述的计算机实现的方法,其中多个应用窗口包括已有应用窗口的先前实例和应用窗口的先前实例,并且其中当应用窗口的先前实例和已有应用窗口的先前实例访问过相同的数据资源时,活动数据指示多个应用窗口与工作流相关联。
示例3.根据示例1和示例2所述的计算机实现的方法,其中多个应用窗口包括已有应用窗口的先前实例和应用窗口的先前实例,并且其中当应用窗口的先前实例和已有应用的先前实例曾在可折叠计算设备的相邻显示区域中同时被显示超过定义的百分比的时间或超过定义的时间量时,活动数据指示多个应用窗口与工作流相关联。
示例4.根据示例1至示例3所述的计算机实现的方法,其中多个应用窗口包括已有应用窗口的先前实例和应用窗口的先前实例,并且其中当用户输入导致应用窗口的先前实例或已有应用的先前实例被移动到不同的显示区域,从而导致应用窗口的先前实例和已有应用的先前实例被显示在不同的显示区域中时,活动数据指示多个应用窗口与工作流相关联。
示例5.根据示例1至示例4所述的计算机实现的方法,其中多个应用窗口包括已有应用窗口的先前实例和应用窗口的先前实例,并且其中当内容在应用窗口的先前实例与已有应用窗口的先前实例之间被交换时,活动数据指示多个应用窗口与工作流相关联。
示例6.根据示例1至示例5所述的计算机实现的方法,其中多个应用窗口包括已有应用窗口的先前实例和应用窗口的先前实例,并且其中当应用窗口的先前实例和已有应用窗口的先前实例超过定义的次数百分比或超过定义的次数被连续启动时,活动数据指示多个应用窗口与工作流相关联。
示例7.根据示例1至示例6所述的计算机实现的方法,其中已有应用窗口包括最近活动的可折叠设备上运行的多个应用窗口中的应用窗口。
示例8.根据示例1至示例7所述的计算机实现的方法,其中已有应用窗口包括被用来启动应用窗口的UI元素。
示例9.一种可折叠计算设备,用于选择可折叠设备的显示区域以在其中显示应用窗口,包括:一个或多个处理器;至少一个非暂态计算机可读存储介质,具有存储在其上的计算机可执行指令,该计算机可执行指令在由一个或多个处理器执行时,使可折叠计算设备:接收在可折叠设备的第一显示区域中UI元素的激活的指示,其中UI元素与显示应用窗口相关联;确定应用窗口的默认位置在第一显示区域中;基于关于应用窗口的状态和已有应用窗口的状态的确定,确定应用窗口和已有应用窗口与工作流相关联;确定已有应用窗口位于可折叠设备的第一显示区域中;并且响应于确定应用窗口和已有应用窗口是工作流的部分,并且响应于确定已有应用窗口和应用窗口的默认位置位于第一显示区域中,将应用窗口显示在可折叠设备的第二显示区域中。
示例10.根据示例9所述的可折叠计算设备,其中关于应用窗口的状态和已有应用窗口的状态的确定包括:确定应用窗口和已有应用窗口从相同数据资源接收过数据。
示例11.根据示例9和示例10所述的可折叠计算设备,其中关于应用窗口的状态和已有应用窗口的状态的确定包括:确定应用窗口显示的内容中超过定义的百分比的内容与已有应用窗口显示的内容相关。
示例12.根据示例9至示例11所述的可折叠计算设备,其中应用窗口最初被显示在默认位置,并且其中确定应用窗口和已有应用窗口与工作流相关联发生在应用窗口已经被显示之后。
示例13.根据示例9至示例12所述的可折叠计算设备,其中UI元素由手势激活,并且其中确定应用窗口的默认位置在第一显示区域中是基于手势在第一显示区域中结束。
示例14.根据示例9至示例13所述的可折叠计算设备,其中UI元素被包括在已有应用窗口中,并且其中确定应用窗口的默认位置在第一显示区域中包括确定UI元素是已有应用窗口的部分。
示例15.根据示例9至示例14所述的可折叠计算设备,其中通过选择最近活动的应用窗口来从多个运行的应用窗口中选择已有应用窗口。
示例16.根据示例9至示例15所述的可折叠计算设备,其中UI元素被包括在已有应用窗口中,并且其中通过选择包括UI元素的应用窗口来从多个运行的应用窗口中选择已有应用窗口。
示例17.一种非暂态计算机可读存储介质,具有存储在其上的计算机可执行指令,该计算机可执行指令在由可折叠计算设备执行时,使可折叠计算设备:分析活动数据以标识与工作流相关联的多个应用窗口;接收在可折叠设备的第一显示区域中UI元素的激活的指示,其中UI元素与显示操作***(OS)外壳表面相关联,操作***(OS)外壳表面包括与启动应用窗口相关联的UI元素;基于UI元素位于第一显示区域中,确定应用窗口的默认位置在第一显示区域中;确定应用窗口和已有应用窗口与工作流相关联;确定已有应用窗口位于可折叠设备的第一显示区域中;并且响应于确定应用窗口和已有应用窗口是工作流的部分,并且响应于确定已有应用窗口和应用窗口的默认位置位于第一显示区域中,将OS外壳启动表面显示在可折叠设备的第二显示区域中,其中OS外壳启动表面包括用户界面元素,该用户界面元素在被激活时使应用窗口被显示在可折叠设备的第二显示区域中。
示例18.根据示例17所述的非暂时性计算机可读存储介质,其中可折叠设备包括第三显示区域,并且其中当与第三显示区域中的已有内容相关联的得分小于与第二显示区域中的已有内容相关联的得分时,第三显示区域被选择以显示OS外壳表面。
示例19.根据示例17和示例18所述的非暂时性计算机可读存储介质,其中在第二显示区域中显示应用窗口之前,在第二显示区域中所显示的第二已有应用被最小化、暂停或关闭。
示例20.根据示例17至示例19所述的非暂时性计算机可读存储介质,其中工作流包括多个步骤,其中每个步骤与应用窗口相关联,其中针对多个步骤中的每个步骤重要性的估计被确定,其中具有更大估计重要性的步骤被优先显示在第二显示区域中。
基于上述内容,应当了解,在本文中已经公开了用于基于应用布局和用户工作流来定位用户界面组件的技术。尽管本文提出的主题已经以特定于计算机结构特征、方法和转化行为、特定计算机器和计算机可读介质的语言进行了描述,但是应理解,所附权利要求中阐述的主题不必然局限于本文描述的特定特征、行为或介质。相反,特定特征、动作和介质作为实现要求保护的主题的示例形式而被公开。
上述主题仅通过说明的方式来提供并且不应被解释为限制性的。在不遵循图示和描述的示例配置和应用的情况下,并且在不背离在所附权利要求中阐述的本公开的范围的情况下,可以对本文描述的主题进行各种修改和改变。

Claims (20)

1.一种计算机实现的方法,所述方法用于选择可折叠设备的显示区域以在其中显示应用窗口,所述方法包括:
分析活动数据,以标识与工作流相关联的多个应用窗口;
接收在所述可折叠设备的第一显示区域中用户界面UI元素的激活的指示,其中所述UI元素与显示所述应用窗口相关联;
通过确定已有应用窗口的标识信息与所述多个应用窗口中的第一应用窗口的标识信息匹配,并且通过确定所述应用窗口的标识信息与所述多个应用窗口中的第二窗口的标识信息匹配,来确定所述应用窗口和所述已有应用窗口与所述工作流相关联;
确定所述已有应用窗口位于所述可折叠设备的第一显示区域中;
基于所述UI元素位于所述第一显示区域中,确定所述应用窗口的默认位置位于所述第一显示区域中;
响应于确定所述应用窗口和所述已有应用窗口与所述工作流相关联,并且响应于确定所述已有应用窗口和所述应用窗口的所述默认位置位于所述第一显示区域中,将所述应用窗口显示在所述可折叠设备的第二显示区域中。
2.根据权利要求1所述的计算机实现的方法,其中所述多个应用窗口包括所述已有应用窗口的先前实例和所述应用窗口的先前实例,并且其中当所述应用窗口的所述先前实例和所述已有应用窗口的所述先前实例访问过相同的数据资源时,所述活动数据指示所述多个应用窗口与所述工作流相关联。
3.根据权利要求1所述的计算机实现的方法,其中所述多个应用窗口包括所述已有应用窗口的先前实例和所述应用窗口的先前实例,并且其中当所述应用窗口的所述先前实例和所述已有应用的所述先前实例曾在所述可折叠设备的相邻显示区域中同时被显示超过定义的时间百分比或超过定义的时间量时,所述活动数据指示所述多个应用与所述工作流相关联。
4.根据权利要求1所述的计算机实现的方法,其中所述多个应用窗口包括所述已有应用窗口的先前实例和所述应用窗口的先前实例,并且其中当用户输入导致所述应用窗口的所述先前实例或所述已有应用的所述先前实例被移动到不同的显示区域时,从而导致所述应用窗口的所述先前实例和所述已有应用的所述先前实例被显示在不同的显示区域中时,所述活动数据指示所述多个应用窗口与所述工作流相关联。
5.根据权利要求1所述的计算机实现的方法,其中所述多个应用窗口包括所述已有应用窗口的先前实例和所述应用窗口的先前实例,并且其中当内容在所述应用窗口的所述先前实例与所述已有应用窗口的所述先前实例之间被交换过时,所述活动数据指示所述多个应用窗口与所述工作流相关联。
6.根据权利要求1所述的计算机实现的方法,其中所述多个应用窗口包括所述已有应用窗口的先前实例和所述应用窗口的先前实例,并且其中当所述应用窗口的所述先前实例和所述已有应用窗口的所述先前实例超过定义的次数百分比或超过定义的次数被连续启动时,所述活动数据指示所述多个应用窗口与所述工作流相关联。
7.根据权利要求1所述的计算机实现的方法,其中所述已有应用窗口包括在所述可折叠设备上运行的多个应用窗口中的最近活动的应用窗口。
8.根据权利要求1所述的计算机实现的方法,其中所述已有应用窗口包括被用于启动所述应用窗口的UI元素。
9.一种可折叠计算设备,用于选择所述可折叠计算设备的显示区域以在其中显示应用窗口,包括:
一个或多个处理器;以及
至少一个非暂态计算机可读存储介质,具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时,使所述可折叠计算设备:
接收在所述可折叠计算设备的第一显示区域中用户界面UI元素的激活的指示,其中所述UI元素与显示所述应用窗口相关联;
确定所述应用窗口的默认位置位于所述第一显示区域中;
基于关于所述应用窗口的状态和已有应用窗口的状态的确定,确定所述应用窗口和所述已有应用窗口与工作流相关联;
确定所述已有应用窗口位于所述第一显示区域中;以及
响应于确定所述应用窗口和所述已有应用窗口与所述工作流相关联,并且响应于确定所述已有应用窗口和所述应用窗口的所述默认位置位于所述第一显示区域中,将所述应用窗口显示在所述可折叠计算设备的第二显示区域中。
10.根据权利要求9所述的可折叠计算设备,其中关于所述应用窗口的所述状态和所述已有应用窗口的所述状态的确定包括:确定所述应用窗口和所述已有应用窗口从相同数据资源接收过数据。
11.根据权利要求9所述的可折叠计算设备,其中关于所述应用窗口的所述状态和所述已有应用窗口的所述状态的确定包括:确定所述应用窗口显示的内容中超过定义的百分比的内容与所述已有应用窗口显示的内容相关。
12.根据权利要求9所述的可折叠计算设备,其中所述应用窗口最初被显示在所述默认位置,并且其中确定所述应用窗口和所述已有应用窗口与所述工作流相关联发生在所述应用窗口已经被显示之后。
13.根据权利要求9所述的可折叠计算设备,其中所述UI元素由手势激活,并且其中确定所述应用窗口的所述默认位置位于所述第一显示区域中是基于所述手势在所述第一显示区域中结束。
14.根据权利要求9所述的可折叠计算设备,其中所述UI元素被包括在所述已有应用窗口中,并且其中确定所述应用窗口的所述默认位置位于所述第一显示区域中包括:确定所述UI元素是所述已有应用窗口的部分。
15.根据权利要求9所述的可折叠计算设备,其中通过选择最近活动的应用窗口,所述已有应用窗口从多个正在运行的应用窗口中被选择。
16.根据权利要求9所述的可折叠计算设备,其中所述UI元素被包括在所述已有应用窗口中,并且其中通过选择包括所述UI元素的应用窗口,所述已有应用窗口从多个正在运行的应用窗口中被选择。
17.一种非暂态计算机可读存储介质,具有存储在其上的计算机可执行指令,所述计算机可执行指令在由可折叠计算设备执行时,使所述可折叠计算设备:
分析活动数据,以标识与工作流相关联的多个应用窗口;
接收位于所述可折叠计算设备的第一显示区域中的第一用户界面UI元素的激活的指示,其中所述第一UI元素与显示操作***OS外壳表面相关联,所述操作***OS外壳表面包括与启动应用窗口相关联的第二UI元素;
基于所述第一UI元素位于所述第一显示区域中,确定所述应用窗口的默认位置在所述第一显示区域中;
确定所述应用窗口和已有应用窗口与所述工作流相关联;
确定所述已有应用窗口位于所述可折叠计算设备的所述第一显示区域中;以及
响应于确定所述应用窗口和所述已有应用窗口与所述工作流相关联,并且响应于确定所述已有应用窗口和所述应用窗口的所述默认位置位于所述第一显示区域中,将所述OS外壳表面显示在所述可折叠计算设备的第二显示区域中,其中所述OS外壳表面包括所述第二UI元素,所述第二UI元素在被激活时使所述应用窗口被显示在所述可折叠计算设备的所述第二显示区域中。
18.根据权利要求17所述的非暂态计算机可读存储介质,其中所述可折叠计算设备包括第三显示区域,并且其中当与所述第三显示区域中的已有内容相关联的得分小于与所述第二显示区域中的已有内容相关联的得分时,所述第三显示区域被选择以显示所述OS外壳表面。
19.根据权利要求17所述的非暂态计算机可读存储介质,其中在所述第二显示区域中显示所述应用窗口之前,在所述第二显示区域中所显示的第二已有应用被最小化、暂停或关闭。
20.根据权利要求17所述的非暂态计算机可读存储介质,其中所述工作流包括多个步骤,其中每个步骤与应用窗口相关联,其中针对所述多个步骤中的每个步骤重要性估计被确定,并且其中具有更大的估计重要性的步骤被优先显示在所述第二显示区域中。
CN202080069586.0A 2019-10-01 2020-06-30 基于应用布局和用户工作流来定位用户界面组件 Active CN114467068B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962909224P 2019-10-01 2019-10-01
US62/909,224 2019-10-01
US16/813,689 2020-03-09
US16/813,689 US11099863B2 (en) 2019-10-01 2020-03-09 Positioning user interface components based on application layout and user workflows
PCT/US2020/040385 WO2021066913A1 (en) 2019-10-01 2020-06-30 Positioning user interface components based on application layout and user workflows

Publications (2)

Publication Number Publication Date
CN114467068A CN114467068A (zh) 2022-05-10
CN114467068B true CN114467068B (zh) 2024-03-12

Family

ID=75162757

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080069586.0A Active CN114467068B (zh) 2019-10-01 2020-06-30 基于应用布局和用户工作流来定位用户界面组件
CN202080069035.4A Pending CN114467078A (zh) 2019-10-01 2020-09-18 基于推断的内容遮挡和用户意图的用户界面适配

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080069035.4A Pending CN114467078A (zh) 2019-10-01 2020-09-18 基于推断的内容遮挡和用户意图的用户界面适配

Country Status (4)

Country Link
US (3) US11200072B2 (zh)
EP (3) EP4038484A1 (zh)
CN (2) CN114467068B (zh)
WO (2) WO2021066913A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020185235A1 (en) * 2019-03-14 2020-09-17 Rovi Guides, Inc. Automatically assigning application shortcuts to folders with user-defined names
CN112307483A (zh) * 2019-07-30 2021-02-02 华为技术有限公司 可信用户界面的显示方法及电子设备
US11200072B2 (en) 2019-10-01 2021-12-14 Microsoft Technology Licensing, Llc User interface adaptations based on inferred content occlusion and user intent
CN112987957A (zh) * 2019-12-17 2021-06-18 群创光电股份有限公司 电子装置
US11385775B2 (en) * 2020-04-30 2022-07-12 Citrix Systems, Inc. Intelligent monitor and layout management
US11443306B2 (en) * 2020-06-09 2022-09-13 Snap Inc. Third-party resource authorization
USD945464S1 (en) * 2020-06-18 2022-03-08 Apple Inc. Display screen or portion thereof with graphical user interface
JP2022074748A (ja) * 2020-11-05 2022-05-18 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法
US11543930B2 (en) 2020-11-10 2023-01-03 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
US11997805B2 (en) * 2021-04-20 2024-05-28 Lepton Computing Llc. Machine learning and wireless control of a flexible display device actuator
US11893693B2 (en) * 2021-06-14 2024-02-06 Shopify Inc. Systems and methods for generating digital media based on object feature points
CN113672320B (zh) * 2021-07-19 2023-11-17 杭州未名信科科技有限公司 一种基于dom元素渲染网页的方法、设备及存储介质
CN115705229A (zh) * 2021-08-06 2023-02-17 北京小米移动软件有限公司 显示控制方法和***、移动终端、存储介质
US20220084483A1 (en) * 2021-09-23 2022-03-17 Sean J. W. Lawrence Methods, systems, articles of manufacture, and apparatus to designate a display exclusive zone of a display screen
TWI812072B (zh) * 2022-03-16 2023-08-11 緯創資通股份有限公司 視窗排列方法及視窗排列系統
CN115185423B (zh) * 2022-07-14 2024-01-19 Oppo广东移动通信有限公司 近期任务显示方法、装置、电子设备及存储介质
CN117762358A (zh) * 2022-09-16 2024-03-26 北京小米移动软件有限公司 一种显示控制方法、装置及存储介质
CN117348827A (zh) * 2023-09-19 2024-01-05 荣耀终端有限公司 显示模式切换时的显示方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104255038A (zh) * 2012-02-28 2014-12-31 谷歌公司 通过经过滤的因特网信息流的显示来增强实况广播观看

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040056900A1 (en) 2002-09-23 2004-03-25 Blume Leo R System and method for window priority rendering
JP2004164132A (ja) 2002-11-11 2004-06-10 Nec Corp マルチウィンドウ表示装置、該装置に用いられるマルチウィンドウ管理方法及び表示制御プログラム
US8984440B2 (en) 2010-10-01 2015-03-17 Z124 Managing expose views in dual display communication devices
JP2006134187A (ja) 2004-11-08 2006-05-25 Toshiba Corp 携帯型電子機器
US8209659B2 (en) * 2006-07-28 2012-06-26 Intuit Inc. Method and apparatus for creating a custom workflow
US8332775B2 (en) * 2008-04-30 2012-12-11 Yahoo! Inc. Adaptive user feedback window
KR101467881B1 (ko) 2008-08-18 2014-12-02 엘지전자 주식회사 적어도 2개의 디스플레이 영역을 가지는 휴대 단말기 및 그제어방법
US8499254B2 (en) * 2008-10-27 2013-07-30 Microsoft Corporation Surfacing and management of window-specific controls
KR101569776B1 (ko) 2009-01-09 2015-11-19 삼성전자주식회사 접히는 표시부를 가지는 휴대 단말기 및 이의 운용 방법
US8769428B2 (en) 2009-12-09 2014-07-01 Citrix Systems, Inc. Methods and systems for generating a combined display of taskbar button group entries generated on a local machine and on a remote machine
KR101622635B1 (ko) 2010-02-12 2016-05-20 삼성전자주식회사 3개의 표시부를 가지는 단말기의 데이터 운용 방법 및 이를 지원하는 단말기
US9542202B2 (en) * 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US20140303839A1 (en) * 2013-04-03 2014-10-09 Ford Global Technologies, Llc Usage prediction for contextual interface
US20140351722A1 (en) * 2013-05-23 2014-11-27 Microsoft User interface elements for multiple displays
CN103324435B (zh) 2013-05-24 2017-02-08 华为技术有限公司 分屏显示的方法、装置及其电子设备
US9619008B2 (en) 2014-08-15 2017-04-11 Dell Products, Lp System and method for dynamic thermal management in passively cooled device with a plurality of display surfaces
US10496719B2 (en) * 2016-03-09 2019-12-03 Acto Technologies Inc. Determining the display order of data items at a computing device based on contextual data captured by sensor devices
KR20170140976A (ko) 2016-06-14 2017-12-22 엘지전자 주식회사 폴더블 디바이스 및 그 제어방법
US10537807B2 (en) * 2016-12-30 2020-01-21 Project Fanchise Technology, LLC Immersive interactive sports management system and method thereof
US11907272B2 (en) * 2017-02-17 2024-02-20 Microsoft Technology Licensing, Llc Real-time personalized suggestions for communications between participants
US10372398B2 (en) 2017-04-04 2019-08-06 Microsoft Technology Licensing, Llc Foldable display device with interactable user interface surface on the external shell
RU2670030C2 (ru) * 2017-04-05 2018-10-17 Общество С Ограниченной Ответственностью "Яндекс" Способы и системы для определения нестандартной пользовательской активности
CN107068114B (zh) * 2017-04-24 2019-04-30 北京小米移动软件有限公司 屏幕颜色调整方法、装置、设备及存储介质
US10788934B2 (en) 2017-05-14 2020-09-29 Microsoft Technology Licensing, Llc Input adjustment
US11145096B2 (en) 2018-03-07 2021-10-12 Samsung Electronics Co., Ltd. System and method for augmented reality interaction
US11224358B2 (en) * 2018-06-25 2022-01-18 Careview Communications, Inc. Smart monitoring safety and quality of life system using sensors
KR20200097383A (ko) 2019-02-07 2020-08-19 삼성디스플레이 주식회사 폴더블 표시 장치
KR20200119020A (ko) 2019-04-09 2020-10-19 삼성전자주식회사 전자 장치 및 폴더블 디스플레이를 제어 및 운영하는 방법
US11200072B2 (en) 2019-10-01 2021-12-14 Microsoft Technology Licensing, Llc User interface adaptations based on inferred content occlusion and user intent

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104255038A (zh) * 2012-02-28 2014-12-31 谷歌公司 通过经过滤的因特网信息流的显示来增强实况广播观看

Also Published As

Publication number Publication date
US20210365278A1 (en) 2021-11-25
US11200072B2 (en) 2021-12-14
EP4123438A1 (en) 2023-01-25
WO2021067047A1 (en) 2021-04-08
CN114467078A (zh) 2022-05-10
CN114467068A (zh) 2022-05-10
EP4038484A1 (en) 2022-08-10
US11740914B2 (en) 2023-08-29
EP4038498A1 (en) 2022-08-10
US11099863B2 (en) 2021-08-24
WO2021066913A1 (en) 2021-04-08
US20210096887A1 (en) 2021-04-01
US20210096885A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
CN114467068B (zh) 基于应用布局和用户工作流来定位用户界面组件
US10162511B2 (en) Self-revelation aids for interfaces
US10303325B2 (en) Multi-application environment
US9104440B2 (en) Multi-application environment
US11137894B1 (en) Optimizing content layout on a foldable device
KR20170067863A (ko) 이종 애플리케이션 탭들
US20220374146A1 (en) Extensions to global keyboard shortcuts for computing devices having multiple display regions
US11221759B2 (en) Transitions and optimizations for a foldable computing device operating in a productivity mode
US20210405695A1 (en) Conditional windowing model for foldable computing devices
CN117242429A (zh) 智能吸附辅助推荐模型
KR101692848B1 (ko) 호버링을 이용하는 가상 터치패드 조작방법 및 이를 수행하는 단말기
AU2011308901A1 (en) Content preview

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