AU2016322017A1 - System and method for providing a personalised reactive web experience - Google Patents

System and method for providing a personalised reactive web experience Download PDF

Info

Publication number
AU2016322017A1
AU2016322017A1 AU2016322017A AU2016322017A AU2016322017A1 AU 2016322017 A1 AU2016322017 A1 AU 2016322017A1 AU 2016322017 A AU2016322017 A AU 2016322017A AU 2016322017 A AU2016322017 A AU 2016322017A AU 2016322017 A1 AU2016322017 A1 AU 2016322017A1
Authority
AU
Australia
Prior art keywords
user
transformation rules
web
request
transformation
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.)
Abandoned
Application number
AU2016322017A
Inventor
Kenneth Springer
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.)
Hueyify Pty Ltd
Original Assignee
Hueyify Pty 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
Priority claimed from AU2015903772A external-priority patent/AU2015903772A0/en
Application filed by Hueyify Pty Ltd filed Critical Hueyify Pty Ltd
Publication of AU2016322017A1 publication Critical patent/AU2016322017A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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

Abstract

A web experience platform application is executed by a process to provide a user with a personalized web to implement a method which includes receiving a request to retrieve web-based content from a remote server accessible and via a data network and identified by a server address, forwarding the request to the remote server, receiving the requested web-based content, correlating characteristics associated with the user retrieved from a characteristics data stored with properties of transformation on rules to identify one or more matching response transformation rules, processing the received web-based content by a applying the matching response transformation rules, and transmitting the transformation content to the client application.

Description

FIELD OF THE INVENTION [0001 ] The present invention relates to delivery of content via the World Wide Web, and in particular to methods, systems and computer software products for modifying content to provide users with a personalised web experience.
BACKGROUND TO THE INVENTION [0002] The Internet, and more particularly the World Wide Web (or simply ‘web’) has become ubiquitous within the developed world, and is continuously extending its reach, particularly through advances in mobile data communications technology and associated portable devices such as smart phones and tablets. Web sites and pages are available to cover nearly every possible topic of interest, and have become integral to many aspects of an individual’s life, from entertainment to education, information exchange, research and shopping for goods and/or services, for performing a wide range of commercial, financial, governmental, and other functions online, among innumerable other applications.
[0003] A broad range of factors have emerged which determine the user experience delivered by individual web sites. In this context, the term ‘user experience’ encompasses everything that contributes to the way a user feels when interacting with a web site. From a technical perspective, this includes contributions to usability, design, accessibility and performance. There is no single, universal, consistent and agreed approach to optimising all aspects of user experience. Although Internet standards and guides exist, promoting ‘best practices’ in web site design, independent designers have many different ideas, styles and approaches to user interface and user experience design. The function of a web site, e.g. whether it is a search engine, and online banking portal, an education site, an e-commerce site, or a promotional web site for products or services, all influence presentation and design choices.
[0004] Naturally, different individual users have different preferences regarding web site presentation, user interface, and user experience. A layout that one user may find pleasing and informative may regarded as cluttered and confusing by another. Even
WO 2017/045026
PCT/AU2016/050860 something as basic as a colour combination, font choice, or other simple stylistic element, may be regarded as pleasant and enjoyable by one user, but as unbearably annoying by another. This is inevitable, considering that personal preferences are as diverse as users themselves.
[0005] The situation is exacerbated when accessibility issues are also taken into account. An ‘accessible’ web site is one which can be used by all of its intended visitors, including those with differing physical and cognitive capabilities. Web sites with accessibility problems can pose significant barriers to people with disabilities. While a number of techniques and standards have been developed in order to address web accessibility issues, web site designers and developers often lack the knowledge and skills to develop truly accessible web sites. Even if accessibility is considered during the development of a web site, errors, omissions and problems may still arise, particularly taking into consideration the very wide range of differing abilities of potential users. Everything from physical disabilities, such as vision impairment (including colour blindness) and motor control difficulties through to cognitive differences, e.g. resulting from location on the autism spectrum or other cognitive variation, can render an otherwise highly usable and generally accessible web site painful, difficult or incomprehensible to some individual users.
[0006] Ultimately, the solution to all of these problems cannot be a single, universal, perfect set of web site design standards, guidelines and techniques. The wide range of individual variation among web users demands a similarly personalised approach to web content presentation, rather than attempting to rely entirely upon web site design.
[0007] It is, accordingly, an object of the present invention to provide novel systems, methods and computer software products capable of delivering a personalised reactive web experience to individual users, in a manner that is substantially independent of the design and implementation of each individual web site. In other terms, a broad goal of the invention is to provide a more ‘user-centric’ window onto the World Wide Web.
SUMMARY OF THE INVENTION [0008] In one aspect, the present invention provides a method, implemented by a web experience platform application executed by a processor, for providing a user with a personalised web experience, the method comprising:
WO 2017/045026
PCT/AU2016/050860 receiving, from a client application operated by the user, a request to retrieve web-based content from a remote server accessible via a data network and identified by a server address;
forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; correlating characteristics associated with the user retrieved from a characteristics data store with properties of transformation rules retrieved from a transformation rules data store to identify one or more matching response transformation rules;
processing the received web-based content by applying the matching response transformation rules to generate transformed content; and transmitting the transformed content to the client application.
[0009] The method may further include, after receiving the request to retrieve webbased content and prior to forwarding the request, performing further steps of:
correlating the characteristics associated with the user retrieved from the characteristics data store with properties of the transformation rules retrieved from the transformation rules data store to identify one or more matching request transformation rules; and processing the received request by applying the matching request transformation rules to generate a transformed request, whereby the request forwarded, via the data network, to the remote server, is the transformed request.
[0010] Advantageously, user characteristics held within the characteristics data store may be uniquely associated with each user. Systems embodying the inventive method may therefore maintain a unique characterisation of every individual user. At the same time, a data store of transformation rules may embody instructions for performing transformative operations on outgoing user requests and/or retrieved webbased content. Such transformations may alter the appearance, layout, presentation and/or functionality of entire web sites, individual pages, and/or individual elements within a web page. Correlations between user characteristics and properties of transformation rules are used to select the transformations that may be applied when presenting web content to an individual user.
WO 2017/045026
PCT/AU2016/050860 [0011] According to embodiments of the invention the transformation rules are expressed using a scripting language, such that new rules and associated rule properties may be developed by human operators and/or via automated learning and extension operations.
[0012] Characteristics associated with the user may include one or more user preferences, wherein each user preference comprises a measure of affinity of the user with a corresponding one of the transformation rules. A positive affinity may result in the associated transformation rule being automatically applied, or optionally suggested, to the user. Properties of the transformation rules may comprise one or more properties selected from a group comprising: transformation actions; traits; profiles; categories; and locators.
[0013] In this context, a ‘trait’ is represented as a binary value defining an association of the transformation rule with a corresponding user attribute. A ‘profile’ comprises one or more grouped traits, i.e. a set of binary values. A profile may further comprise other profiles. A ‘category’ comprises a tag or reference corresponding with a grouping of transformation rules. A ‘locator’ comprises web location information, and may include one or more of a domain name, an Internet address, a URI, a URL, or a URN. A locator may define a single page, a complete site, or a group site, for example through the use of appropriate wildcard characters. A locator may further comprise one or more time values defining one or more corresponding time periods. A locator may further comprise information identifying a context/environment. Context/environment information may include device type (e.g. ‘desktop’, ‘laptop’, ‘tablet’ etc), connectivity type (e.g. ‘WiFi’, ‘3G’, ‘4G’, ‘LAN’ etc), geographic location, execution environment, user agent parameters, and so forth.
[0014] The method may further comprise presenting to the user, via the client application, details of one or more suggested transformation rules.
[0015] The web experience platform application may receive from the user, via the client application, a preference response comprising an indication of user affinity with a suggested transformation rule. Preference responses may be stored in the characteristics data store associated with the user.
WO 2017/045026
PCT/AU2016/050860 [0016] The one or more matching transformation rules may comprise accepted transformation rules for which the user preferences indicate a positive affinity. For example, rules that have been expressly selected by the user are applied.
[0017] The one or more matching transformation rules may comprise implicit transformation rules identified by correlating characteristics of accepted transformation rules of the user with characteristics of one or more additional transformation rules in the transformation rules data store. Such correlation may comprise computing a weighting value for each of the additional transformation rules, based on characteristics of accepted transformation rules and of the additional transformation rules, and treating the additional transformation rule as an implicit transformation rule if the weighting value exceeds a predetermined threshold.
[0018] The method may further comprise presenting to the user, via the client application, details of one or more of the implicit transformation rules. The web experience platform application may receive from the user, via the client application, a preference response comprising an indication of user affinity with a presented implicit transformation rule.
[0019] The method may also comprise maintaining a record of a number of times that an implicit transformation rule has been applied and, in the event that the number exceeds a threshold, treating the implicit transformation rule as an inferred transformation rule. In other words, in the case that a user permits repeated application of the implicit transformation rule, and does not reject or otherwise indicate a negative affinity with the implicit transformation rule, it may be inferred that the user has a positive affinity with the implicit transformation rule.
[0020] Inferred transformation rules may be employed, alternatively or in addition to accepted transformation rules when performing correlations to identify matching transformation rules and/or identifying suggested transformation rules.
[0021] In another aspect, the invention provides a method for assisting a first user with a personalised web experience, the method comprising:
receiving, from a client application operated by the first user, a request for assistance in modifying web-based content retrieved from a remote server accessible via a data network and identified by a server address;
WO 2017/045026
PCT/AU2016/050860 creating an assistance task record within an assistance system database; receiving, from a further client application operated by a second user, an assistance reply responsive to the assistance task record, wherein the assistance reply comprises at least a reference to one or more transformation rules corresponding with the requested assistance;
subsequently receiving, from the client application operated by the first user, a request to retrieve the web-based content from the remote server;
forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; processing the received web-based content by applying at least the one or more transformation rules to generate transformed content; and transmitting the transformed content to the client application.
[0022] In a further aspect the invention provides a computer program product comprising a computer-readable storage medium containing stored instructions which, when executed by a corresponding processor, implement a web experience platform application configured to perform a method for providing a user with a personalised web experience, the method comprising:
receiving, from a client application operated by the user, a request to retrieve web-based content from a remote server accessible via a data network and identified by a server address;
forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; correlating characteristics associated with the user retrieved from a characteristics data store with properties of transformation rules retrieved from a transformation rules data store to identify one or more matching response transformation rules;
processing the received web-based content by applying the matching response transformation rules to generate transformed content; and transmitting the transformed content to the client application.
[0023] In still another aspect the invention provides a computer program product comprising a computer-readable storage medium containing stored instructions which, when executed by a corresponding processor, implement a web experience server
WO 2017/045026
PCT/AU2016/050860 platform configured to perform a method comprising:
receiving, from a remotely-executing web experience platform application, a request to retrieve characteristics associated with a user from a characteristics data store;
receiving, from the remotely-executing web experience platform application, a request to retrieve transformation rules from a transformation rules data store;
retrieving the requested user characteristics from the characteristics data store;
retrieving the requested transformation rules from the transformation rules data store;
transmitting the retrieved user characteristics to the remotely-executing web experience platform application; and transmitting the retrieved transformation rules to the remotely-executing web experience platform application, whereby the remotely-executing web experience platform application is enabled to correlate the user characteristics with properties of the transformation rules to identify one or more matching transformation rules to be applied to request and/or response data so as to provide the user with a personalised web experience.
[0024] A ‘processor’, in the context of the present invention, may refer to physical hardware (e.g. a microprocessor or CPU), to a virtual machine, interpreter or emulator executing on physical hardware, or to any other combination of hardware and/or software configured to execute stored instructions. Such stored instructions may include machine code, scripts, byte code and other elements, statements, commands and so forth that are capable of execution by a suitably-configured processor. As will be appreciated by the skilled person, choices such as hardware and software architecture, and language are a matter of design, and may be influenced by many factors additional to the particular functionality that is to be implemented. It will therefore be understood that the present invention is not limited to any particular set of such choices.
[0025] Further aspects, features, benefits and applications of embodiments of the invention will be apparent from the following detailed description, which is provided by way of example in order to illustrate the principles of the invention, and should not
WO 2017/045026
PCT/AU2016/050860 otherwise be taken to limit the scope of the invention as defined in any of the preceding statements, or in the claims appended hereto.
BRIEF DESCRIPTION OF THE DRAWINGS [0026] Embodiments of the invention will now be described with reference to the accompanying drawings, wherein like reference numerals represent like features, and in which:
Figure 1 is a schematic diagram illustrating a networked system embodying the invention;
Figure 2 is a block diagram of an exemplary system architecture embodying the invention;
Figure 3 is a flowchart of a method of providing a user with a personalised web experience embodying the invention;
Figure 4 is a flowchart of a method of identifying transformation rules embodying the invention;
Figure 5 is a flowchart of a method of learning user characteristics embodying the invention;
Figure 6 shows a section of a browser display including an exemplary overlay embodying the invention;
Figure 7 shows a personalised web experience editing menu embodying the invention;
Figure 8 shows a sub-menu of the menu of Figure 7;
Figure 9 shows a further sub-menu of the menu of Figure 7;
Figure 10 shows a section of an assistance form according to an embodiment of the invention;
Figure 11 illustrates an assistance process embodying the invention;
Figure 12(a) and 12(b) are graphs illustrating exemplary Trait and Profile relationships, respectively, according to an embodiment of the invention; and
Figure 13 shows an exemplary transformation rule script according to one embodiment of the invention.
WO 2017/045026
PCT/AU2016/050860
DETAILED DESCRIPTION OF EMBODIMENTS [0027] The following disclosure is intended to exemplify the principles underlying the present invention by way of one or more particular embodiments. To this end, systems and methods generally embodying the invention will first be described, in order to exemplify features, principles and characteristics of the invention in a broader sense. Following this more general description, details of a particular exemplary embodiment will be described in order to provide the skilled reader with a particular example of how the more general principles of the invention may be put into practical effect. However, it will be appreciated that the invention is not limited to any particular embodiment that may be described herein, in respect of which numerous variations will be apparent to persons skilled in the art. Rather, the scope of the invention is as defined in the claims appended hereto, encompassing the general technical features and aspects of the invention according to which particular embodiments may be implemented.
[0028] Turning firstly to Figure 1, there is shown a block diagram illustrating a networked system 100 embodying the invention. The system 100 employs a communications network 102 for messaging between various components and devices, each of which generally comprises one or more computing devices such as servers, desktop computers, other personal computers, tablet computers, other portable computing devices, all being capable of connecting to and communicating via the network 102. Typically, the network 102 is the Internet, but may be a less-extensive network, such as a local area network or corporate intranet. The network 102 may comprise a mix of technologies, including one or more of wired networks (e.g. Ethernet) and/or wireless networks (e.g. Wi-Fi or cellular mobile data networks).
[0029] As is well-known, the Internet, or other network 102, provides access to numerous servers 104, which for present purposes may be viewed as web content sources. The servers 104 may therefore comprise web servers facilitating access to any form of web-based content available to end-users via the Internet or other data network 102.
[0030] The system 100 further includes a web experience platform server 106 embodying the invention. The web experience platform server 106 is accessible via the
Internet 102 from a variety of suitable client devices, exemplified by a desktop computer
WO 2017/045026
PCT/AU2016/050860
108 and associated input/output peripherals 110, such as a keyboard, display and pointing device, which may be operated by a user in order to control as suitable client software application, such as a web browser. It will be appreciated that while the exemplary system 100 is described, for convenience, with reference to a desktop client device 108, the invention is not limited to any particular type of client device. A web experience platform embodying the invention may be accessed from a range of client devices, including portable computers (e.g. notebook PCs) and mobile devices, such as tablets and smartphones.
[0031 ] The web experience platform server 106 may generally comprise one or more computers, and in particular may be implemented using a cluster of computing processors, which may be located at a single data centre, or distributed over a number of geographic locations. For simplicity in describing the concepts and operation of embodiments of the present invention, reference will be made to a single exemplary processor 112 of the web experience platform server 106, which is representative of a collection of such processors that may be employed in practical and scalable embodiments of the invention.
[0032] The (or each) processor 112 is interfaced to, or otherwise operably associated with, a non-volatile memory/storage device 114. The non-volatile storage 114 may be a hard disk drive, and/or may include a solid-state non-volatile memory such as read only memory (ROM), flash memory, or the like. The processor 112 is also interfaced to volatile storage 116, such as random access memory (RAM) which contains program instructions and transient data relating to the operation of the web experience platform server 106. In a conventional configuration, the storage device 114 may contain operating system programs and data, as well as other executable application software necessary for the intended functions of the web experience platform server 106. The storage device 114 may also contain program instructions which, when executed by the processor 112, enable the web experience platform server 106 to perform operations relating to the implementation of a web experience software platform embodying the invention. In operation, instructions and data held on the storage device 114 are transferred to volatile memory 116 for execution on-demand.
[0033] The processor 112 is also operably associated with a network interface 118 in a conventional manner. The network interface 118 facilitates access to one or more
WO 2017/045026
PCT/AU2016/050860 communications networks, such as the Internet 102, employed for communication between the web experience platform server 106, user devices 108, and other Internetconnected services.
[0034] In use, the volatile storage 116 includes a corresponding body 120 of program instructions configured to perform processing and operations embodying features of the present invention, and comprising various steps in the processes described below with reference to the accompanying block diagrams, flowcharts, equations and other illustrative materials. Furthermore, in the presently described embodiments, the program instructions 120 include instructions implementing communications with a web experience platform application executing on the client’s device 108. These communications enable the exchange of data, including user characteristics transformation rules (e.g. scripts), and other information to be communicated between the web experience platform server 106 and the web experience platform application executing on the user device 108.
[0035] The program instructions 120 may further include instructions embodying a web server application. Data stored in the non-volatile 114 and volatile 116 storage may then include web-based code for presentation and/or execution on the user device 108. The web-based interface may, for example, enable a user of the device 108 to access account information, user preference information, scripting development tools, and/or other information or administrative functions provided via the web experience platform server 106.
[0036] The processor 112 is also operably associated with a further interface 122, such as a storage area network (SAN) interface providing access to large-scale storage facilities 124. The storage facilities 124 may be located at the same site as the web experience platform server 106, or may form part of a remote and/or distributed database accessible via the Internet 102, or other communications networks. The storage interface 122 may be a separate physical interface of the web experience platform server 106, or may be a virtual interface implemented via the physical network interface 118. These and other mechanisms for providing and accessing large-scale storage 124 will be apparent to persons skilled in the relevant arts.
[0037] The large-scale storage 124 is used to store, access, update and maintain databases employed by the web experience platform server 106. Further details of data
WO 2017/045026
PCT/AU2016/050860 stores employed by embodiments of the invention are described below with reference to Figure 2, and the use and general contents of these data stores will be apparent from subsequent more-detailed descriptions of embodiments of the invention.
[0038] Turning now to the user device 108, this is generally a conventional computing device comprising one or more processors or processor cores 126, which are interfaced to, or otherwise operably associated with, non-volatile storage 128 and volatile storage 130. A network interface 132 enables applications executed by the processor 126 to access content and services via the Internet 102.
[0039] The storage device 128 typically contains operating system programs and data, as well as other executable application software necessary to the intended use and functions of the user device 108. The storage device 128 may also contain program instructions which, when executed by the processor 126, enable the user device 108 to perform operations relating to the implementation of a web experience platform application embodying the invention. In operation, instructions and data held on the storage device 128 are transferred to volatile memory 130 for execution on demand.
[0040] In use, the volatile storage 130 includes a corresponding body 134 of program instructions configured to perform processing and operations embodying features of the present invention, and more particularly implementing a web experience platform application which provides an interface between a client application, such as a web browser, and the Internet 102, as will be described in greater detail below with reference to Figure 2.
[0041 ] Accordingly, turning now to Figure 2 there is shown a block diagram 200 of an exemplary system architecture embodying the invention. The system comprises a web experience server platform 202 which executes on the server 106, and which manages a data store of user settings, characteristics or preferences 204. The server platform 202 further manages a data store 206, which comprises transformation rules configured to define transformations to be applied to web content so as to provide users with a personalised web experience. In exemplary embodiments, the transformation rules are implemented in the form of scripts, enabling new rules to be developed and implemented by users, either by direct authoring of scripts in a scripting language, or by use of automated or semi-automated script building interfaces that enable at least some
WO 2017/045026
PCT/AU2016/050860 basic functionality to be implemented by users who do not necessarily have the specialised technical skills required to conduct development in the scripting language.
[0042] In exemplary embodiments, the user characteristics 204 include properties called ‘traits’ and ‘profiles’. While these will be described in greater detail with reference to a specific embodiment, for present purposes a trait may be considered as a binary value specifying whether or not a user may be characterised by a corresponding attribute. A profile then comprises one or more grouped traits, i.e. is a set of binary values representing corresponding user attributes. A profile may further comprise other profiles.
[0043] Such traits and profiles may also be associated with transformation rules, i.e. scripts, maintained within the data store 206. Accordingly, for example, where traits associated with a particular transformation rule, or set of transformation rules, correspond with traits associated with a particular user, the system 200 may determine that the transformation rule should be applied in the course of delivering a personalised web experience to that user.
[0044] In addition to traits and profiles, transformation rules may also be associated with ‘categories’ and ‘locators’. Again, a more-detailed discussion of categories and locators will be provided with reference to a specific embodiment of the invention, but for present purposes a category may be regarded as a tag or reference corresponding with a grouping of transformation rules, while a locator comprises web location, environment and context information. The location may include one or more of a domain name, an Internet address, a URI, a URL or a URN, and may include wildcards. In this way, transformation rules may be associated with particular pages, sites or groups of sites, for example. Locators may further comprise temporal information, e.g. one or more time values defining corresponding time periods, as well as a range of further environment/context information, such as device type, connectivity type, geographic location, execution environment, user agent parameters, and so forth.. In this way, the application of a transformation rule may be made dependent upon, for example, a particular site or page that is being accessed, a time at which such access occurs, and/or a range of other environment/context parameters.
[0045] The web experience server platform may also comprise further software components 208, implementing such functions as management of the data stores 204,
WO 2017/045026
PCT/AU2016/050860
206, an application programming interface (API), the main server engine, and associated logic.
[0046] Additionally, a web server 210 is implemented, in order to provide user access to services of the server platform, such as administration and script development functions, which may execute on the same processor or cluster as the server platform 202, or may be separately implemented.
[0047] Turning now to the user device 108, the user may operate the device to control a conventional client application, such as a web browser 212. However, rather than communicating directly with web servers 104 via the Internet 102, the browser application 212 communicates with a web experience platform application 214. As will be appreciated, this redirection of access is readily implemented in modern browsers and operating systems by configuring a web proxy. Accordingly, the platform application 214 provides associated session management, caching, and so forth, as well as implementing transparent proxy/web server functionality 216. As will be appreciated, it is not necessary that the web experience platform application 214 reside on the same physical device as the web browser 212, or other client application. A web proxy can be configured which resides on any network-accessible device, either on a local network (e.g. a server or desktop computer connected to a local area wired or wireless network), or on a remote server accessible via the Internet 102. In particular, in the case that a user access the web experience platform via a mobile device, such as a tablet or smartphone, it may be more practical and convenient for the platform application 214 to reside on a separate PC or server rather than on the mobile device.
In any event, all such arrangements should be understood to fall within the scope of the present invention.
[0048] It is via the above-mentioned components of the platform application 214 that the application receives requests to retrieve web-based content from the browser application 212, forwards these requests to a corresponding remote server 104, receives the requested web-based content via the Internet 102, and is then able to process the received content by applying suitable transformation rules retrieved from the data store 206 of the server platform 202. It will be appreciated that while the browser application in the presently-described embodiment is a conventional web browser having a user interface and operated by an end-user, the browser application is
WO 2017/045026
PCT/AU2016/050860 not limited to this particular embodiment. In other embodiments and configurations, browser applications may include a wide range of web clients and user agents that employ web protocols (e.g. HTTP, HTTP/2, HTTPS) for communication and web markup and/or scripting languages (e.g. HTML, HTML5, CSS, JavaScript) for description and definition of layout, content and functionality.
[0049] The identification, selection and application of transformation rules, i.e. scripts, is implemented via a framework component 218 of the web experience platform application 214. The framework 218 includes a learning engine, management functions, and a scripting interface, and employs services of an API and scripting engine 220. The scripting engine, in particular, executes compiled scripts in order to implement transformation rules so as to generate transformed web content, which is transmitted to the web browser application 212. In this way, the user is provided with a personalised web experience based upon the transformation rules that are applied, which are in turn dependent upon identifying correlations between user characteristics (e.g. traits and profiles) and corresponding properties of the transformation rules, in combination with the other determining properties, such as categories and locators.
[0050] Figure 3 is a flowchart 300 showing a method of providing a user with a personalised web experience embodying the invention. In particular, the method represented by the flowchart 300 is implemented by the web experience platform application 214. As noted above, the application 214 acts as a transparent proxy which mediates all communications between the client browser application 212 and web servers 104.
[0051] Accordingly, at step 302 the web experience platform application 214 receives a web content request 302 from the browser application 212. While transformation rules are most easily understood in terms of the transformations they may perform on content received in response to the request 302, they may also perform actions upon receipt of a web content request. Such actions may involve transformations of the request itself and/or the generation of responses, e.g. scripting instructions or other actions, back to the browser application 212. Accordingly, at step 303 the application 214 identifies any relevant transformation rules that are to be applied in response to the received request 302, and at step 304 any such rules are executed and/or applied.
WO 2017/045026
PCT/AU2016/050860 [0052] At step 305 the request is forwarded to the relevant web server 104. From the perspective of the web server 104 the request originating at the web experience platform application 214 is no different from any other corresponding request received from a client application, and the requested content is therefore served and received, at step 306, by the web experience platform application 214.
[0053] In the next step, 308, the application 214 identifies any relevant transformation rules that are to be applied to the received content. This identification is based upon user characteristics and/or transformation rule/script properties retrieved from the data stores 204, 206 maintained by the server platform 202.
[0054] At step 310 the transformation rules are applied. In the exemplary embodiment, as shown in Figure 2, application of the transformation rules involves execution of the identified scripts by a scripting engine of the web experience platform application 214, resulting in possible modifications to the received web content, thereby personalising the web experience of the user of the browser application 212. Finally, at step 312 the transformed content is transmitted to the browser application 212.
[0055] Further details of the identification step 308 are illustrated in the flowchart of Figure 4. It should be noted that this flowchart, along with others shown and described in this specification, is intended to be illustrative and not normative. Accordingly, various steps may be performed at different times, or (where applicable) in different sequences from those shown in the flowcharts. Furthermore, certain steps may be optional and/or may be omitted in particular implementations of the invention.
[0056] As shown in Figure 4, identification of transformation rules 308 firstly involves accessing user characteristics 402, which are maintained in the data store 204. The user characteristics and preferences may include specifically identified active transformation rules which the user has previously selected to be applied to web content. Accordingly, at step 404 any such active transformation rules are identified from the user preferences.
[0057] Another way in which transformation rules may be identified is by inference from past user behaviour. In particular, a certain transformation rule may have been applied on a number of previous occasions, and even though the user has not explicitly selected or rejected this rule, the lack of action may ultimately enable the system to infer
WO 2017/045026
PCT/AU2016/050860 that the user has a preference for application of the rule. Accordingly, such rules may be identified at step 406.
[0058] At step 408 implicit transformation rules are identified, based upon existing user characteristics, such as traits and profiles. According to embodiments of the invention, users do not directly set specific traits or profiles, but rather provide the system with information regarding general preferences (e.g. as part of an initial setup process), as well as selecting or rejecting transformation rules that may be suggested or applied automatically by the system. Such selections or rejections by the user may be employed to implicitly determine user characteristics and preferences, and to establish corresponding traits and profiles. Correlation of these user characteristics with corresponding properties of individual transformation rules enables implicit identification of transformation rules at step 408.
[0059] At step 410 any relevant location information is applied. Accordingly, if a particular identified rule has a locator that indicates that the rule is not applicable to the current web site, at the current time, or in the current environment/context, such transformation rules will be discarded for the present identification process.
[0060] At step 412 transformation rules are selected from those identified which are to be applied to the current web content. Additionally, at step 414, one or more identified transformation rules may be selected to be suggested to the user. This suggestion process may be triggered by transformation rules that have some correlation with user characteristics (e.g. traits and profiles), but the correlation does not satisfy a threshold for automatic application. In this case, the user may be presented with an option, along with the transformed web content, to apply the suggested transformation rules. If the user applies, and likes, the suggested transformation rules, then the user may be enabled to select these rules for future application to all relevant web content.
[0061 ] At step 416, the transformation rules to be applied, and any transformation rules to be suggested, are returned for use within the main process 300.
[0062] Turning now to Figure 5, there is shown a flowchart 500 illustrating a method of learning user characteristics according to embodiments of the invention. This process follows on from the identification of suggested transformation rules, as discussed above with reference to Figure 4. In particular, as has been noted the
WO 2017/045026
PCT/AU2016/050860 suggested transformation rules may be presented to the user, for example in an overlay to the presented web content in the browser application 212, thereby enabling the use to apply (e.g. ‘try out’) the suggested rules, and optionally to accept or reject the suggested rules for future applications to all relevant web content. As such, at step 502 the selection or confirmation of user preference for a particular transformation rule is received. At step 504, properties associated with the selected rule are identified, such as corresponding user traits or profile information. At step 506 this information is used to update the user characteristics. In this way, properties associated with particular information rules accepted by the user are employed to learn user trait and profile information. In this way, the system gradually learns user preferences for the application of transformation rules, and thus works towards providing a deeper, more consistent, and universal personalised web experience for each individual user.
[0063] Figure 6 is a section of a browser display showing an exemplary overlay 600. The overlay can be generated by the web experience platform application 214, and ‘inserted’ into content delivered to the browser 212 in the form of dynamic scripting instructions, e.g. JavaScript code. The overlay 600 includes indications of the number 602 of transformation rules currently applied to the displayed content, as well as the number 604 of available suggested transformation rules. Applied rules may be those that have previously been explicitly approved or selected by the user, as well as those that have been inferred or implied by those selections (i.e. traits and profiles) and previous behaviour. By selecting the displayed elements 602, 604, the user can view details of the applied and suggested transformation rules. The user can then try out, explicitly suggest or explicitly reject any of these rules. In this way the system ‘learns’ user characteristics, as have been described above.
[0064] The overlay 600 also includes a button 606 to enable the user to enter an ‘editing’ mode, to select and apply new transformation rules to the current content. The overlay also includes a ‘help’ button 608, and further controls 610 for accessing additional functions and settings.
[0065] Figure 7 shows an ‘editing’ menu 700 that is available when the user enters the editing mode by selecting the button 606. In the example shown, the user has selected a ‘French’ language option, and then right-clicked (or equivalent) to bring up
WO 2017/045026
PCT/AU2016/050860 the menu 700. The menu 700 includes a number of options 704 for applying transformations to the selected content.
[0066] As shown in the display section 800 of Figure 8, the user has chosen to open up the ‘Selecting’ sub-menu 804, from which ‘include more items’ has been selected. The system, through the dynamic scripting code, has identified and highlighted the group of related language options 806 based upon content properties (e.g. these items may all be enclosed within a common HTML <div> element, or may include other identifying mark-up).
[0067] In a subsequent step 900, shown in Figure 9, the user has selected a ‘deleting’ option 902, which is used to apply a corresponding deletion transformation rule. Options for the rule are selected via a sub-menu 904, which include the ability to trigger deletion based upon one or more identified words or phrases. In this case, however, the user does not speak any foreign languages, and would therefore prefer that language options are always removed from content pages to reduce unnecessary clutter. The user has therefore elected an ‘always’ option 904. The menu also enables location information to be provided 906 so that, for example, the new rule is applied only to the current page, or may be defined as applying to other pages in which similar content is identified.
[0068] Figure 10 shows a section of a ‘help’ form 1000 that is called up when the user selects the ‘help’ button 608. The ‘help’ function may be invoked, for example, when the user is unable to resolve an issue with a content page by themselves, e.g. via the functions available from the menu 700. This may be because the user lacks the necessary skills to configure the desired transformation from the menu 700, or it may be because the transformation is not one that can be achieved using the subset of functions available via the menu 700. A scripting language provided in embodiments of the invention enables a very wide range of transformation rules and actions to be implemented, however use of the scripting language to implement sophisticated transformation rules is likely to be beyond the technical capabilities of many ordinary users. Accordingly, the help system implemented in embodiments of the invention provides a mechanism for users to obtain assistance when they are unable to achieve a desired outcome for themselves. The assistance may ultimately be provided by friends, family, other members of the user community, by expert users, or by paid developers.
WO 2017/045026
PCT/AU2016/050860
Depending upon the user requirements and source of assistance, help may be provided at no charge, or may be provided as a paid service. The assistance process is described in greater detail below with reference to Figure 11.
[0069] The help form 1000 provides fields for selection of a category 1002 of assistance, a link 1004 to the page on which the user’s issue has arisen, and a text field 1006 for entry of a description of the issue. For example, a user with a vision impairment may require images to include ‘alt’ text for use by screen-reader software, but may have encountered a page on which such mark-up is not provided. In this case, a help request may be submitted for ‘alt’ text to be added, and a member of the user community may subsequently act on the request by creating a transformation rule for the page that adds appropriate ‘alt’ text to the image elements.
[0070] An overall assistance process 1100 embodying the invention is shown in Figure 11. As discussed above, with reference to Figure 10, in the course of browsing the web a user identifies an issue and uses the help system to request assistance 1102. This causes a job request to be created 1104, and stored within a help system database 1106 maintained by the server 106. Other users (e.g. friends, family, community members, paid developers etc) can access the help system 1108 and/or receive notifications of new assistance requests.
[0071 ] Once a suitable ‘fix’ has been developed 1110, the corresponding preferences are applied 1112 back to the requesting user. Additionally, the solution may involve the creation of new or modified transformation rules, traits or profiles that can optionally be published or shared 1114 to the main repository maintained in storage 124.
[0072] As will be appreciated from the above discussion, the assistance process implemented by embodiments of the invention enables communities of users to create and share customised browsing experiences, and to resolve issues and annoyances with particular web sites or pages independently of the site operators and/or developers. While this may be extremely beneficial to particular communities of users, such as those with accessibility requirements, the process also has potential for uses and abuses that may be of concern to some web site operators. For example, transformations applied to a page or site may modify content in offensive or undesirable ways, and be potentially harmful to the reputation or branding of a site owner. Accordingly, in a practical
WO 2017/045026
PCT/AU2016/050860 embodiment the steps of applying 1112, and particularly publishing 1114, contributed ‘fixes’ may be subject to a review and approval process by a human operator.
[0073] The disclosure now turns to a more-detailed description of a specific implementation of the general features described above with reference to Figures 1 to 5. This description includes specific mathematical algorithms, data types, scripting syntax and language, and other particular features that, as will be appreciated by the skilled person, comprise implementation details. Many such implementation details are matters of design or software engineering choice, and/or may be developed to evolve, change or improve over time, in order to put the general features and processes embodying the invention into better effect. This detailed description should therefore be regarded as illustrative, rather than normative, and is not intended to represent or suggest that this is the only possible implementation of a system embodying the invention.
[0074] The following glossary defines a number of terms that are used consistently in describing the specific exemplary embodiment of the invention.
[0075] A ‘Trait’ is a single defining characteristic, feature or quality that is associated with a Character interacting with the Internet. Traits comprise binary values, i.e. a user either possesses a trait, or they do not. For example:
• Values Privacy Online (Yes or No) • Likes advertising (Yes or No) [0076] Differing degrees of a characteristic can be defined using a selection of multiple Traits, for example:
Is deaf (Trait 1) (Yes or No)
Has profound hearing loss (Trait 2) (Yes or No)
Has hearing impairments (Trait 3) (Yes or No)
Is blind (Trait 4) (Yes or No)
Is colour blind (Trait 5) (Yes or No)
Has vision impairments (Trait 6) (Yes or No)
Has advanced Internet proficiency (Trait 7) (Yes or No)
Has average Internet proficiency (Trait 8) (Yes or No)
WO 2017/045026
PCT/AU2016/050860 [0077] A ‘Profile’ comprises a group of Traits. The value associated with a Profile is, again, binary. Accordingly, a Profile also comprises a profile rule that determines the condition under which the Profile as a whole is ‘true’ or ‘false’. For example for a Profile condition to be true it may require all Traits to be true, or require one or more Traits to be true. In general, Boolean logic may be employed to define the Profile condition when the Profile is defined.
[0078] For example Profiles for disabilities may be defined as follows:
• Profile 1: Has hearing disabilities = (Trait 1) OR (Trait 2) OR (Trait 3) • Profile 2: Has vision disabilities = (Trait 4) OR (Trait 5) OR (Trait 6) • Profile 3: Is Deaf-Blind = (Trait 1) AND (Trait 4) [0079] Providing that the Profiles aren’t cyclic. It is possible to refer to other Profiles as well as Traits when forming new Profiles. For example:
• Profile 4: Has Hearing and Vision disabilities = (Profile 1) AND (Profile 2) • Profile 5: Has advanced Internet proficiency with vision disabilities = (Profile 2) AND (Trait 7) [0080] A ‘Character’ is defined by a set of Traits and/or Profiles. Two Characters are identical if, and only if, they comprise the exact same Traits and Profiles at the same Locators (see below for Locators definition). The exemplary embodiment may comprise a concept of a ‘Dumb User’ as having no known Traits and/or Profiles.
[0081 ] A user with one or more known Traits and/or profiles is termed a ‘Character’.
[0082] Traits and Profiles may dynamically change and evolve. Characters can acquire new Traits and/or Profiles and deprecate existing Traits and/or Profiles, and each of these may depends on a Locator (see below). The web experience engine continuously learns user preferences and forms new impressions on the Character.
[0083] Mathematically the exemplary embodiment can obtain an ‘impression imprint’ of each Character which can be used to determine mathematically the Traits and Profiles that currently form the Character, and apply this knowledge to further enhance their Web experience.
[0084] A ‘Locator’ identifies where and when the Traits and/or Profiles are defined for the Character. Accordingly, while Characters may have specific dominant Traits
WO 2017/045026
PCT/AU2016/050860 and/or Profiles, these may be subject to variations according to a location and context (e.g. web page, site of group of sites, and associated time period, device type, connectivity type, geographic location, execution environment, user agent parameters, and/or other environment/context parameters.). For example, a user’s desire to simplify content on a particular website may apply only to that site, or even to a single page, may depend upon the type of device being used to access the site, and/or may depend upon their geographic location, such as whether or not they are at home. Locators can thus define combinations of ‘when’, ‘where’, and in what context to activate ‘recessive’ Traits and/or Profiles.
[0085] Locators may employ various mechanisms to identify relevant context, which are identifiable using such parameters as web address, web content, user/device environment and so forth, and may include wildcards. For example (the following list is not intended to be limiting):
• ‘Everywhere’ (i.e. wildcard “*’) • Match on cookies or protocol headers • Embedded content in payload • Document type or content type • A website domain or sub-domain • A particular page • Content on a page • Device type, e.g. ‘laptop’, ‘iPad’, ‘tablet’, ‘desktop’, Other’ • Connectivity type, e.g. ‘WiFi’, ‘Mobile’, ‘LAN’, ‘WAN’, Other’ • The system host environment ecosystem, e.g. loT (Internet of Things, e.g. in cars, electronic appliance interface, etc) or conventional Internet connection, e.g. ‘loT:Car’, ‘loT:Appliance’, ‘conventional Web browser’, Other’ • Geographic location of user/device, e.g. ‘GPS: Home’, ‘GPS: Work’, ‘GPS: Travel’, ‘Country’, Other’ • User device screen size, e.g. ‘small’, ‘large’, ‘width x height, Other’ • Browser/renderer type (from user agent string), e.g. ‘ie’, ‘edge’, ‘firefox’, ‘chrome’, ‘agent, ‘viewer1, Other’.
[0086] ‘Interactions’ are the actions a user/Character undertakes when engaging with the Internet. This includes viewing and reading content as well as navigating
WO 2017/045026
PCT/AU2016/050860 through web content via clicks or through web actions. Interactions may trigger the application of transformation rules according to a Character’s Traits, Profiles and
Locators.
[0087] The term ‘Reactor’ is used in the exemplary embodiment as a particular implementation of the transformation rules described previously, with reference to Figures 1 to 5. The exemplary embodiment is configured to provide Reactors that are targeted for each Character and Locator. An ‘ideal’ Reactor is aligned and matched with the Characters personal Traits and/or Profiles. As Traits and/or Profiles evolve through the learning capability of the system, the Reactors that are applied in response to interactions may also change.
[0088] A Category groups Reactors according to a broad generic ‘topic’. For example, consider a user/Character who wishes to personalise their web experience with enhanced privacy. There may be only a small number of Reactors that relate to privacy, and these Reactors may be associated with different Traits and Profiles such that a preference of the user for one privacy Reactor is insufficient for the system to infer that the user may wish to employ certain other Reactors also relating to privacy, or to identify such Reactors. Applying a common Category across related Reactors enables these groups, and general overall Traits and/or Profiles across generic topics, to be identified.
[0089] The exemplary embodiment carefully chooses popular Category topics that enable grouping of most common Traits and/or Profiles from a high level. Categories are assigned to Reactors and may additionally be assigned to Packages. Categories are assigned when the Reactors are created. In the exemplary embodiment a manual review process ensures that Categories are appropriately assigned to Reactors. A user cannot alter or change Categories.
[0090] A ‘Package’ is a collection of Reactors. Packages may be used to collect Reactors together for group application, for purposes such as sharing with other users or because the Reactors provide enhanced value when grouped together.
[0091] A Package can also be formed by looking at common Traits and/or Profiles for a single Character or formed across a set of Characters. Such Packages may
WO 2017/045026
PCT/AU2016/050860 represent ‘archetypes’ for a set of standard/default Characters that can be used. For example, to create initial sets of characteristics and preferences for new users.
[0092] Consider, for example, a user who is completely blind. A Package labelled ‘completely blind’ may be created which comprises the common Traits and/or Profiles derived from other users having this same characteristic. The ‘completely blind’ Package can then be used as the basis for the user’s initial set of characteristics and preferences, thus ‘jump-starting’ their personalised web experience with Traits and/or Profiles that are more closely aligned to their requirements.
[0093] Users may select packages from a library based on their own preferences across different Categories.
[0094] A ‘Preference’ is an explicit indication of positive or negative response of a user to a Reactor. As will be appreciated from the further discussion which follows, there are many opportunities for users to indicate Preferences in relation to Reactors while interacting with the exemplary embodiment. Traits and/or Profiles for a user/Character are, in practice, derived from Preferences. Users never interact directly to set individual Traits or Profiles, and indeed these aspects of the system are hidden from ordinary users.
[0095] An ‘Implicit Preference’ refers to Traits and/or Profiles contained within a Reactor that is currently assigned no Preference by a user which becomes enabled due to the underlying Traits and/or Profiles associated with a Reactor for which the user has provided a positive or negative Preference..
[0096] An ‘Implicit Reactor’ corresponds with inferred transformation rules described previously, with reference to Figures 1 to 5. Implicit Reactors are made available to the Character and automatically activated based on the calculation on implied characteristic Traits and/or Profiles. Further details of these calculations are provided below.
[0097] A ‘Suggested Reactor’ may be identified when the calculation of implied characteristic Traits and/or Profiles indicates some affinity for the Reactor, but the level is insufficient to trigger an Implicit Reactor. While the Suggested Reactor cannot be automatically activated in this scenario it may be presented to the user as an option, e.g. via an overlay on a rendered transformed web page. The user then has an option to trial the Suggested Reactor, and to enter a Preference.
WO 2017/045026
PCT/AU2016/050860 [0098] By offering possible Reactors that may match to the Character and having the Character Interacting by testing, refusing or accepting, enables the engine to learn further Character Traits and Profiles.
[0099] A ‘Perceived Reactor’ is derived from an Implicit Reactor which has been applied many times with the Character without being accepted or rejected. In other words the absence of an action over a period of time means that it is ‘perceived’ that the Character has a positive preference the Reactor. Thus user behaviour over time can be used to learn further user Preferences, Traits and Profiles.
[0100] A ‘Mutating Reactor’ is a Reactor that changes due to interaction by the Character and the web experience Platform. For example, some Reactors can be defined as generic Reactors but, based on circumstances, or conditions, or interactions by the Character the Reactor may be refined based on these factors.
[0101 ] A ‘Derived Reactor’ is a Reactor that is derived from one or more other Reactors. This provides the ability to reuse Reactors to extend the Reactor functionality. A Derived Reactor may comprise a Mutating Reactor.
[0102] Traits are calculated by from Preferences on Reactors. However Implicit Reactors play a role when forming Perceived Reactors. A ‘Perceived Trait’ refers to a Trait which is determined by factoring in a Character’s Preferences on Reactors as well as Traits from Perceived Reactors.
[0103] Profiles are calculated from Preferences on Reactors. However Implicit Reactors play a role when forming Perceived Reactors. A ‘Perceived Profile’ refers to a Profile which is determined by factoring in a Character’s Preferences on Profiles as well as Profiles from Perceived Reactors.
[0104] ‘Popularity’ of Traits and/or Profiles can be calculated based on Popularity with existing Characters. In other words Reactors comprising common Traits and/or Profiles can be ranked by Popularity. Users may be provided with an interface to find and trial and/or accept Reactors, and it may be useful to rank Reactors based on similar Traits and/or Profiles by popularity to see what is favourable amongst other Characters.
[0105] ‘Metrics’ provide a mechanism to measure the web experience system based on what the exemplary embodiment has learnt. This includes:
WO 2017/045026
PCT/AU2016/050860 • Determining the Character imprint impressions based on the Traits and/or Profiles obtained from Interaction with Reactors.
• Determining the Locators that pinpoint underlying problems from Characters Interactions. For example: it would be possible to determine that multiple Characters are having problems with a given website based on Character impressions.
• Determining similar and different Characters.
• Determining which Reactors, Packages, Traits and I or Profiles are popular.
[0106] Metrics may take account of Historic information and Trends. This enhances the value of the information and enables a deeper insight into a Character.
[0107] ‘Character Impressions’ are calculated by determining the overall effect the Character with Traits and Profiles based on the Preferences on any Reactor at any Locator.
[0108] ‘Historic’ refers to storing the Preferences and Character Impressions over a period of time. This is needed because it enables the ability of Trends which can be factored into the logic for determining a more accurate Metric on the Character’s Implicit Preference, Implicit Reactors and Suggested Reactors.
[0109] ‘Trends’ use the Historic information of Metrics to determine how the Preferences and Character Impressions are trending across Categories and Locators. Digging deeper will link to the Profiles and Traits of a Character.
[0110] Trends may be factored in when determining the Character’s Implicit Preference, Implicit Reactors and Suggested Reactors.
[0111] For example: in a short period a Trend in relation to ‘social networking’ Traits may have increased across Locators that contain social sharing aspects within a website. This will imply that the Character has a higher affinity with social networking related issues. These issues can then be addressed as a high priority when determining the Character’s Implicit Preference, Implicit Reactors and Suggested Reactors, to ensure that the Character’s user experience requirements are met rapidly.
[0112] It is expected that the exemplary embodiment will evolve. It is impossible to foresee what is considered as valuable, the growth direction and identify future
WO 2017/045026
PCT/AU2016/050860 opportunities within the platform. This can only be facilitated by looking at past Historic data and Trends and observing ‘Patterns’.
[0113] Patterns are a way to determine, analyse and forecast platform changes and aid the platform growth. For example, there may be multiple options for expanding and scaling a platform according to the exemplary embodiment, but it may not be obvious which option to follow or whether existing solutions can be reused or leveraged. Performing Pattern analysis across Traits, Profiles, Categories and Reactors etc may enable the most productive options to be identified and implemented. Thus Pattern Observation is integral to evolution of the web experience platform.
[0114] The exemplary embodiment requires Locators, Categories, Traits, Profiles and Reactors in order to function. The learning engine is based on mathematics, from which algorithms are implemented. The following disclosure will therefore develop the mathematical framework for the implementation.
[0115] The Reactor contains Locator information as to where the ‘reaction’ can take place. Some Reactors are scripted to apply for a particular website or based on a single action, whereas others are more generic and may apply globally under varying different conditions.
[0116] The Character provides information regarding the Reactor in expressing ‘when’ and ‘where’ they wish the Reactor to apply. Just because a Reactor may be applied globally across all websites doesn’t necessarily mean the Character wishes it so. Locators are denoted by ‘L’ in the mathematical description.
[0117] The number of Categories (denoted ‘C’) within the exemplary embodiment is expressed as:
Where [0118] £££££££
The set of unique defined Categories is expressed as:
[0119] Selecting a single Category from the set is expressed as:
WO 2017/045026
PCT/AU2016/050860 [0120] The number of Traits (denoted T) within the exemplary embodiment is expressed as:
Where:
[0121] The set of unique defined Traits is expressed as:
x, = (r 1 [0122] Selecting a single Trait from the set is expressed as:
[0123] The number of Profiles (denoted ‘Q’) within the exemplary embodiment is expressed as:
'??ί'β¥·β/:ίϊ·«8
Where:
[0124] The set of unique defined Profiles is expressed as:
e, =(es%.e2.....
[0125] Selecting a single Profile from the set is expressed as:
-+ [0126] The number of Reactors (denoted ‘R’) within the exemplary embodiment is expressed as:
Where:
[0127] The set of unique defined Reactors is expressed as:
= j J? [ /έι,./Λ, ,,,.77,,,, | [0128] Selecting a single Reactor from the set is expressed as:
WO 2017/045026
PCT/AU2016/050860 [0129] When Characters Interact with the Internet via the exemplary embodiment they have many different opportunities to set their Preferences (denoted ‘P’) towards Reactors based on Locator. This can happen indirectly or directly.
[0130] This is covered in greater detail below. For present purposes it should be understood that there are no central or global settings to specify Preferences. This is because the concept of Preferences is hidden from the Character and is an internal measure that the exemplary embodiment builds and calculates based on profiling and learning about the Character.
[0131 ] Preferences can be defined mathematically simply as:
Figure AU2016322017A1_D0001
££&« rescier
Don't roscisr ij
Figure AU2016322017A1_D0002
[0132] Take note that Preferences are based on a Locator (L) where the Character determines where and when the Preference occurs. Thus Locator information is implicit in that the Preference is stored along with the associated Locator. The exemplary embodiment will use this information to calculate the Preference across different scenarios to delve into a deeper understanding as to what the Preference means. As has already been discussed, Locators employ various mechanisms to obtain a range of location and context information. For example, in addition to HHTP headers, user agent strings, and other information reported by web browser applications, the web experience platform application 214 may include one or more executable code components configured to interface with the user device 108 and access additional device information. User input, e.g. via the overlay 600 and menus 700, 800, 900 etc, may also be used to obtain relevant information, such as whether current preferences are to apply to a single page, an entire site, or all web pages. Since the platform application is also responsible for session management, it is able to store all such location and context parameters so that they can be passed back to the server platform 202, implicitly applied when performing Preference calculations, and automatically stored as required within user preferences data store 204.
WO 2017/045026
PCT/AU2016/050860 [0133] By way of providing a simple explicit example, suppose that a Reactor 3^(1) has been activated based on current location and context information whereby geographic location is identified as ‘GPS: Home’, browser is ‘firefox’ and device type is ‘iPad’. Further suppose that the user does not like the transformations performed by and operates the user interface to to indicate this preference. A corresponding set of Preferences may be created and stored as follows:
y (Ml X Y; =-1 = -i = -1 where the ‘Don’t care’ state represents a union of the other parameters that may be employed in defining a Locator, that do not otherwise explicitly contribute to the user’s preference.
[0134] The expression could also be expressed as given that Categories are ‘tagged’ to Reactors, i.e. Categories are also implicitly present. In the further analysis, either notation may be employed according to requirements of the context.
[0135] Reactors play an extremely important part in the exemplary embodiment.
Not only do they contain ‘Web Experience Scripting Instructions’ providing logic on how content needs to be transformed but more importantly contain the information relating to the Traits and/or Profiles that apply along with the Locator and Category information.
[0136] The learning aspect of the exemplary embodiment is thus able to determine the future outcomes of Reactors with Characters based on past engagements with Reactors.
[0137] Reactors are generally small pieces of logic that should have one desired outcome. Based on this it becomes relatively easier to decide which Categories, Traits and/or Profiles should be assigned to the Reactor. It is recalled also that Packages combine multiple Reactors together if it makes sense to do so (as discussed earlier).
WO 2017/045026
PCT/AU2016/050860 [0138] Reactors must have one or more Categories assigned. Assignment of multiple Categories does not influence or change the Reactor.
[0139] Assigned Traits and/or Profiles to a Reactor are ranked. This means order is significant and the most important Traits and/or Profiles should be assigned first with the lessor last. In general, Profiles are considered more valuable than Traits given that Profiles can be formed from multiple sets of Traits and/or Profiles.
[0140] The maximum number of Categories that may be assigned to a Reactor is denoted as:
fits?
Where:
.·*'?..... xyri [0141 ] The selected number of Categories for the given Reactor is expressed as:
ί i -$* 1 [0142] The set of unique defined Selected Categories is expressed as:
[0143] So:
[0144] And selecting a single Selected Category from the set is expressed as:
[0145] The maximum number of Traits that may be assigned to a Reactor is denoted as:
Where:
•n [0146] The selected number of Traits for the given Reactor is expressed as:
jk $Σ· ϊ: ”3 . 1 i·1·” [0147] The set of unique defined Selected Traits is expressed as:
WO 2017/045026
PCT/AU2016/050860 „ f'T'&g 5 ysel yi'?i ) rt t, S' ί * C. = - ·£ \*.y [0148] So:
-T=ei cz τ *5* — **&
[0149] Selecting a single Selected Traits from the set is expressed as:
y ***<£) -» 22** [0150] The maximum number of Profiles that may be assigned to a Reactor is denoted as:
Where:
[0151 ] The selected number of Profiles for the given Reactor is expressed as:
[0152] The set of unique defined Selected Profiles is expressed as:
ft®»? | [0153] So:
>!S®<
[0154] Selecting a single Selected Profiles from the set is expressed as:
[0155] Since Reactors are formed by a selection of ranked Traits and ranked Profiles implies that Reactors may be mathematically expressed with their respective Trait and/or Profile weights. This enables the overall Traits and I or Profiles associated with a Character to be determined by calculating weights based on Interactions with Reactors.
[0156] It is required to determine the value of what each Trait and/or Profile contributes towards an overall Reactor. This is done by means of weights expressions
More importantly this should be automated so that Reactors can be assigned Traits and/or Profiles and a meaningful resulting weight value can be easily determined
WO 2017/045026
PCT/AU2016/050860 [0157] The first item in the Traits or Profiles selected set is deemed as the most important and always has the weighted value 1. The last item in the in the selected set is deemed as the least important and has the lowest value.
[0158] Subsequent Profiles in a set decline rapidly whereas subsequent Traits in a set decline slowly. Accordingly, the relationship between Profiles and Traits are slightly inverse to each other.
[0159] The reason for this logic is that Reactors assigned more than one Trait, followed by a second and third etc are usually a strong influence. However, for Profiles, the second Profiles and third etc are to some degree of lesser influence because very rarely does a Reactor have multiple Profiles. It is recalled that Profiles are formed from other Traits and/or Profiles. Thus Traits are more fundamental and dominant.
[0160] This also accords with the psychological makeup of a user. Traits are integral to Character and dominating. Individuals may be categorised by listing one or more Traits that match their personality and behaviour. However, a Profile is more specific. Multiple Profiles are therefore less likely. Where they occur, it is expected that there would always be a more dominate Profile attributed to the Character.
[0161] An exemplary Trait weight relationship versus selected Trait is illustrated in the form of a graph 1200 in Figure 12(a), in which the horizontal axis 1202 represents Traits, the vertical axis 1204 represents the weight value, and the functional form of the relationship 1206 is chosen so as to achieve a gradual decline in weight towards the maximum number of Traits offered for selection for each Reactor.
[0162] The known values at the points 1208, 1210 of the function 1206 are defined as:
—= 0
Figure AU2016322017A1_D0003
WO 2017/045026
PCT/AU2016/050860 [0163] One embodiment of the exemplary functional form 1206 has a weight equation representing the selected Traits wherein:
! M 7 — -- 1 ί T — 2«7 -f t , „
1..........................-.-............- -. -7................-....................... : V £ = [ 1...
-«..(n -- !)(·« — 1JS ' t 0 :
Where:
[0164] Clearly this shows that the weight of the first Trait has a weight of 1 with a gradual decline in weight towards the maximum number of Traits offered for selection for each Reactor, as intended.
[0165] An exemplary Profile weight relationship verses selected Profile is illustrated in the form of a graph 1212 in Figure 12(b) in which the horizontal axis 1214 represents Profiles, the vertical axis 1216 represents the weight value, and the functional form of the relationship 1218 is chosen so as to achieve a rapid decline in weight towards the maximum number of Profiles offered for selection for each Reactor.
[0166] The known values at the points 1220, 1222 of the function 1218 are defined as:
[0167] One embodiment of the exemplary functional form 1218 has a weight equation representing the selected Profiles wherein:
•s.i>
f... ΐ f + ?£* 4- -ft —- 1 < -?i.(n — 1}
Where:
WO 2017/045026
PCT/AU2016/050860 [0168] Clearly this shows that the weight of the first Profile has a weight of 1 with a rapid decline in weight towards the maximum number of Profiles offered for selection for each Reactor, as intended.
[0169] Alternative embodiments may employ different weighting equations, providing the weight outcome lies between zero and one. Further refinement may arise when dealing with large data that is not presently foreseeable. As more data becomes available, refinements may be made to the weighting system.
[0170] Reactors can now be expressed in the following form:
’ (0 With ·«? (f} ((Xs J (q) with weight u?(ij) ¥<rir= (1.,.
[0171] Take note that the Category (C) and the Locator (L) is incorporated into the equation because they remain a variable as part of the formula. The web experience engine runs through all scenarios and combinations to delve into deeper understanding as to what the information means.
[0172] Using the Trait weight equation:
[0173] The set of selected Traits with its weights is defined as:
(iX-st*ί i)).(rseiC2)>..., J j [0174] This is just:
[0175] Applying the Profile weight equation:
[0176] The set of selected Profiles with its weights is defined as:
WO 2017/045026
PCT/AU2016/050860 [0177] This is just:
[0178] Mathematically Characters may be linked to Traits and Profiles by linking through Preferences. The concept is simple and relies on the Character Interacting with Reactors and learning their Preferences (i.e. ‘liking’ or ‘disliking’ a Reactor). Based on this, overall ranked Traits and/or Profiles can be determined from each Reactor Interaction. Characters may be linked to Traits and Profiles by according to a product relationship between Preferences and Reactors.
[0179] Once the Character impression on their Traits and Profiles are calculated, it then becomes possible to determine Implicit Reactor and Suggested Reactors for presentation to the Character.
[0180] Implicit Reactors and Suggested Reactors along with Character Interaction with the Internet encourage the Characters to further Interact with Reactors. Thus the iteration on constantly recalculating and reassessing Traits and Profiles forms the learning aspect that the exemplary embodiment has to offer.
[0181 ] In the following, some function functors useful for defining the further equations are set out.
[0182] To determine the minimum from two numbers is declared as:
ra
U [0183]
To determine a positive number is declared as:
to [0184]
To determine a non-zero number is declared as:
JO li [0185]
To determine the set index is declared as:
slam S sat e/em = .ssGj.) [0186] To obtain the selected Traits set from a Reactor is defined as:
WO 2017/045026
PCT/AU2016/050860
Figure AU2016322017A1_D0004
[0187] To obtain the selected Profiles set from a Reactor is defined as:
= of [0188] Character Impressions (denoted ‘Z’) are calculated by determining the overall effect the Character with Traits and Profiles based on the Preferences on any Reactor at any Locator. It is recalled that Character Impressions are related to Locator (L) and Categories (C) as highlighted earlier.
[0189] This can be written as a set:
Figure AU2016322017A1_D0005
[0190] where the Character set based on Traits is given as:
Figure AU2016322017A1_D0006
[0191 ] and the Character set based on Profiles is given as:
Figure AU2016322017A1_D0007
Using the Trait weight equation defined earlier:
[0192] [0193] the new weights for the Traits are given by:
Figure AU2016322017A1_D0008
Where
[0194]
Using the Profile weight equation defined earlier:
the new weights for the Profile are given by:
WO 2017/045026
PCT/AU2016/050860 _ χ.<(η<υ)Γ
#.} = —— -— «bo
Where:
-¾) = £<<?) - r^(P{;&V'),r. T)/fa«**'( [0195] This provides a calculated Character impression based on Locator and Category, which also provides insightful Metrics about the Character itself. Moreover it is possible to determine Implicit Reactors and Suggested Reactors that can be applied to the Character’s Interaction with the Internet.
[0196] Initially (i.e. upon first use of the system) no Preferences set means no Reactors will be enabled. In this circumstance the exemplary embodiment would not be able to apply any Reactors to the Character and Internet Interaction.
[0197] Obviously at this point the exemplary embodiment sole goal is to quickly build up a profile of the Character to offer them the best experience/ service as possible as quickly as possible so the user immediately appreciates the value and offerings offered by the exemplary embodiment.
[0198] One of the ways to do this is when the user first creates an account with the exemplary embodiment (effectively initiating the Character formation) a short succinct survey will be provided to fast track a Character profile and initialise the Preferences to a useful state. However, this is optional and done in a manner that doesn’t discourage or put off the Character.
[0199] For example some questions may be:
• Are you blind or autistic (if Yes then collect more meaningful information) • Age bracket (age brackets can determine some presetting based on trending age groups of existing Character impressions we have) • Determine privacy preferences • Determine accessibility preferences
WO 2017/045026
PCT/AU2016/050860 [0200] If no questionnaire is provided, or the user chooses to skip a questionnaire to commence use of the platform, Suggestions could be presented to the user via a dashboard to quickly learn the main areas of interest to the user based on Categories. From there the use of Trends can help accelerate the user experience for the Character.
[0201 ] Ultimately the goal of the exemplary embodiment is to learn the Traits and Profiles of each Character so that it can make Implicit Reactors decisions and present Suggested Reactors for Characters to ‘like/accept’ or ‘dislike/reject’. To achieve this goal, it is useful to convert Character impressions for each Reactor to a scalar value.
The scalar values can then be compared with thresholds to determine whether the Reactor has a strong match, a moderate match or a weak match. Based on the threshold matches, the exemplary embodiment can make decisions as to forming Implicit Reactors and Suggested Reactors.
[0202] When calculating the scalar value on ranked Traits weights and ranked Profiles weights the ‘rank’ itself must be factored in. As previously explained, ranking is implicit in that the first is the most important and the last is the least important.
[0203] With multiple selected Traits and/or Profiles account must be taken of the fact that these are ranked, and it is more important to have alignment with stronger Traits and/or Profiles as compared with lesser ones.
[0204] For a given Reactor and focusing on Traits and weights using:
Mr) (recalling that automatically implies LC.,CJ since Categories are tagged to Reactors and Characters determine the Locators of when and where Reactors apply), and and a multi-dimensional vector is formed using the weight values. Since weights are always expressed in values between 0 and 1 the vectors have an origin of zero.
WO 2017/045026
PCT/AU2016/050860 [0205]
The vectors for the Reactor are expressed using as:
=(«»}- (o)
1¾ = - CO) = J ) “ --θ) [0206] Using the fact that contains a set of paired values (T?,fj the weight expression is obtained by selecting the weight component for which matches 3S^(O, i.e.:
(e)) = («>'(/} : i i£ O') I -9 wfere = η [0207] To determine how closely a Character impression matches a Reactor, Character Trait weights that fall below the Reactor Trait weights are considered, while Character Trait weights exceeding the Reactor Trait weight are capped. Vectors for the Character impressions for the Reactor are then given by:
Xi,
J.·’:
f (φ(:Γ5^0));κ<2)1 ) - (Ο) = [ Μ-έη
J ) | j — (0..,0) ' / \' \ / ' ' /) - · · ti..
\ -- > . a* (a,. a;f/H [0208] The scalar value for the Traits is then calculated as:
il/, >7?
-—A- -Λ- Λ ~ b ~ a » r *........Χί .iliX-ji·..·
bd Lv 1
s *· S > >?, Sif.i s
[0209] Defining Trait thresholds as:
WO 2017/045026
PCT/AU2016/050860 [0210] Then the Implicit Reactor can be defined when:
[0211 ] And the Suggested Reactor can be defined when:
< Sj <
[0212] For a given Reactor and focusing on Profiles and weights using:
Vi >':
nN-V I (recalling that R(r) automatically implies R(r, C, L) since Categories are tagged to Reactors and Characters determine the Locators of when and where Reactors apply), and and a multi-dimensional vector is formed using the weight values. Since weights are always expressed in values between 0 and 1 the vectors have an origin of zero.
[0213] The vectors for the Reactor are expressed using w as:
AC
AC (-u»(i)zw (2))-(0,0) [0214] Using the fact that contains a set of paired values (the weight expression is obtained by selecting the weight component for which matches i.e.
) = {>(£) - -* rt) [0215] To determine how closely a Character impression matches a Reactor,
Character Profile weights that fall below the Reactor Profile weights are considered,
WO 2017/045026
PCT/AU2016/050860 while Character Profile weights exceeding the Reactor Profile weight are capped.
Vectors for the Character impressions for the Reactor are then given by:
Figure AU2016322017A1_D0009
/ -min $^(1)),-^(1)), «(·« (2)),
I .. / ./ \\ ,
V .., mm. (a (), J / (OA .„>03 [0216] The scalar value for the Profile is then calculated as:
v.
A”' [0217] Defining profile thresholds as:
[0218] Then the Implicit Reactor can be defined when:
[0219] And the Suggested Reactor can be defined when:
=¾ < A < A [0220] The analysis now turns to further explanation of the use of the Category (C) and Locator (L) properties.
[0221] In the case that Categories are not employed, the calculations of Character Impressions (forming Traits and Profiles preferences) to determine further Implicit Reactors and Suggestions may be complicated due to ‘dilution’ of relevant Reactors among a potentially large number of available Reactors. Put simply, the exemplary embodiment aims to Suggest or find Implicit possible Reactors that match to a Character’s Preference. However, calculating the weights across all Categories (i.e. every Reactor) provides set of Metrics that for the most part will be unhelpful and diluted.
WO 2017/045026
PCT/AU2016/050860 [0222] However, by reducing the pool of Reactors to a common top thread by means of Categories and calculating the weights based on those Reactors provides deeper insights to the Traits and Profiles assigned. Using Categories to form a smaller pool of Reactors relating to a certain topic can be considered as a form of filtering.
[0223] In summary, each Reactor is formed based on ranked weights of Traits and Profiles assigned as the best fit for the Reactor. Categories tie similar Reactors together and, when selected by a Character (i.e. as a Preference) it becomes possible to determine alignment towards a given Trait and/or Profile that otherwise may not be apparent. It is noted, in particular, that the actual weight calculation is based on actual selected Preferences of the Character, and not against the total amount of Reactors available.
[0224] By way of example, consider a case in which a total of 1000 Reactors are available to the Character but only 10 Reactors contain the Trait of ‘privacy’. Further consider these 10 Reactors tagged under the Category ‘Values Privacy’.
[0225] If the Character has selected three Reactors (of the 10) from the Category ‘Values Privacy’ this could indicate an alignment to ‘privacy’, such that the corresponding user may be interested in one or more of the other seven Reactors in the Category. However, if the Character has a total of, for example, 400 selected Reactors then calculating weights across all of the 400 Character selected Reactors will fail to highlight the affinity with the Traits and/or Profiles dealing with privacy indicated by the three privacy-related Reactors. This is the dilution problem.
[0226] However, considering only Reactors in the Category of ‘Values Privacy’ the algorithm will uncover that the Character has Preferences for three Reactors out of the total of 10 falling into this Category. This will show as a strong alignment with privacy. As a result, Implicit Reactors can be determined and Suggested Reactors can be easily found from the other seven Reactors in the same category. Filtering via Categories enables the algorithm to identify the other seven Reactors from the total set of 600 unPreferenced Reactors that remain available.
[0227] Accordingly, the web experience Engine of the exemplary embodiment constantly runs calculations across different scenarios (i.e. across all Reactors, across
WO 2017/045026
PCT/AU2016/050860
Reactors of a given Category, across all Locations, across a given Location etc). The decision-making is actually a variable across different functions. Implicit decisions are made when thresholds are met. Suggested decisions are put forward to the user for selecting. In practice, it will only be possible to present the user with a few suggestions at a time (due to screen real estate limitations), and the system may therefore present a few Suggestions from each Category. Furthermore, it is possible to focus on Reactors that are currently Trending positively with the Character, and/or that are currently Popular. Mathematically determining the Popularity of Traits or looking at Historical Metrics to determine Trends is straightforward and covered by simple statistical equations.
[0228] Similar principles apply to Locators. The algorithms can consider all combinations, including ‘do not care’ for the Category and/or Locator.
[0229] As has already been indicated, it is possible for Reactors to be Derived from other Reactors and for Reactors to Mutate. By way of example, consider having a Reactor whose role is to ‘Simplify’. In this case it performs the operation of simplification by deleting content. Further suppose that the Reactor has correctly been labelled as having the Traits ‘simplification’ and ‘reduce clutter’, and tagged in the category ‘Readability’.
[0230] A user selects a block of information and wishes to ‘Simplify’ by means of deleting. The web experience platform knows what to delete and knows the conditions associated with the delete. However, at this point the system can also determine that the user has expressed an Interest in ‘Readability’ along with the associated Traits and Profiles. The information that has been deleted can be further analysed by allowing each Reactor to inspect the information and determine whether it is applicable for the Reactor based on the Locator conditions. If there is a match then the Readability Reactor can form a Derived Reactor and form a Mutating Reactor which adopts and factors the Traits/Profiles in the Derived Reactor.
WO 2017/045026
PCT/AU2016/050860 [0231] The benefit in this approach can readily be seen. The primary Reactor ‘deleted’ content, assisting the user with ‘readability’. Looking at the deleted content can enhance the utility of the system to the user. For example, if the block of information was associated with Reactors whose Locators identified it as being associated with ‘Social Sharing Networking’ buttons then this can be taken into account in future decision-making logic.
[0232] It is not practical to write a Reactor for every possible combination of information type in the Web and how to delete this, along with assigning Traits and/or Profiles for each such Reactor. Instead, one Reactor may be developed for the ‘delete operation’ and appropriate Traits and/or Profiles assigned to this Reactor. Other Reactors may be developed for identifying different segments of information based on the Locators (i.e. Social Sharing Networking, or Video, or Advertising, or Banner etc). Derived Reactors can then combine the Reactors together to form different combinations and handle accordingly. To determine learning decisions and to factor in Traits and/or Profiles of all the Reactors together for use in further web experience decision making, these can be formed as Mutating Reactors.
[0233] As has been discussed, in practice Reactors of the exemplary embodiment are based on scripting. The scripting is thus combined in Derived and Mutating Reactors to form new logic as required and interpreted by the platform as deemed fit. Naturally, the platform ensures that the mash up and forming of Derived Reactors and Mutating Reactors happens in such a way that the Reactors work together collaborative and in a way that makes sense and is constructive. Furthermore, the use of Derived Reactors actually allows information itself to be layered (information within information within information). Reactors can be applied to any layer.
[0234] An example of a transformation rule in the form of a Reactor script 1300 implemented in a proprietary scripting language embodying the invention is shown in Figure 13. The script 1300 is not intended as an exhaustive illustration of all features of the proprietary scripting language, and is provided only by way of example. As will be appreciated by the skilled person, transformation rules embodying the invention may be implemented in a variety of ways, including through the use of known programming or scripting languages such as PERL, Python, Ruby, or other suitable languages.
WO 2017/045026
PCT/AU2016/050860 [0235] The script 1300 comprises a ‘project’ part 1302, an ‘includes’ part 1304 and a Reactor part 1306. The ‘project’ part 1302 defines properties of the script 1300, including author, company identification, version, type, and a description. Some or all of this information may be displayed to users accessing the database of transformation rules.
[0236] The ‘includes’ part 1304 specifies content of other scripting and related files to be imported into the script 1300. In this case, an ‘include’ statement imports a file containing useful constants, which may be used in the remainder of the script.
[0237] The Reactor part 1306 itself comprises three parts, namely a ‘locator’ part 1308, a ‘request’ transformation part 1310 and a ‘response’ transformation part 1312. The ‘locator’ part 1308 defines matching rules, e.g. as applied in steps 303 and 308 of the process 300. In the example shown in Figure 13, the Reactor may be invoked for HTTP GET method, having content type ‘html’, transferred byway of HTTP protocol, from any host matching host ‘exemplify.com’. While only a static ‘locator’ part 1308 is shown in Figure 13, the exemplary scripting language may also include dynamic matching operations that can be executed on a case-by-case basis in order to determine whether or not to apply transformation rules and further scripted operation, e.g. based upon user identify and/or other session information, among other dynamic parameters.
[0238] The ‘request’ part 1310 is executed in response to outgoing requests matching the ‘locator’ part, e.g. at step 304 of the process 300. In this example, the ‘request’ part 1310 includes an OTHER block 1311 containing dynamic logic which, if evaluated as ‘true’, may result in selection of the Reactor. In this particular case, the logic in the OTHER block determines whether the user’s current device is one of a desktop computer, laptop computer or iPad AND the user is a paying subscriber. An OTHER block if this kind can be used to construct arbitrary logic tests based on current state information, including user and session data, which are accessible within the scripting language. Specific keywords, such as the METHOD, CONTENT_TYPE, PROTOCOL and HOSTNAME keywords employed in the ‘locator’ part 1308, provide for more convenient and concise testing of the most commonly-accessed state information.
WO 2017/045026
PCT/AU2016/050860 [0239] The ‘response’ part 1312 is executed in respect of corresponding responses from the remote server at ‘exemplify.com’, e.g. at step 310 of the process 300. In the simple example shown, the ‘response’ script first creates 1314 a parser object for processing of the incoming HTML text. A condition statement 1316 identifies a closing </body> tag of the HTML text using the parser object. An insertion operation 1318 then acts on the HTML text to insert a simple text footer immediately prior to the closing </body> tag. As a result, all pages retrieved from ‘exemplify.com’ will have the footer text included at the bottom of the page. Of course, it will be appreciated that a variety of parsing, searching, identification, substitution, insertion and other transformation operations can be provided in a practical scripting language in order to implement a range of operations on content of different types including, but not limited to, HTML text, dynamic scripting (e.g. JavaScript), images, and other content.
[0240] While preferred embodiments of the invention have been described with reference to the accompanying drawings, numerous variations will be apparent to persons skilled in the art, such as the use of different scripting languages, alternative methods for computing weightings and thresholds for matching of rules, and different forms of user interface. Accordingly, the described embodiments should not be taken to be limiting of the scope of the invention, which is as defined in the appended claims.
WO 2017/045026
PCT/AU2016/050860

Claims (15)

  1. CLAIMS:
    1. A method, implemented by a web experience platform application executed by a processor, for providing a user with a personalised web experience, the method comprising:
    receiving, from a client application operated by the user, a request to retrieve web-based content from a remote server accessible via a data network and identified by a server address;
    forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; correlating characteristics associated with the user retrieved from a characteristics data store with properties of transformation rules retrieved from a transformation rules data store to identify one or more matching response transformation rules;
    processing the received web-based content by applying the matching response transformation rules to generate transformed content; and transmitting the transformed content to the client application.
  2. 2. The method of claim 1 which, after receiving the request to retrieve web-based content and prior to forwarding the request, further comprises:
    correlating the characteristics associated with the user retrieved from the characteristics data store with properties of the transformation rules retrieved from the transformation rules data store to identify one or more matching request transformation rules; and processing the received request by applying the matching request transformation rules to generate a transformed request, whereby the request forwarded, via the data network, to the remote server, is the transformed request.
  3. 3. The method of claim 1 or claim 2 wherein characteristics associated with the user include one or more user preferences, wherein each user preference comprises a measure of affinity of the user with a corresponding one of the transformation rules.
    WO 2017/045026
    PCT/AU2016/050860
  4. 4. The method of claim 1 or claim 2 wherein properties of the transformation rules comprise one or more properties selected from a group comprising: transformation actions; traits; profiles; categories; and locators.
  5. 5. The method of claim 1 or claim 2 further comprising presenting to the user, via the client application, details of one or more suggested transformation rules.
  6. 6. The method of claim 5 further comprising receiving from the user, via the client application, a preference response comprising an indication of user affinity with a suggested transformation rule and storing a record of the preference response in the characteristics data store associated with the user.
  7. 7. The method of claim 6 wherein the one or more matching transformation rules comprise accepted transformation rules for which the user preferences indicate a positive affinity.
  8. 8. The method of claim 1 or claim 2 wherein the one or more matching transformation rules comprise implicit transformation rules identified by correlating characteristics of accepted transformation rules of the user with characteristics of one or more additional transformation rules in the transformation rules data store.
  9. 9. The method of claim 8 wherein the correlating comprises computing a weighting value for each of the additional transformation rules, based on characteristics of accepted transformation rules and of the additional transformation rules, and treating the additional transformation rule as an implicit transformation rule if the weighting value exceeds a predetermined threshold.
  10. 10. The method of claim 8 further comprising maintaining a record of a number of times that an implicit transformation rule has been applied and, in the event that the number exceeds a threshold, treating the implicit transformation rule as an inferred transformation rule.
    WO 2017/045026
    PCT/AU2016/050860
  11. 11. A method for assisting a first user with a personalised web experience, the method comprising:
    receiving, from a client application operated by the first user, a request for assistance in modifying web-based content retrieved from a remote server accessible via a data network and identified by a server address;
    creating an assistance task record within an assistance system database; receiving, from a further client application operated by a second user, an assistance reply responsive to the assistance task record, wherein the assistance reply comprises at least a reference to one or more transformation rules corresponding with the requested assistance;
    subsequently receiving, from the client application operated by the first user, a request to retrieve the web-based content from the remote server;
    forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; processing the received web-based content by applying at least the one or more transformation rules to generate transformed content; and transmitting the transformed content to the client application.
  12. 12. A computer program product comprising a computer-readable storage medium containing stored instructions which, when executed by a corresponding processor, implement a web experience platform application configured to perform a method for providing a user with a personalised web experience, the method comprising:
    receiving, from a client application operated by the user, a request to retrieve web-based content from a remote server accessible via a data network and identified by a server address;
    forwarding the request, via the data network, to the remote server; receiving, from the remote server, the requested web-based content; correlating characteristics associated with the user retrieved from a characteristics data store with properties of transformation rules retrieved from a transformation rules data store to identify one or more matching response transformation rules;
    processing the received web-based content by applying the matching response
    WO 2017/045026
    PCT/AU2016/050860 transformation rules to generate transformed content; and transmitting the transformed content to the client application.
  13. 13. The computer program product of claim 12 wherein the stored instructions configure the web experience platform application to perform further steps of:
    transmitting a request, via the data network to a remotely-executing web experience server platform, to retrieve the characteristics associated with a user from the characteristics data store;
    transmitting a request, via the data network to the remotely-executing web experience server platform, to retrieve the transformation rules retrieved from the transformation rules data store;
    receiving, via the data network from the remotely-executing web experience server platform, the retrieved user characteristics; and receiving, via the data network from the remotely-executing web experience server platform, the retrieved transformation rules.
  14. 14. The computer program product of claim 13 wherein the stored instructions configure the web experience platform application to perform further steps of:
    presenting to the user, via the client application, details of one or more suggested transformation rules;
    receiving from the user, via the client application, a preference response comprising an indication of user affinity with a suggested transformation rule; and transmitting a request, via the data network to the remotely-executing web experience server platform, to store a record of the preference response in the characteristics data store associated with the user.
  15. 15. A computer program product comprising a computer-readable storage medium containing stored instructions which, when executed by a corresponding processor, implement a web experience server platform configured to perform a method comprising:
    receiving, from a remotely-executing web experience platform application, a request to retrieve characteristics associated with a user from a characteristics data
    WO 2017/045026
    PCT/AU2016/050860 store;
    receiving, from the remotely-executing web experience platform application, a request to retrieve transformation rules from a transformation rules data store;
    retrieving the requested user characteristics from the characteristics data store; retrieving the requested transformation rules from the transformation rules data store;
    transmitting the retrieved user characteristics to the remotely-executing web experience platform application; and transmitting the retrieved transformation rules to the remotely-executing web experience platform application, whereby the remotely-executing web experience platform application is enabled to correlate the user characteristics with properties of the transformation rules to identify one or more matching transformation rules to be applied to request and/or response data so as to provide the user with a personalised web experience.
    WO 2017/045026
    PCT/AU2016/050860
    1/10
    100
    106
    Figure 1
    WO 2017/045026
    PCT/AU2016/050860
    2/10
    212 λ/
    200
    Device Platform
    108
    214
    Session management, caching ...
    Transparent proxy / web server
    Web experience framework, ...
    Scripting engine, API ...
    202
    104-
    Transformation rules (scripts)
    User characteristics, preferences, settings
    206
    208
    Data management, engine, logic, API ...
    210
    106
    Figure 2
    WO 2017/045026
    PCT/AU2016/050860
    3/10
    Figure 3
    Figure 4
    WO 2017/045026
    PCT/AU2016/050860
    4/10
    502
    504
    506
    Figure 5
    500
    WO 2017/045026
    PCT/AU2016/050860
    5/10
    Figure 6
    Figure 7
    WO 2017/045026
    PCT/AU2016/050860
    6/10
    800
    806
    802
    804
    Hi
    12«
    Simplify
    Deleting \ Bw Step-by-Step WiarcL
    Request Help*».
    Figure 8
    906
    Figure 9
    WO 2017/045026
    PCT/AU2016/050860
    7/10 / Ά,ΑΛρ. ί V'W fr'f;/-:/-'
    WO 2017/045026
    PCT/AU2016/050860
    8/10
    1100
    Figure 11
    WO 2017/045026
    PCT/AU2016/050860
    9/10
    Figure 12(a)
    Figure 12(b)
    WO 2017/045026
    PCT/AU2016/050860
    10/10
    1300
    PROJECT {
    COMPANY {exas^iify. com” j AUTHOR ( ”Srme Author” }
    VERSION{1,0}
    DE3CRTPTTQK (Thia inserts a footer on ell http;. //exemplify. com paces”) TYPE{STANDARD) // Script type
    1302
    1KCI.UDE { . /constants. hueyif y”} ^REACTOR ( •1304
    1306<
    MATCH{
    ΜΕΤΗΟΏ {get”f ΟΟΝΤΕΝΤ_ΤΥΡΕ {htKlI} PROTOCOL fhttp”}
    HOSTNAME (‘ exemplif y. com”}
    -1308 ., _ . ,.,,,, J311
    REQUESTO {
    OTHER <
    AND {
    ARRAY_COSTAISS_ELEM{DEVICE_TYPE f j , const_DESKTOP, const_LAPTOP, const_IPAD) ,
    IS TRUE {SESSION GET(subscriber)) .1310
    1314
    1316
    PARSER_HTI-3L_INIT{£!QHtKLl, SESPONSE_BUFFER_REF { } )
    IF {IS_TRiJE (PARSER_HTML_FIND_TAG_NEXT {goBtml, body, «const_TAG_TYPE_CLOSE} ) )
    RESPONSE{} { ?ARSER_HTMl_iKSEET__COtiTEiiT (goHtiai, <EpaK id=’footer,>Footer added by example transformation script/rulBS.</span>, gcanst INSERT BEFORE TAG} ▼>.
    Figure 13
    1312<
    1318
AU2016322017A 2015-09-16 2016-09-14 System and method for providing a personalised reactive web experience Abandoned AU2016322017A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2015903772 2015-09-16
AU2015903772A AU2015903772A0 (en) 2015-09-16 System and method for providing a personalised reactive web experience
PCT/AU2016/050860 WO2017045026A1 (en) 2015-09-16 2016-09-14 System and method for providing a personalised reactive web experience

Publications (1)

Publication Number Publication Date
AU2016322017A1 true AU2016322017A1 (en) 2018-03-08

Family

ID=58287963

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2016322017A Abandoned AU2016322017A1 (en) 2015-09-16 2016-09-14 System and method for providing a personalised reactive web experience

Country Status (2)

Country Link
AU (1) AU2016322017A1 (en)
WO (1) WO2017045026A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020070308A1 (en) * 2018-10-04 2020-04-09 Ve Global Uk Limited Dynamic rendering of a web page

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003202130A1 (en) * 2002-02-04 2003-09-02 Mobileaware Technologies Limited Document transformation
US7536641B2 (en) * 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US8560731B2 (en) * 2010-04-09 2013-10-15 Mobila, Inc. Subscription-based dynamic content optimization
WO2013005218A1 (en) * 2011-07-01 2013-01-10 Langoor Digital Pvt Ltd A simplified system for website conversion & website design for mobile & hand-held devices
US20140258816A1 (en) * 2013-03-08 2014-09-11 True Xiong Methodology to dynamically rearrange web content for consumer devices

Also Published As

Publication number Publication date
WO2017045026A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
US10706325B2 (en) Method and apparatus for selecting a network resource as a source of content for a recommendation system
US10430481B2 (en) Method and apparatus for generating a content recommendation in a recommendation system
US10467541B2 (en) Method and system for improving content searching in a question and answer customer support system by using a crowd-machine learning hybrid predictive model
Hew et al. What catalyses mobile apps usage intention: an empirical analysis
Lee et al. The effects of usability and web design attributes on user preference for e-commerce web sites
Wechsung et al. Quality of experience versus user experience
Baizal et al. Computational model for generating interactions in conversational recommender system based on product functional requirements
JP2017174062A (en) Purchase behavior analyzing device and program
US8745049B2 (en) Anonymous personalized recommendation method
US20130127920A1 (en) Focusing on Contextually-Relevant Content
US20210109989A1 (en) Systems and methods for automatically generating and optimizing web pages
Yang et al. Fostering consumer engagement with marketer-generated content: the role of content-generating devices and content features
Asghar et al. Cultural influences on perception of disability and disabled people: a comparison of opinions from students in the United Kingdom (UK) Pakistan (PAK) about a generic wheelchair using a semantic differential scale
Barreto et al. Assessing the communicability of human-data interaction mechanisms in transparency enhancing tools
AU2016322017A1 (en) System and method for providing a personalised reactive web experience
Kang et al. What am I not seeing? An interactive approach to social content discovery in microblogs
US20140108601A1 (en) System and method for content personalization using feedback data
JP2022516686A (en) Providing different content pages based on changing user interactions with a single content item
Krishnaraju et al. Web personalization research: an information systems perspective
Wolff et al. Context-aware website personalization
Van Kesteren et al. Evaluation of materials selection activities in user-centred design projects
KR102590412B1 (en) Limit provision and display of redundant digital components on client devices
Marcon de Moraes et al. Supporting the selection of web content modality based on user interactions logs
AlMuaybid et al. Investigating the usability of government applications for elderlies in the kingdom of saudi arabia
Li Personalization as a strategy to build customer relationship: The role of intimacy

Legal Events

Date Code Title Description
MK1 Application lapsed section 142(2)(a) - no request for examination in relevant period