Dynamic zooming of content with overlays

Information

  • Patent Grant
  • 10474735
  • Patent Number
    10,474,735
  • Date Filed
    Thursday, March 14, 2013
    11 years ago
  • Date Issued
    Tuesday, November 12, 2019
    5 years ago
Abstract
A dynamic zooming system may use overlays to display usage information over associated webpages. In one example, a replay manager may zoom-in on particular areas of the webpages to view more specific usage information. In another example, the replay manager may zoom-out the webpages to view more general usage information. The dynamic zooming system may use a first scaled overlay layer to dynamically vary a zoom level of the usage information to match a zoom level for the webpages. The dynamic zooming system also may use a second fixed overlay layer to display other usage information independently of the zoom-level for the webpages.
Description
FIELD

This application relates generally to data processing and, more specifically, to displaying usage information.


BACKGROUND

A monitoring system may capture user events for webpages, such as mouse clicks, selections, keystroke entries, etc. An analysis system may track and display the user events associated with different locations within the webpage. For example, the analysis system may display heatmaps that show where users clicked on different webpage objects.


The analysis system may display darker images in the heat maps to represent more mouse clicks for the associated webpage location and may display lighter images to represent fewer mouse clicks for the associated webpage location. In another example, the analysis system may display usage clusters of the heat map in different colors to represent the number of mouse clicks.


An operator may have difficulties visually associating usage information with underlying webpage objects. For example, the analysis system may display a heat map usage cluster over multiple different webpage objects. The operator may want to view more detailed usage information for particular webpage objects. However, the analysis system may only display one static heat map for the entire webpage.


BRIEF SUMMARY

A dynamic zooming system may use overlays to display usage information over associated webpages. In one example, a replay manager may zoom-in on particular areas of the webpages to view more specific usage information. In another example, the replay manager may zoom-out the webpages to view more general usage information. The dynamic zooming system may use a first scaled overlay layer to dynamically vary a zoom level of the usage information to match a zoom level for the webpages. The dynamic zooming system also may use a second fixed overlay layer to display other usage information independently of the zoom-level for the webpages.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 depicts an example dynamic zooming system.



FIG. 2 depicts example overlays displayed by a dynamic zooming system.



FIG. 3 depicts an example process for creating scaled overlay layers and fixed overlay layers.



FIG. 4 depicts an example process for dynamically zooming usage information in a scaled layer and a fixed layer.



FIG. 5 depicts an example heat map displayed in a scaled layer.



FIG. 6 depicts an example heat map displayed in response to a zoom level change.



FIG. 7 depicts an example of usage information displayed in a scaled layer and in a fixed layer.



FIG. 8 depicts an example how a fixed layer and a scaled layer display usage information in response to a zoom level change.



FIG. 9 depicts another example of usage information displayed in a scaled layer and in a fixed layer.



FIG. 10 depicts an example of how a fixed layer updates usage information after a zoom level change.



FIG. 11 depicts an example link analytics overlay.



FIG. 12 depicts an example of how a scaled layer and a fixed layer display a link analytic overlay after a zoom level change.



FIG. 13 depicts an example computing system for implementing a dynamic zooming system.





DETAILED DESCRIPTION


FIG. 1 depicts an example diagram of a content management system 100. A storage system 102 may store content, such as webpage 106 for a website 104 operated by an enterprise. In one example, the enterprise may be any company that sells products and/or services on-line to users 120. Of course, the enterprise operating storage system 102 and/or website 104 may be any service, business, company, individual, or other entity that provides information to users 120. Webpage 106 may comprise a home webpage for website 104 or any another webpage associated with website 104.


A network 108 may operably couple storage system 102 to a content server 130 and to different computing devices 118 and 138. Network 108 may comprise any combination of local area networks (LANs), wide area networks (WANs), Internet Protocol (IP) networks, phone networks, Public Services Telephone Networks (PSTN), wireless networks, cellular networks, Wi-Fi networks, Bluetooth networks, cable networks, data buses, or the like, or any combination thereof.


Content server 130 and computing devices 118 and 138 may comprise any devices configured to store and process content for web sessions. For example, content server 130 may comprise a data and/or web server and computing devices 118 and 138 may comprise tablet computers, hand-held devices, smart telephones, mobile telephones, personal digital assistants (PDAs), laptop computers, personal computers, computer terminals, PSTN telephones, voice over internet protocol (VoIP) phones, or the like, or any combination thereof.


Any one of users 120 may use computing device 118 to access website 104. For example, one of users 120 may open a web browser 110 and send Hypertext Transfer Protocol (HTTP) requests over network 108 to website 104. Website 104 may send webpage 106 back to web browser 110 in response to the HTTP requests. Web browser 110 then may display webpage 106 on a computer screen of computing device 118. Webpage 106 may contain webpage objects 114, such as text, icons, images, links, fields, hypertext markup language (HTML) code, extensible markup language (XML) code, document object models (DOMs) or the like, or any combination thereof.


A client agent 116 may capture client data 122 associated with webpage 106 during web sessions with users 120. Client data 122 may comprise mouse clicks, loaded webpages 106, text, control events, viewing times for webpage 106, viewing times for webpage objects 114, control events, or any other user input or state that may be entered during the web session. Client agent 116 may send captured client data 122 to content sever 130.


An operator 112 may comprise an employee of the enterprise associated with website 104, or any other person who wants to view usage information for webpage 106. A replay manager 150 may operate on computing device 138 and replay previously captured web sessions, and/or display usage information associated with webpage 106.


Replay manager 150 may replay web page information within a web browser 140. For example, relay manager 150 may render webpage 106 previously loaded into web browser 110 during the original web session. Replay manager 150 then may apply captured client data 122 to the rendered webpage 106. For example, replay manager 150 may display text entered into fields of webpage 106 during the original application session and display icons previously selected by users 120 during the application sessions.


An analytics engine 134 may derive usage information for webpage 106. For example, analytics engine 134 may determine a conversion rate, a bounce rate, a number of mouse clicks, a percentage of mouse clicks, an amount of time users 120 spend on webpages 106, or the like, or any combination thereof. Replay manager 150 may display the usage information in heat maps, reports, or any other objects. For example, replay manager 150 may display usage clusters 142 that identify mouse click locations on associated webpage objects 114 and may display a usage report 136 that identifies a conversion rate for webpage 106.


Operator 112 may change a zoom level, size, and/or location for webpage 106. For example, operator 112 may use a zoom controller 128, such as a slider bar icon, to zoom into specific areas of webpage 106. A zoom coordinator 152 may dynamically adjust the zoom level of the usage information based on the zoom level of webpage 106. For example, zoom coordinator 152 may dynamically adjust a height, width, scale, and/or position of usage clusters 142 based on the new zoom level, size and/or location of webpage objects 114.


Zoom coordinator 152 may maintain a same zoom level, size, and/or location for other usage information independently of the change for webpage 106. For example, zoom coordinator 152 may maintain a same zoom level, size and/or location for usage report 136. However, zoom coordinator 152 may update the usage information displayed within usage report 136 based on the change in webpage 106. In another example, zoom coordinator 152 may continue to display the same usage information within usage report 136 independently of the changes to webpage 106.


For discussion purposes, any changes to webpage 106, webpage objects 114, and/or a content layer containing webpage 106 and/or webpage objects 114 including but not limited to changes in height, width, scale, position, or the like, or any combination thereof will be referred to below as a change in a zoom level.



FIG. 2 depicts a conceptual drawing of a content layer 144, a scaled layer 146, and a fixed layer 148. Each layer 144, 146, and 148 represents an overlay for a different Z-index level of a HTML stack. Webpage 106 may be contained within content layer 144 and webpage objects 114 may be contained on incrementally higher Z-index layers of content layer 144. However, webpage 106 and webpage objects 114 are shown within a same content layer 144 for illustrative purposes.


HTML may include Z-index properties for specifying a stack order for HTML elements. Objects with a greater stack order are displayed over objects with a lower stack order. For example, objects contained within scaled overlay layer 146 may have a higher z-index than objects located in content layer 144. HTML objects within fixed layer 148 may have a higher Z-index than HTML objects within content layer 144 and scaled layer 146.


Content layer 144 may consist of HTML inside a block-level element such as a HTML Document Division Element (DIV) or an Inline Frame (IFRAME). Scaled layer 146 may comprise a transparent IFRAME that operates above content layer 144 and matches the width, height, and position of content layer 144. Cascading style sheets 3 (CSS3) may transform the IFRAME based on changes in content layer 144. For example, changes in a zoom level 124 of content layer 144 may simultaneously cascade down to the CSS3 in scaled layer 146. Scaled layer 146 may be sandboxed from content layer 144 to prevent style errors. For example, objects in scaled layer 146 and fixed layer 148 do not alter how webpage 106 is displayed in content layer 144.


Scaled layer 146 or fixed layer 148 may display any usage information associated with webpage 106. For example, scaled layer 146 may display heatmaps that identify the number of mouse clicks on associated html webpage objects 114. In another example, scaled layer 146 may contain attention maps that show how long users viewed webpage objects 114. In yet another example, scaled layer 146 may display link analytics, such as pins and form fields indicating a percentage of users clicking on the webpage objects.


Fixed layer 148 may display reports that contain analytics associate with the usage information. For example, the report may display heatmap count associated with particular webpage objects. Of course, replay manager 150 may display any other usage information in scaled layer 146 or fixed layer 148. Fixed layer 148 also may display control elements such as a zoom controller or a page navigator for varying the webpages and zoom levels of the webpages.


Zoom coordinator 152 may operate in conjunction with replay manager 150 and analytics engine 134 to coordinate the calculation and display of usage information within scaled layer 146 and fixed layer 148. For example, the operator may perform a zoom-in or zoom-out operation that varies zoom level 124 of content layer 144. Zoom coordinator 152 may dynamically vary a zoom level 126 of scaled layer 146 based on zoom level 124. For example, zoom coordinator 152 may vary a size, scale, and/or location of usage clusters 142 to cover a same relative area and location over associated webpage objects 114.


Zoom controller 152 may display the size, scale, and/or location of objects within fixed layer 148 independently of zoom level changes 124 and 126. For example, prior to an operator initiated zoom operation, replay manager 150 may display usage report 136 at a particular location and with a particular size within fixed layer 148. The operator then may adjust zoom level 124 by either zooming-in or zooming-out content layer 144. Zoom coordinator 152 may vary zoom level 126 of usage clusters 142 within scaled layer 146 to match zoom level 124. However, zoom coordinator 152 may continue to display usage report 136 at the same size, scale, and/or location within fixed layer 148 independently of the change in zoom levels 124 and 126.


In one example, zoom coordinator 152 in coordination with analytics engine 134 and replay manager 150 may fix the zoom level of usage report 136 while dynamically and automatically updating the usage information displayed within usage report 136. For example, usage report 136 may display hit rates for different webpage objects 114 within webpage 106. The hit rates may indicate the percentage of clicks on webpage objects 114.


The operator may change zoom level 124 and zoom coordinator 152 may vary zoom level 126 for scaled layer 146 to correspond with zoom level 124. Zoom coordinator 152 also may dynamically update the hit rate displayed in usage report 136 to correspond with the different webpage objects 114 and associated usage clusters 142 displayed in the new zoom levels 124 and 126.


For example, a first zoom level 124 of content layer 144 may display an entire webpage object 114 and a second zoomed-in level 124 of content layer 144 only may display a portion of the webpage object. Zoom coordinator 152 may display a first hit rate in usage report 136 for the entire webpage object 114 displayed in the first zoom level 124. Zoom coordinator 152 then may display a new hit rate in usage report 136 for the partial portion of the webpage object 114 displayed in second zoom level 124.


Thus, zoom coordinator 152 in combination with replay manager 150 and analytics engine 134 may display usage information in scaled layer 144 over associated HTML objects in content layer 144. Zoom coordinator 152 also may dynamically zoom the usage information, such as usage clusters 142, over associated HTML webpage objects 114 in response to changes in zoom level 124.


Zoom coordinator 152 may display other usage information in fixed layer 148 above scaled layer 146. Zoom coordinator 152 may display usage information within fixed layer 148 at a particular size and location independently of changes to zoom levels 124 and 126. However, zoom coordinator 152 may dynamically update statistics for the usage information based on changes in zoom levels 124 and 126.



FIG. 3 depicts an example process for implementing dynamic zooming. In operation 160, the replay manager may create and/or enable the zoom coordinator when a webpage is loaded. For example, the replay manager may create an instance of the zoom coordinator as described below in Table 1.0. This instance may exist at the window level of the webpage document and may trigger other operations when the replay manager activates overlays.


Table 1.0 shows one example of a zoom coordinator instance for insertion into webpage HTTP code and interaction with replay manager 150.











TABLE 1.0









var application = new cxzoom( );










The replay manager in operation 162 may create a DIV container for the fixed layer. The replay manager may insert the DIV container on top of the content layer and may configure the DIV container with dimensions large enough to hold the content layer.


The replay manager in operation 164 may create an IFRAME for the scaled layer and operation 164 may inject the scaled layer inside of the IFRAME above the content layer. Table 2.0 shows one example of how the replay manager may append or inject a scaled layer inside of the content layer. The code in Table 2.0 may generate an IFRAME for scaled layer 146 that matches the size of content layer 144.









TABLE 2.0







var scaledLayer = document.createElement(‘iframe’);


scaledLayer.src = ‘overlay.html’;


matchContentLayerSize(scaledLayer);


matchContentLayerPosition(scaledLayer);


contentLayer.contentWindow.document.body.appendChild(scaledLayer);









The replay manger in operation 168 may create a scaled layer application instance. For example, the replay manager may create objects inside of Java script and pass the objects to the scaled layer and the fixed layer. The scaled layer instance may be a separate instance that enables two-way communication between the fixed layer and the scaled layer.


Table 3.0 shows one example of code that creates a scaled layer instance that enables the two-way communication between fixed layer 148 and scaled layer 146.









TABLE 3.0







scaledLayer.onload = function( ) {


 var instance = contentLayer.contentWindow.createInstance(application);


 instance.fixedLayer = application;


 application.scaledLayer = instance;


};









Operation 170 may attach scaling overlays to the scaled layer and operation 172 may attach non-scaling overlays to the fixed layer. The replay manager may attach the overlays in response to operator inputs. For example, the operator may direct the replay manager to load specific overlays, such as form analytics. In response to the operator input, the replay manager may attach components for the associated form analytics to the scaled and fixed layers. If the user then selects a heat map, the replay manager may delete the form analytics components from the overlays and attach the heat map components to the overlays.



FIG. 4 depicts one example of how the replay manager may dynamically zoom usage information. In operation 180, the replay manager may display objects in the content layer, scaled layer, and fixed layer based on operator inputs. For example, the operator may select a particular webpage and select a particular type of analytics, such as a heat map. The replay manager then loads the selected webpage into a computer device and load display objects for the heat map into the webpage.


In operation 182, the zoom coordinator may detect a change in zoom level of the content layer. For example, the operator may zoom-in or zoom-out the webpage loaded by the replay manager. The zoom coordinator may fire an event that updates the scaled and/or fixed layer based on the new zoom level.


As described above, the zoom coordinator may handle the event differently for the content layer and the scale layer. In operation 184, the zoom coordinator may adjust the zoom level of the scaled layer to correspond to the zoom level of the content layer. For example, the operator may zoom-in on the loaded webpage. The zoom coordinator may dynamically zoom-in the usage information displayed in the scaled layer to correspond with the new zoom level. For example, the zoom coordinator may enlarge usage clusters in response to a zoom-in operation to cover a same relative location and portion of associated webpage objects.


In operation 186, the zoom coordinator may update the usage information displayed in the fixed layer to correspond to the zoom level for the content layer and scaled layer. For example, the zoom coordinator may update the usage information displayed in the fixed layer to correspond with the different portions of the webpage in the content layer and usage information in the scaled layer displayed after the zoom level change. However, the zoom coordinator may not vary the zoom level of control elements in the fixed layer or the zoom level of reports displaying usage information in the fixed layer.


Table 4.0 shows example code for a redraw function that executes after a zoom event. The operator may trigger the redraw function by changing the zoom level with the zoom controller displayed within the fixed layer.











TABLE 4.0









var redraw = function( ) {



contentLayer.css({ ‘transform’: ‘scale(‘ + getZoomLevel( ) + ’)’,



‘transform-origin’: getOrigin( ),



‘margin’: getMargin( )



});



};











FIG. 5 depicts an example webpage displayed within a screen 154 of computing device 138 during a replay session. The replay manager may display webpage 106 and webpage objects 114A-114G within content layer 144. The replay manager may display usage clusters 142A-142D within scaled layer 146 over associated webpage objects 114A-114D, respectively, and may display other usage information (not shown) in fixed layer 148 over content layer 144 and scaled layer 146.


Content layer 144 is shown in dotted lines and scaled layer 146 is shown extending over content layer 144. For illustrative purposes, an outside perimeter of scaled layer 146 extends out beyond an outside perimeter of content layer 144. However, the objects within scaled layer 146 may generally be dynamically zoomed to a same zoom level as webpage 106 and webpage objects 114 within content layer 144. Fixed layer 148 is shown with an outside perimeter that extends beyond the outside perimeters of content layer 144 and fixed layer 146.


The replay manager may display scaled layer 146 in a transparent color. For example, the replay manager may display usage clusters 142 in semi-transparent colors so the operator may view associated underlying webpage objects 114. As mentioned above, usage clusters 142 may represent places on webpage 106 where users performed mouse clicks, selections, entered data, etc. In one example, the replay manager may display usage clusters 142 with different colors or shades based on the number of associated user events. For example, the replay manager may use darker colors for the usage clusters 142 associated with more mouse clicks.


The replay manager may display zoom controller 128 within fixed layer 148. The operator may select zoom controller 128 with cursor 190 to change a zoom level of the objects within content layer 144. For example, the operator may drag a selector displayed on zoom controller 128 upwards to zoom-in webpage 106 and may drag the selector downwards to zoom-out webpage 106.


In another example, the replay manager may vary a size of webpage 106 in response to the operator selecting and dragging a corner of webpage 106 inward or outward. In another example, the replay manager may display a different portion of webpage 160 in response to the operator using cursor 190 to display a different portion of another webpage 106. The replay manager may dynamically zoom and/or move objects in scaled layer 146 and update usage information displayed within scaled layer 146 and fixed layer 148 based on the operator selections.



FIG. 6 depicts one example of how the replay manager may dynamically zoom the sealed layer. In this example, the operator may have zoomed-out webpage 106 reducing the size of webpage objects 114A-114G and revealing additional webpage object 114H.


The replay manager may automatically change the zoom level of objects within scaled layer 146 to match the zoom level of webpage 106. For example, the replay manager may adjust the size, scale, and position of usage clusters 142A-142D to maintain a same relative size, scale, and position over associated zoomed-out webpage objects 114A-114D, respectively. The replay manager also may update usage information displayed within scaled layer 146 based on the operator input. For example, the replay manager may dynamically display new usage clusters 142H associated with newly displayed webpage object 114.



FIG. 7 depicts an example of how the replay system may display usage information within the fixed layer. The fixed layer may include an object displaying usage report 136. As mentioned above, the fixed layer also may include an object displaying zoom controller 128. The replay manager may display usage report 136 in response to the operator selecting one of tabs 192, or selecting or hovering over one of webpage objects 114 or usage clusters 142. The replay manager may obtain the usage information displayed in usage report 136 from the analytics manager.


The display manager may display any type of usage information within usage report 136. For example, as mentioned above usage report 136 may display a number of views for webpage 106, a number of hits on specific webpage objects 114, a bounce rate percentage for webpage 106, or the like, or any combination thereof. In another example, usage report 136 may identify when users clicked on webpage objects 114, the percentage of mouse clicks resulting in purchases, demographic information for the users associated with usage clusters 142, or the like, or any combination thereof.


Fields 194A-194C in usage report 136 may identify hit rates for different webpage objects 114A, 114B, and 114D, respectively. For example, the analytic system may count the number of times different users accessed webpage 106 over a given time period and count the total number of times each webpage object 114 was selected. Fields 194A-194C then may display the hit rates for webpage objects 114A, 114B, and 114D, respectively.


In one example, the replay manager may not display usage clusters 142 over certain portions of webpage 106. For example, the number of user clicks for webpage object 114E may be too small to display an associated usage cluster 142. The replay manager still may display analytic data by moving cursor 190 over webpage object 114E. The replay manager may detect the mouseover and display a popup report (not shown) identifying a number of mouse clicks, or any other usage information, associated with webpage object 114E. The object displaying popup report may be located within fixed layer 148 or scaled layer 146.


The replay manager may highlight one of webpage objects 114 in response to selection of one of fields 194. For example, the operator may select field 194C to provide a visual indicator of the associated webpage object 114D. In response to selection of field 194, the replay manager may insert an object within scaled layer 146 generating a transparent or translucent image 196 over webpage object 114D and usage cluster 142D. For example, a first object within fixed layer 148 may display usage repot 136. The first object may active a second object within scaled layer 146 that activates image 196.



FIG. 8 depicts one example of how the replay manager may display objects within fixed layer after a zoom operation. In this example, the replay manager may zoom-out webpage 106 in response to the operator moving the slider-bar on zoom controller 128. The replay manager may reduce the size of webpage 106 and webpage objects 114 and display additional webpage object 114H.


The replay manager may again dynamically zoom-out scaled layer 146 to match the zoom level of content layer 146. For example, the replay manager may reduce the size of usage clusters 142 proportionally with the reduced size of associated webpage objects 114. The replay manager also may reduce the size of highlighted image 196 to match the reduced size of webpage object 114D.


The replay manager may continue to display usage information and control information within fixed layer 148 independently of the zoom level of content layer 144 and scaled layer 146. For example, the replay manager may display usage report 136 and the usage information within fields 194A-194C at the same size and location as displayed prior to the zoom operation. The replay manager also may display the zoom controller 152 at a same size and location within fixed layer 148 as displayed before the zoom operation.



FIG. 9 depicts another example of how the replay manager may dynamically zoom usage information. The replay manager may display webpage 200 and webpage objects 204 and 208 within content layer 144. The replay manager may display usage clusters 206A-206D within scaled layer 146 over associated webpage object 204. The replay manager also may display usage clusters 210A-210D within scaled layer 146 over associated with webpage object 208.


The replay manager may display zoom controller 128, an analysis box 202, and a usage report 212 within fixed layer 148. A first object within scaled layer 146 may count the usage information within the boundary of analysis box 202. The first object then may pass the count value to a second object within fixed layer 148 that displays the count in usage report 212.


For example, analysis box 202 may extend over usage clusters 206C and 206D. The replay manager may count the number user clicks associated with usage clusters 206C and 206D and display the count number in usage report 212. For example, usage report 212 may identify 20 data points selected for usage clusters 206C and 206D.



FIG. 10 depicts an example of how the display manager may update usage information in the fixed layer. The operator may change the zoom level of content layer 144 displayed in FIG. 9 by moving the slider on zoom controller 128 with cursor 190. In this example, the operator may zoom-out content layer 144 reducing the size of webpage 200 and revealing an additional webpage 214. The replay manager may reduce the size of webpage objects 204 and 208 in response to the zoom-out operation. The replay manager also may change the zoom level of usage clusters 206 and 219 within scaled layer 146 to match the new zoom level of content layer 144.


Analysis box 202 may cover a different group of usage clusters after the change in the zoom level of content layer 144. For example, analysis box 202 now may cover usage clusters 206A and 210A. The first object within scaled layer 146 associated with analysis box 202 may recount the number of data points associated with usage clusters 206A and 210A.


The first object may send the count number to the second object within fixed layer 148 displaying analysis box 202. The second object then displays the new count number in usage report 212. Thus, the replay manager may dynamically vary the usage information displayed in analytic box 202 based on the zoom level or movement of objects within content layer 144 and scaled layer 146.


The replay manager may display analytic box 202 at a default size and location. The operator may use cursor 190 to resize and/or reposition analytic box 202. The analytic engine may supply an original set of data points to the replay manager. The replay manager then may scale the number of data points and apply an offset to the data points to determine what count value to display within analytic box 202.



FIG. 11 depicts an example of a link analytics overlay. The replay manager may display pin icons 222A-222C next to associated HTML webpage objects 204, 208, and 209, respectively. The replay manager also may display form fields 224A-224C next to associated pin icons 222A-22C, respectively. The replay manager may display pin icons 222 for the most highly selected webpage objects. For example, the top selection rates may comprise 37.2% for webpage object 204, 15.2% for webpage object 208, and 1.5% for webpage object 209. The replay manager may display the selection rates in associated form fields 224A-224C, respectively. The replay manager may attach a first object to scaled layer 146 that displays pin icons 222 and associated form fields 224.


The first object within scaled layer 146 may communicate with a second object within fixed layer 148. The second object may display a dialog box 220. The operator may select or hover over one of pin icons 222, such as pin icon 222A. The first object within scaled layer 146 may activate the second object within fixed layer 148 to display dialog box 220.


The first object also may send the selection rate for the selected pin icon 222A to the second object. The second object then may display the selection rate in dialog box 220. The second object may display additional usage information. For example, dialog box 220 may identify both the 37.5% click rate for webpage object 204 and identify the total number of clicks or user selections for webpage object 204.



FIG. 12 depicts an example of how the replay manager may dynamically zoom the links analytics overlay. The operator may zoom-out webpage 200 in response to a new zoom level selected by the operator via zoom controller 128. Since pin icons 222 and associated form fields 224 are located within scaled layer 146, the replay manager may simultaneously zoom-out pin icons 222 and form fields 224 with webpage 200.


Since dialog box 220 is located within fixed layer 148, the replay manager may continue to display dialog box 220 and the usage information within dialog box 220 at the same size and location within fixed layer 148 independently of the new zoom level. The first object within scaled layer 146 may continue to pass the selection rate information to the second object within fixed layer 148. Thus, dialog box 220 continues to display the selection rate information as form field 224A independently of the smaller size of pin icon 222A, form field 224A, and the usage information within form field 224A.


The dynamic zooming described above may be helpful when displaying usage information for application sessions with mobile devices. The mobile devices may have relatively small screens compared with the screens on personal computers. Thus, an operator may need to zoom-in and/or move the smaller electronic pages associated with the mobile devices to view associated usage information. Dynamic zooming allows an operator to zoom-in to different specific locations with the electronic pages still clearly see associated usage information.


Hardware and Software



FIG. 13 shows a computing device 1000 that may be used for operating the dynamic zooming system discussed above. The computing device 1000 may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In other examples, computing device 1000 may be a personal computer (PC), a tablet, a Personal Digital Assistant (PDA), a cellular telephone, a smart phone, a web appliance, or any other machine or device capable of executing instructions 1006 (sequential or otherwise) that specify actions to be taken by that machine.


While only a single computing device 1000 is shown, the computing device 1000 may include any collection of devices or circuitry that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the operations discussed above. Computing device 1000 may be part of an integrated control system or system manager, or may be provided as a portable electronic device configured to interface with a networked system either locally or remotely via wireless transmission.


Processors 1004 may comprise a central processing unit (CPU), a graphics processing unit (GPU), programmable logic devices, dedicated processor systems, micro controllers, or microprocessors that may perform some or all of the operations described above. Processors 1004 may also include, but may not be limited to, an analog processor, a digital processor, a microprocessor, multi-core processor, processor array, network processor, etc.


Some of the operations described above may be implemented in software and other operations may be implemented in hardware. One or more of the operations, processes, or methods described herein may be performed by an apparatus, device, or system similar to those as described herein and with reference to the illustrated figures.


Processors 1004 may execute instructions or “code” 1006 stored in any one of memories 1008, 1010, or 1020. The memories may store data as well. Instructions 1006 and data can also be transmitted or received over a network 1014 via a network interface device 1012 utilizing any one of a number of well-known transfer protocols.


Memories 1008, 1010, and 1020 may be integrated together with processing device 1000, for example RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory may comprise an independent device, such as an external disk drive, storage array, or any other storage devices used in database systems. The memory and processing devices may be operatively coupled together, or in communication with each other, for example by an I/O port, network connection, etc. such that the processing device may read a file stored on the memory.


Some memory may be “read only” by design (ROM) by virtue of permission settings, or not. Other examples of memory may include, but may be not limited to, WORM, EPROM, EEPROM, FLASH, etc. which may be implemented in solid state semiconductor devices. Other memories may comprise moving parts, such a conventional rotating disk drive. All such memories may be “machine-readable” in that they may be readable by a processing device.


“Computer-readable storage medium” (or alternatively, “machine-readable storage medium”) may include all of the foregoing types of memory, as well as new technologies that may arise in the future, as long as they may be capable of storing digital information in the nature of a computer program or other data, at least temporarily, in such a manner that the stored information may be “read” by an appropriate processing device. The term “computer-readable” may not be limited to the historical usage of “computer” to imply a complete mainframe, mini-computer, desktop, wireless device, or even a laptop computer. Rather, “computer-readable” may comprise storage medium that may be readable by a processor, processing device, or any computing system. Such media may be any available media that may be locally and/or remotely accessible by a computer or processor, and may include volatile and non-volatile media, and removable and non-removable media.


Computing device 1000 can further include a video display 1016, such as a liquid crystal display (LCD) or a cathode ray tube (CRT)) and a user interface 1018, such as a keyboard, mouse, touch screen, etc. All of the components of computing device 1000 may be connected together via a bus 1002 and/or network.


For the sake of convenience, operations may be described as various interconnected or coupled functional blocks or diagrams. However, there may be cases where these functional blocks or diagrams may be equivalently aggregated into a single logic device, program or operation with unclear boundaries.


Having described and illustrated the principles of a preferred embodiment, it should be apparent that the embodiments may be modified in arrangement and detail without departing from such principles. Claim is made to all modifications and variation coming within the spirit and scope of the following claims.

Claims
  • 1. A computer program product for replaying an application session, the computer program product comprising a computer readable storage medium having program code embodied wherewith, wherein the computer readable storage medium is not a transitory medium, the program code readable/executable by a computer to perform a method comprising: initiating, by the computer, a replay of one or more application sessions captured over one or more selected time periods, by: displaying, by the computer, one or more webpage objects within a content layer of a webpage, anddisplaying, by the computer, usage information captured during the one or more application sessions over the one or more selected time periods and associated with the one or more webpage objects within a scaled layer of the webpage, wherein the scaled layer operates above the content layer and the usage information is displayed in the scaled layer over the one or more webpage objects within the content layer and corresponds to one or more user events associated with the one or more webpage objects within the content layer, and wherein the usage information is placed within the scaled layer to prevent changes in a zoom level of the content layer from affecting the display of the usage information;detecting, by the computer, a change in the zoom level of the content layer during the replay of the one or more application sessions;changing, by the computer, during the replay of the one or more application sessions, the zoom level of the usage information displayed within the scaled layer based on the zoom level of the content layer and in response to detecting the change in the zoom level of the content layer;identifying, by the computer, during the replay of the one or more application sessions, a portion of the usage information associated with a first object located within the scaled layer;in response to identifying the portion of the usage information associated with the first object, communicating, by the computer, during the replay of the one or more application sessions, the portion of the usage information from the first object located within the scaled layer to a second object located within a fixed layer of the webpage and displaying the portion of the usage information associated with the second object within the fixed layer of the webpage, wherein the fixed layer is an HTML element that is separate from the content layer and the scaled layer such that the fixed layer is independent of the zoom level of the content layer and two-way communication between the scaled layer and the fixed layer is enabled by the scaled layer; anddisplaying, by the computer, during the replay of the one or more application sessions, additional usage information associated with the one or more webpage objects within the fixed layer of the webpage, wherein a zoom level of the additional usage information within the fixed layer is unaffected by the detected change in the zoom level of the content layer and wherein the additional usage information is dynamically updated based on the detected change in the zoom level of the content layer and one or more user events associated with the one or more webpage objects.
  • 2. The computer program product of claim 1, wherein the webpage objects comprise a first set of hypertext markup language (HTML) objects for a webpage within the content layer and the usage information is displayed by a second set of HTML objects within the scaled layer.
  • 3. The computer program product of claim 1, wherein the method further comprises displaying, by the computer, the usage information within the scaled layer at a Z-index level above the content layer.
  • 4. The computer program product of claim 1, wherein the method further comprises displaying, by the computer, a heatmap within the scaled layer over the content layer, wherein the usage information is displayed within the heatmap.
  • 5. The computer program product of claim 1, wherein the method further comprises: inserting, by the computer, an inline frame (IFRAME) within a webpage containing the webpage objects; anddisplaying, by the computer, the usage information within the IFRAME.
  • 6. The computer program product of claim 1, wherein the method further comprises: generating, by the computer, usage clusters from the usage information;identifying, by the computer, the webpage objects associated with the usage clusters; anddisplaying, by the computer, the usage clusters within the scaled layer over the associated webpage objects.
  • 7. The computer program product of claim 6, wherein changing the zoom level of the content layer changes a size and location of the webpage objects and changing the zoom level of the scaled layer changes a size and location of the usage clusters to maintain substantially a same relative position and coverage over the associated webpage objects.
  • 8. The computer program product of claim 1, wherein the method further comprises: displaying, by the computer, form fields over the webpage objects;displaying, by the computer, the usage information within the form fields; andvarying, by the computer, sizes of the form fields and sizes of the usage information displayed within the form fields based on the zoom level of the content layer.
  • 9. The computer program product of claim 1, wherein the method further comprises: detecting, by the computer, selection of the usage information for an associated one of the webpage objects;displaying, by the computer, a highlighted overlay within the scaled layer over the associated one of the webpage objects; andvarying, by the computer, a zoom level of the highlighted overlay based on the zoom level of the content layer.
  • 10. The computer program product of claim 1, wherein the method further comprises: displaying, by the computer, the usage information within the scaled layer at a Z-index level above the content layer; anddisplaying, by the computer, the additional usage information within the fixed layer at a Z-index level above the scaled layer.
  • 11. The computer program product of claim 1, wherein the method further comprises updating, by the computer, the additional usage information within the fixed layer based on the zoom level of the content layer.
  • 12. The computer program product of claim 1, wherein the method further comprises: inserting, by the computer, a Document Division Element (DIV) container into the content layer; anddisplaying the fixed layer within the DIV container.
  • 13. The computer program product of claim 1, wherein the method further comprises: generating, by the computer, control icons configured to control the zoom level of the content layer; anddisplaying, by the computer, the control icons within the fixed layer.
  • 14. The computer program product of claim 1, wherein the method further comprises: displaying, by the computer, an analysis box within the fixed layer, wherein the analysis box covers a portion of the usage information, and wherein a zoom level of the analysis box is unaffected by the detected change in the zoom level of the content layer;counting, by the computer, a first number of events for the usage information covered by the analysis box prior to detecting the change in the zoom level of the content layer;displaying, by the computer, the first number of events within a usage report in the fixed layer;counting, by the computer, a second number of events for the usage information covered by the analysis box in response to detecting the change in the zoom level of the content layer, wherein the analysis box covers a different portion of the usage information due to the change in the zoom level of the content layer; andupdating, by the computer, the usage report to display the second number of events in response to counting the second number of events.
  • 15. An apparatus, comprising: a memory configured to store objects and store usage information associated with one or more webpage objects; andlogic circuitry configured to: initiate a replay of one or more application sessions captured over one or more selected time periods, by: displaying a webpage comprising the one or more webpage objects within a computer screen, anddisplaying the usage information captured during the one or more application sessions over the one or more selected time periods in a scaled overlay over the associated one or more webpage objects, wherein the usage information corresponds to one or more user events associated with the one or more webpage objects, and wherein the usage information is placed within the scaled layer to prevent changes in a zoom level of the content layer from affecting the display of the usage information;detect an input changing a size of the webpage comprising the one or more webpage objects during the replay of the one or more application sessions;vary, during the replay of the one or more application sessions, a size of the scaled overlay based on the size of the webpage comprising the one or more webpage objects;identify, during the replay of the one or more application sessions, a portion of the webpage displayed within the computer screen after the change in the size of the webpage and usage information associated with a first object located within the scaled overlay, wherein the usage information associated with the first object corresponds to one or more user events associated with the one or more webpage objects within the portion of the webpage displayed within the computer screen after the change in the size of the webpage;in response to identifying the portion of the webpage displayed within the computer screen after the change in the size of the webpage and usage information associated with the first object within the scaled overlay, communicate, during the replay of the one or more application sessions, from the first object to a second object located within a fixed overlay, the usage information associated with the first object and dynamically display the usage information associated with the first object by the second object within the fixed overlay of the computer screen, wherein the fixed overlay is an HTML element that is separate from the scaled overlay such that objects displayed in the fixed overlay and the scaled overlay do not alter the one or more webpage objects and two-way communication between the scaled overlay and the fixed overlay is enabled by the scaled overlay; anddisplay, during the replay of the one or more application sessions, additional usage information in the fixed overlay independently of changes to the size of the one or more objects, wherein the additional usage information is dynamically updated based on the detected change in the size of the webpage comprising the one or more webpage objects and the one or more user events associated with the one or more objects.
  • 16. The apparatus of claim 15, wherein the objects comprise webpage objects within a hypertext markup language (HTML) webpage and the logic circuitry is further configured to insert HTML objects within the HTML webpage configured to display the usage information and vary a display size of the usage information based on the size of the HTML webpage.
  • 17. The apparatus of claim 15, wherein the logic circuitry is further configured to: detect a change in a zoom level of the objects; andchange a zoom level of the usage information in the scaled overlay to match the zoom level of the objects.
  • 18. The apparatus of claim 15, wherein the logic circuitry is further configured to: derive usage clusters from the usage information, wherein the usage clusters show selection locations for the objects;vary a zoom level of the objects; andvary a zoom level of the usage clusters based on the zoom level of the objects.
  • 19. The apparatus of claim 15, wherein the objects comprise HTML webpage objects and the scaled overlay comprises HTML objects configured to display the usage information on a Z-index layer above the HTML webpage objects.
  • 20. The apparatus of claim 15, wherein the logic circuitry is further configured to display control elements within the fixed overlay, wherein the control elements are displayed in the fixed overlay independently of changes to the size of the objects.
  • 21. The apparatus of claim 20, wherein the logic circuitry is further configured to change the size of the objects in response to inputs generated by the control elements.
  • 22. A system, comprising: a database configured to store one or more webpages displayed during one or more web sessions and store one or more user inputs entered during the one or more web sessions;a content server configured to generate analytics associated with the one or more webpages based on the user inputs; anda computing device configured to: initiate a replay of one or more application sessions captured over one or more selected time periods, by: displaying the one or more webpages during an analysis session, anddisplaying the analytics in scaled overlays over the one or more webpages, wherein the analytics are placed within the scaled overlays to prevent changes in a zoom level of the one or more webpages from affecting the display of the analytics;receive, during the replay of the one or more application sessions, an input changing the zoom level of the one or more webpages;vary, during the replay of the one or more application sessions, the zoom level of the scaled overlays based on the zoom level of the one or more webpages and in response to changing the zoom level of the one or more webpages;identify, during the replay of the one or more application sessions, a portion of the one or more webpages displayed after the change in the zoom level of the one or more webpages and analytics associated with a first object located within the scaled overlays, wherein the analytics associated with the first object corresponds to one or more user events associated with the portion of the one or more webpages displayed after the change in the zoom level;in response to identifying the portion of the one or more webpages displayed after the change in the zoom level and analytics associated with a first object located within the scaled overlays, communicate, during the replay of the one or more application sessions, the analytics associated with the first object from the first object to a second object located in fixed overlays, the fixed overlays being HTML elements that are separate from the scaled overlays and displayed over the webpages such that objects displayed in the fixed overlays and the scaled overlays do not alter objects displayed within the one or more webpages and two-way communication between the scaled overlays and the fixed overlays is enabled by the scaled overlays; anddisplay, during the replay of the one or more application sessions, reports associated with the analytics in the fixed overlays, wherein a zoom level of the fixed overlays is unaffected by changing the zoom level of the webpages and wherein the reports associated with the analytics are dynamically updated based on the detected change in the zoom level of the one or more webpages and the one or more user inputs entered during the one or more web sessions.
  • 23. The system of claim 22, wherein the computing device is further configured to: load the webpages;insert a first set of objects into the webpages, wherein the first set of objects are configured to display a first set of the analytics and adjust a zoom level of the first set of the analytics to correspond with the zoom level of the webpages; andinsert a second set of objects into the webpages, wherein the second set of objects are configured to display a second set of the analytics, and wherein a zoom level of the second set of the analytics is unchanged by changing the zoom level of the webpages.
  • 24. The system of claim 23, wherein the first set of objects display usage clusters and the second set of objects display usage reports for the usage clusters.
  • 25. The system of claim 23, wherein the computing device is further configured to: insert a third set of objects into the webpages, wherein the third set of objects are configured to display icons configured to control the zoom level of the webpages; anddisplay the icons within the third set of objects, wherein a zoom level of the icons is unaffected by changing the zoom level of the webpages.
  • 26. The computer program product of claim 1, wherein the method further comprises: displaying, by the computer, an additional webpage object within the content layer in response to the change in the zoom level of the content layer; anddisplaying, by the computer, usage information associated with the additional webpage object within the scaled layer in response to the additional webpage object being displayed within the content layer.
  • 27. The apparatus of claim 15, wherein the logic circuitry is further configured to: display a usage report including the usage information associated with the objects displayed within the computer screen prior to changing the size of the objects;remove a portion of the objects from display within the computer screen in response to changing the size of the objects; andupdate the usage report to include usage information associated with the objects displayed within the computer screen after removing the portion of the objects.
  • 28. The computer program product of claim 1, wherein the method further comprises: detecting an interaction with a zoom controller located within the fixed layer; generating a request for the change in the zoom level of the content layer based on the interaction with the zoom controller; andperforming the change in the zoom level of the content layer based on the request.
Parent Case Info

The present application claims priority to U.S. Provisional Patent Application Ser. No. 61/727,915, entitled: DYNAMIC ZOOMING OF HTML CONTENT WITH OVERLAYS, filed Nov. 19, 2012, which is herein incorporated by reference in its entirety.

US Referenced Citations (190)
Number Name Date Kind
5463547 Markowitz Oct 1995 A
5564043 Siefert Oct 1996 A
5577254 Gilbert Nov 1996 A
5699526 Siefert Dec 1997 A
5715314 Payne Feb 1998 A
5717879 Moran et al. Feb 1998 A
5721906 Siefert Feb 1998 A
5751962 Fanshier et al. May 1998 A
5774552 Grimmer Jun 1998 A
5781735 Southard Jul 1998 A
5809250 Kisor Sep 1998 A
5825880 Sudia Oct 1998 A
5832458 Jones Nov 1998 A
5832496 Anand et al. Nov 1998 A
5845124 Berman Dec 1998 A
5848396 Gerace Dec 1998 A
5848412 Rowland Dec 1998 A
5857188 Douglas Jan 1999 A
5867578 Brickell Feb 1999 A
5870559 Leshem et al. Feb 1999 A
5894516 Brandenburg Apr 1999 A
5903652 Mital May 1999 A
5905868 Baghai et al. May 1999 A
5909492 Payne Jun 1999 A
5930786 Carino, Jr. et al. Jul 1999 A
5933601 Fanshier et al. Aug 1999 A
5941957 Ingrassia, Jr. et al. Aug 1999 A
5951643 Shelton et al. Sep 1999 A
5951652 Ingrassia, Jr. Sep 1999 A
5954798 Shelton Sep 1999 A
5991791 Siefert Nov 1999 A
6006228 McCollum Dec 1999 A
6026403 Siefert Feb 2000 A
6035332 Ingrassia, Jr. Mar 2000 A
6085223 Carino, Jr. Jul 2000 A
6151584 Papierniak Nov 2000 A
6151601 Papierniak et al. Nov 2000 A
6169997 Papierniak Jan 2001 B1
6182097 Hansen Jan 2001 B1
6253203 O'Flaherty Jun 2001 B1
6286030 Wenig Sep 2001 B1
6286046 Bryant Sep 2001 B1
6286098 Wenig Sep 2001 B1
6295550 Choung Sep 2001 B1
6317794 Papierniak Nov 2001 B1
6334110 Walter Dec 2001 B1
6397256 Chan May 2002 B1
6418439 Papierniak Jul 2002 B1
6480855 Siefert Nov 2002 B1
6502086 Siefert Dec 2002 B2
6502096 Siefert Dec 2002 B1
6519600 Siefert Feb 2003 B1
6589980 Miller Jul 2003 B2
6651072 Carino, Jr. Nov 2003 B1
6658453 Dattatri Dec 2003 B1
6671687 Pederson Dec 2003 B1
6714931 Papierniak et al. Mar 2004 B1
6766333 Wu Jul 2004 B1
6850975 Daneels et al. Feb 2005 B1
6877007 Hentzel et al. Apr 2005 B1
7076495 Dutta Jul 2006 B2
7260837 Abraham et al. Aug 2007 B2
7272639 Levergood Sep 2007 B1
7278105 Kitts Oct 2007 B1
7293281 Moran et al. Nov 2007 B1
7490319 Blackwell et al. Feb 2009 B2
7580996 Allan Aug 2009 B1
7627648 Mehta Dec 2009 B1
RE41903 Wenig Oct 2010 E
7983961 Chang Jul 2011 B1
8042055 Wenig Oct 2011 B2
8127000 Wenig Feb 2012 B2
8219531 Eagan Jul 2012 B2
8225376 Zuckerberg Jul 2012 B2
8266673 Hu Sep 2012 B2
8335848 Wenig Dec 2012 B2
8381088 Kikin-Gil et al. Feb 2013 B2
8533532 Wenig Sep 2013 B2
8583772 Wenig Nov 2013 B2
8832846 Udani Sep 2014 B2
8838736 Swahn Sep 2014 B2
20020049840 Squire Apr 2002 A1
20020056091 Bala May 2002 A1
20020065912 Catchpole et al. May 2002 A1
20020070953 Barg et al. Jun 2002 A1
20020083169 Aki Jun 2002 A1
20020083183 Pujare et al. Jun 2002 A1
20020112035 Carey Aug 2002 A1
20020165954 Eshghi et al. Nov 2002 A1
20030005000 Landsman Jan 2003 A1
20030023715 Reiner et al. Jan 2003 A1
20030128233 Kasriel Jul 2003 A1
20030145071 Straut Jul 2003 A1
20030154289 Williamson et al. Aug 2003 A1
20040019675 Hebeler Jan 2004 A1
20040059809 Benedikt et al. Mar 2004 A1
20040059997 Allen et al. Mar 2004 A1
20040078464 Rajan Apr 2004 A1
20040100507 Hayner et al. May 2004 A1
20040158574 Tom et al. Aug 2004 A1
20050021713 Dugan et al. Jan 2005 A1
20050030966 Cai et al. Feb 2005 A1
20050033803 Vleet et al. Feb 2005 A1
20050066037 Song et al. Mar 2005 A1
20050071464 Kuwata et al. Mar 2005 A1
20050071760 Jaeger Mar 2005 A1
20050086606 Blennerhassett et al. Apr 2005 A1
20050188080 Motsinger et al. Aug 2005 A1
20050198315 Wesley Sep 2005 A1
20050216856 Matti Sep 2005 A1
20050246651 Krzanowski Nov 2005 A1
20050278565 Frattura et al. Dec 2005 A1
20060048153 Truong Mar 2006 A1
20060048214 Pennington et al. Mar 2006 A1
20060075088 Guo Apr 2006 A1
20060117055 Doyle Jun 2006 A1
20060123340 Bailey et al. Jun 2006 A1
20060162071 Dixon et al. Jul 2006 A1
20060230105 Shappir Oct 2006 A1
20060248452 Lambert Nov 2006 A1
20070106692 Klein May 2007 A1
20070174410 Croft Jul 2007 A1
20070226314 Eick Sep 2007 A1
20070245249 Weisberg Oct 2007 A1
20070255754 Gheel Nov 2007 A1
20080005661 Yao et al. Jan 2008 A1
20080005793 Wenig Jan 2008 A1
20080034036 Takeshima et al. Feb 2008 A1
20080046562 Butler Feb 2008 A1
20080052377 Light Feb 2008 A1
20080127217 Wang May 2008 A1
20080162498 Omoigui Jul 2008 A1
20080184129 Cancel et al. Jul 2008 A1
20080209311 Agronik Aug 2008 A1
20080216094 Anderson Sep 2008 A1
20080294974 Nurmi et al. Nov 2008 A1
20090013347 Ahanger Jan 2009 A1
20090019133 Brimley Jan 2009 A1
20090024930 Kim Jan 2009 A1
20090037517 Frei Feb 2009 A1
20090037914 Chagoly et al. Feb 2009 A1
20090063968 Wenig Mar 2009 A1
20090070869 Fan et al. Mar 2009 A1
20090083714 Kiciman et al. Mar 2009 A1
20090132957 Reddy May 2009 A1
20090138554 Longoboard et al. May 2009 A1
20090228474 Chiu et al. Sep 2009 A1
20090247193 Kalavade Oct 2009 A1
20090254529 Goldentouch Oct 2009 A1
20100007603 Kirkup Jan 2010 A1
20100042573 Wenig Feb 2010 A1
20100058285 Meijer et al. Mar 2010 A1
20100070929 Behl et al. Mar 2010 A1
20100146380 Rousso Jun 2010 A1
20100169792 Ascar Jul 2010 A1
20100174774 Kern Jul 2010 A1
20100211638 Rougler Aug 2010 A1
20100251128 Cordasco Sep 2010 A1
20100268694 Denoue Oct 2010 A1
20100287229 Hauser Nov 2010 A1
20100318507 Grant et al. Dec 2010 A1
20110029665 Wenig et al. Feb 2011 A1
20110085526 Joseph Apr 2011 A1
20110173239 Sayed Jul 2011 A1
20110320880 Wenig Dec 2011 A1
20120002903 Wilensky Jan 2012 A1
20120038546 Cromer Feb 2012 A1
20120038678 Hwang Feb 2012 A1
20120084437 Wenig Apr 2012 A1
20120089950 Tseng Apr 2012 A1
20120102101 Wenig Apr 2012 A1
20120151329 Cordasco Jun 2012 A1
20120151384 Stass et al. Jun 2012 A1
20120157122 Niranjan Jun 2012 A1
20120173966 Powell Jul 2012 A1
20120242604 Kato Sep 2012 A1
20130069947 Berstler Mar 2013 A1
20130091417 Cordasco Apr 2013 A1
20130097484 Nakamura Apr 2013 A1
20130104065 Stecher Apr 2013 A1
20130136253 Liberman Ben-Ami May 2013 A1
20130339428 Wenig et al. Dec 2013 A1
20140063174 Junuzovic et al. Mar 2014 A1
20140108911 Damale Apr 2014 A1
20140109018 Casey Apr 2014 A1
20140115506 George Apr 2014 A1
20140115712 Powell Apr 2014 A1
20140137052 Hernandez May 2014 A1
20140250110 Yang Sep 2014 A1
20160006840 Wenig Jan 2016 A1
Foreign Referenced Citations (17)
Number Date Country
2656539 Feb 2008 CA
2696884 Mar 2009 CA
0326283 Aug 1989 EP
0843449 May 1998 EP
1097428 Jun 2002 EP
07840244.3 Feb 2008 EP
08769998.9 Mar 2009 EP
2357680 Jun 2008 GB
9825372 Jun 1998 WO
WO 9826571 Jun 1998 WO
9836520 Aug 1998 WO
0013371 Mar 2000 WO
0217165 Feb 2002 WO
2008019193 Feb 2008 WO
2009029316 Mar 2009 WO
2010019258 Feb 2010 WO
2010141748 Dec 2010 WO
Non-Patent Literature Citations (47)
Entry
Mel, Aug. 23, 2009, Distribute paths to separate layers—illustrator tutorial, pp. 1-3.
Mahemoff NPL “Mahemoff's Podcast Blog” Mar. 31, 2008 pp. 1-6.
Alex, Jul. 1, 2008, “Layering IFrames” https://www.datadial.net/blog/layering-iframes-using-positioning-and-z-index/, p. 1.
Stolowitz Ford Cowger LLP Listing of Related Cases May 14, 2013.
International Search Report for PCT/US2013/023636; dated Aug. 13, 2013.
Written Opinion of the International Searching Authority for PCT/US2013/023636; dated Aug. 13, 2013.
Rubio, An Introduction to JSON, Feb. 28, 2007, http://www.oracle.com/technetwork/articles/entarch/introduction-json-097942.html.
Teare, An Introduction to Ajax, Aug. 2005, http://www.oracle.com/technetwork/articles/entarch/ajax-introduction-096831.html.
Stolowitz Ford Cowger LLP; Listing of Related Cases; Dec. 19, 2013.
Summons to attend oral proceedings pursuant to Rule 115(1) in EP App. No. 07840244.3; Dated Dec. 12, 2013.
U.S. Appl. No. 11/616,616, filed Dec. 27, 2006, Method and Apparatus for Monitoring and Synchronizing User Interface Events With Network Data, Wenig, U.S. Pat. No. 8,127,000.
U.S. Appl. No. 12/049,245, filed Mar. 14, 2008, Replaying Captured Network Interactions, Wenig, U.S. Pat. No. 8,042,055.
U.S. Appl. No. 12/822,137, filed Jun. 23, 2010, System Identifying and Inferring Web Session Events, Wenig, 2011-0320880.
U.S. Appl. No. 12/904,356, filed Oct. 14, 2010, Dynamically Configurable Session Agent, Chen, 2011-0029665.
U.S. Appl. No. 11/247,001, filed Oct. 7, 2005, Systems and Methods for Recording and Visually Recreating Sessions in a Client-Server Environment, Wenig, U.S. Pat. No. RE41,903.
U.S. Appl. No. 13/223,192, filed Aug. 31, 2011, Replaying Captured Network Interactions, Wenig, 2012-0084437.
U.S. Appl. No. 13/337,905, filed Dec. 27, 2011, Method and Apparatus for Monitoring and Synchronizing User Interface Events With Network Data, Wenig, U.S. Pat. No. 8,335,848.
U.S. Appl. No. 13/419,179, filed Mar. 13, 2012, Method and Apparatus for Intelligent Capture of Document Object Model Events, Powell, 2012-0173966.
U.S. Appl. No. 12/191,585, filed Aug. 14, 2008, Method and System for Communication Between a Client System and a Server System, Wenig, 2010-0042573.
U.S. Appl. No. 12/750,607, filed Mar. 30, 2010, Visualization of Website Analytics, Cordasco, 2010-0251128.
U.S. Appl. No. 13/401,725, filed Feb. 21, 2012, On-Page Manipulation and Real-Time Replacement of Content, Cordasco, 2012-0151329.
U.S. Appl. No. 09/113,376, filed Jul. 10, 1998, Systems and Methods for Recording and Visually Recreating Sessions in a Client-Server Environment, Wenig, U.S. Pat. No. 6,286,030.
U.S. Appl. No. 09/143,537, filed Aug. 28, 1998, System and Method for Encrypting Audit Information in Network Applications, Wenig, U.S. Pat. No. 6,286,098.
Communication from the EP Patent Office pursuant to Article 94(3) EPC in EP Application No. 09806979.2; dated Jan. 6, 2014.
Nino, et al., CARENA: A Tool to Capture and Replay Web Navigation Sessions; 2005, IEEE; pp. 127-141.
Smith et al., “Automated Protocol Analysis,” Human Computer Interaction, 8:101-145, 1993.
Bishop, Matt et al., “A Model of Security Monitoring”, Department of Mathematics and Computer Science, Dartmouth College, pp. 46-52. Dec. 1989.
Al-Qaimare G., et al., Kaldi: A Computer-Aided Usability Engineering Tool for Supporting Testing and Analysis of Human-Computer Interation:, Computer-Aided Design of User Interfaces. Proceedings of the International Conference on Computer-Aided Design of User Interfaces, Proceedings of CADUI, xx, xx, Oct. 21, 1999 (Oct. 21, 1999), pp. 337-355.
International Search Report for PCT/US08/65582; dated Sep. 11, 2008.
International Search Report for PCT/US2007/071096; dated May 13, 2008.
Written Opinion of the International Searching Authority for PCT/US08/65582; dated Sep. 11, 2008.
Written Opinion of the International Searching Authority for PCT/US07/71096; dated May 13, 2008.
PCT Search Report for PCT/US2011/033813; dated Jul. 28, 2011.
Written Opinion of the International Searching Authority for PCT/US2011/033813; dated Jul. 28, 2011.
International Search Report for PCT/US09/04654; dated Oct. 2, 2009.
Written Opinion of the International Searching Authority; PCT/US09/04654; dated Oct. 2, 2009.
Holloway, et al., “Cryptographic Initialization Test”, IBM Technical Disclosure Bulletin, pp. 195-198, Feb. 1991.
International Search Report for PCT/US11/35410; dated Dec. 14, 2011.
Written Opinion of the International Searching Authority; PCT/US11/35410; dated Dec. 14, 2011.
Han et al., “Using Ajax for Desktop-;like Geospatial Web Application Development,” Geoinformatics, 2009 17th International Conference on Aug. 12-14, 2009, <http://geobrain.laits.gmu.edu/geobrainhome/docs/GeOnAS_Ajax.pdf>.
Lubarsky, How to Delete Cookie Using Javascript, Aug. 19, 2007, http:web.archive.org/web/20070819123555/http://blogs.x2line.com/al/articles/316.aspx.
International Search Report for PCT/US12/25971; dated May 31, 2012.
Written Opinion of the International Searching Authority for PCT/US12/25971; dated May 31, 2012.
Peter Brusilovsky et. al., “Adaptive and Intelligent Web-based Educational Systems,” International Journal of Artificial Intelligence in Education, Apr. 1, 2003 (Apr. 1, 2003), pp. 159-172, XP55039152, The Netherlands Retrieved from the Internet: URL: http://www.sis.pitt.edu/˜peterb/papers/AIWBES.pdf [retrieved on Sep. 25, 2012] p. 160-161.
Atterer R et al. : “Knowing the User's Every Move—User Activity Tracking for Website Usability Evaluation and Implicit Interaction,” WWW '06 Proceedings of the 15th World Wide Web, ACM, New York, NY, USA, May 22, 2006 (May 22, 2006), pp. 203-212, XP002519605, DOI: 10.1145/1135777.1135811 ISBN 978-1-5959-323-2.
Reed Martin; Using Google Analytics Site Overlay; Community Spark; Apr. 13, 2007. Online: <http://www.communityspark.com/using-google-analytics-site-overlay/>.
Stolowitz Ford Cowger LLP; Listing of Related Cases; Mar. 14, 2012.
Related Publications (1)
Number Date Country
20140143652 A1 May 2014 US
Provisional Applications (1)
Number Date Country
61727915 Nov 2012 US