CN109076107A - 基于检测定制提供用户体验升级的自动检测和优化 - Google Patents

基于检测定制提供用户体验升级的自动检测和优化 Download PDF

Info

Publication number
CN109076107A
CN109076107A CN201780027214.XA CN201780027214A CN109076107A CN 109076107 A CN109076107 A CN 109076107A CN 201780027214 A CN201780027214 A CN 201780027214A CN 109076107 A CN109076107 A CN 109076107A
Authority
CN
China
Prior art keywords
application program
version
user experience
customization
previous version
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.)
Granted
Application number
CN201780027214.XA
Other languages
English (en)
Other versions
CN109076107B (zh
Inventor
J·L·德马里斯
J·马兹内尔
Z·陈
C·D·斯坦丘
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 CN109076107A publication Critical patent/CN109076107A/zh
Application granted granted Critical
Publication of CN109076107B publication Critical patent/CN109076107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • 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

Abstract

可以描述基于检测到的定制提供用户体验升级的自动检测和优化。可以在计算设备上结合检测服务执行新版本的应用程序。新版本的应用程序可能包括用户体验变化。可以确定与用户的先前版本的应用程序的用户体验相关联的定制。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,可以向用户提供先前版本的应用程序的用户体验。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,可以向用户提供新版本的应用程序的用户体验。

Description

基于检测定制提供用户体验升级的自动检测和优化
背景技术
可以定制诸如协作应用程序或生产力应用程序之类的托管应用程序的用户体验。可以通过声明性方式改变或扩展用户体验元素,例如菜单、按钮和应用程序颜色。在一些示例中,可以通过部署定制代码来修改用户体验元素。
当更新或升级应用程序的用户体验时,许多改变可以是递增的(例如,可以添加或改变新特征,同时保持周围应用程序完整)。有时,应用程序的用户体验可能会发生显着变化,从而导致定制所操作的基础发生变化。在这种情况下,更新和/或升级用户体验之前就存在的定制可能不再有效。
发明内容
提供该发明内容以便以简化的形式来引入下面的具体实现方式中进一步描述的概念的选择。该发明内容不旨在排他地确定所要求保护的主题的关键特征或主要特征,也不旨在用作确定所要求保护的主题的范围的辅助。
实施例涉及基于检测到的定制来提供用户体验升级的自动检测和优化。可以在计算设备上结合检测服务执行新版本的应用程序。新版本的应用程序可以包括用户体验变化。可以确定与用户的先前版本的应用程序的用户体验相关联的定制。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,可以向用户提供先前版本的应用程序的用户体验。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,可以向用户提供新版本的应用程序的用户体验。
通过阅读以下详细描述和查看相关附图,这些和其他特征和优点将变得显而易见。应该理解,前面的一般描述和下面的详细描述都是解释性的,并不限制所要求保护的方面。
附图说明
图1是示出根据实施例的用于基于检测到的定制提供用户体验升级的自动检测和优化的示例计算环境的概念图;
图2是示出根据实施例的用于基于检测到的针对第一租户的定制并且基于检测到的针对第二租户的定制来提供用户体验升级的自动检测和优化的示例系统配置的概念图;
图3是示出根据实施例的用于执行来自第一定制列表的每个定制特征到第二定制列表的每个定制特征之间的一对一比较以确定先前版本的应用程序的至少一个定制特征是否与新版本的应用程序不兼容的示例系统配置的概念图;
图4是示出根据实施例的用于利用托管服务和检测服务基于检测到的定制来提供用户体验升级的自动检测和优化的示例系统配置的概念图;
图5是简化的网络环境,其中可以实现根据实施例的系统;
图6是根据实施例的示例计算设备的框图,该示例计算设备可以用于基于检测到的定制来提供用户体验升级的自动检测和优化;以及
图7是示出根据实施例的基于检测到的定制来提供用户体验升级的自动检测和优化的过程的逻辑流程图。
具体实施方式
如上面简要描述的,可以描述基于检测到的定制提供用户体验升级的自动检测和优化。可以在计算设备上结合检测服务执行新版本的应用程序。新版本的应用程序可能包括用户体验变化。可以确定与用户的先前版本的应用程序的用户体验相关联的定制。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,可以向用户提供先前版本的应用程序的用户体验。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,可以向用户提供新版本的应用程序的用户体验。
根据其他示例,与先前版本的应用程序的用户体验相关联的定制可以包括主题定制、颜色方案定制、阴影定制、菜单定制、按钮定制、图形方案定制、控制元素定制、对控制元素的行为的定制、功能定制、行为定制及其组合。在其他示例中,定制可以处于用户级别、组级别和企业级别中的一个。在其他示例中,先前版本的应用程序是应用程序的低级版本。
在下面的详细描述中,参考形成其一部分的附图,并且在附图中通过图示、具体实施例或示例的方式示出。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开的精神或范围的情况下进行结构改变。因此,以下详细描述不应被视为具有限制意义,并且本发明的范围由所附权利要求及其等同物限定。
虽然将在与个人计算机上的操作系统上运行的应用程序结合执行的程序模块的一般上下文中描述一些实施例,但是本领域技术人员将认识到,各方面也可以与其他程序模块组合实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将认识到,可以用包括手持设备、多处理器系统、基于微处理器或可编程消费电子设备、小型计算机、大型计算机和类似计算设备的其他计算机系统配置来实施实施例。实施例也可以在分布式计算环境中实施,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备中。
一些实施例可以实现为计算机实现的过程(方法)、计算系统或者制品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是计算机系统可读并对包括用于使计算机或计算系统执行示例过程的指令的计算机程序进行编码的计算机存储介质。计算机可读存储介质是计算机可读存储器设备。计算机可读存储介质可以例如经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或光盘以及类似的硬件介质中的一个或多个来实现。
在整个说明书中,术语“平台”可以是软件和硬件组件的组合,用于基于检测到的定制来提供用户体验升级的自动检测和优化。平台的示例包括但不限于在多个服务器上执行的托管服务、在单个计算设备上执行的应用程序以及类似的系统。术语“服务器”通常是指通常在联网环境中执行一个或多个软件程序的计算设备。下面提供了关于这些技术和示例操作的更多细节。
这里使用的计算设备是指包括至少存储器和一个或多个处理器的设备,包括服务器、台式计算机、膝上型计算机、平板电脑、智能电话、车载计算机或可穿戴计算机。存储器可以是计算设备的可移除或不可移除组件,其被配置为存储要由一个或多个处理器执行的一个或多个指令。处理器可以是耦合到存储器并且被配置为结合由存储器存储的指令执行程序的计算设备的组件。本文所描述的动作或操作可以在单个处理器上、在多个处理器上(在单个机器上或分布于多个机器上)或在多核处理器的一个或多个核心上执行。操作系统是被配置为管理提供公共服务和应用程序的计算设备的硬件和软件组件的系统。集成模块是集成在应用程序或服务中使得应用程序或服务被配置为执行组件的应用程序或服务的组件。计算机可读存储器设备是经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或光盘中的一个或多个实现的物理计算机可读存储介质,以及其上包括关于自动将内容保存到位置的指令的类似的硬件介质。用户体验——与用户通过其与应用程序或服务交互的应用程序或服务相关联的视觉显示。用户动作是指用户与应用程序的用户体验或者由服务提供的用户体验之间的交互,该服务包括触摸输入、手势输入、语音命令、眼睛跟踪、陀螺仪输入、笔输入、鼠标输入和键盘输入中的一个。应用程序编程接口(API)可以是用于应用程序或服务的一组例程、协议和工具,其允许应用程序或服务与由独立实体管理的一个或多个其他应用程序和服务交互或通信。
虽然使用本文的用户体验定制来描述示例实现方式,但是实施例不限于用户体验定制。基于检测到的定制提供用户体验升级的自动检测和优化可以在其他环境中实现,例如在其他托管服务、协作服务和生产力服务中。
具体地,描述了一种用于升级应用程序或服务的用户体验的系统。该系统还允许改善未定制的用户和环境的用户体验,同时保持定制环境的业务关键功能完整。这样的系统可以依赖于能够托管特定页面或屏幕的应用/服务,同时使用最新版本的用户体验或用户体验的低级版本。当用户请求页面或屏幕时,系统可以检测是否存在依赖于用户体验的低级版本的任何定制。如果检测到这些定制中的一个,则可以向用户提供低级用户体验。如果未检测到这些定制,则可以提供最新版本的用户体验。基于检测到的定制提供用户体验升级的自动检测和优化的技术优势可以包括通过使用户和企业能够在将其他用户升级到最新版本的应用程序或服务的同时继续使用定制功能来提高用户效率和用户体验交互。
实施例解决了由不能由人管理的联网计算和基于云的服务创建的非常大规模的操作所产生的需求。这里描述的动作/操作不仅仅是计算机的使用,而是解决系统的结果,该系统的结果是用作服务的软件的直接结果,例如结合用户体验定制提供的托管服务和/或检测服务。
图1是示出根据本文公开的至少一些实施例的用于基于检测到的定制提供用户体验升级的自动检测和优化的示例计算环境的概念图。
如图100中所示,示例系统可以包括数据中心108。数据中心108可以托管检测服务114。检测服务114可以基于检测到的定制来提供用户体验升级的自动检测和优化。数据中心108可以包括处理服务器112。处理服务器112中的至少一个可以执行检测服务114的优化引擎116以及其他组件。数据中心108还可以包括存储服务器118。存储服务器118可以被配置为管理一个或多个数据存储库。一个或多个数据存储库可以包括与优化引擎116相关联的数据。如本文所述,优化引擎116可以实现为软件、硬件或其组合。
根据一些示例,检测服务114可以被配置为与许多应用程序集成。用户104可以通过计算设备102执行应用程序106的瘦版本(例如,web浏览器)。计算设备102可以包括台式计算机、膝上型计算机、平板计算机、智能电话、车载计算机或可穿戴计算机,以及其他设备。在其他示例中,用户104可以通过计算设备102执行应用程序106的胖版本(例如,本地安装的版本)。
检测服务114可以被配置为通过一个或多个网络(例如网络110)与应用程序106进行交互。网络110可以包括服务器、客户端、因特网服务提供商和通信介质的任何拓扑。在一些示例中,应用程序106可以是生产力应用程序。除了其他示例之外,生产力应用程序可以包括文字处理应用程序、电子表格应用程序、演示应用程序或笔记本应用程序。根据其他示例,应用程序106可以由检测服务114托管。用户体验120可以促进通过网络110以及检测服务114和应用程序106之间的通信。
在一些示例中,应用程序106可以在服务器上执行。服务器可以包括通信模块、存储器和处理器。通信模块可以被配置为促进检测服务114与多个客户端应用程序之间的通信。存储器可以被配置为存储指令。处理器可以耦合到存储器。处理器可以被配置为结合存储在存储器中的指令执行检测服务114和与检测服务114集成的优化引擎116。
在一些示例中,当更新或升级应用程序106的用户体验120时,应用程序106的许多特征可以是递增的。例如,可以添加新特征或者可以更改特征,同时保持周围的应用程序完整。对于增量变化,用户体验120的定制可以继续如先前所述那样起作用。然而,应用程序106的用户体验120可能在某些情况下显着改变,从而改变了定制操作的基础。在这种情况下,在更新/升级用户体验120之前就已经存在的定制可能不再有效;对于在云服务上运行业务关键功能的企业而言,这可能会带来巨大挑战,这些云服务经常以不受消费企业管理员控制的方式升级其用户体验。
为了解决这个问题,优化引擎116可以结合检测服务114来检测在计算设备102上执行的应用程序106的新版本的部署。应用程序106的新版本可以包括用户体验变化。计算设备102还可以包括存储库130。存储库130可以被配置为存储与应用程序106的先前版本相关联的第一定制列表以及与应用程序106的新版本相关联的第二定制列表。优化引擎116可以为用户104确定与应用程序106的先前版本的用户体验120相关联的定制。应用程序106的先前版本可以是应用程序的低级版本。
此外,优化引擎116可以确定是否应用程序106的先前版本的至少一个定制特征与应用程序106的新版本不兼容。在其他示例中,优化引擎116可以响应于确定应用程序106的先前版本的至少一个定制特征与应用程序106的新版本不兼容而向用户104提供应用程序106的先前版本的用户体验120。在一些示例中,响应于确定应用程序106的先前版本的定制与应用程序106的新版本兼容,优化引擎116可以向用户104提供新版本的应用程序106的用户体验120。
尽管图1中的示例系统已经用包括计算设备102、应用程序106、数据中心108、处理服务器112、检测服务114、优化引擎116、存储服务器118和用户体验120的特定组件进行了描述,实施例不限于这些组件或系统配置,并且可以利用使用更少或额外组件的其他系统配置来实现。
图2是示出根据本文公开的至少一些实施例的用于基于检测到的针对第一租户的定制并且基于检测到的针对第二租户的定制来提供用户体验升级的自动检测和优化的示例系统配置的概念图。
如图200中所示,可以描述示例系统。示例系统可以包括在服务器212上执行的托管服务214。服务器212可以包括通信模块、被配置为存储指令的存储器以及处理器。处理器可以耦合到通信模块和存储器。处理器可以被配置为结合存储在存储器中的指令执行托管服务214和与托管服务214集成的优化引擎216。
通信模块可以被配置为促进在托管服务214(例如,检测服务)和多个客户端应用程序之间的一个或多个网络(例如网络110)上的通信交换。托管服务214可以被配置为通过一个或多个网络(例如网络110)与应用程序206交互。应用程序206可以包括文字处理应用程序、电子表格应用程序、演示应用程序或笔记本应用程序,以及其他应用。网络110可以包括服务器、客户端、因特网服务提供商和通信介质的任何拓扑。
第一计算设备209的第一用户体验220可以促进通过网络110的以及托管服务214与应用程序206之间的通信。第一计算设备209还可以包括第一存储库240。第一存储库240被配置为存储与应用程序206的先前版本相关联的第一定制列表以及与应用程序206的新版本相关联的第二定制列表。
第二计算设备211的第二用户体验221可以促进通过网络210的以及托管服务214与应用程序206之间的通信。第二计算设备211可以包括第二存储库241。第二存储库241被配置为存储与应用程序206的先前版本相关联的第一定制列表和与应用程序206的新版本相关联的第二定制列表。应用程序206的先前版本可以是应用程序206的低级版本。
在一些示例中,单个软件实例可以在服务器212上运行并且可以服务于多个租户;这可以称为软件多租户。在一些示例中,第一租户204(或第一组用户)和第二租户222(或第二组用户)可以共享对服务器212的公共访问。第一租户204和第二租户222可以具有对软件实例的特定访问权限。在多租户架构中,应用程序206可以被设计为向每个租户(例如,第一租户204和第二租户222)提供软件实例的专用共享,其可以包括与软件实例相关联的数据、软件实例的配置、软件实例的非功能属性以及软件实例的租户个体功能。
第一租户204(或第一组用户)可以通过第一计算设备209执行应用程序206的瘦版本(例如,web浏览器)。在其他示例中,第一租户204可以通过第一计算设备209执行应用程序206的胖版本(例如,本地安装的版本)。在其他示例中,第二租户222(或第二用户组)可以通过第二计算设备211执行应用程序206的瘦版本(例如,web浏览器)。在另外的示例中,第二租户222可以通过第二计算设备211执行应用程序206的胖版本(例如,本地安装的版本)。
在一些示例中,第一租户204可以包括公司的第一部门(例如,法律部门)中的一个或多个用户。第二租户222可以包括公司的第二部门(例如,人力资源部门)的一个或多个用户。根据一些示例,优化引擎216可以确定与第一租户204的应用程序206的先前版本的第一用户体验220相关联的第一组定制,其可以包括主题定制和颜色方案定制。优化引擎216还可以确定与第二租户222的应用程序206的先前版本的第二用户体验221相关联的第二组定制,其可以包括阴影定制和菜单定制。第一组定制和第二组定制可能不同,因为法律部门可能需要与人力资源部门可能要求执行与工作相关的任务所需的用户体验定制不同的用户体验定制。
与先前版本的应用程序的用户体验相关联的附加定制可包括按钮定制、图形方案定制、控制元素定制、对控制元素的行为的定制、功能定制和行为定制及其组合。此外,定制可以是用户级别、组级别和企业级别中的一个。优化引擎216可以通过一个或多个方案来区分定制,诸如文本方案、图形方案、音频方案、动画方案、着色方案、突出显示方案和/或阴影方案等。
然后,优化引擎216可以确定是否用于第一租户204的应用程序206的先前版本的至少一个定制特征与应用程序206的新版本不兼容。响应于确定用于第一租户204的先前版本的应用程序206的所述至少一个定制特征与应用程序206的新版本不兼容,优化引擎216还被配置为向第一租户204提供应用程序206的先前版本的第一用户体验220。在另外的示例中,优化引擎216还被配置为确定是否用于第二租户222的应用程序206的先前版本的至少一个定制特征与应用程序206的新版本不兼容。优化引擎216也被配置为不检测与关联于第二租户222的应用程序206的先前版本相关联的定制特征。作为响应,优化引擎216还被配置为将新版本的应用程序206的第二用户体验221提供给第二租户222。
图3是示出根据本文公开的至少一些实施例的用于执行从第一定制列表的每个定制特征到第二定制列表的每个定制特征之间的一对一比较以确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容的示例系统配置的概念图。
如图300中所示,可以描述示例系统。示例系统可以包括在服务器312上执行的检测服务314。服务器312可以包括通信模块、被配置为存储指令的存储器以及处理器。处理器可以耦合到通信模块和存储器。处理器可以被配置为结合存储在存储器中的指令执行检测服务314和与优化引擎315集成的优化引擎315。通信模块可以被配置为促进检测服务314和多个客户端应用程序(例如,第一计算设备302和第二计算设备303)之间的网络310的通信交换。
第一用户324可以通过第一计算设备302执行应用程序306的web浏览器。第一用户体验320可以促进通过网络310以及检测服务314与应用程序306之间的通信。第一计算设备302还可以包括第一存储库340。第一存储库340可以存储第一定制列表342和第二定制列表343。第一定制列表342可以默认标记为“先前”并且可以与应用程序306的先前版本关联。第二定制列表343可以默认标记为“新”,并且可以与应用程序306的新版本相关联。应用程序306的先前版本可以是应用程序的低级版本。
优化引擎315可以被配置为执行来自第一定制列表342的每个定制特征与来自第二定制列表343的每个定制特征之间的一对一比较,以确定是否应用程序306的先前版本的至少一个定制特征与应用程序306的新版本不兼容。在其他示例中,优化引擎315可以实现算法以执行一对一比较。该算法可以包括基于比较的排序算法、近似字符串匹配算法、智能学习算法、机器学习算法和/或机器学习技术等。
基于比较的排序算法是一种排序算法,其通过单个抽象比较运算(例如,“小于或等于”运算符)读取元素列表,该单个抽象比较运算确定两个元素中的哪一个应该首先出现在最终排序列表。基于比较的排序算法的示例包括快速排序算法,堆排序算法,合并排序算法,自省排序(intro sort)算法,插入排序算法,选择排序算法,气泡排序算法,循环排序算法,以及合并插入排序算法等。
近似字符串匹配算法在给定字符串内查找近似的子字符串匹配,然后查找与该模式近似匹配的字典字符串。机器学习技术可以包括模式识别和计算学习理论等。机器学习算法可以学习并做出预测。常见的机器学习算法可以包括监督学习算法、无监督学习算法和强化学习算法。一些机器学习算法可以包括线性回归算法、逻辑回归算法、决策树算法、支持向量机(SVM)算法、朴素贝叶斯算法、K近邻(KNN)算法、K均值算法、随机森林算法、降维算法以及Gradient Boost&Adaboost算法等。
在其他实施例中,可以例如通过使用启发法自动确定当前版本的特征与过去版本的不兼容性。在一个示例中,可以通过模块构建或更新兼容/不兼容扩展的列表,该模块监视用每次户手动选择恢复到先前版本(例如,点击“回到经典”)并且使用机器学习或类似过程来查看许多用户做出此类决策处的应用程序的定制。例如,监视模块可以查看启用的扩展,并确定在特定版本的应用程序(或服务)上启用给定扩展与用户手动恢复该应用程序版本之间是否存在强相关性。在找到相关性的情况下,可以自动更新兼容/不兼容扩展的列表。
第二用户325可以通过第二计算设备303执行应用程序306的瘦版本。第二用户体验321可以促进通过网络310的以及检测服务314与应用程序306之间的通信。第二计算设备303还可以包括第二存储库341。第二存储库341可以存储第一定制列表344和第二定制列表345。第一定制列表344可以默认标记为“之前”,并且可以与应用程序306的先前版本相关联。第二定制列表345可以默认标记为“新”,并且可以与应用程序306的新版本相关联。
在一些示例中,优化引擎315可以被配置为执行来自第一定制列表344的每个定制特征与来自第二定制列表345的每个定制特征之间的一对一比较,以确定应用程序306的先前版本的至少一个定制特征与应用程序306的新版本是否不兼容。在进一步的示例中,优化引擎315可以实现算法以执行一对一比较,如关于第一存储库340所述的。
在一些示例中,优化引擎315可以结合检测服务314检测在第一计算设备302上执行的新版本的应用程序306的部署。应用程序306的新版本可以包括用户体验变化。优化引擎315可以为第一用户324确定与应用程序306的先前版本的第一用户体验320相关联的定制。定制还可以应用于“开箱即用(out-of-the-box)”特征。与应用程序306的先前版本的第一用户体验320相关联的定制可以包括以下中的一个或多个:主题定制,颜色方案定制,阴影定制,菜单定制,按钮定制,图形方案定制,控制元素定制,对控制元素的行为的定制,功能定制和行为定制,以及它们的组合。此外,定制可以是用户级别、组级别和企业级别中的一个。在一些示例中,可以通过以下中的一个来检测定制:对应用程序306的源代码的修改以及对与检测服务314相关联的一个或多个模块的修改。在其他示例中,与第一用户体验320相关联的定制可以是通过以下中的一个或多个来检测:对元数据的修改,对与应用程序306相关联的库的修改,和/或对与应用程序306相关联的模块的修改。
此外,优化引擎315可以确定应用程序306的先前版本的至少一个定制特征是否与应用程序306的新版本不兼容。在其他示例中,优化引擎315可以从第一用户324接收请求以查看关于第一用户体验320的网页、对话或屏幕中的一个。作为响应,优化引擎315可以发起过程以确定应用程序306的先前版本的至少一个定制特征是否与应用程序306的新版本不兼容。在其他示例中,响应于确定应用程序306的先前版本的至少一个定制特征与应用程序306的新版本不兼容,优化引擎315可以向第一用户324提供先前版本的应用程序306的第一用户体验320。在进一步的示例中,响应于确定应用程序306的先前版本的定制与应用程序306的新版本兼容,优化引擎315可以向第一用户324提供新版本的应用程序306的第一用户体验320。
图4是示出根据本文公开的至少一些实施例的用于利用托管服务和检测服务来基于检测到的定制来提供用户体验升级的自动检测和优化的示例系统配置的概念图。
如图400中所示,可以描述示例系统。示例系统可以包括在服务器413上执行的检测服务416。示例系统还可以包括在服务器412上执行的托管服务414。托管服务414和检测服务416可以被配置为经由一个或多个模块和/或引擎(例如,通信模块)彼此通信。托管服务414可以与优化引擎415集成。托管服务414和检测服务416可以通过使用一个或多个模块(例如,通信模块)通过网络410将通信交换到第一计算设备402和第二计算设备403。
第一用户424可以通过第一计算设备402执行应用程序406的瘦版本。第一用户体验420可以促进通过网络410的以及托管服务414和/或检测服务416与应用程序406之间的通信。第一计算设备402还可以包括第一存储库440。第一存储库440可以存储第一定制列表442和第二定制列表443。第一定制列表442可以默认标记为“先前”并且可能与先前版本的应用程序相关联。第二定制列表443可以默认标记为“新”,并且可以与应用程序406的新版本相关联。
优化引擎415可以被配置为执行来自第一定制列表442的每个定制特征与来自第二定制列表443的每个定制特征之间的一对一比较,以确定应用程序406的先前版本的至少一个定制特征是否与应用程序406的新版本不兼容。在其他示例中,优化引擎415可以实现算法以执行一对一比较。该算法可以包括基于比较的排序算法、近似字符串匹配算法、智能学习算法、机器学习算法和/或机器学习技术等。
第二用户425可以通过第二计算设备403执行应用程序406的瘦版本。第二用户体验421可以促进通过网络410的以及检测服务416和/或托管服务414与应用程序406之间的通信。第二计算设备403还可以包括第二存储库441。第二存储库441可以存储第一定制列表444和第二定制列表445。第一定制列表444可以默认标记为“先前”,并且可以与应用程序406的先前版本相关联。第二定制列表445可以默认标记为“新”,并且可以与应用程序406的新版本相关联。优化引擎415可以被配置为执行来自第一定制列表444的每个定制特征与来自第二定制列表445的每个定制特征之间的一对一比较以确定是否应用程序406的先前版本的至少一个定制特征与应用程序406的新版本不兼容。在其他示例中,优化引擎415可以实现算法以执行一对一比较,如关于第一存储库440所述的。
在一些示例中,优化引擎415可以结合检测服务416检测在第一计算设备402上执行的应用程序406的新版本的部署。应用程序406的新版本可以包括用户体验变化。优化引擎415可以针对第一用户424确定与应用程序406的先前版本的第一用户体验420相关联的定制。此外,优化引擎415可以确定应用程序406的先前版本的至少一个定制特征是否与应用程序406的新版本不兼容。在其他示例中,响应于确定应用程序406的先前版本的至少一个定制特征与应用程序406的新版本不兼容,优化引擎415可以将应用程序406的先前版本的第一用户体验420提供给第一用户424。在其他示例中,响应于确定应用程序406的先前版本的定制与应用程序406的新版本兼容优化引擎415可以向第一用户424提供新版本的应用程序406的第一用户体验420。
图1至图4中的示例场景和模式示出了具有特定组件、数据类型和配置。实施例不限于根据这些示例配置的系统。基于检测到的定制提供用户体验升级的自动检测和优化可以在采用更少或额外组件的配置中实现。此外,图1至图4中所示的示例模式和组件及其子组件可以使用本文描述的原理以与其他值类似的方式实现。
图5是简化的网络环境,其中可以实现根据实施例的系统。
除了本地安装的应用程序(例如,图1的应用程序106)之外,优化引擎还可以与托管的应用程序和服务(例如,检测服务)结合使用,该托管的应用程序和服务可以通过在一个或多个服务器506或个体服务器508上执行的软件来实现,如图500所示。托管服务或应用程序可以与各个客户端设备501-505上的客户端应用程序进行通信,例如手持式计算机501、台式计算机502、膝上型计算机503、智能手机504和平板电脑505以及其他客户端设备。托管服务或应用程序可以通过一个或多个网络510与应用程序进行通信,并向多个用户呈现用户体验。
各个客户端设备501-505可以用于访问由托管服务或应用程序提供的功能。如前所述,服务器506或个体服务器508中的一个或多个可用于提供各种服务。相关数据可以存储在一个或多个数据商店(例如,数据商店514)中,其可以由一个或多个服务器506或数据库服务器512管理。
一个或多个网络510可以包括服务器、客户端、因特网服务提供商和通信介质的任何拓扑。根据实施例的系统可以具有静态或动态拓扑。一个或多个网络510可以包括安全网络,诸如企业网络,不安全网络,诸如无线开放网络,或因特网。一个或多个网络510还可以协调通过其他网络例如PSTN或蜂窝网络的通信。如本文所述,一个或多个网络510可以提供节点之间的通信。作为示例而非限制,一个或多个网络510可以包括无线介质,诸如声学、RF、红外和其他无线介质。
可以采用计算设备、应用程序、引擎、数据源和数据分发系统的许多其他配置来基于检测到的定制来提供用户体验升级的自动检测和优化。此外,图5中讨论的联网环境仅用于说明目的。实施例不限于示例应用程序、引擎或过程。
图6是根据实施例的示例计算设备的框图,该示例计算设备可以用于基于检测到的定制来提供用户体验升级的自动检测和优化。
例如,计算设备600可以用作服务器、台式计算机、便携式计算机、智能电话、专用计算机或类似设备。在示例基本配置602中,计算设备600可以包括一个或多个处理器604和系统存储器606。存储器总线608可以用于处理器604和系统存储器606之间的通信。在图6中可以通过由内部虚线内的那些组件说明示例的基本配置602。
取决于期望的配置,处理器604可以是任何类型的,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任何组合。处理器604可以包括诸如一级高速缓存存储器612的一个或多个级别的高速缓存、一个或多个处理器核心614和寄存器616。一个或多个处理器核心614可以(每个)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP Core)或其任何组合。示例存储器控制器618也可以与处理器604一起使用,或者在一些实现方式中,示例的存储器控制器618可以是处理器604的内部部分。
取决于期望的配置,系统存储器606可以是任何类型的,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或它们的任何组合。系统存储器606可以包括操作系统620、检测服务622、存储库629和程序数据624。检测服务622可以包括优化引擎627,其可以是检测服务622的集成模块。优化引擎627可以被配置为结合检测服务检测在计算设备上执行的新版本的应用程序的部署。新版本的应用程序可以包括用户体验变化。优化引擎627还可以确定一个或多个用户的与应用的先前版本的用户体验相关联的定制,并且可以确定是否该应用的先前版本的至少一个定制特征与新版本的应用程序不兼容。此外,响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,优化引擎627可以向一个或多个用户提供先前版本的应用程序的用户体验。在其他示例中,响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,优化引擎627可以向一个或多个用户提供新版本的应用程序的用户体验。程序数据624可以包括定制数据,如本文所述。
存储库629可以被配置为存储与先前版本的应用程序相关联的第一定制列表和与新版本的应用程序相关联的第二定制列表。优化引擎627还可以被配置为执行第一定制列表中的每个定制特征与第二定制列表中的每个定制特征之间的一对一比较,以确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。在一些示例中,可以实现算法以执行一对一比较。在其他示例中,算法可以包括以下中的一个:基于比较的排序算法,近似字符串匹配算法,智能学习算法和机器学习算法。
计算设备600可以具有附加的特征或功能以及附加的接口以促进示例基本配置602与任何期望的设备和接口之间的通信。例如,总线/接口控制器630可以用于促进示例基本配置602和一个或多个数据存储设备632之间经由存储接口总线634的通信。数据存储设备632可以是一个或多个可移动存储设备636、一个或多个不可移动存储设备638或其组合。可移动存储设备和不可移动存储设备的示例可以包括诸如软盘驱动器和硬盘驱动器(HDD)之类的磁盘设备、诸如光盘(CD)驱动器或数字多功能盘(DVD)驱动器之类的光盘驱动器、固态驱动器(SSD)和磁带驱动器等等,仅列举了几个。示例计算机存储介质可以包括以用于存储信息(例如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
系统存储器606、可移动存储设备636和不可移除存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)、固态驱动器或其他光存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备或可以用于存储所需的信息并且可以由计算设备600访问的任何其他介质。任何这样的计算机存储介质可以是计算设备600的一部分。
计算设备600还可以包括接口总线640,用于促进从各种接口设备(例如,一个或多个输出设备642、一个或多个外围接口644以及一个或多个通信设备646)经由总线/接口控制器630到示例基本配置602的通信。一个或多个输出设备642中的一些包括图形处理单元648和音频处理单元650,其可以被配置为经由一个或多个A/V端口652与诸如显示器或扬声器的各种外部设备通信。一个或多个外围接口644可以包括串行接口控制器654或并行接口控制器656,其可以被配置为与诸如输入设备的外部设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或者其他外围设备(例如,打印机、扫描仪等)通过一个或多个I/O端口658进行通信。示例通信设备666包括网络控制器660,网络控制器660可以被配置为促进经由一个或多个通信端口664通过网络通信链路与一个或多个其他计算设备662的通信。一个或多个其他计算设备662可以包括服务器、计算设备和类似的设备。
网络通信链路可以是通信介质的一个例子。通信介质通常可以通过计算机可读指令、数据结构、程序模块或调制数据信号(例如载波或其他传输机制)中的其他数据来体现,并且可以包括任何信息传递介质。“调制数据信号”可以是其特性中的一个或多个以对信号中的信息进行编码的方式被设置或改变的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质的无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质。
计算设备600可以被实现为通用或专用服务器、大型机或类似计算机的一部分,其包括任何上述功能。计算设备600也可以被实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。
示例实施例还可以包括用于基于检测到的定制来提供用户体验升级的自动检测和优化的方法。这些方法可以以任何方式实现,包括这里描述的结构。一种这样的方式可以通过本公开中描述的类型的设备的机器操作。另一种可选方式可以是用于结合一个或多个人类操作者执行一些操作而其他操作可以由机器执行来执行方法的各个操作中的一个或多个。这些人类操作者不需要彼此共位置,但每个人类操作者只能使用执行程序一部分的机器。在其他实施例中,人机交互可以例如通过可以是机器自动化的预选标准来自动化。
图7是示出根据实施例的用于基于检测到的定制来提供用户体验升级的自动检测和优化的过程的逻辑流程图。
过程700可以在计算设备(例如,图6中的计算设备600)、服务器上实现或与另一系统实现。在一些示例中,系统可以包括服务器。服务器可以包括诸如通信模块、存储器和耦合到存储器的处理器的组件。通信模块可以被配置为促进检测服务与多个客户端应用程序之间的通信交换。
存储器可以被配置为存储指令。处理器可以被配置为结合存储在存储器中的指令执行检测服务和与检测服务集成的优化引擎。客户端设备或计算设备可以与用户相关联,使得用户可以对用户体验执行定制。
过程700开始于操作710,其中优化引擎可以被配置为结合检测服务检测在计算设备上执行的新版本的应用程序的部署。新版本的应用程序可以包括用户体验变化。在其他示例中,优化引擎还可以被配置为通过修改应用的源代码或者对与检测服务相关联的一个或多个模块的修改来检测与用户体验相关联的定制。
在操作720,优化引擎可以被配置为针对一个或多个用户确定与应用的先前版本的用户体验相关联的定制。与先前版本的应用程序的用户体验相关联的定制可以包括主题定制、颜色方案定制、阴影定制、菜单定制、按钮定制、图形方案定制、控制元素定制、对控制元素的行为的定制、功能定制和行为定制中的一个或多个,以及它们的组合。定制可以是用户级别、组级别和企业级别中的一个。
在操作730,优化引擎可以被配置为确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。在其他示例中,计算设备可以包括存储库,其被配置为存储与应用的先前版本相关联的第一定制列表以及与应用的新版本相关联的第二定制列表。优化引擎还可以被配置为执行第一定制列表的每个定制特征与第二定制列表的每个定制特征之间的一对一比较,以确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。可以通过实现算法来执行一对一比较。该算法可以包括以下中的一个:基于比较的排序算法,近似字符串匹配算法,智能学习算法和机器学习算法。
在操作740,优化引擎可以被配置为响应于确定应用的先前版本的至少一个定制特征与新版本的应用程序不兼容,向一个或多个用户提供先前版本的应用程序的用户体验。在操作750,优化引擎可以被配置为响应于确定先前版本的应用程序的定制与新版本的应用程序兼容而向一个或多个用户提供新版本应用程序的用户体验。
过程700中包括的操作是出于说明目的。基于检测到的定制提供用户体验升级的自动检测和优化可以通过具有更少或额外步骤的类似过程以及使用本文描述的原理按不同操作顺序来实现。除了其他示例之外,这里描述的操作可以由在一个或多个计算设备、一个或多个处理器核、专用处理设备和/或通用处理器上操作的一个或多个处理器执行。
根据一些实施例,可以描述用于基于检测到的定制来提供用户体验升级的自动检测和优化的服务器。示例服务器可以包括通信模块、存储器和处理器。通信模块可以被配置为促进检测服务与多个客户端应用之间的通信交换。存储器可以存储指令。处理器可以耦合到通信模块和存储器。处理器可以被配置为结合存储在存储器中的指令来执行检测服务和与检测服务集成的优化引擎。优化引擎可以被配置为结合检测服务来检测在计算设备上执行的新版本的应用程序的部署。新版本的应用程序可以包括用户体验变化。优化引擎还可以确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制,并且可以确定是否该先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,优化引擎还可以向一个或多个用户提供先前版本的应用程序的用户体验。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,优化引擎还可以向一个或多个用户提供新版本应用程序的用户体验。
根据其他示例,优化引擎还可以被配置为不检测与先前版本的应用程序相关联的定制特征,并且可以向一个或多个用户提供新版本的应用程序的用户体验。根据一些实施例,与先前版本的应用程序的用户体验相关联的定制可包括主题定制、颜色方案定制、阴影定制、菜单定制、按钮定制、图形方案定制、控制元素定制、对控制元素的行为的定制、功能定制、行为定制及其组合。
根据另外的示例,优化引擎可以处于用户级别、组级别和企业级别中的一个。根据一些其他示例,优化引擎还可以被配置为通过修改应用的源代码和/或对与检测服务相关联的一个或多个模块的修改来检测与用户体验相关联的定制。
根据一些示例,计算设备可以包括存储库,其被配置为存储与先前版本的应用程序相关联的第一定制列表以及与新版本的应用程序相关联的第二定制列表。根据进一步的示例,优化引擎还可以被配置为执行第一定制列表的每个定制特征与第二定制列表的每个定制特征之间的一对一比较,以确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。根据其他示例,优化引擎可以被配置为实现算法以执行一对一比较。根据另外的示例,该算法可以包括以下中的一个:基于比较的排序算法,近似字符串匹配算法,智能学习算法和机器学习算法。
根据一些实施例,可以描述用于基于检测到的定制来提供用户体验升级的自动检测和优化的单元,其可以包括用于检测在计算设备上执行的包括用户体验变化的新版本的应用程序的部署的单元,以及用于确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制的单元。定制可以是用户级别、组级别和企业级别中的一个。用于基于检测到的定制来提供用户体验升级的自动检测和优化的单元还可以包括用于确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容的单元。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,用于向一个或多个用户提供先前版本的应用程序的用户体验的单元可以被描述。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,可以描述用于向一个或多个用户提供新版本应用程序的用户体验的单元。
根据其他实施例,可以描述在计算设备上执行的方法。可以描述在计算设备上执行的用于基于检测到的定制来提供用户体验升级的自动检测和优化的示例方法。该示例方法可以包括:检测在计算设备上执行的包括用户体验改变的新版本的应用程序的部署,以及确定一个或多个用户的与应用程序的先前版本的用户体验相关联的定制。定制可以是用户级别、组级别和企业级别中的一个。示例方法还可以包括确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,该示例方法可以进一步包括将该先前版本的应用程序的用户体验提供给该一个或多个用户。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,示例方法可以进一步包括向一个或多个用户提供新版本应用程序的用户体验。
根据其他实施例,响应于从用户接收查看关于用户体验的网页或屏幕中的一个的请求,该示例方法还可以包括发起过程以确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。根据一些实施例,先前版本的应用程序可以是应用程序的低级版本。根据进一步的实施例,示例方法还可以包括通过对元数据的修改、对与应用程序相关联的库的修改和/或对与应用程序相关联的模块的修改来检测与用户体验相关联的定制。
根据另外的实施例,示例方法还可以包括将一个或多个用户识别为公司内的第一部门和公司内的第二部门,确定针对第一部门的与先前版本的应用程序的第一用户体验相关联的第一组定制,并确定针对第二部门的与先前版本的应用程序的第二用户体验相关联的第二组定制。根据一些其他实施例,示例方法可以进一步包括确定是否针对第一部门的应用的先前版本的至少一个定制特征与应用的新版本不兼容并且响应于确定针对第一部门的先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,向第一部门提供先前版本的应用程序的用户体验。根据一些实施例,示例方法可以进一步包括确定是否用于第二部门的先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,检测不存在与关联于第二部门的先前版本的应用程序相关联的定制特征,并向第二部门提供新版本应用程序的用户体验。
根据其他实施例,可以描述计算设备。可以描述被配置为基于检测到的定制来提供用户体验升级的自动检测和优化的示例计算设备。示例计算设备可以包括被配置为存储指令的存储器和被耦合到存储器的一个或多个处理器。一个或多个处理器可以被配置为结合存储在存储器中的指令执行与检测服务相关联的应用程序。应用程序可以被配置为检测包括用户体验变化的新版本应用程序的部署,并确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制。定制可以是处于用户级别、组级别和企业级别中的一个。应用程序还可以被配置为确定是否先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。响应于确定先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容,应用程序还可以被配置为向一个或多个用户提供先前版本的应用程序的用户体验。响应于确定先前版本的应用程序的定制与新版本的应用程序兼容,应用程序可以被配置为向一个或多个用户提供新版本的应用程序的用户体验。
根据一些实施例,应用程序可以包括文字处理应用程序、电子表格应用程序、演示文稿应用程序和笔记本应用程序中的一个。在一些示例中,计算设备可以包括存储库,其被配置为存储与应用的先前版本相关联的第一定制列表以及与应用的新版本相关联的第二定制列表。根据其他实施例,应用程序还可以被配置为执行第一定制列表的每个定制特征与第二定制定义列表的每个定制特征之间的一对一比较,以确定是否该先前版本的应用程序的至少一个定制特征与新版本的应用程序不兼容。可以实现该算法以执行一对一比较。该算法可以包括以下中的一个:基于比较的排序算法,近似字符串匹配算法,智能学习算法和机器学习算法。
上面的说明书、示例和数据提供了对实施例的构成物的制造和使用的完整描述。虽然在特定于结构特征和/或方法行为的语言描述了主题,但是应当理解,在随附权利要求中限定的主题不必局限于上述的特定特征或行为。相反,上述的特定的特征或行为被公开为实现权利要求和实施例的示例形式。

Claims (11)

1.一种服务器,用于基于检测到的定制来提供用户体验升级的自动检测和优化,所述服务器包括:
通信模块,其被配置为促进在检测服务与多个客户端应用程序之间的通信交换;
存储器,其存储指令;以及
处理器,其耦合到所述通信模块和所述存储器,所述处理器被配置为结合存储在所述存储器中的指令执行所述检测服务和与所述检测服务集成的优化引擎,其中,所述优化引擎被配置为:
结合所述检测服务检测在计算设备上执行的新版本的应用程序的部署,其中,所述新版本的应用程序包括用户体验变化;
确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制;
确定是否所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容;
响应于确定所述先前版本的应用程序的所述至少一个定制特征与所述新版本的应用程序不兼容,向所述一个或多个用户提供所述先前版本的应用程序的用户体验;以及
响应于确定所述先前版本的应用程序的定制与所述新版本的应用程序兼容,向所述一个或多个用户提供所述新版本的应用程序的用户体验。
2.如权利要求1所述的服务器,其中,所述优化引擎还被配置为:
检测不存在与所述先前版本的应用程序相关联的定制特征;以及
向所述一个或多个用户提供所述新版本的应用程序的用户体验。
3.如权利要求1所述的服务器,其中,所述计算设备包括存储库,所述存储库被配置为存储与所述先前版本的应用程序相关联的第一定制列表以及与所述新版本的应用程序相关联的第二定制列表。
4.如权利要求3所述的服务器,其中,所述优化引擎还被配置为:
执行来自所述第一定制列表的每个定制特征与来自所述第二定制列表的每个定制特征之间的一对一比较,以确定是否所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容。
5.如权利要求4所述的服务器,其中,所述优化引擎还被配置为:
实现用于执行所述一对一比较的算法。
6.一种在计算设备上执行的方法,用于基于检测到的定制来提供用户体验升级的自动检测和优化,所述方法包括:
检测在所述计算设备上执行的包括用户体验变化的新版本的应用程序的部署;
确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制,其中,所述定制是在用户级别、组级别和企业级别中的一个;
确定是否所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容;
响应于确定所述先前版本的应用程序的所述至少一个定制特征与所述新版本的应用程序不兼容,向所述一个或多个用户提供所述先前版本的应用程序的用户体验;以及
响应于确定所述先前版本的应用程序的定制与所述新版本的应用程序兼容,向所述一个或多个用户提供所述新版本的应用程序的用户体验。
7.如权利要求6所述的方法,还包括:
通过以下中的一个或多个来检测与所述用户体验相关联的所述定制:元数据的修改、与所述应用程序相关联的库的修改、以及与所述应用程序相关联的模块的修改。
8.如权利要求6所述的方法,还包括:
将所述一个或多个用户标识为公司内的第一部门和公司内的第二部门;
确定针对所述第一部门的与所述先前版本的应用程序的第一用户体验相关联的第一组定制;以及
确定针对所述第二部门的与所述先前版本的应用程序的第二用户体验相关联的第二组定制。
9.如权利要求8所述的方法,还包括:
确定是否针对所述第一部门的所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容;以及
响应于确定针对所述第一部门的所述先前版本的应用程序的所述至少一个定制特征与所述新版本的应用程序不兼容,向所述第一部门提供所述先前版本的应用程序的用户体验。
10.如权利要求6所述的方法,还包括:
确定是否针对第二部门的所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容;
检测不存在与关联于所述第二部门的所述先前版本的应用程序相关联的定制特征;以及
向所述第二部门提供所述新版本的应用程序的用户体验。
11.一种计算设备,用于基于检测到的定制来提供用户体验升级的自动检测和优化,所述计算设备包括:
存储器,其被配置为存储指令;以及
耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为结合存储在所述存储器中的指令执行与检测服务相关联的应用程序,其中,所述应用程序被配置为:
检测包含用户体验变化的新版本的应用程序的部署;
确定一个或多个用户的与先前版本的应用程序的用户体验相关联的定制,其中,所述定制是在用户级别、组级别和企业级别中的一个;
确定是否所述先前版本的应用程序的至少一个定制特征与所述新版本的应用程序不兼容;
响应于确定所述先前版本的应用程序的所述至少一个定制特征与所述新版本的应用程序不兼容,向所述一个或多个用户提供所述先前版本的应用程序的用户体验;以及
响应于确定所述先前版本的应用程序的定制与所述新版本的应用程序兼容,向所述一个或多个用户提供所述新版本的应用程序的用户体验。
CN201780027214.XA 2016-05-03 2017-04-27 基于检测定制提供用户体验升级的自动检测和优化 Active CN109076107B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662330899P 2016-05-03 2016-05-03
US62/330,899 2016-05-03
US15/194,636 US10365914B2 (en) 2016-05-03 2016-06-28 Providing automatic detection and optimization of user experience upgrades based on detected customization
US15/194,636 2016-06-28
PCT/US2017/029732 WO2017192339A1 (en) 2016-05-03 2017-04-27 Providing automatic detection and optimization of user experience upgrades based on detected customization

Publications (2)

Publication Number Publication Date
CN109076107A true CN109076107A (zh) 2018-12-21
CN109076107B CN109076107B (zh) 2021-12-14

Family

ID=58701865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780027214.XA Active CN109076107B (zh) 2016-05-03 2017-04-27 基于检测定制提供用户体验升级的自动检测和优化

Country Status (4)

Country Link
US (1) US10365914B2 (zh)
EP (1) EP3453155B1 (zh)
CN (1) CN109076107B (zh)
WO (1) WO2017192339A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI807954B (zh) * 2021-09-08 2023-07-01 美商萬國商業機器公司 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241778B2 (en) * 2016-09-27 2019-03-26 Ca, Inc. Microservices version state visualization
US20190026473A1 (en) * 2017-07-21 2019-01-24 Pearson Education, Inc. System and method for automated feature-based alert triggering
US10545755B2 (en) * 2017-09-07 2020-01-28 Servicenow, Inc. Identifying customization changes between instances
US10867128B2 (en) 2017-09-12 2020-12-15 Microsoft Technology Licensing, Llc Intelligently updating a collaboration site or template
US10742500B2 (en) * 2017-09-20 2020-08-11 Microsoft Technology Licensing, Llc Iteratively updating a collaboration site or template
US11108630B2 (en) * 2018-10-10 2021-08-31 Itron, Inc. Hierarchical configuration of networked communication devices
US10896034B2 (en) * 2018-11-14 2021-01-19 Babu Vinod Methods and systems for automated screen display generation and configuration
US20200210210A1 (en) * 2018-12-26 2020-07-02 Servicenow, Inc. Systems and methods for enabling widget customization via extension points
CN110333875A (zh) * 2019-07-02 2019-10-15 上海企创信息科技有限公司 一种服务程序更新方法、装置、服务器及存储介质
US11561672B1 (en) * 2020-07-24 2023-01-24 Tableau Software, LLC Compatibility-based feature management for data prep applications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203975A1 (en) * 2004-03-09 2005-09-15 Bharat Jindal Preserving user interface customizations while upgrading an enterprise application
EP1720098A1 (en) * 2005-05-02 2006-11-08 Trigence Corp. System including run-time software to enable a software application to execute on an incompatible computer platform
CN102929675A (zh) * 2011-11-03 2013-02-13 微软公司 具有安全检查和预览的服务器升级
US20140304694A1 (en) * 2011-07-15 2014-10-09 Integware, Inc. Software Automated Data and Data Model Upgrade System
US20150088968A1 (en) * 2013-09-20 2015-03-26 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragmants of a web object
CN104636157A (zh) * 2013-11-14 2015-05-20 中兴通讯股份有限公司 基于数据兼容的软件升级方法、客户端、服务器及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586304A (en) 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5845128A (en) 1996-02-20 1998-12-01 Oracle Corporation Automatically preserving application customizations during installation of a new software release
AU6183798A (en) 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
US6389591B1 (en) 1998-09-03 2002-05-14 Microsoft Corporation Method and apparatus for determining preferred controls for an upgradable operating system
US7051319B1 (en) 2001-03-27 2006-05-23 Siebel Systems, Inc. Method, system, and product for upgrading software objects using inherency
GB2402781A (en) 2002-03-22 2004-12-15 Sun Microsystems Inc Mobile download system
US20060026268A1 (en) 2004-06-28 2006-02-02 Sanda Frank S Systems and methods for enhancing and optimizing a user's experience on an electronic device
US20060130047A1 (en) 2004-11-30 2006-06-15 Microsoft Corporation System and apparatus for software versioning
US20090017812A1 (en) 2007-07-11 2009-01-15 Weng Chong Chan Method and system for restoring user settings after over-the-air update of mobile electronic device software
US8898627B2 (en) 2010-05-11 2014-11-25 Smartshift Gmbh Systems and methods for applying rules to transform objects of an application
US8689208B2 (en) 2010-06-24 2014-04-01 Microsoft Corporation Upgrade management of application components
US9069607B1 (en) 2012-01-31 2015-06-30 Vmware, Inc. Selective migration of virtualized applications and configuration settings thereof
CN103853574B (zh) 2012-12-06 2015-09-16 腾讯科技(深圳)有限公司 一种软件升级的方法及系统
US9274790B2 (en) 2014-04-30 2016-03-01 Oracle International Corporation Customization manager
US9635129B2 (en) * 2014-09-10 2017-04-25 At&T Intellectual Property I, L.P. Automatic application discovery, download, integration and launch

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203975A1 (en) * 2004-03-09 2005-09-15 Bharat Jindal Preserving user interface customizations while upgrading an enterprise application
EP1720098A1 (en) * 2005-05-02 2006-11-08 Trigence Corp. System including run-time software to enable a software application to execute on an incompatible computer platform
US20140304694A1 (en) * 2011-07-15 2014-10-09 Integware, Inc. Software Automated Data and Data Model Upgrade System
CN102929675A (zh) * 2011-11-03 2013-02-13 微软公司 具有安全检查和预览的服务器升级
US20150088968A1 (en) * 2013-09-20 2015-03-26 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragmants of a web object
CN104636157A (zh) * 2013-11-14 2015-05-20 中兴通讯股份有限公司 基于数据兼容的软件升级方法、客户端、服务器及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI807954B (zh) * 2021-09-08 2023-07-01 美商萬國商業機器公司 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統
US11775419B2 (en) 2021-09-08 2023-10-03 International Business Machines Corporation Performing software testing with best possible user experience

Also Published As

Publication number Publication date
EP3453155B1 (en) 2021-11-10
CN109076107B (zh) 2021-12-14
EP3453155A1 (en) 2019-03-13
US20170322795A1 (en) 2017-11-09
WO2017192339A1 (en) 2017-11-09
US10365914B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
CN109076107A (zh) 基于检测定制提供用户体验升级的自动检测和优化
US10366114B2 (en) Providing data presentation functionality associated with collaboration database
US10430180B2 (en) System and method for resilient automation upgrade
US11586945B2 (en) Methods and systems for automated, intelligent application process development that recommend how to modify applications based on usage patterns of end users
US9697016B2 (en) Search augmented menu and configuration for computer applications
US11334348B2 (en) Utilizing machine learning to identify and correct differences in application programming interface (API) specifications
US20220014555A1 (en) Distributed automated planning and execution platform for designing and running complex processes
US10331441B2 (en) Source code mapping through context specific key word indexes and fingerprinting
US11763201B1 (en) System and methods for model management
US10740361B2 (en) Clustering and analysis of commands in user interfaces
US10990895B2 (en) Predicting API storytelling mapping
US20220214872A1 (en) Dynamic review of software updates after pull requests
CN112860744A (zh) 一种业务流程处理方法和装置
US20230110057A1 (en) Multi-tenant, metadata-driven recommendation system
US10013259B2 (en) User initiated data rollback using operating system partitions
CN115826819A (zh) 业务菜单索引展示方法及其装置、设备、介质、产品
US20230161945A1 (en) Automatic two-way generation and synchronization of notebook and pipeline
US11775261B2 (en) Dynamic process model palette
Verma et al. An implementation approach of big data computation by mapping Java classes to MapReduce
US11694021B2 (en) Apparatus for generating annotated image information using multimodal input data, apparatus for training an artificial intelligence model using annotated image information, and methods thereof
US11521089B2 (en) In-database predictive pipeline incremental engine
US10963444B2 (en) Techniques and architectures for providing functionality to undo a metadata change
Psomopoulos et al. Bioinformatics algorithm development for Grid environments
US20230168923A1 (en) Annotation of a Machine Learning Pipeline with Operational Semantics
US20230359606A1 (en) Methods and systems for connecting data with non-standardized schemas in connected graph data exchanges

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