GB2475278A - Self-contained interactive framework for third-party content on webpages - Google Patents
Self-contained interactive framework for third-party content on webpages Download PDFInfo
- Publication number
- GB2475278A GB2475278A GB0919798A GB0919798A GB2475278A GB 2475278 A GB2475278 A GB 2475278A GB 0919798 A GB0919798 A GB 0919798A GB 0919798 A GB0919798 A GB 0919798A GB 2475278 A GB2475278 A GB 2475278A
- Authority
- GB
- United Kingdom
- Prior art keywords
- plug
- wrapper
- party
- server
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Third-party content, such as banner advertisements, is placed onto a webpage by means of a wrapper 12. The wrapper is configured to contain one or more plug-ins 14 selected from a plurality hosted on an application server 20 and downloaded upon communication 26 with that server. The plug-ins issue one or more requests 32 to a third-party server 30 when executed; the nature of the request is determined by the plug-in selected. The third-party server transmits varying data to the wrapper which is then rendered for display on the webpage. This allows extensive dynamic and interactive content to be provided on the webpage for the user to interact with, without requiring browsing away from the webpage. The webpage may be provided with loader code 10 which downloads 22 the wrapper from the application server, thereby reducing the size of the webpage. Multiple third-party servers may be communicated with, and further plug-ins may be downloaded as a result of user interaction with the wrapper. The size of the wrapper may vary through user input.
Description
A method of providing third party content on a webpage
Field of invention
The present invention relates to a method for providing third party content onto a webpage. In particular, the invention relates to a method of providing increased functionality of third party content on a host webpage.
Background to the invention
It is known to provide content such as adverts on a webpage. In the case of adverts, these are typically placed manually onto the webpage, by the website designer, or via "ad networks".
Typically, adverts are in the form of "banners" implemented as a graphic or a small.swf Flash file. A common constraint of these banners is that they should conform to certain pixel size standards and file sizes. A website owner will often restrict the banner to a number of predetermined pixel sizes e.g. a "wide skyscraper" banner is 160 x 600 pixels, or a "full" banner is 468 x 60 pixels. The website owner may also restrict the size of file to, say, 500KB or smaller. The restriction in both pixel and file size is an important constraint for both the website owner and the advertiser. The website owner will not want the advert to be too large a file as a large advert file will slow down the load time of the webpage. Additionally, adverts that are small in pixel size allow the website owner to place several adverts thereby increasing their chances of generating more income. Such constraints however are more problematic for the advertiser. By constraining the size of the banner that can be used, the functionality of the banner is often limited to simple animations or images. Therefore, the banners are typically limited in their functionality and the content they can display. Typically there is no functionality associated with the banner that would allow a user to explore further options associated with the product being advertised.
A form of advertising is "rich media advertising" where digital media, such video and audio, are included in the advert. Rich media advertising is limited to the content that is initially loaded into the advert. For example, if an advert contains a movie trailer in the form of a video file, once the trailer has been watched the user cannot access further content. Therefore requiring them to either "click through" or search online for further related content.
The "click through" event will take the user away from the webpage they are currently browsing and to a webpage that contains further informationladvertising of the product. The website is able to provide the user with information, such as multi-media content, the facility to purchase the product etc. Therefore, if a user is interested in the product, they are required to leave the webpage.
Click through rates in advertising are low, with click through rates typically being less than 1 in 100. A cause of the low click through rate is that users often dislike being taken to a different webpage than they are currently viewing, thereby interrupting their browsing.
A method of increasing the click through rate is to entice the user with a simple game or the like, typically unrelated to the nature of the goods being advertised. For example, an advert may entice the user with the offer of a game and a prize resulting in a click through event.
However, the game and prize are often completely unrelated to the goods being advertised, meaning that the user may have no interest in the advertised product but has simply clicked on an advert to play a game. This is often unsatisfactory for the advertiser as they may have to pay for the click through events where the user has no interest in the product being sold.
An economic constraint is the current method of paying for advertising. Adverts are typically sold on a "per impression" or click through basis. The current technical mechanisms of providing content do not allow for dynamic selling of advertising space based on, say, content or time, due to their inability to dynamically change the content of the adverts.
A further limitation of the current banner type advertising, is the static nature of the adverts.
Adverts are often served by ad-servers, which are normally maintained separately from the person or product that is being advertised. The person advertising the product has no control over what is shown beyond the advert(s) submitted to the ad-server. Therefore, if an advertiser wants to change, or update, their advert, they have to go through the ad-server to implement the change. This is often a time consuming process, and does not allow for dynamically changing adverts to be used.
A method of introducing third party content into a webpage is to use an "iframe" within the HTML code of the webpage. The iframe essentially ports information, such as a map or an embedded video, from a third party website into the webpage. However, the content being displayed on the page through the iframe is entirely dependent on: the size of the iframe defined in the webpage; and the content at the third party's server. Iframes are also considered by some to be a security risk.
If the third party wanted to change the content shown in the iframe they would need to change the information at the server end i.e. change the third party webpage at which the iframe is directed. This is often unsatisfactory, especially in the context of advertising where adverts for products change overtime, as it requires the updating of the webpage which is often time consuming.
A further limitation with an iframe is that the content of the iframe may significantly slow down the load time of a webpage, particularly if the content of the iframe is very bandwidth intensive.
Additionally, the content of the iframe cannot change while the user is viewing the page. The content of the iframe may be changed by the third party, but this would be reflected to the user without them reloading the page. For these reasons and more, iframes may be unsuitable for placing adverts, in particular as the ability to control the content shown in the iframe rests entirely with the third party and requires user interaction.
Therefore, the current implementations of introducing third party content, such as adverts, onto a webpage suffer from several technical limitations. In particular, the content and method of introducing content does not allow for sufficient levels of functionality to be introduced to the content.
An object of the invention is to at least mitigate these, and other technical problems. In accordance with an aspect of the invention there is provided: a method of placing varying third party content onto a host webpage, the method comprising: placing a program comprising a wrapper onto the host webpage; the wrapper configured to contain one or more plug-ins; the program communicating with an application server, said application server hosting a plurality of plug-ins, each plug-in adapted so that when executed they send one or more requests to a specified third party data server! a server which is different to the application server which does not host the webpage; selecting one or more plug-ins from the plurality of hosted plug-ins and downloading the selected plug-in(s) from the application server to be contained in the wrapper; executing the plug-ins as part of the program thereby sending at least one request to the specified third party sever; receiving from the specified third party data server varying data in response to the at least one request; and the program rendering the data, thereby enabling the program to display variable content within the host webpage, wherein the request that is sent by the program is determined by the selection of the plug-in.
Preferably the method further comprising: placing a loader onto the host webpage; the loader communicating with the application server, said application server hosting one or more wrapper programs; using the loader to perform the step of providing the wrapper.
More preferably wherein the wrapper and the one or more plug-ins function separately to the host webpage, and/or wherein the wrapper defines a self contained frame or "kiosk", which is independent of the host webpage it is placed in, and/or wherein the method further comprises the further step of: providing at least further one plug-in so that it is contained in the wrapper or deleting a plug-in contained in the wrapper, preferably in response to a user related action.
Preferably wherein in response to the data downloaded from the specified third party server at least one further plug-in is downloaded from the application server into the wrapper in order to display data from the third party server, and/or where the one or more ftirther plug-ins enable the wrapper to communicate with one or more further, different, specified third party data servers, and/or wherein the plug-ins enable the user to interact with the data from the one or more third party servers via the wrapper.
Preferably wherein communication between the program and the one or more third party data sources is bidirectional, enabling the downloading of further data from the third party server in response to the user's interaction with the data, and/or wherein the plug-in enables the wrapper to support and play multi-media file formats and/or data, and/or wherein the user is enabled to interact with the wrapper and/or frame and in response to a specific user input, such as mouse click event on a visible button, the wrapper and/or frame resizes the display size of the wrapper or frame.
Preferably wherein the frame is initially rendered onto the website a first size, such as 486 x pixels, and in response to the specific user input, is rendered in a second, different, size such as 336 x 280 pixels, and/or wherein the size of the initial loader is less than 10Kb, preferably less than 1Kb, and/or wherein the loader, wrapper and plug-ins are smaller than a pre-determined size, such as 200Kb, which does not significantly increase the load time of the host webpage, preferably wherein the third party data sources are selected according to a system of business or advertising rules. More preferably further comprising the step of the specified third party sever in response to a request from the program selecting from a plurality of possible data sets and sending the selected set in response to the received request, and/or comprising the step of changing to a different the selection in response to a repeat of the same request.
Other aims and aspects of the invention will become apparent from the appended claim set.
Brief description of the drawings
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawing in which: Figure 1 is an example of a kiosk over a host webpage.
Figure 2 is a schematic representation of a "kiosk" according to an aspect of the invention; Figure 3 shows an arrangement of servers; Figure 4 is a data flow diagram of the kiosk load and interaction process; Figure 5 is an example of the "drawers" of a kiosk; Figure 6 is a flow chart of the process of loading third party content and placing a bet via the loaded content; and Figure 7 is an example of third party content that is displayed on a host webpage.
Detailed description on an embodiment
In order to deliver content, with which a user can interact on a webpage the present invention makes use of a "kiosk". A kiosk provides the framework upon which content from a third party may be presented to a user. The kiosk, in the preferred embodiment, is designed to be overlaid on the webpage, thus allowing the user to browse the third party content without having to leave the webpage they are currently viewing. The kiosk can be likened to a physical vending machine which is provided by a facilitator to be placed onto a host site (e.g. an office) which provides the framework/machinery using which different and changeable goods from third parties can be displayed and sold. The facilitator can then have some control over the goods displayed/sold in the machine, as does the host site.
An example of a kiosk system is shown in Figure 1. There is shown the kiosk 24 which sits over the host webpage 100.
In addition, the kiosk 24 is enabled so that the content provider (the person whose content is being shown e.g. the person whose product is being advertised) has some control over what content is being shown; and the kiosk is enabled so that the kiosk provider (e.g. an ad network provider) can control whose content is being shown and what type of content is shown. Therefore, the kiosk offers a level of control to both the kiosk provider and the content provider. The kiosk is also designed to be self-contained from the host webpage 100, and therefore acts in a manner analogous to a sandbox in that the content and the programs used to display the content are separate from the host webpage 100.
In Figure 2 components of the kiosk 24 are shown schematically. The kiosk 24 comprises four elements: the loader 10; kiosk wrapper 12; plug-in 14 and dynamic data 16.
The loader 10, is a loader program that is inserted into the HTML, XHTML, DHTML, CSS code etc., of host webpage 100. The loader program 10 is preferably a very small file, typically less than 1KB. This allows the program 10 to leave a very small "footprint" on the webpage 100. The loader program 10, contains instructions to download a kiosk wrapper 12 from a kiosk provider as described below.
Preferably, the loader program is small enough not to make a noticeable impact on the load time of the content of the host webpage. Therefore, for reasons of speed, and minimising the impact of the content on the load time of the page, the small loader 10 with no functionality beyond that of loading a specific program is preferred. In further embodiments, the loader 10 has further functionality such as graphics that are displayed, or rendered, on the host webpage 100.
The kiosk wrapper 12 is a wrapper in the conventional sense in that it is a data structure that contains ("wraps around") other data or software, so that the contained elements, such as functional elements of software, can exist and can be executed in a newer system.
The kiosk wrapper 12 contains the instructions and routines to render third party content onto the host webpage 100. The kiosk wrapper 12 acts as the interface between the data from a third party and applications or plug-ins required to render the data on screen. The kiosk wrapper 12 therefore provides the software that encases the resources required to display the third party content and acts as the framework within which the kiosk, and its content, is stored.
The kiosk wrapper 12 also contains any plug-ins 14 that have been provided by the kiosk operator. Plug-ins provide specific functionality according to the kiosk's demands. Plug-ins are small computer programs that are designed to interact with the kiosk 24 via the kiosk wrapper 12 to provide specific functionality. Such functionality may include: a video player; other media players, such as audio player; graphics programs; text or chat boxes; programs to initiate online purchases etc. The term plug-in is taken to also include applets. An important plug-in that is utilised in the invention is a third party data source plug-in, which determines the third party data source to be used i.e. what content server is to be used by the kiosk. The third party data source plug-in can be a separate plug-in (one which solely contains information about the data sources to be used) or it can be incorporated into another plug-in (e.g. a video player plug-in can contain information about which third party data source to use). Throughout the specification the term third party data source plug-in will be taken to cover both situations.
As with the loader program 10, the wrapper 12 and plug-ins 14 are also small programs.
Preferably, the combination of the wrapper and plug-ins does not exceed 200KB, so as not affect the loading of the host page.
The content, or dynamic data 16, is obtained from the third party server determined by the third party data source plug-in 14.
The kiosk wrapper 12 provides the framework for the plug-ins 14 e.g. defines the size and position of the plug-in elements on the webpage 100. It also defines where dynamic data 16 is placed when rendered on the host webpage.
As shown in Figure 1 the kiosk 24 is designed to sit over the content of the webpage 100.
Therefore the user of the webpage 100 can access third party content without having to click through and leave the webpage that they are viewing. As the kiosk 24 contains the plug-ins 14 required to render the dynamic data 16, and these are kept separate from the web browser's functionality the kiosk is in effect run in a container separate from the browser which displays the webpage.
In Figure 3 is shown an arrangement of servers which might be used in providing the invention.
The arrangement 200 comprises a user PC UPC, a webpage hosting server 202, a Kiosk Server 204, and a plurality of third party severs 206.
The user PC UPC includes a web browser WB for displaying webpages, the hosting web server 202 hosts webpage 100, the kiosk server 204 includes kiosk application 20 and plug-in database 207, and third party severs 206 include a content database 208 which contain data to be provided as dynamic data 16 but typically also serve to provide content to webpages hosted by that third party (possibly hosted directly on the third party sever 206).
A user of the user PC UPC request the hosted webpage 100 form the hosting web server 202 via the internet and this webpage 100 is then provided and displayed by browser WB in a conventional manner. The hosting web server 202 is in communication with the Kiosk Sever 204 either by a direct clink 18 or via the internet.. Because the kiosk server is a specified server which is a separate server to that of the webpage the loader 101 contains the address of the kiosk server 204.
The third party severs 208 are connected. to the user PC UPC via the internet and provide dynamic data 16 to the kiosk 24 rather than the rest of the host webpage 100. The dynamic data 16 is sent via normal methods, such as HTTP or HTTPS and rendered by the kiosk wrapper 12, utilising the appropriate plug-ins 14 Figure 4 is a data flow diagram of the kiosk load and the obtaining of data from third party source (content database 208) when the host webpage 100, upon which the third party content is shown, is loaded.
There is shown: loader 10; kiosk wrapper 12; plug-ins 14; communication between loader and ad kiosk server 18; ad kiosk server 20; transmittal of kiosk wrapper 22; kiosk 24; communication between kiosks wrapper and ad kiosk server 26; transmittal of plug-ins 28; third party databases 208; and communications between kiosk and third party data server 32.
The loader 10 is placed onto host webpage 100 and when loaded initiates communication between the loader at the user PC UPC and the ad kiosk server 204 via known communication route 18. The loader 10 typically contains code for a request to be sent to the ad kiosk application 20 for a kiosk wrapper 12 to be sent as a download 22 to the address of the loader 10. Therefore, the loader 10 can be very small in size, preferably less than 1KB. In further embodiments, further functionality may be included in the loader 10, however any increase in the size of the loader 10 may cause disadvantages.
The communication between loader 10 and ad kiosk application 20 preferably occurs via known communication means such as HTTP or HTTPS. The ad kiosk application 20 traces the source of the request, through known means such as source request headers, the IP locator etc. In a preferred embodiment, the ad kiosk server 204 will have a form of memory (not shown) detailing the locations of the loaders (e.g. the webpages and user PCs UPC with which the loader programs are associated). The request communication between loader 10 and ad kiosk application 20 is then verified as to its authenticity, and responded to according to whether or not such a request is deemed authentic. In further embodiments, others forms of authentication of the request may be used, such as an encrypted password placed in the communication 18.
Upon receipt (and preferably authentication) of the request, the ad kiosk application 20 commences the download 22 of the kiosk wrapper 12. Preferably in order to minimse compatibility issues the kiosk wrapper 12 is identical for all requests, though in alterative embodiments the kiosk wrapper 12 may change according to the browser WB used to load up the webpage 100, the content to be shown, geographical location of the user (IP address), bandwidth connection speed etc. The kiosk wrapper 12 and the loader program 10 form the kiosk 24 which is rendered on top of the webpage 100 in which the loader 10 is embedded. The kiosk wrapper 12 sends a communication 26 to the kiosk application 20 informing the kiosk application 20 that the wrapper 12 has been successfully downloaded. The kiosk application 20 then makes the decision about what plug-ins 14 from the plug-in database 207 are required by the wrapper 12. This decision is generally based on the nature of webpage 100 and what agreements are in place (and preferably stored at kiosk sever 204) for advertising on that particular host webpage 100.
One plug-in 14 that will nearly always be provided is the third party data source plug-in which determines from which third party server 206 to obtain dynamic data 16. In the context of advertising, this effectively determines what advert is shown on the webpage. The other plug-ins that are downloaded are preferably determined based on the third party data source plug-in(s). For example, if the third party data source plug-in is directed to a video server, a video plug-in is required, and therefore downloaded, to render the content at the kiosk 24.
The choosing of the third party data source plug-in allows the kiosk server 20 to dynamically change what content is shown. In known ad-servers the advert space is typically sold for a period of time and on a "per impression" basis. Therefore, third party may "buy", say, one thousand impressions on an webpage (that is to say their advert will be loaded one thousand times). As there may be no control over what time the content is displayed e.g. the same advert is displayed one thousand times, the advertising cannot efficiently be targeted in a time specific manner. For example, a gambling website may find that punters are more likely to place bets in the two hours preceding an event, or even during an event. Therefore, the advertiser would typically wish to place more adverts in the build-up to a specific event but with conventional systems will find it difficult to do so. The kiosk server 20 can select the third party data source plug-in according to the time and date. As shown below, the third -10 -party can provide the user with the appropriate functionality within the kiosk 24 to, say place the bet, without having to leave the host webpage 100. Therefore, the kiosk 24 provides an advantage over the prior art by allowing the third party to provide specific functionality in a time dependent manner.
Preferably, each third party will have specified what plug-ins 14 are required to display the relevant content from content database 208 in advance. For example, if a third party wishes to show a live sporting event with associated gambling odds, with the intention of allowing the user to place bets via the content, such content may require an video player plug-in, an audio plug-in, a plug-in to allow a user to login into their betting account, a plug-in to display the odds etc. The relevant plug-ins 14 are transmitted as a download 28 to the kiosk 24, via known means such as HTTP. An aspect of the invention is that the communication between the kiosk 24 at the user PC UPC and the kiosk application 20 at the kiosk server 204 is bidirectional, and the plug-ins 14 that are included in download 28 may be varied by the kiosk server 204 or the third party content provider's server 208 and therefore the plug-ins 14 that are downloaded are not limited to those loaded at the initial time. For example, in the above example of the third party showing a live sporting event, the video plug-in may be loaded in first instance but not the plug-in to display the odds. Upon watching the video, the user may indicate that they wish to place a bet by a mouse click event on a button to retrieve the odds, a relevant plug-in 14 could be loaded from plug-in database 207 in response to the mouse click event.
The downloaded plug-ins 14 are compiled into the kiosk 24 by the kiosk wrapper 12. For example, the kiosk wrapper 12 may determine the size and position of a video player within the kiosk 24, and the position of other elements such as a text box for instant messaging purposes.
Once the third party data source plug-in(s) 14 has/have been downloaded from the kiosk server 20, the third party data server 206 can be accessed. The third party data source plug-in requests data from the relevant third party content database 208 via known means such as a HTTP or HTTPS request. Preferably the initial request also contains an authentication means, such as an authentication code, to ensure that the content is not accessed by any unauthorised parties. In the preferred embodiment, the authentication process does not require user -11-intervention. In further embodiments, the URL of the data source may be encrypted to prevent unauthorised access. The authentication process occurs preferably via an encrypted data transmission means to increase the security of the system.
The kiosk application 20 may download more than one third party data source plug-in 14 to the kiosk wrapper 12. For example, a third party may have a specific video server and a content server to provide other media and/or content. Therefore, there would be more than data source from which to obtain data, and accordingly more than one third party data source plug-in 14. Alternatively, the content may be provided by different third parties. For example, a first source may provide a video stream and a second, different, source an audio stream.
Once the kiosk 24 has been authenticated by the third party server 206, dynamic data 16 is transmitted between the kiosk 24 and the server 206 as communication 32. The data 16 is processed by the kiosk wrapper 12 which utilises the plug-ins to render the data on the website.
The data transferred between the kiosk and the server as communications 32 is bidirectional.
Therefore, the data 16 that is being displayed can be continually updated and hence is "dynamic" data 16. Additionally, the end user of the user PC UPC can interact with the content 16 (e.g. select data via a mouse click event, view a video etc.), and the third party server 206 can send further information in response to the interaction.
Accordingly unlike conventional adverts where the content is provided by the ad-server, and not the person whose products are being advertised, the third party data source plug-in allows the kiosk to obtain data from the third party (and therefore potentially the person whose products are being advertised) rather than an ad-server. In particular, the choice of plug-ins 14 allows different third party's data, such as other adverts, to be rendered. Therefore, the third party data source plug-in provides a useful mechanism for selecting and obtaining different sources of data to be displayed on a host webpage 100.
The kiosk 24 provides a self-contained "bundle" of software that is enabled to render content independent of the browser.
-12 -The user can also interact with kiosk 24 and access further content by "opening" a drawer.
The kiosk 24 will typically offer the user access to further functionality in the form of "drawers". An example of a closed and open drawer are shown in Figure 5. There is shown a closed drawer 41 and an open drawer 43 both of which can be displayed as part of kiosk 24.
The closed drawer 41 may contain an indication to the user that further content is available.
In the example shown in Figure 3 this is a banner saying that a music can be heard by clicking on the closed drawer 41. By interacting with the closed drawer 41 the drawer expands to become open 43.
To expand the size of the drawer from closed 41 to open 43 the kiosk 24 must be resized and the coding used to render the webpage (e.g. HTML) must be adapted accordingly. In particular, if the opening of a drawer is, for example, intended to enable a user to view a video the drawer must be sized to at least the size of the video player. As the kiosk 24 is rendered on the host webpage, this requires the code of the host webpage, such as html, to be altered accordingly. To prevent the host webpage owner from having to add the extra html code the present invention can utilise a method of JavaScript insertion to enable the dynamic resizing of the kiosk 24 and the kiosk drawers.
A Flash loader is inserted is loaded as part of the content in the <body> </body> element of the webpage. The loader may be a known loader program. The Flash loader has the standard commands including the getURL() function. This getURL() function is used to dynamically create a JavaScript function. A JavaScript function is called within the getURL() command and the function runs a series of JavaScript commands to insert a <script></script> tag element within the <head></head> element of the host webpage. The script tag references a JavaScript file, thereby allowing JavaScript functions and variables declared inside this file to be used by subsequent JavaScript calls to/from the page. Therefore, by inserting the script tag into the webpage the variables of the kiosk 24 can be changed and the kiosk 24 and the drawers resized accordingly.
In response to the drawer being opened and the consequent display of open drawer 43, the kiosk server 20 can also download a further plug-in 14 to present the data in the open drawer 43. In the present example, as a result of the user opening the drawer 43 the kiosk wrapper 10 communicates to the kiosk server 20 that the drawer is open and a audio player plug-in 14 is -13 -downloaded to be rendered in the open drawer 43. An advantage is that unless the user specifies that they wish to access the content it is not loaded into the kiosk 24 thereby not impacting on the load time of the host webpage 100.
Therefore, the kiosk 24 can be resized according to the content rendered. Additionally, the content rendered by the third party can be dynamically altered by the third party server 30. As the data sent by the third party server 30 can change according to user input, it allows the third party to dynamically alter what is shown in the kiosk 24. For example, if a user is presented with a video of a race, the third party server 30 can transmit a request to the kiosk 24 to download a "poll" plug-in 14 from the ad kiosk server 20. The kiosk can resize and in this example, may present a poll asking the user to vote on, say, who they believe will win the race.
This ability to render new content and dynamically resize the kiosk 24 according to the data being received provides a higher level of functionality associated with, say, iframes which cannot be changed to react to an individual's input as in the example where several people are viewing the same input address from an iframe it would change across all users in response to actions of a single user. As the kiosk 24 does not "point" to a specific webpage, as in the iframe, but rather obtains and renders third party content through a wrapper 12, the content shown on each individual impression of a webpage (i.e. the webpage as seen for each user in a group of users) can change for each user, in essence acting as a self contained webpage of third party content on top of the host webpage.
Furthermore, the ability for the third party server 30 to interact with the ad kiosk server 20 in order to display different content has several advantages. Firstly, it allows varying content to be provided, as the plug-ins can be downloaded different file types can be displayed and different functions can occur depending on what plug-ins 14 are downloaded. Secondly, it allows the content rendered on the screen to be easily changed by changing the data provided by the third party server 30. For example, if the third party server is showing a live video stream of a horse race once the race has finished a different race, or indeed an entirely different event, may be shown at the kiosk.
The resized kiosk 24 will typically cover over parts of the host webpage 100. Whilst this may interrupt a user's browsing experience it will do so far less than clicking through to a new -14 -page. In particular the provider of host webpage 100 will be aware of the different possible sizes of the kiosk 24 and design their webpage 100 accordingly preferably ensuing that the most important/or popular content is still viewable when the kiosk 24 is at its maximum size.
Additionally it is only at the times that a user has specified that they want more content from the kiosk 24 rather than webpage 200 such as by opening a drawer that the kiosk 24 is enlarged and the user can be given the option of closing a drawer and returning to closed drawer 41 at any time.
The kiosk 24 preferably has a "complete close" icon which allows the whole kiosk 24 to be shut down, causing the data connection between the third party and the kiosk 32 to cease and the plug-ins to stop functioning. Preferably, if the kiosk 24 is used to show adverts the kiosk 24 complies with any relevant standards that may exist regarding advertising.
The Example of a kiosk 24 is a betting related advert. Figure 6 is an accompanying flow chart of the process of loading third party content and placing a bet via the loaded content.
There is shown: the user loading the page at step S40; the loader being loaded at step S42; loader requesting wrapper at step S44; wrapper is loaded at step S46; wrapper loading video plug in at step S48; wrapper loading coupon plug-in at step S50; wrapper loading betting plug-in at step S52; video plug-in being loaded at step S54; video plug-in loading the indicated video channels from the video server at step S56; user opening a drawer at step S58; drawer opening and a video plug in displayed in drawer at step S60; a video player plug in playing video screen from the server at step S62; user placing bet at step S77; coupon plug-in being loaded at step S66; coupon loads images and awaiting user input at step S68; betting plug-in loaded at step S70; user opening betting drawer at step S72; drawer opening and displaying betting plug-in at step S74; betting plug-in communicating with betting server and placing bet in a bidirectional manner at step S76; betting plug-in informing user that a bet has been placed at step S78; betting plug-in receiving a streamed finished event at step S80; and betting plug-in received bet outcome from the server at step S82.
In the present example, it is assumed that a user at user PC UPC has already created an account with the betting website.
-15 -At step S40 the user loads the webpage 100 from web server 202 using browser BW. The webpage 100 contains HTML coding of the webpage and the loader 10. The loader 10 is loaded at step S42. As described previously, the loader 10 requests the kiosk wrapper 12 from the kiosk application 20 at step S44. The kiosk application 20 downloads the wrapper 12 to the website at step S46. The kiosk wrapper 12 queries the kiosk application 20 for the relevant plug-ins 14. The kiosk server 20 determines the relevant plug-ins 14 (preferably according to a rules engine, not shown) and in this example the wrapper 12 then loads a video plug-in at step S48, a coupon plug-in at step S50, and a betting plug-in at step S52 into the kiosk 24 thereby enabling the kiosk 24 with functionality to display videos, coupons and provide a betting service.
At step S54 the video plug in is loaded into the kiosk wrapper 12, thereby giving the kiosk 24 the functionality to display and render video content onto the user's web browser. At step S56, the third party data plug-in indicates to the kiosk 24 which third party data sources 208 are required for the kiosk 24. The video plug in loads videos from the channels of the video server 206. The video server is a conventional data server, which comprises video content to be streamed from the third party. At step S56 the video plug-in has loaded the channel from the server but has not commenced downloading of the content of the channels, therefore the video stream has been initialised from the server but the content of the videos has not yet commenced streaming. For example, the video plug-in may initiate real time streaming protocol headers and user datagram protocol headers to initiate video streaming to the kiosk 24.
Additionally, a login plug-in and a registration plug-in (not shown) may be downloaded by the kiosk server 20 to the kiosk 24, in order for the user to access their own account or to create their own account. In the present example, it is assumed that the user has an account and has successfully "logged in" to their account.
At step S58, the user opens a drawer of the kiosk 24. The drawer is opened in response to a user interaction with the kiosk 24, typically a mouse click event on an icon to expand the drawer or show a hidden feature (as discussed with reference to Figure 5). The opening of the drawer causes the execution of the JavaScript previously injected into the webpage thereby allowing the kiosk to be resized. Preferably, the resizing is according to the functionality of the selected drawer. For example, a drawer containing a video player would -16-typically be bigger than a drawer containing a text input bar. At step S60 the drawer is opened and the video plug in is displayed within the open drawer. Therefore, the open drawer displays a video player which is enabled to stream the content of the channels as selected at step S56. The user selects the play functionality of the video plug-in, and the video plug-in plays the video stream from the video server at step S62. The video player is a known video media player, such as RealVideo (RTM) player, though other video players (including proprietary video players) may be used. The video is rendered onto the webpage by the kiosk using standard video streaming protocols. Therefore, the video player plug-in 14 has allowed the kiosk 24 to display videos using the kiosk wrapper 12, thereby isolating the video playing element from the main webpage.
At step S50 the wrapper downloads a coupon plug-in from the kiosk server 20. The coupon plug-in is loaded into the kiosk 24, and renders a coupon onto the kiosk which is overlaid on the host webpage 100. Typically such coupons are used for login purposes, advertising purposes (e.g. where a user is invited to input their email for the opportunity to win a prize) etc. The coupon in the present example, allows further advertising to be rendered onto the host webpage by the kiosk 24.
At step S52 the wrapper loads a betting plug-in to the kiosk 24. The betting plug-in is loaded by the kiosk wrapper 24 at step S70. At step S72, the user selects to open a drawer causing the execution of the JavaScript to resize the kiosk 24 (see Figure 4). The resizing of the kiosk 24, allows the betting plug-in to be displayed at step S74. The betting plug-in will contain and render such information as the current betting odds for a number of events. Preferably the odds which are displayed at step S74, relate to the video which is being shown in the video steam at step S62. This allows the user to view and place bets via the kiosk whilst watching the video stream.
At step S76, the betting plug in communicates with a betting server 206. The betting server is a different data source to the video server used in the same example, therefore the betting server and the video server require the different plug-ins to identify the third party data server from which to obtain data. At step S77 the user views the live video stream played by the video plug in at step S62, and places a bet at S77. The user places the bet by interacting with the displayed betting plug-in through the open drawer. The open drawer, preferably contains information regarding the events being shown and the relevant odds at that time. The user -17 -places the bets using data input devices such as a keyboard or a mouse, to select the bet that they wish to make. The data inputted via the open drawer (e.g. amount, spread etc.) is sent via the betting plug-in to the betting server at step S76. Therefore the communication between the betting server and the betting plug-in is a by directional communication stream, allowing the updating of odds and/or placing of bets to occur. An aspect of the present invention, is that the data sent and received by the betting server is dynamic data 16 therefore it is variable over time, thereby allowing, for example, up-to-date odds to be presented. Once the betting server has successfully received the information from the betting plug in at step S76, a confirmation message is sent from the betting server to the betting plug in at step S78 to inform the user that a bet has successfully been placed. The user continues to watch the video of the event as shown at step S62. When the event is finished, the betting plug-in receives an indication that the video stream has terminated from either the video server or the betting server. In a preferred embodiment such a notification is sent from the betting server to prevent bets being placed after the completion of the event. The betting plug-in then receives from the betting server confirmation of the outcome of the bet placed at step S76 at step S82.
Therefore, the kiosk 24 has enabled a user to select and view a live event via a video stream, place a bet via a betting server, and become informed of the result of the bet whilst staying on the original webpage. In other words, the user has not had to initiate a "click through" event and leave the content that they wish to view. Additionally, it has allowed a user to Once the bet has been completed, or the user simply wishes to stop watching the event, the kiosk can be closed in a pre-determined manner (such as clicking a close icon) and the user is enabled to continue viewing the original host webpage. Preferably, the closing of the kiosk 24 will also initiate the proper "log out" procedure for the accessed account. The kiosk 24 is also enabled to allow the user to close certain drawers instead of the whole kiosk 24. For example, if a user has finished viewing a race via the video plug-in, but may still wish to place bets they can close the video plug-in drawer and continue browsing the third party content via the host webpage 100.
A further benefit is that unless the user wishes to interact with certain aspects of the kiosk 24 the drawers remain closed 41 (see Figure 5). This allows the kiosk 24 to remain small both in terms of pixel size and in terms of file size thereby causing the minimum of inconvenience for a user who does not wish to access the third party content. Similarly, if the user does wish -18 -to access the third party content by selecting and opening the drawers 43 they can decide what content they wish to access and furthermore they can access potentially bandwidth intensive content e.g. streaming media, without having to leave the host webpage 100.
In further embodiments, other content may be shown according to the requirements of the third party. For example, the third party may be an estate agent and the plug-ins allow a virtual tour of the properties. The kiosk server 20 would download the appropriate third party data source plug-in, plug-ins to allow the virtual tour to be shown e.g. a video and audio plug-in, and a plug-in to allow the user to book a viewing. The third party content shown varies according to the business aim of the third party, whilst allowing the third party to provide the user with potentially the same functionality as if the user had "clicked through" onto the third party's website.
The kiosk application 20 can also control the content of the third party data. If the user has "shut-down" a kiosk 24, or not opened a drawer etc, the kiosk server 20 can download a different third party data source plug-in 14 to the kiosk wrapper 12 and therefore changing the content shown on the kiosk 24. The kiosk server 20 can also download other plug-ins and third party data source plug-ins in response to the user's actions at the kiosk. For example, the kiosk presents the user with a video trailer for a new film, the ad server 20 can download a plug-in to allow the user to purchase cinema tickets online, potentially requiring a further third party data source plug-in to access, say, an online ticketing server. The data sources and plug-ins shown are preferably evaluated against a set of predetermined business rules to ensure that the different content is complimentary and, preferably, not competing.
Whilst the third party chooses the content, the type and data size of the plug ins 14 is decided by the provider of the kiosk possibly in collaboration with the webpage 100 provider In addition if for example the hosting web server 202 or kiosk sever 204 monitors the data connections and finds that a third party server 206 is sending an unacceptably large amount of dynamic data 16 through kiosk 24 (which is for example thought to slow a user's use of host webpage 100 who is not interested in the kiosk 24) the plug-ins 14 can be changed to rectify the situation.
-19 -Whilst the rules regarding what content is shown may sometimes be a business consideration, the provision of the capability to be able to effectively control said content, and dynamically change represents technical benefits to those implementing such systems.
Figure 7 is an example of third party content that is displayed on a webpage. There is shown the kiosk 24 the expanded coupon drawer 90, expanded odds drawer 92, video stream 94 and video channels 96a, b, c.
The kiosk 24 in the example comprises a coupon 90, an odds drawer 92 and a live video stream 94 of a horse race (as shown in the side bar as channel 96a). The odds 92 relate to the race shown in the video stream 94, thereby allowing the user to bet during the race. The odds 92 are constantly updated by the third party data server (e.g. an online betting server) to reflect the current status of the race. In another embodiment the odds 92 relate to the races shown in the alternate video channels 96 b and c. Therefore, the kiosk 24 allows the user to view different events and place bets on the desired event.
Whilst the above examples are shown in the context of placing advertising onto a host webpage, it will be appreciated that the functionality of the kiosk 24 and the interaction of the plug-ins 14 would allow a wide range of third party, not just advertising, to be shown on a host webpage. For example, the kiosk 24 could be used to show interactive talks online, where the content server is held separately from the host webpage. e.g. A conference webpage could host a live video feed of talk provided by a third party.
-20 -
Claims (21)
- Claims 1. A method of placing varying third party content onto a host webpage, the method comprising: placing a program comprising a wrapper onto the host webpage; the wrapper configured to contain one or more plug-ins; the program communicating with an application server, said application server hosting a plurality of plug-ins, each plug-in adapted so that when executed they send one or more requests to a specified third party data server which does not host the webpage; selecting one or more plug-ins from the plurality of hosted plug-ins and downloading the selected plug-in(s) from the application server to be contained in the wrapper; executing the plug-ins as part of the program thereby sending at least one request to the specified third party sever; receiving from the specified third party data server varying data in response to the at least one request; and the program rendering the data, thereby enabling the program to display variable content within the host webpage, wherein the request that is sent by the program is determined by the selection of the plug-in.
- 2. A method according to claim 1, the method further comprising: placing a loader onto the host webpage; the loader communicating with the application server, said application server hosting one or more wrapper programs; using the loader to perform the step of providing the wrapper.
- 3. The method of claim 1 or 2 wherein the wrapper and the one or more plug-ins function separately to the host webpage.
- 4. The method of claims 1 or 2 wherein the wrapper defines a self contained frame or "kiosk", which is independent of the host webpage it is placed in.-21 -
- 5. The method of any preceding claim wherein the method further comprises the further step of: providing at least further one plug-in so that it is contained in the wrapper or deleting a plug-in contained in the wrapper, preferably in response to a user related action.
- 6. The method of claim 5 wherein in response to the data downloaded from the specified third party server at least one further plug-in is downloaded from the application server into the wrapper in order to display data from the third party server.
- 7. The method of claims 5 or 6 where the one or more further plug-ins enable the wrapper to communicate with one or more further, different, specified third party data servers.
- 8. The method of any preceding claim wherein the plug-ins enable the user to interact with the data from the one or more third party servers via the wrapper.
- 9. The method of claim 8 wherein communication between the program and the one or more third party data sources is bidirectional, enabling the downloading of further data from the third party server in response to the user's interaction with the data.
- 10. The method of any preceding claim wherein the plug-in enables the wrapper to support and play multi-media file formats and/or data.
- 11. The method of any preceding claim wherein the user is enabled to interact with the wrapper and/or frame and in response to a specific user input, such as mouse click event on a visible button, the wrapper and/or frame resizes the display size of the wrapper or frame.
- 12. The method claim 11 wherein the frame is initially rendered onto the web site a first size, such as 486 x 60 pixels, and in response to the specific user input, is rendered in a second, different, size such as 336 x 280 pixels.
- 13. The method of any preceding claim wherein the size of the initial loader is less than 10Kb, preferably less than 1Kb.-22 -
- 14. The method of any preceding claim wherein the loader, wrapper and plug-ins are smaller than a pre-determined size, such as 200Kb, which does not significantly increase the load time of the host webpage.
- 15. The method of claim 14 wherein the third party data sources are selected according to a system of rules.
- 16. The method of any preceding claim further comprising the step of the specified third party sever in response to a request from the program selecting from a plurality of possible data sets and sending the selected set in response to the received request
- 17. The method of claim 16 comprising the step of changing to a different the selection in response to a repeat of the same request.
- 18. A computer system comprising at least one server including an application to be executed on the server, and a plurality plug-ins, each plug-in adapted so that when executed they send one or more requests to a specified third party data server; the application adapted to: place a program comprising a wrapper onto a host webpage hosted by a different sever to the at least one sever and specified third party data server; the wrapper configured to contain one or more plug-ins, and to communicate with any placed programs to select one or more plug-ins from the plurality of plug-ins and transmit the selected plug-in(s) to any placed programs to be contained in their wrapper, wherein the program is adapted to execute the plug-ins thereby sending at least one request to the specified third party sever, and rendering the data, thereby enabling the program to display variable content within the host webpage.
- 19. A computer system of claim 18 wherein the system is further enabled to execute any of steps of the method of one of more of claims ito 17.
- 20. A computer program product containing instruction that when executed upon a computer implement the steps of the method of one or more of claims 1 to 17.-23 -
- 21. A computer application for placing third party content onto a host webpage, the application enabled to function independently of the host webpage, the application enabled to: communicate with at least one server; download one or more plug-ins from the at least one server, comprising at least one data source plug-in and at least one functional plug-in, wherein the server the data source plug-in is adapted so that when executed it sends one or more requests to a specified third party data server and the functional plug-in is enabled to allow the application to execute a specific functionality, the functional plug-in may be the same, or different, plug-in to the data source plug-in; execute the at least one data source plug-in, thereby communicating with the one or more specified third-party data server(s) and receive data from the third party data server; execute at least one functional plug-in thereby enabling the application to perform the specific functionality of the plug-in; render the data received from the one or more specified third-party data servers, preferably using the specified functionality of the functional plug-in.-24 -
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0919798A GB2475278A (en) | 2009-11-12 | 2009-11-12 | Self-contained interactive framework for third-party content on webpages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0919798A GB2475278A (en) | 2009-11-12 | 2009-11-12 | Self-contained interactive framework for third-party content on webpages |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0919798D0 GB0919798D0 (en) | 2009-12-30 |
GB2475278A true GB2475278A (en) | 2011-05-18 |
Family
ID=41509247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0919798A Withdrawn GB2475278A (en) | 2009-11-12 | 2009-11-12 | Self-contained interactive framework for third-party content on webpages |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2475278A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2905946A1 (en) * | 2014-02-07 | 2015-08-12 | Sick Ag | Sensor with application program |
CN108089887A (en) * | 2016-11-18 | 2018-05-29 | 阿里巴巴集团控股有限公司 | A kind of startup control method and device of new added pages |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001029727A2 (en) * | 1999-10-21 | 2001-04-26 | Adfluence, Inc. | Network methods for interactive advertising and direct marketing |
US20070083440A1 (en) * | 2000-08-11 | 2007-04-12 | Wirtz Joseph G | Method, system and computer program product for secure electronic purchasing from a plurality of merchants on a common web site |
-
2009
- 2009-11-12 GB GB0919798A patent/GB2475278A/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001029727A2 (en) * | 1999-10-21 | 2001-04-26 | Adfluence, Inc. | Network methods for interactive advertising and direct marketing |
US20070083440A1 (en) * | 2000-08-11 | 2007-04-12 | Wirtz Joseph G | Method, system and computer program product for secure electronic purchasing from a plurality of merchants on a common web site |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2905946A1 (en) * | 2014-02-07 | 2015-08-12 | Sick Ag | Sensor with application program |
CN108089887A (en) * | 2016-11-18 | 2018-05-29 | 阿里巴巴集团控股有限公司 | A kind of startup control method and device of new added pages |
CN108089887B (en) * | 2016-11-18 | 2021-05-18 | 阿里巴巴集团控股有限公司 | Starting control method and device for newly added page |
Also Published As
Publication number | Publication date |
---|---|
GB0919798D0 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7178161B1 (en) | Method and apparatus for creating a connection speed detecting movie and rich media player customization on the fly | |
US8789040B1 (en) | Converting non-natively executable programs to downloadable executable programs | |
US7028072B1 (en) | Method and apparatus for dynamically constructing customized advertisements | |
US11893604B2 (en) | Server-side content management | |
CN102483826B (en) | Viral combined Interactive Product system and method | |
JP5313882B2 (en) | Device for displaying main content and auxiliary content | |
US20090165041A1 (en) | System and Method for Providing Interactive Content with Video Content | |
US8533754B2 (en) | Embedded video player with modular ad processing | |
US20060271486A1 (en) | Digital publication system and apparatus | |
US20080281685A1 (en) | Media with embedded advertising | |
US20100030641A1 (en) | System for targeted advertising | |
US20130036355A1 (en) | System and method for extending video player functionality | |
US20130219426A1 (en) | Delivery of High Quality Videos to Mobile Devices and the Use of Virtual Currencies to Incentivize Watching of Videos | |
US20110202397A1 (en) | Systems and Methods to Deliver Event-Driven Content | |
KR20020011446A (en) | Advertising system | |
EP3001377A1 (en) | Selectable styles for text messaging system user devices | |
US20110238688A1 (en) | Content distribution using embeddable widgets | |
US20090198573A1 (en) | Advertisement Insertion System and Method | |
EP3001328A2 (en) | Selectable styles for text messaging system font service providers | |
WO2009039182A1 (en) | Systems and methods for third-party ad serving of internet widgets | |
EP3001379A1 (en) | Selectable text messaging styles for brand owners | |
US20090307058A1 (en) | End user interface customization and end user behavioral metrics collection and processing | |
EP2565838A1 (en) | User-defined advertisement targeting | |
GB2475278A (en) | Self-contained interactive framework for third-party content on webpages | |
US20140129348A1 (en) | System for targeted advertising |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |