WO2002086739A1 - System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources - Google Patents
System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources Download PDFInfo
- Publication number
- WO2002086739A1 WO2002086739A1 PCT/US2002/014059 US0214059W WO02086739A1 WO 2002086739 A1 WO2002086739 A1 WO 2002086739A1 US 0214059 W US0214059 W US 0214059W WO 02086739 A1 WO02086739 A1 WO 02086739A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- programming
- computing device
- user
- content item
- selected content
- Prior art date
Links
- 230000000694 effects Effects 0 abstract claims description 12
- 230000015654 memory Effects 0 claims description 27
- 230000004044 response Effects 0 claims description 4
- 238000003860 storage Methods 0 claims 1
- 235000014510 cookies Nutrition 0 description 15
- 239000002609 media Substances 0 description 12
- 238000004891 communication Methods 0 description 6
- 238000007667 floating Methods 0 description 6
- 230000000007 visual effect Effects 0 description 6
- 238000000034 methods Methods 0 description 5
- 230000003321 amplification Effects 0 description 4
- 238000003199 nucleic acid amplification method Methods 0 description 4
- 239000000047 products Substances 0 description 4
- 101700036544 PDA family Proteins 0 description 2
- 239000005062 Polybutadiene Substances 0 description 2
- 230000000881 depressing Effects 0 description 2
- 230000018109 developmental process Effects 0 description 2
- 239000011133 lead Substances 0 description 2
- 239000000203 mixtures Substances 0 description 2
- 239000006072 pastes Substances 0 description 2
- 229920001690 polydopamine Polymers 0 description 2
- 150000001875 compounds Chemical class 0 description 1
- 238000005520 cutting process Methods 0 description 1
- 238000005516 engineering processes Methods 0 description 1
- 238000004310 industry Methods 0 description 1
- 238000009434 installation Methods 0 description 1
- 230000000670 limiting Effects 0 description 1
- 230000003068 static Effects 0 description 1
- 230000001131 transforming Effects 0 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Abstract
Description
SYSTEM, METHOD AND APPARATUS FOR DISPLAYING
AND TRANSFERRING ACCESS TO CONTENT
OF WEB PAGES
Field ofthe Invention
The invention pertains in general to the World Wide Web, and more particularly to a method, system and apparatus for selecting, displaying, managing, tracking and transferring access to content accessible by computing devices on the World Wide Web and other sources.
Background ofthe Invention
Interconnected computer systems, such as those interconnected by the Internet, and the like provide fast and convenient means for obtaining information from various sources throughout the world, and for sharing the information with others. In the world ofthe Internet, one ofthe forms of this information is the web page.
An Internet web page can contain a large amount of information and a large number of individual items, such as text, photographs, moving images and the like. The present invention enables Users to quickly and conveniently focus on and display separately selected items of content of a web page, and to share those selected items with other individuals or systems over the network.
The World Wide Web uses a growing variety of media, styles and elements arranged in the form of web pages. These web pages contain various types of content, including text, pictures and other compelling visual formats. As a rule, web pages have a finite amount of usable space in which to place text, images, and other content. Because of this, the authors ofthe web pages must make compromises in regards to how much space is received by textual information, and how much by the other visual aspects (images, animation, video, etc). An analogy can be made to a newspaper. Each section ofthe paper is provided its own 'space' on the paper itself, with boundaries defining where topics, stories and pictures appear. Since a web page also follows many of these same layout restrictions, elements within a web page are typically restricted to given areas on the page.
One notable difference between the pages of printed matter and the pages of a web site lies in the digital format ofthe web page. The web page can be dynamic and changeable, whereas the printed pages are fixed and unchanging. But because web pages share much of their layout characteristics with the printed page, even the digital format must obey the space restrictions placed upon it. This is what determines how much space a picture or image gets, in comparison to the text on a page. Text, be it on a printed page or web page, follows normal publishing rules regarding size, font, spacing and other factors affecting the page design. Images, pictures and other rich content, however, are restricted by the remaining limited space available on the page. There is, therefore, a need for a method, system and apparatus that allows users to display selected content from web pages and other sources in separate, scalable, and re-sizeable windows.
Often, as users view web pages, they find that they have no easy or practical way to simultaneously view content from two different web pages or web sites. Some ofthe methods that have been devised to overcome this limitation include launching multiple instances of a web browser, or opening a link in a new window (both launch a new full instance ofthe browser). This allows users to try to resize the content within each page or browser instance, and fit both on the screen together. Most browsers will resize, but the contents within the page often will not. Additionally, by opening another fully enabled browser instance, users consume more memory resources than one browser instance would consume. By opening a link in a new window (if permitted), users are still running another full browser instance, and downloading that whole page in its entirety, regardless of which part ofthe page interests them, wasting time and bandwidth. Most web browsers (and web sites) display one web page at a time. To display more than one page, additional browser instances would be opened. There is, therefore, a need for a method, system and apparatus that allows users to simultaneously display selected content from different web pages in a manner that does not require the user to launch multiple fully-enabled browsers.
If a user wants to share web page content with others, the current and easiest existing method is E-mailing a 'link' to that content. The user would simply copy the URL in the address bar of their browser and paste it into an E-mail message. Another method that is considerably faster is that of Instant Messaging. Online, the user would copy and paste the URL ofthe shared web page in real-time. This has significant speed advantages, and allows for an almost 'virtual meeting' to take place. Unfortunately, the web pages do not always indicate the URL for the web page a user is viewing. This makes it difficult, if not impossible for the user to 'share' the location of this web page with another user. Another problem is caused by dynamic, form driven pages. These pages may have a number of drop-down lists from which the user could choose, or blank fields that might require user input. Because the URL for the resulting page may not be visible to the end user, it is difficult for a user show another user selected content. Much time is wasted by users having to 'walk' the other user through the entire web site in order for them to see the same results on their browser. There is, therefore, a need for a method and system that allows users to 'share' selected visual content from web pages with other users. There is also, therefore, a need for a method , system and apparatus that allows users to share only selected content from web pages in a manner that saves time and reduces bandwidth use.
The current invention also relates to the 'tracking' of online activity of web users. Existing methods of tracking online activity often involve the use of a - 'cookie', which is a small file written to, and then subsequently read from a user's computer. Advertising companies that serve up 'banner ads' are predominant users of these cookie files. As users 'surf (i.e. view) web pages, 'cookies' are created for the purpose of tracking what pages or web sites the user visits. Companies track, record and sell this information to other companies that are interested in obtaining such data. Many users and privacy advocates are speaking out against the invasive tracking method of using cookies.
While it is true that users can simply choose not to accept a cookie while on a specific web site, much, if not all, ofthe web site's functionality often becomes inaccessible by doing so. In effect, the web site forces the user to accept the cookies in order to fully use the site. On any given web page, the user can be prompted several times to 'accept' a cookie if their browser settings do not accept them automatically. While the cookie was originally created to allow users to enjoy dynamic content and other rich experiences, today it is mainly a tracking measure. Users have begun to rely on third party software programs to purge their computers of cookie files, only to often have them recreated when they return to the web.
Another tracking method is the 'web bug'. Just as the name implies, web bugs are actually tiny graphics, usually 1 pixel x 1 pixel in size. Because ofthe tiny size of these special graphics, they are extremely hard to notice or even find if you look for them. Much like the cookie file, the web-bugs function is to report back to its server the IP address and other data of a user viewing the web page. Most users have no idea that the web bug is there, let alone what it does. To properly illustrate the hiding power ofthe web bug, imagine that a microphone is implanted within this very paper you are reading. The size of this microphone is the size ofthe period at the end of this sentence, and it is painted white to match the paper color perfectly. As newer and more brazen methods of tracking user activity are developed, users continue to develop methods of foiling such data collection efforts.
These tracking and data collection efforts may never end, but they will likely change. Users want privacy, and they expect non-invasive ways for data tracking to be used. Advertisers and content providers, on the other hand, want a tracking solution that provides the most reliable data possible, via a method that cannot be thwarted or spoofed by users. There is, therefore, a need for a method, system and apparatus that tracks online web activity that does not use the preplacement of invasive methods such as cookies or web bugs.
An interesting aspect of existing data tracking methods is that they are limited to tracking web pages as a whole. Web pages usually consist of a combination of various media and the existing tracking methods cannot discern with any certainty specifically what the user was viewing on each web page. For instance, current tracking methods cannot discern when a user is viewing a specific item on a web page from Site A and also a specific item on a web page from Site B simultaneously. The owner of Site A can only know what page the user views on Site A, but has no way to gather data regarding Site B. An advertiser can place a banner ad on the web pages of both Site A and B, but still does not know what specific item the user viewed on those pages, only that pages were shown to the user. There is, therefore, a need for a method, system and apparatus that allows tracking of specific content that a user chooses to view from web pages. There is also, therefore, a need for a method, system and apparatus that allows tracking of specific visual content that the user chooses from multiple web pages or web sites simultaneously. Another aspect ofthe current invention pertains to searching for content on the World Wide Web. Many '"search engines" exist today, but users often lack the required skills to use them as efficiently as possible. In order for a search engine to return relevant results to a query, the user must know how to format search criteria. This means the user must know what key words to query on, and what combination of key words to use. Users will often not use the correct key words, causing the search results to have little relevance.
Furthermore, because a web page can be comprised of so many elements or topics, this adds to the confusion of what element in the page to search on. If the user were to search a particular web page or site for related information, the user usually gets results relevant to that page, not a specific element of that page.
For instance, if the user were interested solely in one product on a web page, and used existing search engines to search for related sites, the user would likely get results that include sites similar to the site he is on. However, such a user would not get results indicating sites that are both similar to the site and contain the specific product. A real world example might be that of a woman searching for a shoe store that sells a specific brand of shoe. The woman knows that she can find many shoe stores, but she is only interested in shoe stores that carry the brand of shoe she is looking for. This is known as a Boolean or compound query, where more than one search criterion must be met in order to satisfy the search results. There is, therefore, a need for a method, system and apparatus that allows users to search for related sites or information based on selected specific visual content that the user chooses to view from a web page or pages.
With the rapid development and general acceptance ofthe World Wide Web as the ultimate medium and resource library, software and hardware applications have been developed to help use, organize, and share some of these resources. E-Mail is one ofthe most popular applications used today. Email, however, is not capable of addressing all ofthe aforementioned concerns or issues that users encounter online.
Summary ofthe Invention
The invention provides a system, method and apparatus for selecting, displaying managing, tracking and transferring access to content accessible by computing devices, such as content in web pages, pop-up windows, players and plug- ins available on the World Wide Web, word processor documents, spreadsheets, and other like content. The selected content can be in the form of plain text, or can be in the form of static or dynamic graphic images, such as pictures, movies, animations, web casts, "3-D" images, or the like. Further, using the system, the User can select several different content items, ofthe same type or of different types, and place all of the items in an independent browser window.
Importantly, the content placed in the independent browser window only contains the content selected by the User, and does not contain other content which may be present in the original source ofthe content. For example, a User may wish to select a specific image or string of text from a web page containing several images or a lengthy text section. Thus, the system allows the User to create an independent window with only the desired content item, free from other content items on the source, which permits the User to focus on the desired content item. Thus, the system provides a heretofore unavailable ability for a User to create a grouping, or custom selection of content available from the World Wide Web or other sources.
The system also provides the ability to adjust both the size ofthe entire independent browser window, and, separately, the size of each content item within the window. Other important capabilities ofthe system include the ability to easily search for content similar to the selected content and the ability to transfer access to the custom selection to others via electronic mail, instant messenger applications, and other electronic communications methods.
The invention is effected, in part, by software added to the User's computing device, which is preferably in the form of a plug-in to an Internet browser, such as the Internet Explorer ™ Internet browser of Microsoft Corporation or the Netscape Navigator™ Internet browser of Netscape Corporation, or similar content viewing applications. The software on the User's computing device modifies the User's browser to allow the User to select desired content from a web page or other document or spreadsheet, or the like, and to place the desired content in an independent browser window, free from other content on the source web page or document. To access the functions provided by the software, the software creates a toolbar on the browser, the Main Toolbar, having menu items or icons which activate the functions.
In a preferred form, the software allows the User to select desired content from a web page by directing the mouse pointer over the content, depressing the right mouse button (i.e., "right click") and choosing a Select Content Function offered in an otherwise standard pop-up menu. (In the drawings included herewith, the Select Content Function on such pop-up menu is identified by the word "Amplify" ™). In the case of a text selection, the User preferably first defines the desired text by using the standard "click and drag" method and then the "right click" method.
For some types of content, such as media content, the system may place a floating icon over the content when the mouse is directed over the content. The floating icon can be used (click on) to select the content item with one click. Preferably, the floating icon appears as an overlay on top ofthe content item and only appears when the User directs the mouse pointer over the content item. Thus, the floating icon does not ordinarily obscure the content item.
After the User selects the content, the software presents the User with a Properties Window that allows the User to enter a descriptive Description for the Custom selection being created by the User, and allows the User to enter Keywords for the custom selection. As described in detail below, the software uses the Keywords to perform searches for similar content on the World Wide Web
Next, the software creates an independent browser window, the Custom Selection Window, containing only a relatively small toolbar, the Window Toolbar, and the custom selection ofthe content items selected by the User. This allows the User to select and focus on desired content free from additional, and possibly distracting, content on the source page.
Preferably, the Custom Selection Window is of a predetermined size and may be resized by the User in the known manner of resizing windows. Also, preferably, the content selected by the User is set to occupy specific percentages ofthe height and width ofthe window (other than the Window Toolbar), such as 100%. Thus, when the User adjusts the height or width (or both) ofthe Custom Selection Window, the browser adjusts the dimensions ofthe content within the window proportionately.
Certain content available on the World Wide Web, such as movies, animations and web casts, 3-D images and the like, may require that additional software be present on the User's computer. Such additional software includes media players such as Microsoft's Windows Medial Player, Real Media's Real Player, Apple's Quicktime, and other similar media players, and includes other "applets", plug-ins, applications and programs. The User would need to install this software prior to using the system ofthe invention for these types of content.
The system allows the User to have several instances of the Custom Selection Window open simultaneously, each window containing a different custom selection. If additional software is required to view a content item in a Custom Selection Window, such as a media player or applet, or the like, the additional software is preferably defined within the Custom Selection Window as an "embedded object", which allows multiple instances ofthe additional software to operate on the computing device at the same time. In this manner, the User can select and view several content items requiring the same additional software simultaneously.
This system also allows the User to add additional content items to an existing Custom Selection Window. The User can preferably define whether the additional content item is to appear above, below, to the right, or to the left of an existing content item. The process can be repeated to populate a Custom Selection Window with yet more content items.
The several content items contained within one Custom Selection Window are each placed within an individual frame created within the window, which frames are preferably set to collectively occupy specific percentages (e.g., 100%) ofthe height and width ofthe Custom Selection Window (not including the Window Toolbar, as discussed above). Further, as with a single content item, each ofthe several content items is preferably set to occupy specific percentages (e.g., 100%) ofthe height and width of its respective frame. The User may also preferably resize the frames. Thus, when a frame for a content item is resized, the browser resizes the content within that frame, and, importantly, resizes the other frames (and the content therein), proportionately. It can be appreciated that the ability to arrange, size and resize multiple content items within one independent browser page gives the User great flexibility when creating custom selections.
Preferably, each frame of a Custom Selection Window includes a toolbar, the Frame Toolbar, having predefined functions that are applied with respect to the specific content item located in the frame, as opposed to Window Toolbar which has functions that are applied with respect to the Custom Selection Window as a whole. For example, the Frame Toolbar preferably contains icons that allow the User to divide (and sub-divide) each frame to allow the User to populate the Custom Selection Window with multiple content items, as described above. Preferably, the Frame Toolbar appears as an overlay to the content item within the frame and only appears when the User directs the mouse pointer over the content item (i.e., on a so- called "mouseover" event). Thus, the Frame Toolbar does not ordinarily cover or otherwise obscure the content item located within the frame.
The Frame Toolbar preferably provides a menu item or icon to select the content item located within the respective frame and place the content item in a new Custom Selection Window in a manner similar to selecting content from an original source page. Thus, using this function, the User can pick desired content items out of an existing Custom Selection Window. In addition, the Frame Toolbar preferably includes a menu item or icon to Refresh the content item in the respective frame. The Window Toolbar also preferably provides a similar function to refresh all ofthe content items within a Custom Selection Window simultaneously.
Once a Custom Selection Window is created, the system provides the ability to search the World Wide Web for content similar to the selected content. To perform such a search, the User can select a Search function provided by the software, which is preferably accessible via an icon on the Window Toolbar ofthe Custom Selection Window or on the Frame Toolbar. Upon receiving such a search command, the software opens a new browser page and queries a predetermined World Wide Web search engine, such as google.com, or the like, with certain Search Parameters. The Search Parameters are created from a group including the domain name ofthe source of a content item in the Custom Selection Window, the title ofthe original web page ofthe content item, and the Keywords. Preferably, the search can be performed on the basis ofthe Search Parameters ofthe entire Custom Selection Window (via the Window Toolbar), or on the basis of an individual content item within a frame ofthe Custom Selection Window (via the Frame Toolbar).
The result ofthe search is an independent browser window containing "hits" returned by the search engine, which should be relevant to the selected content or source ofthe content. As is common, the hits are typically in the form of short descriptions ofthe search results accompanied by hypertext links, or universal resource locators (i.e., url's), which lead to web pages.
The system also provides the ability for the User to open a new browser window containing either the entire web page of a selected content item, or containing the main or "home" web page ofthe domain for the selected content. These functions, the GoTo This Page and GoTo This Site functions are preferably made available via menu items or icons on the Window Toolbar or via menu items or icons on each Frame Toolbar. Thus, the system provides a quick and convenient means to find and view the source of selected content items.
Further, the system provides the ability to maintain the Custom Selection Window as the "top" window on the computing device. This function, the Always On Top function, is preferably made available via a menu item or icon on the Window Toolbar. When the Always On Top function is selected (i.e., "on"), the Custom Selection Window will remain visible as the top window on the computing device irrespective of whether the User selects another window, such as another program, as the active window. With this function, the User can quickly and conveniently select and focus on a desired content item, such as a streaming video, and ensure that the content item is always visible even if the User is working with another program. As mentioned above, the User can resize and relocate the Custom Selection Window to view other programs, as desired.
The system also provides the ability for the User to save a Custom Selection Window for later viewing. One mode of this feature creates a Most Recently Used (MRU) list, or History, which saves a predetermined number (e.g., 20) ofthe last saved custom selections, in chronological order of use. Another mode of this feature, the Send to Favorites function, creates a semi -permanent list of Favorites. A Favorites List is preferably made available via a menu item or icon on the Window Toolbar. Preferably, the Main Toolbar, accessible on the main browser, includes a retrieval function, the GoTo Favorites function, accessible via a menu item or icon. When selected, the GoTo Favorites function displays a list of saved Custom Selection Windows, which are identified by the Description entered by the User when creating the Custom Selection Window. Thus, once a Custom Selection Window is sent to Favorites, the User can quickly and conveniently recreate the window at a later time by choosing the selection from the list of Favorites. The system also provides a convenient means for the User to print the Custom Selection Window. The Send To Printer function is preferably made available via a menu item or icon on the Window Toolbar.
Importantly, the system also provides the ability for the User to transfer a Custom Selection Window to another computing device (a Recipient) via electronic mail, instant messenger programs, or other similar electronic communication means. This function, the Send To Friends function, is preferably made available via a menu item or icon on the Window Toolbar. Upon selecting the Send To Friends function, the software presents the User with a dialog window to enter the Electronic Address ofthe Recipient (e.g., the email address, or instant messenger name). The software also preferably provides the ability to save the Electronic Addresses of Recipients, identified by a descriptive Recipient Name entered by the User, in a Friends List for future use.
When a Recipient is entered (or chosen), the software sends a Definition ofthe Custom Selection Window to a Server. The Definition includes a predefined, unique identifier for the sender (the User Identifier), the Description, the arrangement and sizes ofthe frames in the window and the Keywords. For image content, the Definition also includes the universal resource locator (url) for the image content. For text content, the Definition also includes either the entirety ofthe selected text or the url for the source ofthe text and parameters that define the location ofthe beginning and end ofthe selected text within the source ofthe text.
Upon receipt ofthe Definition, the Server assigns a unique Window Identifier to the Custom Selection Window. At this point, an electronic message is sent to the Recipient at the Electronic Address ofthe Recipient via electronic mail, instant messaging program, or other electronic means, as appropriate. The electronic message sent to the Recipient contains a hypertext link, or universal resource locator (url) which leads back to the Server. As described below, the link contains the Window Identifier ofthe Custom Selection Window. The electronic message can be sent by the Server or can be sent by the computing device ofthe User. In the case where the electronic message is sent by the User, the Server transmits the Window Identifier ofthe Custom Selection Window to the User and the Window Identifier is incorporated into the electronic message as described above.
The presence ofthe Keywords in the Definition provide an important function by allowing the creator ofthe custom selection to provide targeted words to search for related content on the web. As a part ofthe Definition, the Keywords are attached to the Custom Selection Window and remain with the Custom Selection Window when it is saved by the User (or sent to the Favorites List), and travel with the Custom Selection Window when the Custom Selection Window is accessed by a Recipient.
It should be noted that the electronic message sent to the Recipient does not contain the content items themselves, but only a link to the Server. As opposed to prior methods of sending entire content items to a recipient, the present invention greatly reduces the time and bandwidth required to send an electronic message to another to share content over a network such as the World Wide Web. Moreover, electronic messaging systems often have limitations in the type and amount of content that each can transmit in a single message. For example, electronic mail systems typically limit messages to a certain size and instant messaging systems typically do not allow the transfer of images and typically limit the amount of text in a message to a certain number of characters. The present invention overcomes these limitations by sending an electronic message containing a link used to re-create the custom selection.
Upon receiving the electronic message, the User can recreate the Custom Selection Window by selecting, or clicking on, the hypertext link in the message. When the Recipient selects the link within the electronic message, the computing device ofthe Recipient activates a browser application that sends a request to the Server, which request contains the unique Identifier ofthe Custom Selection Window. The Server responds with a web page that recreates the custom selection as defined by the User on the computing device ofthe Recipient as a Recipient Window.
Importantly, preferably a standard browser application can create the Recipient Window containing the custom selection without the additional software required to initially create and send the custom selection. Therefore the User is able to transmit access to the custom selection to another computing device on the network.
Preferably the Recipient Window is configured to load the content items ofthe custom selection via the browser application on the computing device ofthe Recipient directly from the respective sources ofthe content. Thus, by employing the browser application on the computing device ofthe Recipient to retrieve and load the content items, the system ofthe present invention avoids the content type and size limitations of electronic messaging systems, as discussed above. The Recipient Window also preferably includes a tool bar, the Recipient Toolbar, that provides certain functions to the Recipient related to the custom selection in the Recipient Window. The Recipient Toolbar preferably includes Search, Goto This Page, GoTo This Site, and Print functions, similar to those functions provided by the Window Toolbar, to allow the User to search the World Wide Web for content related to the content in the Recipient Window, to open another browser window with either the source web page containing the content item or the web site ofthe domain ofthe source web page, or to print the Recipient Window.
As mentioned above, the custom selection received by the Recipient includes the Keywords in the Definition, which allows the Recipient to perform targeted searches ofthe web for related content.
The initial web page sent to the Recipient preferably senses whether the Recipient has installed the software on their computing device. If so, the Recipient has the full functionality ofthe Custom Selection Window, including the functionality ofthe Window Toolbar, as described above. In particular, the Recipient has the ability to save the Custom Selection Window to the History List, the Favorites List and has the ability to transfer access to the Custom Selection Window to other computing devices, among the other functionality described above.
The software is preferably compatible with several different computing platforms, such as Microsoft Windows-based and Apple computers, internet appliances, personal digital assistants (PDAs, such as the Palm Pilot, and the like), and other computing platforms, such that custom selections can be shared among Users of various computing devices. Further, certain items of User-defined attribute information, such as the User's Favorites and the Friends List, are preferably portable amongst various computing devices ofthe User. The software accomplishes this function by transmitting the attribute information to the Server and storing the information along with the unique User Identifier. The User's attribute information is retrieved using the User Identifier when the User first launches the browser. Thus, the system provides a consistent and familiar experience regardless of which computing device the User chooses.
The system also provides a highly accurate and flexible means to track content viewed and shared by Users and Recipients. The Server is contacted whenever a custom selection is saved to or chosen from the Favorites list, when a custom selection is sent to another device using an electronic message, and when a Recipient views a received custom selection. During each of these actions, the unique Identifier ofthe custom selection is sent to the Server, which Server contains the Definition of the custom selection. Therefore, in the case of custom selections of a User's Favorites List, the system can track and compile statistics including regarding what content items have been selected, what content items are selected in the same window, the number of times a selected item (or group of items) is viewed, and the frequency of viewing. Such statistics can be compiled along with the unique User Identifier to track such information with respect to a particular User, or can be compiled "blind" without regard to a particular User. For custom selections shared with others, the system can also track and compile statistics on what content items (or groups) are shared with others (and by whom), the number of times a Recipient views a selection, the frequency of viewing, and the chosen method of messaging. As an example, the system can track statistics regarding a User viewing (and likely comparing) images of two products side-by-side in a custom selection, and can track statistics about any sharing of that custom selection. This tracking can be accomplished whether the two images are on the same site or different sites.
Further, the system does not rely on pre-placed tracking devices, such as "cookies" or "web bugs." The tracking capability ofthe present invention is based on the content items themselves, in their unaltered format. Moreover, the tracking capability ofthe system is highly targeted in that it is able to track viewing and transferring of specific content items, whereas traditional tracking methods such as cookies and web bugs typically only track views of entire web pages. Further, since communication with the Server is required for certain actions, such as saving and retrieving, the tracking capabilities ofthe system cannot be circumvented. Therefore, the system provides a very non-invasive reliable, highly targeted and flexible tracking system.
It can be appreciated that the present invention provides a convenient method for a User to create, view, modify, print and save custom groupings of image and text content items available on web pages and other sources, to search for other related content, and to transfer access to such selections with others, which method is effected in a manner which avoids the limitations of electronic communications methods, which reduces the time and bandwidth required to share the custom groupings via electronic messages, and which provides for highly accurate and flexible tracking of such content viewing and sharing.
Brief Description ofthe Drawings
For a complete understanding ofthe above and other features ofthe invention, reference shall be made to the following detailed description ofthe preferred embodiments ofthe invention and to the accompanying drawings, wherein:
FIG. 1 is an image of an Internet browser application showing the Main Toolbar ofthe present invention.
FIG. 2 is an image ofthe Main Toolbar showing the Identified Content Item List.
FIG. 3 is an image of the Select Content Item Function invoked by the "right- click" method of selecting a content item.
FIG. 4 is an image illustrating the floating Instant Selection Icon.
FIG. 5 is an image ofthe Properties Window. FIG. 6 is an image of a Custom Selection Window having a single image content item.
FIG. 7 is an image of a Custom Selection Window having a content item in a top frame and a blank bottom frame.
FIG. 8 is an image ofthe Select Target Window.
FIG. 9 is an image of a Custom Selection Window having an image content item in a top frame and an animation content item in a bottom frame.
FIG. 10 is an image of a Custom Selection Window having a bottom frame divided into right and left frames.
FIG. 11 is an image of a Custom Selection Window having an image content item in a top frame, having an animation content item in a left bottom frame and having a text content item in a right bottom frame.
FIGs. 12 and 13 are images of a Custom Selection Window as in FIG. 11, showing a Frame Toolbar in the top frame.
FIG. 14 is an image ofthe (Go To) History menu item ofthe Main Toolbar.
FIG. 15 is an image ofthe (Send To) Favorites menu item ofthe Window Toolbar.
FIG. 16 is an image ofthe (Go To) Favorites menu item ofthe Main Toolbar.
FIG. 17 is an image ofthe (Send To) Recipients menu item ofthe Window Toolbar.
FIG. 18 is an image ofthe Edit Recipients dialog window. FIG. 19 is an image ofthe Recipient Window.
Detailed Description ofthe Invention
Referring to FIG. 1, to employ the present invention, the User installs software on the User's computing device that adds functionality to the Internet browser application ofthe User's computing device. Upon installation ofthe software, the software communicates with a remote Server that assigns a unique User Identifier for the User and transmits the User Identifier to the User's computing device, which stores the User Identifier on a memory device for later use.
Selecting Content Items
The software adds a Main Toolbar 10 to the browser application 12 on the User's computing device to allow the User to create a custom selection by selecting desired content items from a web page or other document or spreadsheet, or the like, and to place the desired content items in an independent browser window, free from other content on the source web page or document. As discussed in detail below, the Main Toolbar 10 has menu items or icons that activate the functions.
By default, the software preferably analyzes web pages and other types of sources upon loading into the browser application to identify content items supported by the software and to determine the network locations ofthe content items. A list of supported content is preferably contained in a file stored on the User's computing device, such as in a Dynamic Link Library (DLL), that can be updated automatically as new types of content becomes supported by the software. The Main Toolbar 10 preferably provides a menu item that allows the User to disable the automatic page scanning if desired.
Referring to FIG. 2, the Main Toolbar 10 includes an Identified Content 14 menu item that displays an Identified Content Items List 16 of supported and identified content items in the web page or source currently loaded into the browser application. The User can select a desired content item by clicking on the item in the Identified Content Items List 16.
Referring to FIG. 3, the User can also select desired content item from a web page by directing a pointing device ofthe computing device (e.g., a mouse pointer) over the content item 18 in the page, depressing the right mouse button (i.e., "right click") and choosing a Select Content Item Function 20 offered in an otherwise standard pop-up menu 22. (In the drawings included herewith, the Select Content Item Function 20 on such pop-up menu 22 is identified by the word "Amplify" ™).
It should be noted that, when selecting content items, the software obtains the network location and name ofthe content item from the web page or other source of the content item and retains said network location in memory, which is preferably temporary memory. Further, it should be noted that content items (and groups of content items) can be selected using the standard "click and drag" method and then the "right click" method.
In the case of a content item that is text, the User preferably first defines the desired text by using the standard "click and drag" method and then the "right click" method. Preferably, a select function inherent in the operating system (e.g., Windows) is employed to obtain HTML coding for the text content item.
Referring to FIG. 4, for some types of content, such as media content, the system preferably places a floating, Instant Selection Icon 24 over the content item 18' when the User directs the mouse pointer over the display area or frame ofthe content item. The Instant Selection Icon 24 can be used (click on) to select the content item 18' with one click. Preferably, the Instant Selection Icon 24 appears as an overlay on top ofthe content item 18' and only appears when the User directs the mouse pointer over the display area or frame ofthe content item. Thus, the Instant Selection Icon 24 does not ordinarily obscure the content item. Window Description and Keywords
Referring to FIG. 5, after the User selects the content item, the software presents a Properties Window 28 that allows the User to enter a Description 30 for the custom selection being created by the User, and allows the User to enter Keywords 32 for the custom selection. As described in detail below, the software uses the Keywords 32 to perform searches for similar content on the World Wide Web.
The Custom Selection Window
Referring to FIG. 6, the software then creates an independent browser window, the Custom Selection Window 34, containing only a relatively small toolbar, the Window Toolbar 36, and the custom selection ofthe content item 18 selected by the User. This allows the User to select and focus on desired content free from additional, and possibly distracting, content on the source page. The network location ofthe content item is retrieved from the (temporary) memory to which it was stored during the selection process. It should be noted that the content item 18 is preferably loaded directly from the source ofthe content item; that is, from the domain and web page ofthe original source document.
The software preferably loads the content item into the Custom Selection Window 34 directly from the network source ofthe content item identified during the selection process. It is intended that the term network source as used herein include any cached source that may be present on the network.
Preferably, the Custom Selection Window 34 is of a predetermined size and may be resized by the User in the known manner of resizing windows. Also, preferably, the content item 18 selected by the User is set to occupy specific percentages ofthe height and width ofthe window (other than the Window Toolbar 36), such as 100%. Thus, when the User adjusts the height or width (or both) ofthe Custom Selection Window 34, the browser application adjusts the dimensions ofthe content item 18 within the window proportionately. However, the system preferably maintains any original aspect ratio settings ofthe content item.
Certain content available on the World Wide Web, such as movies, animations and web casts, 3-D images and the like, may require that additional software be present on the User's computer. Such additional software includes external player programs (such as Microsoft's Windows Medial Player, Real Media's Real Player, Apple's Quicktime, and other similar media players), plug-ins, helper application, "applets", plug-ins, and other programs. The User would need to install this software prior to using the system ofthe invention for these types of content.
The software allows the User to have several instances ofthe Custom Selection Window 34 open at any given time, each window containing a different custom selection. If additional software is required to view a content item in a Custom Selection Window 34, such as a media player or applet, or the like, the additional software is preferably defined within the Custom Selection Window as an "embedded object", which allows multiple instances ofthe additional software to operate on the computing device at the same time. In this manner, the User can select and view several content items requiring the same additional software at the same time.
Inserting Additional Content Items Into a Custom Selection Window
Referring to FIGs. 6 & 7, the software also allows the User to add additional content items to an existing Custom Selection Window 34. To do this, the User preferably first divides a Frame 37 of an existing content item 18 in the Custom Selection Window 34 to add a new frame to the window. The Frame Toolbar 38, which appears over the content item 18 in the Custom Selection Window 34, includes New Frame Bottom, New Frame Top, New Frame Right, and New Frame Left icons 40, 42, 44, 46 (or menu items) that add a new frame below, above, to the left or to the right, respectively, ofthe existing content item 18. The software preferably divides the frame 36 ofthe selected content item 18 into two, equal, sub-frames 48, 50, with one ofthe frames 48 occupied by the existing content item 18 and the other frame 50 blank. Then, the User selects an additional content item in the manner described above.
Referring to FIG. 8, upon the selection of an additional content item, the software determines whether there exists other, open Custom Selection Windows. If so, the software presents a Select Target Window 52, that displays an Open Window List 54 of all open Custom Selection Windows, which are preferably identified by the Description 30 entered by the User when creating the windows. Preferably, the User can select an open window from the Open Window List 54. The Select Target Window 52 also preferably provides a New Window 56 button, icon or menu item to allow the User to place the content item in its own Custom Selection Window, if desired.
Upon the selection of an open Custom Selection Window as the target, the software displays the selected Custom Selection Window 34, which includes the frame 48 occupied by the existing content item 18 and a blank frame 50 (as shown in FIG. 6). If the Custom Selection Window 34 contains more than one blank frame, the software then preferably pauses to allow the User to select the blank frame in which to place the additional content item. The User can select the desired blank frame by clicking within the border ofthe frame. If the Custom Selection Window 34 contains only one blank frame then the software may automatically place the additional content item within that frame.
Referring to FIG. 9, the software then displays the modified Custom Selection Window 34, which now contains both the first content item 18 (e.g., in the top frame 48) and the additional content item 58 (in the bottom frame 50).
Referring to FIGs. 10 & 11, the process can be repeated to populate the Custom Selection Window 34 with more content items. In this case, a new frame 60 is added to the right ofthe bottom frame 50. As above, the new frame 60 is added by selecting the New Fame Right icon 44 in the Frame Toolbar 38 (not shown) ofthe bottom frame 50 to add a frame to the right ofthe bottom frame 50. As shown, a text selection content item 62 can then be placed in the new frame 60 in the manner described above. The software preferably defines the frames ofthe Custom Selection Window (in HTML) to collectively occupy specific percentages (e.g., 100%) ofthe height and width ofthe Custom Selection Window (not including the Window Toolbar 36). Further, as with a single content item, each ofthe several content items is preferably set to occupy specific percentages (e.g., 100%) ofthe height and width of its respective frame. The User may also preferably resize and rescale the frames in a Custom Selection Window by relocating a border between frames by clicking on and dragging a border 64 to a new location. When the frame border is relocated, the browser application resizes both ofthe content items within the frames that share that border 64, proportionately. However, the system preferably maintains any original aspect ratio settings ofthe content item. It can be appreciated that the ability to arrange, size and resize multiple content items within one independent browser page gives the User great flexibility when creating custom selections.
As a first step in creating the Custom Selection Window 34, the software first determines what type of content has been selected and determines whether there exists other open Custom Selection Windows. An example ofthe code for these steps is set for the in Table A.
TABLE A
' Public Sub Amphfy(ByRef oSourceDocument As MSHTML H rMLDocument, ByRef oAmplifyObject As Object) ' Paramaters oSourceDocument - An object reference to the document that the item being amplified oπginated from ' oAmplifyObject - An object reference to the item being amplified Public Sub Amplιfy(ByRef oSourceDocument As MSHTML HTMLDocument, ByRef oAmplifyObject As Object)
Dim xmlAmphfyltem As MSXML DOMDocument
' Determine what type of content is being amplified Select Case TypeName(oAmplιfyObject) Case "HTMLImg"
Set xmlAmplifyltem = AmplιfyHTMLImg(oSourceDocument, oAmplifyObject) Case "IHTMLTxtRange"
Set xmlAmplifyltem = AmplιfyIHTMLTxtRange(oSourceDocument, oAmplifyObject) Case "HTMLObjectElement"
Set xmlAmplifyltem = AmphfyHTMLObjectElement(oSourceDocument, oAmplifyObject) End Select
If Not xmlAmplifyltem Is Nothing Then ' If there is already an amplification window showing, then give ' the user the choice of using a new or existing window If lAmplifyCount > 0 Then
1 Show window choice form
Dim oAmplifyForm As New Amplify frmAmplify
Load oAmplifyForm
Set oAmplifyForm Amphfyltem = xmlAmplifyltem
ShowWindowEx oAmplifyForm hWnd
Set oAmplifyForm = Nothing Else
' No windows existed, create a new one
Dim oAmplification As New Amplify Amplification oAmplification Load oAmplification Addltem xmlAmplifyltem
Set oAmplification = Nothing End If End If Set xmlAmplifyltem = Nothing End Sub
The software then defines certain parameters ofthe content item, such as the source page or document ofthe content item and the file name ofthe content item. An example of this step, for an image content item, is set forth in Table B.
TABLE B
' Pπvate Function AmplιfyHTMLImg(ByRef oSourceDocument As MSHTML HTMLDocument, ByRef olmage As MSHTML HTMLImg) As MSXML DOMDocument
' Parameters
' oSourceDocument - An object reference to the document that the item being amplified originated from
' olmage - An object reference to the image being amplified
' Return Value
' MSXML DOMDocument object containing the xml structure of the image
Pπvate Function AmphfyHTMLImg(ByRef oSourceDocument As MSHTML HTMLDocument, ByRef olmage As MSHTML HTMLImg) As MSXML DOMDocument
Dim xmllmage As New MSXML DOMDocument xmllmage async = False
LoadResXML xmllmage, "amplifyimage xml"
BuildSourceNode xmllmage selectSιngleNode("frame/source"), oSourceDocument
With xmllmage selectSιngleNode("trame/ιmage") selectSιnglcNode("src") Text = olmage src selectSιngleNode("alt") Text = olmage alt selectSιngleNode("heιght") Text = olmage Height selectSιngleNode("wιdth") Text = olmage Width
' selectSιngleNode("mιme-type") Text = olmage mimeType
Set AmphfyHTMLImg = xmllmage
Set xmllmage = Nothing
End Function
Then, the software launches a new browser application window and passes the XML structure ofthe image to the new window. An example ofthe code for this step, for an image content item, is set forth in Table C.
TABLE C
' Public Sub AddItem(ByRef oAmphfyltem As MSXML DOMDocument) ' Parameters
' oAmphfyltem - An object reference to the xml containing the structure of the item being amplified Public Sub AddItem(ByRef oAmphfyltem As MSXML DOMDocument) ' Copy the xml to a local object for later use
Set xmlltemWaiting = oAmphfyltem documentElement cloneNode(True) ' Set the item waiting flag bltemWaiting = True
' Check to see if the choose your target splash screen should be displayed
IfCLng(GetSettιng(REG_APP_NAME, REG_SECT_PREFERENCES, REG_ EY_TARGET_WINDOW_HINT, 0)) = 0 Then frmChooseTarget Show vbModeless, Me End If End Sub Upon the creation ofthe new window, the software pauses to receive an indication from the User as to the desired location ofthe content item within the new window. As stated above, if there is only one possible (i.e., blank) frame for the content item, then the software may automatically insert the content item in that frame. An example ofthe code for this step is set forth in Table D.
TABLE D
' Pπvate Sub AddItem_Callback(ByRef oTargetWindow As MSHTML HTMLWιndow2, ByRef xmlltem As MSXML IXMLDOMNode, Optional ByRef bSetDirty As Boolean = True)
' Parameters
' oTargetWindow - An object reference to the target window for the item being amplified
' xmlltem - An object reference to the xml of the item being amplified bSetDirty (Optional, Default = True) - Boolean value indicating weather or not to set the dirty flag for the amplification
Private Sub AddItem_Callback(ByRef oTargetWindow As MSHTML HTMLWιndow2, ByRef xmlltem As MSXML IXMLDOMNode, Optional ByRef bSetDirty As Boolean = True)
' Determine what type of content is being amplified Select Case xmlltem selectSιngleNode("@type") Text Case "H TMLImg"
Call AddHTMLImg(xmlItem, oTargetWindow) Case "IHTMLTxtRange"
Call AddIHTMLTxtRange(xmlItem, oTargetWindow) Case "HTMLObjectElement"
Call AddHTMLObjectElement(xmlItem, oTargetWindow) End Select xmlAmplification selectSιngleNode("amplιfϊcatιon/frames") appendChild xmlltem oAmplification Dirty = bSetDirty bltemWaiting = False
End Sub
In the code set forth in Table D, the software again determines the type ofthe content item and calls an appropriate function to populate the target frame with the content item. An example ofthe code to populate the target frame for an image content item is set forth in Table E.
TABLE E
' Pπvate Sub AddHTMLImg(ByRef xmllmage As MSXML IXMLDOMNode, ByRef oTargetWindow As MSHTML HTMLWιndow2)
' Parameters
' xmllmage - Object reference to the xml for the image being amplified
' oTargetWindow - Object reference to the target window for the image
Pπvate Sub Add HTM LImg(ByRef xmllmage As MSXML IXMLDOMNode, ByRef oTargetWindow As MSHTML HTMLWιndow2)
Dim olmage As MSHTML HTMLImg
' Load the html for the image into the target window oTargetWindow navigate AMPL1FY_RES_PATH + "/html/amplifyimage html"
' Waite for the window to finish loading
Do Events
Do Until oTargetWindow document readyState = "complete"
DoEvents Loop
' Set the base href of the window
SetBaseHREF oTargetWindow document, xmllmage selectSιngleNode("source") ' Get an object reference to the empty image loaded in the window Set olmage = oTargetWindow document getElementById("oImage") ' Set the image properties
With xmllmage selectSιngleNode("ιmage") olmage src = selectSιngleNode("src") Text olmage alt = selectSmgleNode("alt") Text End With
' Make the image visible olmage Style visibility = "visible"
Set olmage = Nothing End Sub
The XML structure of a content item preferably includes tags related to the network location ofthe source ofthe content item such as the protocol (e.g., http), host (e.g., amplify.com), path (e.g., /images/), page (e.g., page.html), and query. For an image item, the XML structure also preferably includes tags related to the file name (e.g., image.jpeg), alternate information (e.g., "A JPEG image"), height and width. An example ofthe XML structure for an image content item is set forth in Table F.
TABLE F
<frame ιd="" type="HTMLImg"> <source>
<protocol /> <host /> <path /> <page /> <query />
</source> <ιmage>
<src /> <alt /> <heιght l> <wιdth /> <mιme-type /> <scale>Y</scale>
</ιmage; </frame>
The HTML code loaded into a frame includes instructions that define the appearance ofthe content item in the frame. An example ofthe HTML code the frame of an image content item is set forth in Table G.
TABLE G
<html>
<head>
<base ιd="oBaseHREF" href- "' target="_blank">
< head>
<body leftmargιn="2" topmargin- '2" bottommargιn="2" πghtmargιn="2" onresιze="ResιzeImage(),">
<table cellpaddιng="0" cellspacιng="0" border="0" heιght="100%" wιdth="100%"> <tr>
<td ahgn="center" vahgn- 'mιddle">
<ιmg ιd="oImage" border="0" style="vιsιbιlιty hidden," onload="SetupImage()," onmouseover="ShowImageToolbar()," onmouseout="HιdeImageToolbar(false)," galleryιmg="no"><br> </td> </tr> </table> <button ιd="btnImageToolbar" onclιck="ScaleImage()," style="posιtιon absolute,top Opx.left Opx.background- color buttonface.visibihty hidden," onmouseout="HιdeImageToolbar(false),"> < button>
</body> </html>
As discussed above, the software allows the User to divide frames of an open Custom Selection Window to insert additional content items into the window. An example ofthe code to divide a frame of a Custom Selection Window is set forth in Table H.
TABLE H
' Pπvate Sub SplιtFrame(ByRef oSp tFrame As MSHTML HTMLFrameElement, ByRef sNewFrameLocation As Stπng) ' Parameters ' oSphtFrame - An object reference to the frame being split sNewFrameLocation - Stπng containing the location of the new (blank) frame Private Sub SplιtFrame(ByRef oSphtFrame As MSHTML HTMLframeElement, ByRef sNewFrameLocation As
Stπng)
Dim oNewFrameset As MSHTML IHTMLFrameSetElement Dim oReplaceFrame As MSHTML HTMLFrameElement Dim oNewFrame As MSHTML HTMLFrameElement oSphtFiame Style border = "Opx"
If sNewFrameLocation = "NewFrameTop" Or sNewFrameLocation = "NewFrameBottom" Then
Set oNewFrameset = oDocument createElement("<frameset rows=""50%,50%"">") Else
Set oNewFrameset = oDocument createElement("<frameset cols=""50%,50%"">") End If
Set oReplaceFrame = oSphtFrame parentElement replaceChιld(oNewFrameset, oSphtFrame) Set oNewFrame = oReplaceFrame cloneNode(False) oNewFrame id = "fraAmplify" + CStr((oDocument frames Length + 1)) oNewFrame src = "about blank" If sNewFrameLocation = "NewFrameRight" Or sNewFrameLocation = "NewFrameBottom" I"hen oNewFrameset appendChild oReplaceFrame oNewFrameset appendChild oNewFrame Else oNewFrameset appendChild oNewFrame oNewFrameset appendChild oReplaceFrame End If
Set oNewFrame = Nothing Set oReplaceFrame = Nothing Set oNewFrameset = Nothing End Sub
The HTML code that defines the frameset for a Custom Selection Window preferably defines the frames as predetermined percentages ofthe window. The code may also identify the Custom Selection Window by a unique Window Identifier. The code set forth in Table I below defines a frameset having a top and bottom frame for a Custom Selection Window having a Window Identifier of 579E3E1B-F2A9-42A3- 91AC-1635B0A67D04.
TABLE I
<html>
<head>
< head> <frameset xframeset rows="50%,50%"xframe src="amphfϊcatιon_vιew_frame asp?amplιficatιon={579E3ElB- F2A9-42A3-91AC-1635B0A67D04}&frame=fraAmplιfy0" scrollιng="no"xframe src="amplιficatιon_vιew_frame asp''amplιficatιon={579E3ElB-F2A9-42A3-91AC-1635B0A67D04(&frame=fraAmphfyl " scrollιng="no"></framesetx/frameset>
< html>
An example ofthe HTML code for a frame for an image content item for the Custom Selection Window defined by the frameset defined by the code set forth in the above Table I is set forth below in Table J.
TABLE J
<html>
<head>
<base href="http //www amplify com " target="_blank">
<scπpt language="JavaScπpt"> <ι~ var lOπginalHeight = 54, var lOπginalWidth = 232, var bScalelmage = true, function GetlmageRatiofJ { var dHeightRatio = 00, var dWidthRatio = 0 0, if (document body c entHeight <= 20 || document body chentWidth <= 20) • dHeightRatio = 1 , dWidthRatio = 1 , else { dHeightRatio = lOπginalHeight / (document body chentHeight - 4), dWidthRatio = IOπginalWidth / (document body chentWidth - 4), return dWidthRatio > dHeightRatio dWidthRatio dHeightRatio,
} function Resιzelmage() { if ('bScalelmage) { return,
> var dRatio = 0 0, dRatio = GetlmageRatio'O, olmage style height = Math round(10πgιnalHeιght / dRatio), olmage style width = Math round(10rιgιnalWιdth / dRatio), > function Scalelmage() { bScalelmage = 'bScalelmage, if (bScalelmage) {
HιdeImageToolbar(true),
ResizelmageO,
} else \
HidelmageToolbar(true), olmage style height = ", olmage style width = ",
//--> </scπpt>
</head>
<body leftmargιn="2" topmargιn="2" bottommargιn="2" πghtmargιn="2" onresιze="ResιzeImage(),">
<table cellpaddιng="0" cellspacιng="0" border="0" heιght="100%" wιdth="100%"> <tr>
<td ahgn="center" vahgn="mιddle"> <ιmg ιd="oImage" src="ιmage jpeg" alt="" onload="ResιzeImage(),"xbr>
</td>
</tr> </table>
</body> </html>
An example ofthe HTML code for a frame for an MPEG movie content item for the Custom Selection Window defined by the frameset defined by the code set forth in the above Table I is set forth below in Table K.
TABLE K
<html>
<head>
<base href="http //www amplify com/" target="_blank">
</head>
<body leftmargιn=" 1 " topmargm— 11 " bottommargιn=" 1 " πghtmargιn=" 1 " bgcolor="#000000">
<OBJECT ID="oWιndowsMedιa" wιdth=" 100%" heιght="100%" classιd="CLSlD 22d6f312-b0f6-l ld0-94ab- 0080c74c7e95" codebase="http //activex microsoft com/actιvex/contιols/mplayeι/en/nsmp2ιnf cab#Versιon=6,4,7,l 1 12" standby='" onmouseover="thιs ShowControls=l ," onmouseout="thιs ShowControls=0,"> <param name="ShowControls" value="0"> <param name- 'AutoStart" value="l "> <param name="AutoSιze" value="0"> <param name="AnιmatιonAtStart" value="False"> <param name="AutoRewιnd" value="False"> <param name="baseUrl" value=""> <param name="FιleName" value="movιe mpeg"> <param name="PlayCount" value="l "> <param name="Rate" value- '1 ">
</OBJECT>
</body> </html>
The code set forth below in Table L defines a frameset for a Custom Selection Window having a top row of one frame and a bottom row of two frames.
TABLE L
<html>
<head>
</head>
<frameset xframeset rows="50%,50%"xframe src="amplιficatιon_vιew_frame asp,amphfιcatιon={579E3ElB- F2A9-42A3-91AC-1635B0A67D04}&frame=fraAmphfy0" scrollιng="no"xframeset cols="50%,50%"xframe src="amplιficatιon_vιew_frame asp''amplιfιcatιon={579E3El B-F2A9-42A3-91AC-1635B0A67D04}&frame=fraAmplιfyl" scrolhng="no"xframe src="amplιficatιon_vιew_frame asp''amplιficatιon={579E3ElB-F2A9-42A3-91AC- l635B0A67D04)&frame=fraAmphfy2" scrollιng="no"x/framesetx/framesetx/frameset>
</html> The Custom Selection Window defined by the frameset set forth above in Table L can contain the image content item (as defined by the code of Table J) in the frame ofthe top row, an MPEG movie content item in the left frame ofthe bottom row, and a text content item in the right frame ofthe bottom row. An example ofthe HTML code for a text content item comprising the text "This is the text selected by the user." is set forth in Table M.
TABLE M
<html>
<head>
<base href="http //www amplify com/" target="_blank">
</head>
<body leftmargιn="0"
onload="document body scroll='auto',"><table heιght="100%" ahgn="center"> <tr>
<td vahgn="mιddle">
<span>Thιs is the text selected by the user </span>
</td> </tr> </table>
</body> </html>
Frame Toolbar
Referring to FIG. 12, the Frame Toolbar 38 preferably appears as an overlay to the content item 18 within the frame and only appears when the User directs the mouse pointer over the display area or frame ofthe content item (i.e., on a "mouseover" event). In this manner, the Frame Toolbar 38 will disappear when the pointer exits the display area or frame. Thus, the Frame Toolbar 38 does not ordinarily cover or otherwise obscure the content item 18 located within the frame.
Select Content Item (Frame Toolbar)
The Frame Toolbar 38 preferably includes a Select Content Item 66 icon to select the content item 18 located within the respective frame and place the content item in a new Custom Selection Window in a manner similar to selecting content from an original source page. Thus, using this function, the User can pick desired content items out of an existing Custom Selection Window.
Refresh (Frame Toolbar)
In addition, the Frame Toolbar 38 preferably includes a Refresh 68 menu item or icon to reload the content item in the respective frame. To refresh a content item, the software first determines which frame the User has chosen to reload. An example ofthe code to make this determination is set forth in Table N.
TABLE N
' Pπvate Sub Reload(Optιonal ByRef oTargetFrame As MSHTML HTMLFrameElement) ' Parameters oTargetFrame (Optional) - An object reference to a specific frame to be reloaded Pπvate Sub Reload(Optιonal ByRef oTargetFrame As MSHTML HTMLFrameElement) ' If a target frame was passed in, then only reload that frame ' otherwise reload all frames If Not oTargetFrame Is Nothing Then
PopulateFrames oAmplification DOM selectNodes("amplιficatιon/frames/frame[@ιd='" + oTargetFrame id +
'"]")
Else
PopulateFrames oAmplification DOM selectNodes("amplιficatιon/frames/frame") End If
End Sub
Then the code set forth in Table O calls the code set forth in Table P for each frame being reloaded.
TABLE O
Pπvate Sub PopulateFrames(xmlFrames As MSXML IXMLDOMNodeList) Dim i As Long For i = 0 To xml Frames Length - 1
AddItem_Callback oDocument frames(xmlFrames Item(ι) selectSιngleNode("@ιd") Text), xmlFrames Item(ι), False
Next l End Sub
TABLE P
' Private Sub AddItem_Callback(ByRef oTargetWindow As MSHTML HTMLWιndow2, ByRef xmlltem As MSXML IXMLDOMNode, Optional ByRef bSetDirty As Boolean = True)
' Parameters
' oTargetWindow - An object reference to the target window for the item being amplified
' xmlltem - An object reference to the xml of the item being amplified bSetDirty (Optional, Default = True) - Boolean value indicating weather or not to set the dirty flag for the amplification
Private Sub AddItem_Callback(ByRef oTargetWindow As MSHTML HTMLWιndow2, ByRef xmlltem As MSXML IXMLDOMNode, Optional By Ref bSetDirty As Boolean = True)
' Determine what type of content is being amplified Select Case xmlltem selectSιngleNode("@type") Text Case "HTMLImg"
Call AddHTMLImg(xmlItem, oTargetWindow) Case "IHTMLTxtRange"
Call AddIHTMLTxtRange(xmlItem, oTargetWindow) Case "HTMLObjectElement" Call AddHTMLObjectElement(xm!Item, oTargetWindow) End Select xmlAmplification selectSιngleNode("amplιfιcatιon/frames") appendChild xmlltem oAmplification Dirty = bSetDirty bltemWaiting = False
End Sub
Search (Frame Toolbar)
Referring to FIG. 12, the Frame Toolbar 38 preferably includes a Search 70 icon which allows the User to perform a search for content related to the content item in the frame. The Search icon 70 preferably provides a drop-down menu having a Similar Pages 72 menu item and a Related Content 74 menu item. Upon selection of either the Similar Pages 72 or Related Content 74 search menu items, the software opens a new browser window and queries an Internet search engine (e.g., google.com) with a search command using certain search parameters. The Similar Pages 72 menu item performs a search for web pages related to the domain name ofthe source ofthe content item in the frame. The search command for the Similar Pages 72 menu item is, for example: "http://www.google.com/search?q=related:www.amplify.com/". where "www.amplify.com" is the domain name ofthe source ofthe content item in the frame.
The Related Content 74 menu item performs a search ofthe domain ofthe source ofthe content item ofthe frame for items related to the Keywords ofthe Custom Selection Window. The search command for the Related Content 74 menu item is, for example:
"http://www.google.com/search?q=Keywordl%20Keyword2+site: www.amplify.com ", where "Keyword 1" and "Keyword2" are the Keywords entered by the user for the Custom Selection Window.
The result ofthe search is an independent browser window containing "hits" returned by the search engine, which should be relevant to the selected content or source ofthe content. As is common, the hits are typically in the form of short descriptions ofthe search results accompanied by hypertext links, or universal resource locators (i.e., url's), which lead to web pages.
Examples ofthe code for the Similar Pages 72 and Related Content 74 menu items are set forth below in Tables Q and R, respectively.
TABLE O
Pπvate Sub FrameToolbar_SearchForSιmιlarPages(oSourceFrame As MSHTML HTMLFrameElement)
With xmlAmplification selectSιngleNode("amplιficatιon/frames/frame[@ιd='" + oSourceFrame id + '"]/source") LaunchBrowser SEARCH_PAGE + "related " + selectSingleNodefhost") Text + "/" + selectSιngleNode("page") Text End With End Sub
TABLE R
Pπvate Sub FrameToolbar_SearchThιsSιte(oSourceFrame As MSHTML HTMLFrameElement)
LaunchBrowser SEARCH_PAGE + Keywords + "+sιte " + oAmplification DOM selectSιngleNode("amplιfιcatιon/frames/frarne[@ιd="' + oSourceFrame id + '"]/source/host") Text End Sub
GoTo This Site, GoTo This Page
Referring to FIG. 13, the Frame Toolbar 38 also preferably includes a GoTo 78 icon that presents a drop-down menu having a This Site 80 menu item and a This Page 82 menu item. The This Site 80 menu item opens a new browser window that loads the main page ofthe domain ofthe content item in the frame. The This Page 82 menu item opens a new browser window that load the page from which the content item ofthe frame was selected. Thus, the system provides a quick and convenient means to find and view the source of selected content items.
Properties (Window Toolbar)
The Window Toolbar 36 includes a Window Properties 84 icon that displays the Properties Window 28 (see FIG. 5) to allow the User to modify the Description 30 and the Keywords 32.
Search (Window Toolbar)
The Window Toolbar 36 also includes a Search 88 icon that performs a search ofthe World Wide Web base upon the Keywords 32. An example ofthe search command invoked by the Search 76 icon ofthe Window Toolbar 36 is
"http://www.google.com/search?q=Keywordl%20Keyword2."
Refresh (Window Toolbar)
The Window Toolbar 36 also preferably includes a Refresh 90 icon that reloads all ofthe content items of a Custom Selection Window 34 with one click. The example code set forth in Tables N, O & P above will reload all ofthe content items of a Custom Selection Window.
Always On Top
The Window Toolbar 36 also includes an Always On Top 92 icon, which, when selected, will retain the Custom Selection Window 34 as the top window on the computing device irrespective of whether the User selects another window, such as another program, as the active window. With this function, the User can quickly and conveniently select and focus on a desired content item, such as a streaming video, and ensure that the content item is always visible even if the User is working with another program. As mentioned above, the User can resize and relocate the Custom Selection Window 34 to view other programs, as desired.
Save
A Save 94 icon ofthe Window Toolbar 36 saves the Custom Selection Window 34 for later use. Preferably a Window Definition ofthe Custom Selection Window 34 is saved in memory ofthe computing device ofthe User (e.g., RAM or on a hard drive) and/or on a remote Server accessible via the Internet or other network. Preferably the content items of a Custom Selection Window are not themselves saved on the computing device ofthe User or on the Server, but only the Window Definition, which Window Definition contains the particulars ofthe Custom Selection Window and ofthe content items therein. Preferably, the Window Definition is in the form of an XML document containing a unique Window Identifier, a frameset and specific information for each frame.
Preferably, upon saving a new Window Definition, the software on the computing device ofthe User or the Server assigns a unique Window Identifier to the Custom Selection Window which is saved with or otherwise associated with the Window Definition. As discussed below, the Window Identifier is used to recreate the Custom Selection Window at a later time. For non-text content items, the Window Definition does not include the actual content items, but does include information regarding the source and identity ofthe content item sufficient to access or recreate the content item. Specifically, for non-text content items, the Window Definition preferably includes information identifying the source ofthe content item, including the domain name, path and file name, and includes identifying information and parameters of any media player or external application (or the like) required to display or play the content item. For text content items, the Window Definition may include the string of text selected by the User, or may include information identifying the source ofthe text and coordinates specifying the beginning and end points ofthe text. If entered by the User, the Window Definition also includes the Keywords 30. The example ofthe XML code set forth in Table S below is a Window Definition having a video content item, a text content item and an image content item.
TABLE S
<amplιficatιon>
<guιd>{7DAED7EF-FC90-4CF7-91C6-8886F5BF5C4F(</guιd>
<heιght>360</heιght>
<wιdth>643</wιdth>
<descπptιon>New Amphficatιon</descπptιon>
<keywords></keywords>
<frameset>
<protocol>http </protocol> <host>www msnbc com</host> <path>/m/mw/</path> <page>vw htm</page> <queryx/query> < source> <object type="MEDIAPLAYER">
<class-ιd>CLSID 22d6f312-b0fό-l Id0-94ab-0080c74c7e95</class-ιd> <code- base>http //activex microsoft com/actιvex/controls/mplayer/en/nsmp2ιnf cab#Versιon=6,4,7,l 1 12</code-base>
<standby>Loadιng Microsoft Media Player compnents </standby> <params><param name="AnιmatιonAtStart">False</paramXparam name="AutoRewιnd">False</paramXparam name="baseUrl"x/paramXparam name="FιleName">http //www msnbc com/m/mw/s/msnbc/asx asp er=http //www msnbc com/m mw/s/msnbc/sorry asf&,b =&,bu=&,vu=&,pu=mms //od-msnbc msnbc com/msnbc/vιdeo/promo/100/promo3 asf&,cu=mms //od- msnbc msnbc com/msnbc/vιdeo/commercιals/100/ad_ιntertaιner_04 asf&,akιd=472002</paramxparam name="PlayCount">l</paramxparam name="Rate">l</param></params> </object> </framexframe ιd="fraAmplιfyl " type="IHTMLTxtRange"> <source>
<protocol>http </protocol> <host>www ncodev com</host> <path>/</path> <pagex/page> <queryx/query> </source> <content>
<'[CDATA[<IMG heιght=10 src="ιmages/dots gif* wιdth=4xB> NCODE</B> is the leading software engineeπng firm to provide <I>ιntegratιon servιces</I> and <I>custom application development</I> merging legacy technologies and cutting edge engineeπng tools to create the most powerful business applications <BR>]]> </content> </framexframe
type="HTMLImg"> <source><protocol>http </protocol> <host>www ncodev com< host>
<path>/</path>
<page></page>
<queryx/query> </source> <ιmage>
<src>http //www ncodev com/ιmages/phrase_2 gιf</src>
<altx/alt>
<heιght>54</heιght>
<wιdth>232</wιdth>
<mιme-type/>
<scale>K/scale> </ιmage> </framexframe ιd="fraAmplιfy3" type="IHTMLTxtRange"> <source>
<protocol>http </protocol>
<host>www ncodev com</host>
<path>/</path>
<page></page>
<queryx/query>
</source> <content>
<'[CDATA[<IMG heιght=10 src="ιmages/dots gif wιdth=4> Our entire team is committed to transforming our clients' businesses utilizing a range of industry leading applications and custom software solutions to meet any specific need and business challenge We mold technology to optimize your business processes and ultimately <I>maxιmιze your bottom line </!><BR>]]> </content> </frame></frames> </amplιficatιon>
Referring to FIG. 14, the Main Toolbar 10 includes a GoTo 94 icon, that presents a History 95 menu item list, that in turn presents a Most Recently Used (MRU) List 96 of Custom Selection Windows, in preferably chronological order of use. Preferably, the windows are identified in the MRU List 96 by their Descriptions 30. The MRU List 96 is preferably limited to a predetermined number of windows, for example the last 20 used, such that the MRU List 96 is a dynamic list providing convenient access to recently used Custom Selection Windows. The User may recreate a Custom Selection Window from the MRU List 96 by clicking on the Description for the window. Upon selection of a Custom Selection Window from the MRU List 96, the software locates and retrieves the Window Definition from the memory device ofthe computing device or from the Server using the unique Window Identifier, recreates the Custom Selection Window and loads the content items directly from the original source of each item, as recorded in the Window Definition.
Send To Favorites
Referring to FIGs. 15 & 16, the Window Toolbar 36 includes a Send To 97 icon, that presents a Favorites 98 menu item, that in turn presents an Add to Favorites 100 menu item. The Add to Favorites 100 menu item saves the Custom Selection Window in a Favorites List 102 that is accessible via the GoTo 94 icon ofthe Main Toolbar 10. As with the MRU List 96, the software stores the Window Definition of each Custom Selection Window in the Favorites List 102 on the computing device and preferably on the Server. Also, as with the MRU List 96, the Custom Selection Windows in the Favorites List 102 are preferably identified by the Description 30. However, in contrast to the MRU List 96, the Favorites List 102 preferably remains the same until the User adds or deletes a Custom Selection Window from the list. Thus, the Custom Selection Windows in the Favorites List 102 will always be available to the User regardless of other windows which the User may have created and saved.
As with the MRU List 96, upon selection of a Custom Selection Window from the Favorites List 102, the software locates and retrieves the Window Definition from the memory device ofthe computing device ofthe User or from the Server using the unique Window Identifier, recreates the Custom Selection Window and loads the content items directly from the original source of each item, as recorded in the Window Definition.
Dynamic Favorites List
The Favorites List 102 can be modified, dynamically, as the User navigates (or "surfs") the World Wide Web. In particular, Matching Custom Selection Windows containing content items from the domain ofthe source currently displayed in the browser application ofthe User can be highlighted or segregated in the Favorites List 102. For example Matching Custom Selection Windows in the list can be grouped together in a sub-list (not shown) segregated from other Custom Selection Windows in the list. Alternatively, the Matching Custom Selection Windows in the list can be highlighted by limiting the display ofthe Favorites List 102 to only the Matching Custom Selection Windows, or can be highlighted visually, by color or in some other visual manner. Alternatively, the Favorites List 102 can be presented in an order that highlights the Matching Custom Selection Windows, such as with the Matching Custom Selection Windows at the top ofthe list. It can be appreciated that any other similar method of dynamically highlighting Matching Custom Selection Windows in the Favorites List 102 is within the scope ofthe invention.
To dynamically modify the Favorites List 102 according to the domain of a source currently displayed in the browser application, software on the computing device ofthe User monitors the currently displayed source and compares the domain ofthe current source to the domains of content items stored in the Window Definitions used to create the Favorites List 102. The software then modifies the Favorites List 102 in one ofthe above manners, or a similar manner, to highlight Matching Custom Selection Windows.
Send To Printer (Window Toolbar & Frame Toolbar)
Referring to FIG. 15, the Send To icon 97 ofthe Window Toolbar 36 preferably includes a Printer menu item 104 that send the Custom Selection Window to a printer available to the computing device ofthe User. Similarly, the Frame Toolbar 38 also preferably includes a Send to Printer Function (not shown) which allows the user to send the content item of one frame to the printer.
Send To Recipient Referring to FIGs. 17 & 18, the Send To icon 97 ofthe Window Toolbar 36 also includes a Recipients 106 menu item (shown as "Friends" in the drawings) that presents a List of Recipients 108 to which Custom Selection Windows may be sent by email, instant message or another type of electronic communication method. Preferably, the Recipients 106 menu item provides a means to enter (or modify) the Electronic Address of a Recipient of a Custom Selection Window, such as the Edit Recipients 110 menu item which presents the dialog window 111 of FIG. 18. Preferably, for each Recipient, the User can enter the Electronic Communication Method 112 (e.g., EMAIL), a descriptive Recipient Name 114 and the Electronic Address 116 ofthe Recipient (e.g., email_address@domain.com).
When a Recipient is chosen from the List of Recipients 108, the software on the computing device ofthe User sends the Window Definition ofthe Custom Selection Window (comprising an XML document ofthe type set forth above in Table S) to the Server. The Window Definition is stored on the Server along with the Window Identifier (which is assigned at that time, if one has not been assigned yet).
After receipt ofthe Window Definition, the Server sends an electronic message to the Recipient at the Electronic Address ofthe Recipient via electronic mail, instant messaging program, or other electronic means, as appropriate. The electronic message sent to the Recipient contains a hypertext link, or universal resource locator (url) containing the Window Identifier, which link leads back to the Server.
It may be preferable that the electronic message is sent to the Recipient by the Server. However, the electronic message may also be sent to the Recipient by a communication application on the computing device ofthe User. In either case, the electronic message includes a link to the Server, which link contains the unique Window Identifier. If the electronic message is sent by the User, both the Server and the computing device ofthe User must have the unique Window Identifier.
The presence ofthe Keywords in the Window Definition provide an important function by allowing the creator ofthe Custom Selection Window to provide targeted words to search for related content on the web. As a part ofthe Window Definition, the Keywords are attached to the Custom Selection Window and remain with the Custom Selection Window when it is saved (or sent to the Favorites List), and travel with the Custom Selection Window when the Custom Selection Window is accessed by a Recipient.
It should be noted that the electronic message sent to the Recipient does not contain the content items themselves, but only a link to the Server. As opposed to prior methods of sending entire content items to a recipient, the present invention greatly reduces the time and bandwidth required to send an electronic message to another to share content over a network such as the Internet. Moreover, the present invention overcomes the limitations of electronic communications methods by sending an electronic message containing a link used to re-create the content in a browser application. Upon receiving the electronic message, the User can recreate the Custom Selection Window by selecting, or clicking on, the hypertext link in the electronic message. When the Recipient selects the link within the electronic message, the computing device ofthe Recipient activates a browser application that sends a request to the Server, which request contains the unique Window Identifier ofthe Custom Selection Window. The Server locates the Window Definition ofthe Custom Selection Window using the Window Identifier and responds with an Initial Recipient Web Page.
The Initial Recipient Web Page has code that attempts to detect whether the Recipient has installed the software required to create Custom Selection Windows. In one embodiment, the Initial Recipient Web Page attempts to detect the presence ofthe software by attempting to initialize certain components or objects ofthe software. If the software is detected on the Recipients computing device, then the Initial Web Page passes the Window Identifier to the software which then creates a Custom Selection Window as defined by the Window Definition, which window has the full functionality provided by the software, including the Window and Frame Toolbars.
Recipient Window
Referring to FIG. 19, if the software is not detected, then the Initial Recipient Web Page includes code to open a new browser window, the Recipient Window 118, having dimensions defined in the Window Definition and to retrieve a Recipient Toolbar 120 from the Server and populates the new window with a Recipient Toolbar 120. Then the browser calls a page to create the frameset for the Recipient Window 118, according to the Window Definition. Each frame within a frameset then calls a page to populate the frame. Preferably a standard browser application can create the Recipient Window 118 without the additional software required to initially create and send the Custom Selection Window. Therefore the User is free to transmit access to the custom selection to any other computing device on the Internet or other network having a browser application.
As with the Custom Selection Window 34, preferably the Recipient Window 118 is configured to load the content items therein via the browser application on the computing device ofthe Recipient directly from the respective sources ofthe content. Thus, by employing the browser application on the computing device ofthe Recipient to retrieve and load the content items, the system ofthe present invention avoids the content type and size limitations of electronic messaging systems, as discussed above.
Examples of Server-side code to create the frameset and individual frames for a Recipient Window are set forth in Table T & U, respectively.
TABLE T
«-#INCLUDE FILE="scπpts/common asp"-> <SCRIPT LANGUAGE=vbscπpt RUNAT=Server> Sub FramesetXMLToHTML(oFramesetXML) Output "<frameset "
If Not oFramesetXML selectSmgleNode("@cols") Is Nothing Then
Output "cols=""" & oFramesetXML selectSιngleNode("@cols") text & """" Elself Not oFramesetXML selectSιngleNode("@rows") Is Nothing Then
Output "rows=""" & oFramesetXML selectSιngleNode("@rows") text & "
End If
Output ">"
For i = 0 To oFramesetXML childNodes length - 1
Output oFramesetXML chιldNodes(ι) nodeName & vbCrLf Select Case UCase(oFramesetXML chιldNodes(ι) nodeName) Case "FRAME"
Output "<frame src=""amplιficatιon_vιew_frame asp''amplιficatιon=" & sAmplGUID & "&frame=" & oFramesetXML chιldNodes(ι) selectSιngleNode("@ιd") text & """ scrollιng=""no"">"
Case "FRAMESET"
FramesetXM ToHTML oFramesetXML chιldNodes(ι) End Select Next
Output "</frameset>" End Sub </SCRIPT> <% Dim sAmplGUID sAmplGUID = Request QueryStπng("amphficatιon") If Not Len(sAmplGUID) > 0 Then
Response End End If Dim lAmplHeight lAmplHeight = 0 Dim lAmplWidth lAmplWidth = 0 Dim sAmplDcscnption sAmplDescπption = "" Dim sAmplKeywords sAmpl Keywords = "" Dim oAmplFramesetXML Set oAmplFramesetXML = Server CreateObject("MSXML2 DOMDocument")
Dim oConn, oRS, sSQL
Set oConn = Seiver CreateObject("ADODB Connection")
Set oRS = Server CreateObject("ADODB Recordset") oConn Open CONN STRING sSQL = "amplιficatιon_sel_sp @ampl_guιd = '" & sAmplGUID & "'" oRS Open sSQL, oConn, 3 lAmplHeight = oRS("ampl_heιght") lAmplWidth = oRS("ampl_wιdth") sAmplDescπption = oRS("ampl_descπptιon") sAmplKeywords = oRS("ampl_keywords") oAmplFramesetXML loadX L oRS("ampl_frameset") oRS Close oConn Close
Set oRS = Nothing
Set oConn = Nothing
%>
<html>
<head>
</head>
<% FramesetXMLToHTML(oAmplFramesetXML documentElement) %>
</html>
<%
Set oAmplFramesetXML = Nothing
%> TABLE U
<'"#INCLUDE FILE="scπpts/common asp"-> <% Dim sAmplGUID sAmplGUID = Request QueryStπng("amplιficatιon") Dim sFramelD sFramelD = Request QueryStπng("frame") If Not Len(sAmplGUID) > 0 Or Not Len(sFrameΙD) > 0 Then
Response End End If Dim sFrameType sFrameType = "" Dim sSourceProtocol sSourceProtocol = "" Dim sSourceHost sSourceHost = "" Dim sSourcePath sSourcePath = "" Dim sSourcePage sSourcePage = "" Dim sSourceQuery sSourceQuery = ""
Dim oConn, oRS, oRS2, sSQL
Set oConn = Servei CreateObject("ADODB Connection") Set oRS = Server CreateObject("ADODB Recordset") Set oRS2 = Server CreateObject("ADODB Recordset") oConn Open CONN_STRING sSQL = "ampl_frame_sel_sp " _
& "@fiam_ampl_guιd = '" & sAmplGUID & "', " _ & "@fιam_ιd = '" & sFramelD & ""' oRS Open sSQL, oConn, 3
If Not oRS EOF Then sFrameType = oRS("fram_type") sSourceProtocol = oRS("fram_source_protocol") sSourceHost = oRS("fram_source_host") sSourcePath = oRS("fram_source_path") sSourcePage = oRS("fram_source_page") sSourceQuery = oRS("fram_source_query") End If oRS Close
Select Case sFrameType
Case "HTMLImg" sSQL = "ampl_fram_htmlιmg_sel_sp " _
& "@hιmg_ampl_guιd = '" & sAmplGUID & '", " _
& "@hιmg_fram_ιd = '" & sFramelD & oRS Open sSQL, oConn, 3 IfNot oRS EOF Then %>
<html> <head>
<base href="<%= sSourceProtocol & "II" & sSourceHost & sSourcePath %>" target="_blank">
<scπpt language="JavaScπpt">
<l- var lOπginalHeight = <%= oRS("hιmg_heιght") %>, var lOπginalWidth = <%= oRS("hιmg_wιdth") %>, var bScalelmage = <% If oRS("hιmg_scale") = 1 Then %>true<% Else %>false<% End If %>, function GetlmageRatιo() { var dHeightRatio = 0 0, var dWidthRatio = 0 0, if (document body chentHeight <= 20 || document body chentWidth <= 20) { dHeightRatio = 1 , dWidthRatio = 1 , } else { dHeightRatio = lOnginalHeight / (document body chentHeight - 4), dWidthRatio = lOnginalWidth / (document body chentWidth - 4),
) return dWidthRatio > dHeightRatio ' dWidthRatio dHeightRatio,
} function Resιzelmage() { if ('bScalelmage) { return,
} var dRatio = 0 0, dRatio = GetlmageRatιo(), olmage style height = Math round(10πgιnalHeιght / dRatio), olmage style width = Math round(10πgιnalWιdth / dRatio),
function Scalelmage() { bScalelmage = 'bScalelmage, if (bScalelmage) {
HidelmageToolbar(true), ResizelmageQ,
} else
HιdelmageToolbar(true), olmage style height = ", olmage style width = ",
//--> </scπpt>
</head>
<body leftmargιn="2" topmargιn="2" bottommargιn="2" ιιghtmargιn="2" onresιze="ResιzeImage(),">
<table cellpaddmg="0" cellspacιng="0" border="0" heιght="100%" wιdth="100%"> <tr>
<td alιgn="center" vahgn="mιddle">
<ιmg ιd="oImage" src="<%= oRS("hιmg_src") %>" alt="<%= oRS("hιmg_alt") %>" onload="ResιzeImage(),"><br> </td> </tr> </table>
</body> </html> <%
End If oRS Close Case "IHTMLTxtRange" sSQL = "ampl_fram_ιhtmltxtrange_sel_sp " _
& "@txrg_ampl_guιd = '" & sAmplGUID & '", " _ & "@txrg_fram_ιd = '" & sFramelD & "'" oRS Open sSQL, oConn, 3
If Not oRS EOF Then %>
<html> <head>
<base href="<%= sSourceProtocol & "//" & sSourceHost & sSourcePath %>" target="_blank"> </head> <body leftmargin="0"
bottommargιn="0" nghtmargin="0" onload="document body scroll='auto',"><table heιght="100%" alιgn="center"> <tr>
<td vahgn="mιddle">
<spanx%= oRS("txrg_content") %x/span>
</td> </tr> < table>
</body> </html> <% End If oRS Close Case "HTMLObjectElement" sSQL = "ampl_frarn_htmlobjectelement_sel_sp " _
& "@oblm_ampl_guιd = '" & sAmplGUID & "', " _ & "@oblm_fram_ιd = '" & sFramelD & '"" oRS Open sSQL, oConn, 3 If Not oRS EOF Then %>
<html> <head>
<base href="<%= sSourceProtocol & "//" & sSourceHost & sSourcePath %>" target="_blank"> </head>
<body leftmargιn="l" topmargιn="l" bottommargιn="l" rιghtmargιn=" 1 " bgcolor="#000000"> <%
Select Case oRS("oblm_type")
Case "MEDIAPLAYER" %>
<OBJECT ID="oWιndowsMedιa" wιdth="100%" heιght="100%" classιd="<%= oRS("oblm_class_ιd") %>" codebase="<%= oRS("oblm_code_base") %>" standby="<%= oRS("oblm_standby") %>" onmouseover="thιs ShowControls=l ," onmouseout="thιs ShowControls=0,">
<param name="ShowControls" value="0">
<param name="AutoStart" value="l">
<param name="AutoSιze" value="0">
<% sSQL = "ampl_fram_oblm_params_sel_sp " _
& "@parm_ampl_guιd = "' & sAmplGUID & '",
& "@parm_fram_ιd = '" & sFramelD & '"" oRS2 Open sSQL, oConn, 3 Do While Not oRS2 EOF
%>
<param name="<%= oRS2("paπn_name") %>" value="<%= oRS2("parm_value") %>"> <% oRS2 MoveNext
Loop oRS2 Close %>
</OBJECT> <%
Case "SHOCKWAVEFLASH" %>
OBJECT ID="oShockwaveFlash" heιght="100%" wιdth="100%" classιd="<%= oRS("oblm_class_ιd") %>" codebase="<%= oRS("oblm_code_base") %>" standby="<%= oRS("oblm_standby") %>"> <% sSQL = "ampl_fram_oblrn_params_sel_sp " _
& "@parm_ampl_guιd = '" & sAmplGUID & "', '
& "@parm_fram_ιd = '" & sFramelD & "'" oRS2 Open sSQL, oConn, 3 Do While Not oRS2 EOF
%>
<param name="<%= oRS2("parm_name") %>" value="<%= oRS2("parm_value") %>"> <% oRS2 MoveNext
Loop oRS2 Close
%> </OBJECT>
<%
End Select
%>
<Λody> </html> <%
End If oRS Close
End Select oConn Close Set oRS2 = Nothing Set oRS = Nothing Set oConn = Nothing %>
Recipient Toolbar
Referring to FIG. 19, the Recipient Toolbar 120, includes icons to Search 122, Send To Printer 124, Goto This Page 126, and GoTo This Site 128, which initiate functions similar to those functions provided by the Window Toolbar 36, to allow the User to search the World Wide Web for content related to the content in the Recipient Window 118, to print the Recipient Window, or to open another browser window with either the source web page containing the content item or the web site ofthe domain ofthe source web page. The Recipient Toolbar also preferably includes a refresh icon (not shown) to reload the window.
Importantly, the Window Definition preferably passes the Keywords to the Recipient Window 118 such that the Keywords follow the custom selection and such that the Recipient can use the Keywords to search for related content. The Search 122 function ofthe Recipient Toolbar 36 preferably invokes a search command similar to that ofthe Window Toolbar 36. In particular, the search command may be "http://www.google.com/search?q=Kevwordl%20Keyword2." Thus, the creator of the original Custom Selection Window can provide important targeted Keywords for the Recipient to use in performing searches ofthe World Wide Web for related content items.
Portability
The system ofthe present invention is preferably compatible with several different computing platforms, such as Microsoft Windows-based and Apple computers, internet appliances, personal digital assistants (PDAs, such as the Palm Pilot, and the like), and other computing platforms, such that custom selections can be shared among various computing devices. Further, certain items of User-defined attribute information, such as the User's MRU List, Favorites and the Recipients List, ' are preferably portable amongst various computing devices ofthe User. The software accomplishes this function by transmitting the attribute information to the Server and storing the information along with the unique User Identifier. The User's attribute information is preferably retrieved using the User Identifier when the User first launches the browser. Thus, the system provides a consistent and familiar experience regardless of which computing device the User chooses.
Tracking
The system also provides a highly accurate and flexible means to track content viewed and shared by Users and Recipients. The Server is contacted whenever a custom selection is saved or sent to or chosen from the Favorites List, when a custom selection is sent to a Recipient using an electronic message, and when a Recipient views a received custom selection. During each of these actions, the custom selection is uniquely identified to the Server by the Window Identifier, which Server contains the Definition ofthe custom selection. Therefore, in the case of custom selections of a User's Favorites List, the system can track and compile statistics regarding what content items have been selected, what content items are selected in the same window, the number of times a selected item (or group of items) is viewed, and the frequency of viewing. Such statistics can be compiled along with the unique User Identifier to track such information with respect to a particular User, or can be compiled "blind" without regard to a particular User. Importantly, this tracking can be accomplished whether the two images are on the same site or different sites.
For custom selections shared with others, the system can also track and compile statistics on what content items (or groups) are shared with others (and by whom), the number of times a Recipient views a selection, the frequency of viewing, and the chosen method of messaging. As an example, the system can track statistics regarding a User viewing (and likely comparing) images of two products side-by-side in a custom selection, and can track statistics about any sharing of that custom selection. As a further example, the system can track viewing and sharing activities of diverse custom selections containing two or more content items from different network domains (e.g., different web retailers) and can track such activity according to groups or sets of network domain, such as diverse custom selections containing content items from a network domain of web retailer A and from a network domain of web retailer B.
Further, the system does not rely on pre-placed tracking devices, such as "cookies" or "web bugs." The tracking capability ofthe present invention is based on the content items themselves, in their unaltered format. Moreover, the tracking capability ofthe system is highly targeted in that it is able to track viewing and transferring access to specific content items, whereas traditional tracking methods such as cookies and web bugs typically only track views of entire web pages. Further, since communication with the Server is required for certain actions, such as saving, saving and retrieving, the tracking capabilities ofthe system cannot be circumvented. Therefore, the system provides a very reliable, highly targeted and flexible tracking system.
It can be appreciated that the system provides a convenient method for a User to create, view, modify, print and save custom groupings of image and text content items available on web pages and other sources, to search for other related content, and to transfer access to such selections with others, which method is effected in a manner which avoids the limitations of electronic communications methods, which reduces the time and bandwidth required to share the custom groupings via electronic messages, and which provides for highly accurate and flexible tracking of such content viewing and sharing.
It should be understood, of course, that the specific form ofthe invention herein illustrated and described is intended to be representative only, as certain changes may be made therein without departing from the clear teachings ofthe disclosure. Accordingly, reference should be made to the following appended claims in determining the full scope ofthe invention.
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28641701P true | 2001-04-25 | 2001-04-25 | |
US60/286,417 | 2001-04-25 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/254,440 US7216290B2 (en) | 2001-04-25 | 2002-09-25 | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/254,440 Continuation-In-Part US7216290B2 (en) | 2001-04-25 | 2002-09-25 | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002086739A1 true WO2002086739A1 (en) | 2002-10-31 |
Family
ID=23098512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/014059 WO2002086739A1 (en) | 2001-04-25 | 2002-04-25 | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2002086739A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1606731A2 (en) * | 2003-03-25 | 2005-12-21 | Claria Corporation | Generation and presentation of search results using addressing information |
WO2008085799A1 (en) * | 2007-01-05 | 2008-07-17 | Apple Inc. | Selecting and manipulating web content |
US7490105B2 (en) | 2004-09-15 | 2009-02-10 | International Business Machines Corporation | Externalized selection middleware for variability management |
US8924395B2 (en) | 2010-10-06 | 2014-12-30 | Planet Data Solutions | System and method for indexing electronic discovery data |
US9098597B2 (en) | 2005-06-03 | 2015-08-04 | Apple Inc. | Presenting and managing clipped content |
US9141718B2 (en) | 2005-06-03 | 2015-09-22 | Apple Inc. | Clipview applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754175A (en) * | 1992-12-01 | 1998-05-19 | Microsoft Corporation | Method and system for in-place interaction with contained objects |
US5877765A (en) * | 1995-09-11 | 1999-03-02 | Microsoft Corporation | Method and system for displaying internet shortcut icons on the desktop |
-
2002
- 2002-04-25 WO PCT/US2002/014059 patent/WO2002086739A1/en not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754175A (en) * | 1992-12-01 | 1998-05-19 | Microsoft Corporation | Method and system for in-place interaction with contained objects |
US5877765A (en) * | 1995-09-11 | 1999-03-02 | Microsoft Corporation | Method and system for displaying internet shortcut icons on the desktop |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1606731A2 (en) * | 2003-03-25 | 2005-12-21 | Claria Corporation | Generation and presentation of search results using addressing information |
EP1606731A4 (en) * | 2003-03-25 | 2006-11-02 | Claria Corp | Generation and presentation of search results using addressing information |
US7490105B2 (en) | 2004-09-15 | 2009-02-10 | International Business Machines Corporation | Externalized selection middleware for variability management |
US9098597B2 (en) | 2005-06-03 | 2015-08-04 | Apple Inc. | Presenting and managing clipped content |
US9141718B2 (en) | 2005-06-03 | 2015-09-22 | Apple Inc. | Clipview applications |
WO2008085799A1 (en) * | 2007-01-05 | 2008-07-17 | Apple Inc. | Selecting and manipulating web content |
US8656295B2 (en) | 2007-01-05 | 2014-02-18 | Apple Inc. | Selecting and manipulating web content |
US8924395B2 (en) | 2010-10-06 | 2014-12-30 | Planet Data Solutions | System and method for indexing electronic discovery data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7840527B2 (en) | Platform for feeds | |
US8756510B2 (en) | Method and system for displaying photos, videos, RSS and other media content in full-screen immersive view and grid-view using a browser feature | |
US10175862B2 (en) | Targeted sidebar advertising | |
US6789075B1 (en) | Method and system for prioritized downloading of embedded web objects | |
KR100952379B1 (en) | Profile based capture component for monitoring events in applications | |
US9723108B2 (en) | System and methods for creating and authorizing internet content using application media packages | |
US7818659B2 (en) | News feed viewer | |
Weinreich et al. | Off the beaten tracks: exploring three aspects of web navigation | |
US8812988B2 (en) | Dynamic icons associated with remote content | |
US8407576B1 (en) | Situational web-based dashboard | |
EP1561171B1 (en) | System and method for delivery of information based on web page content | |
US7574486B1 (en) | Web page content translator | |
US6456307B1 (en) | Automatic icon generation | |
JP3396177B2 (en) | Web page customized system | |
US8055685B2 (en) | System and method for real-time content aggregation and syndication | |
US5913033A (en) | Apparatus and method for retrieving information using standard objects | |
US7836409B2 (en) | Systems and methods for using interaction information to deform representations of digital content | |
US7680856B2 (en) | Storing searches in an e-mail folder | |
US5870767A (en) | Method and system for rendering hyper-link information in a printable medium from a graphical user interface | |
KR100854561B1 (en) | Integration of personalized portals with web content syndication | |
US20020161794A1 (en) | Browser rewind and replay feature for transient messages by periodically capturing screen images | |
US7353246B1 (en) | System and method for enabling information associations | |
US9619784B2 (en) | Presenting image previews of webpages | |
US7546538B2 (en) | System and method for web browsing | |
JP5468186B2 (en) | Method and system for distributing remotely stored applications and information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 10254440 Country of ref document: US |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |