CA2609992A1 - Web usage overlays for third-party web plug-in content - Google Patents
Web usage overlays for third-party web plug-in content Download PDFInfo
- Publication number
- CA2609992A1 CA2609992A1 CA002609992A CA2609992A CA2609992A1 CA 2609992 A1 CA2609992 A1 CA 2609992A1 CA 002609992 A CA002609992 A CA 002609992A CA 2609992 A CA2609992 A CA 2609992A CA 2609992 A1 CA2609992 A1 CA 2609992A1
- Authority
- CA
- Canada
- Prior art keywords
- plug
- resource
- output region
- computer program
- web page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Abstract
Overlay reports showing user interaction with web plug-in content are generated. Dimensions of elements within plug-in resources are determined by moving the elements to various locations with an output region and noting changes in overall dimensions of the out put region. Once dimensions have been determined, overlay reports are generated including color-coded regions depicting relative levels of interaction.
Description
WEB USAGE OVERLAYS FOR THIRD-PARTY WEB PLUG-IN CONTENT
Inventors:
Michael Paul Bailey Brett M. Error Cross-Reference to Related Applications [0001] The present application claims priority from U.S. Provisional patent application serial no. 60/688,274, for "Applying A Web Usage Overlay To Output Of Third-Party Web Plug-Ins," filed June 6, 2005 and U.S. patent application serial no.
11/341,231, for "Web Us-age Overlays for Third-Party Web Plug-In Content," filed January 26, 2006, the disclosures 1o of which are incorporated herein by reference.
Inventors:
Michael Paul Bailey Brett M. Error Cross-Reference to Related Applications [0001] The present application claims priority from U.S. Provisional patent application serial no. 60/688,274, for "Applying A Web Usage Overlay To Output Of Third-Party Web Plug-Ins," filed June 6, 2005 and U.S. patent application serial no.
11/341,231, for "Web Us-age Overlays for Third-Party Web Plug-In Content," filed January 26, 2006, the disclosures 1o of which are incorporated herein by reference.
[0002] The present invention is a continuation-in-part of U.S. Utility patent application serial no. 10/794,809, for "Associating Website Clicks with Links on a Web Page," filed March 3, 2004, attorney docket number 7762, the disclosure of which is incorporated herein by reference.
Field of the Invention [0003] The present invention relates generally to tracking website usage, and more par-ticularly to monitoring and tracking user interaction with third-party web plug-ins and related content.
Background of the Invention [0004] Web analytics refers to the analysis of data created by website usage.
For in-stance, web analytics can be used to mine visitor traffic data. A variety of visitor traffic data is measured such as what browser is being used, what links on a given web page were se-lected, whether a product was purchase, etc. A number of web analytics tools are presently available, such as Site Catalyst version 11 from Omniture of Orem, Utah. These tools are able to capture data on website usage, and responsive to a user's request display a variety of different metrics on website usage such fallout/conversion, A/B testing, and the like.
Field of the Invention [0003] The present invention relates generally to tracking website usage, and more par-ticularly to monitoring and tracking user interaction with third-party web plug-ins and related content.
Background of the Invention [0004] Web analytics refers to the analysis of data created by website usage.
For in-stance, web analytics can be used to mine visitor traffic data. A variety of visitor traffic data is measured such as what browser is being used, what links on a given web page were se-lected, whether a product was purchase, etc. A number of web analytics tools are presently available, such as Site Catalyst version 11 from Omniture of Orem, Utah. These tools are able to capture data on website usage, and responsive to a user's request display a variety of different metrics on website usage such fallout/conversion, A/B testing, and the like.
[0005] In an on-line environment, website usage and other customer behavior may be tracked by a website server, or by another server such as a data collection server (also known as a data collector), which may be remotely located. The data collection server is notified of activity on a website so that it can monitor and track the activity. One method of achieving this notification is through the use of a request for embedded content.
[0006] Embedded content is part of a web page, such as an image, that is requested as a separate file from the file containing the web page. The separate file may be requested from the website server or from a remote server, such as a remote content server or data collection server. For example, when a user requests a web page from a website server, the website server sends the web page file to the user's client. The client, such as a web browser, then attempts to render the file as a viewable web page. However, upon rendering the web page 1o file, the client may find a reference to a separate file located on the website server or a remote server. After the content is located and sent to the client, the client renders the separate file containing the embedded content along with the original web page.
[0007] A web beacon (also known as a web bug) is a particular type of embedded con-tent where the content itself is irrelevant, but the request for content carries useful infomia-tion. For example, a web beacon is often a transparent image having very small dimensions, such as 1 pixel by 1 pixel. This image is small enough to be invisible to the user. When a client is rendering a web page that includes a web beacon, the web beacon causes the client to send a resource request to a server such as a data collection server. The web beacon may in-clude a script (or other code) that causes the client to include, in the resource request, addi-tional information about the user and the user's environment. The additional information can include the data from a cookie, or other information about the client's operating environment or status. Where the server indicated by the web beacon code is a data collection server, the data collection server may, in response to the request, cause the client to set an additional cookie for identification for tracking purposes. In this manner, the web beacon request can be used to indicate to a data collection server that a particular web page is being rendered.
[0008] One method for including the request is to write the request as a static image tag in Hypertext Markup Language (HTML). The following is an example of an image tag in HTML:
[0009] <img src="http://example.com/tracker.exe?AID=14658&PID=259294&banner=0.gif' width=l height=l border=0>
[0010] Here, the term "ad.datacollectionserver.com" refers to the address of the data collection server.
[0011] Another common method of including the request is to use a scripting language such as JavaScript so as to cause the browser to dynamically generate a request to the data collection server. One advantage of using a script instead of a static image tag is that the script can cause the browser to perform other functions including gathering additional data and sending it along with the request. In either case, the result is a request sent to the data collection server upon the occurrence of an event, such as the loading and rendering of a web page.
1o [0012] Once the request has been sent to the data collection server, the data collection server can perform various types of tracking functions. For example, the data collection server can count the number of requests associated with a web page so as to monitor traffic on the web page. By counting the number of times the web beacon element has been re-quested from the data collection server, the server can determine the number of times a par-ticular page was viewed. By using JavaScript to dynamically construct the request for the web beacon and encode additional information, other identifying information can be obtained for further analysis.
[0013] Other types of website usage tracking are also well known, such as for example log file analysis. In such an approach, statistical analysis is performed on server logs in order to detect and analyze website traffic and usage patterns.
[0014] One mechanism for presenting website usage and traffic data, as described in related U.S. Utility patent application serial no. 10/794,809, for "Associating Website Clicks with Links on a Web Page," filed March 3, 2004, is to superimpose color-coded indications on a representation of a web page (or other online resource). Different colors can be used to represent different levels of activity for the various portions of the web page. For example, on-screen links that experience heavy traffic can be overlaid with one color, while links that experience less traffic can be overlaid with another color. A legend can be provided for ex-planatory purposes with respect to each of the colors.
[0015] For example, referring now to Fig. 2, there is shown an example of a page 3o analysis report 201, displayed alongside an image of the web page 102 being analyzed. In one embodiment, report 201 is provided to a site administrator or owner interacting with data collection server 106. -[0016] In the example of Fig. 2, report 201 includes identification 202 of the website and web page being analyzed; report date 203; report options and settings 204;
page metrics 205; and links 206 to related reports. In addition, variable levels and shades of color density are superimposed on the displayed view of web page 102, in order to visually represent the relative number of clicks each item 208 or screen region has received. Color key 207 is a legend to indicate the meaning of various superimposed colors.
[0017] It is desirable to generate web usage overlays to areas of a web page that are oc-cupied by or rendered by web plug-ins, including plug-ins provided by a third party, so as to provide a graphical display of user behavior with respect to content provided by such plug-ins. For example, it may be desirable to display a color-coded overlay showing user interac-tions with various elements of an interactive Flash movie, Java applet, or the like. In order to display an overlay having visual characteristics that align with the underlying elements (for example, to color-code various user interface elements), it is necessary to ascertain the di-mensions of each of the underlying elements.
[0018] What is needed, therefore, is a technique for determining the dimensions of ele-ments within plug-in content, even when such content was provided by a third party. What is fiirther needed is a technique for generating a web usage overlay for such plug-in content.
Summary of the Invention [0019] The present invention provides a mechanism for determining the dimensions of elements within plug-in resources (such as content and/or applications), so as to enable gen-eration of web usage overlays for areas of a web page occupied by such plug-ins.
[0020] According to one aspect of the invention, an element within the plug-in re-sources is moved to one or more corners of the output region of the plug-in resource.
Changes in dimensions of the output region are detected, and the dimensions of the element are calculated. The element is then restored to its original position. The information regard-ing changes in dimensions is generally available from third-party plug-in applications and can be readily extracted therefrom.
[0021] Once the dimensions of the element are known, an overlay can be generated that visually aligns with the plug-in resource. Thus, when the overlay is presented, color-coding and other visual features are properly positioned and sized within the overall display.
[0022] The present invention can be used for overlay generation for any type of plug-in content, such as for example a movie presentation, whether interactive or non-interactive.
One example of such a movie presentation is that provided by an application such as Flash, provided by Macromedia of San Francisco, California. For example, it may be desirable to provide a color-coded overlay indicating related popularity and/or traffic for various interac-tive components (such as buttons) in a Flash movie. One skilled in the art will recognize that the techniques described herein can also be applied to other types of plug-ins, including for example QuickTime movies, Java applets, and the like.
[0023] The present invention can also be used for generating other types of usage re-ports, including for example hard copy output, text or graphical reports, arand the like.
Brief Description of the Drawings [0024] The accompanying drawings illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0025] Fig. 1 is a block diagram depicting an architecture for website traffic data col-lection according to one embodiment of the present invention.
[0026] Fig. 2 is a screen shot depicting an example of a page analysis report according to one embodiment.
[0027] Figs. 3A through 3D depict an example of a method for determining the dimen-sions of an element of a plug-in resource, according to one embodiment.
[0028] Fig. 4A is a flowchart depicting a method for determining the dimensions of a component of a plug-in resource, where the origin of the element is not necessarily in the center of the element, according to one embodiment.
[0029] Fig. 4B is a flowchart depicting a method for determining the dimensions of a component of a plug-in resource, where the origin of the element is in the center of the ele-ment, according to one embodiment.
[0030] Fig. 5 is a block diagram depicting an architecture for modifying a third-party plug-in resource so as to provide usage tracking functionality according to one embodiment.
[00311 Fig. 6 is a flowchart depicting a method for modifying a third-party plug-in re-source so as to provide usage tracking functionality according to one embodiment.
[0032] Fig. 7 is a flowchart depicting a method for generating a usage overlay for a plug-in resource, according to one embodiment.
[0033] Fig. 8 is a screen shot depicting an example of an overlay report on a third-party plug-in resource.
[0034] One skilled in the art will recognize that these Figures are merely examples of the operation of the invention according to one embodiment, and that other architectures and modes of operation can be used without departing from the essential characteristics of the in-vention.
Detailed Description of the Embodiments [0035] The present invention is now described more fully with reference to the accom-panying Figures, in which several embodiments of the invention are shown. The present in-vention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather these embodiments are provided so that this disclo-sure will be complete and will fully convey the invention to those skilled in the art.
[0036] For illustrative purposes, the invention is described with respect to interactive elements (such as buttons) within a plug-in resource such as content to be displayed within a web page. One example of such a plug-in resource is a content item interpreted and dis-played by the Flash plug-in, available from Macromedia, Inc. of San Francisco, California;
the Flash plug-in works in conjunction with a conventional web browser such as Internet Ex-plorer, available from Microsoft Corporation of Redmond, Washington. The Flash plug-in provides tools for presentation of video and interactive content within the context of a web page. One skilled in the art will recognize that the present invention can be used for deter-mining dimensions of elements in other contexts as well, and that the present invention can be used in connection with other types of plug-in resources.
Architecture [0037] Referring now to Fig. 1, there is shown a block diagram depicting a systein for website traffic data collection according to one embodiment of the present invention. User 112 interacts with client machine 107, which runs a software application such as browser 110 for accessing and displaying web pages. Client machine 107 may be an ordinary personal computer, including well-known components such as a CPU running an operating system such as Microsoft Windows, a keyboard, mouse, display screen, and Internet connection (not shown). Client machine 107 may run various software applications in addition to browser 110. Browser 110 includes scripting engine 116, such as JavaScript, as is commonly found in commercially available browsers. In response to a user 112 action such as clicking on a link or typing in a URL, client machine 107 issues a web page request 111 that is transmitted via the Internet to content server 101. In response to request 111, content server 101 transmits web page 102 (in the form of HTML code, for example) to client machine 107.
Browser 110 displays the requested web page 102 on client machine 107.
[0038] Web page 102 includes beacon code, which in one embodiment is a pointer to a beacon (such as a 1 pixel by 1 pixel transparent image). The beacon is typically invisible to the user, such as a transparent one-pixel image. For purposes of the following description, a beacon is any element that is embedded in a web page 102 which is loaded automatically by browser 110 that references an external server 106 and is used to monitor traffic. The beacon code can be provided as a script (such as a JavaScript script) to be executed by scripting en-gine 116. The beacon code causes client machine 107 to generate resource requests 105 to data collection server 106. These resource requests 105 are usually dynamically generated according to the script instructions. Data collection server 106 records such requests in a log 108, and can also record additional information associated with the request (such as the date and time, and possibly some identifying information that may be encoded in the resource re-quest). Thus, tracking server 106 records the occurrence of a"hit" to web page 102. Track-ing server 106 also transmits the requested one-pixel image to client machine 107 so that the resource request is satisfied.
[0039] Analysis module 113 retrieves stored tracking data from log 108, filters the data, and outputs reports 114 to a web administrator 115. Reports 114 maybe provided in hard copy, or via a display screen (not shown), or by some other means. Reports 114 include, for example, overviews and statistical analyses describing the relative frequency with which various site paths are being followed through the website. Examples of such reports are de-scribed below.
[0040] Module 113 may be implemented in software running on server 106 or on an-other computer that can access log 108.
[0041] In one embodiment, communications between client machine 107, content server 101, and data collection server 106 are accomplished using well known network proto-cols, such as TCP/IP and HTTP, for communication across the Internet. Other communica-tion methodologies and protocols can also be used.
[0042] For example, referring now to Fig. 2, there is shown an example of a page analysis report 201, displayed alongside an image of the web page 102 being analyzed. In one embodiment, report 201 is provided to a site administrator or owner interacting with data collection server 106.
[0043] In the example of Fig. 2, report 201 includes identification 202 of the website and web page being analyzed; report date 203; report options and settings 204;
page metrics 205; and links 206 to related reports. In addition, variable levels and shades of color density are superimposed on the displayed view of web page 102, in order to visually represent the relative number of clicks each item 208 or screen region has received. Color key 207 is a legend to indicate the meaning of various superimposed colors. According to the techniques described herein, an overlay report such as shown in Fig. 2 can be generated for areas of the screen occupied by plug-in content, including third-party plug-in content.
[0044] Fig. 8 shows an example of an overlay report 800 for a web page that includes third-party plug-in content such as areas 801. In this example, areas 801 represent Flash con-tent that occupies a portion of the web page. Certain portions 802 of content areas 801 are highlighted in different colors to denote the traffic levels. Additional information regarding web traffic is shown in overlapping windows 803.
[0045] In order to track user interaction with plug-in content, tracking code is integrated into the plug-in code. Referring now to Fig. 6, there is shown a flowchart depicting a method for modifying a third-party plug-in resource so as to provide usage tracking functionality ac-cording to one embodiment. Referring also to Fig. 5, there is shown a block diagram depict-ing an architecture for modifying a third-party plug-in resource so as to provide usage track-ing fiinctionality according to one embodiment. Plug-in application 501 represents an appli-cation, such as Flash, for displaying and presenting plug-in content.
[0046] Client machine 107 sends a web page request 111 to content server 101.
In re-sponse, content server 101 provides plug-in content 502 to client machine 107.
In one em-bodiment, prior to providing content 502, content server 101 inserts tracking code. This tracking code includes code for identifying and reporting on user interaction witli various elements of the plug-in resource. The tracking code replaces and/or supplements at least one method within the received plug-in content, so as to enable transmission of user behavior to a tracking component.
1o [0047] Browser 110 runs 604 the modified plug-in content 502. Browser 110 displays web page output 506 including plug-in output. User actions with respect to tracked elements (such as a user clicking on a button or otherwise interacting with an element) are detected 605. Usage/behavior data 507 is sent 606 to data collection server 106 according to tech-niques described herein; the data is stored in log 108. Analysis module 113 uses the collected data is then used for generating reports 607; in one embodiment, analysis module 113 in-cludes web overlay generation module 507 for generating overlay reports 508, which are then output. Reports 607 can thus indicate patterns of aggregate user behavior with respect to plug-in content.
[0048] Referring now to Fig. 7, there is shown a method for generating a usage overlay for a plug-in resource containing interactive elements, according to one embodiment. In one embodiment, analysis module 113 as shown in Fig. 1 performs the steps of Fig.
7; in other embodiments, these steps can be performed by any component of a web analysis tracking system.
[0049] First, the locations and dimensions of elements are determined 701. In one em-bodiment, the locations (in terms of x,y coordinates) of elements are readily available, and the dimensions are determined using techniques described in more detail herein. Data de-scribing user interaction with these elements is received 702; in one embodiment, this step involves retrieved data from log 108 containing records of user interactions.
In one embodi-ment, this data is aggregated so that the generated report indicates overall behavior trends for 3o a large group of users. Based on the determined locations and dimensions of elements, and based on the aggregated data describing user behavior, an overlay is generated 703. In one embodiment the overlay is a visual representation of relative levels of activity for various ar-eas within the plug-in resource; for example, high-activity areas can be shown in one color, and lower-activity areas can be shown in a different color. Since the component generating the overlay is aware of the positions and dimensions of the eleinents, the positions and di-mensions colored areas of the overlay can be made to match those of the elements to which they refer. The resulting report, output in step 704, shows a representation of the plug-in con-tent, with a color-coded overlay indicating relative activity for various elements within the plug-in content.
[0050] Referring now to Figs. 4A and 4B, there are shown two methods for determining the dimensions of an element of a plug-in resource such as a component of a Flash movie.
Fig. 4A depicts a method where the origin of the element is not necessarily in the center of the element (it may be at a corner, or at some other location). Referring also to Figs. 3A
through 3D, there is shown an example of the method. Fig. 4B depicts a method where the origin of the element is known to be in the center of the element.
[0051] Although in Figs. 3A through 3D, the element is shown at various positions within the output region, the steps herein are performed without displaying these moved ele-ments to the user; thus the method is done transparently without redrawing the plug-in re-source. Output to the user is therefore not disrupted by the use of the method described herein.
[0052] Fig. 3A shows element 302 in its original position, with an origin point 303. X"
and Yc are the unknown dimensions of element 302. Output region 301 represents an area, for example within a web page, for the display of web plug-in content.
[0053] Referring now to Fig. 4A, first the overall dimensions Xorig,Yo,;g of output region 301 are noted 409. Then, element 302 is moved 401 so that its origin point 303 is at the top left corner of output region 301 (Fig. 3B). In one embodiment, existing methods within the plug-in application are used to move element 302; for example, the Macromedia Flash plug-in contains methods that enable movement of elements and other objects.
[0054] Many plug-in applications automatically resize their output regions to account for elements and objects that have moved beyond the original region. For example, the Mac-romedia Flash plug-in automatically resizes the Flash content viewing area (output region) if it detects that an element has moved outside the viewing area.
[0055] Accordingly, since origin 303 is located within element 302, movement of ori-gin 303 to a corner causes some portion of element 302 to be located outside the original out-put region 301. Once the plug-in code has automatically resized output region 301, as shown in Fig. 3B, the new dimensions of the overall Flash movie 301 are compared to the original dimensions Xorig,Yo,;g 402. The differential in both the X and Y dimensions is stored as X1,Yi; this accounts for a first portion of the dimensions of element 302.
[0056] Next, element 302 is moved 404 so that its origin 303 is at the bottom right cor-ner of output region 301 (Fig. 3C). Again, the plug-in code automatically changes the dimen-sions of output region 301; this difference in dimensions is noted 405 as X2, Y2. This in-crease in X and Y dimensions provides the other portion of the X and Y
coordinates. The original size of output region 301 is restored after the increased dimensions are determined.
Element 302 is then moved back 406 to its original location (Fig. 3D). Element 302 dimen-sions are then calculated 407 as X, = Xl + X2 and Y, = Yl + Y2.
[0057] Once element 302 dimensions are known, an overlay can be generated accord-ing to the techniques described above, and the overlay will have the correct location and the correct dimensions.
[0058] Referring now to Fig. 4B, there is shown an embodiment where origin point 303 is known to be located at the center of element 302. Here, steps 409, 401, and 402 are per-formed as above. However, element 302 need not be moved to a second corner;
rather it is returned 406 to its original location. The values Xl and Yl, are each doubled 420 to provide the total X and Y dimensions of element 302. Thus Xc = 2*Xl and Y,, = 2* Yl.
[0059] One skilled in the art will recognize that the above-described technique can be applied in any situation where it is desirable to display an overlay over a portion of a web page occupied by plug-in content. This can apply, for example, to Java applets, Windows Media Player items, Quicktime movies, or the like.
[0060] In the above description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention.
It will be appar-ent, however, to one skilled in the art that the invention can be practiced without these spe-cific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
[0061] In particular, one skilled in the art will recognize that other architectures and analysis and processing techniques and mechanisms may be used, and that the present inven-tion can be implemented using mechanisms other than those described above.
[0062] Reference in the specification to "one embodiment" or "an embodiment"
means that a particular feature, structure, or characteristic described in connection with the embodi-ment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
[0063] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0064] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing"
or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the ac-tion and processes of a computer system, or similar electronic computing device, that ma-nipulates and transforms data represented as physical (electronic) quantities within the com-puter system's registers and memories into other data similarly represented as physical quan-tities within the computer system memories or registers or other such information storage, transmission or display devices.
[0065] The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer sys-tem bus.
[0066] The algorithms and modules presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the method steps. The required structure for a vari-ety of these systems will appear from the description below. In addition, the present inven-tion is not described with reference to any particular programming language.
It will be ap-preciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, as will be apparent to one of ordinary skill in the relevant art, the modules, features, attributes, methodologies, and other aspects of the in-vention can be implemented as software, hardware, firmware or any combination of the three.
Of course, wherever a component of the present invention is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel load-able module, as a device driver, and/or in every and any other way known now or in the fu-ture to those of skill in the art of computer programming. Additionally, the present invention is in no way limited to implementation in any specific operating system or environment.
[0067] It will be understood by those skilled in the relevant art that the above-described implementations are merely exemplary, and many changes can be made without departing from the true spirit and scope of the present invention. Therefore, it is intended by the ap-pended claims to cover all such changes and modifications that come within the true spirit and scope of this invention.
1o [0012] Once the request has been sent to the data collection server, the data collection server can perform various types of tracking functions. For example, the data collection server can count the number of requests associated with a web page so as to monitor traffic on the web page. By counting the number of times the web beacon element has been re-quested from the data collection server, the server can determine the number of times a par-ticular page was viewed. By using JavaScript to dynamically construct the request for the web beacon and encode additional information, other identifying information can be obtained for further analysis.
[0013] Other types of website usage tracking are also well known, such as for example log file analysis. In such an approach, statistical analysis is performed on server logs in order to detect and analyze website traffic and usage patterns.
[0014] One mechanism for presenting website usage and traffic data, as described in related U.S. Utility patent application serial no. 10/794,809, for "Associating Website Clicks with Links on a Web Page," filed March 3, 2004, is to superimpose color-coded indications on a representation of a web page (or other online resource). Different colors can be used to represent different levels of activity for the various portions of the web page. For example, on-screen links that experience heavy traffic can be overlaid with one color, while links that experience less traffic can be overlaid with another color. A legend can be provided for ex-planatory purposes with respect to each of the colors.
[0015] For example, referring now to Fig. 2, there is shown an example of a page 3o analysis report 201, displayed alongside an image of the web page 102 being analyzed. In one embodiment, report 201 is provided to a site administrator or owner interacting with data collection server 106. -[0016] In the example of Fig. 2, report 201 includes identification 202 of the website and web page being analyzed; report date 203; report options and settings 204;
page metrics 205; and links 206 to related reports. In addition, variable levels and shades of color density are superimposed on the displayed view of web page 102, in order to visually represent the relative number of clicks each item 208 or screen region has received. Color key 207 is a legend to indicate the meaning of various superimposed colors.
[0017] It is desirable to generate web usage overlays to areas of a web page that are oc-cupied by or rendered by web plug-ins, including plug-ins provided by a third party, so as to provide a graphical display of user behavior with respect to content provided by such plug-ins. For example, it may be desirable to display a color-coded overlay showing user interac-tions with various elements of an interactive Flash movie, Java applet, or the like. In order to display an overlay having visual characteristics that align with the underlying elements (for example, to color-code various user interface elements), it is necessary to ascertain the di-mensions of each of the underlying elements.
[0018] What is needed, therefore, is a technique for determining the dimensions of ele-ments within plug-in content, even when such content was provided by a third party. What is fiirther needed is a technique for generating a web usage overlay for such plug-in content.
Summary of the Invention [0019] The present invention provides a mechanism for determining the dimensions of elements within plug-in resources (such as content and/or applications), so as to enable gen-eration of web usage overlays for areas of a web page occupied by such plug-ins.
[0020] According to one aspect of the invention, an element within the plug-in re-sources is moved to one or more corners of the output region of the plug-in resource.
Changes in dimensions of the output region are detected, and the dimensions of the element are calculated. The element is then restored to its original position. The information regard-ing changes in dimensions is generally available from third-party plug-in applications and can be readily extracted therefrom.
[0021] Once the dimensions of the element are known, an overlay can be generated that visually aligns with the plug-in resource. Thus, when the overlay is presented, color-coding and other visual features are properly positioned and sized within the overall display.
[0022] The present invention can be used for overlay generation for any type of plug-in content, such as for example a movie presentation, whether interactive or non-interactive.
One example of such a movie presentation is that provided by an application such as Flash, provided by Macromedia of San Francisco, California. For example, it may be desirable to provide a color-coded overlay indicating related popularity and/or traffic for various interac-tive components (such as buttons) in a Flash movie. One skilled in the art will recognize that the techniques described herein can also be applied to other types of plug-ins, including for example QuickTime movies, Java applets, and the like.
[0023] The present invention can also be used for generating other types of usage re-ports, including for example hard copy output, text or graphical reports, arand the like.
Brief Description of the Drawings [0024] The accompanying drawings illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0025] Fig. 1 is a block diagram depicting an architecture for website traffic data col-lection according to one embodiment of the present invention.
[0026] Fig. 2 is a screen shot depicting an example of a page analysis report according to one embodiment.
[0027] Figs. 3A through 3D depict an example of a method for determining the dimen-sions of an element of a plug-in resource, according to one embodiment.
[0028] Fig. 4A is a flowchart depicting a method for determining the dimensions of a component of a plug-in resource, where the origin of the element is not necessarily in the center of the element, according to one embodiment.
[0029] Fig. 4B is a flowchart depicting a method for determining the dimensions of a component of a plug-in resource, where the origin of the element is in the center of the ele-ment, according to one embodiment.
[0030] Fig. 5 is a block diagram depicting an architecture for modifying a third-party plug-in resource so as to provide usage tracking functionality according to one embodiment.
[00311 Fig. 6 is a flowchart depicting a method for modifying a third-party plug-in re-source so as to provide usage tracking functionality according to one embodiment.
[0032] Fig. 7 is a flowchart depicting a method for generating a usage overlay for a plug-in resource, according to one embodiment.
[0033] Fig. 8 is a screen shot depicting an example of an overlay report on a third-party plug-in resource.
[0034] One skilled in the art will recognize that these Figures are merely examples of the operation of the invention according to one embodiment, and that other architectures and modes of operation can be used without departing from the essential characteristics of the in-vention.
Detailed Description of the Embodiments [0035] The present invention is now described more fully with reference to the accom-panying Figures, in which several embodiments of the invention are shown. The present in-vention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather these embodiments are provided so that this disclo-sure will be complete and will fully convey the invention to those skilled in the art.
[0036] For illustrative purposes, the invention is described with respect to interactive elements (such as buttons) within a plug-in resource such as content to be displayed within a web page. One example of such a plug-in resource is a content item interpreted and dis-played by the Flash plug-in, available from Macromedia, Inc. of San Francisco, California;
the Flash plug-in works in conjunction with a conventional web browser such as Internet Ex-plorer, available from Microsoft Corporation of Redmond, Washington. The Flash plug-in provides tools for presentation of video and interactive content within the context of a web page. One skilled in the art will recognize that the present invention can be used for deter-mining dimensions of elements in other contexts as well, and that the present invention can be used in connection with other types of plug-in resources.
Architecture [0037] Referring now to Fig. 1, there is shown a block diagram depicting a systein for website traffic data collection according to one embodiment of the present invention. User 112 interacts with client machine 107, which runs a software application such as browser 110 for accessing and displaying web pages. Client machine 107 may be an ordinary personal computer, including well-known components such as a CPU running an operating system such as Microsoft Windows, a keyboard, mouse, display screen, and Internet connection (not shown). Client machine 107 may run various software applications in addition to browser 110. Browser 110 includes scripting engine 116, such as JavaScript, as is commonly found in commercially available browsers. In response to a user 112 action such as clicking on a link or typing in a URL, client machine 107 issues a web page request 111 that is transmitted via the Internet to content server 101. In response to request 111, content server 101 transmits web page 102 (in the form of HTML code, for example) to client machine 107.
Browser 110 displays the requested web page 102 on client machine 107.
[0038] Web page 102 includes beacon code, which in one embodiment is a pointer to a beacon (such as a 1 pixel by 1 pixel transparent image). The beacon is typically invisible to the user, such as a transparent one-pixel image. For purposes of the following description, a beacon is any element that is embedded in a web page 102 which is loaded automatically by browser 110 that references an external server 106 and is used to monitor traffic. The beacon code can be provided as a script (such as a JavaScript script) to be executed by scripting en-gine 116. The beacon code causes client machine 107 to generate resource requests 105 to data collection server 106. These resource requests 105 are usually dynamically generated according to the script instructions. Data collection server 106 records such requests in a log 108, and can also record additional information associated with the request (such as the date and time, and possibly some identifying information that may be encoded in the resource re-quest). Thus, tracking server 106 records the occurrence of a"hit" to web page 102. Track-ing server 106 also transmits the requested one-pixel image to client machine 107 so that the resource request is satisfied.
[0039] Analysis module 113 retrieves stored tracking data from log 108, filters the data, and outputs reports 114 to a web administrator 115. Reports 114 maybe provided in hard copy, or via a display screen (not shown), or by some other means. Reports 114 include, for example, overviews and statistical analyses describing the relative frequency with which various site paths are being followed through the website. Examples of such reports are de-scribed below.
[0040] Module 113 may be implemented in software running on server 106 or on an-other computer that can access log 108.
[0041] In one embodiment, communications between client machine 107, content server 101, and data collection server 106 are accomplished using well known network proto-cols, such as TCP/IP and HTTP, for communication across the Internet. Other communica-tion methodologies and protocols can also be used.
[0042] For example, referring now to Fig. 2, there is shown an example of a page analysis report 201, displayed alongside an image of the web page 102 being analyzed. In one embodiment, report 201 is provided to a site administrator or owner interacting with data collection server 106.
[0043] In the example of Fig. 2, report 201 includes identification 202 of the website and web page being analyzed; report date 203; report options and settings 204;
page metrics 205; and links 206 to related reports. In addition, variable levels and shades of color density are superimposed on the displayed view of web page 102, in order to visually represent the relative number of clicks each item 208 or screen region has received. Color key 207 is a legend to indicate the meaning of various superimposed colors. According to the techniques described herein, an overlay report such as shown in Fig. 2 can be generated for areas of the screen occupied by plug-in content, including third-party plug-in content.
[0044] Fig. 8 shows an example of an overlay report 800 for a web page that includes third-party plug-in content such as areas 801. In this example, areas 801 represent Flash con-tent that occupies a portion of the web page. Certain portions 802 of content areas 801 are highlighted in different colors to denote the traffic levels. Additional information regarding web traffic is shown in overlapping windows 803.
[0045] In order to track user interaction with plug-in content, tracking code is integrated into the plug-in code. Referring now to Fig. 6, there is shown a flowchart depicting a method for modifying a third-party plug-in resource so as to provide usage tracking functionality ac-cording to one embodiment. Referring also to Fig. 5, there is shown a block diagram depict-ing an architecture for modifying a third-party plug-in resource so as to provide usage track-ing fiinctionality according to one embodiment. Plug-in application 501 represents an appli-cation, such as Flash, for displaying and presenting plug-in content.
[0046] Client machine 107 sends a web page request 111 to content server 101.
In re-sponse, content server 101 provides plug-in content 502 to client machine 107.
In one em-bodiment, prior to providing content 502, content server 101 inserts tracking code. This tracking code includes code for identifying and reporting on user interaction witli various elements of the plug-in resource. The tracking code replaces and/or supplements at least one method within the received plug-in content, so as to enable transmission of user behavior to a tracking component.
1o [0047] Browser 110 runs 604 the modified plug-in content 502. Browser 110 displays web page output 506 including plug-in output. User actions with respect to tracked elements (such as a user clicking on a button or otherwise interacting with an element) are detected 605. Usage/behavior data 507 is sent 606 to data collection server 106 according to tech-niques described herein; the data is stored in log 108. Analysis module 113 uses the collected data is then used for generating reports 607; in one embodiment, analysis module 113 in-cludes web overlay generation module 507 for generating overlay reports 508, which are then output. Reports 607 can thus indicate patterns of aggregate user behavior with respect to plug-in content.
[0048] Referring now to Fig. 7, there is shown a method for generating a usage overlay for a plug-in resource containing interactive elements, according to one embodiment. In one embodiment, analysis module 113 as shown in Fig. 1 performs the steps of Fig.
7; in other embodiments, these steps can be performed by any component of a web analysis tracking system.
[0049] First, the locations and dimensions of elements are determined 701. In one em-bodiment, the locations (in terms of x,y coordinates) of elements are readily available, and the dimensions are determined using techniques described in more detail herein. Data de-scribing user interaction with these elements is received 702; in one embodiment, this step involves retrieved data from log 108 containing records of user interactions.
In one embodi-ment, this data is aggregated so that the generated report indicates overall behavior trends for 3o a large group of users. Based on the determined locations and dimensions of elements, and based on the aggregated data describing user behavior, an overlay is generated 703. In one embodiment the overlay is a visual representation of relative levels of activity for various ar-eas within the plug-in resource; for example, high-activity areas can be shown in one color, and lower-activity areas can be shown in a different color. Since the component generating the overlay is aware of the positions and dimensions of the eleinents, the positions and di-mensions colored areas of the overlay can be made to match those of the elements to which they refer. The resulting report, output in step 704, shows a representation of the plug-in con-tent, with a color-coded overlay indicating relative activity for various elements within the plug-in content.
[0050] Referring now to Figs. 4A and 4B, there are shown two methods for determining the dimensions of an element of a plug-in resource such as a component of a Flash movie.
Fig. 4A depicts a method where the origin of the element is not necessarily in the center of the element (it may be at a corner, or at some other location). Referring also to Figs. 3A
through 3D, there is shown an example of the method. Fig. 4B depicts a method where the origin of the element is known to be in the center of the element.
[0051] Although in Figs. 3A through 3D, the element is shown at various positions within the output region, the steps herein are performed without displaying these moved ele-ments to the user; thus the method is done transparently without redrawing the plug-in re-source. Output to the user is therefore not disrupted by the use of the method described herein.
[0052] Fig. 3A shows element 302 in its original position, with an origin point 303. X"
and Yc are the unknown dimensions of element 302. Output region 301 represents an area, for example within a web page, for the display of web plug-in content.
[0053] Referring now to Fig. 4A, first the overall dimensions Xorig,Yo,;g of output region 301 are noted 409. Then, element 302 is moved 401 so that its origin point 303 is at the top left corner of output region 301 (Fig. 3B). In one embodiment, existing methods within the plug-in application are used to move element 302; for example, the Macromedia Flash plug-in contains methods that enable movement of elements and other objects.
[0054] Many plug-in applications automatically resize their output regions to account for elements and objects that have moved beyond the original region. For example, the Mac-romedia Flash plug-in automatically resizes the Flash content viewing area (output region) if it detects that an element has moved outside the viewing area.
[0055] Accordingly, since origin 303 is located within element 302, movement of ori-gin 303 to a corner causes some portion of element 302 to be located outside the original out-put region 301. Once the plug-in code has automatically resized output region 301, as shown in Fig. 3B, the new dimensions of the overall Flash movie 301 are compared to the original dimensions Xorig,Yo,;g 402. The differential in both the X and Y dimensions is stored as X1,Yi; this accounts for a first portion of the dimensions of element 302.
[0056] Next, element 302 is moved 404 so that its origin 303 is at the bottom right cor-ner of output region 301 (Fig. 3C). Again, the plug-in code automatically changes the dimen-sions of output region 301; this difference in dimensions is noted 405 as X2, Y2. This in-crease in X and Y dimensions provides the other portion of the X and Y
coordinates. The original size of output region 301 is restored after the increased dimensions are determined.
Element 302 is then moved back 406 to its original location (Fig. 3D). Element 302 dimen-sions are then calculated 407 as X, = Xl + X2 and Y, = Yl + Y2.
[0057] Once element 302 dimensions are known, an overlay can be generated accord-ing to the techniques described above, and the overlay will have the correct location and the correct dimensions.
[0058] Referring now to Fig. 4B, there is shown an embodiment where origin point 303 is known to be located at the center of element 302. Here, steps 409, 401, and 402 are per-formed as above. However, element 302 need not be moved to a second corner;
rather it is returned 406 to its original location. The values Xl and Yl, are each doubled 420 to provide the total X and Y dimensions of element 302. Thus Xc = 2*Xl and Y,, = 2* Yl.
[0059] One skilled in the art will recognize that the above-described technique can be applied in any situation where it is desirable to display an overlay over a portion of a web page occupied by plug-in content. This can apply, for example, to Java applets, Windows Media Player items, Quicktime movies, or the like.
[0060] In the above description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention.
It will be appar-ent, however, to one skilled in the art that the invention can be practiced without these spe-cific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
[0061] In particular, one skilled in the art will recognize that other architectures and analysis and processing techniques and mechanisms may be used, and that the present inven-tion can be implemented using mechanisms other than those described above.
[0062] Reference in the specification to "one embodiment" or "an embodiment"
means that a particular feature, structure, or characteristic described in connection with the embodi-ment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
[0063] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0064] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing"
or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the ac-tion and processes of a computer system, or similar electronic computing device, that ma-nipulates and transforms data represented as physical (electronic) quantities within the com-puter system's registers and memories into other data similarly represented as physical quan-tities within the computer system memories or registers or other such information storage, transmission or display devices.
[0065] The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer sys-tem bus.
[0066] The algorithms and modules presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the method steps. The required structure for a vari-ety of these systems will appear from the description below. In addition, the present inven-tion is not described with reference to any particular programming language.
It will be ap-preciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, as will be apparent to one of ordinary skill in the relevant art, the modules, features, attributes, methodologies, and other aspects of the in-vention can be implemented as software, hardware, firmware or any combination of the three.
Of course, wherever a component of the present invention is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel load-able module, as a device driver, and/or in every and any other way known now or in the fu-ture to those of skill in the art of computer programming. Additionally, the present invention is in no way limited to implementation in any specific operating system or environment.
[0067] It will be understood by those skilled in the relevant art that the above-described implementations are merely exemplary, and many changes can be made without departing from the true spirit and scope of the present invention. Therefore, it is intended by the ap-pended claims to cover all such changes and modifications that come within the true spirit and scope of this invention.
Claims (51)
1. ~A method for determining dimensions of an element within a plug-in resource hav-ing a rectangular output region, the element having an origin point, the method comprising:
moving the element so that its origin point is at a first corner of the output region;
measuring a first increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a first increase in a vertical dimension of the output region resulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimen-sions of the element; and restoring the element to its original position within the output region.
moving the element so that its origin point is at a first corner of the output region;
measuring a first increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a first increase in a vertical dimension of the output region resulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimen-sions of the element; and restoring the element to its original position within the output region.
2. ~The method of claim 1, wherein the element comprises a button.
3. ~The method of claim 1, wherein the element comprises a user-activatable region within the output region.
4. ~The method of claim 1, wherein the origin point is located at the center of the ele-ment, and wherein determining the dimensions of the element comprises:
determining a horizontal dimension of the element as equal to twice the measured first increase in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to twice the measured first increase in the vertical dimension of the output region.
determining a horizontal dimension of the element as equal to twice the measured first increase in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to twice the measured first increase in the vertical dimension of the output region.
5. ~The method of claim 1, wherein the origin point is not located at the center of the element.
6. ~The method of claim 1, further comprising, prior to determining the dimensions of the element:
moving the element so that its origin point is at a second corner of the output region, the second corner being diagonally opposite the first corner;
measuring a second increase'in a horizontal dimension of the output region resulting from moving the resource;
measuring a second increase in a vertical dimension of the output region resulting from moving the resource;
and wherein determining the dimensions of the element comprises:
determining a horizontal dimension of the element as equal to the sum of the first and second measured increases in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to the sum of the first and second measured increases in the vertical dimension of the output region.
moving the element so that its origin point is at a second corner of the output region, the second corner being diagonally opposite the first corner;
measuring a second increase'in a horizontal dimension of the output region resulting from moving the resource;
measuring a second increase in a vertical dimension of the output region resulting from moving the resource;
and wherein determining the dimensions of the element comprises:
determining a horizontal dimension of the element as equal to the sum of the first and second measured increases in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to the sum of the first and second measured increases in the vertical dimension of the output region.
7. ~The method of claim 1, wherein the plug-in resource comprises an application and the rectangular output region comprises an area within a web page.
8. ~The method of claim 1, wherein the plug-in resource comprises a content item for an application and the rectangular output region comprises an area within a web page.
9. ~The method of claim 1, wherein the plug-in resource comprises a Flash item.
10. ~The method of claim 1, wherein the plug-in resource comprises video content.
11. ~The method of claim 1, wherein moving, measuring, determining, and restoring steps are performed responsive to receiving user input activating the element.
12. ~The method of claim 1, further comprising outputting the determined dimensions of the element.
13. ~The method of claim 1, further comprising generating and outputting a usage dis-play using the determined dimensions of the element.
14. ~The method of claim 1, further comprising sending a message including the de-termined dimensions of the element to a software component.
15. ~A method of generating a usage report for a plug-in resource on a web page, comprising:
receiving a communication indicating user activation of an object within a plug-in re-source, the communication comprising an object identifier and additional identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of the user-activated object with records comprising object identifiers and additional identifying indicia;
responsive to the object identifier of the user-activated object being within a prede-termined tolerance factor with respect to an object identifier of a stored re-cord, and the identifier of the stored record having additional identifying indicia matching the additional identifying indicia of the user-activated ob-ject:
indicating a match between the user-activated object and the stored record;
and generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in re-source.
receiving a communication indicating user activation of an object within a plug-in re-source, the communication comprising an object identifier and additional identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of the user-activated object with records comprising object identifiers and additional identifying indicia;
responsive to the object identifier of the user-activated object being within a prede-termined tolerance factor with respect to an object identifier of a stored re-cord, and the identifier of the stored record having additional identifying indicia matching the additional identifying indicia of the user-activated ob-ject:
indicating a match between the user-activated object and the stored record;
and generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in re-source.
16. ~The method of claim 15, wherein the visual indicators are color-coded.
17. ~A method of generating a usage report for a plug-in resource on a web page, the plug-in resource comprising an object having an object identifier and additional identifying indicia, comprising:
comparing the object identifier and the additional identifying indicia of the object with records comprising object identifiers and additional identifying indi-cia;
responsive to the object identifier of the object being within a predetermined tolerance factor with respect to an object identifier of a stored record, and the identi-fier of the stored record having additional identifying indicia matching the additional identifying indicia of the object:
indicating a match between the object and the stored record;
generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in re-source.
comparing the object identifier and the additional identifying indicia of the object with records comprising object identifiers and additional identifying indi-cia;
responsive to the object identifier of the object being within a predetermined tolerance factor with respect to an object identifier of a stored record, and the identi-fier of the stored record having additional identifying indicia matching the additional identifying indicia of the object:
indicating a match between the object and the stored record;
generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in re-source.
18. ~The method of claim 17, wherein the visual indicators are color-coded.
19. ~A report displaying usage of a plug-in resource on a web page, comprising:
a representation of a plug-in resource including objects; and superimposed on the representation of the plug-in resource, visual indicators quanti-fying user activations of the objects.
a representation of a plug-in resource including objects; and superimposed on the representation of the plug-in resource, visual indicators quanti-fying user activations of the objects.
20. ~The report of claim 19, wherein the visual indicators are color-coded.
21. ~A method for displaying a report depicting usage of a plug-in resource on a web page, comprising:
generating a representation of a plug-in resource including objects; and superimposing on the representation of the plug-in resource, visual indicators quanti-fying user activations of the objects.
generating a representation of a plug-in resource including objects; and superimposing on the representation of the plug-in resource, visual indicators quanti-fying user activations of the objects.
22. ~The method of claim 21, wherein the visual indicators are color-coded.
23. ~A computer program product for determining dimensions of an element within a plug-in resource having a rectangular output region, the element having an origin point, the computer program product comprising:
a computer-readable medium; and computer program code, encoded on the medium, for:
moving the element so that its origin point is at a first corner of the output re-gion;
measuring a first increase in a horizontal dimension of the output region re-sulting from moving the resource;
measuring a first increase in a vertical dimension of the output region resulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimensions of the element; and restoring the element to its original position within the output region.
a computer-readable medium; and computer program code, encoded on the medium, for:
moving the element so that its origin point is at a first corner of the output re-gion;
measuring a first increase in a horizontal dimension of the output region re-sulting from moving the resource;
measuring a first increase in a vertical dimension of the output region resulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimensions of the element; and restoring the element to its original position within the output region.
24. ~The computer program product of claim 23, wherein the element comprises a but-ton.
25. ~The computer program product of claim 23, wherein the element comprises a user-activatable region within the output region.
26. ~The computer program product of claim 23, wherein the origin point is located at the center of the element, and wherein the computer program code for determining the di-mensions of the element comprises computer program code for:
determining a horizontal dimension of the element as equal to twice the measured first increase in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to twice the measured first increase in the vertical dimension of the output region.
determining a horizontal dimension of the element as equal to twice the measured first increase in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to twice the measured first increase in the vertical dimension of the output region.
27. ~The computer program product of claim 23, wherein the origin point is not lo-cated at the center of the element.
28. ~The computer program product of claim 23, further comprising computer pro-gram code for, prior to determining the dimensions of the element:
moving the element so that its origin point is at a second corner of the output region, the second corner being diagonally opposite the first corner;
measuring a second increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a second increase in a vertical dimension of the output region resulting from moving the resource;
and wherein the computer program code for determining the dimensions of the ele-ment comprises computer program code for:
determining a horizontal dimension of the element as equal to the sum of the first and second measured increases in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to the sum of the first and second measured increases in the vertical dimension of the output region.
moving the element so that its origin point is at a second corner of the output region, the second corner being diagonally opposite the first corner;
measuring a second increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a second increase in a vertical dimension of the output region resulting from moving the resource;
and wherein the computer program code for determining the dimensions of the ele-ment comprises computer program code for:
determining a horizontal dimension of the element as equal to the sum of the first and second measured increases in the horizontal dimension of the output region; and determining a vertical dimension of the element as equal to the sum of the first and second measured increases in the vertical dimension of the output region.
29. ~The computer program product of claim 23, wherein the plug-in resource com-prises an application and the rectangular output region comprises an area within a web page.
30. ~The computer program product of claim 23, wherein the plug-in resource com-prises a content item for an application and the rectangular output region comprises an area within a web page.
31. ~The computer program product of claim 23, wherein the plug-in resource com-prises a Flash item.
32. ~The computer program product of claim 23, wherein the plug-in resource com-prises video content.
33. ~The computer program product of claim 23, wherein the computer program code for moving, measuring, determining, and restoring operate responsive to receiving user input activating the element.
34. The computer program product of claim 23, further comprising computer pro-gram code for outputting the determined dimensions of the element.
35. The computer program product of claim 23, further comprising computer pro-gram code for generating and outputting a usage display using the determined dimensions of the element.
36. The computer program product of claim 23, further comprising computer pro-gram code for sending a message including the determined dimensions of the element to a software component.
37. A computer program product of generating a usage report for a plug-in resource on a web page, comprising:
a computer-readable medium; and computer program code, encoded on the medium, for:
receiving a communication indicating user activation of an object within a plug-in resource, the communication comprising an object identi-fier and additional identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of the user-activated object with records comprising object identifiers and additional identifying indicia;
responsive to the object identifier of the user-activated object being within a predetermined tolerance factor with respect to an object identifier of a stored record, and the identifier of the stored record having ad-ditional identifying indicia matching the additional identifying in-dicia of the user-activated object:
indicating a match between the user-activated object and the stored re-cord; and generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in resource.
a computer-readable medium; and computer program code, encoded on the medium, for:
receiving a communication indicating user activation of an object within a plug-in resource, the communication comprising an object identi-fier and additional identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of the user-activated object with records comprising object identifiers and additional identifying indicia;
responsive to the object identifier of the user-activated object being within a predetermined tolerance factor with respect to an object identifier of a stored record, and the identifier of the stored record having ad-ditional identifying indicia matching the additional identifying in-dicia of the user-activated object:
indicating a match between the user-activated object and the stored re-cord; and generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in resource.
38. The computer program product of claim 37, wherein the visual indicators are color-coded.
39. A computer program product of generating a usage report for a plug-in resource on a web page, the plug-in resource comprising an object having an object identifier and ad-ditional identifying indicia, comprising:
a computer-readable medium; and computer program code, encoded on the medium, for:
comparing the object identifier and the additional identifying indicia of the ob-ject with records comprising object identifiers and additional iden-tifying indicia;
responsive to the object identifier of the object being within a predetermined tolerance factor with respect to an object identifier of a stored re-cord, and the identifier of the stored record having additional iden-tifying indicia matching the additional identifying indicia of the ob-ject:
indicating a match between the object and the stored record;
generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in resource.
a computer-readable medium; and computer program code, encoded on the medium, for:
comparing the object identifier and the additional identifying indicia of the ob-ject with records comprising object identifiers and additional iden-tifying indicia;
responsive to the object identifier of the object being within a predetermined tolerance factor with respect to an object identifier of a stored re-cord, and the identifier of the stored record having additional iden-tifying indicia matching the additional identifying indicia of the ob-ject:
indicating a match between the object and the stored record;
generating a report including a representation of the web page including the plug-in resource by superimposing visual indicators quantifying user activations for objects on the representation of the web page including the plug-in resource.
40. The computer program product of claim 39, wherein the visual indicators are color-coded.
41. A computer program product for displaying a report depicting usage of a plug-in resource on a web page, comprising:
a computer-readable medium; and computer program code, encoded on the medium, for:
generating a representation of a plug-in resource including objects; and superimposing on the representation of the plug-in resource, visual indicators quantifying user activations of the objects.
a computer-readable medium; and computer program code, encoded on the medium, for:
generating a representation of a plug-in resource including objects; and superimposing on the representation of the plug-in resource, visual indicators quantifying user activations of the objects.
42. The computer program product of claim 41, wherein the visual indicators are color-coded.
43. A system for determining dimensions of an element within a plug-in resource having a rectangular output region, the element having an origin point, the system compris-ing:
a content server, for receiving a web page request and for providing, to a client ma-chine, modified plug-in content, the modified plug-in content comprising code for determining dimensions of an element within a plug-in resource by:
moving the element so that its origin point is at a first corner of the output region;
measuring a first increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a first increase in a vertical dimension of the output region re-sulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimensions of the element; and restoring the element to its original position within the output region;
a data collection server for receiving usage data with respect to the plug-in content;
an analysis module for analyzing the received usage data; and a report generator for generating at least one overlay report based on the analyzed us-age data.
a content server, for receiving a web page request and for providing, to a client ma-chine, modified plug-in content, the modified plug-in content comprising code for determining dimensions of an element within a plug-in resource by:
moving the element so that its origin point is at a first corner of the output region;
measuring a first increase in a horizontal dimension of the output region resulting from moving the resource;
measuring a first increase in a vertical dimension of the output region re-sulting from moving the resource;
determining, from the measured increases in output region dimensions, the dimensions of the element; and restoring the element to its original position within the output region;
a data collection server for receiving usage data with respect to the plug-in content;
an analysis module for analyzing the received usage data; and a report generator for generating at least one overlay report based on the analyzed us-age data.
44. The system of claim 43, wherein the element comprises a button.
45. The system of claim 43, wherein the element comprises a user-activatable region within the output region.
46. The system of claim 43, wherein the plug-in resource comprises an application and the rectangular output region comprises an area within a web page.
47. The system of claim 43, wherein the plug-in resource comprises a content item for an application and the rectangular output region comprises an area within a web page.
48. The system of claim 43, wherein the plug-in resource comprises a Flash item.
49. The system of claim 43, wherein the plug-in resource comprises video content.
50. The system of claim 43, wherein the code causes the moving, measuring, deter-mining, and restoring steps to be performed responsive to receiving user input activating the element.
51. The system of claim 43, wherein the overlay report comprises a usage display us-ing the determined dimensions of the element.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68827405P | 2005-06-06 | 2005-06-06 | |
US60/688,274 | 2005-06-06 | ||
US11/341,231 US7584435B2 (en) | 2004-03-03 | 2006-01-26 | Web usage overlays for third-party web plug-in content |
US11/341,231 | 2006-01-26 | ||
PCT/US2006/021767 WO2006133105A2 (en) | 2005-06-06 | 2006-06-05 | Web usage overlays for third-party web plug-in content |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2609992A1 true CA2609992A1 (en) | 2006-12-14 |
Family
ID=37499009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002609992A Abandoned CA2609992A1 (en) | 2005-06-06 | 2006-06-06 | Web usage overlays for third-party web plug-in content |
Country Status (6)
Country | Link |
---|---|
US (1) | US7584435B2 (en) |
EP (1) | EP1894081B1 (en) |
JP (1) | JP5061104B2 (en) |
AU (1) | AU2006255138A1 (en) |
CA (1) | CA2609992A1 (en) |
WO (1) | WO2006133105A2 (en) |
Families Citing this family (145)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065410B1 (en) | 2004-03-31 | 2011-11-22 | Compuware Corporation | Methods and apparatus for collecting performance metrics from a web site |
US7975000B2 (en) | 2005-01-27 | 2011-07-05 | Fmr Llc | A/B testing of a webpage |
NZ591443A (en) * | 2005-09-22 | 2013-04-26 | Intermune Inc | Granule formation of pirfenidone and pharmaceutically acceptable excipients |
US8935634B2 (en) * | 2005-12-21 | 2015-01-13 | International Business Machines Corporation | Displaying dynamic graphical content in graphical user interface (GUI) controls |
US7941525B1 (en) | 2006-04-01 | 2011-05-10 | ClickTale, Ltd. | Method and system for monitoring an activity of a user |
US7992135B1 (en) | 2006-06-26 | 2011-08-02 | Adobe Systems Incorporated | Certification of server-side partner plug-ins for analytics and privacy protection |
US8352917B2 (en) * | 2006-06-26 | 2013-01-08 | Adobe Systems Incorporated | Web-beacon plug-ins and their certification |
US8127000B2 (en) | 2006-06-30 | 2012-02-28 | Tealeaf Technology, Inc. | Method and apparatus for monitoring and synchronizing user interface events with network data |
US8583772B2 (en) | 2008-08-14 | 2013-11-12 | International Business Machines Corporation | Dynamically configurable session agent |
US8868533B2 (en) | 2006-06-30 | 2014-10-21 | International Business Machines Corporation | Method and apparatus for intelligent capture of document object model events |
US8949406B2 (en) * | 2008-08-14 | 2015-02-03 | International Business Machines Corporation | Method and system for communication between a client system and a server system |
US8239522B1 (en) | 2006-11-16 | 2012-08-07 | Adobe Systems Incorporated | Dynamic variables for tracking wireless device website usage |
US7581193B2 (en) * | 2006-12-15 | 2009-08-25 | Yahoo! Inc. | System and method for facilitating interactive selection and presentation of datasets |
US9734257B2 (en) * | 2006-12-22 | 2017-08-15 | Excalibur Ip, Llc | Exported overlays |
US8024651B1 (en) | 2007-01-30 | 2011-09-20 | Adobe Systems Incorporated | Data visualization using tables integrated with hierarchical pie charts |
US8160909B2 (en) * | 2007-02-06 | 2012-04-17 | Digital River, Inc. | Site optimizer |
US8006187B1 (en) | 2007-02-10 | 2011-08-23 | Adobe Systems Incorporated | Checkpoint sequence fallout metrics management during path analysis |
US8521650B2 (en) * | 2007-02-26 | 2013-08-27 | Zepfrog Corp. | Method and service for providing access to premium content and dispersing payment therefore |
US8042055B2 (en) | 2007-08-31 | 2011-10-18 | Tealeaf Technology, Inc. | Replaying captured network interactions |
US8756340B2 (en) * | 2007-12-20 | 2014-06-17 | Yahoo! Inc. | DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing |
US7962631B2 (en) * | 2007-12-21 | 2011-06-14 | Yahoo! Inc. | Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation |
US20090172192A1 (en) * | 2007-12-28 | 2009-07-02 | Christian Michael F | Mapless Global Traffic Load Balancing Via Anycast |
US20090245114A1 (en) * | 2008-04-01 | 2009-10-01 | Jayanth Vijayaraghavan | Methods for collecting and analyzing network performance data |
EP2291745B1 (en) * | 2008-04-15 | 2013-07-03 | Foresee Results | Method and medium for remote tracking of user interaction with a webpage |
US8769397B2 (en) * | 2008-06-26 | 2014-07-01 | Google Inc. | Embedding macros in web pages with advertisements |
US8949176B2 (en) * | 2008-07-29 | 2015-02-03 | Verizon Patent And Licensing Inc. | Method and system for profile control |
US8341540B1 (en) | 2009-02-03 | 2012-12-25 | Amazon Technologies, Inc. | Visualizing object behavior |
US8234582B1 (en) | 2009-02-03 | 2012-07-31 | Amazon Technologies, Inc. | Visualizing object behavior |
US8250473B1 (en) | 2009-02-03 | 2012-08-21 | Amazon Technoloies, Inc. | Visualizing object behavior |
CN101504671B (en) * | 2009-03-05 | 2012-10-03 | 阿里巴巴集团控股有限公司 | Visible processing method, apparatus and system for web page access behavior of users |
US9934320B2 (en) | 2009-03-31 | 2018-04-03 | International Business Machines Corporation | Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions |
US8930818B2 (en) * | 2009-03-31 | 2015-01-06 | International Business Machines Corporation | Visualization of website analytics |
US8914736B2 (en) | 2010-03-30 | 2014-12-16 | International Business Machines Corporation | On-page manipulation and real-time replacement of content |
US20100313252A1 (en) * | 2009-06-08 | 2010-12-09 | Erie Trouw | System, method and apparatus for creating and using a virtual layer within a web browsing environment |
US8392841B1 (en) * | 2009-12-08 | 2013-03-05 | Google Inc. | Web page composition tool with browser page size guide |
US9268547B2 (en) | 2010-01-11 | 2016-02-23 | Ensighten, Inc. | Conditional logic for delivering computer-executable program instructions and content |
US8996986B2 (en) | 2010-01-11 | 2015-03-31 | Ensighten, Inc. | Enhanced delivery of content and program instructions |
US8726147B1 (en) * | 2010-03-12 | 2014-05-13 | Symantec Corporation | Systems and methods for restoring web parts in content management systems |
US9785722B2 (en) | 2010-04-01 | 2017-10-10 | Forsee Results, Inc. | Systems and methods for remote replay of user interaction with a webpage |
US9021390B1 (en) * | 2010-05-05 | 2015-04-28 | Zynga Inc. | Methods and apparatus for optimized pausing of an embedded application to render pop-up window |
US9642536B2 (en) | 2010-06-07 | 2017-05-09 | Affectiva, Inc. | Mental state analysis using heart rate collection based on video imagery |
US11410438B2 (en) | 2010-06-07 | 2022-08-09 | Affectiva, Inc. | Image analysis using a semiconductor processor for facial evaluation in vehicles |
US10204625B2 (en) | 2010-06-07 | 2019-02-12 | Affectiva, Inc. | Audio analysis learning using video data |
US11887352B2 (en) | 2010-06-07 | 2024-01-30 | Affectiva, Inc. | Live streaming analytics within a shared digital environment |
US11292477B2 (en) | 2010-06-07 | 2022-04-05 | Affectiva, Inc. | Vehicle manipulation using cognitive state engineering |
US10869626B2 (en) | 2010-06-07 | 2020-12-22 | Affectiva, Inc. | Image analysis for emotional metric evaluation |
US9959549B2 (en) | 2010-06-07 | 2018-05-01 | Affectiva, Inc. | Mental state analysis for norm generation |
US9247903B2 (en) | 2010-06-07 | 2016-02-02 | Affectiva, Inc. | Using affect within a gaming context |
US10922567B2 (en) | 2010-06-07 | 2021-02-16 | Affectiva, Inc. | Cognitive state based vehicle manipulation using near-infrared image processing |
US10628741B2 (en) | 2010-06-07 | 2020-04-21 | Affectiva, Inc. | Multimodal machine learning for emotion metrics |
US11430561B2 (en) | 2010-06-07 | 2022-08-30 | Affectiva, Inc. | Remote computing analysis for cognitive state data metrics |
US10779761B2 (en) | 2010-06-07 | 2020-09-22 | Affectiva, Inc. | Sporadic collection of affect data within a vehicle |
US11151610B2 (en) | 2010-06-07 | 2021-10-19 | Affectiva, Inc. | Autonomous vehicle control using heart rate collection based on video imagery |
US11073899B2 (en) | 2010-06-07 | 2021-07-27 | Affectiva, Inc. | Multidevice multimodal emotion services monitoring |
US10897650B2 (en) | 2010-06-07 | 2021-01-19 | Affectiva, Inc. | Vehicle content recommendation using cognitive states |
US10517521B2 (en) | 2010-06-07 | 2019-12-31 | Affectiva, Inc. | Mental state mood analysis using heart rate collection based on video imagery |
US9723992B2 (en) | 2010-06-07 | 2017-08-08 | Affectiva, Inc. | Mental state analysis using blink rate |
US10474875B2 (en) | 2010-06-07 | 2019-11-12 | Affectiva, Inc. | Image analysis using a semiconductor processor for facial evaluation |
US10401860B2 (en) | 2010-06-07 | 2019-09-03 | Affectiva, Inc. | Image analysis for two-sided data hub |
US10843078B2 (en) | 2010-06-07 | 2020-11-24 | Affectiva, Inc. | Affect usage within a gaming context |
US10111611B2 (en) | 2010-06-07 | 2018-10-30 | Affectiva, Inc. | Personal emotional profile generation |
US11700420B2 (en) | 2010-06-07 | 2023-07-11 | Affectiva, Inc. | Media manipulation using cognitive state metric analysis |
US11587357B2 (en) | 2010-06-07 | 2023-02-21 | Affectiva, Inc. | Vehicular cognitive data collection with multiple devices |
US10911829B2 (en) | 2010-06-07 | 2021-02-02 | Affectiva, Inc. | Vehicle video recommendation via affect |
US10614289B2 (en) | 2010-06-07 | 2020-04-07 | Affectiva, Inc. | Facial tracking with classifiers |
US11393133B2 (en) | 2010-06-07 | 2022-07-19 | Affectiva, Inc. | Emoji manipulation using machine learning |
US11823055B2 (en) | 2019-03-31 | 2023-11-21 | Affectiva, Inc. | Vehicular in-cabin sensing using machine learning |
US10074024B2 (en) | 2010-06-07 | 2018-09-11 | Affectiva, Inc. | Mental state analysis using blink rate for vehicles |
US10143414B2 (en) | 2010-06-07 | 2018-12-04 | Affectiva, Inc. | Sporadic collection with mobile affect data |
US9934425B2 (en) | 2010-06-07 | 2018-04-03 | Affectiva, Inc. | Collection of affect data from multiple mobile devices |
US9646046B2 (en) | 2010-06-07 | 2017-05-09 | Affectiva, Inc. | Mental state data tagging for data collected from multiple sources |
US11017250B2 (en) | 2010-06-07 | 2021-05-25 | Affectiva, Inc. | Vehicle manipulation using convolutional image processing |
US11232290B2 (en) | 2010-06-07 | 2022-01-25 | Affectiva, Inc. | Image analysis using sub-sectional component evaluation to augment classifier usage |
US9106958B2 (en) | 2011-02-27 | 2015-08-11 | Affectiva, Inc. | Video recommendation based on affect |
US10108852B2 (en) | 2010-06-07 | 2018-10-23 | Affectiva, Inc. | Facial analysis to detect asymmetric expressions |
US10289898B2 (en) | 2010-06-07 | 2019-05-14 | Affectiva, Inc. | Video recommendation via affect |
US10799168B2 (en) | 2010-06-07 | 2020-10-13 | Affectiva, Inc. | Individual data sharing across a social network |
US10627817B2 (en) | 2010-06-07 | 2020-04-21 | Affectiva, Inc. | Vehicle manipulation using occupant image analysis |
US11318949B2 (en) | 2010-06-07 | 2022-05-03 | Affectiva, Inc. | In-vehicle drowsiness analysis using blink rate |
US11511757B2 (en) | 2010-06-07 | 2022-11-29 | Affectiva, Inc. | Vehicle manipulation with crowdsourcing |
US9503786B2 (en) | 2010-06-07 | 2016-11-22 | Affectiva, Inc. | Video recommendation using affect |
US11430260B2 (en) | 2010-06-07 | 2022-08-30 | Affectiva, Inc. | Electronic display viewing verification |
US11465640B2 (en) | 2010-06-07 | 2022-10-11 | Affectiva, Inc. | Directed control transfer for autonomous vehicles |
US11056225B2 (en) | 2010-06-07 | 2021-07-06 | Affectiva, Inc. | Analytics for livestreaming based on image analysis within a shared digital environment |
US10592757B2 (en) | 2010-06-07 | 2020-03-17 | Affectiva, Inc. | Vehicular cognitive data collection using multiple devices |
US11657288B2 (en) | 2010-06-07 | 2023-05-23 | Affectiva, Inc. | Convolutional computing using multilayered analysis engine |
US9204836B2 (en) | 2010-06-07 | 2015-12-08 | Affectiva, Inc. | Sporadic collection of mobile affect data |
US11067405B2 (en) | 2010-06-07 | 2021-07-20 | Affectiva, Inc. | Cognitive state vehicle navigation based on image processing |
US10796176B2 (en) | 2010-06-07 | 2020-10-06 | Affectiva, Inc. | Personal emotional profile generation for vehicle manipulation |
US11484685B2 (en) | 2010-06-07 | 2022-11-01 | Affectiva, Inc. | Robotic control using profiles |
US11935281B2 (en) | 2010-06-07 | 2024-03-19 | Affectiva, Inc. | Vehicular in-cabin facial tracking using machine learning |
US10482333B1 (en) | 2017-01-04 | 2019-11-19 | Affectiva, Inc. | Mental state analysis using blink rate within vehicles |
US11704574B2 (en) | 2010-06-07 | 2023-07-18 | Affectiva, Inc. | Multimodal machine learning for vehicle manipulation |
US8533532B2 (en) | 2010-06-23 | 2013-09-10 | International Business Machines Corporation | System identifying and inferring web session events |
JP5735095B2 (en) * | 2010-07-21 | 2015-06-17 | エンパイア テクノロジー ディベロップメント エルエルシー | Information processing apparatus, server client system, and computer program |
CA2718180A1 (en) * | 2010-10-25 | 2011-01-04 | Ibm Canada Limited - Ibm Canada Limitee | Interactive element management in a web page |
US9003552B2 (en) | 2010-12-30 | 2015-04-07 | Ensighten, Inc. | Online privacy management |
CA3007662A1 (en) | 2010-12-30 | 2012-07-05 | Ensighten, Inc. | Online privacy management |
US9454765B1 (en) * | 2011-03-28 | 2016-09-27 | Imdb.Com, Inc. | Determining the effects of modifying a network page based upon implicit behaviors |
US9384183B2 (en) * | 2011-03-31 | 2016-07-05 | Infosys Limited | Method and system for reporting web standard non-compliance of web pages |
US8819817B2 (en) * | 2011-05-25 | 2014-08-26 | Apple Inc. | Methods and apparatus for blocking usage tracking |
US8595761B2 (en) * | 2011-06-17 | 2013-11-26 | International Business Machines Corporation | Streaming video with enhanced overlay positioning |
US8700985B2 (en) * | 2011-06-20 | 2014-04-15 | Google Inc. | Collecting user feedback about web pages |
US8775611B1 (en) * | 2011-07-20 | 2014-07-08 | Google Inc. | System for displaying a web page with real time analytics data overlay |
US9245274B2 (en) * | 2011-08-30 | 2016-01-26 | Adobe Systems Incorporated | Identifying selected dynamic content regions |
US9081865B2 (en) * | 2011-08-30 | 2015-07-14 | Adobe Systems Incorporated | Identifying selected elements in dynamic content |
US9165308B2 (en) | 2011-09-20 | 2015-10-20 | TagMan Inc. | System and method for loading of web page assets |
US9253278B2 (en) | 2012-01-30 | 2016-02-02 | International Business Machines Corporation | Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic |
US8640037B2 (en) | 2012-02-21 | 2014-01-28 | Ensighten, Llc | Graphical overlay related to data mining and analytics |
US9055118B2 (en) * | 2012-07-13 | 2015-06-09 | International Business Machines Corporation | Edge caching using HTTP headers |
US9317490B2 (en) | 2012-09-19 | 2016-04-19 | TagMan Inc. | Systems and methods for 3-tier tag container architecture |
US9635094B2 (en) | 2012-10-15 | 2017-04-25 | International Business Machines Corporation | Capturing and replaying application sessions using resource files |
US9536108B2 (en) | 2012-10-23 | 2017-01-03 | International Business Machines Corporation | Method and apparatus for generating privacy profiles |
US9535720B2 (en) | 2012-11-13 | 2017-01-03 | International Business Machines Corporation | System for capturing and replaying screen gestures |
US10474735B2 (en) | 2012-11-19 | 2019-11-12 | Acoustic, L.P. | Dynamic zooming of content with overlays |
CN103902604B (en) * | 2012-12-28 | 2020-11-10 | Ge医疗系统环球技术有限公司 | Method and apparatus for searching and displaying scatter log |
US20140282036A1 (en) * | 2013-03-15 | 2014-09-18 | Turn Inc. | Universal tag for page analytics and campaign creation |
WO2015195408A1 (en) * | 2014-06-19 | 2015-12-23 | Thomson Licensing | Method and apparatus for detecting a state of selectable values of a web page |
US9219787B1 (en) | 2014-11-26 | 2015-12-22 | Ensighten, Inc. | Stateless cookie operations server |
US9553918B1 (en) | 2014-11-26 | 2017-01-24 | Ensighten, Inc. | Stateful and stateless cookie operations servers |
EP3029942B1 (en) * | 2014-12-04 | 2017-08-23 | Axis AB | Method and device for inserting a graphical overlay in a video stream |
US10310699B1 (en) * | 2014-12-08 | 2019-06-04 | Amazon Technologies, Inc. | Dynamic modification of browser and content presentation |
US9977834B2 (en) * | 2015-04-03 | 2018-05-22 | Facebook, Inc. | Personalizing content associated with a third party system for presentation to an online system user based on interactions performed by the user with content from the third party system |
US11567721B2 (en) * | 2015-06-03 | 2023-01-31 | Oracle International Corporation | Determining suitable values of parameters controlling display characteristics of elements of interactive pages |
US9883249B2 (en) * | 2015-06-26 | 2018-01-30 | Amazon Technologies, Inc. | Broadcaster tools for interactive shopping interfaces |
US10021458B1 (en) | 2015-06-26 | 2018-07-10 | Amazon Technologies, Inc. | Electronic commerce functionality in video overlays |
US9973819B1 (en) | 2015-06-26 | 2018-05-15 | Amazon Technologies, Inc. | Live video stream with interactive shopping interface |
US20180011622A1 (en) * | 2016-07-06 | 2018-01-11 | Im Creator Ltd. | System and method for dynamic visual representation and analysis of a website traffic |
WO2018053620A1 (en) | 2016-09-23 | 2018-03-29 | Hvr Technologies Inc. | Digital communications platform for webpage overlay |
US11763343B2 (en) * | 2016-11-04 | 2023-09-19 | Google Llc | Systems and methods for validating interaction with third-party interactive media |
US9930285B1 (en) * | 2017-01-13 | 2018-03-27 | International Business Machines Corporation | Autonomic positioning of overlays within streaming data |
US10922566B2 (en) | 2017-05-09 | 2021-02-16 | Affectiva, Inc. | Cognitive state evaluation for vehicle navigation |
EP3619629A4 (en) | 2017-05-10 | 2020-12-09 | Embee Mobile, Inc. | System and method for the capture of mobile behavior, usage, or content exposure |
US20190172458A1 (en) | 2017-12-01 | 2019-06-06 | Affectiva, Inc. | Speech analysis for cross-language mental state identification |
US11887383B2 (en) | 2019-03-31 | 2024-01-30 | Affectiva, Inc. | Vehicle interior object management |
US11093119B2 (en) * | 2019-07-31 | 2021-08-17 | FullStory, Inc. | User interface engagement heatmaps |
US11769056B2 (en) | 2019-12-30 | 2023-09-26 | Affectiva, Inc. | Synthetic data for neural network training using vectors |
US11567929B2 (en) * | 2020-02-06 | 2023-01-31 | Adobe Inc. | Stitching event data using identity mappings |
US11461429B1 (en) | 2021-11-10 | 2022-10-04 | Siteimprove A/S | Systems and methods for website segmentation and quality analysis |
US11836439B2 (en) | 2021-11-10 | 2023-12-05 | Siteimprove A/S | Website plugin and framework for content management services |
US11461430B1 (en) | 2021-11-10 | 2022-10-04 | Siteimprove A/S | Systems and methods for diagnosing quality issues in websites |
US11397789B1 (en) | 2021-11-10 | 2022-07-26 | Siteimprove A/S | Normalizing uniform resource locators |
US11468058B1 (en) | 2021-11-12 | 2022-10-11 | Siteimprove A/S | Schema aggregating and querying system |
EP4180951A1 (en) | 2021-11-12 | 2023-05-17 | Siteimprove A/S | Generating lossless static object models of dynamic webpages |
US11841919B2 (en) * | 2022-01-21 | 2023-12-12 | Content Square SAS | Frustration scores for flows, page views, webpages, sessions, and websites |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US113322A (en) * | 1871-04-04 | Improvement in padlocks | ||
US113808A (en) * | 1871-04-18 | Improvement in hooks for bird-cages | ||
US57513A (en) * | 1866-08-28 | Improved cutting-board | ||
US1113322A (en) * | 1914-01-05 | 1914-10-13 | Albert T Fletcher | Silver-polish. |
US5001697A (en) * | 1988-02-10 | 1991-03-19 | Ibm Corp. | Method to automatically vary displayed object size with variations in window size |
US5070478A (en) * | 1988-11-21 | 1991-12-03 | Xerox Corporation | Modifying text data to change features in a region of text |
US5796402A (en) * | 1993-12-03 | 1998-08-18 | Microsoft Corporation | Method and system for aligning windows on a computer screen |
KR970701888A (en) * | 1994-01-27 | 1997-04-12 | 워렌 리차드 보비 | SOFTWARE NOTES |
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5873106A (en) * | 1995-09-18 | 1999-02-16 | Oracle Corporation | Geometry management for displaying objects on a computer |
US5966139A (en) * | 1995-10-31 | 1999-10-12 | Lucent Technologies Inc. | Scalable data segmentation and visualization system |
CA2175148C (en) * | 1996-04-26 | 2002-06-11 | Robert Cecco | User interface control for creating split panes in a single window |
US6026397A (en) * | 1996-05-22 | 2000-02-15 | Electronic Data Systems Corporation | Data analysis system and method |
US5751283A (en) * | 1996-07-17 | 1998-05-12 | Microsoft Corporation | Resizing a window and an object on a display screen |
US5760772A (en) * | 1996-08-30 | 1998-06-02 | Novell, Inc. | Method for automatically resizing a child window |
US5870559A (en) * | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6215502B1 (en) * | 1996-10-28 | 2001-04-10 | Cks Partners | Method and apparatus for automatically reconfiguring graphical objects relative to new graphical layouts |
US6643696B2 (en) * | 1997-03-21 | 2003-11-04 | Owen Davis | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6008809A (en) * | 1997-09-22 | 1999-12-28 | International Business Machines Corporation | Apparatus and method for viewing multiple windows within a dynamic window |
US6819345B1 (en) * | 1998-02-17 | 2004-11-16 | Microsoft Corporation | Managing position and size for a desktop component |
US6473102B1 (en) * | 1998-05-11 | 2002-10-29 | Apple Computer, Inc. | Method and system for automatically resizing and repositioning windows in response to changes in display |
US6182097B1 (en) * | 1998-05-21 | 2001-01-30 | Lucent Technologies Inc. | Method for characterizing and visualizing patterns of usage of a web site by network users |
US6335743B1 (en) * | 1998-08-11 | 2002-01-01 | International Business Machines Corporation | Method and system for providing a resize layout allowing flexible placement and sizing of controls |
US6414677B1 (en) * | 1998-09-14 | 2002-07-02 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups proximally located objects |
US6188405B1 (en) * | 1998-09-14 | 2001-02-13 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects |
US6266649B1 (en) * | 1998-09-18 | 2001-07-24 | Amazon.Com, Inc. | Collaborative recommendations using item-to-item similarity mappings |
US6466970B1 (en) * | 1999-01-27 | 2002-10-15 | International Business Machines Corporation | System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment |
AU769742B2 (en) * | 1999-03-02 | 2004-02-05 | Amway Corp. | Electronic commerce transactions within a marketing system that may contain a membership buying opportunity |
US6456305B1 (en) * | 1999-03-18 | 2002-09-24 | Microsoft Corporation | Method and system for automatically fitting a graphical display of objects to the dimensions of a display window |
CN1302410A (en) | 1999-03-26 | 2001-07-04 | 塔吉特玛奇有限公司 | Method and system for multi-lingual on-line object matching |
US6414698B1 (en) * | 1999-04-13 | 2002-07-02 | International Business Machines Corporation | Method for enabling adaptive sizing of display elements |
US6393479B1 (en) * | 1999-06-04 | 2002-05-21 | Webside Story, Inc. | Internet website traffic flow analysis |
US6587128B2 (en) * | 1999-07-15 | 2003-07-01 | International Business Machines Corporation | Method for displaying hidden objects by varying the transparency of overlapping objects |
US6754873B1 (en) * | 1999-09-20 | 2004-06-22 | Google Inc. | Techniques for finding related hyperlinked documents using link-based analysis |
US6489968B1 (en) * | 1999-11-18 | 2002-12-03 | Amazon.Com, Inc. | System and method for exposing popular categories of browse tree |
US6671711B1 (en) * | 2000-03-31 | 2003-12-30 | Xerox Corporation | System and method for predicting web user flow by determining association strength of hypermedia links |
GB2362232B (en) * | 2000-05-08 | 2002-04-10 | 3Com Corp | Method and apparatus for the graphical presentation of selected data |
US6654036B1 (en) * | 2000-06-05 | 2003-11-25 | International Business Machines Corporation | Method, article of manufacture and apparatus for controlling relative positioning of objects in a windows environment |
US6862574B1 (en) * | 2000-07-27 | 2005-03-01 | Ncr Corporation | Method for customer segmentation with applications to electronic commerce |
US20020042750A1 (en) * | 2000-08-11 | 2002-04-11 | Morrison Douglas C. | System method and article of manufacture for a visual self calculating order system over the world wide web |
US6850988B1 (en) * | 2000-09-15 | 2005-02-01 | Oracle International Corporation | System and method for dynamically evaluating an electronic commerce business model through click stream analysis |
US20020087621A1 (en) * | 2000-12-29 | 2002-07-04 | Hendriks Chris L. | Method and system to manage internet user navigation data |
JP2002207764A (en) * | 2001-01-09 | 2002-07-26 | Kentop:Kk | Commodity information distributing system |
US20020093529A1 (en) * | 2001-01-18 | 2002-07-18 | Raja Daoud | Method and apparatus to optimize a computing session based on user interaction with a computer |
US20020165936A1 (en) * | 2001-01-25 | 2002-11-07 | Victor Alston | Dynamically branded web sites |
US7506047B2 (en) * | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7792948B2 (en) * | 2001-03-30 | 2010-09-07 | Bmc Software, Inc. | Method and system for collecting, aggregating and viewing performance data on a site-wide basis |
US20020152284A1 (en) * | 2001-04-13 | 2002-10-17 | John Cambray | System and method for performing real time monitoring and control of an interactive network |
US20020186237A1 (en) * | 2001-05-16 | 2002-12-12 | Michael Bradley | Method and system for displaying analytics about a website and its contents |
US7190379B2 (en) * | 2001-06-29 | 2007-03-13 | Contex A/S | Method for resizing and moving an object on a computer screen |
US7181488B2 (en) * | 2001-06-29 | 2007-02-20 | Claria Corporation | System, method and computer program product for presenting information to a user utilizing historical information about the user |
US6950993B2 (en) * | 2001-08-02 | 2005-09-27 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
US6963874B2 (en) * | 2002-01-09 | 2005-11-08 | Digital River, Inc. | Web-site performance analysis system and method utilizing web-site traversal counters and histograms |
US20030131097A1 (en) * | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Interactive path analysis |
US20030128231A1 (en) * | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Dynamic path analysis |
US20040205157A1 (en) * | 2002-01-31 | 2004-10-14 | Eric Bibelnieks | System, method, and computer program product for realtime profiling of web site visitors |
US6907576B2 (en) * | 2002-03-04 | 2005-06-14 | Microsoft Corporation | Legibility of selected content |
US6968511B1 (en) * | 2002-03-07 | 2005-11-22 | Microsoft Corporation | Graphical user interface, data structure and associated method for cluster-based document management |
JP3800524B2 (en) * | 2002-03-15 | 2006-07-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Display control method, program using the same, and information processing apparatus |
DE10225316A1 (en) * | 2002-06-06 | 2003-12-18 | Philips Intellectual Property | User interface display optimization method in which display window sizes or objects are optimized according to the their content, available space and selected preference rules |
US20040049417A1 (en) * | 2002-09-09 | 2004-03-11 | Opinionlab, Inc. | Receiving and reporting page-specific user feedback concerning one or more particular web pages of a website |
FR2848001A1 (en) * | 2002-11-29 | 2004-06-04 | Francois Nadal | METHOD AND SYSTEM FOR REAL-TIME ANTICIPATING, IDENTIFYING, ANALYZING AND RESPONDING TO CONSUMER NEEDS |
US7587486B2 (en) * | 2003-01-08 | 2009-09-08 | Microsoft Corporation | Click stream analysis |
WO2004079544A2 (en) * | 2003-03-04 | 2004-09-16 | Omniture, Inc. | Delayed transmission of website usage data |
US8396745B2 (en) | 2003-04-28 | 2013-03-12 | The Pen | Expanding computer display advertising method and system |
US7417644B2 (en) * | 2003-05-12 | 2008-08-26 | Microsoft Corporation | Dynamic pluggable user interface layout |
US20050044508A1 (en) * | 2003-08-21 | 2005-02-24 | International Business Machines Corporation | Method, system and program product for customizing a user interface |
US7398478B2 (en) * | 2003-11-14 | 2008-07-08 | Microsoft Corporation | Controlled non-proportional scaling display |
US7496844B2 (en) * | 2004-01-29 | 2009-02-24 | Microsoft Corporation | Automatically laying out dialogs and control panels depending on screen size |
US20080130525A1 (en) * | 2005-03-28 | 2008-06-05 | Total Comco, Inc. | Video conferencing with archival notes |
-
2006
- 2006-01-26 US US11/341,231 patent/US7584435B2/en active Active
- 2006-06-05 WO PCT/US2006/021767 patent/WO2006133105A2/en active Application Filing
- 2006-06-05 EP EP06772175A patent/EP1894081B1/en active Active
- 2006-06-05 JP JP2008514961A patent/JP5061104B2/en active Active
- 2006-06-05 AU AU2006255138A patent/AU2006255138A1/en not_active Abandoned
- 2006-06-06 CA CA002609992A patent/CA2609992A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2006133105A3 (en) | 2009-04-30 |
EP1894081A4 (en) | 2010-03-24 |
AU2006255138A1 (en) | 2006-12-14 |
JP5061104B2 (en) | 2012-10-31 |
WO2006133105A2 (en) | 2006-12-14 |
JP2008546103A (en) | 2008-12-18 |
US20060123340A1 (en) | 2006-06-08 |
US7584435B2 (en) | 2009-09-01 |
EP1894081B1 (en) | 2012-01-11 |
EP1894081A2 (en) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1894081B1 (en) | Web usage overlays for third-party web plug-in content | |
US11489934B2 (en) | Method and system for monitoring and tracking browsing activity on handled devices | |
US10698702B1 (en) | Automating interactions with software user interface | |
US7441195B2 (en) | Associating website clicks with links on a web page | |
US10671692B2 (en) | Uniquely identifying and tracking selectable web page objects | |
US9823808B2 (en) | Methods and devices for recording changes in visual stimuli observed through browser-based interfaces | |
AU2004217115B2 (en) | Associating website clicks with links on a web page | |
US20080186276A1 (en) | Evaluation of visual content usage | |
WO2008094738A1 (en) | User simulation for viewing web analytics data | |
US11216288B1 (en) | Capturing and processing interactions with a user interface of a native application | |
CA2785789A1 (en) | Mask based challenge response test | |
WO2008094739A2 (en) | Retrieval mechanism for web visit simulator | |
US20120023402A1 (en) | Capturing information on a rendered user interface including user activateable content | |
US20170255475A1 (en) | Automatic execution of objects in a user interface | |
CN116720180A (en) | HTTP application site operation and maintenance auditing method based on client | |
CN116991694A (en) | Webpage operation acquisition method | |
CN101627357A (en) | The network of third party's network plug-in content uses coverage diagram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |