CN110520848B - 在异构选项卡环境中浮现与任务相关的应用 - Google Patents

在异构选项卡环境中浮现与任务相关的应用 Download PDF

Info

Publication number
CN110520848B
CN110520848B CN201780089686.8A CN201780089686A CN110520848B CN 110520848 B CN110520848 B CN 110520848B CN 201780089686 A CN201780089686 A CN 201780089686A CN 110520848 B CN110520848 B CN 110520848B
Authority
CN
China
Prior art keywords
content
tab
task group
application
target
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
CN201780089686.8A
Other languages
English (en)
Other versions
CN110520848A (zh
Inventor
S·G·盖茨
R·N·林根
L·D·克拉克
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
Priority to CN202311219007.8A priority Critical patent/CN117271161A/zh
Publication of CN110520848A publication Critical patent/CN110520848A/zh
Application granted granted Critical
Publication of CN110520848B publication Critical patent/CN110520848B/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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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

Abstract

描述了用于在异构选项卡环境中浮现与任务相关的应用的技术。在至少一些实施方式中,基于来自源应用的对启动目标应用的请求,基于在来自源应用的源内容与来自目标应用的目标内容之间的隐含关联来创建任务组。根据各种实施方式,所述异构选项卡环境呈现了所述任务组并且基于所述任务组定义了触发事件。检测所述触发事件引起所述任务组在所述选项卡环境中的浮现。

Description

在异构选项卡环境中浮现与任务相关的应用
背景技术
常规而言,寻求恢复需要访问超过一个应用的任务的用户必须个体地打开每个应用中的每个项目。例如,正在电子邮件应用中阅读电子邮件的用户打开附件,并且附件在图像浏览应用中启动。在以后的某一时间,用户希望恢复涉及该电子邮件和附件的任务,必须再次启动每个应用。实现对异构内容的浮现(surfacing)一般需要明确的用户设置,诸如经由自定义脚本。
发明内容
提供本发明内容是为了以简化的形式介绍一系列概念,在下文的具体实施方式中进一步描述这些概念。本发明内容并不意图标识要求保护的主题的关键特征或基本特征,也并不意图用作确定要求保护的主题的范围的辅助手段。
描述了用于在异构选项卡(tab)环境中浮现与任务相关的应用的技术。在至少一些实施方式中,基于从源应用启动到目标应用的内容之间的隐含关联性来创建任务组。根据各种实施方式,启动既呈现源应用又呈现目标应用的选项卡环境。因此,接收触发事件引起接下来的任务组在选项卡环境中的浮现,以用于在单个shell界面中与异构内容进行交互。
附图说明
图1是在示例性实施方式中可操作用于采用本文所讨论的技术的环境的图示。
图2描绘了用于根据一个或多个实施例来创建任务组以及启动异构选项卡环境的示例性实施方案。
图3描绘了根据一个或多个实施例的用于更新任务组的示例性实施方案。
图4a描绘了根据一个或多个实施例的用于在异构选项卡环境中浮现任务组的示例性实施方案。
图4b描绘了根据一个或多个实施例的用于在异构选项卡环境的超过一个实例中浮现任务组的示例性实施方案。
图5描绘了根据一个或多个实施例的用于根据与任务相关的交互来创建任务组的示例性实施方案。
图6是描述根据一个或多个实施例的用于创建和浮现任务组的方法中的步骤的流程图。
图7是描述根据一个或多个实施例的用于在异构选项卡环境中创建任务组的方法中的步骤的流程图。
图8是描述根据一个或多个实施例的用于根据与任务相关的交互来创建任务组的方法中的步骤的流程图。
图9图示了参考图1所描述的被配置为实施本文所描述的技术的实施例的示例性系统和计算设备。
具体实施方式
本文所讨论的实施方式使得能够在异构选项卡环境中浮现与任务相关的应用。例如,所描述的技术使得能够在选项卡环境下创建并浮现任务组。在示例性实施方式中,客户端设备呈现具有源内容的源应用,其包括可选择以启动目标应用中的目标内容的视觉指示器。用户从源应用选择所述视觉指示器(诸如文档附件),并且生成请求。所述请求使得异构选项卡环境得以呈现,其包括由源应用填充的选项卡以及由目标应用填充的选项卡。然后,基于由请求所指示的源内容与目标内容之间的关联性来创建任务组以包括源内容和目标内容。为了使得所述任务组能够被重新创建,定义触发事件以用于在异构选项卡环境中浮现所述任务组。可以通过各种方式来定义所述触发事件,诸如对启动目标内容或源内容的请求的指示。
在一些情况下,在源内容和/或目标内容被呈现时,用户在所述选项卡环境中打开额外的相关内容。结果,任务组被更新以包括所述额外的相关内容,并且基于所述额外的相关内容来更新所述触发事件。当接下来检测到所述触发事件时,在所述异构选项卡环境中浮现所述任务组。例如,考虑这种情况:在所述异构选项卡环境被关闭之后,用户选择所述目标内容以供呈现。这激活了触发事件,其使得异构选项卡环境将被呈现(“浮现”)有所述任务组。因此,来自完全不同源的内容被作为任务组而相关联,以使得所述内容能够在后面的时间在选项卡环境中浮现。
一般而言,在异构选项卡环境中浮现任务组允许在单个shell界面中与来自异构源的关联内容进行交互。因此,本文所描述的技术通过在单个直观shell中为用户提供来自由异构源的任务组的关联内容而简化了与关联内容的交互,并且无需用户记住并个体地启动所述任务组中的关联内容的每个实例。
已经介绍了用于在异构选项卡环境中浮现与任务相关的应用的技术的概览,现在考虑可以实施本文所描述的技术的示例性环境。
图1是在示例性实施方式中可操作用于采用本文所描述的用于在异构选项卡环境中浮现与任务相关的应用的技术的环境100的例示。环境100包括客户端设备102,其能够被体现为任何适当的设备,诸如,作为示例而非限制:智能电话、平板计算机、便携式计算机(例如,膝上型电脑)、台式计算机、可穿戴设备等。在至少一些实施方式中,客户端设备102表示智能器械,诸如物联网(“IoT”)设备。因此,客户端设备102的范围可以从具有显著的处理能力的系统到具有最低处理能力的轻量设备。另外,尽管在一些情况下示出了单个计算设备,但是客户端设备102可以表示多个不同的设备,诸如能够通过网络106进行通信的(一个或多个)其他客户端设备104。能够被体现为任何适当的设备的(一个或多个)其他客户端设备104一般表示能够通过网络106与客户端设备102进行通信的多个不同的设备。下文将在图9示出和描述客户端设备102和/或(一个或多个)其他客户端设备104的各种不同示例中的一个示例。
网络106表示为客户端设备102提供与各种网络和/或服务(诸如因特网)的连接的网络。网络106可以经由各种各样的不同连接技术为客户端设备102提供连接,所述连接技术诸如是宽带线缆、数字用户线(DSL)、无线蜂窝、无线数据连接(例如,WiFiTM)、T载波(例如,T1)、以太网等等。在至少一些实施方式中,网络106表示不同的经互连的有线网络和无线网络。网络106可以通过各种方式来实施,诸如局域网(LAN)、广域网、因特网等。根据各种实施方式,网络106为客户端设备102提供对网络服务108的访问。
网络服务108一般表示用于通过网络106为客户端设备102提供数据和服务的基于网络的功能。由网络服务108提供的数据和服务能够包括通常能通过网络(诸如网络106)获得的数据和/或服务的任何适当的组合。服务的一些示例包括但不限于:在线计算服务(例如,“云”计算)、认证服务、基于web的应用、文件存储和协作服务、搜索服务、消息传送服务(诸如电子邮件、文本和/或即时消息传送)、社交网络服务等。由网络服务108提供的服务还可以包括定位信息服务,其能够基于客户端设备102与之通信的网络和/或网络组件的身份来确定客户端设备102的位置。定位信息的示例包括全球定位系统(GPS)坐标、街道地址、网络位置、参照蜂窝塔和/或蜂窝基站的位置等。
客户端设备102包括使得各种活动或任务能够得以执行的各种各样的不同功能。例如,客户端设备102包括操作系统110和应用112。一般而言,操作系统110表示用于对客户端设备102的各种系统组件(诸如硬件、内核级模块和服务等)进行抽象表示的功能。例如,操作系统110能够将客户端设备102的各种组件抽象表示给应用112,以实现所述组件与应用112之间的交互。
应用112表示用于经由客户端设备102执行不同任务的功能。应用112的示例包括文字处理应用、电子表格应用、web浏览器、游戏应用等。应用112可以被本地安装在客户端设备102上,以经由本地运行时环境来运行,并且/或者可以表示通往远程功能(诸如基于云的服务、web应用等)的门户。因此,应用112可以采取各种各样的形式,诸如本地执行的代码、通往远程托管的服务的门户等。
应用112包括源应用114和目标应用116。源应用114一般表示用户118可以与之进行交互从而以各种方式来查看内容并且对内容进行操纵的应用。在至少一些实施方式中,由源应用114所呈现的内容中的一些内容经由不同的应用(例如,目标应用)来打开。目标应用116例如表示作为与源应用114中的内容的交互的结果而启动的应用。
客户端设备102还包括显示设备120和输入机构122。显示设备120一般表示用于客户端设备102的视觉输出的功能。另外,显示设备120还表示用于接收各种类型的输入(诸如触摸输入、笔输入等)的功能。
输入机构122表示用于接收对客户端设备102的输入的不同功能。输入机构122的示例包括触摸输入设备、无触摸输入设备、手势敏感传感器和设备(例如,诸如基于触摸的传感器和移动跟踪传感器(例如,基于相机的))、鼠标、键盘、触笔、触控板、加速度计、具有附带的语音识别软件的麦克风等。输入结构122可以是独立的或者可以与显示设备120是一体的;一体化示例包括集成有触敏传感器或移动敏感传感器的手势敏感显示器。
客户端设备102还包括任务组模块124,其表示执行与本文所讨论的创建、保持和浮现任务组有关的各种动作的功能。例如,能够利用任务组模块124来创建和保持由用户118访问的异构内容的组,以使得用户118能够以方便并且直观的方式诸如在异构选项卡环境(“选项卡环境”)126中浮现所述内容。例如,任务组模块124使当前活跃的内容作为任务组而相关联,以使得能够在方便的界面中浮现异构内容。下文详述了任务组模块124的各种属性和操作方面。
在各实施方式中,任务组模块124能够对客户端设备102的操作系统110和/或选项卡环境模块128进行管理、控制和/或与之交互,以实现本文所描述的创建、保持和浮现任务组的技术。任务组模块124例如可以基于选项卡环境126中的任务组提供对用户体验(“UX”)的选择性修改。
任务组模块124保持任务组策略130,任务组策略130表示指定用于收集、汇总、保持和/或呈现针对用户118的与任务相关的内容的标准(例如,许可、规则等)的不同数据集。任务组模块124例如使选项卡环境模块128基于根据任务组策略130收集和汇总的内容在选项卡环境126中呈现任务组内容。因此,能够利用任务组策略130来指定要收集、汇总和/或呈现哪些内容以及如何对内容进行配置以供呈现。替代地或另外地,任务组策略130是内容特异性的和/或应用特异性的。此外,任务组策略130可以为用户118指定关于由用户118访问的内容的收集和/或汇总的私人设置。一般而言,任务组策略130能够以各种方式来配置,诸如经由默认设置,由用户、信息技术(IT)人员、应用开发人员指定的设置,等等。
任务组模块124还保持触发事件策略(“触发策略”)132,所述触发事件策略表示指定用于为用户118浮现与任务相关的内容的标准(例如,许可、规则等)的不同数据集。触发策略132例如指定哪些输入、发生、行为、事件等引起任务组模块124为用户118浮现与任务相关的内容。在至少一些实施方式中,触发策略132是内容特异性的和/或应用特异性的。例如,触发策略132可以指定要包含以用于识别触发事件的与任务和/或用户118相关的文本数据。所述文本数据的示例包括日期、时间、位置、设备类型等。
通过包含用于识别触发事件的与任务和/或用户118相关的文本数据,任务组模块124能够在适当并且相关的情况下浮现与任务相关的内容。触发策略132可以指定任务组模块124通过网络106获得来自网络服务108的数据,以识别和/或检测触发事件。例如,考虑一种示例性实施方式,其中,任务组模块124一旦检测到用户118处于最近的机场就识别出触发事件发生。为了使得任务组模块能够检测用户118的位置,触发策略132指定指示客户端设备102的地理位置的数据是通过网络106从网络服务108获得的。一般而言,触发策略132能够是以各种方式来配置的,诸如经由默认设置,由用户、信息技术(IT)人员、应用开发人员指定的设置,等等。
选项卡环境模块128表示用于呈现选项卡环境126的功能并且能够将来自异构源的内容整合到单个交互式shell界面中。一般而言,内容可以采取各种各样的形式,诸如应用112、服务、文本、多媒体流、文档、应用文件、照片、音频/视频文件、动画、图像、web页、web应用、供浏览器或者其他客户端应用显示的内容、数据结构、自执行内容、本地内容、远程内容、针对应用112的应用界面等的各种组合。如本文所使用的,异构内容可以指代上文所列举的各种类型和/或形式的内容(包括源应用114的、目标应用116的和/或应用112的其他示例的内容)的任何组合。尽管本文将选项卡环境模块128描述为在单个shell界面中呈现选项卡环境126,但是应当理解,选项卡环境模块128能够在适当和/或方便的情况下在多个单独的shell界面中呈现选项卡环境126。
选项卡环境模块128保持应用启动设置(“启动设置”)134,其表示指定用于在选项卡环境126中管理应用112的启动和执行的标准(例如,许可、规则等)的不同数据集。一般而言,启动设置134使得应用112能够被呈现在选项卡环境126中,而不必牺牲针对应用112的原生界面的美观或功能方面。启动设置134例如指示能够被应用于针对应用112的不同启动方案的不同行为。被应用于应用112的不同行为的示例包括在选项卡环境126中和/或在应用112的视觉界面中对选项卡136进行添加、切换、放置、尺寸设定和操纵。此外,启动设置134能够基于特定设备类型和/或应用112的启动所处的执行平台来施行针对应用112的行为。替代地或另外地,启动设置134是内容特异性的和/或应用特异性的。
在至少一些实施方式中,选项卡环境模块128生成选项卡环境126,以使得用户118能够与异构内容(包括应用112中的一个或多个应用)的选项卡化实例进行交互。选项卡环境126一般表示能够根据本文所描述的用于异构选项卡环境的技术以各种方式来配置的交互可提供性的功能集合。选项卡环境126能够用在各种各样的设置中,诸如用在其中用户118与来自异构源的内容进行交互的设置中。在至少一些实施方式中,选项卡环境126可以被实施成桌面的、虚拟的或其他方案,并且可以包括经由交互式元件、菜单等的各种控制。
如在环境100中所描绘的,选项卡环境126包括选项卡136,其包括选项卡136a、选项卡136b以及选项卡136c。此外,由选项卡环境模块128将选项卡136呈现到在显示设备120上输出的图形用户界面(GUI)138内,以采用本文所描述的异构选项卡环境技术。选项卡136中的每个能够呈现内容的不同实例和/或类型,因此提供以常规方式与异构内容的交互,诸如在单个shell界面中。例如,选项卡136能够由源应用114和/或目标应用116来填充,并且可以利用源应用114、目标应用116和/或应用112等的内容来填充。一般而言,选项卡136表示在GUI 138的单个视觉shell内呈现的个体shell界面框,以使得能够经由shell中的视觉并且可选择的选项卡(例如,选项卡136)快速并且容易地访问变化的内容。尽管描绘了选项卡136中的三个选项卡,但是应当理解,可以在选项卡环境126中呈现选项卡136中的多于三个选项卡或少于三个选项卡。
通过以本文所描述的各种方式来配置GUI 138,选项卡环境模块128使得用户118能够通过单个界面shell或者多个shell界面与来自异构源的内容进行交互。根据各种实施方式,GUI 138能够通过选项卡环境模块128来实施,并且能够使其能由与用户118相关联的不同设备(诸如客户端设备102以及其他客户端设备104)来获得。不管GUI 138在何处使用,GUI 138一般表示促进与异构内容的快速并且容易的交互的位置。
在这种环境中,用户118表示与选项卡环境126相关联的单个用户,但是将意识到,超过一个用户可以与选项卡环境126和/或GUI 138进行交互。
已经描述了本文所描述的技术可以运行的示例性环境,现在考虑对根据一个或多个实施例的一些示例性实施方案的讨论。所述实施方案可以在上文所讨论的环境100和/或其他适当的环境中实施。
图2描绘了用于根据一种或多种实施方式来创建任务组以及启动异构选项卡环境的示例性实施方案200。方案200包括上文参考环境100所介绍的各种实体和组件。
在方案200中,用户118与在GUI 138上呈现的源应用114的源内容202进行交互。源内容202包括视觉指示器,其能从源应用114中选择,以启动目标应用116。视觉指示器204例如表示用于激活目标应用116的可选功能。例如,视觉指示器204可以表示访问协议,例如,统一源定位符(URL)或者统一源指示符(URI)。另外地或替代地,视觉指示符204可以表示启动协议,例如文件类型、应用启动协议、可选图标等。
进一步对于方案200,用户118选择视觉指示器204,视觉指示器204使得源应用114生成请求206。在至少一些实施方式中,经由输入机构122来接收对视觉指示器204的选择。例如,用户118经由触摸输入(例如,输入机构122)来选择视觉指示器204。
选项卡环境模块128接收来自源应用114的启动目标应用116的请求206。相应地,并且进行至方案200的下部,选项卡环境模块128使得目标应用116与目标内容208一起启动。请求206一般包括涉及目标内容208的各种信息,诸如识别符、文件类型、应用启动协议等。
为了呈现目标内容208,选项卡环境模块128在GUI 138中呈现具有选项卡136a和选项卡136b的选项卡环境126,如在方案200的下部所示的。在一些实施方式中,启动设置134指定选项卡环境模块128在源应用114的shell界面中呈现选项卡环境126。在替代实施方式中,选项卡环境模块128在新的shell界面中呈现选项卡环境126,从而替代源应用114的shell界面。
在方案200中,选项卡环境模块128分别利用源应用114和目标应用116来填充选项卡136a和选项卡136b。例如,根据启动设置134对选项卡环境126进行填充,以在选项卡136b中显示目标内容208。一般而言,能个体地选择选项卡136a、136b以在源内容202与目标内容208之间切换视觉关注点。例如,选择选项卡136a使得源内容202在前景中呈现,并且选择选项卡136b使得目标内容208在前景中呈现,从而替代GUI 138中的源内容202。
继续方案200,任务组模块124接收请求206,并且响应于接收到请求206而创建任务组210。任务组210一般表示由于用户118与源内容202的交互而被任务组模块124彼此关联起来的异构内容(例如,源内容202和目标内容208)。在方案200中,基于任务组模块124接收到请求206而将任务组210创建为包括源内容202和目标内容208。因此,任务组210基于接收到打开来自异构源的内容的请求206(诸如从源应用114打开目标应用116的请求206)使得异构内容(例如,源内容202和目标内容208)能够以与任务相关的方式相关联。替代地或另外地,响应于来自用户118的创建任务组210的明确请求而创建任务组210。
基于任务组210,任务组模块124根据用于浮现任务组210的触发策略132来定义触发事件212。一般而言,触发事件212指定一个或多个事件,所述事件触发任务组模块124以将任务组210浮现给选项卡环境模块128,以用于在选项卡环境126中呈现。根据触发策略132,任务组模块124能够利用各种类型的数据来定义触发事件212,诸如源内容202、目标内容208、基于时间的事件、位置跟踪、设备类型、输入类型等。根据各种实施方式,任务组模块124将触发事件212定义为包括检测启动源内容202和/或目标内容208的请求。例如,并且如下文所详述的,任务组模块124将触发事件212定义为接收在被配置为启动目标应用116中的目标内容208的URI处的输入。通过将触发事件212定义为包括呈现来自任务组210的内容的请求,任务组模块124能够在相关语境中为用户118浮现任务组210。
图3描绘了根据一种或多种实施方式的用于更新任务组的示例性实施方案300。方案300包括上文参考环境100和方案200所介绍的各种实体和组件,并且在至少一些实施方式中表示方案200的扩展。
在方案300中,呈现了选项卡环境126,其包括由源应用114填充的选项卡136a、由目标应用116填充的选项卡136b以及由额外的相关内容302填充的选项卡136c。相关内容302一般表示在利用源内容202填充选项卡136a和/或利用目标内容208填充选项卡136b时呈现的内容。在至少一些实施方式中,在选项卡136a和/或选项卡136b分别由源内容202和/或目标内容208来填充时,用户118在选项卡136c内打开相关内容302。
例如,考虑源应用114是填充选项卡136a的报税应用的示例,并且用户118在选项卡136c中打开web浏览器应用(例如,应用112的另一实例),以与相关内容302(在这种情况下为税表)进行交互。任务组模块124将任务组210更新为包括填充选项卡136c的相关联内容302。例如,任务组模块124向选项卡环境模块128发送查询,并且选项卡环境模块128识别相关内容302。继续该示例性方案,任务组210被更新为包括相关内容302,即,用户118在选项卡136c中打开的税表。因此,由任务组模块124基于相关内容302和源内容202两者当前均被呈现在选项卡环境126中而使税表(例如,相关内容302)与报税应用(例如,源内容202)相关联。
根据至少一些实施方式,响应于任务组模块124接收到源内容202和目标内容208不再呈现在选项卡环境126中的指示而对任务组210进行更新。为了更新任务组210,任务组模块124向选项卡环境模块128查询相关内容302。例如,由源应用114填充的选项卡136a以及由目标应用116填充的选项卡136b两者均被关闭,并且任务组模块124向选项卡环境模块128查询在具有源内容202和/或目标内容208的选项卡环境126中呈现的任何内容,例如相关内容302。源内容202和目标内容208可能出于各种原因停止被呈现在选项卡环境126中。这样的原因的示例包括用户118对选项卡136a和/或选项卡136b的关闭、选项卡环境模块128对选项卡136a和/或选项卡136b的关闭、用户118对选项卡环境126的关闭、选项卡环境模块128对选项卡环境126的关闭、操作系统110对选项卡环境126的关闭等等。在备选实施方式中,任务组模块124响应于接收到在源内容202和/或目标内容208填充选项卡环境126时选项卡136c被填充的指示而向选项卡环境模块128查询相关内容302。
响应于更新任务组210,任务组模块124更新触发事件212,以考虑经更新的任务组210。例如,触发事件212被更新为包括接收对启动相关内容302的请求,以作为触发事件212的额外实例。
尽管相关内容302被描绘为填充至选项卡136c的应用112的内容,但是应当理解,可以利用相关内容302来填充选项卡环境126的任意数量的选项卡136。相关内容302可以包括应用112或者任何其他类型的能呈现在选项卡环境126中的内容。在一些实施方式中,相关内容302可以是源应用114或目标应用116的不同实例。
图4a描绘了根据一种或多种实施方式的用于在异构选项卡环境中浮现任务组的示例性实施方案400a。方案400a包括上文参考环境100和方案200、300所介绍的各种实体和组件,并且在至少一些实施方式中表示对方案200、300的扩展。
在方案400a中,任务组模块124接收对触发事件212的指示并且作为响应将任务组210浮现给选项卡环境模块128。例如,作为用户118选择要用于呈现的目标内容208的结果,由任务组模块124接收触发事件212。响应于接收到触发事件212,任务组模块124将任务组210发送至选项卡环境模块128以用于呈现。
考虑任务组210包括全部与报税活动有关的相关内容302、源内容202和目标内容208的示例。根据任务组策略130,任务组模块124诸如基于任务组210内的关键字识别来确定任务组210与报税有关。继续该示例,任务组模块124将触发事件212定义为包括基于时间的事件,诸如比针对用户118的报税截止日期提前一个星期的日历日期,并且指定任务组模块124将要从网络服务108获得日历和/或日期信息以便实现对触发事件212的检测。结果,触发事件212在由任务组模块124指定的日期发生,例如,在报税截止日期之前的一个星期发生。由触发事件212指定的日期的发生使得任务组模块124检测触发事件212。响应于检测到触发事件212,任务组模块124将任务组210的与报税有关的内容浮现给选项卡环境模块128以供在选项卡环境126中呈现给用户118。在诸如所描述的示例的方案中,任务组模块124使用触发事件212来定义是否和/或何时浮现任务组210。以这种方式,触发事件212使得用户118能够基于针对用户118的相关语境而在单个shell界面(例如选项卡环境126)中访问选项卡的相关组。
继续方案400a,选项卡环境模块128接收来自任务组模块124的任务组210,并且在选项卡环境126中呈现任务组210。例如,选项卡环境126的选项卡136a、136b和136c分别由源应用114、目标应用116和相关内容302来填充。在至少一些实施方式中,由任务组模块124和/或选项卡环境模块128响应于任务组模块检测到触发事件212而将视觉提示402呈现给用户118。一般而言,视觉提示402可选择以使得任务组210的全部或部分被呈现在选项卡环境126中。例如,视觉提示402可以被呈现为交互式控件,其被配置为显示源内容202、目标内容208和相关内容302的每个实例的可选择表示,其能被个体地选择并且能被成组地选择,以用于呈现在选项卡环境126中。
根据各种实施方式,任务组210被呈现在选项卡环境126的新实例中。例如,任务组模块124创建了与后来被关闭的选项卡环境126的第一实例相关联的任务组210,并且任务组210被浮现在选项卡环境126的新实例中。在至少一些实施方式中,触发事件212是通过网络106检测到的和/或是在其他设备处检测到的。例如,触发事件212是作为用户118选择要用于呈现在(一个或多个)其他客户端设备104上的源内容202的结果而由任务组模块124从(一个或多个)其他客户端设备104检测到的。相应地,任务组210被呈现在选项卡环境126的新实例中并且处在不同的设备上,例如,在(一个或多个)其他客户端设备104的实例上。
在至少一些实施方式中,要被填充给选项卡环境126的应用112并非立即可用于在选项卡环境126中的呈现和/或执行。例如,目标应用116未被安装在客户端设备102上。相应地,选项卡环境模块128可以引起目标应用116的下载和/或安装,诸如通过网络106从网络服务108进行下载和/或安装。在一些实施方式中,用以实现任务组210的呈现的内容的下载和/或安装可以响应于触发事件212和/或响应于任务组210的浮现自动地发生。另外地或替代地,内容的下载和/或安装可以响应于来自用户118的明确许可而发生的,诸如经由提示,例如视觉提示402。
尽管上文将选项卡环境126描述为单个shell界面,但是应当理解,在至少一些实施方式中,任务组210被浮现在选项卡环境126的超过一个shell界面中,诸如在下文所描述的方案400b中。
图4b描绘了根据一种或多种实施方式的用于在异构选项卡环境的超过一个实例中浮现任务组的示例性实施方案400b。方案400b包括上文参考环境100和方案200、300、400a所介绍的各种实体和组件,并且在至少一些实施方式中表示对方案200、300和400a的扩展和/或替代方案。
在方案400b中,选项卡环境模块128接收来自任务组模块124的任务组210,并且将任务组210作为选项卡环境126的单独shell界面(在方案400b内被描绘为shell界面404a和shell界面404b)呈现在选项卡环境126中。例如,选项卡环境126的第一部分被呈现在shell界面404a中,shell界面404a具有分别由源应用114和目标应用116填充的选项卡136a和选项卡136b。此外,选项卡环境126的第二部分被呈现在具有由相关内容302填充的选项卡136c的shell界面404b中。一般而言,当任务组210经由shell界面404a、404b来浮现时,shell界面404a、404b可以通过许多种方式来呈现,诸如部分地重叠的shell界面、并排的shell界面、在多个显示设备上的shell界面等等。
根据各种实施方式,通过恢复选项卡环境126的特征,例如,尺寸、位置、选项卡组、用户设置、设备设置等,选项卡环境126可以被恢复到先前状态。例如,选项卡环境126和/或任务组210的先前状态可以包括具有设备特异性的特征,诸如多显示设备配置、移动配置等等。为了恢复选项卡环境126的先前状态,在一些实施方式中,选项卡环境模块128和/或任务组模块124可以将超过一个shell界面折叠成具有多个选项卡的单个shell界面,或者可以将具有多个选项卡的一个shell界面扩展成超过一个shell界面。
如在方案400b中所示的,可以将选项卡环境126恢复到先前状态,以经由shell界面404a、404b来浮现任务组210。例如,考虑方案400b之前的情况,在这种情况中,选项卡环境126既被呈现在客户端设备102上,又被呈现在不同的设备上,例如,被呈现在其他客户端设备104上。方案400b描绘了将任务组210浮现给选项卡环境126,使得选项卡环境126被恢复到任务组210跨多个设备来呈现的先前状态。由于任务组210先前被呈现在单独设备上和单独shell界面中,因而选项卡环境126经由shell界面404a和404b被呈现在单个客户端设备102上,以恢复先前状态。尽管shell界面404a和404b先前在所描述的情况下被作为选项卡环境126的单独实例跨不同的设备来呈现,但是选项卡环境被恢复到单个客户端设备102,如在方案400b中所示的。因此,通过经由shell界面将任务组210浮现到选项卡环境126的各种配置中,任务组模块124使得任务组210以方便并且直观的方式跨不同的设备、显示器和呈现配置来呈现。
图5描绘了根据一种或多种实施方式的用于根据与任务相关的交互来创建任务组的示例性实施方案500。方案500包括上文参考环境100所介绍的各种实体和组件,并且在至少一些实施方式中表示方案200的替代方案或者对方案200、300、400a和400b的扩展。
在方案500中,用户118提供输入502以与源应用114的源内容202以及目标应用116的目标内容208进行交互。如在所述方案中所示的,源应用114和目标应用116被呈现在GUI138上的单独shell界面中。任务组模块124检测到与源内容202和目标内容208(例如,异构内容)的交互包括指示所述交互是与任务相关的输入502。一般而言,输入502表示由任务组模块124检测到的指示与任务相关的交互的输入或输入模式。在至少一些实施方式中,输入502基于与诸如源内容202和目标内容208的异构内容的交互的发生频率和/或持续时间来指示与任务相关的交互。例如,当用户118经由输入机构122以与任务相关的方式使关注点在源应用114与目标应用116之间反复切换时,检测到输入502。输入502可以基于输入502的各种属性来指示与任务相关的交互,诸如:源应用114与目标应用116之间的复制、剪切或粘贴;使shell界面关注点在源应用114与目标应用116之间切换;将针对应用112的shell界面拖到选项卡环境126中;等等。
响应于检测到输入502指示与任务相关的交互,任务组模块124创建包括源内容202和目标内容208的任务组210。考虑源应用114是文字处理应用并且目标应用116是web浏览器应用的示例。此外,用户118正在源应用114中写文章并且在目标应用116中搜索该文章的主题。继续该示例,用户反复地将来自web浏览器(目标应用116)的目标内容208复制并粘贴到文字处理文档(源应用114的源内容202)中。在该示例中,复制和粘贴活动(包括输入502的交互)发生了预定发生次数和/或预定持续时间,并且任务组模块124确定输入502指示与任务相关的交互,并且创建包括源应用114和目标应用116的任务组210。在至少一些实施方式中,源应用114和目标应用116经由不同的显示设备来呈现,诸如在多显示器配置中呈现。
已经描述了一些示例性实施方案,现在考虑对根据一个或多个实施例的一些示例性流程的讨论。所述示例性流程可以在图1的环境100、图9的系统900和/或任何其他适当的环境中采用。所述流程例如表示用于实施上文所描述的实施方案的示例性流程。在至少一些实施方式中,针对各种流程所描述的步骤是自动地并且独立于用户交互来实施的。根据各种实施方式,所述流程可以是在本地执行的(例如,在客户端设备102处)、在基于网络的服务处执行的(例如,在网络服务108处)、和/或经由客户端设备102与基于网络的服务之间的协作执行的。
图6是描述根据一种或多种实施方式的用于创建和浮现任务组的方法中的步骤的流程图。在至少一些实施方式中,所述方法能够是至少部分地在客户端设备102处执行的,例如,由任务组模块124和/或选项卡环境模块128执行。
步骤600接收来自源应用的对启动来自目标应用的目标内容的请求。用户118例如与客户端设备102进行交互以执行发起从源应用114对目标内容208的启动的动作。这样的动作的示例包括经由输入机构122选择视觉指示器204(例如,图标)。
步骤602呈现异构选项卡环境的第一实例,所述异构选项卡环境包括由源应用填充的可选择以呈现源内容的第一选项卡以及由目标应用填充的呈现目标内容的第二选项卡。选项卡环境模块128例如响应于接收到请求206而将选项卡环境126呈现在GUI 138中。在各种实施方式中,选项卡环境126包括利用源应用114填充并且可选择以显示源内容202的选项卡136a,并且利用目标应用116填充选项卡136b以显示目标内容208。
步骤604创建包括源内容和目标内容的任务组。任务组模块124例如响应于接收到请求206而将任务组210创建为包括源内容202和目标内容208。
步骤606接收关于第一选项卡或第二选项卡中的一个或多个被关闭的指示。例如,选项卡环境模块128通知任务组模块124用户118关闭了选项卡环境126。在至少一些实施方式中,选项卡136a和/或136b是个体地并且在不同时间被关闭的。另外地或替代地,选项卡136a和/或136b是作为选项卡环境126被关闭的结果而被关闭的。
步骤608更新任务组以包括来自与所述第一选项卡或第二选项卡同时打开的一个或多个选项卡的相关内容。任务组模块124例如向选项卡环境模块128查询在选项卡环境126中与源内容202和/或目标内容208同时打开的内容。在接收到相关内容302之时,任务组模块124将任务组210更新为包括相关内容302。通过将相关内容302包含在任务组中,任务组模块124使得能够:在选项卡环境126中浮现任务组210,使用户118免于个体地搜索源内容202、目标内容208和相关内容302中的每个以恢复当创建任务组210时用户所执行的任务。
在一种或多种实施方式中,任务组模块124识别用于浮现任务组210的触发事件212。例如,触发事件212被实施为用户启动源内容202、目标内容208和/或相关内容302的请求。在一些实施方式中,触发事件212可以采取基于时间的事件或者基于位置的事件的形式。
响应于接收到触发事件的指示,步骤610浮现所述任务组,以供呈现在异构选项卡环境的第二实例中,所述第二实例被配置为在个体选项卡中显示源内容、目标内容和相关内容中的每个。例如,任务组模块124接收对启动源内容202的请求并且将所述请求识别为触发事件212。在至少一些实施方式中,任务组模块124将任务组210浮现到选项卡环境模块128以使得选项卡环境126利用任务组210(例如,源内容202、目标内容208和相关内容)来填充。而在其他实施方式中,利用任务组210来填充选项卡环境126的超过一个实例,例如,将选项卡环境126经由shell界面404a和404b被呈现为两个实例。
另外地或替代地,响应于接收到触发事件212的指示,任务组模块124可以使得视觉提示402被呈现给用户118。例如,响应于接收到触发事件212的指示,任务组模块124可以引起被配置为交互式控件的视觉提示的呈现,所述交互式控件显示来自任务组210的内容的实例的可选择列表。经由与视觉提示118的交互,用户118能够个体地选择源内容202、目标内容208和/或相关内容302的实例,以使其浮现在选项卡环境126中。相应地,用户118可以控制任务组210有多少要浮现在选项卡环境126中。
图7是描述了根据一种或多种实施方式的用于在异构选项卡环境中创建任务组的方法中的步骤的流程图。在至少一些实施方式中,所述方法能够是至少部分地在客户端设备102处执行的,例如,由任务组模块124和/或选项卡环境模块128来执行。
步骤700接收来自源应用的对启动来自目标应用的目标内容的请求。用户118例如从源应用114选择被配置为访问协议(例如,URL)的视觉指示器204。任务组模块124可以通过上文所描述的各种方式来接收对启动目标内容208的请求206。例如,所述请求可以是作为来自输入机构122的经修改的输入(例如,来自鼠标或者触摸输入的右击或ctrl点击)来接收。另外地或替代地,发起启动视觉指示器204的动作可以被配置为文件关联图像(例如,图标)或文件协议(例如,URI或URL)。
步骤702呈现了异构选项卡环境,其包括可选择以显示源内容的源内容选项卡以及显示目标内容的目标内容选项卡。例如,选项卡环境模块128在GUI 138中呈现包括选项卡136a和136b的选项卡环境126。在至少一些实施方式中,选项卡环境126被呈现在源应用114的shell界面中。而在其他实施方式中,选项卡环境126被呈现在新shell界面中。
尽管web浏览器应用常规地与选项卡环境相关联,但是应当理解,应用112(诸如源应用114和目标应用116)可以是包括但不限于web浏览器应用的任何类型的应用。
步骤704创建包括源内容、目标内容和相关内容的任务组,所述相关内容是从在所述异构选项卡环境中与源内容选项卡和目标内容选项卡同时打开的选项卡收集的,所述任务组使得所述源内容、所述目标内容和所述相关内容能够被一起作为个体选项卡浮现在所述异构选项卡环境的新实例中。任务组模块124例如向选项卡环境模块128查询与源内容202和/或目标内容208同时在选项卡环境126中打开的相关内容302。通过收集相关内容302并且将相关内容302包含到任务组210中,任务组模块124使得用户118能够在恢复任务时浮现与上下文相关的应用内容。
图8是描述根据一种或多种实施方式的用于根据与任务相关的交互来创建任务组的方法中的步骤的流程图。在至少一些实施方式中,所述方法能够是至少部分地在客户端设备102处执行的,例如,由任务组模块124和/或选项卡环境模块128来执行。
步骤800检测到与从超过一个应用呈现的异构内容的交互包括指示该交互具有任务相关性的输入或输入模式。例如,应用112中的超过一个应用被呈现在GUI 138的单独shell界面中。根据各种实施方式,任务组模块124检测到用户118与应用112的交互包括指示该交互具有任务相关性的输入502。输入502可以指示:当源内容202和目标内容208以阈值频率交互时或者以具有任务相关性的方式交互时,源内容202与目标内容208的交互是具有任务相关性的。例如,当所述交互是在预定量的时间内检测到的或者该交互被检测到发生了预定量的时间时,源内容202与目标内容208之间的复制、剪切或粘贴动作的输入502指示与任务相关的交互。作为另一示例,包括将应用112的shell界面移动或拖拽到选项卡环境126中以创建新的选项卡的输入502可以指示与任务相关的交互。
步骤802响应于检测到交互具有任务相关性而创建包括异构内容的任务组。任务组模块124例如响应于检测到所述交互包括指示与任务相关的交互的输入502而将任务组210创建为包括源内容202和目标内容208。
响应于检测到针对任务组的触发事件,步骤804呈现异构选项卡环境,所述异构选项卡环境被配置为显示利用异构内容的不同相应实例填充的个体选项卡。任务组模块124例如呈现在选项卡136a、136b和136c中利用任务组210填充的选项卡环境126。任务组模块124通过将任务组210呈现在选项卡环境126中而使得用户118能够与处在单个shell界面中的源内容202、目标内容208和相关内容302进行交互。
已经描述了一些示例性流程,现在考虑可以在其上实施各种实施方案和流程的示例性系统和设备。
图9在900处大体图示了包括可以表示可以实施本文所描述的各种技术的一种或多种计算系统和/或设备的示例性计算设备902的示例性系统。例如,上文参考图1所讨论的客户端设备102能够被体现为计算设备902。计算设备902可以是例如服务提供商的服务器、与客户相关联的设备(例如,客户端设备)、片上系统和/或任何其他适当的计算设备或计算系统。
所图示的示例性计算设备902包括相互通信地耦合的处理系统904、一个或多个计算机可读介质906以及一个或多个输入/输出(I/O)接口908。尽管未示出,但是计算设备902还可以包括使各种组件相互耦合的系统总线或其他数据和命令传递系统。系统总线能够包括不同总线结构的任意一种或任意组合,诸如存储总线或存储控制器、外围总线、通用串行总线和/或利用各种各样的总线架构中的任意总线架构的处理器或本地总线。还设想到了各种各样的其他示例,诸如控制线或数据线。
处理系统904表示使用硬件执行一项或多项操作的功能。相应地,处理系统904被图示为包括硬件元件910,硬件元件910可以被配置为处理器、功能块等。这可以包括作为专用集成电路或者使用一个或多个半导体形成的其他逻辑器件的硬件实施方式。硬件元件910不受其形成材料或者其中所采用的处理机制的限制。例如,处理器可以包括(一个或多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的语境下,处理器可执行指令可以是电子可执行指令。
计算机可读介质906被图示为包括存储器/存储装置912。存储器/存储装置912表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置912可以包括易失性介质(诸如随机存取存储器(RAM)和/或非易失性介质(诸如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/存储装置912可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如,闪速存储器、可移除硬盘驱动器、光盘等)。计算机可读介质906可以是以如下文进一步描述的其他方式来配置的。
(一个或多个)输入/输出接口908表示使用各种输入/输出设备以允许用户向计算设备902输入命令和信息并且还允许将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或口语输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容式传感器或其他传感器)、相机(例如,其可以采用可见波长或如红外频率的非可见波长来检测像手势这样的不涉及触摸的移动)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备902可以通过如下文进一步所述的各种方式配置为支持用户交互。
本文可以在软件、硬件元件或程序模块的一般语境下描述了各种技术。一般而言,这样的模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文使用的词语“模块”、“功能”、“实体”和“组件”一般表示软件、固件、硬件或者其组合。本文所描述的技术的特征是独立于平台的,意指所述技术可以在具有各种各样的处理器的各种各样的商用计算平台上实施。
所描述的模块和技术的实施可以被存储在某种形式的计算机可读介质上或者可以跨某种形式的计算机可读媒介来传输。计算机可读媒介可以包括可以由计算设备902访问的各种各样的媒介。作为示例而非限制,计算机可读媒介可以包括“计算机可读存储介质”和“计算机可读信号媒介”。
“计算机可读存储介质”可以指代实现对信息的持久存储的介质和/或设备,其与纯粹的信号传输、载波或信号本身形成了对照。计算机可读存储介质不包括信号本身。计算机可读存储介质包括硬件,诸如易失性和非易失性的可移除及不可移除介质以及/或者以适于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其他数据)的方法或技术实施的存储设备。计算机可读存储介质的示例包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、硬盘、盒式磁带、磁带、磁盘存储器或其他磁存储设备或者其他适于存储预期信息并且可以被计算机访问的存储设备、有形介质或者制品。
“计算机可读信号媒介”可以指代被配置为向计算设备902的硬件传输指令(诸如经由网络)的信号承载媒介。信号媒介通常可以在诸如载波、数据信号或其他传输机制的调制的数据信号中体现计算机可读指令、数据结构、程序模块或者其他数据。信号媒介还包括任何信息递送媒介。术语“调制的数据信号”意指使其特征中的一个或多个特征被设置或改变的信号,所述设置或改变的方式使得信息被编码在所述信号中。作为示例而非限制,通信媒介包括诸如有线网络连接或直接有线连接的有线媒介以及诸如声、射频(RF)、红外的无线媒介以及其他无线媒介。
如前所述,硬件元件910和计算机可读介质906表示以硬件形式实施的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以被采用以实施本文所描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及其他在硅或其他硬件器件中的实施方式。在这种语境下,硬件元件可以作为处理器件来操作,其执行通过该硬件元件体现的指令、模块和/或逻辑所定义的程序任务,并且可以作为用于存储供执行的指令的硬件设备来操作,例如,前文所描述的计算机可读存储介质。
还可以采取前述方案的组合来实施本文所描述的各种技术和模块。相应地,可以将软件、硬件或程序模块以及其他程序模块实施成体现在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件910体现的一个或多个指令和/或逻辑。计算设备902可以被配置为实施对应于软件模块和/或硬件模块的特定指令和/或功能。相应地,能由计算设备902作为软件执行的模块的实施方式可以是至少部分地以硬件来实现,例如,通过使用处理系统的硬件元件910和/或计算机可读存储介质。所述指令和/或功能可以是能由一件或多件制品(例如,一个或多个计算设备902和/或处理系统904)执行/操作的,以实施本文所描述的技术、模块和示例。
如在图9中进一步图示的,当在个人计算机(PC)、电视设备和/或移动设备上运行应用时,示例性系统900实现了似乎无所不在的环境,以实现无缝用户体验。在利用应用、玩视频游戏、看视频等时,当从一个设备转换到下一设备时,服务和应用在所有的三种环境中基本上类似地运行,从而得到共同的用户体验。
在示例性系统900中,多个设备是通过中央计算设备来互连的。中央计算设备可以相对于所述多个设备处于本地或者可以相对于所述多个设备远程地定位。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路被连接至多个设备的一个或多个服务器计算机的云。
本文讨论的是可以被实施以执行本文所讨论的技术的许多种方法。所述方法的各方面可以通过硬件、固件或软件或者其组合来实施。所述方法被示为一组步骤,其指定由一个或多个设备执行的操作而且未必限于所示的执行相应的框的操作的顺序。此外,根据一种或多种实施方式,相对于特定方法所示的操作可以与不同方法的操作进行结合和/或互换。所述方法的各方面能够经由上文参照环境100所讨论的各种实体之间的交互来实施的。
在本文的讨论中,描述了各种不同的实施例。应当意识到并且理解,本文所描述的每个实施例能够单独使用或者能够与本文所描述的一个或多个其他实施例结合使用。此外,本文所讨论的技术的各方面涉及下述实施例中的一个或多个。
一种用于在选项卡环境中浮现任务组的系统,所述系统包括:至少一个处理器;以及包含存储于其上的一条或多条指令的计算机可读存储介质,所述指令响应于由所述至少一个处理器运行而使所述系统执行包括以下项的操作:接收来自源应用的对启动来自目标应用的目标内容的请求;呈现异构选项卡环境的第一实例,所述异构选项卡环境的第一实例包括由所述源应用填充的可选择以呈现源内容的第一选项卡以及由所述目标应用填充的呈现所述目标内容的第二选项卡;创建包括所述源内容和所述目标内容的任务组;接收关于第一选项卡或第二选项卡中的一个或多个被关闭的指示;更新所述任务组以包括来自与所述第一选项卡或所述第二选项卡同时打开的一个或多个选项卡的相关内容;以及响应于接收到触发事件的指示而浮现所述任务组,以供在异构选项卡环境的第二实例中呈现,所述异构选项卡环境的第二实例被配置为在个体选项卡中显示源内容、目标内容以及相关内容的每个。
除了上文所描述的系统中的任何系统之外,还包括以下中的任意一项或组合:其中,所述的接收对触发事件的指示包括接收对启动所述源内容、所述目标内容或所述相关内容的请求;其中,所述操作还包括至少部分地基于与所述任务组上下文相关联的日期、时间、位置或设备来确定触发事件;其中,所述的浮现所述任务组包括呈现视觉通知,所述视觉通知可选择以引起所述异构选项卡环境的被配置为显示所述任务组的第二实例的呈现;其中,所述的浮现所述任务组包括呈现交互式控件,所述交互式控件被配置为个体地显示所述源内容、所述目标内容和所述相关内容的每个实例的可选择表示,以供在所述异构选项卡环境的所述第二实例中呈现;其中,所述操作还包括基于所述目标内容、所述源内容和所述相关内容来确定所述触发事件;其中,所述触发事件是基于时间的事件;并且其中,所述触发事件是基于位置的事件。
一种用于在选项卡环境中浮现任务组的计算机实施的方法,所述方法包括:接收来自源应用的对启动来自目标应用的目标内容的请求;呈现包括可选择以显示源内容的源内容选项卡以及显示目标内容的目标内容选项卡的异构选项卡环境;以及创建包括所述源内容、所述目标内容以及从在所述异构选项卡环境中与所述源内容选项卡或所述目标内容选项卡同时打开的选项卡收集到的相关内容的任务组,所述任务组使得所述源内容、所述目标内容和所述相关内容能够在所述异构选项卡环境的新实例中作为个体选项卡一起浮现。
除了上文所描述的系统中的任意系统之外,还存在以下中的任意一项或组合:其中,所述异构选项卡环境被呈现在所述源应用的shell界面中;其中,所述的接收在所述源应用处对启动所述目标内容的请求包括接收用于选择所述目标内容的经修改的输入,所述经修改的输入被配置为将目标内容启动到新shell界面或新选项卡中;其中,所述的接收在所述源应用处对启动所述目标内容的请求包括接收用于选择针对所述目标内容的文件关联图像或文件协议的输入;其中,所述源应用或所述目标应用不是web浏览器;其中,所述目标应用不是本地可执行的,并且其中,所述操作还包括发起所述目标应用的本地实例的安装。
一种用于在选项卡环境中浮现任务组的计算机实施的方法,所述方法包括:检测到与从超过一个应用呈现的异构内容的交互包括指示所述交互具有任务相关性的输入或输入模式;响应于检测到所述交互具有任务相关性而创建包括所述异构内容的任务组;以及响应于检测到针对所述任务组的触发事件而呈现异构选项卡环境,所述异构选项卡环境被配置为显示利用所述异构内容的不同的相应实例填充的个体选项卡。
除了上文所描述的系统中的任何系统之外,还存在以下中的任意一项或组合:其中,所述输入或输入模式包括所述异构内容的各实例之间的复制、剪切或粘贴在预定量的时间内发生超过了阈值量;其中,所述输入或输入模式包括使图形用户界面关注点在异构内容的实例之间切换,所述切换在预定量的时间内超过了阈值量;其中,任务组是响应于明确请求来创建的;还包括呈现交互式控件,所述交互式控件显示针对异构内容的每个实例以及相关内容的每个实例的视觉表示,其可选择以引起异构选项卡环境的呈现,所述异构选项卡环境被配置为显示由每个选定实例填充的个体选项卡;并且其中,输入或者输入模式包括将应用shell界面作为新选项卡移动或拖拽到选项卡环境中。
描述了用于在选项卡环境中浮现任务组的技术。尽管以特定于结构特征和/或方法行为的语言对实施例做出了描述,但是应当理解,所附权利要求中限定的实施例并不一定限于所描述的具体特征或动作。相反,具体的特征和操作是作为实施所要求保护的实施例的示例性形式而公开的。

Claims (14)

1.一种用于在选项卡环境中浮现任务组的系统,所述系统包括:
至少一个处理器;以及
包含存储于其上的指令的一个或多个计算机可读存储介质,所述指令响应于由所述至少一个处理器运行而使所述系统执行包括以下项的操作:
接收来自源应用的对启动来自目标应用的目标内容的请求;
呈现异构选项卡环境的第一实例,所述第一实例包括由所述源应用填充的呈现源内容的第一选项卡以及由所述目标应用填充的呈现所述目标内容的第二选项卡;
创建包括所述源内容和所述目标内容的任务组;
接收关于所述第一选项卡或所述第二选项卡中的一个或多个被关闭的指示;
更新所述任务组以包括来自与所述第一选项卡或所述第二选项卡同时打开的一个或多个选项卡的相关内容;以及
响应于接收到对触发事件的指示,浮现所述任务组,以用于在所述异构选项卡环境的第二实例中呈现,所述第二实例被配置为在个体选项卡中显示所述源内容、所述目标内容和所述相关内容中的每个,所述触发事件包括对启动所述源内容、所述目标内容或所述相关内容的请求。
2.根据权利要求1所述的系统,其中,所述接收对所述触发事件的所述指示包括接收对启动所述源内容、所述目标内容或所述相关内容的请求。
3.根据权利要求1所述的系统,其中,所述操作还包括至少部分地基于与所述任务组上下文相关联的日期、时间、位置或设备来确定所述触发事件。
4.根据权利要求1所述的系统,其中,所述浮现所述任务组包括呈现视觉通知,以引起所述异构选项卡环境的、被配置为显示所述任务组的所述第二实例的呈现。
5.根据权利要求1所述的系统,其中,所述浮现所述任务组包括呈现交互式控件,所述交互式控件被配置为个体地显示所述源内容、所述目标内容和所述相关内容的每个实例的表示,以用于在所述异构选项卡环境的所述第二实例中呈现。
6.根据权利要求1所述的系统,其中,所述触发事件是基于时间的事件。
7.根据权利要求1所述的系统,其中,所述触发事件是基于位置的事件。
8.根据权利要求1所述的系统,其中,所述异构选项卡环境的所述第一实例被呈现在所述源应用的shell界面中。
9.根据权利要求1所述的系统,其中,所述接收来自所述源应用的对启动所述目标内容的所述请求包括接收用于选择所述目标内容的经修改的输入,所述经修改的输入被配置为将所述目标内容启动到新shell界面或新选项卡中。
10.根据权利要求1所述的系统,其中,所述接收来自所述源应用的对启动所述目标内容的所述请求包括接收用于选择针对所述目标内容的文件关联图像或文件协议的输入。
11.根据权利要求1所述的系统,其中,所述源应用或所述目标应用不是web浏览器。
12.根据权利要求1所述的系统,其中,所述目标应用不是本地可执行的,并且其中,所述操作还包括发起所述目标应用的本地实例的安装。
13.一种用于在选项卡环境中浮现任务组的计算机实施的方法,所述方法包括:
检测到与异构内容的交互包括输入或输入模式,所述异构内容是从超过一个应用呈现的,所述输入或输入模式指示所述交互是与任务相关的;
响应于检测到所述交互与任务相关而创建包括所述异构内容的任务组;以及
响应于检测到针对所述任务组的触发事件而呈现异构选项卡环境,所述异构选项卡环境被配置为显示利用所述异构内容的不同的相应实例所填充的个体选项卡。
14.根据权利要求13所述的方法,其中,所述输入或所述输入模式包括所述异构内容的各实例之间的复制、剪切或粘贴在预定量的时间内发生超过了阈值量。
CN201780089686.8A 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用 Active CN110520848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311219007.8A CN117271161A (zh) 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762487373P 2017-04-19 2017-04-19
US62/487,373 2017-04-19
US15/620,623 US10409634B2 (en) 2017-04-19 2017-06-12 Surfacing task-related applications in a heterogeneous tab environment
US15/620,623 2017-06-12
PCT/US2017/048521 WO2018194703A1 (en) 2017-04-19 2017-08-25 Surfacing task-related applications in a heterogeneous tab environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311219007.8A Division CN117271161A (zh) 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用

Publications (2)

Publication Number Publication Date
CN110520848A CN110520848A (zh) 2019-11-29
CN110520848B true CN110520848B (zh) 2023-09-12

Family

ID=63853917

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311219007.8A Pending CN117271161A (zh) 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用
CN201780089686.8A Active CN110520848B (zh) 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311219007.8A Pending CN117271161A (zh) 2017-04-19 2017-08-25 在异构选项卡环境中浮现与任务相关的应用

Country Status (4)

Country Link
US (1) US10409634B2 (zh)
EP (1) EP3612938A1 (zh)
CN (2) CN117271161A (zh)
WO (1) WO2018194703A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10564814B2 (en) * 2017-04-19 2020-02-18 Microsoft Technology Licensing, Llc Contextual new tab experience in a heterogeneous tab environment
US20190394255A1 (en) * 2018-06-25 2019-12-26 Citrix Systems, Inc. Intermediated retrieval of networked content
US10521220B1 (en) * 2018-12-18 2019-12-31 Palantir Technologies Inc. Systems and methods for coordinating the deployment of components to defined user groups
US11188362B2 (en) * 2019-05-29 2021-11-30 Red Hat, Inc. Generating a command line interface for projects based on configuration management technologies
US11106756B2 (en) * 2019-06-14 2021-08-31 International Business Machines Corporation Enhanced browser tab management
US11693676B2 (en) 2019-10-11 2023-07-04 Kahana Group Inc. Computer based unitary workspace leveraging multiple file-type toggling for dynamic content creation
US11397844B2 (en) * 2019-10-11 2022-07-26 Kahana Group Inc. Computer based unitary workspace leveraging multiple file-type toggling for dynamic content creation
US20230251766A1 (en) * 2022-02-04 2023-08-10 Dell Products, L.P. Application management and navigation in a web-based environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314475A (zh) * 2010-06-18 2012-01-11 微软公司 定制选项卡组内的可视化
CN102567801A (zh) * 2010-12-08 2012-07-11 微软公司 提供有机项目的方法和装置
CN102591928A (zh) * 2010-12-23 2012-07-18 微软公司 表现包括从跳转列表任务和项目访问的内容的内容
CN102708133A (zh) * 2011-03-07 2012-10-03 微软公司 基于任务的地址栏和选项卡缩放
CN102999574A (zh) * 2011-11-14 2013-03-27 微软公司 跨多个不同的内容源来定位相关内容项
WO2015016516A1 (en) * 2013-08-02 2015-02-05 Samsung Electronics Co., Ltd. Method and device for managing tab window indicating application group including heterogeneous applications
CN105378660A (zh) * 2013-05-29 2016-03-02 微软技术许可有限责任公司 来自源应用的基于上下文的动作

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426697B2 (en) 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
US7921365B2 (en) * 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
US7774366B2 (en) 2005-03-08 2010-08-10 Salesforce.Com, Inc. Systems and methods for implementing multi-application tabs and tab sets
US7921372B2 (en) * 2005-03-25 2011-04-05 Microsoft Corporation System and method for pinning tabs in a tabbed browser
US7673233B2 (en) * 2005-09-08 2010-03-02 Microsoft Corporation Browser tab management
US9195372B2 (en) * 2006-06-28 2015-11-24 Scenera Technologies, Llc Methods, systems, and computer program products for grouping tabbed portion of a display object based on content relationships and user interaction levels
US9003321B2 (en) 2007-06-28 2015-04-07 International Business Machines Corporation Application bar browsing of tabbed-view applications
US8631340B2 (en) * 2008-06-25 2014-01-14 Microsoft Corporation Tab management in a user interface window
US8788946B2 (en) 2009-11-03 2014-07-22 Oracle International Corporation Application agnostic UI integration framework for web based applications
US8856672B2 (en) * 2010-05-11 2014-10-07 Microsoft Corporation Integrated user interface controls for web dialogs
US9594603B2 (en) 2013-04-15 2017-03-14 Microsoft Technology Licensing, Llc Application-to-application launch windowing
US20160103793A1 (en) 2014-10-14 2016-04-14 Microsoft Technology Licensing, Llc Heterogeneous Application Tabs
US9952882B2 (en) * 2014-10-27 2018-04-24 Google Llc Integrated task items launcher user interface for selecting and presenting a subset of task items based on user activity information
US10318338B2 (en) 2015-01-08 2019-06-11 International Business Machines Corporation Re-launching contextually related application sets

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314475A (zh) * 2010-06-18 2012-01-11 微软公司 定制选项卡组内的可视化
CN102567801A (zh) * 2010-12-08 2012-07-11 微软公司 提供有机项目的方法和装置
CN102591928A (zh) * 2010-12-23 2012-07-18 微软公司 表现包括从跳转列表任务和项目访问的内容的内容
CN102708133A (zh) * 2011-03-07 2012-10-03 微软公司 基于任务的地址栏和选项卡缩放
CN102999574A (zh) * 2011-11-14 2013-03-27 微软公司 跨多个不同的内容源来定位相关内容项
CN105378660A (zh) * 2013-05-29 2016-03-02 微软技术许可有限责任公司 来自源应用的基于上下文的动作
WO2015016516A1 (en) * 2013-08-02 2015-02-05 Samsung Electronics Co., Ltd. Method and device for managing tab window indicating application group including heterogeneous applications

Also Published As

Publication number Publication date
US10409634B2 (en) 2019-09-10
CN117271161A (zh) 2023-12-22
EP3612938A1 (en) 2020-02-26
US20180307525A1 (en) 2018-10-25
WO2018194703A1 (en) 2018-10-25
CN110520848A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
CN110520848B (zh) 在异构选项卡环境中浮现与任务相关的应用
US20210027203A1 (en) Action suggestions for user-selected content
KR102483505B1 (ko) 탭 스윕핑 및 그룹화
CN108369456B (zh) 用于触摸输入设备的触觉反馈
KR102298602B1 (ko) 확장가능한 애플리케이션 표시
KR102033198B1 (ko) 제스처 또는 터치를 통해 사용자 인터페이스를 제어하는 최적화 기법
KR102310648B1 (ko) 상황 정보 탐색 및 내비게이션 기법
US20180260081A1 (en) Task switching or task launching based on a ranked list of tasks
US9996222B2 (en) Automatic deep view card stacking
US20140298245A1 (en) Display Instance Management
US10564814B2 (en) Contextual new tab experience in a heterogeneous tab environment
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
US20160085388A1 (en) Desktop Environment Differentiation in Virtual Desktops
CN107533696B (zh) 自动地将内容与人员相关
US20160267063A1 (en) Hierarchical navigation control
US10089139B2 (en) Systems, methods and media for managing embedded content
US20170371535A1 (en) Device, method and graphic user interface used to move application interface element
US20150293888A1 (en) Expandable Application Representation, Milestones, and Storylines
US10445314B1 (en) Instant unified search
US20150339003A1 (en) Group selection initiated from a single item

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