WO2010025945A1 - Method for attaching electronic notes to web sites and communicating such notes over the internet - Google Patents
Method for attaching electronic notes to web sites and communicating such notes over the internet Download PDFInfo
- Publication number
- WO2010025945A1 WO2010025945A1 PCT/EP2009/006467 EP2009006467W WO2010025945A1 WO 2010025945 A1 WO2010025945 A1 WO 2010025945A1 EP 2009006467 W EP2009006467 W EP 2009006467W WO 2010025945 A1 WO2010025945 A1 WO 2010025945A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- html
- web site
- document
- electronic note
- web
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Definitions
- the present invention relates to computing environments running web browsers for accessing web sites.
- networks are becoming an important and pervasive mechanism for communication, entertainment, and professional and social networking.
- networks connect users with knowledge and information on a variety of subjects to other users seeking knowledge and information on those subjects.
- Networks also present a medium by which users can exchange ideas by asking and answering questions on matters of com- mon interest.
- a Uniform Resource Locator URL
- the content of the web site is then uploaded to the local computer of the user and displayed by a graphical user interface provided by the web browser running thereon.
- the user can bookmark the URL of that web site for easy access at a later point in time.
- a user wants to share any thoughts about an interesting web site with another user he normally would do so by providing the other user with the URL of the particular web site as well as his comments thereon, e.g. by means of an email message.
- the object of the present invention is to provide for a new way of communicating over the Internet.
- the present invention allows users to use web sites as virtual pin boards by attaching or "pinning" electronic notes to these web sites.
- These electronic notes can contain text or other kinds of data, such as image files, audio files, video files, and the like, and can be addressed to another user, user groups and/or the user himself.
- a user can "pin" electronic notes to a web site to share news with his friends, to provide himself or other users with a reminder, to provide content of a web site with his own comments, to transmit greetings of any kind, to provide others with comments about web sites, to have discussions with other users, to exchange files with other users, and the like.
- a first aspect of the invention pertains to a method comprising the step of providing a graphical user interface as part of a web browser, wherein the graphical user interface allows a user to attach an electronic note to the web site being displayed by the web browser.
- the method according to this first aspect of the invention allows for attaching electronic notes to dynamic web sites by means of the following steps: selecting a target element within a document, preferably a HTML document, providing for the web site being displayed by the web browser on the basis of the location of the electronic note on the web site; determining a unique anchor element within the document providing for the web site being displayed by the web browser, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instruc- tions/directions to get from the unique anchor element to the selected target element within the document providing for the web site being displayed by the web browser; and, after the document has been modified externally, locating the unique anchor element within the modified document and displaying the electronic note at a position on the modified web site defined by the target element, whose relative position with respect to the unique anchor element within the modified document is defined by the instructions.
- a web browser for accessing a web site comprising a graphical user interface configured to allow a user to attach an electronic note to the web site being displayed by the web browser.
- a computer program product containing programming instructions comprising instructions for providing a graphical user interface within a web browser allowing for the attachment of an electronic note to a web site displayed by the web browser.
- an application server configured to interact with a plurality of client computing devices and/ or at least one web server.
- the application server comprises storage means to receive and store electronic notes attached to a web site by a first user employing a suitably configured web browser on a first client computing device.
- the web site is hosted by the at least one web server and the electronic note is addressed to another second user.
- the application server further comprises means to provide the second user with information that allow the second user to access the web site hosted by the at least one web server and to view the electronic note attached to the web site em- ploying a suitably configured web browser.
- a system for attaching an electronic note to a web site hosted by a web server comprising a client computing device having a display and configured to run a web browser for accessing and dis- playing the web site as well as an application server in communication with the client computing device and the web server.
- the web browser provides for a graphical user interface allowing a user to attach the electronic note to the web site.
- a method for defin- ing a target element within a document providing for a web site, preferably a HTML document, and locating the target element within the document, after the document has been modified externally.
- the method comprising the steps of: selecting a target element within the document; determining a unique anchor element within the document, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instructions to get from the unique anchor element to the selected target element within the document; and after the document has been modified externally, locating the unique anchor element within the modified document and following the instructions from the unique anchor element within the modified document.
- Figure 1 shows schematically a preferred embodiment of an environment for implementing aspects of the present invention.
- Figure 2 shows a portion of an exemplary embodiment of a graphical user interface provided by a web browser displaying an exemplary web site showing aspects of the present invention.
- Figure 3 shows an exemplary embodiment of a toolbar according to an aspect of the present invention.
- Figure 3a shows an exemplary embodiment of a registration window allowing a user to register for the services provided by aspects of the present invention.
- Figure 3b shows an exemplary embodiment of a log in window allowing a registered user to log in to the services provided by aspects of the present invention.
- Figure 3c shows the exemplary toolbar of figure 3 in case a registered user has successfully logged in to the services provided by aspects of the present invention.
- Figures 4a to 4d show exemplary embodiments of windows for writing an electronic note according to aspects of the present invention.
- Figures 5a to 5c show exemplary embodiments of electronic notes according to as- pects of the present invention.
- Figure 5d shows an exemplary embodiment of a reply window for replying to an electronic note according to aspects of the present invention.
- Figure 6 shows the exemplary web site of figure 2 with several electronic notes attached thereto according to aspects of the present invention.
- Figure 7 shows a flow diagram illustrating a method for locating target elements on dynamic web sites and attaching electronic notes thereto.
- Figures 8a to 8d show a weighted matrix containing HTML elements and HTML attributes useful for identifying unique anchor elements of dynamic web sites.
- a representative computing environment 10 for using the present invention consists of one or more client computing devices 12 and 14, such as a conventional PC, a laptop, a PDA, and the like, configured to access a network, such as the Internet 16, e.g. via a wired or wireless connection.
- client computing devices 12 and 14 such as a conventional PC, a laptop, a PDA, and the like
- FIG 1 shows web server 18 as an exemplary representation for the multitude of web servers hosting web sites accessible via the Internet 16.
- an application server 20 running a suitable server application is configured according to the present invention to communicate via the Internet 16 with the client computing devices 12, 14.
- a direct communication between the application server 20 and the web server 18 is not necessary, because all of the required communication happens be- tween the client computing devices 12, 14 and the web server 18 on the one hand and between the client computing devices 12, 14 and the application server 20 on the other hand.
- a database 22 could be connected to the application server 20 for storing data.
- FIG. 2 shows an exemplary web site 30 hosted e.g. by web server 18.
- Web site 30 can be displayed on a client computing device 12, 14 by a standard web browser running thereon, such as Chrome, Internet Explorer, Safari, Opera, Firefox and the like.
- the URL (Uniform Resource Locator) of the web site 30 is displayed in an address window 34 provided as part of the toolbar 32 of the graphical user interface provided by the web browser (in this instance, the URL reads "http://demo.bleep.me/datawh/index.html").
- the exemplary web site 30 contains a combination of graphical 36 and textual 38 information.
- a corresponding start icon 40 could indicate that the current web site 30 is suitable for attaching electronic notes thereto.
- the provider of the web site 30 could simply incorporate a command into the code providing for web site 30 so that opening this web site 30 triggers a download of a suitably configured software library, preferably a JavaScript, dynamic HTML and/ or CSS library, from the application server 20 to e.g. client computing device 12 and execution thereof by the web browser running on client computing device 12.
- the software library downloaded to the client computing device 12 includes all necessary code and data to provide for the services of the present invention that will be described in more detail below.
- the software library will contain code to display start icon 40 on the web site 30.
- any user accessing the such configured web site 30 will be presented with start icon 40 allowing him to access the services provided by the present invention and to interact with the application server 20.
- the services provided by the present invention by means of a suitable bookmark stored within the user's web browser providing for a link to the above described software library. Actuating this bookmark will trigger the download of the software library from the application server 20 to e.g. the client computing device 12 and execution of the code contained therein by the web browser running on client computing device 12.
- the library downloaded to the client computing device 12 includes all necessary code and data to provide for the services of the present invention that will be described in more detail below.
- a toolbar 50 is opened at some suitable location on the web site 30 (or rather at some suitable location of the web browser's graphical user interface displaying web site 30).
- toolbar 50 can be moved freely via the mouse to a desired location on web site 30 in a manner well known to the person skilled in the art so that toolbar 50 does not hide any important parts of web site 30.
- toolbar 50 includes several icons allowing for an interaction with the ser- vices provided by the present invention.
- a pin icon 51 can be used to move the toolbar 50 to a desired location on the web site 30 and to "pin" the toolbar 50 to this location.
- this can be done by moving the mouse cursor over the pin icon 51 so that the mouse cursor will change into a different icon, such as a cross.
- Continuously pressing a mouse button allows dragging the toolbar 50 from its original position to a desired position. Releasing the mouse button fixes or "pins" the toolbar 50 to the desired location.
- Toolbar 50 further comprises a close icon 52. Pressing close icon 52 will hide toolbar so that it is no longer visible on web site 30. Only start icon 40 (see figure 2) remains visible. Clicking on start icon 40 will reopen the toolbar 50 at its latest position.
- toolbar 50 furthermore, includes a login icon 54 allowing a registered user to log on to the services provided by the present invention.
- the login icon 54 preferably, has the shape of a key on a green square shaped background.
- the login icon 54 is displayed as a lock on a red square shaped background (see figure 3c). This allows the user to ascertain whether or not he has already logged in. This is important, because certain functions provided by the present invention are preferably only accessible in the case the user has successfully logged in.
- writing an electronic note and attaching or "pinning" the same to a web site 30 can only be done, when the user has logged into the services provided by the present invention.
- the write icon 55 of toolbar 50 only can be activated or used in case the user has logged into the services provided by the present invention.
- Figure 3a shows an exemplary registration window 60 allowing a new user to register for the services provided by the present invention.
- the new user has to provide a user name 62, a password 64, and an email address 66. Clicking on the "Register" button 68 will process and, if successful, confirm the registration of the user.
- the registration window 60 can be accessed, for instance, via the "Not a registered user?" entry 78 of the exemplary login window 70 shown in Figure 3b.
- login window 70 can be opened, for instance, by clicking on the login icon 54 of toolbar 50.
- the user Once the user has successfully registered, he can access the full services provided by the present invention by entering his user name 72 and his password 74 and clicking on the "Login" button 76 of the exemplary login window 70 shown in Figure 3b.
- the present application differentiates between registered users that are logged in and registered users that are not logged in by assigning different rights to these users.
- these user rights are adjustable by means of a user management application running on the application server 20.
- Table 1 shows an exemplary overview of the actions available to a registered user depending on his log in status.
- users not yet registered to the services provided by the services of the present invention could have the same rights as registered users.
- the services provided by the present invention only differentiate between the states "logged in” and "not logged in”. Table 1
- Figure 4a shows an exemplary embodiment of such a window 80 for writing an electronic note.
- the window 80 for writing an electronic note preferably includes a pin icon 81 that can be used to move the window 80 for writing an electronic note to a desired location on the web site and to "pin" the window 80 to this location. Preferably, this can be done by moving the mouse cursor over the pin icon 81 so that the mouse cursor will change into a different icon, such as a cross.
- the window 80 for writing an electronic note further comprises a close icon 82. Clicking on the close icon 82 will hide the window 80 for writing an electronic note so that it is no longer visible on web site 30.
- the window 80 for writing an electronic note also comprises a portion 83 for entering text, for instance, via a keyboard, as well as a clickable "Attach File” entry 84 allowing the user to attach any files, such as Word files, PDF files, image files, sound files, video files and the like, to an electronic note.
- the window 80 for writing an electronic note comprises a recipient field or recipient bar 85 for entering the user name of the intended recipient. If the user writing an electronic note knows the user name of the intended recipient he can enter the user name directly into the recipient field 85 (see Figure 4b).
- Clicking on the loupe-shaped icon 86 in the recipient field 85 will open a drop-down list 87 for choosing a specific recipient (see Figure 4c).
- This list can include, for instance, the following entries: the user name of the user itself; a user group including all registered users; other more specific user groups of which the user is a member; the user names of recent recipients of electronic notes created by the user; and the like.
- a list entry can be selected by simply clicking on the user name of the desired recipient or a user group and/or by selecting the user name of the desired recipient or a user group via the cursor keys and the enter key of a keyboard.
- the drop-down list 87 Upon selection of an intended recipient, the drop-down list 87 will be closed and the user name of the intended recipient will be displayed in the recipient field 85. In case the intended recipient is not available in the drop-down list 87, it is possible to close the list 87, for instance, by clicking outside of the list and the window 80 for writing an electronic note or by pressing the escape key of the keyboard
- the drop-down list 87 will include all user names whose first characters match the characters entered into the recipient field 85.
- Figure 4d shows the case where the user has entered the sequence of four characters "girl” in the recipient field 85 and the drop-down list 87 shows all user names, stored e.g. in database 22, starting with the character sequence "girl".
- electronic notes can be shared with other users in the following way. Without explicitly specifying the author as an addressee an electronic note always is also addressed to the author of the electronic note. The electronic note so to say belongs to the author. The author can share an electronic note with other users by addressing the notes to these users as described above. After sending the electronic notes to other uses, the author and owner of the electronic note can remove certain recipients of the electronic note and /or address the electronic note to further users or user groups. In other words, the rights who can read an electronic note are managed by the author of the note, who can add or remove users from the list of users that are allowed to read his electronic note.
- Completing an electronic note by clicking on the application button or "Bleep! button 88 will trigger a transfer of data from the client computing device to the applica- tion server 20.
- This data preferably includes the link to the web site to which the electronic note has been attached, information about the spatial position of the electronic note "on" the web site to which it has been attached, the textual content of the electronic note, any files attached to the electronic note, the user name of the author of the note, and information about the intended recipient(s) of the note, such as the intended recipient's user name.
- the application server 20 stores this data on a large storage database 22 connected to the application server 20 so that the application server 20 readily can retrieve any data from the database 22.
- the user data provided upon registration are stored on the database 22 so that these data are readily available for performing the login process of a registered user.
- a user can also address an electronic note only to himself, e.g. for providing web sites with his comments, more often the intended recipient of an electronic note will be at least one other user. According to the present invention several ways are conceivable to inform a user that he or she is the intended recipient of an electronic note attached to a web site.
- the application server 20 could automatically send a notification email to the intended recipient containing information about the author of the note, such as the user name and the email address, as well as the link to the web site to which the note has been attached. For reading and possibly replying to the note the intended recipient just has to follow the link provided in the notification email and to log into the services provided by the present invention.
- the above information could be provided to the intended recipient by other communication channels, such as an SMS or other text message onto the intended recipient's mobile phone.
- a user In case a user does not want to receive direct notifications about notes that have been addressed to him, a user preferably has the possibility to choose a different way of being informed about incoming notes.
- the user can adjust a de- fault notification mode to suit his personal preferences.
- user accounts could be accessible via a web site provided by a service provider offering the services of the present invention and hosted, for instance, on the application server 20.
- a user could simply log into his user account by using his user name and his password. Once logged in the user could adjust the default notification mode to suit his personal preferences and/or upload more information and data to his user account, such as his mobile phone number or a representative picture.
- a user could choose to get an overview of all "incoming" notes as well as all "outgoing” notes via a user interface accessible via the above mentioned user account.
- This user interface could provide for the same basic functionalities as standard email applications, such as Gmail, Outlook, Thunderbird, and the like. That is the user interface could provide the user with a list of entries of all electronic notes, read and unread, that have been addressed to the user as well as a list of entries of all electronic notes that have been created by the user and addressed to the user himself and/or to other users.
- Some of the above functionalities could also be accessible via the toolbar 50 shown in figures 2 and 3. For instance, clicking on the view icon 56 having the shape of binoculars could open a drop- down list of all new electronic notes addressed to the user. Again, clicking on one of the entries in the drop-down list of new electronic notes will take the user directly to the web site and the electronic note attached thereto corresponding to that entry.
- the view icon 56 of toolbar 50 could show only those electronic notes that have been attached for the user on the web site the user is currently looking at.
- number icon 57 of toolbar 50 could indicate the number of electronic notes that have been attached for the user on the web site he is currently looking at.
- Figures 5a-c show exemplary electronic notes addressed to a user of the services provided by the present invention.
- Figure 5a shows an electronic note 90a containing a text message. Similar to the toolbar 50 the electronic note 90a includes a pin icon that can be used to move the electronic note to a desired location on the web site and to "pin" the electronic note to this location. Preferably, this can be done by moving the mouse cursor over the pin icon so that the mouse cursor will change into a different icon, such as a cross. Continuously pressing a mouse button allows dragging the electronic note 90a from its original position to a desired position on the web site. Releasing the mouse button fixes or "pins" the electronic note 90a to the desired location.
- the electronic note 90a further comprises a close icon.
- Clicking on the close icon will hide the electronic note 90a so that it is no longer visible on the current web site. Furthermore, according to a preferred embodiment will be marked as "read”, so that upon a further visit to that web site the electronic note 90a no longer will be displayed thereon.
- the electronic note 90a specifies the user name 96 of the author of the electronic note 90a as well as date and time 98 of creation of the electronic note
- electronic note 90a In case, the author of the electronic note 90a has uploaded a picture of himself or a picture to be associated with his user name to his user account, the electronic note can also include this picture. Finally, electronic note 90a includes a "Reply" button 92 allowing the recipient of electronic note 90a to reply thereto.
- the electronic note 90b shown in Figure 5b and the electronic note 90c shown in Figure 5c differ from the electronic note 90a shown in Figure 5a, in principle, only in so far as electronic note 90b in addition to a text message includes a video file and electronic note 90c in addition to a text message includes an image file.
- These attachments can be displayed directly (e.g. an image file) and/or represented by a link that allows downloading the attachment (e.g. video or sound files).
- Figure 5d shows an exemplary reply window 9Od that is opened by a web browser configured according to the present invention once the user clicks on the "Reply" button 92 of electronic note 90a shown in Figure 5a.
- the user can enter text into the reply window 9Od and/ or attach a file thereto.
- Clicking on the application button or "Bleep! button 94 will send the reply note to the application server 20 and, thus, to the author of the original electronic note 90a.
- the reply window 9Od are very similar to the ones provided by the window 80 for writing an electronic note, which had been described above under reference to Figure 4a, the additional features of reply window 9Od will not be described in any more detail.
- Figure 6 shows an exemplary arrangement of the exemplary electronic notes 90a-c of Figures 5a-c and the reply window 90d of Figure 5d on web site 30. As can be taken from the login icon of toolbar 50 the user in this case is logged in so that he can not only read, but also reply to electronic notes.
- a web browser running on a client computing device communicates asynchronously with a web server hosting a web site and an application server pro- viding for the services of the present invention. This allows the web browser to dynamically embed the data, such as electronic notes, in the web site displayed by the web browser on the client computing device.
- the source codes generally, but not necessarily a HTML document
- the modified web site generally will be rather similar with the only difference being, for instance, some additional lines of code within the modified source code, i.e. the modified HTML document.
- these modifications are performed automatically by means of suitably configured software implemented, for instance, on the server hosting the web site.
- the web sites of news providers for instance, often contain lists of news headlines linked to complete news messages. Over time additional linked news headlines are automatically added to this list of news headlines by software so that the list becomes longer and older news move further down the list.
- a preferably computer-implemented method for defining a target element within a document providing for a web site, preferably a HTML document, and locating this target element within the document, after the document has been modified.
- a preferably computer-implemented method comprises the steps of: selecting a target element within a document providing for a web site, preferably a HTML document; determining a unique anchor element within the document, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instructions to get from the unique anchor element to the selected target element within the document; after the document has been modified, locating the unique anchor element within the modified document and following the instructions from the unique anchor element within the generally externally modified document.
- the document providing for the web site is a HTML document provided and possibly modified over time by the provider of the web site.
- the anchor element and the target element are themselves HTML elements or combinations of HTML elements of an HTML document.
- This further aspect of the present invention is primarily based on the idea that not too drastic changes of a HTML document will only result in a shift of the positions of the target element and the unique anchor element, while their relative position within the HTML document remains unchanged.
- the method according this further aspect of the present invention to work it is essential that: (i) it is possible to determine a unique anchor element within a HTML document and (ii) the such determined unique anchor element is not too far away from the selected target element.
- the method according to this further aspect of the invention generally should operate most efficiently in the case that the HTML document has been modified not too drastically and still retains a substantial portion of the unmodified HTML document.
- the expression "unique anchor element" in the context of the present invention means a HTML element or a combination of HTML elements of a HTML document that can be uniquely identified within the HTML document.
- each of these methods can be used on their own or alternatively one or more of these methods can be combined, for instance in the form of a weighted combination, to arrive at even more robust results.
- HTML elements are the basic components of a HTML document.
- HTML elements have two basic properties: attributes and content.
- Each element's attribute and each element's content have certain restrictions that must be followed for an HTML document to be considered valid.
- An element usually has a start tag, e.g. ⁇ hl> , ⁇ img>, and an end tag, e.g. ⁇ /hl>, ⁇ /img>.
- the HTML attribute "align" of the HTML element "hi” is assigned the value "left” defining a section heading aligned to the left.
- the content of the HTML element "hi” is "XYZ Bank files for Chapter 11".
- the unique anchor element is located within a HTML document by determining or locating the HTML attribute "id" closest to the target element.
- the HTML element "hi” could be uniquely de- fined within a HTML document by the value "ny- times_headline_xyzbank_chapterl l" of the HTML attribute "id” and, thus, suitable as a unique anchor element in the sense of the present invention.
- HTML attributes providing for links are preferred, i.e. HTML attributes containing a URL address as a value, such as the HTML attributes "src” or "href".
- HTML attributes "img” is uniquely defined by the value "http : images . nytimes . com/imgs/xyzbank_chapterl l - jpg" of the HTML attribute "src”:
- HTML attributes can be used as well, although some HTML attributes are more likely to occur more than once with the same value in a HTML document. In other words, it is very likely that some HTML attributes with a specific attribute value occur more than once in a HTML document and, thus, are not suitable for defining a unique anchor element in the sense of the present invention. However, for each HTML element potentially suitable as a unique anchor element in the sense of the present invention it is possible to arrange the HTML attributes available for each HTML element in an order or list depending on the likelihood that a HTML attribute occurs more than once with the same value in a HTML document with the most duplicate prone HTML attribute located at the end of the list.
- Creating such a list for each HTML element potentially suitable as a unique anchor element in the sense of the present invention results in a weighted matrix as shown in Figures 8a to 8d.
- the most left column of this weighted matrix with the heading "Element” lists the HTML elements of a HTML document potentially suitable as a unique anchor element in the sense of the present invention in an alphabetical order.
- the columns to the right thereof with the headings "Attribute 1", “Attribute 2", and so on list the HTML attributes available for the respective HTML element in the same row, wherein the HTML attribute most suitable for defining a unique anchor element is presented in column "Attribute 1".
- the weighted matrix shown in Figures 8a to 8d is used by the preferred embodiments of the method according to the fur- ther aspect of the present invention.
- the method according to this further aspect of the present in- vention preferably uses combinations of more than one HTML attribute and their corresponding values of a given HTML element for locating or determining a unique anchor element within a HTML document.
- the HTML element "img” could be uniquely defined by the value "http : images . nytimes . com/imgs /xyzbank_chapterl l . jpg" of the HTML attribute "src", the value "100" of the HTML attribute "width” and the value "80” of the HTML attribute "height” and, thus, suitable to serve as an anchor element for the method according to this further aspect of the present invention.
- the method according to this further aspect of the present invention is not only configured to use combinations of more than one HTML attribute and their corresponding values for a given HTML element, but preferably also to use combinations of HTML attributes and their corresponding values from different HTML elements preferably within the vicinity of the target element.
- the method according to the second aspect of the present invention is configured to search for combinations of HTML attributes of different HTML elements as in the following example:
- the combination of HTML elements "hi” and “img” could be uniquely defined by the value "left” of the HTML attribute "align” and the value "http : images . nytimes . com/imgs /xyzbank_chapterl l . jpg" of the HTML attribute "src” and, thus, suitable to serve as an anchor element for the method according to this further aspect of the present invention.
- the anchor element would be a combination of the HTML elements "hi” and "img” as well as their relative position.
- the anchor element would be defined by an ordered list containing the first and second sub anchor elements "hi” and “img” as well as directions to get from the first sub anchor HTML element "hi” to the second sub anchor HTML element "img”.
- the method according to this further aspect of the present invention would, for instance, first locate the first sub anchor HTML element "hi” and, thereafter, follow the directions starting from the first sub anchor HTML element "hi” to locate the second sub anchor HTML element "img”. If successful, the anchor element constituted by the uniquely defined combination of HTML elements "hi” and "img” has been located.
- a HTML element in the tree-like structure of a HTML document a HTML element can represent a node or parent having one or more children, i.e. a parent HTML element can be the origin of a sub-tree of child HTML elements.
- each child HTML element in turn, can represent a further node or parent HTML element located at a further depth of the tree and having one or more child HTML elements itself.
- the child HTML elements of a target element and their relative positions do not change when the HTML document is modified. This is illustrated on the basis of the following example: ⁇ p>
- the selected target element is the HTML element "p" that does not contain any unique HTML attributes and corresponding values.
- the target element i.e. the HTML element "p” contains a child HTML element, namely "b”, and a grandchild HTML element, namely "img”.
- the grandchild HTML element "img” could be uniquely defined within the HTML document by the value "http : images . nytimes . com/imgs/xyzbank_chapterl l . jpg" of its HTML attribute "src" and, thus, is suitable as a unique anchor element.
- the HTML document is modified, but the grandchild HTML element "img” can still by uniquely identified by means of the value of its "src” attribute.
- the position of the target element "p" relative to its grandchild HTML element "img”, i.e. the uniquely defined anchor element, within the tree-like structure of the HTML document remains un- changed so that directions to locate the target element "p" within a modified HTML document preferably could look as follows: 1) Locate the anchor element, i.e. the "img” HTML element with the unique value "http : images . nytimes . com/imgs/xyzbank_chapterll . jpg" of its "src” attribute, within the modified HTML document
- the target element "p" is within the context of the tree-model of a HTML document two nodes or levels above the uniquely defined anchor element "img".
- the likelihood of modifica- tions within the HTML document between the target element and the anchor element increases with the number of nodes that lie between the target element and the anchor element.
- the weighting factor of this preferred embodiment can be adjusted as a function of the number of nodes between the target element and the anchor element.
- a unique anchor element is located for a target element by identifying a unique anchor element located at a node above the node of the target element.
- the target element is the HTML element "b" that does not contain any unique HTML attributes and corresponding values that could qualify the HTML element "b” as a potential anchor element.
- the target element "b” has a grandparent HTML element, namely the HTML element "div” that could be uniquely defined within the HTML document by the value "headline-20090801-001" of its HTML attribute "id".
- the grandparent HTML element "div” can provide for a unique anchor element for the target element "b”.
- Directions to locate the target element "b” from the unique anchor element "div” as a starting point within a modified HTML document preferably could look as follows:
- a unique anchor element is located for a selected target element by identifying unique HTML attributes of sib- ling HTML elements of the target element and the child HTML elements of the sibling HTML elements of the target element.
- a sibling HTML element is defined to be an HTML element nested within the same parent HTML element.
- this embodiment looks for a unique anchor element at nodes at the same level or depth as the target element. The following example will illustrate this embodiment: ⁇ div>
- the target element is the HTML element "hi" that does not contain any unique HTML attributes and corresponding values that could qualify the HTML element "hi" as a potential anchor element.
- this preferred embodiment will look for a unique HTML attribute and a corresponding value suitable for defining a unique anchor element within the sub-trees that branch of from the sibling HTML elements of the target element "hi”. In doing so, this preferred embodiment is configured to find the HTML element "img" within the sub-tree branching of from the closest sibling HTML element of the target element, namely the HTML element "p". This is because the HTML element "img" is uniquely defined within the HTML document by the value
- an unique anchor element is located for a target element by looking for a unique text portion of the target element itself or by looking for HTML elements within the sub-tree branching off from the target element that contain text portions with potentially unique combinations of words.
- the words are extracted from a given text portion by removing all non alphabetical characters, such as numerals, punctuation markers, and other special characters, as well as any duplicate words so that in the such processed text portion each word does not occur more than once.
- a list is created where the words are ordered according to the number of characters of a word such that the longest word(s), i.e. the word(s) with the largest number of characters, is/ are at the top of the list. This leads to a list including the significant or representative words of the text portion of a given HTML element that can be potentially used as an anchor element uniquely defined by the first word or the first couple of words within the list of significant or representative words.
- the whole modified HTML document is searched for the word or the list of words that were necessary to uniquely define the anchor element within the original HTML document.
- the anchor element within the modified HTML document can be defined to be that HTML element whose text portion matches most closely the list of words that were necessary to uniquely define the anchor element within the original HTML document.
- this embodiment will advance to higher nodes in order to arrive at the target element within the modified HTML document.
- a certain threshold should be chosen not too large in order that the list is not empty and contains enough elements that allow for a unique definition of the anchor element.
- this threshold should be chosen not too large in order that the list is not empty and contains enough elements that allow for a unique definition of the anchor element.
- the person skilled in the art will appreciate that the longest words should be more appropriate to provide for a unique text portion and, thus, suitable to define a unique anchor element.
- the above described further aspect can be implemented as follows.
- the user In choosing the position on a web site where a user would like to place an electronic note, the user essentially can select a target element.
- this further aspect of the present invention generally allows for maintaining the relative position between the electronic note and its selected position on the web site, i.e. the target element.
- the method according to this further aspect of the present invention is implemented in JavaScript preferably as part of the web browser of a user that pro- vides also for the other functionalities of the present invention, such as attaching electronic notes to web sites.
- a unique anchor element is located and the directions to get from the unique anchor element to the target element, as described in more detail further above, are created when a user is writing and attaching an electronic note to a web site, thereby defining a target element.
- Re-locating the tar- get element on a potentially modified web site by locating the unique anchor element and following the directions from the unique anchor element to the target element occurs each time the user wants to look at any of his electronic notes de- fined for this given web site.
- an electronic note can be attached automatically or by interaction with the user to a specific target element of a web site, such as an image, so that in case the web site is modified the electronic note will maintain its relative position to the target element on the modified web site.
- a target element is to be selected by a user writing an electronic note for a web site
- the user preferably has the ability to move the electronic note over the web site, wherein the portion of the web site currently partially covered by the electronic note and provided by a HTML element is highlighted indicating that this HTML element can be selected as a target element.
- the present invention as described in detail above is not limited to the particular devices, uses and methodology described as these may vary.
- the person skilled in the art will readily appreciate that although the present invention primarily has been discussed in the context of a user accessing the Internet via his PC, the present invention is equally applicable to other client computing devices allowing for Internet access, such as mobile phones, PDAs, and the like.
- the person skilled in the art will appreciate that although the present invention has been described in the context of a client computing device communicating with a web server and an application server over the Internet, the present invention is equally applicable to a corresponding computing environment implemented in the context of other networks, such as an Intranet or the like.
- the computer program product can be any available media, such as RAM, ROM, EEPROM, CD-ROM, DVD, or other optical disk storage devices, magnetic disk storage devices, floppy disks, or any other medium which can be used to store the items thereof.
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
The present invention provides for methods and systems allowing users to use web sites as virtual pin boards by attaching or "pinning" electronic notes to web sites. These electronic notes can contain text or other kinds of data, such as image files, audio files, video files, and the like, and can be addressed to another user, user groups and/or the user himself. By means of the services provided by the present invention a user can "pin" electronic notes to a web site to share news with his friends, to provide himself or other users with a reminder, to provide content of a web site with his own comments, to transmit greetings of any kind, to provide others with comments about web sites, to have discussions with other users, to exchange files with other users, and the like. According to a further aspect of the invention a method is provided for attaching electronic notes to dynamic web sites.
Description
Torsten Maul and Alexander Low Our ref.: 653-3 PCT
METHOD FOR ATTACHING ELECTRONIC NOTES TO WEB SITES AND COMMUNICATING SUCH NOTES OVER THE INTERNET
FIELD OF THE INVENTION Generally, the present invention relates to computing environments running web browsers for accessing web sites.
BACKGROUND OF THE INVENTION
As the Internet has become increasingly popular, computer networks are becoming an important and pervasive mechanism for communication, entertainment, and professional and social networking. In addition, networks connect users with knowledge and information on a variety of subjects to other users seeking knowledge and information on those subjects. Networks also present a medium by which users can exchange ideas by asking and answering questions on matters of com- mon interest.
Currently, when a user wishes to access a web site of interest, for instance, to purchase a product or simply find information on the Internet, the user enters into his/her web browser a Uniform Resource Locator (URL) pertaining to that particular web site of interest. The content of the web site is then uploaded to the local computer of the user and displayed by a graphical user interface provided by the web browser running thereon. In case the user considers a web site interesting and, thus, worth a further visit he can bookmark the URL of that web site for easy access at a later point in time. In case a user wants to share any thoughts about an interesting web site with another user he normally would do so by providing the other user with the URL of the particular web site as well as his comments thereon, e.g. by means of an email message.
The object of the present invention is to provide for a new way of communicating over the Internet.
SUMMARY OF THE INVENTION
Generally speaking, the present invention allows users to use web sites as virtual pin boards by attaching or "pinning" electronic notes to these web sites. These electronic notes can contain text or other kinds of data, such as image files, audio files, video files, and the like, and can be addressed to another user, user groups and/or the user himself. For instance, a user can "pin" electronic notes to a web site to share news with his friends, to provide himself or other users with a reminder, to provide content of a web site with his own comments, to transmit greetings of any kind, to provide others with comments about web sites, to have discussions with other users, to exchange files with other users, and the like.
More specifically, a first aspect of the invention pertains to a method comprising the step of providing a graphical user interface as part of a web browser, wherein the graphical user interface allows a user to attach an electronic note to the web site being displayed by the web browser.
Preferably, the method according to this first aspect of the invention allows for attaching electronic notes to dynamic web sites by means of the following steps: selecting a target element within a document, preferably a HTML document, providing for the web site being displayed by the web browser on the basis of the location of the electronic note on the web site; determining a unique anchor element within the document providing for the web site being displayed by the web browser, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instruc- tions/directions to get from the unique anchor element to the selected target element within the document providing for the web site being displayed by the web browser; and, after the document has been modified externally, locating the unique anchor element within the modified document and displaying the electronic note at a position on the modified web site defined by the target element, whose relative position with respect to the unique anchor element within the modified document is defined by the instructions.
Furthermore, according to a second aspect of the invention a web browser for accessing a web site is provided, comprising a graphical user interface configured to allow a user to attach an electronic note to the web site being displayed by the web browser.
Moreover, according to a third aspect of the invention a computer program product containing programming instructions is provided, comprising instructions for providing a graphical user interface within a web browser allowing for the attachment of an electronic note to a web site displayed by the web browser.
Yet further, according to a fourth aspect of the invention an application server configured to interact with a plurality of client computing devices and/ or at least one web server is provided. The application server comprises storage means to receive and store electronic notes attached to a web site by a first user employing a suitably configured web browser on a first client computing device. The web site is hosted by the at least one web server and the electronic note is addressed to another second user. The application server further comprises means to provide the second user with information that allow the second user to access the web site hosted by the at least one web server and to view the electronic note attached to the web site em- ploying a suitably configured web browser.
According to a fifth aspect of the invention a system for attaching an electronic note to a web site hosted by a web server is provided, comprising a client computing device having a display and configured to run a web browser for accessing and dis- playing the web site as well as an application server in communication with the client computing device and the web server. The web browser provides for a graphical user interface allowing a user to attach the electronic note to the web site.
Finally, according to a sixth aspect of the invention a method is provided for defin- ing a target element within a document providing for a web site, preferably a HTML document, and locating the target element within the document, after the document has been modified externally. The method comprising the steps of: selecting a target element within the document; determining a unique anchor element within the document, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instructions to get from the unique anchor element to the selected target element within the document; and after the document has been modified externally, locating the unique anchor element within the modified document and following the instructions from the unique anchor element within the modified document.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows schematically a preferred embodiment of an environment for implementing aspects of the present invention.
Figure 2 shows a portion of an exemplary embodiment of a graphical user interface provided by a web browser displaying an exemplary web site showing aspects of the present invention.
Figure 3 shows an exemplary embodiment of a toolbar according to an aspect of the present invention.
Figure 3a shows an exemplary embodiment of a registration window allowing a user to register for the services provided by aspects of the present invention.
Figure 3b shows an exemplary embodiment of a log in window allowing a registered user to log in to the services provided by aspects of the present invention.
Figure 3c shows the exemplary toolbar of figure 3 in case a registered user has successfully logged in to the services provided by aspects of the present invention.
Figures 4a to 4d show exemplary embodiments of windows for writing an electronic note according to aspects of the present invention.
Figures 5a to 5c show exemplary embodiments of electronic notes according to as- pects of the present invention.
Figure 5d shows an exemplary embodiment of a reply window for replying to an electronic note according to aspects of the present invention.
Figure 6 shows the exemplary web site of figure 2 with several electronic notes attached thereto according to aspects of the present invention.
Figure 7 shows a flow diagram illustrating a method for locating target elements on dynamic web sites and attaching electronic notes thereto.
Figures 8a to 8d show a weighted matrix containing HTML elements and HTML attributes useful for identifying unique anchor elements of dynamic web sites.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention will now be further described by defining different aspects of the invention generally outlined above in more detail. Each aspect so defined may be combined with any other aspect or aspects unless clearly indicated to the con- trary. In particular, any feature indicated as being preferred or advantageous may be combined with any other feature or features indicated as being preferred or advantageous.
With reference to Figure 1, a representative computing environment 10 for using the present invention consists of one or more client computing devices 12 and 14, such as a conventional PC, a laptop, a PDA, and the like, configured to access a network, such as the Internet 16, e.g. via a wired or wireless connection. Figure 1 shows web server 18 as an exemplary representation for the multitude of web servers hosting web sites accessible via the Internet 16. Moreover, an application server 20 running a suitable server application is configured according to the present invention to communicate via the Internet 16 with the client computing devices 12, 14. As will be described in more detail further below, according to the present invention a direct communication between the application server 20 and the web server 18 is not necessary, because all of the required communication happens be- tween the client computing devices 12, 14 and the web server 18 on the one hand and between the client computing devices 12, 14 and the application server 20 on the other hand. A database 22 could be connected to the application server 20 for storing data.
Figure 2 shows an exemplary web site 30 hosted e.g. by web server 18. Web site 30 can be displayed on a client computing device 12, 14 by a standard web browser running thereon, such as Chrome, Internet Explorer, Safari, Opera, Firefox and the like. The URL (Uniform Resource Locator) of the web site 30 is displayed in an address window 34 provided as part of the toolbar 32 of the graphical user interface provided by the web browser (in this instance, the URL reads "http://demo.bleep.me/datawh/index.html"). The exemplary web site 30 contains a combination of graphical 36 and textual 38 information.
In case the exemplary web site 30 hosted on web server 18 is configured to provide for the services according to the present invention, a corresponding start icon 40 could indicate that the current web site 30 is suitable for attaching electronic notes thereto. To this end, the provider of the web site 30 could simply incorporate a
command into the code providing for web site 30 so that opening this web site 30 triggers a download of a suitably configured software library, preferably a JavaScript, dynamic HTML and/ or CSS library, from the application server 20 to e.g. client computing device 12 and execution thereof by the web browser running on client computing device 12. For instance, including the HTML command "<script src=" [URL_APPLICATION_LIBRARY] "></script>" into the header of the code providing for web site 30 would trigger the download of the software library [ URL_APPLICATION_LIBRARY] from the application server 20 to the client computing device 12. The software library downloaded to the client computing device 12 includes all necessary code and data to provide for the services of the present invention that will be described in more detail below. In particular, the software library will contain code to display start icon 40 on the web site 30. As the person skilled in the art will appreciate, any user accessing the such configured web site 30 will be presented with start icon 40 allowing him to access the services provided by the present invention and to interact with the application server 20.
For allowing a user to use the services provided by the present invention in the context of a web site that has not been configured in the above described manner, i.e. that does not trigger an automatic download of a suitably configured software Ii- brary from the application server 20 to the client computing device and execution thereof, it is also possible to locally adjust the web browser running on the client computing device. For instance, the user could download and install a software add-on for his web browser that substantially would provide for the same functionality as the above described JavaScript library. This add-on could create a start icon in the toolbar of the user's web browser corresponding to the start icon 40 and providing essentially for the same functionality. In the case of such a "local" implementation of the services provided by the present invention, a user will have the possibility to use the services provided by the present invention in the context of any web site accessible on the Internet.
As a further alternative, it is possible to use the services provided by the present invention by means of a suitable bookmark stored within the user's web browser providing for a link to the above described software library. Actuating this bookmark will trigger the download of the software library from the application server 20 to e.g. the client computing device 12 and execution of the code contained therein by the web browser running on client computing device 12. The library downloaded
to the client computing device 12 includes all necessary code and data to provide for the services of the present invention that will be described in more detail below.
The below will focus on the case where a suitably configured software library has been downloaded from the application server to provide for the services of the present invention and to display start icon 40 on the web site 30. However, the person skilled in the art will have no difficulties to apply the below to the case where the services of the present invention are provided according to one of the other above described methods, such as by means of a web browser add-on.
Upon clicking start icon 40 a toolbar 50 is opened at some suitable location on the web site 30 (or rather at some suitable location of the web browser's graphical user interface displaying web site 30). Preferably, toolbar 50 can be moved freely via the mouse to a desired location on web site 30 in a manner well known to the person skilled in the art so that toolbar 50 does not hide any important parts of web site 30.
Under further reference to figure 3 toolbar 50 will be described in more detail. Preferably, toolbar 50 includes several icons allowing for an interaction with the ser- vices provided by the present invention. For instance, a pin icon 51 can be used to move the toolbar 50 to a desired location on the web site 30 and to "pin" the toolbar 50 to this location. Preferably, this can be done by moving the mouse cursor over the pin icon 51 so that the mouse cursor will change into a different icon, such as a cross. Continuously pressing a mouse button allows dragging the toolbar 50 from its original position to a desired position. Releasing the mouse button fixes or "pins" the toolbar 50 to the desired location.
Toolbar 50 further comprises a close icon 52. Pressing close icon 52 will hide toolbar so that it is no longer visible on web site 30. Only start icon 40 (see figure 2) remains visible. Clicking on start icon 40 will reopen the toolbar 50 at its latest position.
Preferably, toolbar 50, furthermore, includes a login icon 54 allowing a registered user to log on to the services provided by the present invention. As long as the user has not logged in yet, the login icon 54, preferably, has the shape of a key on a green square shaped background. Once the user has successfully completed the login process, which will be described in more detail further below, the login icon 54
is displayed as a lock on a red square shaped background (see figure 3c). This allows the user to ascertain whether or not he has already logged in. This is important, because certain functions provided by the present invention are preferably only accessible in the case the user has successfully logged in. For instance, writing an electronic note and attaching or "pinning" the same to a web site 30 can only be done, when the user has logged into the services provided by the present invention. In other words, the write icon 55 of toolbar 50 only can be activated or used in case the user has logged into the services provided by the present invention.
In order to be able to log in, preferably a user first has to register for the services provided by the present invention. Figure 3a shows an exemplary registration window 60 allowing a new user to register for the services provided by the present invention. Preferably, the new user has to provide a user name 62, a password 64, and an email address 66. Clicking on the "Register" button 68 will process and, if successful, confirm the registration of the user.
The registration window 60 can be accessed, for instance, via the "Not a registered user?" entry 78 of the exemplary login window 70 shown in Figure 3b. As mentioned above, login window 70 can be opened, for instance, by clicking on the login icon 54 of toolbar 50. Once the user has successfully registered, he can access the full services provided by the present invention by entering his user name 72 and his password 74 and clicking on the "Login" button 76 of the exemplary login window 70 shown in Figure 3b.
As already mentioned, the present application, preferably, differentiates between registered users that are logged in and registered users that are not logged in by assigning different rights to these users. Preferably, these user rights are adjustable by means of a user management application running on the application server 20. Table 1 shows an exemplary overview of the actions available to a registered user depending on his log in status. Alternatively, users not yet registered to the services provided by the services of the present invention could have the same rights as registered users. In other words, the services provided by the present invention only differentiate between the states "logged in" and "not logged in".
Table 1
In case the user has successfully logged in, clicking on the write icon 55 of the toolbar 50 will open a further window for writing an electronic note within the graphical user interface provided by the web browser displaying the web site 30. Figure 4a shows an exemplary embodiment of such a window 80 for writing an electronic note. Similar to the toolbar 50 the window 80 for writing an electronic note preferably includes a pin icon 81 that can be used to move the window 80 for writing an electronic note to a desired location on the web site and to "pin" the window 80 to this location. Preferably, this can be done by moving the mouse cursor over the pin icon 81 so that the mouse cursor will change into a different icon, such as a cross. Continuously pressing a mouse button allows dragging the window 80 for writing an electronic note from its original position to a desired position on the web site. Releasing the mouse button fixes or "pins" the window 80 for writing an electronic note to the desired location. This feature is important, because the graphical user interface of the web browser of the intended recipient preferably will display an electronic note exactly at that position of a web site where it has been attached to by the author. Alternatively, an electronic note can be attached automatically or by interaction with the user to a specific target element of a web site, such as an image, so that in case the web site is modified the electronic note will maintain its relative position to the target element on the modified web site, as will be explained in more detail further below. The window 80 for writing an electronic note further comprises a close icon 82. Clicking on the close icon 82 will hide the window 80 for writing an electronic note so that it is no longer visible on web site 30.
As shown in figure 4a, the window 80 for writing an electronic note also comprises a portion 83 for entering text, for instance, via a keyboard, as well as a clickable
"Attach File" entry 84 allowing the user to attach any files, such as Word files, PDF files, image files, sound files, video files and the like, to an electronic note.
Moreover, the window 80 for writing an electronic note comprises a recipient field or recipient bar 85 for entering the user name of the intended recipient. If the user writing an electronic note knows the user name of the intended recipient he can enter the user name directly into the recipient field 85 (see Figure 4b).
Clicking on the loupe-shaped icon 86 in the recipient field 85 will open a drop-down list 87 for choosing a specific recipient (see Figure 4c). This list can include, for instance, the following entries: the user name of the user itself; a user group including all registered users; other more specific user groups of which the user is a member; the user names of recent recipients of electronic notes created by the user; and the like. A list entry can be selected by simply clicking on the user name of the desired recipient or a user group and/or by selecting the user name of the desired recipient or a user group via the cursor keys and the enter key of a keyboard. Upon selection of an intended recipient, the drop-down list 87 will be closed and the user name of the intended recipient will be displayed in the recipient field 85. In case the intended recipient is not available in the drop-down list 87, it is possible to close the list 87, for instance, by clicking outside of the list and the window 80 for writing an electronic note or by pressing the escape key of the keyboard.
In case the user wants to write a note to a specific recipient, but only recalls the first characters (e.g. letters, digits, and the like) of the user name of this recipient, the drop-down list 87 will include all user names whose first characters match the characters entered into the recipient field 85. Figure 4d, for instance, shows the case where the user has entered the sequence of four characters "girl" in the recipient field 85 and the drop-down list 87 shows all user names, stored e.g. in database 22, starting with the character sequence "girl". As the person skilled in the art will appreciate, in order to limit the number of users that are displayed in the list 87 of matching user names it can be necessary to set a minimum number of characters that have to be entered in the recipient field 85, before a list 87 of matching user names is provided.
Additionally or alternatively, electronic notes can be shared with other users in the following way. Without explicitly specifying the author as an addressee an electronic note always is also addressed to the author of the electronic note. The electronic
note so to say belongs to the author. The author can share an electronic note with other users by addressing the notes to these users as described above. After sending the electronic notes to other uses, the author and owner of the electronic note can remove certain recipients of the electronic note and /or address the electronic note to further users or user groups. In other words, the rights who can read an electronic note are managed by the author of the note, who can add or remove users from the list of users that are allowed to read his electronic note. In the context of the present invention it is moreover conceivable that an electronic note is shared by several authors in the sense that not only the original author, but several users invited by the original author are allowed to edit and provide additions to the original electronic note. In other words, this feature allows that an electronic note is created by more than one user.
Once the user has entered the desired text into the corresponding portion 83 of the window 80 for writing an electronic note, positioned the window 80 for writing an electronic note at a desired location of the web site, selected the intended recipients) and, optionally, attached any additional files to the note, the user can complete the process of attaching an electronic note to the current web site by clicking on a correspondingly configured application button 88. In the context of the pre- ferred embodiment shown e.g. in Figures 4a and 4b this application button 88 is called "Bleep!" button 88.
Completing an electronic note by clicking on the application button or "Bleep!" button 88 will trigger a transfer of data from the client computing device to the applica- tion server 20. This data preferably includes the link to the web site to which the electronic note has been attached, information about the spatial position of the electronic note "on" the web site to which it has been attached, the textual content of the electronic note, any files attached to the electronic note, the user name of the author of the note, and information about the intended recipient(s) of the note, such as the intended recipient's user name. Preferably, the application server 20 stores this data on a large storage database 22 connected to the application server 20 so that the application server 20 readily can retrieve any data from the database 22. Further to the above data pertaining to a specific electronic note, preferably also the user data provided upon registration, such as user name, password and email ad- dress, are stored on the database 22 so that these data are readily available for performing the login process of a registered user.
Although, as already mentioned above, a user can also address an electronic note only to himself, e.g. for providing web sites with his comments, more often the intended recipient of an electronic note will be at least one other user. According to the present invention several ways are conceivable to inform a user that he or she is the intended recipient of an electronic note attached to a web site. For instance, once the application server 20 receives an electronic note for an intended recipient, the application server 20 could automatically send a notification email to the intended recipient containing information about the author of the note, such as the user name and the email address, as well as the link to the web site to which the note has been attached. For reading and possibly replying to the note the intended recipient just has to follow the link provided in the notification email and to log into the services provided by the present invention. Alternatively or additionally, the above information could be provided to the intended recipient by other communication channels, such as an SMS or other text message onto the intended recipient's mobile phone.
In case a user does not want to receive direct notifications about notes that have been addressed to him, a user preferably has the possibility to choose a different way of being informed about incoming notes. Preferably, the user can adjust a de- fault notification mode to suit his personal preferences. To this end user accounts could be accessible via a web site provided by a service provider offering the services of the present invention and hosted, for instance, on the application server 20. A user could simply log into his user account by using his user name and his password. Once logged in the user could adjust the default notification mode to suit his personal preferences and/or upload more information and data to his user account, such as his mobile phone number or a representative picture.
Alternatively or additionally to direct notifications about electronic notes that have been addressed to him a user could choose to get an overview of all "incoming" notes as well as all "outgoing" notes via a user interface accessible via the above mentioned user account. This user interface could provide for the same basic functionalities as standard email applications, such as Gmail, Outlook, Thunderbird, and the like. That is the user interface could provide the user with a list of entries of all electronic notes, read and unread, that have been addressed to the user as well as a list of entries of all electronic notes that have been created by the user and addressed to the user himself and/or to other users. Clicking on one of the entries in the list of entries of all electronic notes, read and unread, that have been addressed
to the user, preferably, will take the user directly to the corresponding note attached to a particular web site. Obviously, further known functionalities, such as deleting electronic notes and saving draft electronic notes, could be implemented as well.
Some of the above functionalities could also be accessible via the toolbar 50 shown in figures 2 and 3. For instance, clicking on the view icon 56 having the shape of binoculars could open a drop- down list of all new electronic notes addressed to the user. Again, clicking on one of the entries in the drop-down list of new electronic notes will take the user directly to the web site and the electronic note attached thereto corresponding to that entry.
According to a further alternative embodiment, the view icon 56 of toolbar 50 could show only those electronic notes that have been attached for the user on the web site the user is currently looking at. To this end number icon 57 of toolbar 50 could indicate the number of electronic notes that have been attached for the user on the web site he is currently looking at.
Figures 5a-c show exemplary electronic notes addressed to a user of the services provided by the present invention. Figure 5a shows an electronic note 90a containing a text message. Similar to the toolbar 50 the electronic note 90a includes a pin icon that can be used to move the electronic note to a desired location on the web site and to "pin" the electronic note to this location. Preferably, this can be done by moving the mouse cursor over the pin icon so that the mouse cursor will change into a different icon, such as a cross. Continuously pressing a mouse button allows dragging the electronic note 90a from its original position to a desired position on the web site. Releasing the mouse button fixes or "pins" the electronic note 90a to the desired location. The electronic note 90a further comprises a close icon. Clicking on the close icon will hide the electronic note 90a so that it is no longer visible on the current web site. Furthermore, according to a preferred embodiment will be marked as "read", so that upon a further visit to that web site the electronic note 90a no longer will be displayed thereon.
Furthermore, the electronic note 90a specifies the user name 96 of the author of the electronic note 90a as well as date and time 98 of creation of the electronic note
90a. In case, the author of the electronic note 90a has uploaded a picture of himself or a picture to be associated with his user name to his user account, the electronic
note can also include this picture. Finally, electronic note 90a includes a "Reply" button 92 allowing the recipient of electronic note 90a to reply thereto.
The electronic note 90b shown in Figure 5b and the electronic note 90c shown in Figure 5c differ from the electronic note 90a shown in Figure 5a, in principle, only in so far as electronic note 90b in addition to a text message includes a video file and electronic note 90c in addition to a text message includes an image file. These attachments can be displayed directly (e.g. an image file) and/or represented by a link that allows downloading the attachment (e.g. video or sound files).
Figure 5d shows an exemplary reply window 9Od that is opened by a web browser configured according to the present invention once the user clicks on the "Reply" button 92 of electronic note 90a shown in Figure 5a. In replying to the electronic note 90a the user can enter text into the reply window 9Od and/ or attach a file thereto. Clicking on the application button or "Bleep!" button 94 will send the reply note to the application server 20 and, thus, to the author of the original electronic note 90a. As the other functionalities of the reply window 9Od are very similar to the ones provided by the window 80 for writing an electronic note, which had been described above under reference to Figure 4a, the additional features of reply window 9Od will not be described in any more detail.
Figure 6 shows an exemplary arrangement of the exemplary electronic notes 90a-c of Figures 5a-c and the reply window 90d of Figure 5d on web site 30. As can be taken from the login icon of toolbar 50 the user in this case is logged in so that he can not only read, but also reply to electronic notes.
It is important to mention that the services provided by the present invention do not modify any Internet web sites hosted by a third party web server. Rather, the only modifications happen on the application server 20 and locally on the client comput- ing devices 12, 14. As the person skilled in the art is well aware of, in principle, it is possible to embed content provided by the application server 20 into a web site hosted by web server 18. However, the "Same Origin Policy" implemented in virtually all presently available web browsers does not allow any content provided by the application server 20 to interact with the web site provided by web server 18, such as by means of JavaScript or XMLHTTP requests. According to the present invention, however, a web browser running on a client computing device communicates asynchronously with a web server hosting a web site and an application server pro-
viding for the services of the present invention. This allows the web browser to dynamically embed the data, such as electronic notes, in the web site displayed by the web browser on the client computing device.
Different to the early years of the Internet or World Wide Web, when most of the web sites were rather static objects that evolved maybe on a timescale of months or years, nowadays a lot of web sites are becoming more and more dynamic in that they experience modifications on a timescale of days or even hours. In particular, the web sites of news providers, such as www.nytimes.com, news.bbc.co.uk, www.cnn.com, www.espn.com and the like, and other services where it is essential to provide information as fast as possible, change rather rapidly. However, in most cases these changes do not lead to a completely new web site, but rather to a modified web site containing slight changes in comparison to the unmodified web site. In other words, the source codes, generally, but not necessarily a HTML document, of the unmodified web site and the modified web site generally will be rather similar with the only difference being, for instance, some additional lines of code within the modified source code, i.e. the modified HTML document. In a lot of cases these modifications are performed automatically by means of suitably configured software implemented, for instance, on the server hosting the web site. The web sites of news providers, for instance, often contain lists of news headlines linked to complete news messages. Over time additional linked news headlines are automatically added to this list of news headlines by software so that the list becomes longer and older news move further down the list.
In order for the further above described aspects of the present invention of attaching electronic notes to web sites to work in the context of dynamic web sites according to a further aspect of the present invention a preferably computer-implemented method is provided for defining a target element within a document providing for a web site, preferably a HTML document, and locating this target element within the document, after the document has been modified. More specifically and under reference to figure 7, according to a further aspect of the present invention a preferably computer-implemented method comprises the steps of: selecting a target element within a document providing for a web site, preferably a HTML document; determining a unique anchor element within the document, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating instructions to get from the unique anchor element to the selected target element within the document; after
the document has been modified, locating the unique anchor element within the modified document and following the instructions from the unique anchor element within the generally externally modified document. As mentioned above, preferably the document providing for the web site is a HTML document provided and possibly modified over time by the provider of the web site. Preferably, but not necessarily the anchor element and the target element are themselves HTML elements or combinations of HTML elements of an HTML document.
This further aspect of the present invention is primarily based on the idea that not too drastic changes of a HTML document will only result in a shift of the positions of the target element and the unique anchor element, while their relative position within the HTML document remains unchanged. As the person skilled in the art will appreciate, for the method according this further aspect of the present invention to work it is essential that: (i) it is possible to determine a unique anchor element within a HTML document and (ii) the such determined unique anchor element is not too far away from the selected target element. The method according to this further aspect of the invention generally should operate most efficiently in the case that the HTML document has been modified not too drastically and still retains a substantial portion of the unmodified HTML document. As will be explained in more detail further below, the expression "unique anchor element" in the context of the present invention means a HTML element or a combination of HTML elements of a HTML document that can be uniquely identified within the HTML document.
According to preferred embodiments of this further aspect of the present invention several methods can be used to determine a unique anchor element within a HTML document. As will be described in more detail further below, each of these methods can be used on their own or alternatively one or more of these methods can be combined, for instance in the form of a weighted combination, to arrive at even more robust results.
It is well known that generally HTML elements are the basic components of a HTML document. HTML elements have two basic properties: attributes and content. Each element's attribute and each element's content have certain restrictions that must be followed for an HTML document to be considered valid. An element usually has a start tag, e.g. <hl> , <img>, and an end tag, e.g. </hl>, </img>. The element's attributes are contained within the start tag and content is located between the start and the end tags, such as <hl align=" left ">XYZ Bank files for
Chapter l l</hl> . In this example the HTML attribute "align" of the HTML element "hi" is assigned the value "left" defining a section heading aligned to the left. The content of the HTML element "hi" is "XYZ Bank files for Chapter 11". According to a first preferred embodiment of this further aspect of the present in- vention the unique anchor element is located within a HTML document by determining or locating the HTML attribute "id" closest to the target element. The HTML attribute "id" provides a document-wide unique identifier for a HTML element, such as <hl id="nytimes_headline_xyzbank_chapterl l ">XYZ Bank files for Chapter l l</hl>. In this example the HTML element "hi" could be uniquely de- fined within a HTML document by the value "ny- times_headline_xyzbank_chapterl l" of the HTML attribute "id" and, thus, suitable as a unique anchor element in the sense of the present invention.
Besides the HTML attribute "id" that is only an optional HTML attribute, but never- theless should often be present in HTML documents automatically created by software other HTML attributes can be used additionally or alternatively to identify or define a unique anchor element within a HTML document. In this context, HTML attributes providing for links are preferred, i.e. HTML attributes containing a URL address as a value, such as the HTML attributes "src" or "href". In the following example the HTML element "img" is uniquely defined by the value "http : images . nytimes . com/imgs/xyzbank_chapterl l - jpg" of the HTML attribute "src":
<img src="http : images . nytimes . com/imgs /xyzbank_chapterll . jpg"> </img>
Other HTML attributes can be used as well, although some HTML attributes are more likely to occur more than once with the same value in a HTML document. In other words, it is very likely that some HTML attributes with a specific attribute value occur more than once in a HTML document and, thus, are not suitable for defining a unique anchor element in the sense of the present invention. However, for each HTML element potentially suitable as a unique anchor element in the sense of the present invention it is possible to arrange the HTML attributes available for each HTML element in an order or list depending on the likelihood that a HTML attribute occurs more than once with the same value in a HTML document with the most duplicate prone HTML attribute located at the end of the list. Creating such a list for each HTML element potentially suitable as a unique anchor element in the
sense of the present invention results in a weighted matrix as shown in Figures 8a to 8d. The most left column of this weighted matrix with the heading "Element" lists the HTML elements of a HTML document potentially suitable as a unique anchor element in the sense of the present invention in an alphabetical order. The columns to the right thereof with the headings "Attribute 1", "Attribute 2", and so on list the HTML attributes available for the respective HTML element in the same row, wherein the HTML attribute most suitable for defining a unique anchor element is presented in column "Attribute 1". Preferably, the weighted matrix shown in Figures 8a to 8d is used by the preferred embodiments of the method according to the fur- ther aspect of the present invention.
In case that none of the HTML attributes listed in the weighted matrix shown in Figures 8a to 8d allows for locating or determining a unique anchor element within a HTML document, the method according to this further aspect of the present in- vention preferably uses combinations of more than one HTML attribute and their corresponding values of a given HTML element for locating or determining a unique anchor element within a HTML document. For instance, preferably the method according to this further aspect of the present invention is configured to search for combinations of HTML attributes as in the following example: <img src="http : images . ny times . com/imgs /xyzbank_chapterl l . jpg" width=" 100 " height=" 80 "> </img>
In this example the HTML element "img" could be uniquely defined by the value "http : images . nytimes . com/imgs /xyzbank_chapterl l . jpg" of the HTML attribute "src", the value "100" of the HTML attribute "width" and the value "80" of the HTML attribute "height" and, thus, suitable to serve as an anchor element for the method according to this further aspect of the present invention.
Alternatively or additionally, the method according to this further aspect of the present invention is not only configured to use combinations of more than one HTML attribute and their corresponding values for a given HTML element, but preferably also to use combinations of HTML attributes and their corresponding values from different HTML elements preferably within the vicinity of the target element. For instance, preferably the method according to the second aspect of the present invention is configured to search for combinations of HTML attributes of different HTML elements as in the following example:
<hl al ign=" left ">XYZ Bank files for Chapter l l</hl>
<P>
Today the XYZ Bank ...
<img src="http: images .nytimes . com/imgs/xyzbank_chapterll . jpg">
</img> </p> In this example the combination of HTML elements "hi" and "img" could be uniquely defined by the value "left" of the HTML attribute "align" and the value "http : images . nytimes . com/imgs /xyzbank_chapterl l . jpg" of the HTML attribute "src" and, thus, suitable to serve as an anchor element for the method according to this further aspect of the present invention. In other words, in this example the anchor element would be a combination of the HTML elements "hi" and "img" as well as their relative position. Practically, the anchor element would be defined by an ordered list containing the first and second sub anchor elements "hi" and "img" as well as directions to get from the first sub anchor HTML element "hi" to the second sub anchor HTML element "img". For locating this "generalized" anchor element the method according to this further aspect of the present invention would, for instance, first locate the first sub anchor HTML element "hi" and, thereafter, follow the directions starting from the first sub anchor HTML element "hi" to locate the second sub anchor HTML element "img". If successful, the anchor element constituted by the uniquely defined combination of HTML elements "hi" and "img" has been located.
As already outlined in more detail further above, once a unique anchor element has been located within a HTML document then according to the method of this further aspect of the present invention the position of the unique anchor element relative to the selected target element has to be determined and "directions" or "instructions" to get from the unique anchor element to the selected target element within the HTML document have to be defined. As will be appreciated by the person skilled in the art, "directions" or "instructions" in the sense of the method according to this further aspect of the present invention are generally a list of commands that allow software and/or a suitably configured computing device to start from the unique anchor element and to arrive at the selected target element within the HTML document.
These instructions are very simple in case one of the HTML attributes of the se- lected target element itself turns out to be unique within a HTML document, because in this case the selected target element can be defined to be the unique an-
chor element as well. In this case the instructions are simply a link to the target element itself.
If this is not the case, then according to a preferred embodiment the following steps are implemented that make use of the generally tree-like structure of HTML documents. As is well known to the person skilled in the art, in the tree-like structure of a HTML document a HTML element can represent a node or parent having one or more children, i.e. a parent HTML element can be the origin of a sub-tree of child HTML elements. Thus, each child HTML element, in turn, can represent a further node or parent HTML element located at a further depth of the tree and having one or more child HTML elements itself. According to this preferred embodiment it is assumed that the child HTML elements of a target element and their relative positions do not change when the HTML document is modified. This is illustrated on the basis of the following example: <p>
<b>
Today the XYZ Bank ...
<img src="http : images . nytimes . com/imgs /xyzbank_chapterll . jpg"> </img> </b>
</p>
In this example the selected target element is the HTML element "p" that does not contain any unique HTML attributes and corresponding values. However, the target element, i.e. the HTML element "p", contains a child HTML element, namely "b", and a grandchild HTML element, namely "img". In this case the grandchild HTML element "img" could be uniquely defined within the HTML document by the value "http : images . nytimes . com/imgs/xyzbank_chapterl l . jpg" of its HTML attribute "src" and, thus, is suitable as a unique anchor element. If further news mes- sages are added "above" the target element "p" then the HTML document is modified, but the grandchild HTML element "img" can still by uniquely identified by means of the value of its "src" attribute. In other words, the position of the target element "p" relative to its grandchild HTML element "img", i.e. the uniquely defined anchor element, within the tree-like structure of the HTML document remains un- changed so that directions to locate the target element "p" within a modified HTML document preferably could look as follows:
1) Locate the anchor element, i.e. the "img" HTML element with the unique value "http : images . nytimes . com/imgs/xyzbank_chapterll . jpg" of its "src" attribute, within the modified HTML document
2) Go to the parent HTML element of the anchor element (→ "b" element") 3) Go to the next parent HTML element (→ "p" element)
In the above example, the target element "p" is within the context of the tree-model of a HTML document two nodes or levels above the uniquely defined anchor element "img". The person skilled in the art will appreciate that the likelihood of modifica- tions within the HTML document between the target element and the anchor element increases with the number of nodes that lie between the target element and the anchor element. Thus, according to certain preferred embodiments of this aspect of the present invention it can be advantageous to set a maximum threshold for the number of nodes between the target element and the anchor element. Alter- natively or additionally, the weighting factor of this preferred embodiment can be adjusted as a function of the number of nodes between the target element and the anchor element.
According to a further preferred embodiment, a unique anchor element is located for a target element by identifying a unique anchor element located at a node above the node of the target element. As the person skilled in the art will appreciate, the steps of this preferred embodiment are just a reversal of the steps of the embodiment described before. The following example will illustrate this embodiment:
<div id="headline-20090801-001 ">
<hl>XYZ Bank files for Chapter l l</hl> <p> <b>
Today the XYZ Bank ... </b>
</p> </div>
In this example the target element is the HTML element "b" that does not contain any unique HTML attributes and corresponding values that could qualify the HTML element "b" as a potential anchor element. However, the target element "b" has a grandparent HTML element, namely the HTML element "div" that could be uniquely
defined within the HTML document by the value "headline-20090801-001" of its HTML attribute "id". In other words, the grandparent HTML element "div" can provide for a unique anchor element for the target element "b". Directions to locate the target element "b" from the unique anchor element "div" as a starting point within a modified HTML document preferably could look as follows:
1) Locate the unique anchor element, i.e. the "div" HTML element with the unique value "headline-20090801-001" of its "id" attribute, within the modified HTML element 2) Go to the child HTML element of the anchor element (→ "p" element") 3) Go to the next child HTML element (→ "b" element)
According to a further preferred alternative embodiment, a unique anchor element is located for a selected target element by identifying unique HTML attributes of sib- ling HTML elements of the target element and the child HTML elements of the sibling HTML elements of the target element. As the person skilled in the art will appreciate, in the tree-like structure of a HTML document a sibling HTML element is defined to be an HTML element nested within the same parent HTML element. Unlike the previous two embodiments that are configured to search for a unique anchor element at nodes above or below the target element this embodiment also looks for a unique anchor element at nodes at the same level or depth as the target element. The following example will illustrate this embodiment: <div>
<hl>XYZ Bank fi les for Chapter l l</hl> <p>
<b>
Today the XYZ Bank ...
<img src="http : images .nytimes . com/imgs/xyzbank_chapterll . jpg"> </img> </b> </p> <div>
<b id="details_20090801_001"> Another great tragedy has hit Wall Street. ... </b> </div> </div>
In this example the target element is the HTML element "hi" that does not contain any unique HTML attributes and corresponding values that could qualify the HTML element "hi" as a potential anchor element. Thus, this preferred embodiment will look for a unique HTML attribute and a corresponding value suitable for defining a unique anchor element within the sub-trees that branch of from the sibling HTML elements of the target element "hi". In doing so, this preferred embodiment is configured to find the HTML element "img" within the sub-tree branching of from the closest sibling HTML element of the target element, namely the HTML element "p". This is because the HTML element "img" is uniquely defined within the HTML document by the value
"http : images . nytimes . com/imgs/xyzbank_chapterll . jpg" of its HTML attribute "src". Directions to locate the target element "hi" from the unique anchor element "img" as a starting point within a modified HTML document preferably could look as follows:
1) Locate the anchor element, i.e. the "img" HTML element with the unique value "http : images . nytimes . com/imgs/xyzbank_chapterll . jpg" of its "src" attribute, within the modified HTML element
2) Go to the parent HTML element of the anchor element (— > "b" element") 3) Go to the next parent HTML element (→ "p" element)
4) Go to the preceding sibling HTML element (→ "hi" element)
According to a yet further preferred alternative embodiment, an unique anchor element is located for a target element by looking for a unique text portion of the target element itself or by looking for HTML elements within the sub-tree branching off from the target element that contain text portions with potentially unique combinations of words. The words are extracted from a given text portion by removing all non alphabetical characters, such as numerals, punctuation markers, and other special characters, as well as any duplicate words so that in the such processed text portion each word does not occur more than once. On the basis of the processed text portion a list is created where the words are ordered according to the number of characters of a word such that the longest word(s), i.e. the word(s) with the largest number of characters, is/ are at the top of the list. This leads to a list including the significant or representative words of the text portion of a given HTML element that can be potentially used as an anchor element uniquely defined by the
first word or the first couple of words within the list of significant or representative words.
For locating the target element in a modified HTML document the whole modified HTML document is searched for the word or the list of words that were necessary to uniquely define the anchor element within the original HTML document. For instance, the anchor element within the modified HTML document can be defined to be that HTML element whose text portion matches most closely the list of words that were necessary to uniquely define the anchor element within the original HTML document. In case the anchor element was located within the sub-tree branching off from the target element, this embodiment will advance to higher nodes in order to arrive at the target element within the modified HTML document.
Optionally, only words having a number of characters above a certain threshold will be included in the list. However, this threshold should be chosen not too large in order that the list is not empty and contains enough elements that allow for a unique definition of the anchor element. The person skilled in the art will appreciate that the longest words should be more appropriate to provide for a unique text portion and, thus, suitable to define a unique anchor element.
In the context of the aspect of the present invention relating to the attachment of electronic notes to web sites the above described further aspect can be implemented as follows. In choosing the position on a web site where a user would like to place an electronic note, the user essentially can select a target element. In case the web site, where the electronic note has been attached, is modified this further aspect of the present invention generally allows for maintaining the relative position between the electronic note and its selected position on the web site, i.e. the target element. Practically, the method according to this further aspect of the present invention is implemented in JavaScript preferably as part of the web browser of a user that pro- vides also for the other functionalities of the present invention, such as attaching electronic notes to web sites. Preferably, a unique anchor element is located and the directions to get from the unique anchor element to the target element, as described in more detail further above, are created when a user is writing and attaching an electronic note to a web site, thereby defining a target element. Re-locating the tar- get element on a potentially modified web site by locating the unique anchor element and following the directions from the unique anchor element to the target element occurs each time the user wants to look at any of his electronic notes de-
fined for this given web site. As described above and in the context of the first aspect of the present invention, an electronic note can be attached automatically or by interaction with the user to a specific target element of a web site, such as an image, so that in case the web site is modified the electronic note will maintain its relative position to the target element on the modified web site. When the target element is to be selected by a user writing an electronic note for a web site, the user preferably has the ability to move the electronic note over the web site, wherein the portion of the web site currently partially covered by the electronic note and provided by a HTML element is highlighted indicating that this HTML element can be selected as a target element. Although primarily described in the context of attaching electronic notes to web sites the person skilled in the art will appreciate that the method according to this further aspect of the present invention can be applied in an advantageous manner in the context of a multitude of other web applications, such as in the context of mashups, widgets, bookmarklets, and the like. Moreover, although primarily described in the context of web sites based on HTML code or documents the person skilled in the art will appreciate that the method according to this further aspect of the present invention can be applied to web sites implemented in a different language, such as XML or the like.
The present invention as described in detail above is not limited to the particular devices, uses and methodology described as these may vary. For instance, the person skilled in the art will readily appreciate that although the present invention primarily has been discussed in the context of a user accessing the Internet via his PC, the present invention is equally applicable to other client computing devices allowing for Internet access, such as mobile phones, PDAs, and the like. Moreover, the person skilled in the art will appreciate that although the present invention has been described in the context of a client computing device communicating with a web server and an application server over the Internet, the present invention is equally applicable to a corresponding computing environment implemented in the context of other networks, such as an Intranet or the like.
When described in the context of computer program products, it is to be understood that items thereof, such as modules, routines, programs, objects, components, data structures, etc., perform particular tasks or implement particular abstract data types within various structures of the computing system which cause a certain function or group of functions. In form, the computer program product can be any available media, such as RAM, ROM, EEPROM, CD-ROM, DVD, or other optical
disk storage devices, magnetic disk storage devices, floppy disks, or any other medium which can be used to store the items thereof.
It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present invention which will be limited only by the appended claims. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art.
Claims
1. A method comprising the step of: providing a graphical user interface as part of a web browser, wherein the graphical user interface allows a user to attach an electronic note to the web site being displayed by the web browser.
2. The method of claim 1, wherein attaching an electronic note to the web site includes the steps of drafting the electronic note and positioning the electronic note on the web site.
3. The method of claim 1, wherein attaching an electronic note to the web site includes the step of designating at least one intended recipient of the electronic note and effecting a transmission of data including the electronic note to an application server.
4. The method of claim 3, wherein the application server stores the electronic note so that the intended recipient can view the electronic note attached to the web site.
5. The method of claim 4, wherein the intended recipient can reply to the electronic note attached to the web site.
6. The method of claim 3, wherein the intended recipient is informed by the application server that the electronic note attached to the web site has been received.
7. The method of claim 3, wherein the graphical user interface is configured to list all new electronic notes addressed to the intended recipient.
8. The method of claim 3, wherein the graphical user interface is configured to display all new electronic notes addressed to the intended recipient, wherein the electronic notes have been attached to the web site currently being displayed by the web browser.
9. The method of claim 3, wherein the data transmitted to the application server include a link to the web site to which the electronic note has been attached, information about the spatial position of the electronic note on the web site, the textual content of the electronic note, any files attached to the electronic note, the user name of the author of the electronic note, and/or the user name of the at least one recipient of the note.
10. The method of claim 1 , wherein prior to attaching an electronic note to the web site the user has to authenticate himself.
1 1. The method of claim 1, wherein the electronic note contains a text message, an image file, an audio file, and /or a video file.
12. A web browser for accessing a web site, comprising: a graphical user interface configured to allow a user to attach an electronic note to the web site being displayed by the web browser.
13. The web browser of claim 12, wherein the web browser is implemented on a mobile computing device, such as a mobile phone, a PDA, and the like.
14. A computer program product containing programming instructions, comprising: instructions for providing a graphical user interface within a web browser allowing for the attachment of an electronic note to a web site displayed by a web browser.
15. An application server configured to interact with a plurality of client computing devices and/ or at least one web server, the application server comprising: storage means to receive and store electronic notes attached to a web site by a first user employing a suitably configured web browser on a first client computing device, wherein the web site is hosted by the at least one web server and the electronic note is addressed to another second user; means to provide the second user with information to allow the second user to access the web site hosted by the at least one web server and to view the electronic note attached to the web site employing a suitably configured web browser.
16. A system for attaching an electronic note to a web site hosted by a web server, comprising: a client computing device having a display and configured to run a web browser for accessing and displaying the web site; and an application server in communication with the client computing device and the web server; wherein the web browser provides for a graphical user interface allowing a user to attach the electronic note to the web site.
17. A method for defining a target element within a document providing for a web site, preferably a HTML document, and locating the target element within the document, after the document has been modified, the method comprising the steps of: selecting a target element within the document; determining a unique anchor element within the document, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating directions to get from the unique anchor element to the selected target element within the document; and after the document has been modified, locating the unique anchor element within the modified document and following the directions from the unique anchor element within the modified document.
18. The method of claim 17, wherein the unique anchor element within the HTML document is identified by locating the HTML attribute "id" closest to the target element.
19. The method of claim 17, wherein the unique anchor element within the HTML document is identified by locating in the vicinity of the target element a HTML element with a HTML attribute providing for a link.
20. The method of claim 17, wherein the unique anchor element within the HTML document is identified by looking for unique combinations of more than one HTML attribute and their corresponding values of a given HTML element.
21. The method of claim 17, wherein the unique anchor element within the HTML document is identified by looking for combinations of HTML elements having unique HTML attributes and corresponding values preferably within the vicinity of the target HTML element.
22. The method of claim 17, wherein the unique anchor element and the target element are HTML elements and the unique anchor HTML element is a parent of the target HTML element.
23. The method of claim 17, wherein the unique anchor element and the target element are HTML elements and the unique anchor HTML element is a child of the target HTML element.
24. The method of claim 17, wherein the unique anchor element and the target element are HTML elements and the unique anchor HTML element is a sibling of the target HTML element.
25. The method of claim 17, wherein the unique anchor element and the target element are HTML elements and the unique anchor HTML element is a child of the sibling of the target HTML element.
26. The method of claim 17, wherein the unique anchor element within the HTML document is identified by locating a unique word sequence in a text portion of a HTML element within the vicinity of the target element.
27. The method of claim 1, comprising the further steps of: selecting a target element within the document providing for the web site being displayed by the web browser on the basis of the location of the electronic note on the web site; determining a unique anchor element within the document providing for the web site being displayed by the web browser, preferably in the vicinity of the selected target element; determining the position of the unique anchor element relative to the selected target element and creating directions to get from the unique anchor element to the selected target element within the document providing for the web site being displayed by the web browser; and after the document has been modified, locating the unique anchor element within the modified document and displaying the electronic note at a position on the modified web site defined by the target element, whose relative position with respect to the unique anchor element within the modified document is defined by the directions.
28. The method of claim 27, wherein the document is a HTML document.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9458108P | 2008-09-05 | 2008-09-05 | |
US61/094,581 | 2008-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010025945A1 true WO2010025945A1 (en) | 2010-03-11 |
Family
ID=41335614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2009/006467 WO2010025945A1 (en) | 2008-09-05 | 2009-09-07 | Method for attaching electronic notes to web sites and communicating such notes over the internet |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010025945A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111923A (en) * | 2013-04-16 | 2014-10-22 | 英业达科技有限公司 | Data association building system and method |
CN107368568A (en) * | 2017-07-11 | 2017-11-21 | 广州视源电子科技股份有限公司 | Method, device, equipment and storage medium for generating notes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697838B1 (en) * | 2000-05-03 | 2004-02-24 | Software Leader, Llc | Method and system for annotating information resources in connection with browsing, in both connected and disconnected states |
US20040143796A1 (en) * | 2000-03-07 | 2004-07-22 | Microsoft Corporation | System and method for annotating web-based document |
US20070083806A1 (en) * | 2005-10-06 | 2007-04-12 | International Business Machines Corporation | Electronic web sticky |
-
2009
- 2009-09-07 WO PCT/EP2009/006467 patent/WO2010025945A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143796A1 (en) * | 2000-03-07 | 2004-07-22 | Microsoft Corporation | System and method for annotating web-based document |
US6697838B1 (en) * | 2000-05-03 | 2004-02-24 | Software Leader, Llc | Method and system for annotating information resources in connection with browsing, in both connected and disconnected states |
US20070083806A1 (en) * | 2005-10-06 | 2007-04-12 | International Business Machines Corporation | Electronic web sticky |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111923A (en) * | 2013-04-16 | 2014-10-22 | 英业达科技有限公司 | Data association building system and method |
CN104111923B (en) * | 2013-04-16 | 2017-07-07 | 英业达科技有限公司 | Set up data correlation system and method |
CN107368568A (en) * | 2017-07-11 | 2017-11-21 | 广州视源电子科技股份有限公司 | Method, device, equipment and storage medium for generating notes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797749B2 (en) | Systems and methods for anchoring content objects to structured documents | |
US8856643B2 (en) | Unique URLs for browsing tagged content | |
US6526424B2 (en) | Browser image display bookmark system | |
CN101211364B (en) | Method and system for social bookmarking of resources exposed in web pages | |
US10387535B2 (en) | System and method for selectively displaying web page elements | |
US8606807B2 (en) | Integration of triple tags into a tagging tool and text browsing | |
KR100490734B1 (en) | Annotation-based automatic document generation apparatus and method | |
KR101017923B1 (en) | Collaborative webpage authoring | |
US20070214422A1 (en) | Framework for implementing skins into a portal server | |
US8176185B2 (en) | Method of switching Internet personas based on URL | |
US7287229B2 (en) | Template-driven process system | |
JP4624376B2 (en) | Data visual cabinet system and data display method using the system | |
JP2014529149A (en) | Followed content management and visual techniques | |
US8607136B2 (en) | Maintaining tags for individual communities | |
WO2008092079A2 (en) | System, method and apparatus for selecting content from web sources and posting content to web logs | |
US20140229811A1 (en) | Bookmark-Based Access to Content Feeds | |
US20100037145A1 (en) | Method and system for a personalized web page | |
US20090222755A1 (en) | Tracking tag content by keywords and communities | |
US20190266204A1 (en) | Content selection widget for visitors of web pages | |
JP2008112446A (en) | Method for providing network resource information, and user apparatus and network apparatus thereof | |
WO2010025945A1 (en) | Method for attaching electronic notes to web sites and communicating such notes over the internet | |
US20220050883A1 (en) | Directly, automatically embedding a content portion | |
Cisco | New World Service Provider Web Application | |
Cisco | New World Service Provider Web Application | |
US20160077727A1 (en) | Online Protocol Community |
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: 09778363 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: 09778363 Country of ref document: EP Kind code of ref document: A1 |