WO2015004452A1 - Procédé d'optimisation pour une application - Google Patents

Procédé d'optimisation pour une application Download PDF

Info

Publication number
WO2015004452A1
WO2015004452A1 PCT/GB2014/052088 GB2014052088W WO2015004452A1 WO 2015004452 A1 WO2015004452 A1 WO 2015004452A1 GB 2014052088 W GB2014052088 W GB 2014052088W WO 2015004452 A1 WO2015004452 A1 WO 2015004452A1
Authority
WO
WIPO (PCT)
Prior art keywords
native application
modified
user
server
content
Prior art date
Application number
PCT/GB2014/052088
Other languages
English (en)
Inventor
Alasdair John Joseph BAILEY
Iurii SYNYCHENKO
Sergii OVCHARENKO
Original Assignee
Maxymiser Ltd
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 Maxymiser Ltd filed Critical Maxymiser Ltd
Priority to CN201480047398.2A priority Critical patent/CN105683912B/zh
Priority to JP2016524893A priority patent/JP2016528608A/ja
Priority to EP14744619.9A priority patent/EP3019955A1/fr
Publication of WO2015004452A1 publication Critical patent/WO2015004452A1/fr

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/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices

Definitions

  • the field of the invention relates to methods of optimization for a native application, to systems including a computing device on which such a native application is executable, to computing devices on which such a native application is executable, and to servers configured to communicate with computing devices on which such a native application is executable.
  • EP1352322(A2) and EP1352322B1 disclose time-optimized replacement of a software application, and in particular a method for replacing old software that is in use with new software, which permits the maximum availability of the software.
  • the method is subdivided into a preparation phase and an active phase.
  • the preparation phase takes place during the operation of the old software.
  • the active phase is merely characterized by the execution of a MOVE command.
  • FR2841014A1 and FR2841014(B1) disclose a method for optimizing a computer program that causes a transition between first and second predetermined states in response to an event occurring that belongs to a group of events, in which the method has the following steps: reading of a sub-group of events chosen from a group of events; modeling of a second decision graph using registers and equivalent to a first decision graph when the events of the event group do not belong do a self generating group; and generation of a software function for said transition modeling.
  • a device for optimizing a computer program is further disclosed.
  • a method of optimization for a native application whose software is written in a reflection-based programming language, the native application executable on a computing device including a display and a processor, the native application configured to display a user interface on the display of the computing device, the method including the steps of:
  • modified native application can be further modified without performing an installation of a new version of a native application.
  • modified native application can be further modified very quickly, because it is remotely configurable from a remote server.
  • modified native application can be further modified in response to factors determined at a remote server, because the modified native application is remotely configurable from the remote server.
  • the native application is readily modified to provide the modified native application.
  • a precise measurement of the response of users to a change in an application may be provided. There is a technical effect on a process outside the computing device, because the server can remotely configure the modified native application.
  • the computer operates in a new way, because an altered user interface is produced by the modified native application without installation of a new version of the native application.
  • the computer is a better computer because the modified native application may be further modified without its operation being interrupted in the way that is typically associated with installation of a new software version.
  • the method may be one wherein the generic code is the only code needed to be applied to source code of the native application to enable optimization of the modified native application.
  • An advantage is that modification of the native application is simply made.
  • the method may be one wherein the generic code enables many kinds of optimizations to be remotely configured in an optimization system's user interfaces, without changing the code within multiple versions and instances of the native application.
  • An advantage is that multiple versions and instances of the native application do not need to be modified.
  • the method may be one wherein modifying the structure and behavior of the modified native application at runtime includes modifying one or more of the values, meta-data, properties, images and functions of the modified native application.
  • the modified native application can be modified in many ways.
  • the method may be one wherein the computing device is a mobile device, a touch screen device, a smart phone, a video game console, a computer, a smart TV, a TV set-top-box, or a device connectable to the internet.
  • the method may be applied to many types of devices, including devices which are rarely updated, if ever.
  • the method may be one wherein the computing device is connectable to the internet over a wired or wireless wide area network (WAN) or over a mobile phone network to a server.
  • WAN wide area network
  • An advantage is that the method can be used for different types of connections.
  • the method may be one wherein optimization includes adapting visual experiences for each user on the fly in order to increase the probability of a user completing a desired action.
  • the method may be one wherein a desired action is a click or an order placement.
  • the method may be one wherein a reflection based programing language is a common reflection based programing language. An advantage is that such a language is easily used.
  • the method may be one wherein the method further includes collecting one or more attributes about the user/device for use in targeting, profiling or analyzing user behavior.
  • An advantage is that user-customized user interface output may be provided.
  • the method may be one wherein the collected attributes are one of more of: Connection type to the device (e.g. 2G, 3G, 4G, Wi-Fi); Device Type; application version; Operating System type and version; Location (e.g.
  • An advantage is that user-customized user interface output may be provided.
  • the method may be one further including the step of: including or excluding visitors /devices from a campaign using their attributes. An advantage is that improved focus on relevant users may be obtained.
  • the method may be one further including the step of: creating segmentation rules to target content to visitors /devices according to their attributes in combination with rules for other user segment information.
  • the method may be one wherein native application performance is optimized during a campaign as well as after the campaign.
  • alterable user interface content includes one or more of:
  • An advantage is that a wide range of user interface content may be altered.
  • the method may be one wherein the native application includes a library.
  • the method may be one wherein the library is static for all applications.
  • the method may be one wherein the library is configured to send requests to, and to receive responses from, a content generator.
  • the library may use the most recent configuration data.
  • library updating may be automated.
  • the method may be one wherein the library interacts with a native application cache that is included in the native application.
  • the method may be one wherein the native application cache is configured to receive content pushed from the external server.
  • the method may be one wherein the library makes a request to a content generator on native application start.
  • the method may be one wherein the library is arranged to make a request to a content generator, the request including a location and user attributes in parameters.
  • An advantage is improved customization.
  • the method may be one wherein the library includes one or more of the following modules:
  • Tracking module (actions tracking, sending results to the CG);
  • MVT module (implement alternative content visualization
  • the method may be one wherein the library can modify only specified objects and properties in code instructions.
  • a method according to any aspect of the first aspect of the invention to optimize a selectable button displayed on the display from among at least two alternatives for the selectable button.
  • An advantage is that a most appropriate button may be displayed.
  • a method according to any aspect of the first aspect of the invention to optimize a displayed product on the display from among at least two alternatives for the displayed product, based on a most recently used filter option.
  • An advantage is that a most appropriate product may be displayed.
  • a fourth aspect of the invention there is provided use of a method according to any aspect of the first aspect of the invention, to optimize a displayed food product on the display from among at least two alternatives for the displayed food product, based on a most recently viewed food category.
  • a fifth aspect of the invention there is provided use of a method according to any aspect of the first aspect of the invention, to optimize a displayed advertisement on the display from among at least two alternatives for the displayed advertisement, based on recorded click through rates for the displayed advertisements.
  • a system comprising a server, a computing device including a display and a processor, and a modified native application executable on the computing device, the modified native application software being written in a reflection-based programming language, the modified native application configured to display a user interface on the display of the computing device, a native application having been modified by applying generic code to the native application to produce a modified native application which is configured to communicate with the server which is external to the computing device, wherein the modified native application is remotely configurable by the server to examine and to modify the structure and behaviour of the modified native application at run time so as to be capable of altering one or more of: the data, functions or content of a user interface generated by the modified native application.
  • modified native application can be further modified without performing an installation of a new version of a native application.
  • modified native application can be further modified very quickly, because it is remotely configurable from the remote server.
  • modified native application can be further modified in response to factors determined at the remote server, because the modified native application is remotely configurable from the remote server.
  • a precise measurement of the response of users to a change in an application may be provided.
  • the system may be configured to perform a method according to any aspect of the first aspect of the invention.
  • the system may be one wherein the server is further configured to collect one or more attributes about the user/ device for use in targeting, profiling or analyzing user behavior.
  • the system may be one wherein the server is further configured to filter reports, including conversion and revenue reports, by attribute values.
  • the system may be one wherein the server is further configured to discover segments that may require a different experience to increase conversion rates based upon the attributes.
  • the system may be one wherein the server is configured to automatically detect higher performing content variants and then to arrange to serve those higher performing content variants to more future visitors.
  • the system may be one wherein the system includes the ability to switch a concluded campaign to a mode where winners only' are served, meaning that the native application supplier does not need to make an update to the code in order to apply winning variations of content or user experience.
  • the system may be one wherein the system includes a self-learning, predictive algorithm which drives each user to the best offer for that individual, automatically.
  • the system may be one wherein the system includes a segment discovery process to automate the analysis process to discover the user segments which require a different experience than the overall winner to increase performance against measures for that segment.
  • the system may be one wherein the system provides multivariate testing.
  • the system may be one wherein the server is configured to send segmentation rules to the native application.
  • the system may be one wherein the system is configured to track one or more of:
  • Action attribute and action value opportunities (e.g. to measure sales value in £/$/ € or other currency).
  • the system may be one wherein the system is configured to measure a response of users to a change in the application.
  • a seventh aspect of the invention there is provided use of the system of any aspect of the sixth aspect of the invention, wherein historical customer information, such as products held or a customer's propensity to buy a product, can be used to dynamic drive the best, personalized experience for each customer on native applications.
  • historical customer information such as products held or a customer's propensity to buy a product
  • a computing device including a display and a processor, the computing device including a modified native application whose software is written in a reflection-based programming language, the modified native application executable on the device, the modified native application configured to display a user interface on the display of the computing device, the modified native application having been modified by applying generic code to a native application to produce the modified native application which is configured to communicate with a server external to the computing device, wherein the modified native application is remotely configurable by the server to examine and to modify the structure and behaviour of the modified native application at run time so as to be capable of altering one or more of: the data, functions or content of a user interface generated by the modified native application.
  • a server configured to communicate with a computing device, the computing device including a display and a processor, the computing device including a modified native application whose software is written in a reflection-based programming language, the modified native application executable on the computing device, the modified native application configured to display a user interface on the display of the computing device, the modified native application having been modified by applying generic code to a native application to produce the modified native application which is configured to communicate with the server which is external to the computing device, wherein the server is arranged to remotely configure the modified native application to examine and to modify the structure and behaviour of the modified native application at run time so as to be capable of altering one or more of: the data, functions or content of a user interface generated by the modified native application.
  • a system comprising a server, a plurality of computing devices each including a display and a processor, and a modified native application executable on the plurality of computing devices, the modified native application software being written in a reflection-based programming language, the modified native application configured to display a user interface on the display of each of the plurality of computing devices, a native application having been modified by applying generic code to the native application to produce a modified native application which is configured to communicate with the server which is external to the plurality of computing devices, wherein the modified native application is remotely configurable by the server to examine and to modify the structure and behaviour of the modified native application at run time so as to be capable of altering one or more of: the data, functions or content of a user interface generated by the modified native application, wherein the server is arranged to configure a plurality of modified native applications on the plurality of computing devices in a plurality of different configurations and to record measurements of user actions on the plurality of computing devices in relation to the plurality of different configuration
  • Figure 1 shows how an example of how a test works inside an application.
  • Figure 2 shows an example of a creation of an optimization system, in table form.
  • FIGS 3 to 14 show examples of specifications.
  • Figure 15 shows an example of states which, once a campaign is setup, can be gone through starting from implementation through to live when it is published.
  • Figure 16 shows examples of attributes.
  • Maxymiser has created a new approach to optimize native software applications which exist on many types of internet connected devices ranging from smart phones to video game consoles, PCs, smart TVs and TV set-top-boxes.
  • optimization means adapting visual experiences for each user on the fly in order to increase the probability of a user completing a desired action, like a click or an order placement.
  • the invention relates to a method of optimization for native applications whose software is written in a reflection based programing language, for example any common reflection based programing language.
  • reflection is the ability of a computer program to examine and modify the structure and behavior (e.g. the values, meta-data, properties and functions) of the program at runtime.
  • the native application may run on a computer, a video game station, a smart phone or any other kind of device connected to internet, typically over a wired or wireless wide area network (WAN) or mobile phone network to a server.
  • WAN wide area network
  • the method of optimization for a native application may comprise the step of integrating a native application optimization system with a native application by applying generic code to the native application, that being the only code needed to be applied to the source code of the native application to enable the native application optimization system to optimize the native application by altering one or more of: the data, functions or content assets of a user interface (UI) in the native application.
  • UI user interface
  • the new system may include enhancements to Maxymiser's platform to optimize a native application. These enhancements may include the following features:
  • Tests can be configured to automatically detect higher performing content variants and then serve those to more future visitors. This means that overall app performance is optimized during the campaign as well as after it. This is known as Dynamic Optimization.
  • the system may include the ability to switch a concluded campaign to a mode where winners only' are served, meaning that the application owner does not need to make an update to the code in order to apply winning variations of content or user experience.
  • Making an update to app code is often a very large investment for an app developer since it is necessary to test the app, submit it for approval to the application distributor (e.g. Apple Appstore) and then distribute it which in the case of smart televisions can involve waiting a number of months until the next planned software update distribution, the timing of which is in the hands of the hardware manufacturer, not the application developer.
  • the application distributor e.g. Apple Appstore
  • Maxymiser's Full Managed Services provides support for native applications, including creative design, web development, report analysis and quality control across mobile devices. Testing with Native Applications is a development by Maxymiser. Since native application devices do not support Silverlight, the On Page Console is not provided for native application testing.
  • Testing for native applications may include:
  • a breadth of platform capability that can be applied to a native application, including recommendations based upon affinity patterns and a self-learning, predictive algorithm which drives each user to the best offer for that individual, automatically.
  • Segment discovery to automate the analysis process to discover the user segments which require a different experience than the overall winner to increase performance against agreed measures for that segment. This now also applies to segments that may be identified by native applications.
  • Action attribute and action value opportunities e.g. to measure sales value £/$/ € or other currency.
  • a mobile device can send requests to and receive responses from a content generator, which includes a content generation service.
  • the mobile device includes a mobile application.
  • the mobile application includes a library which is static for all applications.
  • the library is configured to send the requests to and to receive the responses from the content generator.
  • the library interacts with a mobile application cache that is included in the mobile application.
  • An external server with content assets eg. images
  • Figure 1 shows how an example of how a test works inside an application.
  • JSON JavaScript Object Notation
  • Segmentation Example a) 'mobile version' library makes a request to the CG on application start.
  • Tracking module (actions tracking, sending results to the CG).
  • MVT module (implement alternative content visualization).
  • Mobile smartphone adoption is increasing at a rapid rate. Significant investments are being made in mobile applications to keep up with the fast-moving market. Extending your reach to mobile devices is an opportunity, but it requires an optimized experience to truly be effective with such a small screen.
  • Maxymiser's mobile version has revolutionized mobile optimization— a must for any brand investing time and budget into mobile marketing.
  • the mobile version enables the marketer to effectively test and target content and create personalized experiences for mobile devices to increase conversion rates. Quickly optimize all of your mobile content including banner ads, data submission forms, site layout, promotions or any other content to drive the most relevant experiences for each individual user and increase revenue for your brand.
  • the mobile version's reporting and analytics gives you the insight into the experiences of mobile users, identifying the winning experience for each user segment and identifying new segments that require a different experience. You'll identify the right experience and measure the overall campaign effectiveness across web sites and mobile devices.
  • stage zero for creating a SDK specification a specification is created, with a project timeline and requirements gathering.
  • stage one for SDK developing and for UI adjustments, a library is created, MM UI modifications and web service developing occur, and interactions with an app store occur.
  • stage two for debugging MM UI & SDK integration is tested with a smartphone app, internal quality assurance and bug fixing occurs, usability testing occurs, improvements and change requests occur, and drafts of production process build-up are performed.
  • stage three beta testing occurs.
  • a test spec is created, integration within the beta app and test creation are performed, beta client testing is performed, improvements and change requests are generated based on beta feedback, and a production process build-up is finalized.
  • Figure 2 shows an example of a creation of an optimization system, in table form.
  • Example with iPhone SDK, or other smartphone SDK General iPhone SDK (or another smartphone SDK) functionality should allow easy library integration into customer's application. Integration instruction should occupy no more than 1 page. It should correspond to existing Maxymiser test campaign creation conception. It should allow production and sandbox modes. It should remember user personalization data (similar to the browser cookies). It should allow offline measurement.
  • Load images library Example There may be provided images loading functionality. There may be provided image caching (should load only changed images).
  • MMCore library Example There may be provided a set of methods and properties similarly to mmcore.js:
  • Element variant should contain set of properties and their values.
  • MAConsole (mobile administration console) should provide finding, viewing and selecting interface objects and properties. There may be provided exporting selected properties and values to Admin UI. MAConsole should be shown when user is in company IP and makes some specific touches, or when debug mode set in application.
  • MM CG web service Example
  • a primary action is "Order", which tracks an order placed through the application.
  • “Clicks” tracks clicks on a 'customize' button. An example is shown in Figure 3. In test variants, different button styles and colours are tested for the 'customize' button. An example is shown in Figure 4.
  • a primary action is "Order”, which tracks an order placed through the application.
  • “Add to Cart” tracks whether a customized pizza has been added to a user's cart. An example is shown in Figure 5.
  • a primary action is "Purchase", which tracks an order placed through the application.
  • the 'Value' captures the value in GBP of the order.
  • "ProdViews” tracks views of a product page within the application. An example is shown in Figure 6.
  • Variants may be by title, by price or by release, for example. Examples are shown in Figure 7.
  • a primary action is "FoodViews", which tracks views of one of the application food packages.
  • FoodViews which tracks views of one of the application food packages.
  • both food category pages and food detail pages should be tracked. Examples are shown in Figure 8.
  • the left hand side of Figure 8 shows an example of a food category page.
  • the right hand side of Figure 8 shows an example of a food detail page.
  • FoodPreference Possible values are: cakes, breakfast, lunch, muffins, salads, sandwiches, yoghurt or blank. Examples are shown in Figure 9.
  • a primary action is "RadioPlay", which tracks if the user listened to a radio station. Attributes track the number of minutes of radio listened to, which may grouped into the following possible values: 0-30, 30-60, >60.
  • “BannerClicks” tracks clicks on an external banner at the top of the application page.
  • Figure 10 In an example, three banner variants are included in a test. The three banner variants may be 'no advert', 'one advert' and 'two adverts'. An example is shown in Figure 11.
  • a primary action is "BookClicks", which tracks the clicks on a T3ook' button.
  • the 'Value' captures the cost of the booking. Attributes tracks the agent of the journey booked, eg. Opodo.
  • “BookingComplete” tracks completed bookings through the web-in app site.
  • “Search” tracks searches performed in the application — a view of the search results page. Examples are shown in Figure 12.
  • a primary action is "Purchase", which tracks the completed purchases made through the application.
  • the 'Value' captures the value of the purchase. Attributes tracks the city that the deal was purchased for. An example is shown in Figure 13.
  • a test page may be any of category browsing pages.
  • a test element may be a buy colour test element.
  • a test element may be a button test element.
  • a test element may be an image test element.
  • a test element may be a layout test element. An example is shown in Figure 14.
  • the intended audience is the administrators who regularly set up Sites for clients.
  • the name of the site should be set according to this pattern:
  • Preview URL is not used and can be populated with any URL to pass validation.
  • This implementation guide provides steps for integrating the Maxymiser Mobile Application Testing solution 'MMTApp'. It describes how an A/B testing campaign can be implemented and run within native mobile applications developed for a smartphone operating system eg. iOS. This guide assumes that you are familiar with creating apps for a smartphone operating system eg. iOS.
  • MMTApp.h Insert '#import "MMTApp.h"' directive to the top of the working files in your project.
  • the MMTApp is an entry point to the API.
  • api [MMTApp apiForSite:@"myapp”];
  • the first argument is a block that we will invoke once experiences are fetched. It is safe to update UI inside this block as it will be invoked on the main thread.
  • Variants of the user experience for the View element use the format shown in the following example.
  • the Variant Content is Empty.
  • the Variant Content is Empty.
  • Variants of the user experience for the View element would use the format shown in the following example.
  • the Variant Content is whiteColor.
  • the Variant Content is greenColor.
  • the Variant Content is blueColor. - (void)viewWillAppear:(T300L)animated ⁇
  • connection to Maxymiser If the connection to Maxymiser is not available, action will be cached and sent once connection resumes. 3.6 QC & go-live
  • the Maxymiser UI supports two environments: Sandbox and Production.
  • Sandbox is a development test environment where campaigns are created and configured. All testing on your application should be carried out in Sandbox. Sandbox traffic is served from pre-defined Company IPs.
  • Production is the environment used to serve production (live user) traffic.
  • the MMTApp allows the environment to be switched as follows:
  • the winning variant can be weighted to 100 in the Maxymiser UI prior to republishing the campaign — this ensures that only the winning variant is displayed to users. It is recommended that the campaign is switched to the 'Not Collecting Data' state once the campaign has ended so that the performance data is frozen for future reference.
  • the campaign-specific code should be removed from the App when the winning user experience variant has been coded to the App codebase (e.g. at the next release).
  • SDK top-level class Provides facilities to create API for a Site and contains methods for
  • API object linked with a given Site
  • Wi- Fi network Specifies whether new experiences can be fetched only when user is connected to a Wi- Fi network. By default any available network will be used.
  • Integer value of the action This can be used for the tracking of various parameters such as amount and sum.
  • the action attribute This can be used for the tracking of various additional information related with the action.
  • Integer value of the action This can be used for the tracking of various parameters such as amount and sum.
  • the action attribute This can be used for the tracking of various additional information related with the action.
  • Protocol to be used to retrieve generated variants for the fetched experiences.
  • the name of the generated variant for the element in the campaign Returns nil for the following cases: the campaign is not started, the campaign is finished, the campaign is paused or the site is disabled. In any of these situations a process to render default content should be put in place.
  • the campaign is not started, the campaign is finished, the campaign is paused or the site is disabled. In any of these situations a process to render default content should be put in place.
  • Protocol to be used for logging messages from the SDK can be provided to the MMTApp class.
  • Maxymiser Mobile Library has the following system limitations:
  • Maxymiser can assist with campaign QC processes.
  • An Element cannot contain more than 10 variants.
  • the UI for Mobile App testing has been re-purposed from web site testing so there are certain parts and terminology that still apply to web site testing.
  • the Maxymiser UI uses the terminology (web) Site, this can be read as App name in mobile app testing
  • Maxymiser UI refers to a 'Page' this can be thought of as a container for Experiences and Actions.
  • the core attributes which are captured in App campaigns differ from those which are captured in web campaigns as described below.
  • Attributes that are not listed below may still be seen in the reporting user interface and may contain either 'null' or meaningless values. These should be disregarded and not used for analysis.
  • the Attribute 'OS' which is the Operating System type and version.
  • A/B Testing A method of testing changes in a single area of an app. App visitors are randomly shown content "A" or "B". The response to the content is analyzed to see if the difference between them is significant. A/B Testing is not limited to just two variants and is commonly used as shorthand for A/B/ C/D . . . [n] testing. Action: A conversion event performed by the visitor, for example purchase or click- through.
  • Campaign -level Settings Core configurations that apply to individual campaigns.
  • CG Content Generator
  • Maxymiser A core component of the Maxymiser system: it is the engine that executes main operations during App testing.
  • the Content Generator serves Variants and tracks all selected Actions and Personalization Criteria.
  • Content Variant The alternative content created in the Maxymiser UI and served to visitors during the testing process.
  • Each Element has at least two variants (one of which is designated as the Control Variant) .
  • Maxymiser test reporting compares current (default/control) content with the content varied in the campaign.
  • Element An identifiable part of an app, such as a landing page image, the size of a banner, or the copy of a call-to-action button that is to be tested.
  • An experience is composed of a specific set of variants over one or more pages.
  • a possible experience is a welcome page without an image, medium size banner, and call-to-action button saying 'View Our Best Offers'.
  • Live Refers to a campaign configuration that is currently running on an App.
  • Maxymiser UI A designated workspace where business users can work collaboratively to use Maxymiser's optimization solutions.
  • Publish Center The area of the Maxymiser UI where campaign content is transferred to the live web site.
  • Ready for Publish A feature used to inform the Publisher that a campaign configuration is complete and the campaign is ready to be made public.
  • Sandbox The test environment where campaigns are created and configured.
  • Variant (Content Variant): A Variant of an Element is a possible configuration of that particular Element. There are at least two variants for every Element: a Default (or 'control') and at least one Challenger variant.
  • Variant Weight A value used to determine the proportion of traffic that is served a Content Variant. Let's say we have two Content Variants “A” and “B”. “A” has a weight of 10 and “B” has a weight of 30. In this case “A” gets 25% of the Campaign traffic, “B” gets 75%.
  • Visitor A user who enters a campaign (and is tracked via a first-party cookie) and views content.
  • Visitor Attribute A characteristic that identifies a web site or app visitor, such as their geographical location, activity on a site, operating system and personalization criteria, for example gender.
  • the MMTApp library provides a debug logging mechanism based on standard NSLog output. All requests such as query construction, sending requests and response parsing are reflected by NSLog messages. It is therefore possible to see this log of library behavior in the Output window in Xcode and monitor it for errors. Generated log messages are prefixed with "MMTApp:"
  • a campaign may have been configured or programmed incorrectly leading to unexpected behavior of the application. Once the campaign is paused or finished, our API will return nil values.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L'invention concerne des procédés d'optimisation pour une application d'origine, des systèmes comprenant un dispositif informatique sur lequel une telle application d'origine peut être exécutée, des dispositifs informatiques sur lesquels une telle application d'origine peut être exécutée, et des serveurs configurés pour communiquer avec des dispositifs informatiques sur lesquels une telle application d'origine peut être exécutée. Selon un aspect, l'invention concerne un procédé d'optimisation pour une application d'origine dont le logiciel est écrit dans un langage de programmation basé sur la réflexion, l'application d'origine pouvant être exécutée sur un dispositif informatique comprenant un dispositif d'affichage et un processeur, l'application d'origine étant configurée pour afficher une interface utilisateur sur le dispositif d'affichage du dispositif informatique, le procédé comprenant les étapes consistant : (i) à appliquer un code générique à l'application d'origine pour produire une application d'origine modifiée qui est configurée pour communiquer avec un serveur externe au dispositif informatique, et (ii) à configurer à distance l'application d'origine modifiée à partir du serveur pour examiner et modifier la structure et le comportement de l'application d'origine modifiée au moment de son exécution de façon à pouvoir modifier un ou plusieurs des éléments suivants : les données, les fonctions ou le contenu d'une interface utilisateur générée par l'application d'origine modifiée.
PCT/GB2014/052088 2013-07-09 2014-07-09 Procédé d'optimisation pour une application WO2015004452A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480047398.2A CN105683912B (zh) 2013-07-09 2014-07-09 对于应用程序的优化的方法
JP2016524893A JP2016528608A (ja) 2013-07-09 2014-07-09 アプリケーションのための最適化の方法
EP14744619.9A EP3019955A1 (fr) 2013-07-09 2014-07-09 Procédé d'optimisation pour une application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1312280.9 2013-07-09
GBGB1312280.9A GB201312280D0 (en) 2013-07-09 2013-07-09 Native app

Publications (1)

Publication Number Publication Date
WO2015004452A1 true WO2015004452A1 (fr) 2015-01-15

Family

ID=49033535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2014/052088 WO2015004452A1 (fr) 2013-07-09 2014-07-09 Procédé d'optimisation pour une application

Country Status (5)

Country Link
EP (1) EP3019955A1 (fr)
JP (2) JP2016528608A (fr)
CN (1) CN105683912B (fr)
GB (2) GB201312280D0 (fr)
WO (1) WO2015004452A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105561579A (zh) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 游戏素材展现方法及装置
WO2020242415A1 (fr) * 2019-05-24 2020-12-03 D-Market Elektronik Hizmetler Ve Ticaret Anonim Sirketi Système et procédé de réalisation de test a/b
CN113568634A (zh) * 2021-06-28 2021-10-29 荣耀终端有限公司 应用优化的处理方法及处理装置
CN113672228A (zh) * 2021-09-17 2021-11-19 灵犀科技有限公司 一种基于组件和数据资产交易的可视化开发方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3473035B1 (fr) * 2016-07-13 2021-04-07 Huawei Technologies Co., Ltd. Système de résilience d'application et son procédé pour des applications déployées sur une plateforme en nuage
US10735449B2 (en) 2017-07-11 2020-08-04 Viaforensics, Llc Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction
CN108491370B (zh) * 2018-03-26 2021-11-26 成都睿码科技有限责任公司 使用元数据结构和数据驱动的方式产生内容的系统与方法
CN109032629A (zh) * 2018-06-28 2018-12-18 北京达佳互联信息技术有限公司 一种代码更新方法及装置
CN109754511B (zh) * 2019-01-14 2021-05-14 深圳前海微众银行股份有限公司 购物车设备固件更新方法、系统、平台、网关及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1352322A2 (fr) 2001-01-19 2003-10-15 Siemens Aktiengesellschaft Remplacement d'une application logiciel optimise dans le temps
FR2841014A1 (fr) 2002-06-18 2003-12-19 Canon Kk Procede et dispositif d'optimisation d'un programme informatique
US20070174490A1 (en) * 2006-01-25 2007-07-26 Greystripe Inc. System and methods for managing content in pre-existing mobile applications
WO2008020443A1 (fr) * 2006-08-14 2008-02-21 Inner-Active Ltd. Système et procédé pour une distribution en temps réel de messages de publicité interactifs dans des applications mobiles
US20090125376A1 (en) * 2007-11-14 2009-05-14 Yahoo! Inc. Advertisements on mobile devices using integrations with mobile applications
US20100037204A1 (en) * 2008-08-07 2010-02-11 Google Inc. Content Distribution for Mobile Device
GB2470838A (en) * 2009-06-05 2010-12-08 Maxymiser Ltd Inserting generic code into a website to enable a website optimisation system.

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155706B2 (en) * 2003-10-24 2006-12-26 Microsoft Corporation Administrative tool environment
US7444327B2 (en) * 2004-01-09 2008-10-28 Microsoft Corporation System and method for automated optimization of search result relevance
CN1835507A (zh) * 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
US20070027760A1 (en) * 2005-07-29 2007-02-01 Collins Robert J System and method for creating and providing a user interface for displaying advertiser defined groups of advertisement campaign information
US20080134045A1 (en) * 2006-07-13 2008-06-05 Neustar, Inc. System and method for adaptively and dynamically configuring a graphical user interface of a mobile communication device
US9063765B2 (en) * 2008-04-28 2015-06-23 Kaazing Corporation System and methods for distributed execution of computer executable programs utilizing asymmetric translation
US20100153866A1 (en) * 2008-12-11 2010-06-17 Accenture Global Services Gmbh Method and system for modifying the execution of a native application running on a portable electronic device
JP2011215758A (ja) * 2010-03-31 2011-10-27 Kyocera Mita Corp 情報処理装置および情報処理プログラム
JP6066096B2 (ja) * 2011-02-22 2017-01-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1352322A2 (fr) 2001-01-19 2003-10-15 Siemens Aktiengesellschaft Remplacement d'une application logiciel optimise dans le temps
EP1352322B1 (fr) 2001-01-19 2005-06-08 Siemens Aktiengesellschaft Remplacement d'une application logiciel optimise dans le temps
FR2841014A1 (fr) 2002-06-18 2003-12-19 Canon Kk Procede et dispositif d'optimisation d'un programme informatique
FR2841014B1 (fr) 2002-06-18 2005-02-11 Canon Kk Procede et dispositif d'optimisation d'un programme informatique
US20070174490A1 (en) * 2006-01-25 2007-07-26 Greystripe Inc. System and methods for managing content in pre-existing mobile applications
WO2008020443A1 (fr) * 2006-08-14 2008-02-21 Inner-Active Ltd. Système et procédé pour une distribution en temps réel de messages de publicité interactifs dans des applications mobiles
US20090125376A1 (en) * 2007-11-14 2009-05-14 Yahoo! Inc. Advertisements on mobile devices using integrations with mobile applications
US20100037204A1 (en) * 2008-08-07 2010-02-11 Google Inc. Content Distribution for Mobile Device
GB2470838A (en) * 2009-06-05 2010-12-08 Maxymiser Ltd Inserting generic code into a website to enable a website optimisation system.

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105561579A (zh) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 游戏素材展现方法及装置
WO2020242415A1 (fr) * 2019-05-24 2020-12-03 D-Market Elektronik Hizmetler Ve Ticaret Anonim Sirketi Système et procédé de réalisation de test a/b
CN113568634A (zh) * 2021-06-28 2021-10-29 荣耀终端有限公司 应用优化的处理方法及处理装置
CN113568634B (zh) * 2021-06-28 2022-05-17 荣耀终端有限公司 应用优化的处理方法及处理装置
CN113672228A (zh) * 2021-09-17 2021-11-19 灵犀科技有限公司 一种基于组件和数据资产交易的可视化开发方法及系统

Also Published As

Publication number Publication date
CN105683912B (zh) 2019-08-27
EP3019955A1 (fr) 2016-05-18
JP6865252B2 (ja) 2021-04-28
GB201412190D0 (en) 2014-08-20
GB2518936A (en) 2015-04-08
JP2016528608A (ja) 2016-09-15
GB201312280D0 (en) 2013-08-21
CN105683912A (zh) 2016-06-15
JP2019215895A (ja) 2019-12-19

Similar Documents

Publication Publication Date Title
JP6865252B2 (ja) アプリケーションのための最適化の方法、システムおよびプログラム
Rieger et al. Towards the definitive evaluation framework for cross-platform app development approaches
US20210200943A1 (en) Website improvements based on native data from website building system
RU2468419C2 (ru) Устройство и способы для управления памятью, связанной с виджетами
US20150135160A1 (en) System and method for providing an application development and distribution social platform
CN107391114A (zh) 页面可视化渲染方法及装置
US8924942B1 (en) Identifying user interface improvements from observed user behavior
JP5865589B2 (ja) 情報処理装置、情報処理方法、情報処理システム、およびプログラム
JP2015179518A (ja) コンテンツを検索、選択、及び表示する方法及びシステム
CN105190665A (zh) 移动创意管理系统
CN111164950B (zh) 用于用户分段即服务的方法和系统
MX2011009123A (es) Metodo para visualizar anuncios programados individualmente, dirigidos, fuera de linea en cualquier pantalla de escritorio.
US20190384616A1 (en) Method for displaying and changing mobile commerce elements within native application instantly without code build
Clinch et al. Designing application stores for public display networks
US10909576B1 (en) Virtual environment creation, scaling, and population with multiple display opportunities
US11893076B2 (en) Systems and methods for managing an online user experience
US10290029B2 (en) Engine, system and method of providing application and analytic services across diverse operating platforms
WO2020070725A1 (fr) Plate-forme mise en œuvre par ordinateur destinée à des campagnes publicitaires et procédé associé
Stefani A metrics ecosystem for designing quality e-commerce systems
Truong Optimizing mobile in-app advertising effectiveness using app publishers-controlled factors
Tiet The planning and implementation process of programmatic advertising campaigns in emerging markets.
US20240152938A1 (en) Mobile Application Data Collection and Reward Method and System
Rieger et al. Towards the definitive evaluation framework for cross-platform app
Ho Ngoc Single Page Web Application with Restful API and AngularJS: Best Practices with Verto Monitor
KR20240069237A (ko) 디지털 에이전시 기반의 그로스 해킹 a/b 테스트 플랫폼

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14744619

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016524893

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014744619

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014744619

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE