This patent application claims priority to and incorporates the contents of the U.S. Provisional Patent Application No. 60/508,439 entitled “A Novel Customizable User Interface For One Click Access to Local and Online Contents” by Martin, G et al., filed on Oct. 3, 2003.
Embodiments of the present invention relate to graphical interfaces. More specifically, embodiments of the present invention relate to an interface for a search engine that can be moved anywhere on a desktop and remains visible on the desktop as long as the computer is on.
With the advent of the World Wide Web (WWW) an abundance of information on the Internet has become available to people who have computers. Search engines have been developed to find information based on search terms that the users provide to the search engines.
Different search engines (120A, 120B) have access to different sets of information (130A, 130B) on the Internet 140. For example, search engine 120A may have access to information 130A, which may include, for example, the contents of the Wall Street Journal, whereas search engine 120B may have access to information 130B, which may include, for example, the contents of Time magazine. Each search engine (120A, 120B) searches the information (130A, 130B) that it has access to based on search terms the user enters and provides results from the search to the user in the browser window 104. For example, search engine A would search information 130A and search engine B would search information 130B. The information each search engine has access to shall be referred to as the search engine's “environment.”
One problem with search engine user interfaces 106 is that they disappear when the user closes their browser window 104. A second problem with the search engine user interfaces 106 is that they take up a lot of space on the screen 102.
Referring to
One problem with Dave's user interface 140 is that it takes up valuable space on the task bar 108.
For these and other reasons, a method and/or a system would be valuable that provides a search engine user interface that is available as long as the user's computer is on regardless of whether the browser is open. A method and/or system that does not take up valuable space on the task bar would also be value.
Embodiments of the present invention are described which pertain to methods and systems for a movable interface to a search engine that remains visible on a desktop regardless of whether a browser is open or closed. In one embodiment, a search engine interface is created by displaying a graphical image of a window on a screen of the computer. The window may receive search terms for searching information available to a search engine. The search engine interface is also created by associating a two dimensional graphical image that has a specified shape and color with the window. The search engine interface is designed to remain available on the screen of the computer regardless of whether a browser associated with the computer is open or closed. Further the search engine interface is designed to be moved anywhere on the screen.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
The software system 200 includes a computer 210 that communicates with the Internet 140 to perform searches on information (130A, 130B) using search engines (120A, 120B). As depicted in
A user of computer 210 may interact with search engine interface 206, browser window 104, and task bar 208 to instruct computer 210 on what actions to perform. For example, according to one embodiment, the user may enter search terms into window 206c to cause a search engine (120A, 120B) to search the information (130A, 130B) associated with the search engine (120A, 120B) based on the entered search terms. In response, the results of the search may be returned in a browser window 104.
According to one embodiment, the search engine interface 206 remains available on the screen 202 for searching information (130A, 130B) available to search engines (120A, 120B) even when the browser window 104 is closed. For example, referring to
According to another embodiment, search engine interface 206 may be moved any where on screen 202. For example, referring to
In yet another embodiment, the user may select which search engine (120A, 120B) performs the search using a list of search engines names. For example, assume that the name of search engine 120A is Google™ and the name of search engine 120B is Alta Vista. A user may click on a button 206b to cause a list which includes two user selectable options, e.g., “Google” and “Alta Vista™”, to be displayed. The user may cause Google™ to perform the search by selecting the option “Google” from the list and clicking on button 206d.
Any language, tool kit, and/or library that may be used for displaying graphical images, receiving search terms, communicating search terms to search engines, and for receiving the results of a search, may be used for creating search engine interface 206. For example, C++, Pascal, Visual Basic, Microsoft Foundation Classes (MFC), Java Script, Viassory, may be used for coding software 212 which creates search engine interface 206 when software 212 is executed.
According to one embodiment, a user may cause the search engine interface 206 to display a list of user selectable search engine names by clicking on button 206b. For example, the company that owns the software that creates search engine interface 206 may create a partnership with several companies, such as Google™, AltaVista™, Ask Jeeves®, Inktomi®, etc., that have search engines, they may allow users to select the search engine the users desire from among the companies the owner of software 212 partnered with. In this case, a list of names for the search engines, e.g., Google™, AltaVista™, Ask Jeeves®, Inktomi®, may be displayed for user selection when a user clicks on button 206b.
In yet another embodiment, an option for searching the hard drive of computer 210 may be associated with the list of search engine names. For example, an option such as “My Computer” may be displayed when a user clicks on button 206b. If the user chooses the “My Computer” option, another interface may be displayed asking the user what they want to search for on their computer 210's hard drive. In this case, the interface may allow the user to search for a particular file name or for a word in all of the files on computer 210's hard drive. In one embodiment, the interface that is displayed when a user chooses the “My Computer” option is the interface for performing searches of whatever operating system is running on computer 210. In another embodiment, the company that owns search engine interface 206 may develop their own interface for allowing users to search their hard drive. In this case, an Application Programming Interface (API) provided by the operating system may be used to instruct the operating system to perform the search.
In one embodiment, multiple search engines may be used for performing searches (also referred to as “aggregate searches”). For example, a user may be allowed to select the name of more than one search engine. Assume in this case that the list of search engine names includes Google™, AltaVista™, and Ask Jeeves®. The user may be allowed to select Google™ and Ask Jeeves® to perform the search. Additionally, the user may be allowed to perform a search using all of the search engines in the list.
What are known as search engine aggregators, such as “www.dogpile.com,” have the ability to search information on the internet using multiple search engines. For example, in one embodiment, the company that owns the search engine interface 206 may contract with a search engine aggregator, such as “www.dogpile.com” to perform aggregate searches.
In another embodiment, the results from a search may be returned in a browser window associated with the search engine that performed the search. In yet another embodiment, the results may be returned in an interface associated with the search engine interface 206. For example, the results that the search engines found may be returned to software 212 in data structures, such as XML feeds. The software 212 may extract the results from the data structures and display the results in an interface that is associated with the software 212. According to one embodiment, the interface that is used to provide results from a search may be displayed as a part of a browser window 104, as depicted in
In one embodiment, the names of search engines are easily added and/or deleted from the list of search engine names. For example, the names of the search engines may be associated with button 206b using an INI file, a registry, a text file, a proprietary data format, an XML file, among other things.
According to one embodiment, the appearance of the search engine interface 206 may be modified by associating a different two dimensional graphical image with the search engine interface 206. For example, as depicted in
In yet another embodiment, different two dimensional graphical images 206a may be associated with different search engines (120A, 120B). For example, if a user chooses Google™ from the list of search engine names, then a two dimensional graphical image 206a with Google™'s logo may appear and when the user chooses Alta Vista from the list of search engine names, then a different two dimensional graphical image 206a with Alta Vista's logo may appear.
According to one embodiment, the company that owns search engine interface 206 develops the two dimensional graphical images 206a that can be used for modifying the appearance of the search engine interface 206. The two dimensional graphical images 206a may be shipped as a part of software 212. According to another embodiment, user communities may develop the two dimensional graphical images 206a. In this case, software 212 may provide a facility for associating the two dimensional graphical images 206a with the search engine interface 206.
For the purposes of illustration, the discussion of flowchart 300 shall refer to the structures depicted in
In step 302, a graphical image of a window is created for display on a screen. For example, a search engine interface 206 may be created, at least in part, by using the windows class of MFC to create an object that represents window 206c. For the purposes of explanation, assume that the object that represents window 206c is a part of software 212. Additionally, MFC may be used to create button 206b and button 206d. When software 212 as well as object are executed on computer 210, search engine interface 206, which includes button 206b, window 206c, and search button 206d are displayed on the screen 202 of computer 210.
In step 304, a two dimensional graphical image is associated with the window. For example, bit maps may be used to create two dimensional graphical images 206c that have a specified shape and color. MFC may be used to associate these bit maps with the window 206c. For example, assume that a particular bitmap forms a blue oval. If this particular bit map is associated with window 206c then when software 212 is executed on computer 210, it would display a two dimensional graphical image 206c that is a blue oval.
In step 306, the search engine interface is enabled to remain available on the screen. For example, by coding software 212 in a way that search engine interface 206 may be associated with computer 210's screen 202, also known as the “desktop”, when software 212 is executed on computer 210, the search engine interface 206 may remain available to receive search terms regardless of whether a browser window 104 is open or closed.
In step 308, the search engine interface is enabled to be moved any where on the screen. For example, by coding software 212 in a way that search engine interface 206 will be associated with computer 210's screen 202 when software 212 is executed on computer 210, the search engine interface 206 may be moved anywhere on screen 202.
In step 310, a list of search engine names are associated with the search engine interface. For example, by putting a list of search engine names, such as Google™, Alta Vista™, and Inktomi®, in an INI file and associating the INI file with button 206b when software 212 is coded, a list of search engine names may be associated with search engine interface 206 when software 212 is executed on computer 210. According to one embodiment, MFC may be used to associate the list of search engine names with the button 206b of the search engine interface 206.
In step 312, the search engine is invoked that corresponds to the search engine name a user selected. For example, after software 212 is installed on computer 210 causing the display of the search engine interface 206 on screen 202, a user may decide to use search engine interface 206. Assume that the user wants to search for information on “cats” on Google™. The user may enter the search term “cats” into window 206c. Software 212 may be coded in a way that when the user clicks on button 206b, a list that includes user selectable options “Google,” “Alta Vista,” and “Inktomi” is displayed. Continuing the example, assume the user selects “Google” and clicks on button 206d to start the search. The software 212 uses the URL of Google™, “www.google.com” to locate Google™'s search engine. A string, which includes Google™'s URL and the search term, e.g., “www.google.com?cats”, are passed to the Google™'s search engine. In one embodiment, a promotion code for the company that developed software 212 may also be a part of the string that is passed to Google™'s search engine to facilitate any kind of agreements that may have been made between Google™ and the company that owns search engine interface 206. Assuming that Google™ is search engine 120A in
In step 314, the results of the search are returned in a browser window. For example, in searching information 130A, Google™ may return a list of URLs to documents found on the internet 140 that pertain to “cats.” Google™ may then cause the list of URLs or “results” to be displayed in a browser window 104. Software 212 may be coded in a way that if the browser window 104 is not open at the time the user instructed search engine interface 206 to perform the search by clicking on button 206d, then window 104 may be opened to display the results to the user.
According to one embodiment, the types of controls that browser window 104 has is controlled by parameters set by software 212. For example, software 212 may specify whether browser window 104 may resize, have horizontal and/or vertical scroll bars, a back button, etc.
Display device 405 utilized with computer system 490 may be a liquid crystal device, cathode ray tube, or other display device suitable for creating graphic images and alphanumeric characters recognizable to the user. Cursor control device 407 allows the computer user to dynamically signal the two-dimensional movement of a visible symbol (pointer) on a display screen of display device 405. Many implementations of the cursor control device are known in the art including a trackball, mouse, joystick or special keys on alphanumeric input device 406 capable of signaling movement of a given direction or manner of displacement. It is to be appreciated that the cursor control 407 also may be directed and/or activated via input from the keyboard using special keys and key sequence commands. Alternatively, the cursor may be directed and/or activated via input from a number of specially adapted cursor directing devices.
In one embodiment, the software 212 may be executed on the computer system 490.
In conclusion, search engine interface 206 provides an interface that is quick, easy, and convenient for searching the internet. Search engine interface 206 is the kind of interface that users would want to use frequently and leave on their desktop for a number of reasons.
For example, search engine interface 206 does not take up valuable space either on the task bar or the desktop. Since it is not on the task bar, valuable space is available for other applications on the task bar. Further, since it is compact, it does not take a lot of space on the desktop either. In fact, it can be moved almost entirely off the desktop to provide even more space.
Secondly, leaving the browser open takes up a lot of space on the desktop. Since search engine interface 206 does not require leaving the browser open, more space is available on the desktop.
Thirdly, search engine interface 206 is convenient to use because it provides the essential features necessary for performing a search. For example, search engine interface 206 provides a window 206c for entering search terms, a list of user selectable search engine names, and a button 206d to initiate a search, thus, making it easy and convenient for a user to perform searches.
Fourthly, by providing a list of search engine names, users have the flexibility to choose from a number of search engines for performing searches.
Fifth, search engine interface 206 is convenient because it remains available for user input, whereas, a browser window may be closed.
Also, search engine interface 206 provides commercial benefits to the company that owns the software 212 that creates search engine interface 206. For example, new search engine names may easily be added to the list of search engines names without requiring the recompilation of software 212 or the recompilation of any code associated with the search engines. Thus, it is easy for the company that owns code 212 to enter into new partnerships with companies that own search engines.
Similarly, by making it easy to add new names to the list of search engine names, it would be easy for the company that owns software 212 to sell software 212 to other companies.
Number | Name | Date | Kind |
---|---|---|---|
5434965 | Matheny et al. | Jul 1995 | A |
5530865 | Owens et al. | Jun 1996 | A |
5596702 | Stucka et al. | Jan 1997 | A |
5745111 | Cline et al. | Apr 1998 | A |
5898434 | Small et al. | Apr 1999 | A |
5905493 | Belzer et al. | May 1999 | A |
6262724 | Crow et al. | Jul 2001 | B1 |
6342905 | Diedrich et al. | Jan 2002 | B1 |
6408344 | Sakai | Jun 2002 | B1 |
6446065 | Nishioka et al. | Sep 2002 | B1 |
6452609 | Katinsky et al. | Sep 2002 | B1 |
6483523 | Feng | Nov 2002 | B1 |
6587127 | Leeke et al. | Jul 2003 | B1 |
6731312 | Robbin | May 2004 | B2 |
7003726 | Walker et al. | Feb 2006 | B2 |
7020704 | Lipscomb et al. | Mar 2006 | B1 |
7039643 | Sena et al. | May 2006 | B2 |
7062453 | Clarke | Jun 2006 | B1 |
7395957 | Satake | Jul 2008 | B2 |
20010021934 | Yokoi | Sep 2001 | A1 |
20010056434 | Kaplan et al. | Dec 2001 | A1 |
20020059342 | Gupta et al. | May 2002 | A1 |
20020065849 | Ferguson et al. | May 2002 | A1 |
20020082730 | Capps et al. | Jun 2002 | A1 |
20020089530 | Markel | Jul 2002 | A1 |
20020118220 | Lui et al. | Aug 2002 | A1 |
20020135617 | Samid | Sep 2002 | A1 |
20020149618 | Estrada | Oct 2002 | A1 |
20020169797 | Hegde et al. | Nov 2002 | A1 |
20020180803 | Kaplan et al. | Dec 2002 | A1 |
20020194151 | Fenton et al. | Dec 2002 | A1 |
20020196286 | Taylor et al. | Dec 2002 | A1 |
20030007003 | Ostrowski et al. | Jan 2003 | A1 |
20030014477 | Oppenheimer et al. | Jan 2003 | A1 |
20030076345 | Feller et al. | Apr 2003 | A1 |
20030090516 | Stein | May 2003 | A1 |
20030120599 | Agboatwalla et al. | Jun 2003 | A1 |
20030128228 | Crow et al. | Jul 2003 | A1 |
20030132970 | Lehmeier et al. | Jul 2003 | A1 |
20030137531 | Katinsky et al. | Jul 2003 | A1 |
20030170006 | Bogda et al. | Sep 2003 | A1 |
20030221167 | Goldstein et al. | Nov 2003 | A1 |
20030233425 | Lyons et al. | Dec 2003 | A1 |
20040002945 | Shibata | Jan 2004 | A1 |
20040003347 | Saidenberg et al. | Jan 2004 | A1 |
20040021684 | B. Millner | Feb 2004 | A1 |
20040025112 | Chasen et al. | Feb 2004 | A1 |
20040051812 | Hayward | Mar 2004 | A1 |
20040059776 | Pitzel et al. | Mar 2004 | A1 |
20040061720 | Weber | Apr 2004 | A1 |
20040064447 | Simske et al. | Apr 2004 | A1 |
20040070609 | Estrada | Apr 2004 | A1 |
20040148362 | Friedman | Jul 2004 | A1 |
20040165007 | Shafron | Aug 2004 | A1 |
20040205333 | Bjorkengren | Oct 2004 | A1 |
20040216054 | Mathews et al. | Oct 2004 | A1 |
20040243694 | Weast | Dec 2004 | A1 |
20040268261 | Elliott et al. | Dec 2004 | A1 |
20040268413 | Reid et al. | Dec 2004 | A1 |
20050010589 | Novak et al. | Jan 2005 | A1 |
20050021935 | Schillings et al. | Jan 2005 | A1 |
20050042591 | Bloom et al. | Feb 2005 | A1 |
20050044508 | Stockton | Feb 2005 | A1 |
20050044560 | Kryeziu | Feb 2005 | A1 |
20050065913 | Lillie et al. | Mar 2005 | A1 |
20050069225 | Schneider et al. | Mar 2005 | A1 |
20050097089 | Nielsen et al. | May 2005 | A1 |
20050154717 | Watson et al. | Jul 2005 | A1 |
20050278698 | Verco | Dec 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050246655 A1 | Nov 2005 | US |