U.S. patent application number 17/009236 was filed with the patent office on 2020-12-17 for thumbnail image previews.
This patent application is currently assigned to Oath Inc.. The applicant listed for this patent is Oath Inc.. Invention is credited to Sudheer Agrawal, Timothy O'Shaugnessy.
Application Number | 20200396186 17/009236 |
Document ID | / |
Family ID | 1000005063071 |
Filed Date | 2020-12-17 |
View All Diagrams
United States Patent
Application |
20200396186 |
Kind Code |
A1 |
O'Shaugnessy; Timothy ; et
al. |
December 17, 2020 |
THUMBNAIL IMAGE PREVIEWS
Abstract
A first web page is displayed on a client computer. In response
to determining that a second web page is made accessible through a
link embedded in the first web page, an image corresponding to the
second web page is fetched and stored. In addition, a thumbnail
image preview that corresponds to the fetched image of the second
web page is generated, stored, and displayed while the first web
page is displayed.
Inventors: |
O'Shaugnessy; Timothy;
(Washington, DC) ; Agrawal; Sudheer; (Ashburn,
VA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Oath Inc. |
Dulles |
VA |
US |
|
|
Assignee: |
Oath Inc.
|
Family ID: |
1000005063071 |
Appl. No.: |
17/009236 |
Filed: |
September 1, 2020 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15008163 |
Jan 27, 2016 |
10805245 |
|
|
17009236 |
|
|
|
|
11618646 |
Dec 29, 2006 |
|
|
|
15008163 |
|
|
|
|
60754673 |
Dec 30, 2005 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 40/169 20200101;
G06F 3/04812 20130101; H04L 67/2847 20130101; G06F 3/04817
20130101; G06T 3/40 20130101; G06F 40/14 20200101; H04L 51/046
20130101; G06F 40/146 20200101; G06F 40/134 20200101; G06F 40/106
20200101; G06F 3/04842 20130101; G06F 16/51 20190101 |
International
Class: |
H04L 12/58 20060101
H04L012/58; H04L 29/08 20060101 H04L029/08; G06T 3/40 20060101
G06T003/40; G06F 40/134 20060101 G06F040/134; G06F 3/0484 20060101
G06F003/0484; G06F 40/14 20060101 G06F040/14; G06F 16/51 20060101
G06F016/51; G06F 3/0481 20060101 G06F003/0481; G06F 40/169 20060101
G06F040/169; G06F 40/106 20060101 G06F040/106; G06F 40/146 20060101
G06F040/146 |
Claims
1-25. (canceled)
26. A computer-implemented method comprising the following
operations performed by one or more processors: receiving, at a
client computer, an electronic message in a messaging application,
the electronic message including a link to a web page; displaying,
at the client computer, the electronic message with the link;
fetching the web page; automatically identifying, at the client
computer, features in the web page; generating a preview image of
the web page that is a reduced scale representation of the web
page; determining, at the client computer, that a cursor is
interacting with the link in the messaging application without a
user otherwise selecting the link; and displaying, to the user at
the client computer, the preview image of the web page in response
to having determined that the cursor is interacting with the link
without otherwise selecting the link in the messaging
application.
27. The computer-implemented method of claim 26, further comprising
instructions executable by the one or more processors to display
the preview image of the web page before invocation of the link in
the messaging application.
28. The computer-implemented method of claim 26, further comprising
instructions executable by the one or more processors to configure
the display of the preview image of the web page to enable
navigation to the web page upon selection of the preview image by
the user.
29. The computer-implemented method of claim 26, further comprising
determining that there is a second link embedded in the web page
corresponding to a second web page.
30. The computer-implemented method of claim 29, further comprising
detecting a triggering event and receiving a request for the second
web page in response to the triggering event.
31. The computer-implemented method of claim 30, further comprising
generating and displaying a preview image of the second web
page.
32. The computer-implemented method of claim 31, further comprising
storing data related to the second web page in at the client
computer.
33. A system comprising the following operations performed by one
or more processors: a memory that stores instructions; and one or
more processors that are configured to execute instructions for:
receiving, at a client computer, an electronic message in a
messaging application, the electronic message including a link to a
web page; displaying, at the client computer, the electronic
message with the link; fetching the web page; automatically
identifying, at the client computer, features in the web page;
generating a preview image of the web page that is a reduced scale
representation of the web page; determining, at the client
computer, that a cursor is interacting with the link in the
messaging application without a user otherwise selecting the link;
and displaying, to the user at the client computer, the preview
image of the web page in response to having determined that the
cursor is interacting with the link without otherwise selecting the
link in the messaging application.
34. The system of claim 33, further comprising instructions
executable by the one or more processors to display the preview
image of the web page before invocation of the link in the
messaging application.
35. The system of claim 33, further comprising instructions
executable by the one or more processors to configure the display
of the preview image of the web page to enable navigation to the
web page upon selection of the preview image by the user.
36. The system of claim 33, further comprising determining that
there is a second link embedded in the web page corresponding to a
second web page.
37. The system of claim 36, further comprising detecting a
triggering event and receiving a request for the second web page in
response to the triggering event.
38. The system of claim 37, further comprising generating and
displaying a preview image of the second web page.
39. The system of claim 38, further comprising storing data related
to the second web page in at the client computer.
40. A non-transitory computer-readable medium comprising the
following operations performed by one or more processors: a memory
that stores instructions; and one or more processors that are
configured to execute instructions for: receiving, at a client
computer, an electronic message in a messaging application, the
electronic message including a link to a web page; displaying, at
the client computer, the electronic message with the link; fetching
the web page; automatically identifying, at the client computer,
features in the web page; generating a preview image of the web
page that is a reduced scale representation of the web page;
determining, at the client computer, that a cursor is interacting
with the link in the messaging application without a user otherwise
selecting the link; and displaying, to the user at the client
computer, the preview image of the web page in response to having
determined that the cursor is interacting with the link without
otherwise selecting the link in the messaging application.
41. The non-transitory computer-readable medium of claim 40,
further comprising instructions executable by the one or more
processors to display the preview image of the web page before
invocation of the link in the messaging application.
42. The non-transitory computer-readable medium of claim 40,
further comprising instructions executable by the one or more
processors to configure the display of the preview image of the web
page to enable navigation to the web page upon selection of the
preview image by the user.
43. The non-transitory computer-readable medium of claim 40,
further comprising determining that there is a second link embedded
in the web page corresponding to a second web page.
44. The non-transitory computer-readable medium of claim 43,
further comprising detecting a triggering event and receiving a
request for the second web page in response to the triggering
event.
45. The non-transitory computer-readable medium of claim 44,
further comprising generating and displaying a preview image of the
second web page.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority from U.S.
Provisional Patent Application No. 60/754,673 filed Dec. 30, 2005,
and titled "Thumbnail Image Preview for Resources Made Accessible
Using Embedded Links," the entire contents of which is incorporated
herein by reference for all purposes.
TECHNICAL FIELD
[0002] This disclosure relates to thumbnail image previews.
BACKGROUND
[0003] The World Wide Web (web) is a system of interlinked
resources, such as, for example, hypertext documents (web pages)
that may include text, images, sounds, videos, and various other
forms of multimedia, that are linked together over the Internet.
Resources available on the web generally are identified by uniform
resource locators (URLs) that specify the global network addresses
of the resources. Resources available on the web may be accessed by
instructing a web browser, or similar application, running on a
client computer to retrieve resources at particular network
addresses by specifying their corresponding URLs.
[0004] For example, a web page, or other resource, available on the
web may be viewed by entering the URL of the web page, or other
resource, in a navigation bar of a web browser, or similar
application, running on a client computer. In response, the web
browser requests the web page, or other resource, from the server
that corresponds to the specified URL and the server transmits the
web page to the client computer on which the web browser is
running. The web browser then renders, or otherwise displays, the
web page, or other resource, received from the server.
[0005] Many web pages include embedded hyperlinks (links) to other
web pages and/or resources available on the web that enable a user
to access the linked web pages and/or resources by selecting the
links instead of affirmatively entering the URLs of the web pages
and/or resources in the navigation bar of a web browser.
[0006] After accessing and displaying a web page, some web browsers
may transparently prefetch one or more web pages and/or other
resources linked by the displayed page and store the prefetched
pages and/or resources in local cache. Then, if a user instructs
the web browser to access one of the prefetched web pages or other
resources linked to the displayed page, the web browser can quickly
serve up the requested web page or resource from local cache rather
than having to retrieve the web page or resource from the remote
server on which it resides.
SUMMARY
[0007] In one aspect, a first web page is displayed on a client
computer. In response to determining that a second web page is made
accessible through a link embedded in the first web page, an image
corresponding to the second web page is fetched and stored. In
addition, a thumbnail image preview that corresponds to the fetched
image of the second web page is generated, stored, and displayed
while the first web page is displayed.
[0008] Implementations may include one or more of the following
features. For example, the thumbnail image preview may be displayed
before invocation of the link embedded in the first web page.
Similarly, the image corresponding to the second web page may be
fetched while the first web page is displayed. In addition, the
fetched image corresponding to the second web page may be a
surrogate image that is representative of the second web page or
the fetched image corresponding to the second web page may be a
portion of the second web page. In implementations where the
fetched image is a portion of the second web page, the thumbnail
image preview may correspond to the fetched portion of the second
web page and it may include one or more features having a scale
that is reduced relative to one or more corresponding features of
the fetched portion of the second web page.
[0009] In some implementations, the thumbnail image preview may be
generated without enabled links that are otherwise made available
for activation in the second web page. In such implementations, the
thumbnail image preview may include a passive form of the links
that are otherwise made available for activation in the second web
page. Furthermore, the thumbnail image preview may be generated
according to a particular image file format, such as, for example,
a bitmap image file format, a jpeg image file format, ajpeg2 image
file format, a gif image file format, or a png image file format.
Alternatively, the thumbnail image preview may be generated with
enabled links that are available for activation in the second web
page.
[0010] In some implementations, a selectable thumbnail image
preview that is configured to enable navigation to the second web
page upon selection of the selectable thumbnail image preview may
be generated.
[0011] A determination may be made that a cursor associated with a
pointing device is hovering over the link embedded in the first web
page, and the thumbnail image preview may be displayed in response.
Additionally or alternatively, a determination may be made that the
link embedded in the first web page has been selected, and the
thumbnail image preview may be displayed in response. In such
implementations, the link embedded in the first web page may be
selected by one or more keystroke entries received from a keyboard
input interface.
[0012] In some implementations, the thumbnail image preview may be
displayed as a supplement to a textual description or other
identifier associated with the link embedded in the first web page.
Alternatively, in other implementations, the thumbnail image
preview may be displayed such that it replaces a textual
description or other identifier associated with the link embedded
in the first web page.
[0013] In some implementations, the first web page may be displayed
in a first window, and the second web page may be displayed in a
second window that is separate and distinct from the first
window.
[0014] A determination may be made that a third web page is made
accessible through another link embedded in the first web page and
at least a portion of the third web page may be fetched while the
first web page is displayed in response. In addition, the fetched
portion of the third web page may be stored at the client computer
and another thumbnail image preview that corresponds to the fetched
portion of the third web page and that includes one or more
features having a scale that is reduced relative to one or more
corresponding features of the fetched portion of the third web page
may be generated and displayed while the first web page and/or the
thumbnail image is displayed. The thumbnail image preview and the
other thumbnail image preview may be displayed in a manner that
reflects that the third web page is made accessible through the
other link embedded in the second web page. For example, the
thumbnail image preview and the other thumbnail image preview may
be displayed in a hierarchical thumbnail image preview tree that
reflects that the third web page is made accessible through the
other link embedded in the second web page.
[0015] In some implementations, the image corresponding to the
second web page may be fetched before displaying the first web page
and the first web page and the thumbnail image preview may be
initially displayed at substantially the same time.
[0016] In some implementations, one or more features of the second
web page may be removed from the thumbnail image preview.
Additionally or alternatively, one or more features of the second
web page may be amplified in the thumbnail image preview.
[0017] Implementations of any of the techniques described may
include a method or process, an apparatus or system, or computer
software on a computer-accessible medium. The details of one or
more implementations are set forth in the accompanying drawings and
the description below.
DESCRIPTION OF DRAWINGS
[0018] FIG. 1 is a block diagram of an example of a communications
system.
[0019] FIG. 2 is a block diagram of an example of a computer
architecture.
[0020] FIG. 3 is a screenshot of a web browser interface on a
client computer.
[0021] FIG. 4 is a screenshot of the web browser interface of FIG.
3 that illustrates the display of a thumbnail image preview of a
web page that is made accessible by an embedded link in the web
page currently in view.
[0022] FIGS. 5a-5c are diagrams of processes for generating a
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view.
[0023] FIG. 6 is a screenshot of the web browser interface of FIG.
3 that illustrates the display of a thumbnail image preview of a
web page that is made accessible by an embedded link in the web
page currently in view as well as the display of thumbnail image
previews of three web pages made accessible through embedded links
in the web page that is made accessible by the embedded link in the
web page currently in view.
[0024] FIG. 7a is a flowchart of a process for generating a
surrogate representation of a second web page that is made
accessible by an embedded link in a web page currently in view.
[0025] FIGS. 7b and 7c are flowcharts of processes for generating a
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view.
[0026] FIG. 7d is a flowchart of a process for generating a passive
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view and for enabling a
user to select the passive thumbnail image preview.
[0027] FIG. 7e is a flowchart of a process for generating an active
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view and for enabling a
user to interact with active elements of the active thumbnail image
preview.
[0028] FIG. 8 is an example of a graphical user interface (GUI) of
an instant messaging application that illustrates the display of a
thumbnail image preview of a web page corresponding to a link sent
to an instant message recipient in an instant message from an
instant message sender.
[0029] FIG. 9a is flowchart of a process for generating a thumbnail
image preview of a web page that is made accessible by a link
included in an instant message.
[0030] FIG. 9b is a diagram of a process for generating a thumbnail
image preview of a web page that is made accessible by a link
included in an instant message.
[0031] Like reference symbols in the various drawings may indicate
like elements.
DETAILED DESCRIPTION
[0032] A web browser prefetches at least one web page or other
resource made accessible through a link on a web page currently in
view. For example, if CNN.com is currently in view, the web browser
prefetches at least one web page made accessible through a link on
the CNN.com home page and stores the prefetched page(s) in local
cache. Thereafter, the web browser generates a thumbnail image
preview of the prefetched web page that may be used to provide a
user with a preview of the content available on the web page made
accessible through the link on the web page currently in view. For
example, the thumbnail image preview may be used to supplement or
replace a textual description associated with the link.
[0033] In one implementation, a thumbnail image preview of a
prefetched web page may be displayed persistently. Additionally or
alternatively, a thumbnail image preview may be displayed after a
triggering event. For example, when a user "mouses over" a link on
a web page currently in view, a thumbnail image preview of the web
page associated with the "moused over" link may be presented to the
user, thereby allowing the user to see for him or herself a preview
of the content available on the linked to web page.
[0034] FIG. 1 is a block diagram of an example of a communications
system. Briefly, the communications system includes a client
computer and three web servers electronically connected over the
Internet. The client computer includes a web browser that is
configured to access web pages and/or other resources made
available by the web servers.
[0035] In more detail, and as illustrated in FIG. 1 communications
system 100 includes a client computer 102 which is electronically
connected to web servers 104, 106, and 108 through over the
Internet 110.
[0036] Client computer 102 and web servers 104, 106, and 108 each
may be implemented by, for example, a general purpose computer
capable of responding to and executing instructions in a defined
manner, a personal computer, a special-purpose computer, a
workstation, a server, a notebook or laptop computer, a personal
digital assistant ("PDA"), a wireless telephone, a device, a
component, other equipment, or some combination of these items that
is capable of responding to and executing instructions. In
addition, client computer 102 and web servers 104, 106, and 108
each may include a central processing unit (CPU) and memory/storage
devices that store data and various programs such as operating
systems and application programs. Furthermore, client computer 102
and web servers 104, 106, and 108 each also may include an
input/output (I/O) device and peripheral equipment such as a
communications card or device (e.g., a modem or network adapter)
for exchanging data with over the Internet 110.
[0037] Client computer 102 and web servers 104, 106, and 108 each
may be configured to receive instructions from, for example, a
software application, a program, a piece of code, a device, a
computer, a computer system, or a combination thereof, which
independently or collectively direct operations, as described
herein. The instructions may be embodied permanently or temporarily
in any type of machine, component, equipment, storage medium, or
propagated signal that is capable of being delivered to the client
computer 102 or web servers 104, 106, and 108.
[0038] The Internet 110 includes hardware and/of software capable
of enabling direct or indirect communications between client
computer 102 and web servers 104, 106, and 108. Additionally or
alternatively, the Internet 110 may include hardware and/or
software capable of enabling direct or indirect communications
between client computer 102 and other communications devices (not
shown) connected to the Internet 110. As such, the Internet 110 may
include direct links between client computer 102, web servers 104,
106, and 108, and other communications devices (not shown)
connected to the Internet 110. Additionally or alternatively, the
Internet 110 may include one or more sub-networks (not shown)
between the client computer 102, web servers 104, 106, and 108,
and/or other communications devices (not shown) connected to the
Internet 110. Each network or sub-network may include, for example,
a wired or wireless data pathway capable of carrying and receiving
data. Examples of such networks or sub-networks include a wide area
network (WAN), a local area network (LAN), analog or digital wired
or wireless telephone networks, radio, television, cable,
satellite, and/or any other delivery mechanisms capable of carrying
data.
[0039] FIG. 2 is a block diagram of an example of a computer
architecture 200 suitable for implementing client computer 102. The
computer architecture includes: CPU 202 where computer instructions
are processed; display interface 204 which provides a communication
interface and processing functions for rendering graphics, images,
and text on a display; keyboard interface 206 which provides a
communication interface to a keyboard; printer interface 208 which
provides a communication interface to a hardcopy output device;
pointing device interface 210 which provides a communication
interface to a mouse or an equivalent processing device; random
access memory (RAM) 212 where computer instructions and data can be
stored in a volatile memory device for processing by CPU 202;
read-only memory (ROM) 214 where invariant low-level system code or
data for basic system functions such as basic I/O, startup, or
reception of keystrokes from a keyboard are stored in a
non-volatile memory device; modem interface 216 which provides a
communication interface to a computer network over a modem
connection; computer network interface 218 which provides a
communication interface to a computer network over a computer
network connection; and disk 220 (e.g., a fixed disk, a removable
disk, or a combination thereof). The disk 220 stores computer
executable instructions for an operating system 222 and application
programs 224, including, for example, a web browser 226, as well as
data files 228. Data bus 230 provides bi-directional communication
between the constituent devices and CPU 202.
[0040] RAM 212 interfaces with computer bus 230 so as to provide
quick RAM storage to CPU 202 during execution of software programs
such as the operating system 222, application programs 224,
including, for example, the web browser 226, and device drivers.
More specifically, CPU 202 loads computer executable instructions
from disk 220 or other memory media into a region of RAM 212 in
order to execute software programs. Data, such as, for example,
data related to web browsing, is stored in RAM 212, where the data
is accessed by CPU 202 during execution.
[0041] FIG. 2 illustrates one example of a computer architecture
suitable for implementing client computer 102. Nevertheless, other
architectures and communications devices also may be used to
implement client computer 102,
[0042] FIG. 3 is a screenshot of a web browser interface 300
displayed in connection with a with a web browser running on a
client computer such as, for example, client computer 102 of FIG.
1. As illustrated in FIG. 3, the web browser interface displays a
web page 302 that provides access to a number of other web pages
and resources through embedded links. For example, embedded link
104, associated with the textual description "World" provides
access to a second web page.
[0043] In one implementation, in addition to displaying the web
page 302 currently in view, the web browser associated with the web
browser interface 300 is configured to prefetch at least one web
page or other resource made accessible through embedded links on
the web page 302. For example, the web browser may be configured to
prefetch the web page made accessible through embedded link 104. In
addition to prefetching the at least one web page or other
resource, the web browser also is configured to generate a
thumbnail image preview of the at least one prefetched web page or
resource. The thumbnail image preview of the web page or resource
then may be displayed to a user to provide the user with a preview
of the content available from the linked to web page or
resource.
[0044] FIG. 4 is a screenshot of the web browser interface 300 of
FIG. 3. FIG. 4 illustrates the display of a thumbnail image preview
308 of a web page made accessible by an embedded link in the web
page 302 currently in view and that has been prefetched by the web
browser. As illustrated in FIG. 4, the thumbnail image preview 306
of the web page made accessible through embedded link 104 serves to
supplement the textual description "World" associated with embedded
link 104. In this manner, the thumbnail image preview 306 may
provide a more useful indication of the content of the web page
made accessible through embedded link 104 than the textual
description "World," thereby enabling a user to make a more
informed decision about whether or not to select the embedded link
104 in order to access the web page or other resource made
available through the embedded link 104.
[0045] The thumbnail image preview 306 of FIG. 4 is a scaled
version of the web page made accessible through embedded link 104.
That is to say, in generating the thumbnail image preview 306 of
the web page made accessible through embedded link 104, the web
browser reduced the size of the features of the web page. As a
result, the thumbnail image preview 306 enables a user to view an
image of the web page made accessible through embedded link 104
that is representative of what the web page would look like when
rendered and maximized in the web browser interface 300 without
significantly obscuring the web page 302 currently in view and/or
consuming a significant amount of screen real estate. As
illustrated in FIG. 4, the features of the web page made accessible
through embedded link 104 have been scaled proportionally. That is
to say, each feature of the web page has been reduced by the same
factor. However, this need not be the case. In some
implementations, different features may be scaled by different
factors. For example, features of a web page determined to be of
particular importance may be reduced by a smaller factor than other
features such that the features determined to be of particular
importance may be displayed more prominently than the other
features in the thumbnail image preview.
[0046] Thumbnail image previews of web pages and/or resources
generated by creating thumbnail images of prefetched web pages
and/o resources may be used to provide previews of web pages and/or
resources made accessible through links embedded in web pages in a
variety of different fashions.
[0047] As illustrated in FIG. 4, the web browser interface 300
displays a thumbnail image preview 306 of the web page made
accessible through embedded link 104 in response to a cursor 308
associated with a pointing device, such as, for example, a mouse,
hovering over embedded link 104. That is to say, thumbnail image
preview 306 of the web page made accessible through embedded link
304 in web page 302 is illustrated as being displayed in response
to a "mouse over" of the embedded link. However, a thumbnail image
preview of a web page made accessible through an embedded link in a
web page also may be displayed in response to other triggering
events. For instance, a thumbnail image preview of a web page made
accessible through an embedded link in a web page may be displayed
in response to selection of the embedded link by a "mouse click"
e.g., left click) instead of in response to a "mouse over."
Additionally, a thumbnail image preview of a web page made
accessible through an embedded link in a web page may be displayed
in response to selection of the embedded link using a keystroke,
such as, for example, "Tab," on a keyboard.
[0048] Alternatively, a thumbnail image preview of a web page made
accessible through an embedded link in a web page may be displayed
persistently, instead of in response to a triggering event. In some
implementations, the web browser may prefetch and generate
thumbnail image previews of one or more web pages made accessible
through a particular web page before actually rendering the
particular web page itself. In such implementations, the web
browser may render the particular web page and display the
thumbnail image previews of the one or more web pages concurrently.
That is to say, the thumbnail image previews of the one or more web
pages may be displayed concurrently with the particular web page
from the very moment the particular web page is first rendered, or
upon their accessibility upon prefetching.
[0049] In some implementations, a thumbnail image preview of a web
page made accessible through an embedded link in a web page may be
a passive image. That is to say, in some implementations, links
and/or other controls that would otherwise be active and/or
selectable in the previewed web page may not be active and/or
selectable in the thumbnail image preview. For example, the
thumbnail image preview may be a passive image of the web page made
accessible through the embedded link that is generated in
accordance with an image file format such as, for example, a bitmap
image file format, a jpeg image file format, a jpeg2 image file
format, a gif image file format and a png image file format. In
other implementations, a thumbnail image preview of a web page made
accessible through an embedded link in a web page may be active.
That is to say, links and/or other controls that are active and/or
selectable in the previewed web page also may be active and/or
selectable in the thumbnail image preview of the web page. For
example, the thumbnail image preview of the web page may be a
reduced size version of the previewed web page.
[0050] Additionally or alternatively, a thumbnail image preview of
a previewed web page may be selectable itself. For example,
selection of the thumbnail image preview may prompt the web browser
to navigate to the previewed web page, or, alternatively, selection
of the thumbnail image preview may spawn a full-scale display of
the previewed web page in a web browser interface. For example, in
a tabbed browser interface, such as, for example, the browser
interface 300 of FIGS. 3 and 4, the previewed web page may be
opened in a new tab in the web browser interface.
[0051] In some implementations, a thumbnail image preview of a web
page made accessible through an embedded link in a web page
currently in view may be displayed in a web browser interface
window that is separate and distinct from the web browser interface
window in which the web page currently in view is displayed. In
other implementations, a thumbnail image preview of a web page made
accessible through an embedded link in a web page currently in view
may be displayed in the same web browser interface window as the
web page currently in view. For example, a thumbnail image preview
of a web page made accessible through an embedded link in a web
page currently in view may be used to supplement a textual
description or other identifier associated with the embedded link
in the web page currently in view by embedding the thumbnail image
preview in the display of the web page currently in view. For
instance, as illustrated in FIG. 4, thumbnail image preview 306
supplements the textual description "World" associated with
embedded link 104. In other implementations, a thumbnail image
preview of a web page made accessible through an embedded link in a
web page currently in view may replace, or otherwise supplant, a
textual description or other identifier associated with the
embedded link in the web page currently in view.
[0052] FIG. 5a is a diagram of a process 500 for generating a
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view that involves a web
browser running on a client computer and one or more web servers.
The web browser may be, for example, web browser 226 of FIG. 2, the
client computer may be, for example, the client computer 102 of
FIG. 1, and the one or more web servers may be, for example, one or
more of web servers 104, 106, and 108 of FIG. 1.
[0053] The process 500 beings when the web browser sends a request
for a first web page to the web server (502). The web server
receives the request for the first web page (504) and sends the
first web page to the web browser in response (506). The web
browser receives the first web page from the web server (508) and
then renders the first web page (510).
[0054] In addition, the web browser determines that a second web
page is made accessible through an embedded link in the first web
page (512). Based on determining that a second web page is made
accessible through an embedded link in the first web page, the web
browser sends a request for the second web page, or a portion
thereof, to the web server (514). This operation of sending a
request to the web server for the second web page, or a portion
thereof, based on determining that a second web page is made
accessible through an embedded link in the first web page may be
referred to generally as prefetching the second web page. The web
server receives the request for the second web page (516) and sends
the second web page, or a portion thereof, to the web browser in
response (518). The client receives the second web page, or a
portion thereof, from the web server (520) and stores the second
web page, or a portion thereof, in local cache at the client
computer (522). The web browser then generates a thumbnail image
preview of the second web page, or a portion thereof (524). Like
the prefetched second web page, the thumbnail image preview of the
second web page also may be stored locally (e.g., in local
cache).
[0055] After generating a thumbnail image preview of the second web
page, or a portion thereof, the web browser displays a thumbnail
image preview of the second web page, or a portion thereof (526).
In some implementations, the web browser may display the thumbnail
image preview in response to determining that a cursor associated
with a pointing device such as, for example, a mouse, is hovering
over the link embedded in the first web page through which the
second web page is made accessible. Additionally or alternatively,
the web browser may display the thumbnail image preview in response
to another triggering event, such as, for example, selection of the
embedded link using the "Tab" key on a keyboard. In other
implementations, the thumbnail image preview may be generated and
then displayed persistently, instead of being displayed in response
to a triggering event. For example, the web browser may wait to
render the first web page until after the thumbnail image preview
of the second web page has been generated, and then the web browser
may render the first web page at the same time as displaying the
thumbnail image preview of the second web page. The thumbnail image
preview of the second web page then may be displayed persistently
until a user navigates away from the first web page or until the
user closes the web browser interface.
[0056] FIG. 5b is a diagram of another process 530 for generating a
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view that involves a web
browser running on a client computer and one or more web servers.
The web browser may be, for example, web browser 226 of FIG. 2, the
client computer may be, for example, the client computer 102 of
FIG. 1, and the one or more web servers may be, for example, one or
more of web servers 104, 106, and 108 of FIG. 1.
[0057] The process 530 beings when the web browser sends a request
for a first web page to the web server (532). The web server
receives the request for the first web page (534) and sends the
first web page to the web browser in response (536). The web
browser receives the first web page from the web server (538) and
then renders the first web page (540).
[0058] In addition, the web browser determines that a second web
page is made accessible through an embedded link in the first web
page (542). Based on determining that a second web page is made
accessible through an embedded link in the first web page, the web
browser sends a request for the second web page, or a portion
thereof, to the web server (544). The web server receives the
request for the second web page (546) and sends the second web
page, or a portion thereof, to the web browser in response (548).
The client receives the second web page, or a portion thereof, from
the web server (550) and stores the second web page, or a portion
thereof, in local cache at the client computer (552). The web
browser then generates a thumbnail image preview of the second web
page, or a portion thereof (554).
[0059] If the web browser determines that a triggering event has
occurred (556), the web browser displays a thumbnail image preview
of the second web page (558). Otherwise, the process 530 returns to
operation 554. Examples of a triggering event may include, a "mouse
over" of the embedded link, selection of the embedded link via a
mouse click, or selection of the embedded link via a keystroke
entered on a keyboard.
[0060] FIG. 5c is a diagram of another process 560 for generating a
thumbnail image preview of a web page that is made accessible by an
embedded link in a web page currently in view that involves a web
browser running on a client computer and one or more web servers.
The web browser may be, for example, web browser 226 of FIG. 2, the
client computer may be, for example, the client computer 102 of
FIG. 1, and the one or more web servers may be, for example, one or
more of web servers 104, 106, and 108 of FIG. 1.
[0061] The process 560 beings when the web browser sends a request
for a first web page to the web server (562). The web server
receives the request for the first web page (564) and sends the
first web page to the web browser in response (566). The web
browser receives the first web page from the web server (568) and
then renders the first web page (570).
[0062] If the web browser determines that a triggering event occurs
(572), the web browser sends a request for a second web page, or a
portion thereof, to the web server (574). For example, the web
browser may determine that a link to the second web page embedded
in the first web page has been "moused over," or otherwise selected
(e.g., selected by a mouse click or a keystroke). Therefore, in
response to such a "mouse over" or selection of the embedded link
in the first web page, the web browser may send a request to the
web server for the second web page, or a portion thereof.
[0063] The web server 576 receives the request for the second web
page (576) and sends the second web page, or a portion thereof, to
the web browser in response (578). The web browser receives the
second web page, or a portion thereof, (580) and stores the second
web page, or a portion thereof, in local cache (582). The web
browser then generates a thumbnail image preview of the second web
page, or a portion thereof (584) and displays the thumbnail image
preview (586). The process 560 illustrated in FIG. 5c differs from
the process 500 illustrated in FIG. a in that, in process 560, the
op ration of sending the request for the second web page (574) is
triggered by a triggering event such as a "mouse over" of a link to
the second web page, while, in process 500, the operation of
sending the request for the second web page (514) is triggered by a
determination that the second web page is made accessible through
an embedded link in the first web page.
[0064] In some implementations, a web browser prefetches multiple
layers of web pages or other resources made accessible through a
link on a web page currently in view. For example, the CNN.com
homepage may be currently in view, and the CNN.com homepage may
provide access to a second web page that itself provides access to
three additional web pages (i.e., a third web page, a fourth web
page, and a fifth web page) through three corresponding links
embedded in the second web page. In such a scenario, in addition to
prefetching the second web page, the web browser also prefetches
the third web page, the fourth web page, and the fifth web page and
stores the four web pages (i.e., the second web page, the third web
page, the fourth web page, and the fifth web page) in local cache.
Thereafter, the web browser generates thumbnail image previews of
the second web page, the third web page, the fourth web page, and
the fifth web page and displays the thumbnail image previews in the
form of a thumbnail image preview tree to provide a user of the web
browser with a preview of the content available through the second
web page as well as a preview of the content available through the
web pages made accessible through embedded links on the second
page.
[0065] FIG. 6 is a screenshot of the web browser interface 300 of
FIG. 3 that illustrates the display of a thumbnail image preview of
a web page that is made accessible by an embedded link in the web
page currently in view as well as the display of thumbnail image
previews of three web pages made accessible through embedded links
in the web page that is made accessible by the embedded link in the
web page currently in view.
[0066] As illustrated in FIG. 6, the web page made accessible
through embedded link 104 provides access to three additional web
pages through three corresponding embedded links. In addition to
being configured to prefetch and generate a thumbnail image preview
of the web page accessible through embedded link 104, the web
browser also is configured to prefetch and generate thumbnail image
previews of the three other web pages accessible through embedded
links on the web page accessible through embedded link 104.
Thereafter, the web browser interface 300 is configured to display
a thumbnail image preview 306 of the web page made accessible
through embedded link 104 as well as thumbnail image previews 310,
312, and 314 of the three web pages linked to by the web page made
accessible through embedded link 104 in response to a cursor 308
hovering over embedded link 104.
[0067] The thumbnail image preview 308 of the web page accessible
through embedded link 104 and the thumbnail image previews 310,
312, and 314 of the web pages accessible through embedded links on
the web page accessible through embedded link 104 are displayed in
a thumbnail image preview tree 316 that illustrates the
hierarchical relationship between the web pages corresponding to
thumbnail image preview images 306, 310, 312, and 314. Although
FIG. 6 illustrates a thumbnail image preview tree 314 having only
two layers, in some implementations, a web browser is configured to
prefetch and generate thumbnail image previews of more than two
layers of web pages or other resources.
[0068] In some implementations, a messaging platform, such as, for
example, an instant messaging platform, may enable a message sender
to send a link to a web page or other resource to a message
recipient. In such implementations, the instant messaging
application of the message recipient may be configured to prefetch
and generate a thumbnail image preview of the web page or other
resource that corresponds to the link sent to the message recipient
by the message sender.
[0069] FIG. 7a is a flowchart of a process for generating a
surrogate representation of a second web page that is made
accessible by an embedded link in a web page currently in view. The
process begins by rendering a first web page (702). For example, a
web browser may render the first web page in response to a user
instruction to navigate to the first web page. Thereafter, in
response to determining that a second web page is made accessible
through an embedded link in the first web page (704), a surrogate
representation of the second web page is generated (706). In some
implementations, a web browser may determine that a second web page
is made accessible through an embedded link in the first web page
and then access a surrogate image library (either local or hosted)
to retrieve a surrogate image that is representative of the second
web page. Such surrogate images may not provide a preview of the
actual content available from the second web page. Rather, the
surrogate images may simply be representative of the content
available from the second web page. For example, there may be a
surrogate image that is representative of "news" web pages and a
surrogate image that is representative of "entertainment" web
pages. When a web browser determines that a web page made
accessible through an embedded link in a first web page is a "news"
web page, the web page may generate and display a surrogate image
that is representative of "news" web pages. Similarly, if a web
browser determines that a web page made accessible through an
embedded ink in a first web page is an "entertainment" web page,
the web page may generate and display a surrogate image that is
representative of "entertainment" web pages.
[0070] FIG. 7b is a flowchart of another process 710 for generating
a thumbnail image preview of a web page that is made accessible by
an embedded link in a web page currently in view that may be
performed by, for example, a web browser running on a client
computer. The process 700 begins by rendering a first web page
(712). In response to determining that a second web page is made
accessible through an embedded link in the first web page (714), a
request is sent for the second web page (716). Thereafter, the
second web page is received (718) and stored in local cache
(718).
[0071] One or more features of the second web page are then
identified as features to be scaled (722). For example, all of the
features (e.g., text, links, images, etc.) of the second web page
may be identified as features to be reduced in size. Alternatively,
some of the features of the second web page may be identified as
features to be amplified, or displayed more prominently, whereas
other features of the second web page may be identified as features
to be reduced in size. After identifying the one or more features
of the second web page to be scaled (722), a thumbnail image
preview of the second web page is generated by scaling (e.g.,
reducing and/or amplifying) the identified features (724).
Thereafter, the thumbnail image preview of the second web page is
displayed (726). For example, the thumbnail image preview may be
displayed in response to a triggering event (e.g., a "mouse over"
or other selection) or the thumbnail image preview may be displayed
upon generation of the thumbnail image preview.
[0072] FIG. 7c is a flowchart of another process 730 for generating
a thumbnail image preview of a web page that is made accessible by
an embedded link in a web page currently in view that may be
performed by, for example, a web browser running on a client
computer. The process 730 begins by rendering a first web page
(732). In response to determining that a second web page is made
accessible through an embedded link in the first web page (734), a
request is sent for the second web page (736). Thereafter, the
second web page is received (738) and stored in local cache
(740).
[0073] One or more features of the second web page are then
identified as features to be removed from the second web page
(742). For example, certain features may be identified as
extraneous features that are not necessary to provide a preview of
the content available on the second web page (e.g., advertisements
embedded within the second web page). Therefore, these features may
be identified as features to be removed from the second web page.
Additionally or alternatively, certain features may be identified
as features that will not reproduce well at a lower scale (e.g., a
high resolution image). Accordingly, such features may be
identified as features to be removed from the second web page.
After identifying the one or more features of the second web page
to be removed (742), a thumbnail image preview of the second web
page is generated by removing the identified features (744).
Thereafter, the thumbnail image preview of the second web page is
displayed (746). For example, the thumbnail image preview may be
displayed in response to a triggering event (e.g., a "mouse over"
or other selection) or the thumbnail image preview may be displayed
upon generation of the thumbnail image preview.
[0074] FIG. 7d is a flowchart of a process 750 for generating a
passive thumbnail image preview of a web page that is made
accessible by an embedded link in a web page currently in view and
for enabling a user to select the passive thumbnail image preview.
The process 750 may be performed by, for example, a web browser
running on a client computer.
[0075] The process 750 begins by rendering a first web page (752).
In response to determining that a second web page is made
accessible through an embedded link in the first web page (754),
the second web page is prefetched and stored in local cache (756).
Thereafter, a passive thumbnail image preview of the second web
page is generated and displayed (758). That is to say, a thumbnail
image preview of the second web page is generated in which links
and/or other controls that would otherwise be active and/or
selectable in the second web page are not active and/or selectable
in the thumbnail image preview. For example, the thumbnail image
preview may be a passive image of the second web page that is
generated in accordance with an image file format such as, for
example, a bitmap image file format, a jpeg image file format, a
jpeg2 image file format, a gif image file format, and a png image
file format.
[0076] In response to a determination that the thumbnail image
preview of the second web page has been selected (760), the second
web page is rendered from local cache (762). Otherwise, the process
750 returns to operation 758. In some implementations, a web
browser may determine that the thumbnail image preview has been
selected in response to, for example, a mouse click (e.g., left
mouse click) or a keystroke (e.g., Enter). Because the second web
page is rendered from local cache it may be accessed and rendered
more quickly than if it had to be fetched from a remote web
server.
[0077] FIG. 7e is a flowchart of a process 770 for generating an
active thumbnail image preview of a web page that is made
accessible by an embedded link in a web page currently in view and
for enabling a user to interact with active elements of the active
thumbnail image preview. The process 770 may be performed by, for
example, a web browser running on a client computer.
[0078] The process 770 begins by rendering a first web page (772).
In response to determining that a second web page is made
accessible through an embedded link in the first web page (774),
the second web page is prefetched and stored in local cache (776).
Thereafter, an active thumbnail image preview of the second web
page is generated and displayed (778). That is to say, a thumbnail
image preview of the second web page is generated in which links
and/or other controls that are active and/or selectable in the
previewed web page also are active and/or selectable.
[0079] In response to a determination that an active link in the
thumbnail image preview of the second web page has been selected
(780), the web page associated with the selected link is fetched
(782). Otherwise, the process 770 returns to operation 780. In some
implementations, the web page associated with the selected link may
be fetched from a remote web server. In other implementations, the
web page associated with the selected link may have been prefetched
by a web browser. Therefore, in such implementations, the web page
associated with the selected link may be fetched from local
cache.
[0080] A user may interact with an active thumbnail image preview
in other ways. For example, an active thumbnail image preview of a
web page that includes a field for entering a search query (e.g.,
http://search.aol.com) may enable a user to enter a search query
and perform a search via the active thumbnail image preview of the
web page.
[0081] FIG. 8 is an example of a GUI 800 of an instant messaging
application that illustrates the display of a thumbnail image
preview 802 of a web page corresponding to a link 804 sent to an
instant message recipient in an instant message 806 from an instant
message sender. As illustrated in FIG. 8, the GUI displays an
instant message 806 sent to an instant message recipient from an
instant message sender that includes a link 804 to a web page. In
response to receiving the instant message 806 with the link 804 to
the web page, the instant messaging recipient's instant messaging
application prefetches and generates a thumbnail image preview 802
of the web page, or a portion thereof, corresponding to the link
804.
[0082] As illustrated in FIG. 8, the thumbnail image preview 802
serves to supplement the link 804 to the web page and any textual
description of the web page provided by the instant message sender.
In some implementations, however, a thumbnail image preview of a
web page corresponding to a link received in an instant message may
replace, or otherwise supplant, the link itself in the instant
message.
[0083] In some implementations, the thumbnail image preview 804 may
be displayed at the same time as the instant message 806.
Alternatively, in other implementations, the thumbnail image
preview 802 may be displayed in response to a triggering event. For
example, the thumbnail image preview may be displayed in response
to a "mouse over" of the link 804 in the instant message 806.
[0084] In some implementations, an instant messaging server, or
another intermediary device, between the instant message sender and
the instant message recipient may prefetch and generate a thumbnail
image preview of a web page corresponding to a link sent to the
instant message recipient from the instant message sender in an
instant message. In such implementations, the instant messaging
server may associate the thumbnail image preview of the web page
with the instant message from the instant message sender before
delivering the instant message and the thumbnail image preview of
the link included in the instant message to the instant message
recipient.
[0085] FIG. 9a is flowchart of a process 900 for generating a
thumbnail image preview of a web page that is made accessible by a
link included in an instant message. The process may be performed
by, for example, an instant messaging client application running on
a client computer of an instant message recipient. The process 900
begins when an instant message is received (902). For example, an
instant message may be received from an instant message sender
directly or an instant message may be received from an instant
message sender indirectly via a hosted instant messaging system. In
response to determining that the instant message includes a link to
a web page (904), the web page corresponding to the link in the
instant message is fetched (906). In some implementations, the
fetched web page may be stored in local cache. Thereafter, a
thumbnail image preview of the web page is generated (908) and the
instant message and thumbnail image preview of the web page are
displayed (910).
[0086] FIG. 9b is a diagram of a process 920 for generating a
thumbnail image preview of a web page that is made accessible by a
link included in an instant message. The process 920 may be
performed by, for example, an instant message sender and one or
more of an instant messaging client application running on a client
computer of the instant message sender and a hosted instant
messaging system.
[0087] The process 920 begins when the instant message sender
generates an instant message including text and a link to a web
page via an instant messaging interface on the instant message
sender's client computer (922). The instant message sender then
sends the instant message by, for example, selecting a send control
presented to the instant message sender by the instant messaging
interface (924). Before the instant message is delivered to the
intended recipient, the instant message is received, or otherwise
intercepted, by an instant messaging client application running on
the instant message sender's client computer or a hosted instant
messaging system (926). In response to determining that the instant
message includes a link to a web page (928), the web page
corresponding to the link in the instant message is fetched (930)
and a thumbnail image preview of the web page is generated (932).
Thereafter, the thumbnail image preview is embedded within, or
otherwise attached to, the instant message (934), and the instant
message is sent to the intended recipient (936).
[0088] The systems and techniques described above are not limited
to any particular hardware or software configuration. Rather, they
may be implemented using hardware, software, or a combination of
both. In addition, the methods and processes described may be
implemented as computer programs that are executed on programmable
computers comprising at least one processor and at least one data
storage system. The computer programs may be implemented in a
high-level compiled or interpreted programming language, or,
additionally or alternatively, the computer programs may be
implemented in assembly or other lower level languages, if desired.
Such computer programs typically will be stored on computer-usable
storage media or devices (e.g., CD-Rom, RAM, or magnetic disk).
When read into a processor of a computer and executed, the
instructions of the programs may cause a programmable computer to
carry out the various operations described above.
[0089] A number of implementations have been described.
Nevertheless, it will be understood that various modifications may
be made. For example, useful results still may be achieved if steps
of the disclosed techniques are performed in a different order
and/or if components in the disclosed systems are combined in a
different manner and/or replaced or supplemented by other
components. Accordingly other implementations are within the scope
of the following claims.
* * * * *
References