US20120254727A1 - Methods and systems for generating and displaying a preview image of a content area - Google Patents

Methods and systems for generating and displaying a preview image of a content area Download PDF

Info

Publication number
US20120254727A1
US20120254727A1 US13/245,750 US201113245750A US2012254727A1 US 20120254727 A1 US20120254727 A1 US 20120254727A1 US 201113245750 A US201113245750 A US 201113245750A US 2012254727 A1 US2012254727 A1 US 2012254727A1
Authority
US
United States
Prior art keywords
browser
content area
requested content
display
rendered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/245,750
Inventor
Arvind Jain
Sreeram Ramachandran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to US13/245,750 priority Critical patent/US20120254727A1/en
Publication of US20120254727A1 publication Critical patent/US20120254727A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Definitions

  • Embodiments generally relate to browsers, and particularly to display of content in browsers.
  • Display of a web page by a browser involves several processing steps. These steps generally include parsing the web page, fetching referenced embedded resources, executing scripts, laying out and rendering web page elements and so on, until the web page is fully rendered for display.
  • the process of rendering a page can be slow, requiring several iterative steps by the browser.
  • web pages incorporate more scripts, widgets, and reference more third-party content (e.g., advertisements).
  • third-party content e.g., advertisements
  • An embodiment includes rendering an image representing the content area requested by a browser, providing the rendered image to the browser for display, and enabling the browser to display the requested content area in place of the rendered image when the content area is received by the browser.
  • the method further includes updating language defining the requested content area to reference the rendered image and to enable transition from a display of the rendered image to a display of the requested content area, and providing the updated language to the browser to enable the browser to display the rendered image while the requested content area is being provided to the browser.
  • embodiments reduce a perceived time-to-display of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • FIG. 1 illustrates a system for generating and displaying a preview image of a content area, according to an embodiment.
  • FIG. 2 illustrates a browser, according to an embodiment.
  • FIG. 3A is a flowchart illustrating an operation of a server, according to an embodiment.
  • FIG. 3B is a flowchart illustrating enablement of a browser to display a preview image, according to an embodiment.
  • FIG. 4 is a flowchart illustrating an operation of a browser, according to an embodiment.
  • FIG. 5 illustrates an example computer useful for implementing components of the embodiments.
  • Embodiments for generating and displaying a preview image of a content area are described herein.
  • Embodiments enable a server to render a preview image of the content area (e.g., web-page) requested by a browser.
  • the preview image can be displayed by the browser prior to receiving the requested content area from the server.
  • An embodiment includes receiving a request for a content area from the browser, rendering an image representing the requested content area, providing the rendered image to the browser for display, and enabling the browser to display the requested content area in place of the rendered image when the content area is received by the browser. In this way, embodiments reduce a perceived time-to-display of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • content area refers to an area of an user interface display that can display content addressed by an address, such as, a uniform resource locator (URL) or a file name.
  • addressed content may include any content stored on local storage media (e.g., hard disk drive(s)) or any networked or web content.
  • content displayed in the content area may include, for example, a web page, application, document, video, multimedia content, future utilized content mechanism, or any combination thereof.
  • FIG. 1 is a diagram of system 100 for generating and displaying a preview image of a content area, according to an embodiment. While the following is described in terms of Hyper Text Markup Language (HTML), the embodiments are not limited to HTML and can be applied to any other markup, formatting, content defining language. Furthermore, the embodiments are not limited to wet or networked content and can be applied to any type of locally stored content (e.g., content stored on a local storage media). The embodiments are applicable to any system having generally the structure of FIG. 1 , or that would benefit from the operation, methods and functions as described herein.
  • HTML Hyper Text Markup Language
  • System 100 includes client 110 and server 140 connected over network 102 .
  • client 110 includes browser 120 .
  • User 108 can interact with client 110 to provide data to client 110 and receive (or view) data from client 110 .
  • server 140 provides content to client 110 in response to requests from client 110 . Such requests may be generated by browser 120 in client 110 . In another non-limiting example, server 140 provides (or ‘pushes’) content to client 110 without requests from client 110 .
  • Content provided by server 140 may include, but is not limited to, a web page, application, document, video, multimedia content, future utilized content mechanism, or any combination thereof. These examples are illustrative and are not intended to limit the embodiments.
  • content provided by server 140 to client 110 is displayed on a display (not shown) of client 110 .
  • a user may interact with content displayed on client 110 that may cause client 110 to request additional content from server 140 .
  • Server 140 can be any type of processing (or computing) device having one or more processors.
  • server 140 can be a workstation, mobile device (such as a mobile phone tablet or laptop), computer, cluster of computers, set-top box, embedded system, console, or other device having at least one processor.
  • Such a processing device may include software, firmware, hardware, or a combination thereof.
  • Software may include one or more applications and an operating system.
  • Hardware can include, but is not limited to, a processor, memory and graphical user interface display.
  • server 140 includes rendering engine 150 and code re-writer 160 , the operations of which are discussed further below.
  • Network 102 may include one or more networks, including but not limited to, a local area network, medium-area network, and/or wide-area network, such as the Internet.
  • Network 102 may be any form of wired or wireless network that allows client 110 , server 140 , and any additional clients and servers to communicate with each other.
  • Client 110 can be any type of processing (or computing) device having one or more processors.
  • client 110 can be a workstation, mobile device (such as a mobile phone tablet or laptop), computer, cluster of computers, set-top box, embedded system, console, or other device having at least one processor.
  • Such a processing device may include software, firmware, hardware, or a combination thereof.
  • Software may include one or more applications and an operating system.
  • Hardware can include, but is not limited to, a processor, memory and graphical user interface display.
  • client 110 includes browser 120 .
  • Browser 120 can be any type of browser that enables a user to browse locally stored as well as web content.
  • FIG. 2 illustrates browser 120 in greater detail, according to an embodiment.
  • browser 120 includes display engine 210 .
  • display engine 210 is configured to display a rendered preview image provided by server 140 .
  • rendering engine 150 in server 140 is configured to render an image representing a content area requested by browser 120 .
  • server 140 may receive a request for a web page from browser 120 .
  • content in the requested web page may include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • rendering engine 150 parses and renders the content area.
  • rendering engine 150 performs rendering actions that are conventionally performed by a browser including, but not limited to, storing and sending cookies, executing scripts, fetching referenced resources, applying fonts, colors, backgrounds and other styles, etc. In this way, rendering engine 150 generates a preview image of a content area requested by browser 120 .
  • Rendering engine 150 may store the rendered preview image on storage in server 140 or can even store the rendered preview image on a storage that is separate from server 140 .
  • server 140 is further configured to dynamically select a rendering engine or a cached preview image based on a header (e.g., user agent header) sent by browser 120 .
  • a header e.g., user agent header
  • rendering engine 150 can pre-render preview images representing one or more content areas and cache the rendered preview images prior to receiving a request for the content areas from browser 120 .
  • browser 120 or even server 140 may select content (e.g., web pages) to be pre-rendered based on their popularity, personalization or value to a user, etc.
  • content e.g., web pages
  • server 140 may select content (e.g., web pages) to be pre-rendered based on their popularity, personalization or value to a user, etc.
  • such a cache or repository storing the pre-rendered images may be refreshed periodically by server 140 .
  • a proxy (not shown) connected to browser 120 and server 140 via network 102 , may render and/or provide rendered preview images to browser 120 for display.
  • the proxy may take into account factors such as origin of the embedded resources, and whether those resources are already present in the proxy's cache, etc., before deciding to use a cached preview image.
  • server 140 when server 140 receives a request for a content area from browser 120 , server 140 generates mark-up language representing the requested content area. As an example, server 140 constructs HTML for the requested content area, but instead of serving the constructed HTML directly to browser 120 , server 140 parses and renders a preview image of the content area for display by browser 120 . In an embodiment, when a rendered preview image is generated by rendering engine 150 , code re-writer 160 rewrites the constructed HTML so that the re-written HTML includes a reference to the rendered preview image. As an example, such a reference may be a file path or uniform resource locator (URL) to a storage location that stores the rendered preview image.
  • URL uniform resource locator
  • the re-written HTML includes code that enables browser 120 to download the requested content area in the background, while. browser 120 is displaying a rendered preview image, and to switch (or transition) from the displayed preview image to the requested content area, seamlessly, when the requested content area has been fully retrieved by browser 120 .
  • browser 120 can be instructed to by server 140 to switch from a display of a preview image to the requested content area (e.g., web page) upon a user-action, such as mouse or touch interaction.
  • a user-action such as mouse or touch interaction.
  • Such interaction with a preview image can indicate a desire on part of the user to interact with the requested content area, at which point, switching from display of the preview image to the requested content area is helpful.
  • browser 120 provides an explicit request for a rendered preview image of a requested content area.
  • Browser 120 displays the rendered preview image to a user while the requested content area is being fully retrieved by browser 120 .
  • browser 120 transitions display from the rendered preview image to the received content area.
  • HTML code that enables browser to perform the transition (using JavaScript or other Document Object Model (DOM) manipulation) need not be provided by server 140 to browser 120 .
  • a different source e.g., trusted cache, proxy or referrer
  • such operation of browser 120 can be supported by extending current HTML standards.
  • code re-writer 160 can rewrite the HTML to reference the preview image and serve the updated HTML to the browser. Rendering engine 150 can render the preview image in parallel. Such operation can give more time to rendering engine 150 to render the preview image, while waiting for browser 120 to make a separate request for the preview image.
  • code re-writer 160 can embed the preview image directly in the rewritten HTML page. As an example, code re-writer 160 can embed the preview image directly in the rewritten HTML page using the “data:” uniform resource identifier (URI) scheme.
  • URI uniform resource identifier
  • FIG. 3A is a flowchart of method 300 .
  • Method 300 begins with server 140 receiving a request for a content area from browser 120 (step 302 ).
  • server 140 may receive a request for a web page from browser 120 .
  • Such a web page can be, for example, initially requested by a user interacting with browser 120 .
  • content in the requested web page can include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • Server 140 renders a preview image representing the content area requested in step 302 (step 304 ).
  • server 140 constructs HTML for the requested web page, but instead of serving the HTML directly to browser 120 , server 140 parses and renders the web page itself.
  • rendering engine 150 performs actions that are generally performed by a browser including, but not limited to, storing and sending cookies, executing scripts, fetching referenced resources, applying fonts, colors, backgrounds and other styles, etc.
  • Server 140 then provides the rendered preview image (or a reference to the rendered image) to browser 120 (step 306 ) and also enables browser 120 to display the requested content area in place of the rendered preview image when the requested content area is received by browser 120 (step 308 ).
  • code re-writer 160 rewrites the HTML of the web page so that the HTML includes a reference to the rendered preview image.
  • code re-writer 160 can embed the preview image directly in the re-written HTML page using the “data:” uniform resource identifier (URI) scheme.
  • URI uniform resource identifier
  • FIG. 3B is a flowchart illustrating step 308 of method 300 in greater detail, according to an embodiment.
  • Code re-writer 160 updates language defining the requested content area to reference the rendered image and to transition from a display of the rendered image to a display of the requested content area (step 310 ).
  • code re-writer 160 rewrites the HTML of the requested web page so that the HTML includes a reference to a rendered preview image.
  • a reference may be a file path or a URL to a storage location that stores the rendered preview image.
  • Server 140 provides the updated language to browser 120 (step 312 ).
  • HTML re-written by code re-writer 160 includes code that enables browser 120 to retrieve the requested content area in the background, while browser 120 is displaying a rendered preview image, and to switch (or transition) from the displayed preview image to the requested content area, seamlessly, when the requested content area has been fully retrieved by browser 120 from server 140 .
  • FIG. 4 is a is a flowchart of method 400 , which is an overall operation of browser 120 , according to an embodiment.
  • Browser 120 provides a request for a content area to server 140 (step 402 ).
  • browser 120 may provide a request for a web page to server 140 .
  • content in the requested web page may include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • browser 120 receives a rendered preview image (or a reference to a rendered preview image) from server 140 (step 404 ). Furthermore, for example, browser 120 also receives re-written HTML that enables browser 120 to transition from a display of the rendered image to a display of the requested content area.
  • Browser 120 displays the rendered preview image while the requested content area is being retrieved by browser 120 from server 140 (step 406 ) and browser 120 displays the requested content area in place of the rendered image, when the requested content area is retrieved by browser 120 (step 408 ).
  • display engine 210 in browser 120 is configured to display the rendered preview image while the requested content area is being received by browser 120 , and display the content area in place of the rendered preview image when the requested content area is received by the browser 120 .
  • embodiments reduce a perceived load time of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • system and components of embodiments described herein are implemented using one or more computers, such as example computer 502 shown in FIG. 5 .
  • client 110 and server 140 can be implemented using computer(s) 502 .
  • Computer 502 can be any commercially available and well known computer capable of performing the functions described herein, such as computers available from International Business Machines, Apple, Oracle, HP, Dell, Cray, etc.
  • Computer 502 includes one or more processors (also called central processing units, or CPUs), such as a processor 506 .
  • processors also called central processing units, or CPUs
  • Processor 506 is connected to a communication infrastructure 504 .
  • Computer 502 also includes a main or primary memory 508 , such as random access memory (RAM).
  • Primary memory 508 has stored therein control logic 568 A (computer software), and data.
  • Computer 502 also includes one or more secondary storage devices 510 .
  • Secondary storage devices 510 include, for example, a hard disk drive 512 and/or a removable storage device or drive 514 , as well as other types of storage devices, such as memory cards and memory sticks.
  • Removable storage drive 514 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
  • Removable storage drive 514 interacts with a removable storage unit 516 .
  • Removable storage unit 516 includes a computer useable or readable storage medium 564 A having stored therein computer software 568 B (control logic) and/or data.
  • Removable storage unit 516 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device.
  • Removable storage drive 514 reads from and/or writes to removable storage unit 516 in a well known manner.
  • Computer 502 also includes input/output/display devices 566 , such as monitors, keyboards, pointing devices, Bluetooth devices, etc.
  • input/output/display devices 566 such as monitors, keyboards, pointing devices, Bluetooth devices, etc.
  • Computer 502 further includes a communication or network interface 518 .
  • Network interface 518 enables computer 502 to communicate with remote devices.
  • network interface 518 allows computer 502 to communicate over communication networks or mediums 564 B (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc.
  • Network interface 518 may interface with remote sites or networks via wired or wireless connections.
  • Control logic 568 C may be transmitted to and from computer 502 via communication medium 564 B.
  • Any tangible apparatus or article of manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device.
  • Embodiments can work with software, hardware, and/or operating system implementations other than those described herein. Any software, hardware, and operating system implementations suitable for performing the functions described herein can be used. Embodiments are applicable to both a client and to a server or a combination of both.

Abstract

Systems, methods and articles of manufacture for generating and displaying a preview image of a content area are described herein. An embodiment includes rendering an image representing the content area requested by a browser, providing the rendered image to the browser for display, and enabling the browser to display the requested content area in place of the rendered image when the content area is received by the browser. The method further includes updating language defining the requested content area to reference the rendered image and to enable transition from a display of the rendered image to a display of the requested content area, and providing the updated language to the browser to enable the browser to display the rendered image while the requested content area is being provided to the browser.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This patent application claims the benefit of U.S. patent application Ser. No. 13/077,311, (Attorney Docket No. 2525.2980000), filed Mar. 31, 2011, entitled “Methods and Systems For Generating and Displaying a Preview Image of a Content Area” which is incorporated herein by reference in its entirety.
  • BACKGROUND
  • 1. Field
  • Embodiments generally relate to browsers, and particularly to display of content in browsers.
  • 2. Background Art
  • Display of a web page by a browser involves several processing steps. These steps generally include parsing the web page, fetching referenced embedded resources, executing scripts, laying out and rendering web page elements and so on, until the web page is fully rendered for display. The process of rendering a page can be slow, requiring several iterative steps by the browser.
  • To provide increasingly interactive content, web pages incorporate more scripts, widgets, and reference more third-party content (e.g., advertisements). In other words, web pages are becoming more complex. As a result, users often have to wait for a longer time for web pages to render and display in their entirety.
  • BRIEF SUMMARY
  • Embodiments for generating and displaying a preview image of a content area are described herein. An embodiment includes rendering an image representing the content area requested by a browser, providing the rendered image to the browser for display, and enabling the browser to display the requested content area in place of the rendered image when the content area is received by the browser. The method further includes updating language defining the requested content area to reference the rendered image and to enable transition from a display of the rendered image to a display of the requested content area, and providing the updated language to the browser to enable the browser to display the rendered image while the requested content area is being provided to the browser.
  • In this way, embodiments reduce a perceived time-to-display of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • Further embodiments, features, and advantages of the embodiments, as well as the structure and operation of the various embodiments are described in detail below with reference to accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Embodiments are described with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements. The drawing in which an element first appears is generally indicated by the left-most digit in the corresponding reference number.
  • FIG. 1 illustrates a system for generating and displaying a preview image of a content area, according to an embodiment.
  • FIG. 2 illustrates a browser, according to an embodiment.
  • FIG. 3A is a flowchart illustrating an operation of a server, according to an embodiment.
  • FIG. 3B is a flowchart illustrating enablement of a browser to display a preview image, according to an embodiment.
  • FIG. 4 is a flowchart illustrating an operation of a browser, according to an embodiment.
  • FIG. 5 illustrates an example computer useful for implementing components of the embodiments.
  • DETAILED DESCRIPTION
  • Embodiments for generating and displaying a preview image of a content area are described herein. Embodiments enable a server to render a preview image of the content area (e.g., web-page) requested by a browser. The preview image can be displayed by the browser prior to receiving the requested content area from the server. An embodiment includes receiving a request for a content area from the browser, rendering an image representing the requested content area, providing the rendered image to the browser for display, and enabling the browser to display the requested content area in place of the rendered image when the content area is received by the browser. In this way, embodiments reduce a perceived time-to-display of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • While illustrative embodiments described herein with reference to particular applications, it should be understood that the embodiments are not limited thereto. Those skilled in the art with access to the teachings provided herein will recognize additional modifications and applications within the scope thereof and additional fields in which the embodiments would be of significant utility.
  • The term “content area” used herein refers to an area of an user interface display that can display content addressed by an address, such as, a uniform resource locator (URL) or a file name. For example, addressed content may include any content stored on local storage media (e.g., hard disk drive(s)) or any networked or web content. As an illustrative example, content displayed in the content area may include, for example, a web page, application, document, video, multimedia content, future utilized content mechanism, or any combination thereof. These examples are illustrative and are not intended to limit the definition.
  • System
  • This section describes a system for generating and displaying a preview image of a content area, according to an embodiment illustrated in FIG. 1. FIG. 1 is a diagram of system 100 for generating and displaying a preview image of a content area, according to an embodiment. While the following is described in terms of Hyper Text Markup Language (HTML), the embodiments are not limited to HTML and can be applied to any other markup, formatting, content defining language. Furthermore, the embodiments are not limited to wet or networked content and can be applied to any type of locally stored content (e.g., content stored on a local storage media). The embodiments are applicable to any system having generally the structure of FIG. 1, or that would benefit from the operation, methods and functions as described herein.
  • System 100 includes client 110 and server 140 connected over network 102. In an embodiment, client 110 includes browser 120. User 108 can interact with client 110 to provide data to client 110 and receive (or view) data from client 110.
  • In an embodiment, server 140 provides content to client 110 in response to requests from client 110. Such requests may be generated by browser 120 in client 110. In another non-limiting example, server 140 provides (or ‘pushes’) content to client 110 without requests from client 110. Content provided by server 140 may include, but is not limited to, a web page, application, document, video, multimedia content, future utilized content mechanism, or any combination thereof. These examples are illustrative and are not intended to limit the embodiments.
  • In an embodiment, content provided by server 140 to client 110 is displayed on a display (not shown) of client 110. A user may interact with content displayed on client 110 that may cause client 110 to request additional content from server 140.
  • Server 140 can be any type of processing (or computing) device having one or more processors. For example, server 140 can be a workstation, mobile device (such as a mobile phone tablet or laptop), computer, cluster of computers, set-top box, embedded system, console, or other device having at least one processor. Such a processing device may include software, firmware, hardware, or a combination thereof. Software may include one or more applications and an operating system. Hardware can include, but is not limited to, a processor, memory and graphical user interface display. As shown in FIG. 1, server 140 includes rendering engine 150 and code re-writer 160, the operations of which are discussed further below.
  • Network 102 may include one or more networks, including but not limited to, a local area network, medium-area network, and/or wide-area network, such as the Internet. Network 102, for example, may be any form of wired or wireless network that allows client 110, server 140, and any additional clients and servers to communicate with each other.
  • Client 110 can be any type of processing (or computing) device having one or more processors. For example, client 110 can be a workstation, mobile device (such as a mobile phone tablet or laptop), computer, cluster of computers, set-top box, embedded system, console, or other device having at least one processor. Such a processing device may include software, firmware, hardware, or a combination thereof. Software may include one or more applications and an operating system. Hardware can include, but is not limited to, a processor, memory and graphical user interface display. As shown in FIG. 1, client 110 includes browser 120. Browser 120 can be any type of browser that enables a user to browse locally stored as well as web content.
  • FIG. 2 illustrates browser 120 in greater detail, according to an embodiment. As shown in FIG. 2, browser 120 includes display engine 210. In an embodiment, display engine 210 is configured to display a rendered preview image provided by server 140.
  • Rendering Engine 150
  • In an embodiment, rendering engine 150 in server 140 is configured to render an image representing a content area requested by browser 120. As an example, server 140 may receive a request for a web page from browser 120. Also, for example, content in the requested web page may include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • In an embodiment, when a request for a content area is received from browser 120, rendering engine 150 parses and renders the content area. In an embodiment, to render an image representing the requested content area, rendering engine 150 performs rendering actions that are conventionally performed by a browser including, but not limited to, storing and sending cookies, executing scripts, fetching referenced resources, applying fonts, colors, backgrounds and other styles, etc. In this way, rendering engine 150 generates a preview image of a content area requested by browser 120.
  • Rendering engine 150 may store the rendered preview image on storage in server 140 or can even store the rendered preview image on a storage that is separate from server 140. In an embodiment, server 140 is further configured to dynamically select a rendering engine or a cached preview image based on a header (e.g., user agent header) sent by browser 120.
  • In an embodiment, rendering engine 150 can pre-render preview images representing one or more content areas and cache the rendered preview images prior to receiving a request for the content areas from browser 120. In an embodiment, browser 120 or even server 140 may select content (e.g., web pages) to be pre-rendered based on their popularity, personalization or value to a user, etc. In an embodiment, such a cache or repository storing the pre-rendered images may be refreshed periodically by server 140.
  • In another embodiment, a proxy (not shown) connected to browser 120 and server 140 via network 102, may render and/or provide rendered preview images to browser 120 for display. The proxy may take into account factors such as origin of the embedded resources, and whether those resources are already present in the proxy's cache, etc., before deciding to use a cached preview image.
  • Code Re-Writer 160
  • In an embodiment, when server 140 receives a request for a content area from browser 120, server 140 generates mark-up language representing the requested content area. As an example, server 140 constructs HTML for the requested content area, but instead of serving the constructed HTML directly to browser 120, server 140 parses and renders a preview image of the content area for display by browser 120. In an embodiment, when a rendered preview image is generated by rendering engine 150, code re-writer 160 rewrites the constructed HTML so that the re-written HTML includes a reference to the rendered preview image. As an example, such a reference may be a file path or uniform resource locator (URL) to a storage location that stores the rendered preview image. In addition, the re-written HTML includes code that enables browser 120 to download the requested content area in the background, while. browser 120 is displaying a rendered preview image, and to switch (or transition) from the displayed preview image to the requested content area, seamlessly, when the requested content area has been fully retrieved by browser 120.
  • In an embodiment, browser 120 can be instructed to by server 140 to switch from a display of a preview image to the requested content area (e.g., web page) upon a user-action, such as mouse or touch interaction. Such interaction with a preview image can indicate a desire on part of the user to interact with the requested content area, at which point, switching from display of the preview image to the requested content area is helpful.
  • In another non-limiting embodiment, browser 120 provides an explicit request for a rendered preview image of a requested content area. Browser 120 displays the rendered preview image to a user while the requested content area is being fully retrieved by browser 120. When the requested content area is received by browser 120, browser 120 transitions display from the rendered preview image to the received content area. In this way, because browser 120 is pre-configured to perform the transition, HTML code that enables browser to perform the transition (using JavaScript or other Document Object Model (DOM) manipulation) need not be provided by server 140 to browser 120. This could also allow browser 120 to request a preview image from a different source (e.g., trusted cache, proxy or referrer) other than server 140. In an embodiment, such operation of browser 120 can be supported by extending current HTML standards.
  • In an embodiment, instead of rendering a preview image and then re-writing the HTML of the content area, code re-writer 160 can rewrite the HTML to reference the preview image and serve the updated HTML to the browser. Rendering engine 150 can render the preview image in parallel. Such operation can give more time to rendering engine 150 to render the preview image, while waiting for browser 120 to make a separate request for the preview image. In another embodiment, code re-writer 160 can embed the preview image directly in the rewritten HTML page. As an example, code re-writer 160 can embed the preview image directly in the rewritten HTML page using the “data:” uniform resource identifier (URI) scheme.
  • Methods
  • An exemplary overall operation of server 140 will now be described with reference to FIG. 3A. FIG. 3A is a flowchart of method 300.
  • Method 300 begins with server 140 receiving a request for a content area from browser 120 (step 302). As an example, server 140 may receive a request for a web page from browser 120. Such a web page can be, for example, initially requested by a user interacting with browser 120. Also, for example, content in the requested web page can include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • Server 140 renders a preview image representing the content area requested in step 302 (step 304). As an example, server 140 constructs HTML for the requested web page, but instead of serving the HTML directly to browser 120, server 140 parses and renders the web page itself. In an embodiment, to render a preview image representing the requested content, rendering engine 150 performs actions that are generally performed by a browser including, but not limited to, storing and sending cookies, executing scripts, fetching referenced resources, applying fonts, colors, backgrounds and other styles, etc.
  • Server 140 then provides the rendered preview image (or a reference to the rendered image) to browser 120 (step 306) and also enables browser 120 to display the requested content area in place of the rendered preview image when the requested content area is received by browser 120 (step 308). As an example, code re-writer 160 rewrites the HTML of the web page so that the HTML includes a reference to the rendered preview image. In another example, code re-writer 160 can embed the preview image directly in the re-written HTML page using the “data:” uniform resource identifier (URI) scheme.
  • FIG. 3B is a flowchart illustrating step 308 of method 300 in greater detail, according to an embodiment.
  • Code re-writer 160 updates language defining the requested content area to reference the rendered image and to transition from a display of the rendered image to a display of the requested content area (step 310). As an example, and as discussed above code re-writer 160 rewrites the HTML of the requested web page so that the HTML includes a reference to a rendered preview image. As an example, such a reference may be a file path or a URL to a storage location that stores the rendered preview image.
  • Server 140 provides the updated language to browser 120 (step 312). As an example, HTML re-written by code re-writer 160 includes code that enables browser 120 to retrieve the requested content area in the background, while browser 120 is displaying a rendered preview image, and to switch (or transition) from the displayed preview image to the requested content area, seamlessly, when the requested content area has been fully retrieved by browser 120 from server 140.
  • FIG. 4 is a is a flowchart of method 400, which is an overall operation of browser 120, according to an embodiment.
  • Browser 120 provides a request for a content area to server 140 (step 402). As an example, browser 120 may provide a request for a web page to server 140. Also, for example, content in the requested web page may include, but is not limited to, an application, document, video, multimedia content, scripts, widgets, etc.
  • In response to the request of step 402, browser 120 receives a rendered preview image (or a reference to a rendered preview image) from server 140 (step 404). Furthermore, for example, browser 120 also receives re-written HTML that enables browser 120 to transition from a display of the rendered image to a display of the requested content area.
  • Browser 120 displays the rendered preview image while the requested content area is being retrieved by browser 120 from server 140 (step 406) and browser 120 displays the requested content area in place of the rendered image, when the requested content area is retrieved by browser 120 (step 408). As an example, display engine 210 in browser 120 is configured to display the rendered preview image while the requested content area is being received by browser 120, and display the content area in place of the rendered preview image when the requested content area is received by the browser 120.
  • In this way, embodiments reduce a perceived load time of a requested content area by displaying a preview image of the content area prior to displaying the content area.
  • Example Computer Embodiment
  • In an embodiment, the system and components of embodiments described herein are implemented using one or more computers, such as example computer 502 shown in FIG. 5. For example, client 110 and server 140 can be implemented using computer(s) 502.
  • Computer 502 can be any commercially available and well known computer capable of performing the functions described herein, such as computers available from International Business Machines, Apple, Oracle, HP, Dell, Cray, etc.
  • Computer 502 includes one or more processors (also called central processing units, or CPUs), such as a processor 506. Processor 506 is connected to a communication infrastructure 504.
  • Computer 502 also includes a main or primary memory 508, such as random access memory (RAM). Primary memory 508 has stored therein control logic 568A (computer software), and data.
  • Computer 502 also includes one or more secondary storage devices 510. Secondary storage devices 510 include, for example, a hard disk drive 512 and/or a removable storage device or drive 514, as well as other types of storage devices, such as memory cards and memory sticks. Removable storage drive 514 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
  • Removable storage drive 514 interacts with a removable storage unit 516. Removable storage unit 516 includes a computer useable or readable storage medium 564A having stored therein computer software 568B (control logic) and/or data. Removable storage unit 516 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. Removable storage drive 514 reads from and/or writes to removable storage unit 516 in a well known manner.
  • Computer 502 also includes input/output/display devices 566, such as monitors, keyboards, pointing devices, Bluetooth devices, etc.
  • Computer 502 further includes a communication or network interface 518. Network interface 518 enables computer 502 to communicate with remote devices. For example, network interface 518 allows computer 502 to communicate over communication networks or mediums 564B (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. Network interface 518 may interface with remote sites or networks via wired or wireless connections.
  • Control logic 568C may be transmitted to and from computer 502 via communication medium 564B.
  • Any tangible apparatus or article of manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer 502, main memory 508, secondary storage devices 510 and removable storage unit 516. Such computer program products, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent the embodiments.
  • Embodiments can work with software, hardware, and/or operating system implementations other than those described herein. Any software, hardware, and operating system implementations suitable for performing the functions described herein can be used. Embodiments are applicable to both a client and to a server or a combination of both.
  • The Summary and Abstract sections may set forth one or more but not all exemplary embodiments as contemplated by the inventor(s), and thus, are not intended to limit the present description and the appended claims in any way.
  • Embodiments have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
  • The foregoing description of the specific embodiments will so fully reveal their general nature that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the embodiments. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
  • The breadth and scope of the embodiments should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (24)

1. A computer implemented method for generating a preview image of a content area, comprising:
rendering an image representing the content area requested by a browser;
providing the rendered image to the browser;
updating mark-up language defining the requested content area to include a reference to the rendered image and one or more instructions to the browser to transition from a display of the rendered image to a display of the requested content area; and
providing the updated mark-up language to the browser to enable display of the requested content area in place of the rendered image when the updated mark-up language is received by the browser,
wherein the rendering, the updating, the providing the rendered image and the providing the updated mark-up language are performed using one or more processors.
2. (canceled)
3. The method of claim 1, further comprising:
receiving a request from the browser for a rendered preview image of the requested content area.
4. The method of claim 1, further comprising:
executing scripts associated with the requested content area;
fetching resources associated with the requested content area;
processing cookies associated with the requested content area; and
applying graphical user interface elements to construct the requested content area.
5. The method of claim 1, further comprising:
receiving a request from the browser to enable selection of a rendering engine to render the image.
6. The method of claim 1, further comprising:
rendering images representing a plurality of pre-defined content areas prior to receiving requests from the browser;
caching the plurality of rendered images; and
providing the cached rendered images in response to requests from the browser for the pre-defined content areas.
7. The method of claim 6, further comprising updating the cached rendered images based on updates to the pre-defined content areas.
8. The method of claim 1, further comprising:
rendering images representing one or more content areas, the rendering based on one or more of respective popularities of the content areas and relevance of the content areas to a user, the rendering performed prior to receiving a request for the one or more content areas.
9. A computer implemented method for displaying a preview image of a content area in a browser, comprising:
providing a request for the content area to a server;
receiving a rendered image representing the content area in response to the request;
displaying the rendered image while retrieving mark-up language defining the requested content area, the mark-up language including a reference to the rendered image and one or more instructions to transition from a display of the rendered image to a display of the requested content area; and
displaying the requested content area in place of the rendered image, when the mark-up language is received from the server,
wherein the providing and the displaying are performed using one or more processors.
10. A computer-based system for generating a preview image of a content area, comprising:
one or more processors;
a rendering engine configured to receive a request for the content area from a browser and to render an image representing the requested content area; and
a code re-writer configured to update mark-up language defining the requested content area to include a reference to the rendered image and one or more instructions to the browser to transition from a display of the rendered image to a display of the requested content area, and configured to provide the updated mark-up language to the browser to enable display of the requested content area in place of the rendered image when the updated mark-up language is received by the browser,
wherein the rendering engine and the code re-writer are implemented on the one or more processors.
11. (canceled)
12. The system of claim 10, wherein the content area is a web page.
13. The system of claim 10, wherein the language is Hyper Text Mark-up Language (HTML).
14. An article of manufacture including a computer-readable medium having instructions stored thereon that, when executed by a computing device, cause said computing device to perform operations comprising:
rendering an image representing a content area requested by a browser;
providing the rendered image to the browser;
updating mark-up language defining the requested content area to include a reference to the rendered image and one or more instructions to the browser to transition from a display of the rendered image to a display of the requested content area; and
providing the updated mark-up language to the browser to enable display of the requested content area in place of the rendered image when the updated mark-up language is received by the browser,
wherein the rendering, the updating, the providing the rendered image and the providing the updated mark-up language are performed using one or more processors.
15. (canceled)
16. The article of manufacture of claim 14, the operations further comprising:
receiving a request from the browser for a rendered preview image of the requested content area.
17. The article of manufacture of claim 14, the operations further comprising:
executing scripts associated with the requested content area;
fetching resources associated with the requested content area;
processing cookies associated with the requested content area; and
applying graphical user interface elements to construct the requested content area.
18. The article of manufacture of claim 14, the operations further comprising:
receiving a request from the browser to enable selection of a rendering engine to render the image.
19. The article of manufacture of claim 14, the operations further comprising:
rendering images representing a plurality of pre-defined content areas prior to receiving requests from the browser;
caching the plurality of rendered images; and
providing the cached rendered images in response to requests from the browser for the pre-defined content areas.
20. The computer implemented method of claim 1, further comprising:
dynamically selecting a rendering engine or a cached preview image based on a request for content area requested by the browser.
21. The computer implemented method of claim 20, wherein the dynamically selecting comprises dynamically selecting the rendering engine or the cached preview image based on information in a header of the request.
22. The computer implemented method of claim 1, wherein the one or more instructions to the browser enables the browser to transition from the display of the rendered image to the display of the requested content area using Document Object Model (DOM) manipulation.
23. The computer implemented method of claim 1, wherein the one or more instructions to the browser enables the browser to transition from the display of the rendered image to the display of the requested content area using a scripting language.
24. The computer implemented method of claim 23, wherein the scripting language is JavaScript.
US13/245,750 2011-03-31 2011-09-26 Methods and systems for generating and displaying a preview image of a content area Abandoned US20120254727A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/245,750 US20120254727A1 (en) 2011-03-31 2011-09-26 Methods and systems for generating and displaying a preview image of a content area

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/077,311 US8732571B2 (en) 2011-03-31 2011-03-31 Methods and systems for generating and displaying a preview image of a content area
US13/245,750 US20120254727A1 (en) 2011-03-31 2011-09-26 Methods and systems for generating and displaying a preview image of a content area

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/077,311 Continuation US8732571B2 (en) 2011-03-31 2011-03-31 Methods and systems for generating and displaying a preview image of a content area

Publications (1)

Publication Number Publication Date
US20120254727A1 true US20120254727A1 (en) 2012-10-04

Family

ID=45444972

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/077,311 Active US8732571B2 (en) 2011-03-31 2011-03-31 Methods and systems for generating and displaying a preview image of a content area
US13/245,750 Abandoned US20120254727A1 (en) 2011-03-31 2011-09-26 Methods and systems for generating and displaying a preview image of a content area

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/077,311 Active US8732571B2 (en) 2011-03-31 2011-03-31 Methods and systems for generating and displaying a preview image of a content area

Country Status (4)

Country Link
US (2) US8732571B2 (en)
AU (1) AU2011101576B4 (en)
DE (1) DE202011108541U1 (en)
NL (1) NL2007905C2 (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120324043A1 (en) * 2011-06-14 2012-12-20 Google Inc. Access to network content
US20130265460A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Joint video stabilization and rolling shutter correction on a generic platform
US8566696B1 (en) 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US20140136942A1 (en) * 2012-11-14 2014-05-15 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
US9563929B1 (en) 2014-05-22 2017-02-07 Amazon Technologies, Inc. Caching of content page layers
US9563928B1 (en) 2014-05-22 2017-02-07 Amazon Technlogies, Inc. Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
US9613009B2 (en) 2011-05-04 2017-04-04 Google Inc. Predicting user navigation events
US9712561B2 (en) 2014-01-20 2017-07-18 Shape Security, Inc. Intercepting and supervising, in a runtime environment, calls to one or more objects in a web page
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US9794276B2 (en) 2013-03-15 2017-10-17 Shape Security, Inc. Protecting against the introduction of alien content
US9792266B1 (en) * 2014-12-08 2017-10-17 Amazon Technologies, Inc. Content synchronization across devices
US9807113B2 (en) 2015-08-31 2017-10-31 Shape Security, Inc. Polymorphic obfuscation of executable code
US9813444B2 (en) 2014-07-01 2017-11-07 Shape Security, Inc. Reliable selection of security countermeasures
US9813440B1 (en) 2015-05-15 2017-11-07 Shape Security, Inc. Polymorphic treatment of annotated content
US9825995B1 (en) 2015-01-14 2017-11-21 Shape Security, Inc. Coordinated application of security policies
US9825984B1 (en) 2014-08-27 2017-11-21 Shape Security, Inc. Background analysis of web content
US9923919B2 (en) 2013-03-15 2018-03-20 Shape Security, Inc. Safe intelligent content modification
US9922007B1 (en) 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9954893B1 (en) 2014-09-23 2018-04-24 Shape Security, Inc. Techniques for combating man-in-the-browser attacks
US9973519B2 (en) 2013-03-15 2018-05-15 Shape Security, Inc. Protecting a server computer by detecting the identity of a browser on a client computer
US10042521B1 (en) 2014-05-22 2018-08-07 Amazon Technologies, Inc. Emulation of control resources for use with converted content pages
US10089216B2 (en) 2014-06-30 2018-10-02 Shape Security, Inc. Automatically determining whether a page of a web site is broken despite elements on the page that may change
US10187408B1 (en) 2014-04-17 2019-01-22 Shape Security, Inc. Detecting attacks against a server computer based on characterizing user interactions with the client computing device
US10205742B2 (en) 2013-03-15 2019-02-12 Shape Security, Inc. Stateless web content anti-automation
US10212130B1 (en) 2015-11-16 2019-02-19 Shape Security, Inc. Browser extension firewall
US10212137B1 (en) 2014-01-21 2019-02-19 Shape Security, Inc. Blind hash compression
US10212173B2 (en) 2016-03-03 2019-02-19 Shape Security, Inc. Deterministic reproduction of client/server computer state or output sent to one or more client computers
US10230718B2 (en) 2015-07-07 2019-03-12 Shape Security, Inc. Split serving of computer code
US10248633B2 (en) 2014-06-17 2019-04-02 Amazon Technologies, Inc. Content browser system using multiple layers of graphics commands
US10326790B2 (en) 2016-02-12 2019-06-18 Shape Security, Inc. Reverse proxy computer: deploying countermeasures in response to detecting an autonomous browser executing on a client computer
US10367903B2 (en) 2015-05-21 2019-07-30 Shape Security, Inc. Security systems for mitigating attacks from a headless browser executing on a client computer
US10375026B2 (en) 2015-10-28 2019-08-06 Shape Security, Inc. Web transaction status tracking
US10447726B2 (en) 2016-03-11 2019-10-15 Shape Security, Inc. Mitigating attacks on server computers by enforcing platform policies on client computers
US10554777B1 (en) 2014-01-21 2020-02-04 Shape Security, Inc. Caching for re-coding techniques
US10567419B2 (en) 2015-07-06 2020-02-18 Shape Security, Inc. Asymmetrical challenges for web security
CN112037332A (en) * 2020-09-28 2020-12-04 北京百度网讯科技有限公司 Display verification method and device of browser, computer equipment and storage medium
US10868819B2 (en) 2014-09-19 2020-12-15 Shape Security, Inc. Systems for detecting a headless browser executing on a client computer
US11088995B2 (en) 2013-12-06 2021-08-10 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201115362A (en) 2009-10-29 2011-05-01 Ibm System, method, and program for editing electronic document
US8832559B2 (en) 2010-06-25 2014-09-09 LeftsnRights, Inc. Content distribution system and method
US20130254658A1 (en) * 2012-03-22 2013-09-26 Sap Ag Collaboration System for Preparing "Request For" (RfX) Documents
US9378283B2 (en) * 2012-04-23 2016-06-28 Excalibur Ip, Llc Instant search results with page previews
US9219719B1 (en) * 2012-09-21 2015-12-22 Google Inc. Automatic dynamic vetting of browser extensions and web applications
US20140089778A1 (en) * 2012-09-24 2014-03-27 Amazon Technologies, Inc Progressive Image Rendering Utilizing Data URI Enhancements
US20140282014A1 (en) * 2013-03-14 2014-09-18 Apple Inc. Presenting snapshots of plug-in content in user interfaces
US9785332B1 (en) 2014-12-05 2017-10-10 Amazon Technologies, Inc. Conserving processing resources by controlling updates to damaged tiles of a content page
US10546038B2 (en) 2014-12-08 2020-01-28 Amazon Technologies, Inc. Intelligent browser-based display tiling

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931904A (en) * 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
US20020015042A1 (en) * 2000-08-07 2002-02-07 Robotham John S. Visual content browsing using rasterized representations
US6643641B1 (en) * 2000-04-27 2003-11-04 Russell Snyder Web search engine with graphic snapshots
JP2004013345A (en) * 2002-06-04 2004-01-15 Hitachi Information Systems Ltd System and program for providing information
US20070288855A1 (en) * 2000-06-12 2007-12-13 Rohrabaugh Gary B Resolution Independent Vector Display of Internet Content
US20080065980A1 (en) * 2006-09-08 2008-03-13 Opera Software Asa Modifying a markup language document which includes a clickable image
US20090089448A1 (en) * 2007-09-28 2009-04-02 David Sze Mobile browser with zoom operations using progressive image download
US20090307603A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Dynamic content delivery to network-enabled static
US20090307571A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Image acquisition from dynamic content for delivery to network-enabled static display devices
US20100202010A1 (en) * 2009-02-11 2010-08-12 Jun Xiao Method and system for printing a web page
US20100312822A1 (en) * 2009-06-03 2010-12-09 Microsoft Corporation Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US20110173188A1 (en) * 2010-01-13 2011-07-14 Oto Technologies, Llc System and method for mobile document preview
US20110173569A1 (en) * 2010-01-13 2011-07-14 Rockmelt, Inc. Preview Functionality for Increased Browsing Speed
US20110202847A1 (en) * 2010-02-12 2011-08-18 Research In Motion Limited Image-based and predictive browsing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532493B1 (en) * 1998-10-29 2003-03-11 Cisco Technology, Inc. Methods and apparatus for redirecting network cache traffic
DE10033548C2 (en) 2000-07-11 2002-05-16 Wolfgang Papenbrock Procedure for previewing websites
US6785769B1 (en) * 2001-08-04 2004-08-31 Oracle International Corporation Multi-version data caching
JP3890241B2 (en) * 2002-03-13 2007-03-07 キヤノン株式会社 Information processing system and information processing method
JP2003271507A (en) * 2002-03-13 2003-09-26 Canon Inc System describing markup language for mobile, information processor for creating display contents and program
EP1416397A1 (en) * 2002-10-29 2004-05-06 Sap Ag A method for selecting a renderer based on the browser type of the client, using scores
US7542050B2 (en) * 2004-03-03 2009-06-02 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
JP4355639B2 (en) * 2004-09-15 2009-11-04 キヤノン株式会社 Image processing apparatus and control method thereof
US8775662B2 (en) * 2005-09-27 2014-07-08 Blackberry Limited System and method for progressive delivery of multimedia objects
JP4140916B2 (en) * 2005-12-22 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method for analyzing state transition in web page
US20070256003A1 (en) * 2006-04-24 2007-11-01 Seth Wagoner Platform for the interactive contextual augmentation of the web
KR100831392B1 (en) 2006-10-12 2008-05-21 주식회사 지오텔 Method and System for Previewing Web-Page with Hypertext at Web-Browsing
US9104775B2 (en) 2007-10-16 2015-08-11 Yahoo! Inc. Method for presenting a web page
US9418171B2 (en) * 2008-03-04 2016-08-16 Apple Inc. Acceleration of rendering of web-based content
US8448090B2 (en) * 2009-01-23 2013-05-21 Hewlett-Packard Development Company, L.P. Selective plug-in activation for resource-limited platforms
US20100205523A1 (en) * 2009-02-09 2010-08-12 International Business Machines Corporation Web Widget for Enabling Screen Reader Accessibility for a Web Application
US8769050B2 (en) * 2009-10-16 2014-07-01 Celartern, Inc. Serving font files in varying formats based on user agent type
JP5370131B2 (en) * 2009-12-22 2013-12-18 セイコーエプソン株式会社 Image display apparatus and control method
US8392832B2 (en) * 2010-02-05 2013-03-05 Research In Motion Limited Display placeholders for rich media content
US9026913B2 (en) * 2010-06-11 2015-05-05 Linkedin Corporation Replacing an image with a media player
US8332284B1 (en) * 2010-08-06 2012-12-11 Zappos Ip, Inc. Providing multiple views for an item

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240447B1 (en) * 1996-10-11 2001-05-29 At&T Corp. Method for reducing perceived delay between a time data is requested and a time data is available for display
US5931904A (en) * 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
USRE42413E1 (en) * 2000-04-27 2011-05-31 Bayard Chimney Rock Llc Web search engine with graphic snapshots
US6643641B1 (en) * 2000-04-27 2003-11-04 Russell Snyder Web search engine with graphic snapshots
US20070288855A1 (en) * 2000-06-12 2007-12-13 Rohrabaugh Gary B Resolution Independent Vector Display of Internet Content
US7831926B2 (en) * 2000-06-12 2010-11-09 Softview Llc Scalable display of internet content on mobile devices
US7823083B2 (en) * 2000-06-12 2010-10-26 Softview Llc Method, browser client and apparatus to support full-page web browsing on hand-held devices
US20070288841A1 (en) * 2000-06-12 2007-12-13 Rohrabaugh Gary B Scalable Display of Internet Content on Mobile Devices
US20040239681A1 (en) * 2000-08-07 2004-12-02 Zframe, Inc. Visual content browsing using rasterized representations
US7242406B2 (en) * 2000-08-07 2007-07-10 Searchlite Advances, Llc Visual content browsing using rasterized representations
US20070263007A1 (en) * 2000-08-07 2007-11-15 Searchlite Advances, Llc Visual content browsing with zoom and pan features
US20020015042A1 (en) * 2000-08-07 2002-02-07 Robotham John S. Visual content browsing using rasterized representations
US7688327B2 (en) * 2000-08-07 2010-03-30 Robotham John S Visual content browsing with zoom and pan features
US20100194753A1 (en) * 2000-08-07 2010-08-05 Robotham John S Device-Specific Content Versioning
US7864186B2 (en) * 2000-08-07 2011-01-04 Robotham John S Device-specific content versioning
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP2004013345A (en) * 2002-06-04 2004-01-15 Hitachi Information Systems Ltd System and program for providing information
US20080065980A1 (en) * 2006-09-08 2008-03-13 Opera Software Asa Modifying a markup language document which includes a clickable image
US20090089448A1 (en) * 2007-09-28 2009-04-02 David Sze Mobile browser with zoom operations using progressive image download
US20090307603A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Dynamic content delivery to network-enabled static
US20090307571A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Image acquisition from dynamic content for delivery to network-enabled static display devices
US20100202010A1 (en) * 2009-02-11 2010-08-12 Jun Xiao Method and system for printing a web page
US20100312822A1 (en) * 2009-06-03 2010-12-09 Microsoft Corporation Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US20110173188A1 (en) * 2010-01-13 2011-07-14 Oto Technologies, Llc System and method for mobile document preview
US20110173569A1 (en) * 2010-01-13 2011-07-14 Rockmelt, Inc. Preview Functionality for Increased Browsing Speed
US20110202847A1 (en) * 2010-02-12 2011-08-18 Research In Motion Limited Image-based and predictive browsing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bjork et al., WEST: A WEB BROWSER FOR SMALL TERMINALS, Proceedings of UIST '99, ACM CHI Letters vol.1 no.1, pg.187-196, 1999. *

Cited By (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613009B2 (en) 2011-05-04 2017-04-04 Google Inc. Predicting user navigation events
US10896285B2 (en) 2011-05-04 2021-01-19 Google Llc Predicting user navigation events
US8788711B2 (en) * 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US20120324043A1 (en) * 2011-06-14 2012-12-20 Google Inc. Access to network content
US11032388B2 (en) * 2011-06-14 2021-06-08 Google Llc Methods for prerendering and methods for managing and configuring prerendering operations
US20180246862A1 (en) * 2011-06-14 2018-08-30 Google Llc Methods for prerendering and methods for managing and configuring prerendering operations
US9928223B1 (en) * 2011-06-14 2018-03-27 Google Llc Methods for prerendering and methods for managing and configuring prerendering operations
US11019179B2 (en) 2011-06-14 2021-05-25 Google Llc Access to network content
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US9846842B2 (en) 2011-07-01 2017-12-19 Google Llc Predicting user navigation events
US10332009B2 (en) 2011-07-01 2019-06-25 Google Llc Predicting user navigation events
US9530099B1 (en) 2011-07-01 2016-12-27 Google Inc. Access to network content
US8566696B1 (en) 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US9075778B1 (en) 2011-07-15 2015-07-07 Google Inc. Predicting user navigation events within a browser
US10089579B1 (en) 2011-07-15 2018-10-02 Google Llc Predicting user navigation events
US8862529B1 (en) 2011-09-15 2014-10-14 Google Inc. Predicting user navigation events in a browser using directed graphs
US9443197B1 (en) 2011-09-15 2016-09-13 Google Inc. Predicting user navigation events
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US10572548B2 (en) 2012-01-19 2020-02-25 Google Llc System and method for improving access to search results
US9672285B2 (en) 2012-01-19 2017-06-06 Google Inc. System and method for improving access to search results
US9460495B2 (en) * 2012-04-06 2016-10-04 Microsoft Technology Licensing, Llc Joint video stabilization and rolling shutter correction on a generic platform
US10217200B2 (en) 2012-04-06 2019-02-26 Microsoft Technology Licensing, Llc Joint video stabilization and rolling shutter correction on a generic platform
US20130265460A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Joint video stabilization and rolling shutter correction on a generic platform
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US10754900B2 (en) 2012-05-15 2020-08-25 Google Llc Access to network content
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
EP2920713A2 (en) * 2012-11-14 2015-09-23 Amazon Technologies Inc. Delivery and display of page previews during page retrieval events
US10095663B2 (en) * 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US20140136971A1 (en) * 2012-11-14 2014-05-15 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US20140136942A1 (en) * 2012-11-14 2014-05-15 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US10031891B2 (en) * 2012-11-14 2018-07-24 Amazon Technologies Inc. Delivery and display of page previews during page retrieval events
US10536479B2 (en) 2013-03-15 2020-01-14 Shape Security, Inc. Code modification for automation detection
US9923919B2 (en) 2013-03-15 2018-03-20 Shape Security, Inc. Safe intelligent content modification
US9794276B2 (en) 2013-03-15 2017-10-17 Shape Security, Inc. Protecting against the introduction of alien content
US10193909B2 (en) 2013-03-15 2019-01-29 Shape Security, Inc. Using instrumentation code to detect bots or malware
US9973519B2 (en) 2013-03-15 2018-05-15 Shape Security, Inc. Protecting a server computer by detecting the identity of a browser on a client computer
US10205742B2 (en) 2013-03-15 2019-02-12 Shape Security, Inc. Stateless web content anti-automation
US11088995B2 (en) 2013-12-06 2021-08-10 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US9712561B2 (en) 2014-01-20 2017-07-18 Shape Security, Inc. Intercepting and supervising, in a runtime environment, calls to one or more objects in a web page
US10044753B2 (en) 2014-01-20 2018-08-07 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US10652275B2 (en) 2014-01-20 2020-05-12 Shape Security, Inc. Management of calls to transformed operations and objects
US10212137B1 (en) 2014-01-21 2019-02-19 Shape Security, Inc. Blind hash compression
US10554777B1 (en) 2014-01-21 2020-02-04 Shape Security, Inc. Caching for re-coding techniques
US10187408B1 (en) 2014-04-17 2019-01-22 Shape Security, Inc. Detecting attacks against a server computer based on characterizing user interactions with the client computing device
US9563929B1 (en) 2014-05-22 2017-02-07 Amazon Technologies, Inc. Caching of content page layers
US9922007B1 (en) 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US10042521B1 (en) 2014-05-22 2018-08-07 Amazon Technologies, Inc. Emulation of control resources for use with converted content pages
US9563928B1 (en) 2014-05-22 2017-02-07 Amazon Technlogies, Inc. Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US10248633B2 (en) 2014-06-17 2019-04-02 Amazon Technologies, Inc. Content browser system using multiple layers of graphics commands
US10089216B2 (en) 2014-06-30 2018-10-02 Shape Security, Inc. Automatically determining whether a page of a web site is broken despite elements on the page that may change
US10333924B2 (en) 2014-07-01 2019-06-25 Shape Security, Inc. Reliable selection of security countermeasures
US9813444B2 (en) 2014-07-01 2017-11-07 Shape Security, Inc. Reliable selection of security countermeasures
US9825984B1 (en) 2014-08-27 2017-11-21 Shape Security, Inc. Background analysis of web content
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
US10868819B2 (en) 2014-09-19 2020-12-15 Shape Security, Inc. Systems for detecting a headless browser executing on a client computer
US9954893B1 (en) 2014-09-23 2018-04-24 Shape Security, Inc. Techniques for combating man-in-the-browser attacks
US10346523B1 (en) 2014-12-08 2019-07-09 Amazon Technologies, Inc. Content synchronization across devices
US9792266B1 (en) * 2014-12-08 2017-10-17 Amazon Technologies, Inc. Content synchronization across devices
US9825995B1 (en) 2015-01-14 2017-11-21 Shape Security, Inc. Coordinated application of security policies
US9813440B1 (en) 2015-05-15 2017-11-07 Shape Security, Inc. Polymorphic treatment of annotated content
US10798202B2 (en) 2015-05-21 2020-10-06 Shape Security, Inc. Security systems for mitigating attacks from a headless browser executing on a client computer
US10367903B2 (en) 2015-05-21 2019-07-30 Shape Security, Inc. Security systems for mitigating attacks from a headless browser executing on a client computer
US10567419B2 (en) 2015-07-06 2020-02-18 Shape Security, Inc. Asymmetrical challenges for web security
US10567386B2 (en) 2015-07-07 2020-02-18 Shape Security, Inc. Split serving of computer code
US10230718B2 (en) 2015-07-07 2019-03-12 Shape Security, Inc. Split serving of computer code
US10382482B2 (en) 2015-08-31 2019-08-13 Shape Security, Inc. Polymorphic obfuscation of executable code
US9807113B2 (en) 2015-08-31 2017-10-31 Shape Security, Inc. Polymorphic obfuscation of executable code
US10375026B2 (en) 2015-10-28 2019-08-06 Shape Security, Inc. Web transaction status tracking
US11171925B2 (en) 2015-10-28 2021-11-09 Shape Security, Inc. Evaluating and modifying countermeasures based on aggregate transaction status
US10826872B2 (en) 2015-11-16 2020-11-03 Shape Security, Inc. Security policy for browser extensions
US10212130B1 (en) 2015-11-16 2019-02-19 Shape Security, Inc. Browser extension firewall
US10326790B2 (en) 2016-02-12 2019-06-18 Shape Security, Inc. Reverse proxy computer: deploying countermeasures in response to detecting an autonomous browser executing on a client computer
US10212173B2 (en) 2016-03-03 2019-02-19 Shape Security, Inc. Deterministic reproduction of client/server computer state or output sent to one or more client computers
US10447726B2 (en) 2016-03-11 2019-10-15 Shape Security, Inc. Mitigating attacks on server computers by enforcing platform policies on client computers
CN112037332A (en) * 2020-09-28 2020-12-04 北京百度网讯科技有限公司 Display verification method and device of browser, computer equipment and storage medium

Also Published As

Publication number Publication date
AU2011101576B4 (en) 2012-10-25
AU2011101576A4 (en) 2012-01-12
US20120254721A1 (en) 2012-10-04
DE202011108541U1 (en) 2012-07-04
US8732571B2 (en) 2014-05-20
NL2007905C2 (en) 2012-10-02

Similar Documents

Publication Publication Date Title
US8732571B2 (en) Methods and systems for generating and displaying a preview image of a content area
EP3465467B1 (en) Web page accelerations for web application hosted in native mobile application
CA2891472C (en) Delivery and display of page previews during page retrieval events
CN103782294B (en) Remote browsing session management
US9646254B2 (en) Predicting next web pages
US9348939B2 (en) Web site sectioning for mobile web browser usability
US9697189B2 (en) Partial website optimization for a web publisher
US20140143644A1 (en) Web browser page transition acceleration
US20170351648A1 (en) Delivery and display of page previews using shadow dom
US10521485B1 (en) Measuring page value
US8516041B1 (en) Pre-fetching asynchronously requested content
US20120331376A1 (en) Inserting content in association with a web page that is transmitted to a computing device
US20170359434A1 (en) Web caching with image and local storage
AU2013375183A1 (en) Systems and methods to map page states
KR20060080180A (en) Method of caching data assets
US20170147543A1 (en) Enabling legacy web applications for mobile devices
US11176223B1 (en) Page rendering by an intermediary system that uses a truncated library
US11288336B2 (en) Systems and methods for providing content items in situations involving suboptimal network conditions
JP6683835B2 (en) Reduced waiting time when downloading electronic resources using multiple threads
JP6358049B2 (en) Local storage synchronization method, local storage synchronization apparatus, and local storage synchronization program
US20140237133A1 (en) Page download control method, system and program for ie core browser
JP7104091B2 (en) Reduced latency when downloading electronic resources using multiple threads

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION