WO2007113573A2 - Mesure automatisée d'interaction avec interfaces d'utilisateur - Google Patents
Mesure automatisée d'interaction avec interfaces d'utilisateur Download PDFInfo
- Publication number
- WO2007113573A2 WO2007113573A2 PCT/GB2007/001275 GB2007001275W WO2007113573A2 WO 2007113573 A2 WO2007113573 A2 WO 2007113573A2 GB 2007001275 W GB2007001275 W GB 2007001275W WO 2007113573 A2 WO2007113573 A2 WO 2007113573A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interaction
- gui
- data
- event
- user
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Definitions
- the present invention relates to automated measuring of interaction with user interfaces.
- the invention relates to the recordal and reporting of user interaction with a user interface. More particularly, though not exclusively the present invention relates to an interaction recorder for recording user interaction with a website, and an interaction analyser for generating visual reports for identifying the usability of the website.
- a known analysis tool provided by Atlas SolutionsTM plots a user's mouse clicks on any webpage.
- the clicks are merely represented as dots on a page.
- a large number of clicks in any particular area results in a large number of dots, but multiple clicks on the same co-ordinate do not appear any different than a single click on the same location.
- an interaction recorder for recording interaction data relating to multiple user interaction events with a GUI presented at a user terminal, the recorder comprising: script transmitting means for transmitting an executable script to the user terminal in response to a first request, interaction data receiving means for receiving interaction data generated by execution of the script on me user terminal, the interaction data describing each user interaction event occurring with the GUI and including a set of co-ordinates specifying the location within the GUI of each user interaction event and an identifier identifying the GUI to which the interaction data relates; and a data store arranged to store the received interaction data; wherein interaction data receiving means and the data store are arranged to receive and store a sequence of user interaction data relating to the GUI in real-time as the interaction events occur, such that real-time graphical reporting of the user interaction with the GUI is possible by viewing of the currently stored interaction data.
- One advantage of the above aspect is that details regarding how visitors interact with a GUI/website are recorded at the time of the interaction and can be viewed by a user instantaneously, as required, without the need to wait for a statistically significant subset of user behaviour to be recorded for analysis to be carried out.
- the data store is arranged to store the interaction data in a plurality of session logs wherein each session log comprises data relating to a single user's interaction with a GUI over a period of time.
- the interaction data includes session data relating to session attributes describing the environment in which the interaction events are recorded.
- the session data comprises one or more attributes selected from the group comprising: a session start date, a session start time, a browser name, a browser version, a screen resolution, a screen colour depth, a default font size, an IP address, and an operating system of the remote terminal.
- Information regarding the environment in which the interaction took place may be advantageously used to provide further insight regarding the users of the GUI.
- the interaction data includes event data relating to the single user's interaction with the GUI.
- the event data comprises one or more attributes selected from the group comprising: positional co-ordinates, an event date, an event time, a target positional co-ordinate, a target ID, a horizontal scroll variable, a vertical scroll variable, a key element positional co-ordinate, a browser window size, a previous GUI page ID, an elapsed time variable, a session sequence number, a GUI sequence number, a current GUI page ID, and a URI of a selected element.
- attributes selected from the group comprising: positional co-ordinates, an event date, an event time, a target positional co-ordinate, a target ID, a horizontal scroll variable, a vertical scroll variable, a key element positional co-ordinate, a browser window size, a previous GUI page ID, an elapsed time variable, a session sequence number, a GUI sequence number, a current GUI page ID, and a URI of a selected element.
- the interaction recorder further comprises a session ID generator which is arranged to generate and transmit a session ID to the user terminal in response to a script generated request.
- the data store is arranged to store the interaction data using the session ID, the interaction data being stored in a relational table.
- This offers the advantage that all of the event data regarding interactions with the GUI can be linked together to provide insight regarding a single user's interaction with the GUI: a single user's interaction being recorded against a particular session ID.
- the GUI comprises a plurality of interconnected GUI pages
- the interaction data receiving means is arranged to receive interaction data describing user interaction events occurring within the GUI pages.
- the interaction recorder is arranged to record interaction data relating to multiple user interaction events for a plurality of GUIs, and further comprises a site ID generator arranged to generate a unique site ID for each of the plurality of GUIs.
- the data store is arranged to link together stored session logs relating to the unique site ID.
- This offers the advantage that a user wishing to view results regarding their GUI can view all or some of the records which have been linked to the unique site ID, and also ensures that other users cannot view the results relating to other GUIs associated with different site IDs not linked to their own account.
- the interaction recorder comprises a pointer creation means which is arranged to create a pointer script, identifying the executable script stored at the interaction recorder wherein execution of the pointer script at the user terminal generates the first request.
- the pointer creation means is arranged to generate the pointer script by use of a template and the unique site ID.
- the central server advantageously need only store one version of the executable script, and the pointer script ensures the executable script is returned to the user terminal.
- the site ID within the pointer script ensures the interaction data is recorded in the data store in relation to the site ID.
- the pointer creation means is arranged to generate the pointer script by additional use of a key element ID. This offers the advantage that meaningful results may be plotted for centred websites. For example, rather than plotting an absolute location of a clicks, the click is plotted relative to a known . reference point e.g. a logo within the webpage.
- the GUI comprises a website.
- a method for recording interaction data relating to multiple user interaction events with a GUI presented at a user terminal comprising: transmitting an executable script to the user terminal in response to receiving a first request, receiving interaction data generated by execution of the script on the user terminal, the interaction data describing each user interaction event occurring with the GUI and including a set of co-ordinates specifying the location within the GUI of each user interaction event and an identifier identifying the GUI to which the interaction data relates, and storing the received interaction data, wherein the receiving and storing steps include receiving and storing a sequence of user interaction data relating to the GUI in real-time as the interaction events occur, such that real-time graphical reporting of the user interaction with the GUI is possible by viewing of the currently stored interaction data.
- a graphical user interface (GUI) interaction analyser for analysing the results of multiple user- interaction events with a GUI page presented at a user terminal, the analyser comprising: retrieval means for retrieving interaction data stored in a data store, the interaction data being stored in plurality of interaction records, each of which includes co-ordinates specifying the location within the GUI page of a user interaction event and an identifier identifying the GUI page to which the interaction data record relates, a graphical processor for processing the interaction data to generate a three- dimensional representation of the interaction data, two dimensions being determined by the location of the interaction event on the identified GUI page and the third dimension being determined by a further parameter relating to the interaction event occurring at a location of the identified GUI page, and map generation means for presenting a map showing the three-dimensional interaction data superimposed on a representation of the identified GUI page.
- GUI graphical user interface
- the interaction analyser offers the advantages that user experience and usability of the web page is readily identifiable.
- Visual reports improve the ease with which the popularity or unpopularity of components within the web page can be identified. Furthermore, a non-technical audience can easily understand the graphic nature of the generated reports.
- the retrieval means further comprises a filter arranged to compose a query request to retrieve the interaction data from the data store. This offers the advantage that meaningful reports may be obtained using a subset of the interaction data recorded.
- the filter is arranged to receive from the user terminal at least one filter parameter selected ' from the group comprising: a start date, an end date, a start time, and end time, a screen resolution, a colour depth, a browser window size, a country, an organisation, a browser name, a browser version, and an operating system, and wherein the query request to effect interaction data retrieval includes at least one filter parameter.
- the present invention can provide highly accurate reports because the reports may be generated on the basis of interaction data recorded in a similar/identical environment to the one in which the report is being viewed.
- the graphical processor is arranged to receive the results of the request query and to effect generation of the three-dimensional representation of the interaction data.
- the interaction data set includes one or more attributes selected from the group comprising: a session ID, session start date, a session start time, a browser name, a browser version, a screen resolution, a screen colour depth, a default font size, an IP address, and an operating system of the remote terminal, absolute positional co-ordinates, an event date, an event time, a target positional co-ordinate, a target ID, a horizontal scroll variable, a vertical scroll variable, a key element positional co-ordinate, a browser window size, a previous GUI page ID, an elapsed time variable, a session sequence number, a GUI sequence number, a current GUI page ID, and a URI of a selected element.
- attributes selected from the group comprising: a session ID, session start date, a session start time, a browser name, a browser version, a screen resolution, a screen colour depth, a default font size, an IP address, and an operating system of the remote terminal, absolute positional co-ordinates, an event date, an event time
- the graphical processor is arranged to determine the further parameter as the frequency of interaction events occurring at each location of the identified GUI page. This offers the advantage of showing not only the locations on the web page where users are clicking, but also the frequency/volume of the clicks in that location. This visual information immediately provides the ability to identify the true popularity or unpopularity of locations within the website.
- the graphical processor is arranged to determine the further parameter as the accuracy of interaction events occurring at an area location of the identified GUI.
- This offers the advantage of identifying every click on a web page, including those 'on target' (i.e. on elements such as hyperlinks, hyperlinked images, form fields, buttons, and elements with onclick handlers, etc) and those that are 'off target'. This is particularly useful in identifying 'near misses' and where visitors make clicks on elements, which they think are targets but which are not.
- the area location represents an interactive button of the GUI.
- the graphical processor is arranged to determine the accuracy of the interaction event by determining if the location of the interaction event corresponds to the area location of the interactive button.
- the graphical processor is arranged to represent graphically the accuracy of the interaction event by using at least two different colours.
- the graphical processor is arranged to transform absolute positional co-ordinates of the interaction event into relative positional co-ordinates with respect to reference co-ordinates, and wherein the map generation means is arranged to generate the graphical representation of the interaction event at the relative positional co-ordinates.
- the reference co-ordinates may be the co-ordinates of a key element. This offers the advantage that clicks can be plotted relative to a key element which has been specified for a centred website.
- the graphical processor is arranged to use the key element ID to locate the key element, within the identified GUI, and determine the positional co-ordinates of the key element, such that the relative positional co-ordinates of the interaction event can be determined.
- the reference co-ordinates are the positional coordinates of a target element being identified by a unique target ID associated with the interaction data set. This offers the advantage that clicks can be plotted relative to the target element which has been selected, meaning that for dynamic websites, where selectable elements move position over time, clicks are always potted relative to the element selected rather than the absolute position on the page.
- the graphical processor is arranged use the unique target ID to locate the target element, within the identified GUI, and determine the positional co-ordinates of the target element, such that the relative positional co-ordinates of the interaction event can be determined.
- the target ID is unique for each of a plurality of targets, and comprises a fingerprint of an associated target GUI element, wherein the graphical processor comprises a comparator for comparing the fingerprint to a newly generated fingerprint representation of the target element of the representation of the identified GUI.
- the graphical processor further comprises a scaling module arranged to reposition the positional co-ordinates of the location of the event as a function of a calculated difference between the screen resolution of the user terminal, whereupon the interaction event occurred, and the screen resolution of the user terminal whereupon the event is graphically represented.
- a scaling module arranged to reposition the positional co-ordinates of the location of the event as a function of a calculated difference between the screen resolution of the user terminal, whereupon the interaction event occurred, and the screen resolution of the user terminal whereupon the event is graphically represented.
- the scaling module is further arranged to reposition the positional coordinates of the location of the event as a function of a calculated difference between the default font size of the user terminal, whereupon the interaction event occurred, and the default font size of the user terminal whereupon the event is graphically represented.
- This offers the advantage of being able to account for differences in default font sizes when plotting clicks recorded via browsers which are configured differently in terms of default font size.
- the map generation means is arranged to display the graphical representation of the interaction event centred at the received positional coordinates or the relative positional co-ordinates.
- the map generation means is arranged to generate a display of the third dimension as colour-coded graphical representation of the frequency of the interaction events occurring at each location. Colour coding of the results is advantageous because the generated visual report is easily understandable.
- the map generation means is arranged to select a colour for the representation from a scale of colours indicating a range of interaction event frequencies.
- each page has a different scale.
- the scale is determined by the maximum and minimum frequencies of the three-dimensional interaction data for a given GUI page.
- the map generation means is arranged to generate a display of the third dimension of the interaction data constantly with the two- dimensional interactive event location data.
- the map generation means may be arranged to generate a display of the third dimension of the interactive data upon user selection of an element of the GUI to which the third dimension data relates.
- the map generation means is arranged to generate a display of the third dimension as a pop-up box which graphically represents statistical data regarding the frequency of the interaction events occurring at each location.
- the pop-up box may contain statistical information regarding the volume of clicks made on a particular target associated with the location.
- the graphical processor is arranged to receive preferences regarding the statistical data which is displayed within the pop-up box.
- the graphical processor is arranged to determine a value of the third dimension at the location of the interaction event and to assign a different value of the third dimension at a proximate location adjacent to the interaction event location.
- the graphical processor is arranged to assign different values to a plurality of proximate locations surrounding the interaction event location, such that the effects of the third dimension are realised as a distribution over the proximate locations and interaction event location.
- the distribution forms a bell-shaped curve.
- the map generation means further comprises export means arranged to convert the graphical representation into a portable image file, wherein upon user selection the portable image file is transmitted from the GUI interaction analyser to a viewing terminal such that it can be viewed or stored at the viewing terminal. This offers the advantage of enabling generated reports to be saved.
- the GUI page comprises a page of a website.
- a method of analysing the results of multiple user-interaction events with a GUI page presented at a user terminal comprising " retrieving interaction data stored in a data store; the interaction data being stored in plurality of interaction records, each of which includes co-ordinates specifying the location within the GUI page of a user interaction event and an identifier identifying the GUI page to which the interaction data record relates, processing the interaction data to generate a three-dimensional representation of the interaction data, two dimensions being determined by the location of the interaction event on the identified GUI page and the third dimension being determined by a further parameter relating to the interaction event occurring at a location of the identified GUI page, and generating a graphical map showing the three-dimensional interaction data superimposed on a representation of the identified GUI page.
- a capture device for capturing interaction data relating to multiple user interaction events with a GUI page presented at a user terminal, the device comprising receiving means for receiving an executable script from an interaction recording device; script execution means for executing the script concurrently with the operation of the GUI page at the user terminal, the script execution means generating interaction data describing each user interaction event occurring with the GUI page, the interaction data including a set of co-ordinates specifying the location within the GUI page of each user interaction event and a unique identifier identifying the GUI page to which the interaction data relates; and transmission means for transmitting the user interaction data to the interaction recording device; wherein script execution means and the transmission means are arranged to generate and transmit a sequence of user interaction data relating to the GUI page in real-time as the interaction events occur, such that realtime graphical reporting of the user interaction with the GUI page is made possible from consideration of the transmitted information.
- the interaction data is recorded at the user terminal, in the background, and has no unwanted affect on the user terminal.
- the capture device further comprises request transmitting means arranged to transmit a first request to the interaction recording device, the first request requesting the executable script from the interaction recording device.
- the script execution means is arranged to generate a request for a session ID and the transmission means is arranged to transmit the request for the session ID to the interaction recording device.
- the receiving means is preferably arranged to receive the requested session ID, and store the session ID in a temporary file.
- the script execution means is arranged to determine session data describing the environment in which the interaction events are recorded.
- the session data comprises one or more session attributes selected from the group comprising: a session start date, a session start time, a browser name, a browser version, a screen resolution, a screen colour depth, a default font size, an IP address, and an operating system of the remote terminal.
- the session ID request includes one or more of the determined session attributes.
- the script execution means is arranged to generate event data relating to a single user's interaction with the GUI page.
- the transmission means is arranged, for each interaction event, to transmit the received session ID together with the event data, specifying at least the positional co-ordinates of the interaction event, and the GUI page ID upon which the interaction event occurred.
- the event data transmitted to the interaction recording device includes one or more further event attributes and the one or more further event attributes may be selected from the group comprising: an event date, an event time, a target positional co-ordinate, a unique target ID, a horizontal pixel scroll variable, a vertical pixel scroll variable, a key element positional co-ordinate, a browser width variable, a browser height variable, an identifier for a previous GUI page, an elapsed time value, a session sequence number, a GUI sequence number, and an URI of a selected element.
- the one or more further event attributes may be selected from the group comprising: an event date, an event time, a target positional co-ordinate, a unique target ID, a horizontal pixel scroll variable, a vertical pixel scroll variable, a key element positional co-ordinate, a browser width variable, a browser height variable, an identifier for a previous GUI page, an elapsed time value, a session sequence number, a GUI sequence number, and an URI of a selected element
- the capture device may comprise means for identifying a selected ' target element, and means for generating a unique target ID from the description of the element.
- the description comprises a mark-up language script describing the target element and the generating means is arranged to use a predetermined subset of the mark-up language script to generate the unique target ID.
- This offers the advantage of keeping the time to generate the target ID to a minimum because if the mark-up language script is very large (i.e. perhaps relating to a drop down select box containing a large number of options) the time to generate the target ID will be larger if the whole script is used.
- the generating means is arranged to reorder the mark-up language script into a ranked ordered list. Re-ordering the script ensures the generating means generates the unique target ID in the same manner as the analyser to arrive at identical target IDs.
- the generating means comprising a hashing algorithm for creating a fingerprint from the mark-up language script, the fingerprint representing the unique target ID.
- the executable script is a JavaScript program
- the GUI page may comprise a page of a website.
- a method of capturing interaction data relating to multiple user interaction events with a GUI page presented at a user terminal comprising: receiving an executable script from an interaction recording source, executing the script concurrently with the operation of the GUI page at the user terminal, the executing step including generating interaction data describing each user interaction event occurring with the GUI page, the interaction data including a set of co-ordinates specifying the location within the GUI page of each user interaction event and a unique identifier identifying the GUI page to which the interaction data relates, and transmitting the user interaction data to the interaction recording device, wherein the transmitting step and the generating step comprise and generating and transmitting a sequence of user interaction data relating to the GUI page in real-time as the interaction events occur, such that real-time graphical reporting of the user interaction with the GUI page is made possible from consideration of the transmitted information.
- a mark-up language representation of a page of a website for display in a browser at a user terminal comprising at least one element, the element including a mark-up language code segment defining a first content component and an executable script defining a website for provision of a second content component, wherein if the browser is unable to execute the script then the mark-up language code segment is displayed in the element.
- Figure 1 is a schematic system diagram showing a central server (CS) embodying the present invention and connections between the central server via the Internet to remote terminals of website visitors and website servers;
- Figure 2 is a flowchart showing an overview of the operation of an embodiment of the present invention shown in Figure 1 ;
- FIG. 3 is a block diagram of four main modules of the CS of Figure 1;
- Figure 4 is a schematic block diagram of three main sections of the CS database shown in Figure 1 including a user account section and session log section shown in Figure 3 and a JavaScript code section;
- Figure 5 is a schematic block diagram of an exemplary relational table illustrating the relationships between data stored in the CS database of Figure 4;
- Figure 6 is schematic block diagram of an account manager shown in Figure 3;
- Figures 7a to 7c are screenshots of a centred website, at increasing screen resolutions, showing the location of a click on a target with reference to the top left-hand corner of the web page and the top left-hand corner of a key element;
- Figure 8 is a is a flowchart showing the method steps required for a "website configuration" stage of Figure 2;
- Figure 9 is schematic block diagram of a real-time interaction recorder of Figure 3
- Figure 10 is a detailed flowchart showing the steps of operation of a "set-up of interaction data recordal" stage and an "interaction data recordal process” stage of Figure 2;
- Figure 11 is a schematic block diagram of a reporting module shown in Figure 3;
- Figures 12a and 12b are schematic diagrams of Internet browser configurations with differing resolutions showing the position of clicks being reported, by the reporting module of Figure 11, with and without scaling;
- FIG 13 is a screenshot exemplifying a heat map report generated by the reporting module, of Figure 5, in accordance with one embodiment of the present invention
- Figure 14 is a graphical image of a scale used as part of the heat map report shown in Figure 13;
- Figure 15 is another screenshot showing a click map report generated by the reporting module of Figure 5;
- Figure 16 is a screenshot showing a hover map report generated by the reporting module of Figure 5;
- Figure 17 is a schematic diagram of an Internet browser configuration, similar to those in Figures 12a and 12b, showing the location of a click with reference to the top . left-hand side of the browser window and the top left-hand side of a target element.
- Figure 18 is a screenshot exemplifying a heat map report generated by the reporting module of Figure 5 when a follow targets filter option is selected;
- Figure 19 is a screenshot exemplifying an AfB testing method which utilises a JavaScript pointer to facilitate A/B testing.
- Figure 20 is a screen shot exemplifying a click stream report generated by the reporting module of Figure 5.
- FIG. 1 is an overview of an example environment 1 where the present embodiment operates.
- a central server (CS) 2 a plurality of website servers (WS) 4 and a plurality of website visitors 6 communicate with each other via the Internet 8.
- the central server 2 has access to a CS database 10 which stores a JavaScript program JSP.
- the website servers 4 each have access to a WS database 12 which stores an HTML file 14 for the website.
- a pointer 16 is a small executable code that is directed to (points to) the JSP.
- the website servers 4 each host a website that the website visitor terminals 6 can remotely access, via an internet browser, using an Internet-enabled device (remote terminal), for example a personal computer, personal digital assistant (PDA), or a mobile telephone.
- Remote terminals accessing/browsing the website, download the HTML file 14 including the pointer 16, and this in turn enables the JSP to be downloaded to the remote terminal 6 (described in detail later).
- FIG. 2 shows a high-level overview 20 of the operation of the present embodiment.
- An administrator (user) of a website hosted by a website server wishing to analyse how website visitor terminals 6 interact with and use the website, registers, at step 22, details of their website with the central server 2.
- the user configures, at step 24, their website for use with the embodiment of the present invention.
- the configuration step 24 includes amending the HTML file 14 of the website to include the pointer 16 to the JSP.
- the pointer 16 operates, at step 26, to set-up an interaction data recordal procedure/process by retrieving the JSP from the CS database 10.
- the JSP is downloaded to the remote terminal 6, and executes such that when visitors click on web pages of the website, interaction data, i.e. information regarding the viewing session, is captured, transmitted to and recorded, at step 28, in the CS database.
- the interaction data comprises session data and click data.
- the session data includes details relating to the remote terminal 6 holding the viewing session, and the click data includes details relating to each visitor click (defined later) on the downloaded page of the website.
- the interaction data provides an insight into how website visitors interact with the website pages, and the interaction data is reported, at step 30, to the user.
- the interaction data is reported in a visual format for example as graphical heat maps (described later) that readily identify where visitors have clicked, including an indication of the popularity of certain selectable icons, such as hyperlinks, and the unpopularity of others.
- the central server 2 comprises four major components including a communications module 32 for handling communication requests to and from the central server 2, an account manager 34 for facilitating the set-up and management of user accounts, a real-time interaction recorder 36 for receiving and recording the interaction data in session logs, and a reporting module 38 for providing real-time reports to the users regarding the interaction data as required.
- the central server 2 has access to the CS database 10 with the account manager 34 accessing a user accounts section 40 and a JavaScript code section 42 in the CS database 10, and the real-time interaction recorder 36 and the reporting module 38 accessing the session logs 44.
- the CS database 10 stores data relating to user accounts, including login information and website configuration information in the user accounts section 40 of the CS database. Data relating to visitors' interaction with registered websites is stored in a session logs section 44 of the CS database 10, and the JSP and a template for the pointer are stored in the JavaScript code 42 section of the CS database 10.
- the interaction data is stored in the CS database 10 using standard relational tables.
- Figure 5 is an example of a standard relational table 50 showing a high-level overview of the kinds of key relational information stored in the CS database 10. In the relational table 50 related data is linked.
- a session ID is assigned and each time the visitor clicks on a web page of the website, information relating to each click is linked to that web page and the relevant session ID.
- each user may register a plurality of websites and each website may contain a plurality of web pages.
- a plurality of visitors to the registered websites will result in a plurality of recorded sessions, each having a unique session ID, and within each recorded session, each click results in a record of information relating to that click.
- Relational tables 50 are preferable for real-time reporting since the information can be retrieved from the relational table 50 very quickly.
- multidimensional cubes may be used.
- a multi-dimensional cube is similar to a relational table and is in fact built upon several specially designed relational tables. The way they differ is that tables are restricted to two dimensions (rows and columns) but cubes can have as many dimensions as required.
- An example of a simple cube would be one with three dimensions representing sales orders. The three dimensions could represent the store the order was placed in, the item sold and the date. Every cell in the cube is then identified by a unique store/item/date combination. The value of a cell would be the number of orders placed in that store for that item on that date. You can also get the number of orders placed in a store on a particular date by omitting the item value from your query.
- the account manager accesses the user accounts section 40 and JavaScript code section 42 of the CS database 10 and the real-time interaction recorder 36 and the reporting module 38 access the session logs 44 section of the CS databaselO.
- the data stored in the user accounts section 40 is related and linked to data stored in the session log section 44.
- Communication requests to the central server 2 are handled by the communications module 32.
- all data being transmitted from the central server 2 is also sent via the communications module 32, which is connected to each of the account manager 34, real-time interaction recorder 36, and reporting module 38.
- the account manager 34 is arranged to handle the tasks of user account creation, dealing with requests to register websites, payment transactions, and facilitating access to configuration material required by the users to configure their websites for monitoring.
- the real-time interaction recorder 36 is arranged to assign a new session ID each time a remote terminal 6 accesses a registered website, and is further arranged to record a plurality of sets of data including information relating to the remote terminal's browser and information relating to each time the visitor uses a mouse or other device to make a selection (click) from the options displayed on the website's web pages.
- the real-time interaction recorder 36 is arranged to store the received data within the relational tables 50 of the CS database 10.
- the reporting module 38 is arranged to receive a request for a report from the remote terminal (viewing terminal) of a user connectable to the central server 2 via the Internet 8, process the request in order to retrieve the relevant data from the CS database 10 and format the results into visual reports to be transmitted to and displayed to the user. This is carried out in real-time and on demand from the user.
- the account manager 34 comprises an account creation module 60 for handling the set-up of accounts for new users, an e-mail generator 62 for creating and sending an e-mail to the new users, a user login module 64 for restricting access to the system to users with valid login details, a website initialisation module 66 for handling user website registration requests, a payment handler 68 for handling payment transactions, a pointer generator 70 for generating the pointer, and a plan manager 72 for the configuration of user requirements.
- an account creation module 60 for handling the set-up of accounts for new users
- an e-mail generator 62 for creating and sending an e-mail to the new users
- a user login module 64 for restricting access to the system to users with valid login details
- a website initialisation module 66 for handling user website registration requests
- a payment handler 68 for handling payment transactions
- a pointer generator 70 for generating the pointer
- a plan manager 72 for the configuration of user requirements.
- the pointer generator 70 accesses the JS code section 42 of the CS database 10, and the account creation module 60, user login module 64, website initialisation module 66, payment handler 68 and plan manager 72 access the user accounts section 40 of the CS database 10.
- the account creation module 60 is arranged to receive administrator/user details, including username, password and e-mail address information, which are recorded in the CS database 10 in order to enable users to login to the central server 2 to generate and retrieve desired reports regarding the website usage/interaction results.
- the account creation information is received by the central server 2 via online forms hosted by a web-serving element of the central server 2.
- the e-mail generator 62 Upon registration of a user, the e-mail generator 62 sends an e-mail to the user's e- mail address, via the communications module 32.
- the e-mail confirms to the user their username and password details and provides a link to a webpage hosted by the web-serving element of the central server 2, where the user can login to their account in order to proceed with initialising their website. It is to be appreciated that it is not essential that an e-mail with this information is sent to the user and that the user may be directed to the login webpage after they have entered their details without receiving an e-mail.
- the user login module 64 is arranged to authenticate the identity of each user at login, in accordance with their username and password details, and to restrict access to the reports which the user has the appropriate permission rights to access, i.e. only reports relating to the websites associated with their account.
- the user login module 64 is also arranged to permit the user to update their account details as necessary, for example, to add additional websites to be monitored.
- the payment handler 68 is arranged to receive and process payment details entered by the user. Payment details are recorded securely using standard payment methods.
- the plan manager 72 is arranged to present the user with sets of options, known as plans, relating to the type and level of monitoring/reporting they require. This advantageously enables the user to tailor the system to their individual needs.
- the different options/plans may be in terms of time, click, or visitor quotas. For example, a user may require their website to be monitored for a month, or until a specified number of clicks are recorded against the website, or a number of visitors have visited the website. It is to be appreciated that this list of options is not limiting and a user may be presented with other options relating to measurable visitor interaction parameters.
- the website initialisation module 66 is arranged to handle user requests to register their website of interest.
- the request from the user's remote terminal (not shown) comprises, at least, data relating to the URL of the website to be monitored.
- the system can account for whether the website to be registered is a centred website, and as such the registration request also comprises data relating to an ID of a main HTML element (known as a key element) of the website.
- a main HTML element known as a key element
- this is a main logo of the website, which is usually located at the same X/Y coordinates on every web page of the website, although it can be any main user- specified element.
- Websites typically have a sufficiently low resolution in order to allow their web pages to be rendered on most screens, i.e. those with high or low resolutions. Where a screen has a higher resolution than the web page to be rendered, the web page does not fill the whole browser window and 'blank' space fills the remaining area. For a left justified website, the blank space is found to the right hand side of the web page.
- Centred websites are websites which are rendered centrally within the browser window, regardless of the resolution of the web pages.
- Figures 7 (a), (b) and (c) each show a screenshot 78 of a centred website being displayed at different (increasingly larger) screen resolutions.
- Identifying a key element within the registration request permits the X/Y co-ordinates of clicks to be recorded (and displayed) relative to the co-ordinates of the key element of the page, rather than the absolute X/Y co-ordinates of the click as measured from the top-left corner of the browser window.
- the X/Y co-ordinates of the key element provide a reference point X from which the position of the click can be measured and plotted.
- the absolute X/Y screen co-ordinates of the click represented by the diagonal lines A, are all different.
- the website initialisation module 66 stores the URL and key element information in the CS database 10 in relation to the user's account information.
- the website initialisation module 66 also converts the website URL information in the request into a unique site ID, which is also stored in the CS database 10 in relation to the user's account information.
- the website initialisation module 66 passes the site ID and main element/ key element ID to the pointer generator 70 in order for it to be integrated into a section of JavaScript pointer code 16.
- the pointer generator 70 retrieves a template of JavaScript code which is supplemented with the site ID and key element ID.
- the pointer 16 therefore is in itself a JavaScript code and is displayed in a text form to the user, together with instructions, such that the user can complete the website configuration step 24 of Figure 2.
- the pointer 16 is a pointer to the JSP that is stored, in the present embodiment, at the central server 2, in the CS database 10.
- the communications module 32 handles the request and returns the JSP to the remote terminal 6, where it is executed in order to facilitate recordal of the interaction data.
- Figure 8 details the method steps 80 which a user must follow in order to configure their website to be monitored by the present embodiment of the invention.
- the user logs in, at step 82, and selects, at step 84, a link to access the pointer text.
- the user copies, at step 86, the displayed pointer text and enters, at step 88 the pointer text into the body section of the HTML file 14 or relevant template file of the appropriate website to be monitored (i.e. the website whose URL has been entered by the user during the registration process).
- the user can carry this operation out using standard 'copy' and 'paste' functions.
- the user then saves and uploads the website, at step 90, to the associated website server 4, where the website can be accessed by visitors. Thereafter, the clicks of those visitors are recorded along with other interaction information such that records of the website usage and interaction can be reported back to the user/administrator as required. This process is described in detail later.
- HTML file 14 An example of an HTML file 14, which does not include the pointer 16 is shown below:
- the pointer 16 comprises configuration information, in the form of the site ID which identifies the website being monitored, and the key element identifying the reference point on the web page, and is XHTML compliant.
- the pointer text is entered just above the end body tag (i.e. just before ⁇ /body> near the bottom of the HTML file). This is preferable because execution of the pointer code causes a window.onload event handler to initialise recording of the click data.
- execution of the pointer code causes a window.onload event handler to initialise recording of the click data.
- other JavaScript code present in the HTML file 14 of the webpage may also use this event handler and as such may result in the pointer code associated with the present embodiment to be overwritten.
- pasting the pointer text at the end of the body element ensures that the pointer is executed last and so cannot be overwritten.
- the real-time interaction recorder 36 When the JSP is downloaded, to the visitor's remote terminal 6, and executed, the real-time interaction recorder 36 is arranged to record the received interaction data from the remote terminal 6, including data associated with the remote terminal 6 and browser, and click data. As shown in Figure 9, the real-time interaction recorder 36 comprises a session ID assignor 92, session data recorder 94, and click data recorder 96. Each of the session ID assignor 92, session data recorder 94, and click data recorder 96 communicate with the communications module 32 and access the session logs section 44 of the CS database 10.
- Execution of the JSP at the remote terminal 6 results in an initial GET request being sent to the central server 2.
- the initial GET request is passed via the communications module 32 to the session ID assignor 92 which is arranged to generate a new session ID.
- the session ID assignor 92 is further arranged to return the session ID to the remote terminal 6 making the initial GET request.
- the session ID returned to the remote terminal 6 is stored in a temporary file (not shown), known as a cookie, at the remote terminal 6, and is used each time visitor click data is sent to the central server 2 in subsequent GET requests which are transmitted in response to each click.
- the initial GET request also comprises the session data (known also as session environment data) relating to the remote terminal 6 making the request.
- the session data comprises the date and time at which the session commenced, the browser name and version for the browser being used to view the website, the resolution and colour depth of the remote terminal's screen, the default font size that the browser is using to display text on the screen, an IP address of the remote terminal 6 making the request, and an operating system of the remote terminal 6.
- the session data of the initial GET request is passed to the session data recorder 94, which is arranged to store the session data in the CS database 10 in relation to the assigned session ID.
- visitor interaction data or click data for every click made on the web page is recorded.
- click data represents any user selection of, or interaction with, icons/elements on the web page, and this is not limited to mouse clicks.
- the present embodiment is equally applicable to touch screens or panels.
- the unique ID of the selected element/target is generated at the remote terminal 6. It is constructed by applying a hashing algorithm to a portion of the HTML for the target.
- the hashing algorithm is applied to the first 200 characters of the HTML for the target, the attributes of which have been re-ordered.
- the hashing result becomes the unique identifier and forms part of the click data.
- the reason for only taking the first 200 characters is to prevent performance problems when determining the click data to be sent to the central server. For example, if the target is a ⁇ select> drop down box with hundreds of options, it could take several minutes to perform the hashing algorithm on the complete HTML element for the target.
- the attributes are re-ordered because different browsers store the attributes within the HTML element (in memory) in different orders. Therefore, in order to produce the same unique ID for each target, regardless of the browser, the attributes must be ordered in the same way (for example alphabetically) each time the unique ID is to be determined.
- FIG 10 shows a flowchart 100 of the method steps required in order to carry out the data recording step, step 28, of Figure 2.
- a visitor opens a web browser, such as Internet Explorer, and navigates to a website of interest.
- the remote terminal 6 sends, at step 102, a request for the desired web page.
- the website server 4 receives the request, and returns, at step 104, the related HTML file 14, which includes the pointer 16.
- the remote terminal 6 loads the web page and executes, at step 106, the pointer code 16, which causes the JSP request to be sent, at step 108, to the central server 2.
- the central server 2 retrieves and returns the JSP, at step 110, and the remote terminal 6 executes, at step 112, the JSP.
- the remote terminal 6 sends, at step 114, the initial GET request, which includes the session data, to the central server 2.
- the central server 2 assigns, at step 116, a new session ID, stores, at step 118, the session data in the CS database 10 in relation to the session ID, and returns, at step 120, the session ID to the remote terminal 6, which stores, at step 122, the session ID in a temporary file/cookie.
- Whether the visitor has clicked on the web page is determined, at step 124. If the answer is no, the remote terminal 6 waits for a click to be made, and if the answer is yes, the remote terminal 6 sends, at step 126, a GET request including the click data to the central server 2.
- the central server 2 receives the GET request and stores, at step 128, the click data in the CS database 10 in relation to the session ID. In this case, the GET request is not used to pull information from the central server 2 but rather to provide raw result data to the central server 2.
- the reason for recording session and click data is to enable the reporting module 38 to generate reports regarding visitor interaction with the website and web pages.
- the table below summaries the use of each of the data types in the generation of the reports.
- the reporting module 38 comprises a result filter 130 for determining which results are required for the report, a raw data locator 132 for retrieving the required raw interaction data from the CS database 10, a report generator 134 for generating the reports, and an export module 136 for enabling the reports to be exported in a format suitable for saving.
- reports in a visual format which relates to the web page on which the click occurred.
- the reports are displayed to the user in an image which overlays the web page in question.
- the types of reports which are suitable includes heat maps that graphically show the volume and location of clicks on the web page, click maps that graphically show the actual position of clicks and whether they were on or off target, hover maps which graphically provide usage data/statistics for individual elements on the web page, click stream reports that show a visitors path through the website and page statistic summaries which provide summary statistics for the page being reported.
- Filtering of the interaction data results enables the user to be presented with appropriate, accurate and meaningful information. Any of the required reports can be based on a filtered set of interaction data results.
- the clicks that are to be included in a report are filtered depending on the user choices relating to: a start date and time, end date and time, day(s) of the week, time periods (morning, afternoon, or evening) browser name and version, time taken to click, default font size, the page the visitor navigated from, the page the visitor navigated to, and screen resolution. It is to be appreciated that this list of filter parameters is not exhaustive, and other filter parameters may be desirable.
- a primary reason for filtering the results is related to the number of variations between the different Internet browsers and the browser being used by the user (website administrator). Different browsers render web pages slightly differently. In addition, the same browsers may be configured differently in terms of screen resolution and colour depth, and default text size. As a result, the positions of clicks that are made via browsers different to that through which the reports are being viewed may be inaccurate to the actual (absolute) position of the click made. Filtering the results, so that the user only sees those clicks which were made with browsers which match their own (i.e. the browser name and version match and are configured with the same resolution and default font size), removes the any potential inaccuracies from the reports.
- Temporal filtering is also useful, and permits analysis of information stored in relation to when the clicks occurred (namely the time between clicks) to help understand a visitor's interaction with a given web page over time. This may be particularly helpful when looking for where (i.e. the element clicked on) a user first clicks when presented with a web page, how long it takes for them to click a certain button for example and in general how they interact with the rest of the options on the web page over time.
- the results can be colour-coded for ease of understanding in a similar manner to the heat map (described below).
- the content of web pages vary with time and the number of visitors to a page may also vary with time. To provide added insight it is possible to filter the results to show the clicks made between particular dates, or at particular times on particular days of the week.
- filtering of the results enables the system to account for the variations between the browser through which the report is being viewed and the browsers through which the clicks were made.
- the analysis tool amends the position of the clicks in the reporting browser to more accurately reflect where the click was made in the visitor's browser.
- the report generator 134 of the central server comprises a scaling module 138 which is responsible for amending the actual X/Y co-ordinates of a click to an equivalent (relative) X/Y co-ordinate of where the click would have been had the visitor been using the same browser as that of the user viewing the report.
- the scaling module 138 first filters the interaction data results into groups depending on resolution and default font size, and then treats/scales the X/Y co-ordinate positions in each group in the same manner, thereby accounting for the variations.
- scaling module must determine which browser the user is using to view the report and also the configuration (i.e. the resolution and default font size) of the browser in question.
- Figures 12 (a) and (b) show an example of how a click's position may be scaled.
- Figure 12 (a) shows a screen layout at a first resolution 140
- Figure 12 (b) shows a screen layout at a second resolution 142, higher than the first resolution.
- the second resolution is twice the size of the first resolution, i.e. the number of pixels (squares) in Figure 12 (b) is twice that of Figure 12 (a).
- a click at location A in Figure 12 (a) is on target for a selectable link 144.
- that click was viewed by a user using a resolution like that of Figure 12 (b), without taking account of the change in resolution, it would appear that the click missed the target at location B.
- the X/Y co-ordinates of the actual click made using a browser with the resolution of Figure 12 (a)
- the click appears to have been made at the relative 'correct' location C.
- scaling is also possible where the website is centred. The clicks are plotted with reference to the key element in that case, although, the scaling is carried out in the same manner.
- Filtering using the abovementioned filter parameters is performed by querying the relational tables 50 stored in the CS database 10 with a SELECT query which is composed in relation to the results required.
- the result filter is arranged to compose a suitable SELECT query on the basis of the results required for reporting, and the raw data locator 132 is arranged to execute the SELECT queries in order to retrieve the raw data from the CS database 10.
- the first query is an SQL query that gets the data from the tables.
- the second is a Multidimensional Expressions (MDX) query that gets the data from the multidimensional cube.
- MDX Multidimensional Expressions
- Databases configured for OLAP allow for complex analytical and ad-hoc queries with a rapid execution time.
- the retrieved raw interaction data is passed to the report generator 134 which converts the data into the required graphical/visual representation.
- heat maps 150 offer a visual representation of the locations within a webpage, which are clicked most often. For each click on the webpage, a coloured marker 152, 160 appears in the heat map report image giving it a three-dimensional information presentation ability. A plurality of clicks at one co-ordinate location results in a graduated change in colour. Thereby, showing not only the locations which are clicked most often but an indication as to how often one location is clicked in relation to other areas.
- a scale 154 is provided on the website showing the graduated range of colours, for example blue 156 through to red 158. In this example, a location, which is clicked once, shows a blue marker 152, and a location which has been clicked a large number of times shows a red marker 160.
- An example scale 154 is shown in Figure 14. This scale is shown as a scale of white 162 through darker shades of grey to black 164, where the white end 162 of the scale represents blue and the black end 164 of the scale represents red.
- the heat map 150 is generated by plotting the clicks on a web page recorded in the database on a bitmap image.
- the heat map is generated independently of the image of the web page and is simply overlaid on top of the actual web page during the reporting process.
- Each click is represented with a circle of colour showing the greatest "heat” in the middle at the pixel where the click was made. The colours used are adjusted so that the "hottest" part of the resulting image is the point where there were the most clicks on the web page.
- a single click is shown in Figure 13 at point 152.
- the heat maps 150 are created using a bell curve.
- the pixel where the click actually occurred is awarded 5 points, then the pixels immediately either side get 3 points, then the ones next to that get 1, as shown below (each number represents one pixel).
- Pixels which have been clicked on several times accumulate in value. For example, if the pixel represented above by the number 5 has been clicked on twice, its value increases to 10, and the remaining values surrounding the 5 are also doubled.
- the value of each pixel is then represented by a colour.
- the colour red is used for pixels that have the maximum value and the colour blue is used for pixels that have the minimum value.
- AU other values, between the maximum and minimum are given different colours of the spectrum, in accordance with the scale 154. This provides a smooth gradient for colours within the heat maps 150. Pixels that have no value are not assigned a colour and are remain transparent, such that when the heat map is overlaid on top of the website, only the colour of the website at that pixel is shown.
- Click maps 170 are very similar to heat maps 150 but are a simplified version showing a small marker 172, 174 for each click on the page.
- the graphical representation of a click (a cross) is drawn in either green 174 or red 172.
- Green clicks 174 are on 'clickable' elements 176, 184 (hyperlinks, hyperlinked images, form fields, buttons, elements with onclick handlers, etc), and red clicks 172 are on non-clickable elements.
- Click maps 170 do not visualise the concentration of clicks as accurately as heat maps. However, they can be used to identify 'close misses' 178, i.e.
- a hover map 180 shows a pop-up box 182 which contains statistics about an element, in this case, a 'try the demo' button 184.
- the report generator 134 prepares the necessary reporting information (including relating the information about each element to the unique ID for that element) and transmits it to the user's remote terminal. Thereafter, a mouse-over event handler ensures that the relevant pop-up box 182 is displayed in response to a mouse-over for that element, the unique ID of which is determined, as described above.
- a user When a user wishes to view a report, they are shown in the first instance the home page of their website. Initially, an option to navigate through the website is selected 190. Other options for viewing a heat map 192, click map 194 or hover map 196 are presented to the user. Upon selection of one of these options a request is sent to the central server 2, and the communications module 32 will pass the request to the reporting module 38 to process the request as described above.
- a user wishes to view a report for another page of the website, they select the navigate button 190 when in Figures 13, 15, and 16, which turns off the reporting feature of the browser and allows the user to navigate through the website to find a further page of interest.
- the user is also presented with filter options 200 as detailed above, and the user can select to update the image as necessary depending on the filter parameters selected.
- the user also has the option of changing the transparency of the heat or click maps. This is achieved by adjusting the contrast, between the report image overlaid on top of the web page, and the web page itself, using standard image processing techniques.
- a further filter option, a follow target option 210 provides a visual representation of the location (X/Y co-ordinates) of each click in relation to the XAf co-ordinated of the selected element/target. Without follow targets selected, the clicks are displayed at the exact (absolute) X/Y co-ordinates recorded, relative to either the top corner of the page or the key element, if specified. However, as detailed above, when a visitor clicks on a clickable target, the X/Y co-ordinates of the clickable element are also recorded in addition to the unique ID of the element. As a result, when follow targets is selected, the clicks are plotted relative to the selected element's co-ordinates. This enables the clicks to be repositioned on dynamic pages to line up with the elements/targets they are associated with.
- a click 220 is made 55 pixels from the top of the page and 85 pixels from the left. Due to the fact the click 220 is on a clickable element 222, the X/Y co-ordinates of the top left pixel of the clickable element can be determined because a unique ID of the selected clickable element is sent with the click data to the central server. As a result, it is possible to plot the click in relation to the clickable element (i.e. in this case the click is located 17 pixels from the top of the element and 30 pixels from the left of the element). At the time of rendering the result, the report generator 134 will ascertain from the web page (being displayed underneath the report) current X/Y co-ordinates for the selected element 222. As such, it is possible to display the clicks 220 with reference to the selected element 222 regardless of how the element changes 222 its position on the web page over time.
- the filter for follow targets requires a record of the selected element's X/Y coordinates to be made, or a record of the unique ID of the selected element, the follow targets filter being selected has the result that any clicks on non-clickable elements will be filtered out, i.e. X/Y co-ordinates of an element can only be recorded when the click is on an element.
- Figure 18 shows a screen shot 230 of the results when follow targets 210 is selected, and no "off-target" clicks are shown.
- the export module 136 is arranged to convert the report image in export map mode into a JPEG file, which can subsequently be displayed to a user using a suitable program such as Microsoft Photo Editor or Paint.
- the present invention can be used to facilitate A/B testing
- A/B tests allow website owners to test the relative merits of two different versions of web page content (e.g. an advert, link, content) which is to be provided in one location with real visitors. By examining the 'success' (number of clicks, sales, page view times) of each version, they can then optimise their page by choosing the most successful version.
- Most existing A/B testing suites allow you to define both versions (i.e. content A and B) on a remote A/B testing server (which delivers the tests).
- a JavaScript pointer is included in the HTML file for the web page, and when the web page is downloaded from the website server, the JavaScript pointer makes a request to the A/B testing server to retrieve and returns either content A or B, for inclusion in the web page.
- Figure 19 shows a web page 240 which includes a JavaScript pointer 242 to the A/B testing server (www.ab.com) where the content A and B is stored.
- any browsers which are not able to execute JavaScript will not facilitate recording of any interaction data, but more importantly the visitor to the web page is unable to see either content A or B and the web page does not deliver its intended message.
- This is a disadvantage that deters website administrators from making use of A/B testing when evaluating the content of their website.
- the A/B testing of the present embodiment overcomes this problem by ensuring that content A (default content) is defined in the HTML file for the web page and that 50% of the time that content is replaced by content B (alternative content), from an A/B testing server, through the use of a portion of JavaScript code. In this way, if the browser is not capable of executing JavaScript code, then the visitor is always presented with the default content, and therefore this avoids the situation with known methods of A/B testing where no content is delivered.
- the website administrator defines content for version B on the A/B testing server, and specifies an ID for an existing HTML element on the page to replace (i.e. the existing element is the default content A).
- JavaScript code including, a pointer to the content for version B, is included within the downloaded HTML file. After download, the JavaScript code executes such that a request is made to the A/B testing server to replace content A within the HTML file.
- the A/B testing server alternates delivering or not delivering the content B to ensure that 50% of the web page downloads result in content A being replaced with content B.
- content A will be displayed by default, since there is no requirement for it to be dynamically delivered.
- a click stream report is a visualisation of one or more website visitors' path through the website.
- the click data relating to the URI a visitor navigated from to arrive and the web page where a current click occurred (i.e. the click resulting in the click data being sent), and the URI of the element the visitor clicked on (i.e. where the visitor navigated to) is recorded for each click and can be collated to provide meaningful reports.
- An example click stream report 250 is shown in Figure 20.
- the report generator collates the information regarding how visitors navigate through the website.
- the click stream report may be based on a single visitor's path through the website.
- click stream reports may be based on any collection of results.
- the report generator may, for each session ID, plot the path through the website (perhaps only the first four clicks). Having done that for each session ID, the report generator can order the different paths in terms of their popularity, and provide a click stream report similar to that in Figure 20 for the most popular paths through the website.
- the click stream report may also include statistical details, for example, regarding the percentage of people who took the most popular path.
- the click stream report may visualise the popularity of different paths through the website. As shown in Figure 20, a wide arrow 252 may represent the number of visitors choosing the path from a first web page 254 to a second webpage 256, and a thin arrow 258 may represent a less popular route.
- the system provides a user with the ability to view every single click that occurs on their website.
- Known web analytics software have not previously offered this functionality.
- the user does not require technical knowledge to be able to analyse the clicks.
- analysis of every visitor is possible, down to their individual route through the site and the actual locations that they clicked. It is, of course, highly advantageous for website administrators/users to identify the elements on the website that are of interest to visitors and those that are not.
- Filtering of the reported data is advantageous because it permits the user to view information which is accurate and meaningful. Furthermore, the ability to view realtime reports enables users to react extremely quickly if the desired results are not being achieved.
- interaction data need not be JavaScript, as other types of script may be suitable.
- interaction data need not relate solely to mouse clicks, and could include data from touch screens, wherein interaction with the touch screen may be using a pointing tool or a user's finger.
- the 'click' need not solely relate to a single pixel. Especially, in terms of touch screens a range or group of consecutive pixels may be used.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
La présente invention concerne un enregistreur permettant l'enregistrement de données concernant une pluralité d'événements d'interaction avec une interface graphique d'utilisateur affichée au niveau d'un terminal d'utilisateur. L'enregistreur comporte: un moyen de transmission de script permettant la transmission d'un script exécutable vers le terminal d'utilisateur en réponse à une première requête; un moyen de réception de données d'interaction permettant la réception de données d'interaction générées par l'exécution du script sur le terminal d'utilisateur, les données d'interaction décrivant chaque événement d'interaction d'utilisateur se produisant avec l'interface graphique d'utilisateur et comprenant un ensemble de coordonnées spécifiant la localisation dans l'interface graphique d'utilisateur de chaque événement d'interaction d'utilisateur et un identifiant assurant l'identification de l'interface graphique d'utilisateur à laquelle les données sont associées; et une unité de stockage de données agencée pour stocker les données d'interaction reçues. Le moyen de réception de données d'interaction et l'unité de stockage sont agencés pour recevoir et stocker une séquence de données d'interaction d'utilisateur concernant l'interface graphique d'utilisateur en temps réel au fur et à mesure de la survenance d'événement d'interaction, de sorte que le rapport graphique en temps réel de l'interaction de l'utilisateur avec l'interface graphique d'utilisateur est possible grâce à la visualisation des données d'interaction stockées actuellement. L'invention concerne également un dispositif de capture de données et un analyseur d'interactions.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0606889.4 | 2006-04-05 | ||
GB0606889A GB0606889D0 (en) | 2006-04-05 | 2006-04-05 | Automated analysis of interaction with user interfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2007113573A2 true WO2007113573A2 (fr) | 2007-10-11 |
WO2007113573A3 WO2007113573A3 (fr) | 2008-12-18 |
Family
ID=36539404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2007/001275 WO2007113573A2 (fr) | 2006-04-05 | 2007-04-05 | Mesure automatisée d'interaction avec interfaces d'utilisateur |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB0606889D0 (fr) |
WO (1) | WO2007113573A2 (fr) |
Cited By (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198600A1 (en) * | 2012-01-30 | 2013-08-01 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US20130339839A1 (en) * | 2012-06-14 | 2013-12-19 | Emre Yavuz Baran | Analyzing User Interaction |
GB2508190A (en) * | 2012-11-22 | 2014-05-28 | Wonga Technology Ltd | Monitoring user interaction with webpages using unique identifiers for page components |
US8868722B2 (en) | 2008-12-17 | 2014-10-21 | Microsoft Corporation | Monitoring activity on a computer |
US9019123B2 (en) | 2011-12-22 | 2015-04-28 | Box, Inc. | Health check services for web-based collaboration environments |
US9027108B2 (en) | 2012-05-23 | 2015-05-05 | Box, Inc. | Systems and methods for secure file portability between mobile applications on a mobile device |
US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
US9197718B2 (en) | 2011-09-23 | 2015-11-24 | Box, Inc. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
US9195519B2 (en) | 2012-09-06 | 2015-11-24 | Box, Inc. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
US9213684B2 (en) | 2013-09-13 | 2015-12-15 | Box, Inc. | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
US9237170B2 (en) | 2012-07-19 | 2016-01-12 | Box, Inc. | Data loss prevention (DLP) methods and architectures by a cloud service |
US9280613B2 (en) | 2012-05-23 | 2016-03-08 | Box, Inc. | Metadata enabled third-party application access of content at a cloud-based platform via a native client to the cloud-based platform |
US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
WO2016050960A1 (fr) * | 2014-10-02 | 2016-04-07 | Immersion | Procédé et dispositif d'aide à la décision |
US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9396216B2 (en) | 2012-05-04 | 2016-07-19 | Box, Inc. | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform |
US9413587B2 (en) | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
US9450926B2 (en) | 2012-08-29 | 2016-09-20 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9483473B2 (en) | 2013-09-13 | 2016-11-01 | Box, Inc. | High availability architecture for a cloud-based concurrent-access collaboration platform |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
US9507795B2 (en) | 2013-01-11 | 2016-11-29 | Box, Inc. | Functionalities, features, and user interface of a synchronization client to a cloud-based environment |
US9519886B2 (en) | 2013-09-13 | 2016-12-13 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
US9519526B2 (en) | 2007-12-05 | 2016-12-13 | Box, Inc. | File management system and collaboration service and integration capabilities with third party applications |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US9606705B2 (en) | 2012-09-06 | 2017-03-28 | Apple Inc. | Techniques for capturing and displaying user interaction data |
US9628268B2 (en) | 2012-10-17 | 2017-04-18 | Box, Inc. | Remote key management in a cloud-based environment |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9652741B2 (en) | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9729675B2 (en) | 2012-08-19 | 2017-08-08 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US9773051B2 (en) | 2011-11-29 | 2017-09-26 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
WO2018045312A1 (fr) * | 2016-09-01 | 2018-03-08 | Foresee Results, Inc. | Système et procédé mis en œuvre par ordinateur destinés au rapport en page d'une rétroaction d'informations d'utilisateur sur un site web ou une application mobile |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9978040B2 (en) | 2011-07-08 | 2018-05-22 | Box, Inc. | Collaboration sessions in a workspace on a cloud-based content management system |
WO2018106214A1 (fr) * | 2016-12-05 | 2018-06-14 | Google Llc | Sélection et distribution automatiques d'enregistrements d'applications exécutées sur des dispositifs informatiques dans des environnements en réseau |
US10038731B2 (en) | 2014-08-29 | 2018-07-31 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
US10044773B2 (en) | 2013-09-13 | 2018-08-07 | Box, Inc. | System and method of a multi-functional managing user interface for accessing a cloud-based platform via mobile devices |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
US10229134B2 (en) | 2013-06-25 | 2019-03-12 | Box, Inc. | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
CN109684184A (zh) * | 2018-12-26 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 一种应用操作的复现方法、装置及电子设备 |
US20190146616A1 (en) * | 2008-04-15 | 2019-05-16 | Verint Americas Inc. | Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10599671B2 (en) | 2013-01-17 | 2020-03-24 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US10628504B2 (en) | 2010-07-30 | 2020-04-21 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
WO2020223409A1 (fr) | 2019-04-30 | 2020-11-05 | Userzoom Technologies, Inc. | Systèmes et méthodes pour améliorer le test d'expérience |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
US11086958B2 (en) | 2015-02-23 | 2021-08-10 | Micro Focus Llc | Navigation menu based on crowd data |
US11210610B2 (en) | 2011-10-26 | 2021-12-28 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
US11941039B2 (en) | 2010-05-26 | 2024-03-26 | Userzoom Technologies, Inc. | Systems and methods for improvements to user experience testing |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330503B2 (en) | 2009-06-19 | 2016-05-03 | Microsoft Technology Licensing, Llc | Presaging and surfacing interactivity within data visualizations |
US8531451B2 (en) | 2009-06-19 | 2013-09-10 | Microsoft Corporation | Data-driven visualization transformation |
US8866818B2 (en) | 2009-06-19 | 2014-10-21 | Microsoft Corporation | Composing shapes and data series in geometries |
US8692826B2 (en) | 2009-06-19 | 2014-04-08 | Brian C. Beckman | Solver-based visualization framework |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393407B1 (en) * | 1997-09-11 | 2002-05-21 | Enliven, Inc. | Tracking user micro-interactions with web page advertising |
GB2375030B (en) * | 2001-04-27 | 2005-05-11 | Ibm | Changing user interface following difficulty in use |
-
2006
- 2006-04-05 GB GB0606889A patent/GB0606889D0/en not_active Ceased
-
2007
- 2007-04-05 WO PCT/GB2007/001275 patent/WO2007113573A2/fr active Application Filing
Cited By (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519526B2 (en) | 2007-12-05 | 2016-12-13 | Box, Inc. | File management system and collaboration service and integration capabilities with third party applications |
US20190146616A1 (en) * | 2008-04-15 | 2019-05-16 | Verint Americas Inc. | Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage |
US10489264B2 (en) | 2008-12-17 | 2019-11-26 | Microsoft Technology Licensing, Llc | Monitoring activity on a computer |
US9577903B2 (en) | 2008-12-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Monitoring activity on a computer |
US8868722B2 (en) | 2008-12-17 | 2014-10-21 | Microsoft Corporation | Monitoring activity on a computer |
US11941039B2 (en) | 2010-05-26 | 2024-03-26 | Userzoom Technologies, Inc. | Systems and methods for improvements to user experience testing |
US10628504B2 (en) | 2010-07-30 | 2020-04-21 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
US9652741B2 (en) | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
US9978040B2 (en) | 2011-07-08 | 2018-05-22 | Box, Inc. | Collaboration sessions in a workspace on a cloud-based content management system |
US9197718B2 (en) | 2011-09-23 | 2015-11-24 | Box, Inc. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
US11210610B2 (en) | 2011-10-26 | 2021-12-28 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
US11537630B2 (en) | 2011-11-29 | 2022-12-27 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US11853320B2 (en) | 2011-11-29 | 2023-12-26 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9773051B2 (en) | 2011-11-29 | 2017-09-26 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US12242507B2 (en) | 2011-11-29 | 2025-03-04 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US10909141B2 (en) | 2011-11-29 | 2021-02-02 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9019123B2 (en) | 2011-12-22 | 2015-04-28 | Box, Inc. | Health check services for web-based collaboration environments |
US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
US20130198600A1 (en) * | 2012-01-30 | 2013-08-01 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US11232481B2 (en) * | 2012-01-30 | 2022-01-25 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US10713624B2 (en) | 2012-02-24 | 2020-07-14 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
US9413587B2 (en) | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
US9396216B2 (en) | 2012-05-04 | 2016-07-19 | Box, Inc. | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
US9552444B2 (en) | 2012-05-23 | 2017-01-24 | Box, Inc. | Identification verification mechanisms for a third-party application to access content in a cloud-based platform |
US9027108B2 (en) | 2012-05-23 | 2015-05-05 | Box, Inc. | Systems and methods for secure file portability between mobile applications on a mobile device |
US9280613B2 (en) | 2012-05-23 | 2016-03-08 | Box, Inc. | Metadata enabled third-party application access of content at a cloud-based platform via a native client to the cloud-based platform |
US20130339839A1 (en) * | 2012-06-14 | 2013-12-19 | Emre Yavuz Baran | Analyzing User Interaction |
WO2013186638A3 (fr) * | 2012-06-14 | 2014-02-13 | Qubit Digital Ltd. | Analyse d'interaction d'utilisateur |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9237170B2 (en) | 2012-07-19 | 2016-01-12 | Box, Inc. | Data loss prevention (DLP) methods and architectures by a cloud service |
US9473532B2 (en) | 2012-07-19 | 2016-10-18 | Box, Inc. | Data loss prevention (DLP) methods by a cloud service including third party integration architectures |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9729675B2 (en) | 2012-08-19 | 2017-08-08 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9450926B2 (en) | 2012-08-29 | 2016-09-20 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9195519B2 (en) | 2012-09-06 | 2015-11-24 | Box, Inc. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
US9606705B2 (en) | 2012-09-06 | 2017-03-28 | Apple Inc. | Techniques for capturing and displaying user interaction data |
US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
US9628268B2 (en) | 2012-10-17 | 2017-04-18 | Box, Inc. | Remote key management in a cloud-based environment |
WO2014079916A3 (fr) * | 2012-11-22 | 2014-08-28 | Wonga Technology Limited | Surveillance d'interaction d'utilisateur |
GB2508190A (en) * | 2012-11-22 | 2014-05-28 | Wonga Technology Ltd | Monitoring user interaction with webpages using unique identifiers for page components |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9507795B2 (en) | 2013-01-11 | 2016-11-29 | Box, Inc. | Functionalities, features, and user interface of a synchronization client to a cloud-based environment |
US10599671B2 (en) | 2013-01-17 | 2020-03-24 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US10877937B2 (en) | 2013-06-13 | 2020-12-29 | Box, Inc. | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US11531648B2 (en) | 2013-06-21 | 2022-12-20 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
US10229134B2 (en) | 2013-06-25 | 2019-03-12 | Box, Inc. | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9483473B2 (en) | 2013-09-13 | 2016-11-01 | Box, Inc. | High availability architecture for a cloud-based concurrent-access collaboration platform |
US11435865B2 (en) | 2013-09-13 | 2022-09-06 | Box, Inc. | System and methods for configuring event-based automation in cloud-based collaboration platforms |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US10044773B2 (en) | 2013-09-13 | 2018-08-07 | Box, Inc. | System and method of a multi-functional managing user interface for accessing a cloud-based platform via mobile devices |
US11822759B2 (en) | 2013-09-13 | 2023-11-21 | Box, Inc. | System and methods for configuring event-based automation in cloud-based collaboration platforms |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
US9704137B2 (en) | 2013-09-13 | 2017-07-11 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
US9519886B2 (en) | 2013-09-13 | 2016-12-13 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
US9213684B2 (en) | 2013-09-13 | 2015-12-15 | Box, Inc. | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US10708323B2 (en) | 2014-08-29 | 2020-07-07 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
US11146600B2 (en) | 2014-08-29 | 2021-10-12 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10708321B2 (en) | 2014-08-29 | 2020-07-07 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US11876845B2 (en) | 2014-08-29 | 2024-01-16 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10038731B2 (en) | 2014-08-29 | 2018-07-31 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
EP3202116B1 (fr) * | 2014-10-02 | 2021-12-08 | Immersion | Procédé et dispositif d'aide à la décision |
US10341163B2 (en) | 2014-10-02 | 2019-07-02 | Immersion | Method and device to assist with decision-making |
FR3026874A1 (fr) * | 2014-10-02 | 2016-04-08 | Immersion | Procede et dispositif d'aide a la decision |
WO2016050960A1 (fr) * | 2014-10-02 | 2016-04-07 | Immersion | Procédé et dispositif d'aide à la décision |
EP3202116A1 (fr) * | 2014-10-02 | 2017-08-09 | Immersion | Procédé et dispositif d'aide à la décision |
US11086958B2 (en) | 2015-02-23 | 2021-08-10 | Micro Focus Llc | Navigation menu based on crowd data |
WO2018045312A1 (fr) * | 2016-09-01 | 2018-03-08 | Foresee Results, Inc. | Système et procédé mis en œuvre par ordinateur destinés au rapport en page d'une rétroaction d'informations d'utilisateur sur un site web ou une application mobile |
US11232252B2 (en) | 2016-09-01 | 2022-01-25 | Verint Americas Inc. | System and computer-implemented method for in-page reporting of user feedback on a website or mobile app |
US11907645B2 (en) | 2016-09-01 | 2024-02-20 | Verint Americas Inc. | System and computer-implemented method for in-page reporting of user feedback on a website or mobile app |
IL264787B (en) * | 2016-09-01 | 2022-11-01 | Verint Americas Inc | Computer-implemented system and method for in-page reporting of user feedback on a website or mobile application |
IL264787B2 (en) * | 2016-09-01 | 2023-03-01 | Verint Americas Inc | Computer-implemented system and method for in-page reporting of user feedback on a website or mobile application |
WO2018106214A1 (fr) * | 2016-12-05 | 2018-06-14 | Google Llc | Sélection et distribution automatiques d'enregistrements d'applications exécutées sur des dispositifs informatiques dans des environnements en réseau |
US11036526B2 (en) | 2016-12-05 | 2021-06-15 | Google Llc | Automatically selecting and distributing recordings of applications executing on computing devices over networked environments |
EP3543859A1 (fr) * | 2016-12-05 | 2019-09-25 | Google LLC | Sélection et distribution automatique dans un environnement réseau d'enregistrements d'applications executées sur ordinateur |
CN109684184A (zh) * | 2018-12-26 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 一种应用操作的复现方法、装置及电子设备 |
WO2020223409A1 (fr) | 2019-04-30 | 2020-11-05 | Userzoom Technologies, Inc. | Systèmes et méthodes pour améliorer le test d'expérience |
EP3963435A4 (fr) * | 2019-04-30 | 2023-01-25 | Userzoom Technologies, Inc. | Systèmes et méthodes pour améliorer le test d'expérience |
Also Published As
Publication number | Publication date |
---|---|
WO2007113573A3 (fr) | 2008-12-18 |
GB0606889D0 (en) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007113573A2 (fr) | Mesure automatisée d'interaction avec interfaces d'utilisateur | |
US10079737B2 (en) | Method and system for generating comparable visual maps for browsing activity analysis | |
CN109862064B (zh) | 一种用于设备远程监控的组态方法及装置 | |
TWI424326B (zh) | A server device, a terminal device, a user care calculation method, a recording medium for recording a program, and a information providing system | |
US20100251128A1 (en) | Visualization of website analytics | |
KR101193354B1 (ko) | 정보 처리 장치, 단말 장치, 관심 콘텐츠 판정 방법, 프로그램이 기록된 기록 매체, 및 정보 제공 시스템 | |
EP2404245A1 (fr) | Procédé, dispositif et système pour visualiser le comportement de navigation dans une page web d'un utilisateur | |
AU2008210905A1 (en) | User simulation for viewing web analytics data | |
US20150066579A1 (en) | Method of and Apparatus for Determining Worth of a Displayed Component | |
WO2008094739A2 (fr) | Mécanisme de récupération pour simulateur de visite web | |
US20140059433A1 (en) | Method and Apparatus for Enhanced Network Data Processing and Customizable User Interface | |
WO2012032834A1 (fr) | Système de visualisation de document et son procédé de commande | |
US9298709B2 (en) | Computer system to visualize data from an IP rights database | |
JP3951800B2 (ja) | 相関ルール分析装置と方法およびプログラムと記録媒体 | |
KR100835905B1 (ko) | 웹사이트 방문자의 웹페이지 내부 클릭분포를 시각화하는장치 및 그를 이용하여 시각화하는 방법 | |
JP4881994B2 (ja) | 情報処理装置、関心コンテンツ判定方法、関心コンテンツ判定プログラム、及び情報提供システム | |
CN111767107A (zh) | 一种信息的可视化展示方法及系统 | |
JP5300648B2 (ja) | 推薦情報提供装置、ユーザ端末、操作推薦方法、及びプログラム | |
Kumar et al. | A brief investigation on web usage mining tools (WUM) | |
US6704783B1 (en) | Reference state output system, reference state output method, and computer readable medium on which reference state output program is recorded | |
Pansanato et al. | An evaluation with web developers of capturing user interaction with rich internet applications for usability evaluation | |
US6961072B2 (en) | Method and system for viewing chromatographic peaks over a network | |
JP6101880B1 (ja) | Webページを表示するためのシステム、プログラムおよび記録媒体 | |
JP2013037577A (ja) | 情報表示面イメージ表示システム、及び関連する方法、装置、プログラム | |
JP2001188703A (ja) | ページ情報取得方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07732319 Country of ref document: EP Kind code of ref document: A2 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07732319 Country of ref document: EP Kind code of ref document: A2 |