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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising 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.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
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
- 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.
- 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.
- 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.
- 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. - 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.
- 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 ofsystem 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 ofFIG. 1 , or that would benefit from the operation, methods and functions as described herein. -
System 100 includesclient 110 andserver 140 connected overnetwork 102. In an embodiment,client 110 includesbrowser 120. User 108 can interact withclient 110 to provide data toclient 110 and receive (or view) data fromclient 110. - In an embodiment,
server 140 provides content toclient 110 in response to requests fromclient 110. Such requests may be generated bybrowser 120 inclient 110. In another non-limiting example,server 140 provides (or ‘pushes’) content toclient 110 without requests fromclient 110. Content provided byserver 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 toclient 110 is displayed on a display (not shown) ofclient 110. A user may interact with content displayed onclient 110 that may causeclient 110 to request additional content fromserver 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 inFIG. 1 ,server 140 includesrendering engine 150 andcode 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 allowsclient 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 inFIG. 1 ,client 110 includesbrowser 120.Browser 120 can be any type of browser that enables a user to browse locally stored as well as web content. -
FIG. 2 illustratesbrowser 120 in greater detail, according to an embodiment. As shown inFIG. 2 ,browser 120 includes display engine 210. In an embodiment, display engine 210 is configured to display a rendered preview image provided byserver 140. - In an embodiment,
rendering engine 150 inserver 140 is configured to render an image representing a content area requested bybrowser 120. As an example,server 140 may receive a request for a web page frombrowser 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 bybrowser 120. -
Rendering engine 150 may store the rendered preview image on storage inserver 140 or can even store the rendered preview image on a storage that is separate fromserver 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 bybrowser 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 frombrowser 120. In an embodiment,browser 120 or evenserver 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 byserver 140. - In another embodiment, a proxy (not shown) connected to
browser 120 andserver 140 vianetwork 102, may render and/or provide rendered preview images tobrowser 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. - In an embodiment, when
server 140 receives a request for a content area frombrowser 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 tobrowser 120,server 140 parses and renders a preview image of the content area for display bybrowser 120. In an embodiment, when a rendered preview image is generated byrendering 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 enablesbrowser 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 bybrowser 120. - In an embodiment,
browser 120 can be instructed to byserver 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 bybrowser 120. When the requested content area is received bybrowser 120,browser 120 transitions display from the rendered preview image to the received content area. In this way, becausebrowser 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 byserver 140 tobrowser 120. This could also allowbrowser 120 to request a preview image from a different source (e.g., trusted cache, proxy or referrer) other thanserver 140. In an embodiment, such operation ofbrowser 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 torendering engine 150 to render the preview image, while waiting forbrowser 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. - An exemplary overall operation of
server 140 will now be described with reference toFIG. 3A .FIG. 3A is a flowchart ofmethod 300. -
Method 300 begins withserver 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 frombrowser 120. Such a web page can be, for example, initially requested by a user interacting withbrowser 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 tobrowser 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 enablesbrowser 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 aflowchart illustrating step 308 ofmethod 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 abovecode 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 bycode re-writer 160 includes code that enablesbrowser 120 to retrieve the requested content area in the background, whilebrowser 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 bybrowser 120 fromserver 140. -
FIG. 4 is a is a flowchart ofmethod 400, which is an overall operation ofbrowser 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 toserver 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 enablesbrowser 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 bybrowser 120 from server 140 (step 406) andbrowser 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 inbrowser 120 is configured to display the rendered preview image while the requested content area is being received bybrowser 120, and display the content area in place of the rendered preview image when the requested content area is received by thebrowser 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.
- In an embodiment, the system and components of embodiments described herein are implemented using one or more computers, such as
example computer 502 shown inFIG. 5 . For example,client 110 andserver 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 aprocessor 506.Processor 506 is connected to acommunication infrastructure 504. -
Computer 502 also includes a main orprimary memory 508, such as random access memory (RAM).Primary memory 508 has stored therein controllogic 568A (computer software), and data. -
Computer 502 also includes one or moresecondary storage devices 510.Secondary storage devices 510 include, for example, ahard 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 aremovable storage unit 516.Removable storage unit 516 includes a computer useable orreadable storage medium 564A having stored thereincomputer 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 toremovable 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 ornetwork interface 518.Network interface 518 enablescomputer 502 to communicate with remote devices. For example,network interface 518 allowscomputer 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 andremovable 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.
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 (53)
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 |
US8745212B2 (en) | 2011-07-01 | 2014-06-03 | Google Inc. | Access to network content |
US8744988B1 (en) | 2011-07-15 | 2014-06-03 | Google Inc. | Predicting user navigation events in an internet browser |
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 |
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 |
US9563929B1 (en) | 2014-05-22 | 2017-02-07 | Amazon Technologies, Inc. | Caching of content page layers |
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 |
US9792266B1 (en) * | 2014-12-08 | 2017-10-17 | Amazon Technologies, Inc. | Content synchronization across devices |
US9794276B2 (en) | 2013-03-15 | 2017-10-17 | Shape Security, Inc. | Protecting against the introduction of alien content |
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 |
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 |
US10212137B1 (en) | 2014-01-21 | 2019-02-19 | Shape Security, Inc. | Blind hash compression |
US10212130B1 (en) | 2015-11-16 | 2019-02-19 | Shape Security, Inc. | Browser extension firewall |
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 |
CN113836455A (en) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | Special effect rendering method, device, equipment, storage medium and computer program product |
Families Citing this family (9)
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)
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 |
US20070288841A1 (en) * | 2000-06-12 | 2007-12-13 | Rohrabaugh Gary B | Scalable Display of Internet Content on Mobile Devices |
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 |
US20110173569A1 (en) * | 2010-01-13 | 2011-07-14 | Rockmelt, Inc. | Preview Functionality for Increased Browsing Speed |
US20110173188A1 (en) * | 2010-01-13 | 2011-07-14 | Oto Technologies, Llc | System and method for mobile document preview |
US20110202847A1 (en) * | 2010-02-12 | 2011-08-18 | Research In Motion Limited | Image-based and predictive browsing |
Family Cites Families (21)
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 |
JP2003271507A (en) * | 2002-03-13 | 2003-09-26 | Canon Inc | System describing markup language for mobile, information processor for creating display contents and program |
JP3890241B2 (en) * | 2002-03-13 | 2007-03-07 | キヤノン株式会社 | Information processing system and information processing method |
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 |
-
2011
- 2011-03-31 US US13/077,311 patent/US8732571B2/en active Active
- 2011-09-26 US US13/245,750 patent/US20120254727A1/en not_active Abandoned
- 2011-11-30 NL NL2007905A patent/NL2007905C2/en not_active IP Right Cessation
- 2011-11-30 AU AU2011101576A patent/AU2011101576B4/en not_active Ceased
- 2011-11-30 DE DE202011108541U patent/DE202011108541U1/en not_active Expired - Lifetime
Patent Citations (26)
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 |
US20070288841A1 (en) * | 2000-06-12 | 2007-12-13 | Rohrabaugh Gary B | Scalable Display of Internet Content on Mobile Devices |
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 |
US20070288855A1 (en) * | 2000-06-12 | 2007-12-13 | Rohrabaugh Gary B | Resolution Independent Vector Display of Internet Content |
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 |
US20110173569A1 (en) * | 2010-01-13 | 2011-07-14 | Rockmelt, Inc. | Preview Functionality for Increased Browsing Speed |
US20110173188A1 (en) * | 2010-01-13 | 2011-07-14 | Oto Technologies, Llc | System and method for mobile document preview |
US20110202847A1 (en) * | 2010-02-12 | 2011-08-18 | Research In Motion Limited | Image-based and predictive browsing |
Non-Patent Citations (1)
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 (86)
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 |
US8600921B2 (en) | 2011-09-15 | 2013-12-03 | Google Inc. | Predicting user navigation events in a browser using directed graphs |
US8655819B1 (en) | 2011-09-15 | 2014-02-18 | Google Inc. | Predicting user navigation events based on chronological history data |
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 |
US10217200B2 (en) | 2012-04-06 | 2019-02-26 | Microsoft Technology Licensing, Llc | Joint video stabilization and rolling shutter correction on a generic platform |
US9460495B2 (en) * | 2012-04-06 | 2016-10-04 | 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 |
US20140136971A1 (en) * | 2012-11-14 | 2014-05-15 | 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 |
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 |
EP2920713A2 (en) * | 2012-11-14 | 2015-09-23 | Amazon Technologies Inc. | Delivery and display of page previews during page retrieval events |
US10205742B2 (en) | 2013-03-15 | 2019-02-12 | Shape Security, Inc. | Stateless web content anti-automation |
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 |
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 |
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 |
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 |
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 |
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 |
CN113836455A (en) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | Special effect rendering method, device, equipment, storage medium and computer program product |
Also Published As
Publication number | Publication date |
---|---|
AU2011101576B4 (en) | 2012-10-25 |
AU2011101576A4 (en) | 2012-01-12 |
US8732571B2 (en) | 2014-05-20 |
US20120254721A1 (en) | 2012-10-04 |
NL2007905C2 (en) | 2012-10-02 |
DE202011108541U1 (en) | 2012-07-04 |
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 | |
US9646254B2 (en) | Predicting next web pages | |
CN103782294B (en) | Remote browsing session management | |
US9348939B2 (en) | Web site sectioning for mobile web browser usability | |
US9563929B1 (en) | Caching of content page layers | |
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 | |
JP2009518724A (en) | Method, system, and computer program for providing asynchronous portal pages within a portal system | |
US20120331376A1 (en) | Inserting content in association with a web page that is transmitted to a computing device | |
CN110020304A (en) | A kind of method and apparatus of loading page | |
US10223458B1 (en) | Automatic magazine generator for web content | |
US20170359434A1 (en) | Web caching with image and local storage | |
AU2013375183A1 (en) | Systems and methods to map page states | |
US11176223B1 (en) | Page rendering by an intermediary system that uses a truncated library | |
KR20060080180A (en) | Method of caching data assets | |
US11169666B1 (en) | Distributed content browsing system using transferred hardware-independent graphics commands | |
US20140237133A1 (en) | Page download control method, system and program for ie core browser | |
JP2016091449A (en) | Local storage synchronization method, local storage synchronizer and local storage synchronization program | |
US20190325073A1 (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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |