Oftentimes a user that browses web pages that are accessible by way of the Internet wishes to receive information pertaining to particular goods, services, or entities. Accordingly, in an example, the user may proffer a query to a search engine, wherein such query is crafted by the user in order to obtain certain information. Search engines have attempted to monetize the informational requests of users by selling advertising space to advertisers, such that an advertisement that is related to the query is displayed together with search results returned by the search engine. In general, the search engine accepts bids from advertisers whose content is relevant to the information retrieval intent of the user, wherein such information retrieval intent is represented by the query submitted by the user. For instance, if the user provides a search engine with the query “vacations in California”, an online travel agent may wish to advertise to the issuer of the query to inform the user of the services of the online travel agent.
Publishers of content have also been able to monetize such content by selling advertising space on a web page to advertisers that are advertising goods or services that are related to the content. With more specificity, the publisher/owner of content of a web page can contract with an advertisement delivery engine. The web page as a whole is utilized to represent the information retrieval intent of a user that is viewing the web page, and an advertisement can be selected for display to a viewer of the web page based at least in part upon content included in the web page.
In some cases, however, the entirety of content of a web page may not be particularly relevant to interests of a user viewing such web page. For example, a web page may include a plurality of different types of information, wherein the user may be interested in only a small portion of such information. Conventionally, if the user desires to obtain additional information with respect to content on a web page, the user can open up a new browser window, direct the browser to a search engine, and provide the search engine with a query that represents the information retrieval intent of the user. This requires, however, that the user take the time to open a new browser window, formulate a new query, and parse through search results to retrieve the desired information.
The following is a brief summary of subject matter that is described in greater detail herein. This summary is not intended to be limiting as to the scope of the claims.
Described herein are various technologies pertaining to providing a user with content based at least in part upon positional information received from a user, wherein the positional information is indicative of a position on a web page selected by the user. In an example, a user of a client computing device can cause a web page to be loaded in a web browser. The client computing device may be a tablet computing device, a personal computing device, a portable telephone, or other suitable device that can execute a web browser. When viewing the web page, the user of the client computing device may determine that certain content is of interest to the user. The user may then use some suitable selecting mechanism to make a selection of such content. For example, the user may utilize a mouse pointer to select a position on the web page corresponding to the content of interest. In other examples, the user may utilize a touch sensitive display of a tablet computer or mobile telephone, may use a gesture that can be captured by a camera, or other suitable selection mechanism/technique.
A computer-executable application that is executing on the client computing device can determine a position of the selection in the web page. In an example, this computer-executable application may not be called by code of the web page. Thus, for instance, the application may be a plug-in to a browser that is configured to monitor positions on the web page that may be selected by the user. In another example, the application may be a portion of an operating system that is configured to detect positional selections by the user. In an example, such positional selection by the user may be user-formulation of a circle or other enclosure, wherein the circle encompasses content of interest to the user.
The positional information, which is indicative of a position on the web page selected by the user, may then be transmitted by way of a network to a server, wherein such positional information is utilized to select content for provision to the user. In an example, this content may be an advertisement that is relevant to content of the web page at the position selected by the user. In another example, the content provided to the user may be a service, such as a service provided by a mapping application, a hyperlink to another web page that is relevant to the content on the web page corresponding to the position selected by the user, or other suitable service. For instance, responsive to receipt of the positional information from the client computing device, an auction can be undertaken to select particular graphical data (describing services, such as advertisements) for transmittal back to the client computing device. As indicated above, such an auction can be undertaken based at least in part upon the received positional information. In an example, the web page being viewed by the user may have a known structure/format. For instance, large websites, such as websites managed by large retailers, comprise a plurality of web pages that have a substantially similar layout/structure. Therefore, for example, a name of a product may consistently be in a first position on a web page belonging to the website, an image of a product may consistently be in a second position on a web page belonging to the website, a price of a product may consistently be in a third position on a web page belonging to the website, and this format/structure can be consistent across web pages that describe products that are offered for sale by the retailer.
Accordingly, if the positional information is received when the user is viewing a web page of such retailer, the general structure/layout of a web page can be known a priori. Therefore, the content corresponding to the position selected by the user can be inferred, and an auction for presentment of graphical data describing services can be conducted based at least in part upon the inferred content on the web page at the position selected by the user. More specifically, a measure of relevance between inferred content on the web page at the position selected by the user and an advertisement/service that desirably displayed in connection with the position selected by the user can be computed, and a particular advertisement/service can be selected for transmittal to the client computing device based at least in part upon the computed measure of relevance. Moreover, an advertisement/service can be selected for transmittal to the client computing device based at least in part upon bid amounts set forth in bids by prospective service providers/advertisers.
The graphical data provided to the client computing device may be in the form of an in-line pop-up that comprises, for instance, a link to a service provider, an advertisement, an image, a video, or the like. Additionally or alternatively, the graphical data may be shown in graphical relation to the web page, such as in another browsing window. The user may then choose to interact with the graphical data that was provided to the client computing device. This can cause, for example, a new browser window or tab to be activated.
Other aspects will be appreciated upon reading and understanding the attached figures and description.
Various technologies pertaining to providing graphical data describing services responsive to a user selecting a position on a web page will now be described with reference to the drawings, where like reference numerals represent like elements throughout. In addition, several functional block diagrams of exemplary systems are illustrated and described herein for purposes of explanation; however, it is to be understood that functionality that is described as being carried out by certain system components may be performed by multiple components. Similarly, for instance, a component may be configured to perform functionality that is described as being carried out by multiple components. Additionally, as used herein, the term “exemplary” is intended to mean serving as an illustration or example of something, and is not intended to indicate a preference.
With reference now to
The client computing device 102, as will be described in greater detail herein, may have a computer executable application executing thereon that is configured to monitor positions on web pages selected by the user. In an example, such application may be a plug-in to a web browser that is being utilized to display the web page to the user of the client computing device 102. Alternatively, the application may be an operating system that is configured to monitor interaction with the display of the client computing device 102 and determine a position on the display that has been selected by the user. In any event, it is to be understood this application executing on the client computing device 102 is not called by code of the web page that is being viewed by the user. Therefore, for example, the application is not JavaScript code that is called by the web page, is not a hyperlink embedded in the web page, etc. The aforementioned application may then be configured to cause positional information to be transmitted by way of a network connection to a server 104. Again, it is to be understood that the code of the web page being viewed by the user on the client computing device 102 is not utilized to transmit the positional information to the server 104.
The server 104 comprises a receiver component 106 that receives the positional information from the client computing device 102. As described above, the positional information indicates a position on the web page that has been selected by the user of the client computing device 102. Moreover, the positional information is received from an entity other than the web page (e.g., is received from an application executing on the client computing device 102 that is not called by code of the web page). A content provider component 108 is in communication with the receiver component 106, and causes graphical data to be transmitted to the client computing device 102 for display in graphical relation to the position on the web page selected by the user, wherein the content provider component 108 selects the graphical data for transmittal to the client computing device 102 based at least in part upon the positional information received from the client computing device 102. As will be described in greater detail below, the content provider component 108 can be configured to conduct an auction in connection with selecting the graphical data to be transmitted for display on the client computing device 102 corresponding to the position selected on the web page by the user. Therefore, for example, the graphical data may correspond to an advertisement that is related to content that is at the selected position on the web page. In another example, the graphical data can relate to a service that may be provided to the user of the client computing device 102, wherein the service is relevant to content on the web page corresponding to the position on such web page selected by the user. Additional detail pertaining to an auction that can be conducted by the content provider component 108 will be set forth below.
For purposes of explanation, an exemplary utilization of the system 100 is described. This example, however, is not intended to be limiting as to the scope of the claims. The user of the client computing device 102 may cause a web page corresponding to a digital camera, for instance, to be loaded in a web browser and displayed to the user. This web page may be the web page at a manufacturer's website, and may include an image of the digital camera and a suggested manufacturer's retail price of the digital camera. The user of the client computing device 102 may be interested in price of the digital camera as advertised by several retailers. Accordingly, the user of the client computing device 102 may encircle the price in the web page through a stylus, touch, mouse pointer, gesture, or the like. This encircling of the price can be captured as a selection of a particular position on the web page, and can be transmitted from the client computing device 102 as the positional information to the server 104 by way of, for instance, an Internet connection.
The content provider component 108 can receive such positional information, and through one or more mechanisms, can infer the content corresponding to the position of the web page selected by the user. Additional detail pertaining to content inference is provided below. A plurality of bids from a plurality of different service providers (including advertisers) may be received, and graphical data set forth by such service providers can be selected for display on the client computing device 102 by the content provider component 108 based at least in part upon bid amounts set forth by the bidders, as well as relevance of the inferred content with the graphical data set forth by the service providers. Continuing with the above example, the content provider component 108 can select an advertisement of a retailer that wishes to advertise the price of the digital camera at a store of the retailer to the user of the client computing device 102. This advertisement can be transmitted as the graphical data from the content provider component 108 to the client computing device 102, wherein, for instance, it can be displayed in graphical relation to the position in the web page selected by the user as an in-line popup. Content of such in-line popup, for example, can included identity of the retailer that is selling the digital camera, price of the digital camera at the retailer, a hyperlink that directs a web browser to a website of the retailer (e.g., to a web page of a website of the retailer that is dedicated to the digital camera). Therefore, the in-line popup may include a hyperlink that can direct the user of the client computing device 102 to a web page that allows the user to purchase the digital camera online from the retailer.
In another example, the user of the client computing device 102 can cause the browser executing thereon to load a web page that describes films, wherein such web page includes a name of a film, title of the film, actors in the film, awards won by the film, etc. The user of the client computing device 102 may encircle the title of the film on the web page, and the application executing on the client computing device 102 can capture such selection as the positional information. This positional information is transmitted to the server 104, where it is received by the receiver component 106. Content corresponding to the selected position can be inferred, and bids pertaining to such position can be received from a plurality of prospective service providers. A winning service provider may then have graphical data that includes or describes a service provided by the service provider to be transmitted to the client computing device 102, where such graphical data can be displayed in graphical relation to the selected position on the web page (the title of the film).
For instance, one of the service providers may be a company that specializes in film rentals, and the graphical data can include data pertaining to renting the selected film from such film rental company. Pursuant to an example, if the user of the client computing device 102 subscribes to a service provided by the film rental company, the user can, through a single click in an in-line pop-up presented to the user of the client computing device 102, cause the film to be added to a film rental queue. Therefore, rather than the user of the client computing device 102 having to open up a new browser window, direct the browser to load a web page corresponding to the movie rental service, conduct a search on such service for the film of interest, and thereafter indicate a desire to rent the film, the user can simply select the position on the web page corresponding to the title of the film, and the rental service provider may automatically provide a single link to cause the film to be added to the rental queue of the user. Other services/advertisements will be readily contemplated by those skilled in the art.
With reference now to
The user may select a particular position by encircling content in the web page. In this exemplary graphical user interface 200, the user has encircled content in the portion 206 of the web page that includes a title of a product. This is shown by way of the circular enclosure 212. Positional information describing the position of the circular enclosure 212 on the web page 202 can be transmitted to the server 104 as described above. Thereafter, an in-line pop-up 214 can be presented in graphical relation to the selected position on the web page 202. Again, this in-line pop-up 214 can include a hyperlink, which may direct a user to a web page corresponding to a particular entity or service, may include additional information pertaining to content that is enclosed in the enclosure 212, or the like. Therefore, the user can receive a service or description of a service that pertains to the content on the web page that has been enclosed by the enclosure 212 without having to open up a new browser window and direct such browser to a different web page. The in-line popup 214 can include one or more buttons that allow the in-line popup 214 to be collapsed or closed after the information has been consumed by the user or the service has been performed. Additionally or alternatively, the graphical data can be presented as an entirely new browser window rather than as an in-line popup. Other mechanisms for providing graphical content in graphical relation to the enclosure 212 are contemplated.
With reference now to
The client computing device 102 may also comprise a computer-executable application 306 that is configured to ascertain a position on the web page 304 that is selected by the user. In an example, such application 306 may be installed as a plug-in to the browser 302. Additionally or alternatively, the computer-executable application 306 may be a portion of an operating system that is installed on the client computing device 102. The computer-executable application 306 is configured to monitor user interaction with the web page 304, to detect when the user selects a particular position on the web page 304 in order to obtain additional information pertaining to content that corresponds to the position of the selection on the web page 304 made by the user. If the computer-executable application 306 is installed as a plug-in to the browser 302, a depressible button may be existent in the browser that allows the user to turn on and off the functionality that corresponds to the computer-executable application 306. The ability to turn on and off the application 306 may prevent confusion in connection with determining whether the user wishes to select a hyperlink or other interactive portion of the web page 304, rather than selecting a position of such web page 304.
If the application 306 is a portion of an operating system of the client computing device 102, then again, such application 306 can be turned on and off at the desire of the user. If the computer-executable application 306 is a portion of the operating system of the client computing device 102, for instance, and the client computing device 102 has a touch sensitive display screen, the application 306 may be configured to monitor screen coordinates that are encircled by the user, and can further normalize such screen coordinates to correspond to a position on the web page 304. Subsequent to receiving a selection of the position, the computer executable application 306 can be configured to transmit the positional information to the server 104.
Turning now to
The server 104 additionally comprises the content provider component 108 that, as described above, causes graphical data to be transmitted to the client computing device 102 based at least in part upon the positional information received by the receiver component 106. For instance, the content provider component 108 can include a content inferer component 404 that can infer content on the web page that corresponds to the position on the web page selected by the user of the client computing device 102. Pursuant to an example, the positional information received by the receiver component 106 can include an indication of a web page being viewed by the user when the selection of the position was made by such user. The content inferer component 404 can determine if such web page has a known structure/layout (e.g., conforms to some form of template).
For instance, the content inferer component can access a data store 406 that resides on the server 104 or is accessible to the server, wherein the data store 406 comprises a plurality of templates corresponding to certain websites. Therefore, if the web page being viewed by the user is a page in a website for which a template exists in the data store 406, the content inferer component 404 can access such template and infer the content of the web page at the position selected by the user based at least in part upon the template. Accordingly, for example, if the URL of the web page indicates that the subject of the web page is a particular entity, and the template indicates that the position selected by the user corresponds to a title of the entity, than the content inferer component 404 can infer that the position on the web page selected by the user is the title of the entity. In another example, if the URL of the web page indicates that the web page corresponds to a particular product, and the template indicates that the location selected by the user is generally a position where price of products is displayed, then the content inferer component 404 can infer that the content that corresponds to the position in the web page selected by the user is the price of the product.
In still yet another example, the application 306 executing on the client computing device 102 can be configured to capture an image of content that is encircled by the user and transmit such image to the server 104 as a portion of the positional information. The content inferer component 404 can include object character recognition functionality that allows text in the selected position on the web page to be translated to machine-readable text, and thereafter the content inferer component 404 can utilize, for instance, natural language processing functionality to infer the content that corresponds to the position on the web page selected by the user. In a similar example, the user may select an image on the web page and the application 306 executing thereon can be configured to capture such image and transmit the image as a portion of the positional information to the server 104. The content inferer component 404 can include image processing functionality to determine an entity that is captured in the image. Through utilization of such image processing functionality, the content inferer component 404 can infer an identity of the entity selected by the user on the web page.
In another example, the content inferer component 404 can receive the positional information and an identity of the web page being viewed by the user at the client computing device 102, and can access a search engine index and retrieve a cached version of web page from the search engine index. Pursuant to an example, positions on the cached web page can be mapped to certain content, and the content inferer component 404 can infer the content on the web page being viewed by the user based at least in part upon the content in the cached web page at the position selected by the user.
The system 400 further comprises a plurality of service providers 408-410 that wish to submit bids for providing graphical data to particular positions of web pages. For instance, these bids can be predefined for particular positions on web pages, regardless of the inferred content on such web pages. Alternatively, the service providers 408-410 can submit bids only after the content inferer component 404 has inferred content corresponding to the position on the web page selected by the user, wherein an amount of such bids or the bids themselves are conditional upon the content being directed to certain topic(s). In this manner, the service providers 408-410 can submit bids similarly as to how advertisers submit bids with respect to queries provided to search engines. Pursuant to an example, the first service provider 408 can submit a first bid for causing first graphical data (e.g., an advertisement, service, or information descriptive of a service) to be transmitted to the client computing device 102, and the nth service provider 410 can submit an nth bid for causing nth graphical data to be transmitted to the client computing device 102 for display in graphical relation to the selected position of the web page. Each of these bids can be packaged with a summary that identifies the content of the graphical data (e.g., description of services) that is desirably transmitted to the client computing device 102. Therefore, for example, the first bid provided by the first service provider 408 can include tags or metadata that describes the services that are represented by the graphical data that is desirably transmitted to the client computing device 102.
The content provider component 108 can further include a relevancy calculator component 412, which can receive the content of the position on the web page inferred by the content inferer component 404, and can additionally receive the summaries of the services that are desirably provided to a user from the service providers 408-410, and may compute a relevancy of such services to the inferred content based upon the inferred content and the summaries. Therefore, for example, the first bid can be assigned a first relevancy score by the relevancy calculator component 412, and the nth bid can be assigned an nth relevancy score by the relevancy calculator component 412.
The content provider component 108 can further comprise an auction component 414 that is configured to execute an auction for display space on the client computing device for presentation of the graphical data desirably provided to the user by the service providers 408-410. Pursuant to an example, the auction component 414 can select a winner of the auction for such space based at least in part upon the positional information received at the receiver component 106. Additionally, the auction component 414 can select a winner of the auction for such space based at least in part upon amounts of bids set forth by the service providers 408-410. Moreover, the auction component 414 can select a winner of the auction based at least in part upon relevancy scores assigned to bids of the service providers 408-410 by the relevancy calculator component 412. The graphical data corresponding to the winning bid can be caused to be transmitted to the client computing device 102 by the content provider component 108, where it can be displayed thereon in graphical relation to the selected position of the web page to the user.
With reference now to
Prospective service providers/advertisers may have previewed the content that is being viewed by the user 504 on the television 502, and may have chosen to bid on certain positions on the television 502 at particular times to provide services/content to the user 504. Pursuant to an example, the user 504 may be watching a television program, wherein an actor thereon is wearing a certain type of sunglasses. The user 504 may make a gesture towards the television 502 that encircles the sunglasses worn by the actor. This positional information and timestamp can be captured by the set-top box 508 and transmitted to the server 104. At the server 104, an auction can be conducted, which may allow the manufacture of the sunglasses selected by the user to present content to the user 504 on the television 502 that indicates to the user 504 the identity of such sunglasses and where these sunglasses can be purchased. Alternatively, a retailer that specializes in selling sunglasses of that brand or competitive sunglasses may wish to provide an advertisement for display to the user 504. This advertising data can be transmitted back to the set-top box 508, where the set-top box 508 can be configured to cause the advertisement to be presented on the television 502 for consumption by the user 504.
In another exemplary embodiment, if the set-top box 508 is not configured to cause graphical overlays to be presented in a video stream shown on the television 502, the user 504 can register the client computing device 102 with the server 104. Responsive to the user 504 selecting the position as indicated by the circular enclosure 510, the server 104 can conduct the aforementioned auction and can cause graphical data of a winning service provider to be transmitted to the client computing device 102 for consumption by the user 504. This allows the user 504 to receive additional information pertaining to video content displayed to the user 504 on the television 502.
In yet another example, a television program displayed on the television 502 may include text or a reference to a particular geographic location. The user 504 can make a gesture that is intended to encompass such geographical location, and this gesture can be captured by the camera 506. The set top box 508 can transmit the positional information and corresponding timestamp to the server 104, which can then cause an auction to be undertaken with respect to service providers that wish to provide the user 504 with, for instance, a map of the region, travel directions from a current location of the user 504 to the location discussed or represented on the television 502, etc.
While not shown, a service provider can be provided with a system that facilitates indicating to the server 104 which positions on web pages are desirably bid upon by such service provider. For instance, a specialized browser can be provided to the service provider that allows the service provider to indicate positions on web pages, wherein the service provider desires to provide graphical data relating to certain services with respect to the selected positions on the web pages. The service provider can indicate their interest in such position, for example, across all web pages that have a substantially similar layout/structure. Thereafter, as described previously, the content provider component 108 can be configured to ascertain whether the services set forth by the service provider are relevant to the content corresponding to the selected position on the web page from the user.
Additionally or alternatively, the service provider can specify certain particular web pages with which they are interested in providing services if a user selects certain positions. Moreover, the service provider can indicate that services are desirably provided only for a particular type of client computing device. For instance, a mapping application may only wish to provide directions to mobile devices rather than to a desktop computer. Additionally or alternatively, the service provider can be provided with an exemplary web page, and can select one or more positions on such web page, where the service provider wishes to provide graphical data pertaining to services if a user selects such positions. These selected positions can be normalized across different devices, such that the positions desirably advertised are consistent regardless of a type of client device utilized to consume the web page.
With reference now to
Moreover, the acts described herein may be computer-executable instructions that can be implemented by one or more processors and/or stored on a computer-readable medium or media. The computer-executable instructions may include a routine, a sub-routine, programs, a thread of execution, and/or the like. Still further, results of acts of the methodologies may be stored in a computer-readable medium, displayed on a display device, and/or the like. The computer-readable medium may be a non-transitory medium, such as memory, hard drive, CD, DVD, flash drive, or the like.
With reference now to
At 606, an auction is executed for providing graphical data pertaining to content of the web page that corresponds to the position on the web page selected by the user. For instance, several service providers may wish to provide graphical data to the user corresponding to the position on the web page selected by the user. The winner of the auction can be determined based at least in part upon bid amounts, relevancy of the services to content that is inferred to correspond to the position in the web page selected by the user, the positional information received at 604, etc.
At 608, graphical data pertaining to the content that corresponds to the position on the web page is caused to be transmitted to the client computing device for display thereon. Again, this graphical data can be caused to be transmitted to the client computing device based at least in part upon the positional information received from the client computing device at 604. The methodology 600 completes at 610.
Turning now to
At 706, the positional information is caused to be transmitted to a server by way of a network connection. At 708, graphical data for display in graphical relation to the position selected by the user is received. This graphical data can include a hyperlink, an advertisement, etc. At 710, the graphical data is displayed on the client computing device in graphical relation to the position on the web page selected by the user. The methodology 700 then completes at 712.
With reference now to
At 808, responsive to receiving the positional information, content on the web page that corresponds to the positional information can be inferred. Several exemplary manners for inferring content corresponding to a positional selection of the user have been described above. At 810, subsequent to receiving the plurality of bids and inferring the content corresponding to the selected position, a relevancy score can be computed that, for each prospective advertisement, is indicative of relevance of the advertisement to the content that is inferred to correspond to the position on the web page. At 812, an advertisement is selected from amongst a plurality of advertisements based at least in part upon amounts of the bids and the relevancy scores computed at 810. At 814, the advertisement is transmitted to the client computing device for display thereon in graphical relation to the position on the web page selected by the user, and the methodology 800 completes at 816.
Now referring to
The computing device 900 additionally includes a data store 908 that is accessible by the processor 902 by way of the system bus 906. The data store may be or include any suitable computer-readable storage, including a hard disk, memory, etc. The data store 908 may include executable instructions, templates that describe a known structure/layout of web pages, instructions from service providers, etc. The computing device 900 also includes an input interface 910 that allows external devices to communicate with the computing device 900. For instance, the input interface 910 may be used to receive instructions from an external computer device, from a user, etc. The computing device 900 also includes an output interface 912 that interfaces the computing device 900 with one or more external devices. For example, the computing device 900 may display text, images, etc. by way of the output interface 912.
Additionally, while illustrated as a single system, it is to be understood that the computing device 900 may be a distributed system. Thus, for instance, several devices may be in communication by way of a network connection and may collectively perform tasks described as being performed by the computing device 900.
As used herein, the terms “component” and “system” are intended to encompass hardware, software, or a combination of hardware and software. Thus, for example, a system or component may be a process, a process executing on a processor, or a processor. Additionally, a component or system may be localized on a single device or distributed across several devices. Furthermore, a component or system may refer to a portion of memory and/or a series of transistors.
It is noted that several examples have been provided for purposes of explanation. These examples are not to be construed as limiting the hereto-appended claims. Additionally, it may be recognized that the examples provided herein may be permutated while still falling under the scope of the claims.