This application generally relates to information search and retrieval. More specifically, this application relates to grouping, sharing, and using static representations of selected web pages.
Conventional web browsers, such as Internet Explorer, allow a user to bookmark links to web pages. The links are typically saved in nested folders, and the link to a given web page is identified by a title assigned to it either by the creator of the web page, or by the user. Although the user can create titles for different bookmark folders to make finding particular bookmarked (linked) web pages easier, a user wishing to view a particular page must rely on the titles given to the bookmarked web pages, often spread through several different folders, to find the title of the desired page. The text-based nature of this conventional bookmarking interface thus provides the user with only a limited amount of information for use in identifying which page is the one they want to view.
Such a limitation extends to the user's ability to share links of interest with others. For example, in Internet Explorer, if the user bookmarks a set of web pages about a certain topic, and wants to share those pages with others, the user can export the set of bookmarked web pages from the web browser into a file or other form of computer readable media, typically in the form of a stored web page. The user can then share this file or other form of computer readable media with others, e.g., via email. In the case of Internet Explore, the exported set of bookmarked web pages includes the titles of the bookmarked web pages and links to the pages. To view the exported bookmarked pages once shared, other users must sequentially click the links to the pages.
Social networking websites such as delicious are also text based, allowing a user to share a list of links to web pages of interest with others. Users can also share bookmarked web pages by copying links to those web pages into an e-mail to be sent to others. However, such social networking sites, like conventional web browsers, rely on text-based representation of the shared links, rather than graphical indications.
Given the drawbacks of conventional bookmarks, what is needed in the art are improved systems and methods for grouping links to selected webpages, and sharing and using such groups of links.
The shortcomings in the prior art are addressed. Groups of links to web pages are collected into albums. The albums are shared with other users. When an album is viewed, the actual web pages, or static graphic representations of the web pages, in the album are graphically presented. By sharing the contents of the web pages in an album in this way, rather than cryptic title information, relevant links in the album can be found faster and more easily than conventional methods.
In an advantageous application of the albums, the links to web pages are built using a document index or vertical collection index in which each web page or static graphic representation in the index or vertical collection has been categorized using classifiers and training document sets. Thus, when a user builds an album, the category of each web page or static graphic representation linked by the album is known. Albums themselves can therefore be categorized based on the category of the individual web pages or static graphic representations that are linked by the album. Directed advertising applications are therefore possible, in which advertisements or interactive widgets that provide an interactive advertisement are inserted into albums or served with albums when albums are viewed, shared, or edited.
A method of using the content of web pages to provide a user with additional information, the method comprises (i) obtaining an album of web pages, the album of web pages including references to a plurality of web pages, (ii) characterizing content of the web pages referred to in the album, (iii) based on the characterization, identifying a topic of interest to the user, (iv) displaying static representations of the web pages referred to in the album on a graphic output device, and (v) displaying additional information relating to the topic of interest on the graphic output device. In some embodiments, the album of web pages comprises a markup language document. In some embodiments, the markup language document comprises an entry for each web page referred to in the album, each entry comprising an Internet address for the corresponding web page. In some embodiments, the content of the web pages referred to in the album is characterized by identifying one or more vertical collections to which the web pages referred to in the album belong. In some embodiments, the content of the web pages referred to in the album is characterized based on a category of the album. In some embodiments, the category of the album is assigned based on user input. In some embodiments, the category of the album is assigned automatically based on a vertical collection to which a web page in the album belongs. In some embodiments, the content of the web pages referred to in the album is characterized based on a frequency of words used in the web pages. In some embodiments, the content of the web pages referred to in the album is characterized based on a popularity of a web page referred to in the album. In some embodiments, the displaying the additional information relating to the topic of interest comprises interleaving an image containing the additional information among the static representations of the web pages referred to in the album. In some embodiments, the displaying the additional information relating to the topic of interest comprises displaying an image containing the additional information behind the static representations of the web pages referred to in the album. In some embodiments, the displaying the additional information relating to the topic of interest comprises displaying text adjacent the static representations of the web pages referred to in the album. In some embodiments, the displaying the additional information relating to the topic of interest comprises displaying an album button representing an album pertaining to that topic. In some embodiments, the displaying the additional information relating to the topic of interest comprises displaying a widget pertaining to that topic. In some embodiments, the additional information relating to the topic of interest comprises an image of a web page pertaining to that topic. In some embodiments, the additional information relating to the topic of interest comprises an advertisement pertaining to that topic.
Another aspect provides a computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising instructions that encode and of the methods disclosed herein. Another aspect provides a computer, comprising a main memory and one or more processor; and one or more programs, stored in the main memory and executed by the one or more processor, wherein the one or more programs collectively including instructions for carrying out any of the methods disclosed herein.
Like reference numerals refer to corresponding parts throughout the several views of the drawings.
Embodiments of the invention provide systems and methods for visually grouping links to selected web page renderings or web sites into albums, and sharing and using such albums are provided.
Specifically, embodiments of the invention allow a user to visually aggregate or compile links to web pages and/or web page renderings into groups that are referred to herein as albums. In some embodiments, the album is displayed analogously to an album of pieces of paper, in which each respective displayed page of the album is for a corresponding link in the album and the respective page displays the static graphic representation of a web page or a web page referenced by the link. The user can create a plurality of albums, each containing one or more links to web pages and/or links to static graphic representations from web pages. In some embodiments, albums are categorized without human intervention according to the subject matter of the web pages and/or static graphic representations that the albums link. In some embodiments albums are categorized by anyone having read/write privileges to the album. The album pages can be reviewed by “flipping” through the different pages represented by the album. In some embodiments, the user can select a particular web page that is represented by static rendering in the album by selecting the static graphic representation.
Some embodiments of the invention allow the user to readily share such albums with others in a visual, intuitive format. For example, the user can share an album using an interface that generates an email, or other form of electronic form of communication such as a file, that includes a link to an album. The user can electronically share the link to one or more recipients (e.g., through E-mail, file sharing, etc.), typically over a network connection such as the Internet. The one or more recipients can view the album by using a web browser to open the link sent by the user. In another example of the distribution of an album, a user can post an album to a blog or other web page using an interface that, for example, embeds a link to the album within that blog or web page. The album is displayed to visitors to the blog or web page when they activate the link, allowing them to flip through the pages of the album. The shared albums are visual in nature thus facilitating the advantageous visual review of static graphic representations of web pages, or web pages linked by the album.
Some embodiments of the invention also use information about links to web pages or links to static graphic representations in an album in order to provide the album user with additional information that may be useful. For example, the album user may have grouped links to static graphic representations of web page into an album based on a particular subject, e.g., “cars.” This information can be used to provide the user with links to additional web pages that may be of interest to the user, and/or to provide targeted advertising to the user. For example, when a user has expressed an interest in cars, the user may find it helpful to be provided with links to additional popular web pages that relate to cars, or advertisements that relate to cars. Some different options for integrating such additional links and/or targeted advertising into albums being displayed to the user are described in greater detail below.
First methods and systems for generating, storing, displaying, and modifying albums will be described. Then, sharing albums over the Internet or other form of network will be described. Finally, using albums to provide users with additional information, such as directed advertisements will be described.
Systems and Methods for Generating, Storing, Displaying, and Modifying Albums
As noted above, an album may contain links to static graphic representations. In some embodiments, static graphic representations are generated using a web browser for which source code is available, such as MOZILLA® FIREFOX®, in which an extension is added that extracts a static graphic representation of a web page. Typically, such generation of a static graphic representation is performed as part of a generalized index of a large corpus of documents retrieved from the Internet, an internet, or some other defined set of documents. As used herein, a static graphic representation of a web page can be an image of the rendered web page at a given instant in time or a time averaged representation of the web page over a period of time (e.g., one second or more, ten seconds or more, a minute or more, two minutes or more, etc.). Thus, a static graphic representation fully encompasses dynamic web pages that include applets such as ticker tapes or other dynamic components that cause the representation of the web page to change over time. Any dynamic components in a web page can either be ignored when constructing the static graphic representation of the web page, averaged over a period of time when constructing the static graphic representation of the web page, or a snapshot of such dynamic components (e.g., snapshots) can be used for the purposes of constructing the static graphic representation of the web page.
Returning to
As described in greater detail below, in some embodiments it is advantageous to categorize an album, both so that the user can later readily recognize a common attribute of the static graphic representations and/or web pages linked by the album, and so that additional information based on such album content can be provided to the user. Accordingly, in some embodiments, the user selects the album category (1006), for example by designating a new category for the album, or otherwise indicating a desired category name for the category, to which the user wants to add the link selected in step 1004. In alternative embodiments, the album category is automatically selected (1008), for example, based on a predetermined category of the web page or static graphic representation that the user has indicated is to be added to the album.
In step 1010, a link to the selected static graphic representation of a web page or a web page is then added to the album of the category selected in alternative steps 1006/1008. In instances where such an album did not previously exist, a new album is created, and the link constitutes the only link in that album. Other static graphic representations can subsequently be added to the album. In instances where such an album did previously exist, the link is added to the list of links that is already in the album. An album can have any number of links to static graphic representations and/or links, for example, between 1 and 1,000,000, and all numbers in between. Advantageously, as described in further detail below, in preferred embodiments, only a link to the static graphic representation of a web page or a link to a web page is added to the album. The static graphic representations or web pages themselves are not stored in the album. In some embodiments the static graphic representations or web pages are stored in a controlled location on a computer system that is remote to the computer system being used by the user. In this way, a system administrator has control over the static graphic representations and web pages themselves. In some embodiments, the static graphic representations are stored in a controlled location but the web pages are in their native locations (URLs) in the Internet. As disclosed in further detail below, such embodiments provide unique advantages to the system administrator for purposes such as directed advertising in instances where the category of the album, or each of the static graphic representations or web pages linked to the album is known.
Continuing with
Specifically,
Server 178 is connected via Internet/network 126 to one or more client devices 100.
In some embodiments, memory 114 stores:
The optional search indexing features of server 178 are discussed below in the section entitled “Search engine embodiments.” In some embodiments, a static graphic representation of a web page is a bitmapped or pixmapped image of the web page. As used herein, a bitmap or pixmap is a type of memory organization or image file format or data structure used to store a digital image. A bitmap is a map of bits, a spatially mapped array of bits. Bitmaps and pixmaps refer to the similar concept of a spatially mapped array of pixels. Raster images in general may be referred to as bitmaps or pixmaps. In some embodiments, the term bitmap implies one bit per pixel, while a pixmap is used for images with multiple bits per pixel. One example of a bitmap is a specific format used in WINDOWS® that is usually named with the file extension of .BMP (or .DIB for device-independent bitmap). Besides BMP, other file formats that store literal bitmaps include InterLeaved Bitmap (ILBM), Portable Bitmap (PBM), X Bitmap (XBM), and Wireless Application Protocol Bitmap (WBMP). In addition to such uncompressed formats, as used herein, the term bitmap and pixmap refers to compressed formats. Examples of such bitmap formats include, but are not limited to, formats such as JPEG, TIFF, PNG, and GIF, to name just a few, in which the bitmap image, as opposed to the vector image, is stored in a compressed format. JPEG is usually lossy compression. TIFF is usually either uncompressed, or losslessly Lempel-Ziv-Welch compressed like GIF. PNG uses deflate lossless compression, another Lempel-Ziv variant. More disclosure on bitmap images is found in Foley, 1995, Computer Graphics: Principles and Practice, Addison-Wesley Professional, p. 13, ISBN 0201848406 as well as Pachghare, 2005, Comprehensive Computer Graphics: Including C++, Laxmi Publications, p. 93, ISBN 8170081858, each of which is hereby incorporated by reference herein in its entirety.
In typical uncompressed bitmaps, image pixels are generally stored with a color depth of 1, 4, 8, 16, 24, 32, 48, or 64 bits per pixel. Pixels of 8 bits and fewer can represent either grayscale or indexed color. An alpha channel, for transparency, may be stored in a separate bitmap, where it is similar to a grayscale bitmap, or in a fourth channel that, for example, converts 24-bit images to 32 bits per pixel. The bits representing the bitmap pixels may be packed or unpacked (spaced out to byte or word boundaries), depending on the format. Depending on the color depth, a pixel in the picture will occupy at least n/8 bytes, where n is the bit depth since 1 byte equals 8 bits. For an uncompressed, packed within rows, bitmap, such as is stored in Microsoft DIB or BMP file format, or in uncompressed TIFF format, the approximate size for a n-bit-per-pixel (2n colors) bitmap, in bytes, can be calculated as: size≈width×height×n/8, where height and width are given in pixels. In this formula, header size and color palette size, if any, are not included. Due to effects of row padding to align each row start to a storage unit boundary such as a word, additional bytes may be needed.
In some embodiments, the static graphic representation is generated using a web browser for which source code is available, such as MOZILLA® FIREFOX®. A static graphic representation of a web page can be an image of the rendered web page at a given instant in time or a time averaged representation of the web page over a period of time (e.g., one second or more, ten seconds or more, a minute or more, two minutes or more, etc.). Thus, a static graphic representation fully encompasses dynamic web pages that include applets such as ticker tapes or other dynamic components that cause the representation of the web page to change over time. Any dynamic components in a web page can either be ignored when constructing the word map for the document encoding the web page, averaged over a period of time, or a snapshot of such dynamic components (e.g., snapshots) can be used for the purposes of constructing the static graphic representation of the web page.
Referring to
In some embodiments, data in memory 14 can be seamlessly shared with non-volatile memory 20 using known computing techniques such as caching. In some embodiments the client device 100 does not have a magnetic disk storage device. For instance, in some embodiments, the client device 100 is a portable handheld computing device and network interface 10 communicates with Internet/network 126 by wireless means.
In some embodiments, memory 14 stores:
In some embodiments, the display module 36 is a plugin to the web browser 34. For example, in some embodiments, display module 36 is a plugin that relies on the ADOBE® Flash Player version 9 or equivalent functionality. Thus, in some embodiments, memory 14 further includes ADOBE® Flash Player version 9 or equivalent functionality (not shown). In some embodiments, albums created by several different users of the system depicted in
In some embodiments there are public albums 180 that can be viewed by everyone and there are private albums 180 that can only be viewed by select users or select programs. In some embodiments, all albums are public meaning that they can be viewed by everyone, but only the creator of the album can has edit privileges. These are all examples of access privileges 184 that are stored in the album 180 in some embodiments. In some embodiments, access privileges 184 specify who can review the album 180, add or delete “pages” in the album 180, share the album 180, print the album 180, delete the album 180, copy the album 180, and annotate album pages. In some embodiments, rather than having album privileges 184, there are multiple identifiers to a given album, where the actually identity of identifier indicates the access privileges. Thus, if a first identifier to a given album 180 is shared, the recipient of the identifier can only view the album 180, whereas if a second identifier to a given album 180 is shared, the recipient of the identifier has full privileges to the album 180, including the right to modify, share, print, delete, or copy the album. In preferred embodiments, all users have the right to share and copy an album 180 so that albums become widely distributed across a broad user group. As described herein, in some embodiments, to share an album 180, all that is required is to share the album 180 identifier with one or more recipients.
Advantageously, in some embodiments, albums 180 contain an edit history 186 that indicates the last date in which an album was edited. In some embodiments, edit history 186 is a comprehensive edit history that indicates (i) when each link to a web page or static graphic representation was added to the album, (ii) who added the link to the album, (iii) whether any links were deleted from the album and, if so, the links that were deleted, (iv) how many times the album has been accessed, (v) who has accessed the album, (vi) when was the last time the album was accessed, and/or (vii) how many times the album has been shared. Edit history 184 can contain any combination of such information or any other information that relates to the modifications or usage history of album 180.
In some embodiments, the creation date 188 of an album 180 is stored in the album. In some embodiments, the creation date 188 is not stored and in some embodiments the creation date is simply stored as edit history information 186. In some embodiments, based on one or more of the classifications 182 of an album 180, album edit history and/or usage history 186, creating date 188, an identity or characteristic of any combination of the web pages or static graphic representations linked by the album 180, or any other information associated with the album and/or stored in the album, selected advertisements are associated with the album 180. In some embodiments, these advertisements 190 are stored in the album 180 itself. In some embodiments, advertisements 190 are links to advertisements that are stored in a separate optional advertisement repository 156. In some embodiments, advertisements 190 are not stored in album 180 but rather, whenever an album is viewed some combination of on one or more of the classifications 182 of the album 180, the album edit history and/or usage history 186, the album creation date 188, an identity or characteristic of any combination of the web pages or static graphic representations linked by the album 180, or any other information associated with the album and/or stored in the album is sent to a software module (e.g., an advertisement module) in or electronically accessible to server 178 that manages advertisement repository 156. Based on the information sent to the software module one or more appropriate advertisements are pulled from the advertisement module 156 and either integrated directly into the album 180 as separate pages of the album or are displayed along with the album 180 when the album is being viewed (e.g., as background, as a side panel, in a pop-window etc.). In some embodiments the advertisement is an interactive widget, such as a query form for a retailer that allows a user to enter information, such as billing information, and order products. Thus, in some embodiments, advertisements 190 are temporarily integrated into an album and displayed only once. In other embodiments, advertisements 190 are integrated into an album and persist in the album for a finite number of views. For example in some embodiments, an advertisement 190 is integrated into an album without human intervention and persists in the album 180 until the page in the album 180 containing the advertisement has been viewed a predetermined number of times (e.g., between one and ten times, more than once, more than five times, more than 100 times) or by a predetermined number of different album recipients (e.g., between one and ten album recipients, more than one album recipient, more than five album recipients, more than 100 album recipients). In some embodiments, an advertisement 190 persists permanently within an album (either directly or as link to the album). In some embodiments, an advertisement 190 persists within an album (either directly or as link to the album) for a predetermined period of time (e.g., for an hour or less, between one and five hours, for ten hours or less, for a number of days, for a month or less, etc.).
In some embodiments, the amount of money paid by an advertiser to host an advertisement 190 in an album is a function of the popularity of an album 180 as determined by any kind of metric such as, for example, how often an album is shared, how many times the album has been shared, the classification 182 of the album, the characterization of any of the links contained in the album 182, an identify of the person that created the album, or simply based upon agreed upon price.
Continuing to refer to
An album contains one or more links 196, where each link 196 uniquely identifies a static graphic representation of a document such as a web page, or a static graphic representation of a document such as a web page. In some embodiments the source documents (e.g., web pages, static graphic representations, etc.) is stored or indexed by vertical index 138, vertical collections 144, document index 150 and/or document repository. In some embodiments an album 180 contains links to actual URLs on the Internet. In some embodiments, the characterization of each document referenced by an album 180 is known and such characterizations 198 are associated with their corresponding links in album 180 and stored in the album 180.
The interface 200 includes a text entry prompt 201, optional vertical collection buttons 202, an optional “search all” button 203, a plurality of static images of web pages 204, a central static image of a web page 205 which has an associated optional pop-up information bar 206, and optional controls for “preferences” 209 and web page image browsing 207.
The text entry prompt 201 allows the user to enter a query (here, the word “ipods”). The query can be a word, a portion of a word, or multiple words. As the user enters the text query, the interface 200 optionally displays vertical collection buttons 202 that represent the names of candidate vertical collections of static graphic representations indexed by the search engine. In some embodiments “vertical collection” of static graphic representations includes static graphic representations of web pages that relate to a common category. For example, static graphic representations of web pages pertaining to sailboats could constitute a “sailboat” vertical collection 144, and be represented by a sailboat-shaped vertical collection button 202 in interface 200. Static graphic representations of web pages pertaining to car racing could constitute a “car racing” vertical collection 144, and be represented by a car-shaped vertical collection button 202 in interface 200. For further details on exemplary systems and methods for generating candidate vertical collections 144, and for searching indexed web pages based on selected vertical collections 144, see U.S. Patent Publication No. 2007/0244863, filed Apr. 13, 2006 and entitled “Systems and Methods for Performing Searches within Vertical Domains,” the entire contents of which are hereby incorporated by reference herein.
As the user enters the query into text entry prompt 201 (e.g., enters a portion of a word), the search engine returns vertical collection buttons 202 that match the query. As described in U.S. 2007/0244863, in some embodiments, as additional characters of the query are entered, the search engine can change which vertical collection buttons 202 are displayed, as the user's query changes (e.g., as the user enters additional characters into the text entry prompt). The user can select one of the vertical collection buttons 202 and proceed to search the corresponding vertical collection based on the query. Alternatively, the user can select the “search all” button 203 to search a document index that represents the entire Internet, or an intranet, using the query. In some embodiments, there are no vertically collection buttons 202 displayed, and the user can simply press a predetermined key, such as carriage return, or some logical equivalent, and thus search static graphic representations of documents in a document index 150 that represents the entire Internet, intranet, or some other distributed set of documents. As used herein a document index 150 represents the entire Internet when documents were pulled from more than 100 locations, or more than 1000 locations, or more than 1 million locations, or more than 1 billion locations on the Internet, an intranet, or some set of documents distributed amongst a plurality of computers, e.g., more than 10, or more than 100 computers.
The central displayed hit 205 optionally includes annotation box 206. The annotation box 206 includes the title of the hit (e.g., “Apple-iPod”), a selection of words within the document from which the hit 205 was built that relate to the user's query (e.g., “Apple web site, iPods, iPod nano, iPod classic, iPod touch, iPod shuffle”), and a link to the document from which the hit 205 was built. The annotation box 206 also includes an add album button 208, illustrated by a small icon of an album in
As illustrated in
Based on the user input, the interface adds the requested link 196 to the appropriate album 180 (here, “ipod gadgets,” based on user selection of the pre-existing album). In other embodiments (not illustrated) the interface 220 automatically adds the link 196 to the selected static graphic representation to an album having the same name as the vertical collection 144 the user selected when entering the query. In still other embodiments (not illustrated) the interface 220 automatically determines the name of an album 180 to which to add the link to the selected hit 205. For example, in some embodiments, the interface 220 adds the link 196 to the hit 205 to an album 180 having a name the user's search query, or may add the link 196 to the hit to an album 180 having a name based on the content of the hit (e.g., terms that occur in the hit).
The user can add links 196 to an album 180 and/or create an album 180 using interfaces other than the interface 220 illustrated in
In some embodiments, display module 36 is a toolbar is added to a conventional web browser 34, such as Internet Explorer, that provides some or all of the above-described functionality without any requirement for a specialized interface. The toolbar contains an input feature, such as a button, allowing a user to add a static graphic representation, web site, or any other document that is index by a URL or equivalent address, which is currently displayed, to an album. Activation of the interface sends a link 196 of the static graphic representation, web site, or equivalent document to the album 180 selected for the user. The album itself, comprising links 196, may be on a remote server, such as the server 178 illustrated in
In some embodiments, an album 180 is stored as computer readable code (e.g., an extensible markup language document) that contains links 196 to the static graphic representations, web sites, or other documents linked to the album 180 and optionally instructions for displaying such documents. When the computer readable code is selected, e.g., by clicking an icon 192 that links to a document containing the computer readable code of the album uniquely associated with the icon 192, the album pages, where each page of the album is the document associated with a link 196 within the album 180, is displayed to the user. In some embodiments, computer readable code that contains a subset of the information in an album is generated. For example, in some embodiments, only core information in an album 180 stored in album repository 154 is placed in a computer readable file that is external to the stored album. Such core information can be, for example, the name of the album, the links 196 in the album, and the album identifier. This computer readable file is then shared with other users. When other uses access the computer readable file, a record of such access is optionally recorded in the usage history record 186. In some embodiments, the entire album, including any combination of the elements of an album 180 described above in conjunction with
Advantageously, in the embodiment illustrated in
While, in the embodiment illustrated in
In the embodiment illustrated in
Of course, there is no requirement that albums 180 be stored in the format illustrated in
Regardless of the form used to store the album 180, the album itself can be stored locally, e.g., on the user's computer, or remotely, e.g., on the server 176 running the search engine 136. In typically embodiments each respective link 196 in an album 180 contains the full address or other form of identifier that is sufficient to retrieve the document identified by the respective link 196 from a remote computer. As defined herein, a “remote computer” is any computer other than the computer 100 used by a user to browse a network. The remote computer can be right next to the computer 100 and electronically connected to the computer 100, but is more typically located in another building and is accessible to computer 100 by the Internet or some other wide area network. A user can have any number of albums 180, e.g., one or more albums 180, more than ten albums 180, or more than 100 albums 180, each of which can, independently be stored locally or remotely.
Users can view, edit, and share visually grouped albums 180. A user can browse through pages in an album via an interface that presents the user with the album without requiring the user to click on the links 196 contained within the album that are the source of the album pages.
Optionally, in some embodiments, in response to user input (e.g., selection of a page), the page is replaced with a live version of the page from the source web page used to build the page. In some circumstances, the live version of the web page may have been updated after the page was rendered and stored in the document repository 152. In such instances, replacement of the page with the corresponding live version of the source web page used to build the page in response to user input will potentially result in different content being displayed. In some embodiments, the interface can provide the user with information about the date that the page was rendered and/or the date that the live version of the page was most recently updated. In some embodiments, the feature of providing a live web version of the static graphic representation is not offered. In some embodiments, one or more pages of the album are live versions of web pages that are retrieved from the Internet during step 430.
Interface 500 includes an album browsing interface 530 that allows a user to select an album 180 to view, edit, or share. The interface includes a plurality of album buttons 531 that represent different albums. Each album button includes the name of the album 532, an icon representing the album 534, which optionally schematically illustrates the size of the album, and a value 536 representative of how many links 196 are in the album. When the user has more albums than can be presented at a single time within album browsing interface 530, arrows 538 are displayed that allows the user to scroll through the icons of the albums 180. In some embodiments, each album icon 192 is a link to a data structure (e.g., a file containing XML close) that contains the album 180.
As illustrated in
As illustrated in
As illustrated in
The interface 500 displays the pages of the selected album similarly to the way that interface 200 described above displays search hits. The interface 500 displays a plurality of pages, where each page is the document (e.g., web page, static graphic representation of a web page, etc.) referenced by the links 196 of the selected album (here, “ipod gadgets”). A central page 555 is displayed at a center position in the interface 500, while the other pages 554 are displayed in perspective view, analogously to pieces of paper in an album, at off-center positions and optionally at reduced size. The user can browse through the pages, as above. In some embodiments, when the user selects the central page 555 (e.g., by clicking on the page 555), the interface replaces the page 555 with a “live” version of a web page retrieved from the URL corresponding to the page. The visual grouping of pages into the album thus allows the user to readily view, apprehend, and browse the content of the pages in the album.
The interface 500 also allows a user to modify the contents of the displayed album. For example, in the illustrated embodiment, the annotation box 506 includes position control 561 that allows the user to change the position of the pages 555 (“Apple-ipod”) to other positions in the album, and thus the order of the links 196 that correspond to the pages. For example, the document address by a link 196 that is at position “1” in an album 180, is first document as a page when the user selects this album to view. The user can use the position control 561, e.g., the up and down arrows or the text entry box, to modify the order in which that page is displayed relative to the other pages 554 in the album. In some embodiments, use of the position control 561 modifies the rank 305 of the corresponding link 196 within an XML document, as illustrated in
In some embodiments (not illustrated) the interface 500 allows the user to search for pages within the displayed album. For example, the interface can accept a query at the text entry prompt and display a “search this album” button that allows the user to search only within that album. In such embodiments, referring to
As illustrated in
Selection of “Copy to clipboard . . . ” 572 copies the contents of an album to the clipboard. When an album is copied to the clipboard, the links 192 in the album, at a minimum, are copied to the clipboard. For example, consider the case where the album has the format illustrated in
Selection of “Publish icon & link” 573 generates a representation of the album 180 that is the same as that described above for “Email . . . ,” but instead of inserting the representation of the album into an email, the interface publishes the representation of the album on a web page. In one example, after selecting “Publish icon & link,” the user inputs a web page, such as the user's blog, onto which the representation of the album is to be published. The representation of the album (e.g., icon 192) is then inserted into the web page, optionally at a location defined by further user input.
Selection of “Publish Flash file . . . ” 574 generates a graphic file that contains the documents linked by the album 180 along with their associated links, and that accepts user input to browse among the images and/or to launch a live version of a web page by selecting the corresponding static graphic representation. The user can post the file to a web page, email the file to other users, or share the file by any other suitable format. In some embodiments, the file generates an interface that looks similar to that shown in
Optionally, shared albums can be modified by other users and stored under the same category or under a new category. For example, the user can designate an album as “public” (e.g., viewable and/or modifiable by others), or as “private” (e.g., only viewable and modifiable by the user).
In general, each page of an album has some type of content, and users tend to group such pages based on related content. Thus, an album 180 can be thought of as an accumulation of content that is likely related (noting, of course, that in most embodiments there are no constraints on the contents of documents that are linked to any given album). In some embodiments, the content of an album is used to provide the user with additional information that may be of interest, based on the content. Such additional information can be in the form, for example, of an additional web page, or an advertisement for a product or service, that may be of interest to the user because it relates to the content of the album.
The content of an album can be characterized, and topics of interest to the user identified, in many different ways. For example, as noted above, web pages can be associated with “vertical collections” that contain related content. By extension, an album can be associated with one or more vertical collections, depending on the associations of the web pages or static graphic representations of web pages linked by album. In one example, a user may create an album of category “ipod gadgets,” and may add links to the album, some or all of which relate to iPods and are in an “electronics” vertical collection. Information about the vertical collections, if any, with which the links in the album are associated, can be stored in the album. Using the XML example in
In one simple example, the content of an album is characterized based on the classification (category) 182 of the album and/or the characterization 198 of any of the links 196 of the album 180. As noted above, the classification 182 of the album can be assigned by the user, or can be automatically assigned, e.g., based on the vertical collection 144 to which the links 196 in the album 180 belong. The album classification 182 can be assumed to represent a topic of interest to the user, and additional information relating to that topic of interest can be provided to the user.
The content of an album can also be characterized by analyzing the frequency of words that occur within documents linked to the album 180. Words that occur the most frequently in such linked documents and that are meaningful (e.g., not articles such as “the” or “and”) can be assumed to relate to topics of interest to the user. Additional information relating to that topic of interest can be provided to the user.
The popularity of links 196 within an album 180 can also be used to identify topics of potential interest to the user. If a link 180 in an album is particularly popular, e.g., that many other web pages link to the web page from which the album page was created, that page in the album can be assumed to relate to content of interest to the user. Additional information relating to that topic of interest can be provided to the user.
In some embodiments, the content of more than one album is characterized in order to identify topics that are of interest to the user. For example, links 196 can be added to more than one album. A given album can include information about the identity of the other albums that contain pages identical to or similar to the pages in the given album. Based on the information about the different types of albums of interest to the user, and about the frequencies of links 196 within those albums, topics of potential interest to the user can be identified based on the albums of the most apparent interest to the user. Additional information relating to those topics of interest can be provided to the user.
There are many suitable ways to display additional information, such as other static graphic representations, web pages and/or advertisements of potential interest, to the user. In some embodiments, images of other web pages, static graphic representations, and/or advertisements can be interleaved among the images in the album that the user is viewing. As the user browses through the album pages, another web page, static graphic representation, and/or advertisement is occasionally shifted into the central region of the interface. In some embodiments, an advertisement can be displayed as a background against which the album can be viewed. For example, if the user is viewing an album of category “travel” or if traveling is otherwise identified as being a topic of interest to the user, a graphic for a travel agency and/or words advertising the travel agency can be displayed in the background. In other embodiments, “branded” album buttons can be displayed to the user, e.g., interspersed among the album buttons 226 illustrated in
The additional static graphic representations, web pages and/or advertisements can be prepared in advance (e.g., images of them obtained), stored locally or remotely, and pre-associated with particular topics. Then, if a topic is identified as being of interest to the user, an appropriate web page and/or advertisement can be obtained and displayed to the user. Text-based advertisements can also be displayed to the user. For example, text-based ads can be stored locally or remotely, and pre-associated with particular topics. For example, in some embodiments such advertisements are provided by advertisement repository 156. Then, if a topic is identified as being of interest to the user, an appropriate text-based advertisement can be displayed to the user, e.g., adjacent the album information area 580 illustrated
Data feeds or “widgets” can also be displayed to the user. For example, widgets can be stored locally or remotely, and pre-associated with particular topics. Then, if a topic is identified as being of interest to the user, the widget can be loaded into the interface (e.g., interface 500 of
Additional information, such as the additional web pages, static graphic representations, and/or advertisements described above, can also be displayed to the user while the user is viewing the results of a web search. For example, topics of interest to the user can be identified based on the web searches the user executes.
Referring to
Regardless of search engine type, a document index 150 is constructed in order to provide the optional search engine capability. In some embodiments, a document index 150 is constructed by scanning documents on the Internet and/or intranet for relevant search terms. An exemplary document index 150 is illustrated below:
In some embodiments, the document index 150 is constructed by conventional indexing techniques. Exemplary indexing techniques are disclosed in, for example, U.S. Patent Publication No. 2006/0031195, which is hereby incorporated by reference herein in its entirety.
By way of illustration, in some embodiments, a given term may be associated with a particular document when the term appears more than a threshold number of times in the document. In some embodiments, a given term may be associated with a particular document when the term achieves more than a threshold score. Criteria that can be used to score a document relative to a candidate term include, but are not limited to, (i) a number of times the candidate term appears in an upper portion of the document, (ii) a normalized average position of the candidate term within the document, (iii) a number of characters in the candidate term, and/or (iv) a number of times the document is referenced by other documents. High scoring documents are associated with the term. In some embodiments, document index 150 stores the list of terms, a document identifier uniquely identifying each document associated with terms in the list of terms and, optionally, the scores of these documents. In some embodiments, the document identifier uniquely identifying each document is a uniform resource location (URL) or a value or number that represents a uniform resource location (URL). Those of skill in the art will appreciate that there are numerous methods for associating terms with documents in order to build document index 150 and all such methods can be used to construct document index 150 of the present invention.
There is no limit to the number of terms that may be present in document index 150. Moreover, there is no limit on the number of documents that can be associated with each term in document index 150. For example, in some embodiments, between zero and 100 documents are associated with a search term, between zero and 1000 documents are associated with a search term, between zero and 10,000 documents are associated with a search term, or more than 10,000 documents are associated with a search term within document index 150. Moreover, there is no limit on the number of search terms to which a given document can be associated. For example, in some embodiments, a given document is associated with between zero and 10 search terms, or between zero and 100 search terms, or between zero and 1000 search terms, or between zero and 10,000 search terms, or more than 10,000 search terms.
In the context of this application, documents are understood to be any type of media that can be indexed and retrieved by a search engine, provided that such documents code for a unique web page that is available on the Internet. Thus, there is a one-to-one correspondence between a document and a unique web page available on the Internet. A document may code for one or more web pages as appropriate to its content and type. There are many documents indexed. Typically, there are more than one hundred thousand documents, or more than one million documents, or more than one billion documents, or even more than one trillion documents present in document index 150.
In some embodiments, for each document referenced by document index 150, search engine server 178 stores or can electronically retrieve (i) the source document or a document identifier 146 (document reference) that can be used to retrieve the source document, (ii) a static graphic representation 148 of the source document, and (iii) optionally key words contained within the document or a title of the document. In some embodiments, for each document referenced by document index 150, search engine server 178 stores or can electronically retrieve the source document or a document identifier 146 (document reference) that can be used to retrieve the source document. In some embodiments, the document identifier 146 is stored in document index 150 while a static graphic representation 148 of the source document is stored in document repository 152. In some embodiments, the document identifier 146 and the static graphic representation 148 of each source document tracked by server 178 is stored in document index 150. In some embodiments, the document identifier 146 and the static graphic representation 148 of each source document tracked by server 178 is stored in document repository 152. It will be appreciated that the document identifiers 146 and the static graphic representations 148 may be stored in any number of different ways, either in the same data structure or in different data structures within server 178 or in computer readable memory or media that is accessible to server 178.
In some embodiments, vertical collections 144 are used. Vertical collections 140 are constructed using documents in document index 150 that pertain to a particular category. For example, one vertical collection 144 may be constructed from documents indexed by document index 150 that pertain to movies, another vertical collection 144 may be constructed from documents indexed by document index 150 that pertain to sports, and so forth. Vertical collections 144 can be constructed, merged, or split in a relatively straightforward manner. In some embodiments, there are hundreds of vertical collections 144 set up in this manner. In some embodiments, there are thousands of vertical collections 144 set up in this manner.
Once the document index 150 has been constructed, it is possible to construct the vertical index 138 in embodiments that make use of vertical collections. To accomplish this, in some embodiments, each vertical collection 450 is inverted. In some embodiments, each vertical collection 144 has the form:
In some embodiments, each DocId in the vertical collection 144 further includes a document quality score. Inversion of each of the vertical collections 144 and the merging of each of these inverted vertical collections leads to an inverted document-vertical index having the following data structure:
Thus, for each given document in document index 150, a list of vertical collections 144 associated with the given document can be obtained by taking the associated vertical collections for the given document from the inverted vertical collection. There can be several vertical collections 144 associated with any given document in this manner. Further, there is no requirement that each document be associated with a unique set of vertical collections 144.
Thus, as seen above, with the inverted document-vertical index, it is possible to create a vertical index 138 by substituting the document identifiers in document index 150 with the corresponding vertical collections associated with such document identifiers as set forth in the inverted document-vertical index. In one approach, this is done by scanning the document index 150 on a termwise basis, and collecting the set of vertical collections 144 that are associated with the documents that are, themselves, associated with each term as set forth in the inverted document-vertical index. For example, consider a term 1 in the exemplary document index 150 presented above. According to document index 150, term 1 is associated with docID1a, . . . , docID1x. Thus, for each respective docIDi in the set docID1a, . . . , docID1x, the inverted document-vertical index is consulted to determine which vertical collections 144 are associated with the respective docIDi. Each of these vertical collections 144 are then associated with term 1 in order to construct a vertical index list 140 for term 1. Thus, starting with the entry for term 1 in document index 150,
the set of vertical collections associated with docID1a, . . . , docID1x are collected from the inverted document-vertical index in order to construct the vertical index list 140:
where each of V1, V2, . . . , VN is a vertical collection identifier that points to a unique vertical collection 144. This data structure is a vertical index list 140. As illustrated, a vertical index list 140 is a list of vertical collection identifiers of vertical collections 144 sharing a definable attribute (e.g., “term 1”). If term 1 was “vacation,” than vertical index list 140 contains the identifiers of the vertical collections 144 holding documents containing the word “vacation.” The predicate defining the list, “term 1” in the above example, is referred to as the “head term.”
By considering all the terms in a collection of terms, vertical index 138 is constructed. There may be a large number of terms in the collection of terms. Vertical index 138 includes vertical index lists 140, along with an efficient process for locating and returning the vertical index list 140 corresponding to a given attribute (search term). For example, a vertical index 138 can be defined containing vertical index lists 140 for all the words appearing in a collection. Vertical index 138 stores, for each given word in the collection, a vertical index list 140 of those vertical collections 144. Each such vertical collection 144 in the vertical index list 140 for the given word holds at least some documents containing the given word.
Referring to
Steps for constructing a vertical index 138 have been detailed above. The vertical index 138 includes, for each respective head term in a collection of head terms, the list of vertical collections 144 having documents that contain the respective head term. To optimize vertical index 138, additional steps are taken in some embodiments to rank each vertical collection 144 referenced in each respective vertical index list 140 so that only the most significant vertical collections 144 are returned for any given search query. Methods for ranking vertical collections are disclosed in United States Patent Publication Number 2007/0244863 which is hereby incorporated by reference herein in its entirety.
For further details on exemplary browser functionality that may be used to locate web pages or static graphic representations of web pages, see U.S. Patent Publication Nos. 2007/0244863 and 2007/0244862, the entire contents of each of which are hereby incorporated by reference herein; and U.S. patent application Ser. Nos. 11/983,629, 12/045,685, 12/045,691, and 12/045,696, the entire contents of each of which are hereby incorporated by reference herein.
As illustrated in
In some embodiments, responsive to a selection of the page at position 580-1, the page at position 580-1 is shifted from the first off-center position 580-1 to the center position 570. Further, the page in the center position 570 in
Just as pages can be shifted from the first off-center position 580, to the center position 570, and then to the second off-center position 590, the reverse is also true. When a user clicks on any page occupying the second off-center positions 590, the page occupying the second off-center position 590-1 is shifted to the center position 570 and the page formerly occupying the center position 570 is shifted to the first off-center position 580-1. Thus, in the above-identified manner, a user can easily view the pages of an album 180 in a seamless and efficient manner.
In some embodiments, responsive to a selection of the page occupying the center position 570 of the graphic output device 6, the size of the page is enlarged. For instance, in some embodiments, the page is enlarged by at least 10 percent, at least 20 percent, at least 30 percent, or at least 100 percent. Furthermore, responsive to a selection of a portion of the graphic output device 6 outside of the page occupying the center position 570 while it is in its enlarged state, the size of the page is reduced back to the original size that it was before it was enlarged.
In some embodiments, responsive to a selection of the page occupying the center position 570, a web page impression from the source document of the page is retrieved. In other words, a “live” version of the document obtained from the URL or other address where the document corresponding to the page was found is obtained and used to replace the page.
As illustrated in
Referring to
Referring to
The instructions comprise instructions for accessing a document repository 152 comprising a plurality of documents. The document repository 152 can be stored by computer 178 and/or accessible to the computer over network 126.
The instructions further comprise instructions for accessing an album repository 154 comprising a plurality of albums 154. The album repository can be stored by computer 178 and/or accessible to the album repository 154 over network 126. Each album 178 in the plurality of albums comprises a plurality of links 198. A first link in the plurality of links in a respective album 180 in the plurality of albums uniquely identifies and localizes a first document in the plurality of documents in the document repository 152. That is, by using the first link the first document in the document repository 152 can be localized.
The instructions further comprise instructions for accessing a display module 36 on a first remote computer 100, wherein the display module 36 comprises (i) instructions for using one or more links 196 in the plurality of links in a respective album 180 in the plurality of albums to obtain a corresponding two or more documents in the plurality of documents in the document repository 152 and (ii) instructions for displaying the contents of the two or more documents, and wherein the first remote computer 100 is in electronic communication with the memory (114/120) of the computer 178
The instructions further comprise instructions for implementing an interactive method. The interactive method comprises receiving a first request, from a remote second computer, for the first document in the plurality of documents in the document repository 152, where the second remote computer is in electronic communication with the memory (114/120) of the computer 100. This remote second computer can be another instance of a computer 100 illustrated in
In some embodiments, the first document in the plurality of documents in the document repository 152 is a static graphic representation of a web page. In some embodiments, the first album further comprises an access privilege 184 and the sending (vi) comprises determining whether the album recipient has access privileges to the first album 180, wherein, (a) when the album recipient has access privileges, the computer readable instructions based on the content of the first album are sent to the first remote computer in response to the third request, and (b) when the album recipient does not have access privileges, the computer readable instructions based on the content of the first album are not sent to the first remote computer in response to the third request. In some embodiments, the first album further comprises an edit history and wherein the storing (iv) comprises updating the edit history to reflect when the link to the first document is stored in the first album.
In some embodiments, the first document in the plurality of documents in the document repository has been categorized by a classifier into a category and the category of the first document is stored with the first document in the document repository (e.g., as a characterization of a link 198).
In some embodiments, the computer 178 further comprises instructions for accessing an advertisement repository 156 comprising a plurality of advertisements. The advertisement repository 156 can be stored on the computer 178 or be accessible by the computer 178. In some such embodiments, the above-described storing of a first album comprises storing a link in the first album to an advertisement in the advertisement repository 156 that is selected from the plurality of advertisements based on a category of the first document. In some embodiments, this link to the advertisement is sent to the first remote computer as part of the computer readable instructions in the above-described sending step. In some embodiments the advertisement is an image or an interactive form.
In some embodiments, the computer 178 further comprises instructions for accessing an advertisement repository 156 comprising a plurality of advertisements. The advertisement repository 156 can be stored on the computer 178 or be accessible by the computer 178. In some such embodiments, the above-described storing of a first album comprises storing in the first album an advertisement in the advertisement repository 156 that is selected from the plurality of advertisements based on a category of the first document. In some embodiments, this advertisement is sent to the first remote computer as part of the computer readable instructions in the above-described sending step. In some embodiments the advertisement is an image or an interactive form.
In some embodiments, the document repository referenced above is not the document repository 152 but rather is, in fact, a vertical collection 144 and the category of the first document is the category associated with the vertical collection 144. In some embodiments, the first document is a web page and the link to the first document that is stored in the first alum is a uniform resource location of the web page in the Internet.
In some embodiments, the computer readable instructions sent to the first remote computer comprise an album icon 192 that links to the first album in the album repository 154, wherein the album icon is stored in the first album in the album repository. Further, the computer 178 comprises, in such embodiments, instructions for receiving a fourth request from the album recipient to review the first album after the album icon was sent to the first remote computer and instructions for sending each link in the plurality of links in the first album to the first remote computer for display by the display module 36 (typically in conjunction with web browser 34) in response to the fourth request. In some embodiments, the computer readable instructions sent to the first remote computer further comprises a sound effect 194 stored in a computer readable sound effect file that is configured to be played on the first remote computer, where the computer readable sound effect file is stored in the first album in the album repository.
In some embodiments, the first album in the album repository 154 further comprises an album classification 182. The album classification of the first album can be derived from a classification (characterization) 198 of one or more documents in the document repository 152 that are linked to the first album by the plurality of links 196 in the first album. In some such embodiments, the computer 178 further comprises instructions for accessing an advertisement repository 156 comprising a plurality of advertisements. Further, the above-described storing step comprises storing a link in the first album to an advertisement in the advertisement repository 156 that is selected from the plurality of advertisements based on the classification of the first album and the computer readable instructions sent to the first remote computer comprise the link to the advertisement. In some embodiments the advertisement is an image or an interactive form.
In some embodiments, the first album in the album repository 154 further comprises an album classification 182. The album classification of the first album can be derived from a classification (characterization) 198 of one or more documents in the document repository 152 that are linked to the first album by the plurality of links 196 in the first album. In some such embodiments, the computer 178 further comprises instructions for accessing an advertisement repository 156 comprising a plurality of advertisements. Further, the above-described storing step comprises storing in the first album an advertisement in the advertisement repository 156 that is selected from the plurality of advertisements based on the classification of the first album and the computer readable instructions sent to the first remote computer comprise the link to the advertisement. In some embodiments the advertisement is an image or an interactive form.
Another aspect of the invention provides method comprising receiving a first request, from a remote first computer, for a first document in a plurality of documents in a document repository. The first document is obtained from the document repository. The first document is sent to the first remote computer, in response to the first request. A second request is received from the first remote computer, after the first request, to add a link to the first document to a first album in a plurality of albums in an album repository. The link to the first document is stored in the first album in the album repository in response to the second request, where each album in the plurality of albums in the album repository comprises a plurality of links, and where the first link in the first album uniquely identifies and localizes the first document in the document repository. A third request is received from the first remote computer to share the first album with an album recipient associated with a second remote computer. Computer readable instructions based on the content of the first album stored in the album repository are sent to the second remote computer in response to the third request, where the computer readable instructions are configured to be parsed by the second remote computer so that a display module on the second remote computer can display the contents of two or more documents in the document repository that are linked to the first album. In some embodiments, the first document is a static graphic representation of a web page obtained from the Internet during a web crawl.
In some embodiments the first album further comprises an access privilege 184 and the sending comprises determining whether the album recipient has access privileges to first album, where (a) when the album recipient has access privileges, the computer readable instructions based on the content of the first album are sent to the second remote computer in response to the third request and (b) when the album recipient does not have access privileges, the computer readable instructions based on the content of the first album are not sent to the second remote computer in response to the third request.
In some embodiments, the first album further comprises an edit history and the storing comprises updating the edit history to reflect when the link to the first document is stored in the first album. In some embodiments, the first document in the plurality of documents in the document repository has been categorized by a classifier into a category and the category of the first document is stored with the first document in the document repository. In such embodiments the storing comprises storing the category of the first document with the link to the first document in the first album. In some embodiments, the storing comprises storing a link to an advertisement in an advertisement repository, which is selected from a plurality of advertisements in the advertisement repository based on a category of the first document, in the first album. In such embodiments, the computer readable instructions further comprise the link to the advertisement. In some embodiments the storing comprises storing an advertisement in an advertisement repository, which is selected from a plurality of advertisements in the advertisement repository based on a classification of the first album, in the first album and the computer readable instructions in the sending step further comprise the advertisement. In some embodiments, the advertisement is an image or an interactive form.
All references cited herein are incorporated herein by reference in their entirety and for all purposes to the same extent as if each individual publication or patent or patent application was specifically and individually indicated to be incorporated by reference in its entirety for all purposes.
The systems and methods described herein can be implemented as a computer program product that includes a computer program mechanism embedded in a computer readable storage medium. For example, the computer program product can contain the program modules shown in
Although the above-described embodiments include albums in which static rendered images of web pages are displayed, and in which a user can access a “live” version of a web page by selecting its corresponding image, in other embodiments the albums directly include live versions of web pages.
Many modifications and variations of this invention can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. The specific embodiments described herein are offered by way of example only. The embodiments were chosen and described in order to explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. The invention is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled.