WO2009147365A1 - Distribution de contenu à base d'internet - Google Patents
Distribution de contenu à base d'internet Download PDFInfo
- Publication number
- WO2009147365A1 WO2009147365A1 PCT/GB2009/001144 GB2009001144W WO2009147365A1 WO 2009147365 A1 WO2009147365 A1 WO 2009147365A1 GB 2009001144 W GB2009001144 W GB 2009001144W WO 2009147365 A1 WO2009147365 A1 WO 2009147365A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- content
- added
- webpage
- browser
- gadget
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Definitions
- the invention is directed to the field of web-based content and, in particular, to adding content, including but not limited to gadgets and widgets, to a webpage in an efficient manner.
- personalised homepages on the Web have existed for many years, with MyYahoo!® being one of the first popular examples.
- Such personalised homepages allow a user to customise their own personal webpage user-interface by inserting self-contained elements of content and, optionally, functionality.
- These self-contained user-interface elements are often known as "widgets" or "gadgets".
- a gadget is often personalised for a specific user. For example a user may add a weather gadget to show the weather forecast specific to their home town, or a sport gadget to show latest news headlines relating to their favourite team. Other gadgets may be used to display personal photos or personalized news.
- a gadget may also be thought of as a portable chunk of code that can be installed by an end user and executed within an HTML-based webpage without requiring re- compilation of the webpage.
- Gadgets are normally restricted in the screen area they can use to present information because a single, personalised homepage may be shared between many gadgets, often organised into columns. As a consequence, information displayed on a personalised homepage by a gadget is usually an overview or summary together with links to a separate website containing more detail on the gadget's topic.
- a homepage provider e.g. Yahoo!®
- More recent examples e.g. Netvibes®, iGoogleTM allow any third party to create a gadget and publish it for others users to add to their own personalised homepage.
- Google's iGoogleTM website allows the user to customise their personalised homepage by selecting gadgets.
- This is a long-winded process requiring the user to navigate away from their homepage to a catalogue, select an element to add to their homepage and then reload their entire homepage.
- AJaX Asynchronous JavaScript and XML
- HTML and JavaScript are examples of web gadgets composed of HTML and JavaScript.
- the AJaX technique alone is not suitable for returning the HTML content of a gadget for insertion directly into a webpage. This is because the gadgets on any one container page may derive from different third-party sources and may access or display information that is confidential to the user.
- each gadget is contained by an HTML Frame.
- the IFrame is designed to facilitate embedding one HTML document inside another and acts to prevent one gadget from interrogating the content of another. Standard IFrame behaviour dictates that its contents cannot be specified directly (e.g. from data contained in the response to an AJaX request).
- US 2007/214239 describes the use of AJAX to update parts of a form, e.g. in response to a user clicking a button in their browser. This relates to validating user input into a web form and returning an appropriate response to populate a preconfigured area of the page.
- US 2008/040653 describes a hosted server application that receives data submitted from code embedded in a web page in order to verify the origin of the page so as to prevent click-fraud or referral-fraud in the field of web advertising. In response to the data, the hosted server application may return an appropriate advertisement in the form of a banner ad, for example, however, no content is generated for insertion into the page based on the server response - rather a response is received and inserted into the page exactly as it was received.
- US 2002/188936 describes a software module to provide client-server communication. This uses a "synch window" invisible to the user, which requires data to be converted before loading into the user's browser window.
- the inventors have realised that known techniques are wasteful of user time, server processing capacity and network bandwidth, requiring the re-provisioning of data previously provided to the user, and have devised an improvement aimed at addressing these issues.
- the inventors have provided a method of adding content to a webpage loaded on a browser while keeping the webpage loaded on the browser; in which the content comprises a first part and a second part; in which the method comprises, without navigating away from the webpage, opening a dialogue window for user selection of content for adding to the webpage; accepting, in the dialogue window, a request for the content to be added to the webpage and obtaining an indicator of a location of the second part of the content to be added; generating the first part of the content to be added; inserting the first part of the content to be added and the indicator for the second part of the content to be added into the webpage; accessing the location of the second part of the content to be added; instigating transfer of the second part of the content to be added from the specified location to the browser and combining the transferred second part with the first part in the webpage.
- the method comprises the browser submitting, without navigating away from the webpage, an XML HTTP request to a web server indicating the content to be added; the web server responding to the request with the indicator for the content to be added.
- the indicator is inserted into the first part of the content to be added for retrieving an HTML rendering of code defining the second part of the content to be added; preferably using JavaScript running in the webpage to generate code defining the content to be added.
- a request to update a record of the webpage content maintained by the server is sent with information on the content to be added.
- the browser in response to the request sent from the browser to the server, receives data that allows the first part of the content to be added to be generated.
- the content to be added comprises one of a gadget and a widget and the indicator comprises a URL.
- the webpage to which the content is to be added may comprise at least one of a gadget and a widget.
- a floating element is generated in the browser comprising a prompt to a user of the browser to indicate the content to be added.
- the browser upon insertion into the webpage of the first part of the content to be added and the indicator, automatically accesses the location specified by the indicator and transfers the second part of the content to be added from the specified location to the webpage.
- the inventors have also provided a system for adding content to a webpage loaded on a browser without re-loading the webpage on the browser; in which the content comprises a first part and a second part; in which the system comprises: a rendering function for generating the first part of the content to be added; said browser for inserting the first part of the content to be added and an indicator for the second part of the content to be added into the webpage, accessing a location specified by the indicator, transferring the second part of the content to be added from the specified location to the browser and combining the transferred second part with the first part in the webpage.
- the system comprises JavaScript for operation in the webpage to generate code defining the content to be added.
- an interface is provided for sending a request to update, with information on the content to be added, a record maintained by the server of the webpage content.
- the browser is arranged to receive data in response to the request sent from the browser to the server that allows the first part of the content to be added to be generated.
- Figure 1 is a schematic of an Internet network to which the invention can be applied;
- Figure 2 is a workflow state-diagram according to a known arrangement
- Figure 3 is a wireframe diagram of a typical gadget homepage.
- Figure 4 is a workflow state-diagram according to the invention.
- Figure 5 is a wireframe diagram of the gadget homepage, showing an "Add gadget" dialog according to the invention.
- FIG. 1 we find a schematic of an Internet-based network to which the invention can be applied.
- a user (not shown) is able to access web content using a browser running on network PC 2 connected via Internet 4 and Internet service provider
- Figure 2 details the basic workflow of a known system for adding gadgets to a user's personalised homepage.
- the known system of Figure 2 while viewing their personalised homepage (e.g. on network PC 2), the user selects a link in a page header
- the personalised homepage is closed and the user is taken to a new page (i.e.: a new page is downloaded to the user's network PC) to allow the user to select the gadget they wish to add.
- the new page typically displays information on a number of gadgets with a selection button (e.g. marked "Add") provided for each gadget mentioned on the page.
- a selection button e.g. marked "Add”
- the request may, optionally invoke validation and profile updates at the server.
- the server Upon successful completion of these server-side activities the server reloads the user's personalised homepage onto user's network PC 2. Included in the reloaded homepage are all the headers/footers, menus and navigation buttons previously displayed, together with all previously loaded gadgets and, finally, the newly added gadget.
- the content of the user's personalised homepage (as illustrated in Figure 3) is displayed in the form of a webpage comprising different areas of text and images.
- the user's personalised homepage 10 comprises, by way of example, a header
- menu bar 12 various forms 14 for displaying content on individual topics and footer 16.
- "Add gadget" button 18 is included in menu bar 12.
- the webpage is suitable for displaying gadgets and may already include one or more gadgets downloaded from web server 8. In the following, we shall refer to the webpage being viewed as the user's personalised homepage.
- Figure 4 details the new workflow according to the invention.
- the user While viewing their personalised homepage, the user initiates the add-gadget process, for example, by clicking on a link (e.g. an "Add Gadget” button) in the page header or forming part of a menu.
- a link e.g. an "Add Gadget” button
- the user's browser opens an "Add Gadget" dialogue window in front of the user's personalised homepage, as illustrated in Figure 5 in the form of floating element 20 above the personalised homepage 10.
- Floating element 20 forms part of the existing, personalised homepage 10 and may be provided using standard HTML and CSS (cascading style sheets) techniques to create an absolute-positioned HTML element that appears to float above the rest of the page. Note that, although part of user's personalised homepage 10 may be obscured, the user's personalised homepage is still loaded in the browser.
- the "Add Gadget" dialogue window comprises floating element 20 (rather than a separate browser window).
- Floating element 20 comprises add gadget dialogue header 22 and various sections 24, each section dedicated to displaying information about a different gadget. Each section 24 has an "Add" button 26 for allowing the user to select the gadget described in that section.
- selecting the "Add" button causes the user's browser to submit an XMLHTTPrequest (for example an AJaX request) to add the new gadget to the user profile (that is: a profile of the content of the user's personalized webpage) maintained by web server 8 .
- the request to add a new gadget to the user profile is sent from the user's browser on PC 2 to web server 8 in the background (i.e. without having to change the content of the user's personalized homepage).
- the request includes a parameter to uniquely identify the gadget that is the subject of the request.
- the request may also include (but is not limited to): a column number and reference to a position within the column indicating the position within the user's personalised homepage at which the new gadget is to be added (if supported by the page layout).
- the request may also include (but is not limited to): a user ID.
- a request to add a gadget containing just a gadget identifier may take the form:
- the user profile held by web server 8 maintains, for each user, information on the content, including gadgets, currently comprised in the user's personalised homepage.
- the user profile is a collection of data that defines the user's personalized homepage. As a minimum this will comprise: a unique identifier for the user (the User ID) and identifiers for all the gadgets currently added to the user's page including their position.
- the user profile may optionally also include additional information relating to the user, such as forename, surname, email address etc.
- the user profile allows web server 8 to re-establish the user's personalized webpage, with all the content previously present being re-loaded, once the user wishes to view it once more.
- web server 8 updates the user profile with information to identify the added gadget.
- This information takes the form of an indicator, e.g.: the URL or another suitable identifier of the location where the gadget is hosted.
- URL e.g.: the URL or another suitable identifier of the location where the gadget is hosted.
- Web server 8 may also optionally validate that the gadget to be added is available and valid as, especially when hosted on third-party website 9, the gadget code may have been moved or the third-party server may be unavailable.
- Server-side validation is done using whichever is the preferred web framework for the application. If provided, the validation checks the parameters passed in the request and serves to handle invalid input in a user-friendly manner. Server-side validation advantageously acts as a barrier to malicious users seeking to corrupt a valid request, e.g.: in order to gain access to restricted resources.
- the server Upon successful completion of any server-side validation and profile updates, the server returns a response to the client web browser on user's PC 2 to indicate that the gadget has been added successfully to the user profile.
- This response acts to inform the browser that the gadget identified in the request is valid and that the user profile has been successfully updated.
- the response will typically be returned as XML (extensible markup
- the response may also contain the URL of where the newly added gadget is hosted - this choice is simply a matter of implementation preference.
- JavaScript running in the client browser removes the "Add Gadget” dialog thus revealing any parts of the user's personalized homepage that were obscured by the appearance of the dialogue.
- the profile update request and the corresponding response form the server are optional.
- the browser may continue without the validation information from the server and without requesting updating of a user profile, if such precautions are seen as unnecessary.
- the browser generates a skeleton HTML fragment (often referred to as the "gadget chrome") to contain the gadget.
- the gadget chrome is generated based on data received either from web server 8 in response to the profile update request or from the "Add g gadget" dialogue.
- JavaScript running in the user's browser on network PC 2 creates the gadget chrome which comprises the user interface elements immediately surrounding the gadget such as title bar, border, and any links to minimise/maximise/remove the gadget.
- the server response does not contain the actual HTML code for the gadget chrome so the content of the response cannot be inserted into the webpage immediately, rather the response contains enough information about the gadget-to-be-added for the JavaScript running in the webpage to generate the HTML code of the gadget. As a minimum this information will include the gadget's URL, but may also include gadget title, gadget position, colours for border, title bar etc.
- the JavaScript creates an HTML "Frame" tag with a source attribute which the JavaScript configures into an appropriate URL that, when invoked, will return an HTML rendering of the gadget code from whichever server it is hosted on (this may be the same server as web server 8, but is more likely to be third- party web server 9).
- the JavaScript within the browser then dynamically inserts the newly created gadget chrome into the user's personalized homepage in an appropriate position (e.g. at the top of the first column, above all other preexisting gadgets or at the position within the user's personalised homepage indicated in the request ). It will be understood that the precise sequence of actions may be selected according to individual preference.
- the source attribute or URL may be combined with the IFrame either before or after the IFrame is inserted into the webpage.
- the browser renders the content of the IFrame based on the IFrame source attribute and the gadget appears.
- the browser is able to update the user's personalised homepage by identifying and fetching only the content required for that gadget, whereas, in previous implementations, the server would also have to look up all the gadgets currently present on the user's personalised homepage and return URLs for each of these gadgets for the browser to fetch.
- the invention presented here develops modern "Web2.0" techniques to allow a user to add a gadget to their personalised webpage without having to navigate away from their homepage.
- the gadget is dynamically inserted into the currently-loaded webpage without the need to reload any part of the page.
- This has advantages from a usability perspective as it is more intuitive, but also from a website performance perspective as only the new component of the page (the gadget) is sent from the server to the browser, rather than the whole page content being resent and reloaded.
- a different hosting source i.e.: different third-party web servers
- This has the effect of transferring less data over the network (reducing hosting/bandwidth costs) and increasing the speed at which the updated page will render the new gadget and become usable again.
- the homepage will, according to conventional arrangements, issue to the server requests for all of the data for all twenty-one gadgets; will reform the entire homepage and will attempt to load all twenty-one gadgets on the page as content.
- the homepage will issue to the server one request for only the content required for the twenty- first gadget.
- the twenty-first gadget is dynamically rendered in the homepage leaving the other twenty gadgets untouched.
- a further advantage of the proposed invention is that, as the postulated twenty existing gadgets are untouched, any transient "state" information is maintained - for example if in one of the existing gadgets a user had clicked on links, entered some data or performed a search, the information will be preserved, even if the data has not been saved by the gadget, because the gadget has not been reloaded and therefore retains its "state”.
- any transient state information is lost upon adding a new gadget, because all gadgets are reloaded when the new gadget is loaded and so return to their initial state
- the gadget may comprise fixed data or data combined with functionality (in the form of code or script).
- the data may comprise links to further content held on the web server or on one or more different web servers.
- Validation of the remote gadget code may be preferable, e.g.: in order to improve security, but is not an essential element of the present invention, which is capable of providing improved gadget processing without any validation of remote gadget code.
- server-side validation may be preferable, e.g.: in order to improve security in certain applications, but is not an essential element of the present invention, which is capable of providing improved gadget processing without any server side validation.
- references to a browser include any form of software application which enables a user to display and interact with information comprised in a webpage.
- suitable browsers include, Mozilla Firefox, Safari from Apple Inc, Opera from Opera Software ASA and Internet Explorer from Microsoft Inc.
- the invention may be implemented in computer program product software, any or all of which may be contained on various storage media so that the program can be loaded onto one or more general purpose computers or could be downloaded over a computer network using a suitable transmission medium.
- the computer program product used to implement the invention may be embodied on any suitable carrier, readable by a suitable computer input device, such carrier comprising optically readable marks, magnetic media, punched card or tape, or on an electromagnetic or optical signal.
- a system and method for adding content such as a gadget, comprising a first part and a second part, to a webpage loaded on a browser without requiring the webpage to be re-loaded on the browser in the process.
- content such as a gadget
- the first part of the content is generated and combined with an indicator for the second part of the content.
- the first part of the content and the indicator are inserted into the webpage.
- a location specified by the indicator is accessed by the browser and the second part of the content is transferred from the specified location to the browser which combines the transferred second part with the first part in the webpage.
- the browser optionally generates a floating element that appears on top of the webpage with a prompt to a user of the browser to indicate the content to be added.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention porte sur un système et sur un procédé pour ajouter un contenu, tel qu'un gadget, comprenant une première partie et une seconde partie, à une page Internet chargée sur un navigateur sans nécessiter que la page Internet soit rechargée sur le navigateur dans le processus. Tout en conservant la page Internet chargée sur le navigateur, la première partie du contenu est générée et combinée avec un indicateur pour la seconde partie du contenu. La première partie du contenu et l'indicateur sont introduits dans la page Internet. Le navigateur accède à un emplacement spécifié par l'indicateur et la seconde partie du contenu est transférée à partir de l'emplacement spécifié au navigateur qui combine la seconde partie transférée avec la première partie dans la page Internet. Le navigateur génère facultativement un élément flottant qui apparaît sur le dessus de la page Internet avec une invite incitant un utilisateur du navigateur à indiquer le contenu devant être ajouté.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0809973.1 | 2008-06-02 | ||
| GBGB0809973.1A GB0809973D0 (en) | 2008-06-02 | 2008-06-02 | Web-based content |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009147365A1 true WO2009147365A1 (fr) | 2009-12-10 |
Family
ID=39637962
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/GB2009/001144 WO2009147365A1 (fr) | 2008-06-02 | 2009-05-08 | Distribution de contenu à base d'internet |
Country Status (2)
| Country | Link |
|---|---|
| GB (1) | GB0809973D0 (fr) |
| WO (1) | WO2009147365A1 (fr) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102214079A (zh) * | 2010-04-07 | 2011-10-12 | 阿里巴巴集团控股有限公司 | 微件数据的显示方法和装置 |
| NL2008085C2 (en) * | 2012-01-05 | 2013-07-09 | Weight A Moment B V | Method for displaying websites. |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2000021002A1 (fr) * | 1998-10-01 | 2000-04-13 | International Business Machines Corporation | Systemes, procedes et produits de programmes informatiques pour affecter, produire et acheminer un contenu aux utilisateurs d'un reseau intranet |
| WO2004006132A1 (fr) * | 2002-07-09 | 2004-01-15 | Solutions Lab Pte Ltd | Interface graphique de page web |
| US7380202B1 (en) * | 2003-06-16 | 2008-05-27 | Microsoft Corporation | Method and system for customizing and personalizing page control content |
-
2008
- 2008-06-02 GB GBGB0809973.1A patent/GB0809973D0/en not_active Ceased
-
2009
- 2009-05-08 WO PCT/GB2009/001144 patent/WO2009147365A1/fr active Application Filing
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2000021002A1 (fr) * | 1998-10-01 | 2000-04-13 | International Business Machines Corporation | Systemes, procedes et produits de programmes informatiques pour affecter, produire et acheminer un contenu aux utilisateurs d'un reseau intranet |
| WO2004006132A1 (fr) * | 2002-07-09 | 2004-01-15 | Solutions Lab Pte Ltd | Interface graphique de page web |
| US7380202B1 (en) * | 2003-06-16 | 2008-05-27 | Microsoft Corporation | Method and system for customizing and personalizing page control content |
Non-Patent Citations (1)
| Title |
|---|
| ASHLEY B: "Shaping the future of secure Ajax mashups", INTERNET PUBLICATION, 3 April 2007 (2007-04-03), XP002544627, Retrieved from the Internet <URL:http://www.ibm.com/developerworks/library/x-securemashups/> [retrieved on 20090908] * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102214079A (zh) * | 2010-04-07 | 2011-10-12 | 阿里巴巴集团控股有限公司 | 微件数据的显示方法和装置 |
| NL2008085C2 (en) * | 2012-01-05 | 2013-07-09 | Weight A Moment B V | Method for displaying websites. |
| WO2013103302A1 (fr) | 2012-01-05 | 2013-07-11 | Weight A Moment B.V. | Procédé d'affichage de sites web |
Also Published As
| Publication number | Publication date |
|---|---|
| GB0809973D0 (en) | 2008-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10956531B2 (en) | Dynamic generation of mobile web experience | |
| JP5480892B2 (ja) | Webページ対話に基づく広告提示 | |
| US7865544B2 (en) | Method and system for providing XML-based asynchronous and interactive feeds for web applications | |
| JP5335083B2 (ja) | ブラウザにおける新しいタブページおよびブックマークツールバー | |
| EP2471011B1 (fr) | Liens d'action dynamique pour partage de contenu web | |
| US10387535B2 (en) | System and method for selectively displaying web page elements | |
| US8230361B2 (en) | Content feed user interface | |
| US8645497B2 (en) | Bookmark-based access to content feeds | |
| US20080086755A1 (en) | Recursive Subscriptions to Content Feeds | |
| US20080086484A1 (en) | Server System for Serving Extended Content Feeds to Clients | |
| US20130007586A1 (en) | Method and system for creating and using web feed display templates | |
| JP2013517556A (ja) | 高められたブラウジング速度のためのプレビュー機能性 | |
| US20130132823A1 (en) | Metadata augmentation of web pages | |
| EP2074502A1 (fr) | Interface utilisateur d'alimentation de contenu | |
| US9674305B2 (en) | Method and system for synchronizing software module hosts | |
| EP2529314A1 (fr) | Impression à distance | |
| US8458146B2 (en) | Accessing data remotely | |
| WO2009147365A1 (fr) | Distribution de contenu à base d'internet | |
| US20090164920A1 (en) | System, method and apparatus for inserting a virtual tool bar into a markup language document | |
| Periyapatna | Total Recall for AJAX applications–Firefox extension |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09757737 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09757737 Country of ref document: EP Kind code of ref document: A1 |