1. Field of the Invention
Implementations described herein relate generally to displaying data and, more particularly, to displaying compact and expanded versions of data items.
2. Description of Related Art
Many web pages (e.g., Google web search page) display summary lists of information containing short descriptions and pointers to underlying information. For example the ads displayed on the right side of a Google search page include a vertical list of individual ads, each ad containing a title, a short text creative, and a Uniform Resource Locator (URL) as well as a link to the ad's landing page. Search results are similarly displayed in a vertical list of items, each containing a title, a snippet, a URL, and some other information. Each item links to a web page. In e-mail applications (e.g., Google Gmail), e-mails may be displayed one per line listing the sender, the subject line, and a time. Each line is a pointer to the underlying e-mail.
When deciding what to display in a summary list, there is a tension between the amount of space to display each item's information and the extent of the item's summary. Larger summaries are frequently more useful to users but require more display space and, thus, fewer items can be shown. Recent ad evaluations, for example, have shown that users perceive ads as having higher quality if longer creatives are displayed, but longer creatives increase the size of the ads, thus, possibly redoing the total number of ads that can be displayed, or cluttering the results page.
According to a further aspect, a method may include searching a corpus of documents based on a search query to identify first and second documents that match the search query. The method may further include extracting a first snippet of content from the first document, extracting a second snippet of content from the second document and generating a search result document that includes the first and second snippets. The method may also include designating a first portion of the first snippet that can be displayed in a user interface that will visually render the search result document and designating a second portion of the first snippet that should not have any visual indication or reference in the user interface that will visually render the search result document unless the first snippet is selected by a user via the user interface.
According to an additional aspect, a method may include sending a search query to a search engine and receiving from the search engine, responsive to the search query, a document comprising a first search result less than an entirety of the first search result item and comprises the second search result item, where the portion is visually rendered in a region of the document, and receiving a selection of the first search result item from a user. The method may also included visually expanding the region of the document to a size sufficient to render an entirety of the first search result item based on the selection and visually rendering the entirety of the first search result item within the expanded region of the document.
According to a further aspect, a method may include visually displaying data within a data item in a document, where the data item includes elided data not visually displayed in the document. The method may also include receiving a selection of the data item from a user and removing the visually displayed data within the data item and placing an animation object within the data item based on the selection of the data item, The method may further include animating the animation object such that it expands to fill a space in the document sufficient to visually display the data and the elided data and removing the animation object and visually displaying the data and the elided data within the expanded space in the document.
According to an additional aspect, a method may include visually displaying first data within a first data item in a document, where the first data item includes elided data not visually displayed in the document and receiving a selection of the first data item from a user. The method may further include enlarging the first data item in two dimensions in the document in two dimensions based on the selection of the first data item and visually displaying the first data and the elided data within the enlarged first data item.
According to a further aspect, a method may include visually displaying first data within a first data item in a document, where the first data item includes elided data not visually displayed in the document and where the first data item includes active handles at one or more corners of the first data item. The method may further include receiving input from a user dragging open one of the active handles such that the first data item is expanded to a size sufficient to visually display the first data and the elided data and visually displaying the first data and the elided data within the expanded first data item.
According to another aspect, a method may include visually displaying a list of data items in a document, where the list of data items includes a first data item and where the first data item includes elided data not visually displayed in the document. The method may further include receiving a selection of the first data item from a user and appending the elided data to the first data such that the elided data is visually displayed in a dimension perpendicular to a dimension in which the list of data items primarily extends.
According to a further aspect, a method may include visually displaying first data of a first data item in a document, where the first data item includes elided data not visually displayed in the document. The method may further include receiving a selection of the first data item from a user and replacing the first data with the elided data to visually display the elided data in the document.
According to an additional aspect, a method may include visually displaying first data within a data item in a document, where the data item includes first and second elided data not visually displayed in the document, and receiving a first selection of the data item from a user. The method may further include visually expanding the data item within the document to display the first data and the first elided data, receiving a second selection of the data item from the user, and visually expanding the data item within the document to display the first data, the first elided data and the second elided data.
According to another aspect, a method includes visually displaying a list of data items in a document, where the list of data items comprises first and second data items and where the first data item includes elided data not visually displayed in the document. The method further includes receiving a selection of the first data item from a user and visually expanding the first data item within the document to display the elided data, where visually expanding the first data item displaces the second data item a distance downwards in the document.
According to an additional aspect, a method includes visually displaying first data of a data item in a document, where the data item includes multiple different segments of elided data not visually displayed in the document. The method further includes receiving a selection of the data item from a user and visually expanding the data item in the document to simultaneously include the multiple segments of elided data at different locations in the document.
According to a further aspect, a method includes visually displaying a list of data items in a document, where the list of data items comprises first and second data items and where the first data item includes elided data not visually displayed in the document. The method further includes receiving a selection of the first data item from a user and visually expanding the first data item within the document to display the elided data, where expanding the first data item causes the first data item to visually overlap at least a portion of the second data item.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the invention and, together with the description, explain the invention. In the drawings,
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.
Consistent with aspects of the invention, the tradeoff between displaying information and the space being required by this information within a list of items may be alleviated by eliding data from a data display item, but later providing this elided data to a user upon user selection. For example, a user moving a “mouse” over a data item in a list of data items may result in the display of a longer “snippet” of data that includes the elided data. Thus, a user may use a “mouse” to browse through a list of data items to elicit the display of elided data only with respect to those data items in which the user is interested.
A “document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product. A document may include, for example, an e-mail, a website, a business listing, a file, a combination of files, one or more files with embedded links to other files, a news group posting, a blog, a web advertisement, a digital map, etc. In the context of the Internet, a common document is a web page. Documents often include textual information and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.). A “link,” as the term is used herein, is to be broadly interpreted to include any reference to/from a document from/to another document or another part of the same document
The elided data 130 may be extracted and associated with the target document in a repository created by a crawling engine that “crawls” content, copies the content in a repository, and then indexes the content. At query time, selected portions of elided data 130 may be chosen to be included as hidden data in the search results document. Additionally, at query time, data, among lists of data associated with the target document, may be selected for inclusion in the elided data 130 hidden in the search results document. Alternatively, at interaction time, when a user chooses to select a particular search result item, a request can be sent from the client to the server that executed the search (or to a different server that did not execute the search) to request elided data that may be visually displayed.
Clients 210 may include client entities. An entity may be defined as a device, such as a personal computer, a wireless telephone, a personal digital assistant (PDA), a laptop, or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executable by one of these devices. Servers 220 and 230 may include server entities that access, fetch, aggregate, process, search, and/or maintain documents in a manner consistent with the principles of the invention. Clients 210 and servers 220 and 230 may connect to network 240 via wired, wireless, and/or optical connections.
In an implementation consistent with the principles of the invention, server 220 may include a search engine 225 usable by users at clients 210. Server 220 may implement a data aggregation service by crawling a corpus of documents (e.g., web pages) hosted on data server(s) 230, indexing the documents, and storing information associated with these documents in a repository of crawled documents. The aggregation service may be implemented in other ways, such as by agreement with the operator(s) of data server(s) 230 to distribute their documents via the data aggregation service. Search engine 225 may execute a search using a query, received from a user at a client 210, on the corpus of documents stored in the repository of crawled documents. Server 220 may provide, to a user issuing a query, one or more search result documents that include a ranked list of documents related to the received search query. The ranked list of documents may further include a list of advertisements related to the received search query. The one or more search result documents may include elided data that may not be initially visually displayed in the search result documents when they are rendered by a user interface.
Data server(s) 230 may store or maintain documents that may be crawled by server 220. Such documents may include data related to published news stories, products, images, user groups, geographic areas, or any other type of data. For example, server(s) 230 may store or maintain news stories from any type of news source, such as, for example, the Washington Post, the New York Times, Time Magazine, or Newsweek. As another example, server(s) 230 may store or maintain data related to specific products, such as product data provided by one or more product manufacturers. As yet another example, server(s) 230 may store or maintain data related to other types of web documents, such as pages of web sites.
While servers 220-230 are shown as separate entities, it may be possible for one of servers 220-230 to perform one or more of the functions of the other one of servers 220-230. For example, it may be possible that servers 220 and 230 are implemented as a single server. It may also be possible for a single one of servers 220 and 230 to be implemented as two or more separate (and possibly distributed) devices.
Network 240 may include one or more networks of any type, including a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network, such as the Public Switched Telephone Network (PSTN) or a Public Land Mobile Network (PLMN), an intranet, the Internet, a memory device, or a combination of networks. The PLMN(s) may further include a packet-switched subnetwork, such as, for example, General Packet Radio Service (GPRS), Cellular Digital Packet Data (CDPD), or Mobile IP sub-network.
Processor 320 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Main memory 330 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 320. ROM 340 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 320. Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive.
Input device 360 may include a mechanism that permits an operator to input information to the client/server entity, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc. Output device 370 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 380 may include any transceiver-like mechanism that enables the client/server entity to communicate with other devices and for systems. For example, communication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 240.
The client/server entity, consistent with the principles of the invention, may perform certain operations or processes, as will be described in detail below. The client/server entity may perform these operations in response to processor 320 executing software instructions contained in a computer readable medium, such as memory 330. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.
The software instructions may be read into memory 330 from another computer-readable medium, such as data storage device 350, or from another device via communication interface 380. The software instructions contained in memory 330 may cause processor 320 to perform operations or processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the principles of the invention. Thus, implementations consistent with the principles of the invention are not limited to any specific combination of hardware circuitry and software.
Expanding the view of data item 400 may, in some implementations, involve an “animation” process in which expanded data item 400 may be expanded slowly and smoothly to reveal the elided data 440 in a manner that is not visually disruptive. In this implementation, the user may select (e.g,, “click” on, or “mouse-over”) data item 400, and data item 400 may change color to provide immediate feedback to the user that the selection has occurred. At this point, the data visually displayed in data item 400 may be removed and an animation object may be placed within data item 400 in place of the removed data. The animation object may then be animated to expand it with an algorithm that starts quickly and then progressively slows down until the animation object fills the space in the data item required to display the additional elided data 440. Once the animation object fills the space in the data item, the animation object may be removed (i.e., causing it to disappear) and the previously removed data in the data item, along with the elided data 440, may be visually re-inserted into the data item. Use of this animation object in expanding the view of the data item, thus, permits the presentation of the additional data in a manner that is not visually disruptive.
As illustrated in
As shown, inclusion of elided data 635 in expanded view 630 causes the data subsequent to data item 605 in the list of data items (e.g., data item 610) to be displaced by a distance h. In the exemplary implementation depicted in
In the exemplary implementations of
Expansion of elided data, as described with respect to
In a further implementation, a size of the expanded view may be set by the user. For example, the data Item may have “active handles” at corners of the data item that the user can “drag open” to the size the user desires, with additional elided data being displayed once there is sufficient room in the expanded view. Thus, in this implementation, elided data may be added progressively rather than all of it displayed at all times.
In an additional implementation, the expanded data item (e.g., the date item visually expanded to included the elided data) may change its appearance to indicate that it has been selected by a user. For example, the change in appearance may be a new background color, a new border, or a change to the color/shape of some elements within the expanded view of the data item.
Given a document that includes multiple data items, each having elided data, a single button (or other control) may be used to expand the view of all of, or some subset of, the multiple data items at the same time. For example, if a document includes a list of search results and a list of corresponding advertisements, selection by a user may expand all of the search result items having elided data, but not the advertisements.
The exemplary process may begin with the receipt of a search query (block 800). A user at a client 210 may issue a search query to search engine 225 of server 220 via network 240. A corpus of documents may then be searched based on the search query to obtain a list of search result items (block 805). The corpus of documents searched by search engine 225 may include a repository of documents created by a crawling engine that has crawled and copied content hosted by data server(s) 230. The search result items may include data identifying and describing documents of the corpus of documents that matched, or were the most relevant to, the received search query. For example, each search result item may include a title for the corresponding document and a snippet of data contained on the corresponding document that may describe the nature or content of the document. The search result items may further include data related to advertisements that matched, or were most relevant to, the received search query.
Selected data may be elided from certain ones of the search result items (block 810). Each search result item may include a large quantity of data associated with the corresponding document. To conserve document space requirements, only selected portions of the data may be visually displayed on the search result list presented to the user. Therefore, selected data may be elided from certain ones of the search result items (e.g., no visual reference to the selected data in the search result items).
In one implementation, a document may then be constructed that includes the list of search result items, with the elided data being contained in the document, but visually omitted from the document (e.g., no visual reference to the elided data) (block 815). Thus, referring back to
In another implementation, a document may be constructed to include the list of search result items with the elided data being omitted from the document (block 825). In this implementation, the elided data is not included in the document, but is later provided to the client in response to a request from the client 210 to server 220. The elided data may be ascertained prior to the document being constructed, or may be determined and served only after the client 210 sends a request to server 20. The elided data, thus, may not be ascertained by server 220 until after the document including the list of search result items is transmitted to client 210, and client 210 requests the elided data (see block 835 below). The document may be sent to the client from which the search query originated (block 930)(
The exemplary process may begin with the receipt and display of a document having elided data at client 210 (block 900). Client 210 may receive the document from server 220 in response, for example, to client 210 issuing a search query to server 220. The document may include, for example, a document containing a list of search result items provided by search engine 225 based on the search query received from client 210. Selection of the elided data by a user may be detected (block 905). A user at client 210 may view the list of search result items contained in the received document and may select one of the search result items that includes the elided data. Selection may include, for example, “clicking” on a hotlink or button associated with a given data item, “clicking” anywhere within a region associated with a given data item, moving a cursor over the region associated with the data item (e.g., a “mouse-over”), hovering a cursor over the region associated with the data item, etc.
In one implementation, a view of the document content may then be expanded to include the elided data (block 910). In this implementation, the document stores the elided data within the body of the document, but does not visually display the elided data. Expanding the view of the document content, in this implementation, extracts the elided data hidden in the document, and visually displays it with its corresponding search result item. Expanding views of the document content to visually display the elided data may include, for example, those techniques already described above.
A de-selection of the previously selected elided data may be detected (block 915), and the view of the document may be contracted to the original view of the document (block 920). De-selection may include the user “clicking” on a “close” icon, the user moving the cursor off of the search result item using a mouse, etc. The exemplary process may return to act 905 above.
In another implementation, a request for the elided data may be sent to server 220 (block 925). In this implementation, the document does not store the elided data and the elided data must first be retrieved from server 220, or from an external storage repository that stores the elided data. The elided data may be received from server 220 in response to the request (block 930). In response to the request, server 220 may retrieve the requested elided data and send the data to the requesting client 210 via network 240.
A view of the document content may then be expanded to include the elided data (block 935). Expanding the view of the document content, in this implementation, includes receiving the requested elided data from server 220 and visually displaying it with its corresponding search result item. Expanding views of the document content to visually display the elided data may include, for example, those techniques described above.
A de-selection of the previously selected elided data may be detected (block 940)(
The foregoing description of implementations consistent with principles of the invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings, or may be acquired from practice of the invention. For example, while a series of acts has been described with regard to
Expansion and contraction of elided data can have many applications beyond those explicitly described above. For example, yellow page phone book entries within a particular category can be elided to just display a list of names, where each expanded item also displays additional information such as an ad or a small map. Elided data may assist in navigating to a particular category. Similarly, white page phone book entries may be elided to display only surnames until selected, revealing all entries with the same surname.
As another example, television and radio program listings can present summary information such as a time, program name, and channel with the expanded data items displaying additional information such as performers, duration, and a given program's rerun status. As a further example, listings of sports results can present summary scores containing team names and the final scores, with elided material including per-inning statistics or highlights from the games.
As an additional example, newspaper articles can be categorized and revealed using elided data. The data item, in a contracted view, would display the headlines and a short snippet, while the expanded item that includes the elided data would display the first portions of the news article. “Clicking” on the data item would expand the display to the full article.
As a further example, contraction and expansion of elided data may be applied to infinite lists. Typically, search results are broken into separate pages, however, when elided data is used search results can be displayed as an infinites list. As a user scrolls down the list, underlying data requests can occur to ensure that enough information is available to display the elided data in the list. Thus, an infinite list of search results (or any other type of data list) can be returned with a selected data item expanded to display elided data upon demand.
Implementations of the invention may further keep track of the expanded or contracted nature of the data items of any document displayed to a user (e.g., which data items have been expanded to display elided data) so that, when the user “clicks” away to another site and then returns to the same document via the “back” button, history, or a bookmark, the user will find the document in the same state as when the user left.
It will be apparent to one of ordinary skill in the art that aspects of the invention, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the invention is not limiting of the invention. Thus, the operation and behavior of the aspects have been described without reference to the specific software code, it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2006/060906 | 11/15/2006 | WO | 00 | 8/25/2009 |
Number | Date | Country | |
---|---|---|---|
60736300 | Nov 2005 | US |