WO2009029219A1 - Information retrieval using keywords from cursor positions on display - Google Patents

Information retrieval using keywords from cursor positions on display Download PDF

Info

Publication number
WO2009029219A1
WO2009029219A1 PCT/US2008/009997 US2008009997W WO2009029219A1 WO 2009029219 A1 WO2009029219 A1 WO 2009029219A1 US 2008009997 W US2008009997 W US 2008009997W WO 2009029219 A1 WO2009029219 A1 WO 2009029219A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
mode
characters
designating
keyword list
Prior art date
Application number
PCT/US2008/009997
Other languages
French (fr)
Inventor
Yong Wang
Zhi Wang
Wei Wang
Original Assignee
Cleeki, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cleeki, Inc. filed Critical Cleeki, Inc.
Publication of WO2009029219A1 publication Critical patent/WO2009029219A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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

Definitions

  • FIG. l is a representation of an implementation of an apparatus.
  • FIG. 2 is a representation of an exemplary logic flow for retrieving Internet information through employment of an implementation of the apparatus of FIG. 1.
  • FIG. 3 is a representation of an exemplary display of an implementation of the apparatus of FIG. 1 upon employment of the exemplary logic flow of FIG. 2.
  • an approach in an example provides efficient information retrieval using keywords from cursor positions on a display.
  • a user is allowed to retrieve information from one or more sources using one or more keywords from one or more cursor positions on the display.
  • the keywords may be any characters that are displayed on the display. Exemplary keywords comprise an English word, a Chinese character, an ISBN number, an address, a sentence in an article, etc.
  • one or more characters on the display are designated by a user through employment of a pointing device. The designated characters are captured and added to a keyword list. The steps of capturing the designated characters and adding the designated characters to a keyword list may be performed repeatedly before retrieving information.
  • the keyword list may be optionally edited.
  • the retrieved information are related to one ore more keywords in the keyword list.
  • the one or more sources may be from either local or computer- based network locations, such as an intranet, the Internet, and particularly the World Wide Web (WWW).
  • WWW World Wide Web
  • a previous approach may capture keywords based on only one cursor position on the display before an information retrieval is performed.
  • An exemplary approach is able to capture keywords based on multiple cursor positions on the display.
  • a previous approach, before an information retrieval is performed, may capture keywords for a single use only.
  • An exemplary approach may capture keywords for arbitrary amount of times as long as a request for information retrieval is not performed by a user.
  • a previous approach may combine together, but not separate, capturing keywords and retrieving information, so an information retrieving step is performed immediately after a keyword capturing step without any additional human-computer interactions.
  • An exemplary approach may allow a user to capture keywords and retrieve information separately. After the keywords are captured, a user may capture another keyword, edit the keyword list, or retrieve information later with additional human-computer interactions, for example, pressing an additional key on a keyboard or clicking an additional button associated with a pointing device.
  • An exemplary approach increases the flexibility and freedom of the information retrieval.
  • a previous approach may perform a step to determine the context of the captured keywords and eliminate the ambiguity by reviewing the contextual text information surrounding the captured keywords.
  • a previous approach may consider only information co- located in the same text body where the key words are displayed.
  • a previous approach may consider no other information from other text body.
  • a previous approach may fail to allow a user to use the text body from a Mozilla Firefox window as the contextual reference.
  • An exemplary approach may allow a user to capture keywords from more than one text body and add the captured keywords into a keyword list.
  • the client computer that submits the retrieval request may communicate with only one secondary computer, such as a server, which may submit the retrieval request to other computers.
  • a previous approach may fail to allow the client computer to communicate with more than one remote computer directly and simultaneously.
  • An exemplary approach may allow a client computer to submit the requests of information retrieval to more than one other computer directly and simultaneously.
  • An exemplary approach may allow a user to retrieve search results about "iPhone" from Google.com, Flickr.com, YouTube.com, etc. at the same time.
  • a previous approach may need the databases to have been determined before the user captures the keywords. After the user captures the keywords, a previous approach may need the information to be retrieved from the determined databases. A previous approach may fail to provide a step that the user still has opportunities to retrieve from different databases after the keywords are captured. A previous approach may perform a step of information retrieval immediately after the keywords are captured. An exemplary approach, after a user captures the keywords, may allow the user to still select arbitrary, available databases before the request of information retrieval is sent.
  • FIG. 1 is a representation of an implementation of an apparatus.
  • a user 22 may retrieve information from one or more sources using a client computer 20 with significantly improved efficiency and convenience.
  • the one or more sources may be from either local locations, e.g., a local database 26, or computer-based network locations, such as an intranet, the Internet, and particularly the World Wide Web (WWW).
  • These networked sources e.g., 30, 40, 50, etc.
  • URI Universal Resource Identifier
  • a user 22 may select any such sources to retrieve information, and may even retrieve information simultaneously from multiple sources, represented as 30, 40, 50, etc.
  • the client computer 20 comprises a processor 12, a display 14, a keyboard 16, a pointing device 18, a network interface 24, and/or a local information database.
  • the exemplary pointing devices 18 comprise a mouse, a touchpad, a trackpad, a trackpoint, a stylus, a finger, and a pen associated with a graphics tablet.
  • a user 22 interacts with the client computer 20 via a keyboard 16 or a pointing device 18.
  • the network interface 24 allows a user 22 to connect to the network 60.
  • Exemplary network interface 24 comprises Digital Subscriber Line (DSL), cable, dial-up, or Local Area Network (LAN).
  • DSL Digital Subscriber Line
  • LAN Local Area Network
  • FIG. 2 is a representation of an exemplary logic flow 58 for retrieving information through employment of an implementation of the apparatus of FIG. 1.
  • An exemplary logic flow comprises a step 60 of initializing a keyword list.
  • the keyword list may be initialized as empty without any keyword, or with one or more arbitrary keywords.
  • An exemplary logic flow comprises a step 62 of choosing a triggering position on the display where the user triggers a designating mode in a later step 64.
  • the triggering position may be chosen by moving a cursor to a position on the display.
  • one or more characters are displayed at the triggering position.
  • the cursor is moved by a user controlling a pointing device, e.g., a mouse.
  • the step 64 of triggering a designating mode in an exemplary logic flow comprises a step that a user presses and holds a pre-defined and customizable button associated with a pointing device at the triggering position while one or more pre-defined and customizable keys on a keyboard are pressed and held, e.g., a user may press and hold a mouse left button while a CTRL key on a keyboard is pressed and held.
  • an operation or a value is pre-defined in the sense that the operation or the value is specified from a plurality of available operations or values before the operation is performed or the value is used.
  • Exemplary such operations comprise clicking a (e.g., left or right) button of a pointing device and pressing a (e.g., ESC or SPACE) key on a keyboard.
  • Exemplary such values comprise a period of time (e.g., 500 milliseconds or 600 milliseconds), a distance between two positions on the display (e.g., 10 pixels or 20 pixels).
  • an operation or a value is customizable in the sense that the operation or the value may be modified and re-assigned by a user from a plurality of available operations or values according to a user's preferences, e.g., a user may assign a first value (e.g., 500 milliseconds) to a time threshold, and later re-assign a second value (e.g., 600 milliseconds) to the time threshold.
  • a first value e.g., 500 milliseconds
  • a second value e.g., 600 milliseconds
  • a button associated with a pointing device or a key on a keyboard is considered held as long as the button or the key is pressed but not released, regardless of whether a cursor has been moved after the button or the key is pressed.
  • the step 64 of triggering a designating mode also comprises a step that a user presses and holds a pre-defined and customizable button associated with a pointing device for a pre-defined and customizable period of time, contemporaneous with a cursor remaining within a region on the display that comprises the triggering position, e.g., a user may press a mouse right button with a cursor at the triggering position on the display, and hold the mouse right button for a period of time, e.g., 600 milliseconds.
  • the region may be any region on the display that comprises the triggering position, e.g., the region may be a circle centered at the triggering position with the radius of the circle pre-defined and customizable.
  • the region may also be a square centered at the triggering position with the perimeter pre-defined and customizable.
  • Other exemplary regions comprise a rectangle, an ellipse, a hexagon, etc. Allowing the cursor being within the region instead of requiring the cursor to stay in a single position helps certain users (e.g., laptop users who use touchpad or trackpoint to control a cursor) trigger the designating mode easier because it may be difficult for the users to keep the position of the cursor intact.
  • the step 64 of triggering a designating mode may comprise a plurality of available approaches, and applying any of the approaches may trigger the designating mode, e.g., a user may press a mouse left button while one or more of CTRL, ALT, and SHIFT keys on a keyboard are pressed and held. A user is allowed to customize which one or more approaches are used to trigger the designating mode.
  • a user may designate one or more characters on the display.
  • the step 66 of designating one or more characters comprises drawing a horizontal line on the display above the one or more characters through employment of a pointing device that controls a cursor on the display, contemporaneous with the designating mode remaining triggered.
  • the designating mode remains triggered as long as the designating mode is not exited in a later step 68.
  • the vertical position of the horizontal line is at the vertical position of the triggering position.
  • the horizontal position of a first end point of the horizontal line is at the horizontal position of the triggering position; wherein the horizontal position of a second end point of the horizontal line is at the horizontal position of the cursor before or at the moment the designating mode is exited.
  • the step 66 of designating the one or more characters comprises showing the horizontal line on the display and updating the line when the position of the cursor is modified before the designating mode is exited.
  • the horizontal line has customizable styles for one or more of color, width, transparency, and/or additional selectable features.
  • the horizontal line may be as simple as a single position on the display, i.e., a horizontal line with its two end points point identical.
  • the step 68 of exiting the designating mode in an exemplary logic flow comprises releasing the button that was previously pressed and held to trigger the designating mode. At the moment the designating mode is exited, the position of a cursor, called exiting position, is recorded and referred in later steps.
  • a status is assigned when the designating mode is exited.
  • the status may be assigned from a plurality of available status values.
  • the status is referred in an exemplary approach to indicate how the designating mode is exited and how to perform the steps following the step of exiting the designating mode.
  • the first mode status may be assigned by pressing one or more pre-defined and customizable keys on a keyboard, e.g., a user presses an ESC key on a keyboard to assign a canceling mode.
  • the first mode status may be assigned when the difference between the vertical position of the triggering position and the vertical position of the exiting position is larger than a predefined and customizable threshold, called canceling threshold. Additionally, another threshold may be specified, called warning threshold. The warning threshold is smaller than the canceling threshold, e.g., with half of the value of the canceling threshold.
  • an exemplary logic flow comprises a step of notifying a user by showing one or more visual warning hints on the display.
  • Exemplary visual warning hints comprise one or more from changing the color of the horizontal line, flashing the horizontal line, and/or other additional visible displays.
  • the warning hints notice a user that a canceling mode is about to be assigned and help a user determine what to do next, e.g., if the user wants to assign the canceling mode, s/he may move a cursor to increase the difference between the vertical position of the triggering position and the vertical position of the latest position of the cursor until the canceling mode is assigned. If the user does not want to assign the canceling mode, s/he may move a cursor to decrease the difference between the vertical position of the triggering position and the vertical position of the latest position of the cursor to turn off the visual warning hints.
  • a second mode is assigned, i.e., the normal mode is assigned when the difference between the vertical position of the triggering position and the vertical position of the exiting position is less than the canceling threshold.
  • the step 72 of capturing one or more characters on the display in an exemplary logic flow comprises capturing the one or more characters that are displayed under the horizontal line that is drawn when the one or more characters are designated in the step 66 of designating characters.
  • the one or more characters are considered to be under the horizontal line if the displaying rectangle regions of the one or more characters and the displaying region of the horizontal line are overlapped with at least one pixel, i.e., if the displaying rectangle region of a character is denoted as R(xO, y ⁇ , xl, yl), where x ⁇ , y ⁇ , xl, and yl are respectively the left, top, right, bottom positions of the rectangle region Rl, and the horizontal line is denoted as L(x_l, x_r, y), where (x_l, y) and (x_r, y) are respectively the positions of the left and right end points of the horizontal line, R and L are considered overlapped if at least one pixel on the horizontal line L is
  • the step 72 of capturing one or more designated characters on the display may comprise capturing one or more words that are displayed under the horizontal line that is drawn in the step of designating characters.
  • the one or more words are considered to be under the horizontal line if the displaying rectangle regions of the one or more words and the displaying region of the horizontal line are overlapped with at least one pixel.
  • the step 72 of capturing one or more designated characters on the display may comprise capturing one or more complete character sets.
  • a complete character set in an example comprises one or more characters that are separated by one or more predefined and customizable separating characters.
  • An example of a complete character set is a word, a telephone number, an ISBN, etc.
  • Exemplary separating characters comprise a space (ASCII 32) and punctuation, such as a period, a comma, a colon, etc. e.g., the phrase "Hello 2008” comprises two complete characters set, "Hello” and "2008", if one or more spaces are pre-defined as the separating characters.
  • the step 72 of capturing one or more characters on the display comprises capturing the one or more complete character sets as long as the displaying rectangle regions of the one ore more complete character sets and the displaying region of the horizontal line are overlapped with at least one pixel.
  • a phrase “Hello 2008” is shown on the display
  • a user designates characters "o 2" by drawing a horizontal line, which starts from any position within the rectangle displaying region of the 5th character “o”, and ends at any position within the rectangle displaying region of the 7th character “2”.
  • the words “Hello” and the number “2008” will be captured because parts of the word (“o” in “Hello") and part of the number (“2” in “2008”) are overlapped with the horizontal line.
  • the step 72 of capturing one or more characters on the display may be implemented using any techniques that may recognize the content of the display. Exemplary such techniques comprises:
  • characters on the display may be obtained by hooking text-rendering APIs and retrieving the characters that are shown at specific positions on the display.
  • characters on the display may be retrieved by calling the screen reader API functions.
  • screen reader API such as Microsoft Active Accessibility
  • OCR Optical Character Recognition
  • Characters shown on the display may be obtained in particular software applications that provide correspondent APIs, e.g., Adobe Acrobat SDK provides interfaces through which the content on one or more display positions may be obtained; typical web browsers (such as Internet Explorer or Mozilla Firefox) provide script based functions capable of analyzing web page layout and retrieving characters shown on one or more display positions.
  • correspondent APIs e.g., Adobe Acrobat SDK
  • typical web browsers such as Internet Explorer or Mozilla Firefox
  • script based functions capable of analyzing web page layout and retrieving characters shown on one or more display positions.
  • the captured characters are added to the keyword list.
  • the keyword list comprises the captured one or more characters after the capturing.
  • the keyword list comprises one or more keywords before the capture, in a first option the captured characters are appended to the existent one or more keywords and therefore the keyword list is updated, e.g., if the keyword list comprises a keyword "one", after the step 72 of capturing characters "two three" are captured, in the first option the keyword list is updated as "one two three".
  • Each keyword is separated by one or more separating characters, e.g. a space.
  • the captured characters replace the existent one or more keywords and therefore the keyword list is updated, e.g., if the keyword list comprises a keyword "one", after the step 72 of capturing characters "two three" are captured, in the second option the keyword list is updated as "two three".
  • the step 72 of capturing one or more characters on the display comprises displaying the keyword list on the display after the one or more characters are captured and added to the keyword list.
  • an exemplary logic flow comprises a step 74 that the keyword list may be edited by a user. Exemplary editing operations comprise adding additional one or more keywords, deleting one or more existent keywords, modifying one or more existent keywords, etc. This step 74 is optional in that a user may opt not to edit the keyword list.
  • a user may repeatedly perform the steps from the step 62 of choosing a triggering position on the display, to the step 74 of editing the keyword list.
  • the repeatedly performed steps may comprise the step 62, 64, 66, 68, 70, 80 and 74, or the repeatedly performed steps may also comprise the step 62, 64, 66, 68, 70, 72, and 74.
  • the repeatedly performed steps may be performed in any programs on the display and at any positions on the display, e.g., a user may designate and capture a keyword "New York” from a web page in a Mozilla Firefox window, and the user may further designate and capture a keyword "Boston” from a document in a Microsoft Word window, and in a first option append the keyword "Boston” to the keyword list that is updated as "New York Boston", or in a second option replace the keyword list that is updated as "Boston”.
  • the step 78 of retrieving information in an exemplary logic flow comprises retrieving information from one or more sources.
  • the retrieved information are related to one ore more keywords in the keyword list.
  • a website e.g., www.google.com
  • the step 78 of retrieving information comprises a user selecting one ore more sources before retrieving information.
  • the step 78 of retrieving information may be performed either explicitly or implicitly.
  • the step 78 of retrieving information is performed explicitly if a user sends a request of information retrieval through a human-computer interaction.
  • Exemplary human- computer interactions comprise clicking a button or a menu item on the display that sends a request of information retrieval, pressing the ENTER key on a keyboard when the input focus is located in an edit window that displays the keyword list, etc. Judging whether a user sends a request of information retrieval through a human-computer interaction is part of the step 76 in FIG 2.
  • the step 78 of retrieving information is performed implicitly if a user triggers the designating mode using a pre-defined and customizable approach, called Instant Triggering Method.
  • the Instant Triggering Method may be any one of a plurality of available approaches that trigger the designating mode.
  • An Instant Triggering Methods triggers the designating mode with the step 78 of retrieving information performed immediately after the one or more designated characters are captured and added to the keyword list.
  • the step 78 of retrieving information is performed immediately after the one or more designated characters are captured and added to the keyword list.
  • the step that a user retrieves information explicitly or implicitly also serves as an exiting strategy for possibly repeatedly performed steps.
  • the exiting strategy is called preselected and/or pre-defined iteration-exit strategy.
  • the repeatedly performed steps may comprise the step 62, 64, 66, 68, 70, 80 and 74, or the repeatedly performed steps may also comprise the step 62, 64, 66, 68, 70, 72, and 74.
  • a user clicks on a "Search" button to explicitly send a request of information retrieval no more repeatedly performable steps are performed and the step of retrieving information is performed.
  • the information is displayed at a position on the display.
  • the retrieved information comprises one or more of HTML, XML, and/or other types of documents.
  • the retrieved information may be displayed in a window that is opened near the triggering position, exiting position, or other positions on the display.
  • the retrieved information from a separate source may be displayed in a separate window (e.g., a new Internet Explorer window or a new Tab in Mozilla Firefox).
  • the retrieved information may also be displayed in a single window.
  • the window that displays the retrieved information comprises a web browser such as Microsoft Internet Explorer or Mozilla Firefox, or any other window that may display the retrieved information.
  • FIG. 3 is a representation of an exemplary display of an implementation of the apparatus of FIG. 1 upon employment of the exemplary logic flow of FIG. 2.
  • Text information 94 is displayed in a window 80 on the display.
  • a user may designate characters on the display.
  • a user designates characters by drawing a horizontal line with two end points 82 and 84, where the first end point 82 is located within the rectangle region of character "E", and the second end point 84 is located within the rectangle region of character "N”.
  • the complete character set "BEIJING" is captured and is added to the keyword list 90.
  • a user designates characters by drawing a horizontal line with two end points 86 and 88, where the first end point 86 is located within the rectangle region of character "E", and the second end point 88 is located within the rectangle region of character "B".
  • the complete character set "WATER CUBE" is captured and is added to the keyword list 90.
  • the keyword list is displayed in an edit window 100 and a user may optionally edit the keyword list.
  • a user wants to retrieve information, s/he clicks on a "Search" button 98, and the retrieved information is displayed in a window 92.
  • the format of the content 102 of the window 92 may be one from a plurality of available formats, such as HTML, XML, WORD, PDF, or other types of documents.
  • the window 92 may be a web browser such as Mozilla Firefox, or a web browser control, such as Microsoft WebBrowser ActiveX control, or other type of windows that is capable of displaying the retrieved information.
  • An implementation of the apparatus 10 comprises a plurality of components such as one or more of electronic components, mechanical components, hardware components, optical components, and/or computer software components. A number of such components may be combined or divided in an implementation of the apparatus 10.
  • one or more features described herein in connection with one or more components and/or one or more parts thereof are applicable and/or extendible analogously to one or more other instances of the particular component and/or other components in the apparatus 10.
  • one or more features described herein in connection with one or more components and/or one or more parts thereof may be omitted from or modified in one or more other instances of the particular component and/or other components in the apparatus 10.
  • An exemplary technical effect is one or more exemplary and/or desirable functions, approaches, and/or procedures.
  • An exemplary component of an implementation of the apparatus 10 employs and/or comprises a set and/or series of computer instructions written in or implemented with any of a number of programming languages, as will be appreciated by those skilled in the art.
  • An implementation of the apparatus 10 comprises any (e.g., horizontal, oblique, angled, or vertical) orientation, with the description and figures herein illustrating an exemplary orientation of an exemplary implementation of the apparatus 10, for explanatory purposes.
  • An implementation of the apparatus 10 encompasses an article and/or an article of manufacture.
  • the article comprises one or more computer-readable signal-bearing media.
  • the article comprises means and/or instructions in the one or more media for one or more exemplary and/or desirable functions, approaches, and/or procedures.
  • An implementation of the apparatus 10 employs one or more computer readable signal bearing media.
  • a computer-readable signal-bearing medium stores software, firmware and/or assembly language for performing one or more portions of one or more implementations.
  • An example of a computer-readable signal bearing medium for an implementation of the apparatus 10 comprises a memory and/or recordable data storage medium.
  • a computer-readable signal-bearing medium for an implementation of the apparatus 10 in an example comprises one or more of a magnetic, electrical, optical, biological, chemical, and/or atomic data storage medium.
  • an implementation of the computer-readable signal-bearing medium comprises one or more floppy disks, magnetic tapes, CDs, DVDs, hard disk drives, and/or electronic memory.
  • an implementation of the computer-readable signal-bearing medium comprises a modulated carrier signal transmitted over a network comprising or coupled with an implementation of the apparatus 10, for instance, one or more of a telephone network, a local area network (LAN), a wide area network (WAN), the Internet, and/or a wireless network.
  • a computer- readable signal-bearing medium in an example comprises a physical computer medium and/or computer-readable signal-bearing tangible medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Keyword list in example is initialized. Triggering position on display is chosen. Designating mode is triggered from triggering position. Character(s) shown on position(s) of display are designated after designating mode is triggered. Designating mode is exited at exiting position on display with mode status assigned from plurality of available mode statuses. Current text capturing step is cancelled if mode status assigned is first mode status. If mode status assigned is second mode status, character(s) are captured and added to keyword list, and keyword list is displayed on display. Keyword list is edited. Infoπnation related to keyword(s) in the keyword list is retrieved from plurality of sources. Retrieved information is displayed on display.

Description

INFORMATION RETRIEVAL USING KEYWORDS FROM CURSOR POSITIONS
ON DISPLAY
BACKGROUND
[0001] The volume of available information, especially the information on the Internet, is exploding dramatically. Retrieving such information involves a significant step of preparing a request of information retrieval. Exemplary steps of preparing the retrieval request comprise switching between programs, inputting keywords, copying/pasting content, etc. These human-computer interactions take a considerable amount of time and significantly reduce the efficiency of the information retrieval. Although the popularity of wideband network connection and the advanced development of search engines, represented by Google, Yahoo and MSN Live, enable an extremely fast response to a request of information retrieval, from an end user's viewpoint preparing a retrieval request is one bottleneck influencing the overall retrieval efficiency.
DESCRIPTION OF THE DRAWINGS
[0002] Features of exemplary implementations of the invention will become apparent from the description, the claims, and the accompanying drawings in which:
[0003] FIG. l is a representation of an implementation of an apparatus.
[0004] FIG. 2 is a representation of an exemplary logic flow for retrieving Internet information through employment of an implementation of the apparatus of FIG. 1.
[0005] FIG. 3 is a representation of an exemplary display of an implementation of the apparatus of FIG. 1 upon employment of the exemplary logic flow of FIG. 2.
DETAILED DESCRIPTION
[0006] Referring to the BACKGROUND section above, an approach in an example provides efficient information retrieval using keywords from cursor positions on a display. A user is allowed to retrieve information from one or more sources using one or more keywords from one or more cursor positions on the display. The keywords may be any characters that are displayed on the display. Exemplary keywords comprise an English word, a Chinese character, an ISBN number, an address, a sentence in an article, etc. [0007] In an example, one or more characters on the display are designated by a user through employment of a pointing device. The designated characters are captured and added to a keyword list. The steps of capturing the designated characters and adding the designated characters to a keyword list may be performed repeatedly before retrieving information. The keyword list may be optionally edited. The retrieved information are related to one ore more keywords in the keyword list. The one or more sources may be from either local or computer- based network locations, such as an intranet, the Internet, and particularly the World Wide Web (WWW). By using the proposed disclosure, a user may retrieve information in minimum amount of time or input operations.
[0008] A previous approach may capture keywords based on only one cursor position on the display before an information retrieval is performed. An exemplary approach is able to capture keywords based on multiple cursor positions on the display. A previous approach, before an information retrieval is performed, may capture keywords for a single use only. An exemplary approach may capture keywords for arbitrary amount of times as long as a request for information retrieval is not performed by a user.
[0009] A previous approach may combine together, but not separate, capturing keywords and retrieving information, so an information retrieving step is performed immediately after a keyword capturing step without any additional human-computer interactions. An exemplary approach may allow a user to capture keywords and retrieve information separately. After the keywords are captured, a user may capture another keyword, edit the keyword list, or retrieve information later with additional human-computer interactions, for example, pressing an additional key on a keyboard or clicking an additional button associated with a pointing device. An exemplary approach increases the flexibility and freedom of the information retrieval.
[0010] A previous approach may perform a step to determine the context of the captured keywords and eliminate the ambiguity by reviewing the contextual text information surrounding the captured keywords. A previous approach may consider only information co- located in the same text body where the key words are displayed. A previous approach may consider no other information from other text body. As an example, when a user captures a keyword from a Microsoft Internet Explorer window, a previous approach may fail to allow a user to use the text body from a Mozilla Firefox window as the contextual reference. An exemplary approach may allow a user to capture keywords from more than one text body and add the captured keywords into a keyword list.
[0011] In a previous approach, the client computer that submits the retrieval request may communicate with only one secondary computer, such as a server, which may submit the retrieval request to other computers. A previous approach may fail to allow the client computer to communicate with more than one remote computer directly and simultaneously. An exemplary approach may allow a client computer to submit the requests of information retrieval to more than one other computer directly and simultaneously. An exemplary approach may allow a user to retrieve search results about "iPhone" from Google.com, Flickr.com, YouTube.com, etc. at the same time.
[0012] Although a user may be allowed to choose which databases s/he wants to retrieve information form, a previous approach may need the databases to have been determined before the user captures the keywords. After the user captures the keywords, a previous approach may need the information to be retrieved from the determined databases. A previous approach may fail to provide a step that the user still has opportunities to retrieve from different databases after the keywords are captured. A previous approach may perform a step of information retrieval immediately after the keywords are captured. An exemplary approach, after a user captures the keywords, may allow the user to still select arbitrary, available databases before the request of information retrieval is sent.
[0013] FIG. 1 is a representation of an implementation of an apparatus. When an exemplary approach is applied to the apparatus 10, a user 22 may retrieve information from one or more sources using a client computer 20 with significantly improved efficiency and convenience. The one or more sources may be from either local locations, e.g., a local database 26, or computer-based network locations, such as an intranet, the Internet, and particularly the World Wide Web (WWW). These networked sources (e.g., 30, 40, 50, etc.) are coupled with the client computer through a network media 60, and may be any sources whose Universal Resource Identifier (URI) is accessible by a user 22. a user 22 may select any such sources to retrieve information, and may even retrieve information simultaneously from multiple sources, represented as 30, 40, 50, etc. in FIG. 1. The client computer 20 comprises a processor 12, a display 14, a keyboard 16, a pointing device 18, a network interface 24, and/or a local information database. The exemplary pointing devices 18 comprise a mouse, a touchpad, a trackpad, a trackpoint, a stylus, a finger, and a pen associated with a graphics tablet. A user 22 interacts with the client computer 20 via a keyboard 16 or a pointing device 18. The network interface 24 allows a user 22 to connect to the network 60. Exemplary network interface 24 comprises Digital Subscriber Line (DSL), cable, dial-up, or Local Area Network (LAN).
[0014] Reference is now made to FIG. 2, which is a representation of an exemplary logic flow 58 for retrieving information through employment of an implementation of the apparatus of FIG. 1. An exemplary logic flow comprises a step 60 of initializing a keyword list. The keyword list may be initialized as empty without any keyword, or with one or more arbitrary keywords.
[0015] An exemplary logic flow comprises a step 62 of choosing a triggering position on the display where the user triggers a designating mode in a later step 64. In an exemplary approach the triggering position may be chosen by moving a cursor to a position on the display. In an exemplary approach one or more characters are displayed at the triggering position. In an exemplary approach the cursor is moved by a user controlling a pointing device, e.g., a mouse.
[0016] The step 64 of triggering a designating mode in an exemplary logic flow comprises a step that a user presses and holds a pre-defined and customizable button associated with a pointing device at the triggering position while one or more pre-defined and customizable keys on a keyboard are pressed and held, e.g., a user may press and hold a mouse left button while a CTRL key on a keyboard is pressed and held.
[0017] In an exemplary approach, an operation or a value is pre-defined in the sense that the operation or the value is specified from a plurality of available operations or values before the operation is performed or the value is used. Exemplary such operations comprise clicking a (e.g., left or right) button of a pointing device and pressing a (e.g., ESC or SPACE) key on a keyboard. Exemplary such values comprise a period of time (e.g., 500 milliseconds or 600 milliseconds), a distance between two positions on the display (e.g., 10 pixels or 20 pixels).
[0018] In an exemplary approach, an operation or a value is customizable in the sense that the operation or the value may be modified and re-assigned by a user from a plurality of available operations or values according to a user's preferences, e.g., a user may assign a first value (e.g., 500 milliseconds) to a time threshold, and later re-assign a second value (e.g., 600 milliseconds) to the time threshold.
[0019] In the context of an exemplary approach, a button associated with a pointing device or a key on a keyboard is considered held as long as the button or the key is pressed but not released, regardless of whether a cursor has been moved after the button or the key is pressed.
[0020] Additionally, the step 64 of triggering a designating mode also comprises a step that a user presses and holds a pre-defined and customizable button associated with a pointing device for a pre-defined and customizable period of time, contemporaneous with a cursor remaining within a region on the display that comprises the triggering position, e.g., a user may press a mouse right button with a cursor at the triggering position on the display, and hold the mouse right button for a period of time, e.g., 600 milliseconds. The region may be any region on the display that comprises the triggering position, e.g., the region may be a circle centered at the triggering position with the radius of the circle pre-defined and customizable. Alternatively the region may also be a square centered at the triggering position with the perimeter pre-defined and customizable. Other exemplary regions comprise a rectangle, an ellipse, a hexagon, etc. Allowing the cursor being within the region instead of requiring the cursor to stay in a single position helps certain users (e.g., laptop users who use touchpad or trackpoint to control a cursor) trigger the designating mode easier because it may be difficult for the users to keep the position of the cursor intact.
[0021] Further additionally, the step 64 of triggering a designating mode may comprise a plurality of available approaches, and applying any of the approaches may trigger the designating mode, e.g., a user may press a mouse left button while one or more of CTRL, ALT, and SHIFT keys on a keyboard are pressed and held. A user is allowed to customize which one or more approaches are used to trigger the designating mode.
[0022] If the designating mode is triggered, a user may designate one or more characters on the display. The step 66 of designating one or more characters comprises drawing a horizontal line on the display above the one or more characters through employment of a pointing device that controls a cursor on the display, contemporaneous with the designating mode remaining triggered. The designating mode remains triggered as long as the designating mode is not exited in a later step 68. [0023] Additionally, in the step 66 of designating the one or more characters, the vertical position of the horizontal line is at the vertical position of the triggering position. The horizontal position of a first end point of the horizontal line is at the horizontal position of the triggering position; wherein the horizontal position of a second end point of the horizontal line is at the horizontal position of the cursor before or at the moment the designating mode is exited.
[0024] Additionally, the step 66 of designating the one or more characters comprises showing the horizontal line on the display and updating the line when the position of the cursor is modified before the designating mode is exited. Further more, in the step of designating the one or more characters, the horizontal line has customizable styles for one or more of color, width, transparency, and/or additional selectable features.
[0025] Further additionally, in the step 66 of designating the one or more characters, the horizontal line may be as simple as a single position on the display, i.e., a horizontal line with its two end points point identical.
[0026] The step 68 of exiting the designating mode in an exemplary logic flow comprises releasing the button that was previously pressed and held to trigger the designating mode. At the moment the designating mode is exited, the position of a cursor, called exiting position, is recorded and referred in later steps.
[0027] In an exemplary logic flow a status is assigned when the designating mode is exited. The status may be assigned from a plurality of available status values. The status is referred in an exemplary approach to indicate how the designating mode is exited and how to perform the steps following the step of exiting the designating mode.
[0028] Additionally, in the step 68 of exiting the designating mode the first mode status, called canceling mode, may be assigned by pressing one or more pre-defined and customizable keys on a keyboard, e.g., a user presses an ESC key on a keyboard to assign a canceling mode.
[0029] Additionally, in the step 68 of exiting the designating mode the first mode status, called canceling mode, may be assigned when the difference between the vertical position of the triggering position and the vertical position of the exiting position is larger than a predefined and customizable threshold, called canceling threshold. Additionally, another threshold may be specified, called warning threshold. The warning threshold is smaller than the canceling threshold, e.g., with half of the value of the canceling threshold. Before exiting the designating mode, if the difference between the vertical position of the triggering position and the vertical position of the latest position of a cursor is larger than the warning threshold, but less than the canceling threshold, an exemplary logic flow comprises a step of notifying a user by showing one or more visual warning hints on the display. Exemplary visual warning hints comprise one or more from changing the color of the horizontal line, flashing the horizontal line, and/or other additional visible displays. The warning hints notice a user that a canceling mode is about to be assigned and help a user determine what to do next, e.g., if the user wants to assign the canceling mode, s/he may move a cursor to increase the difference between the vertical position of the triggering position and the vertical position of the latest position of the cursor until the canceling mode is assigned. If the user does not want to assign the canceling mode, s/he may move a cursor to decrease the difference between the vertical position of the triggering position and the vertical position of the latest position of the cursor to turn off the visual warning hints.
[0030] When the designating mode is exited without the canceling mode assigned, a second mode, called normal mode, is assigned, i.e., the normal mode is assigned when the difference between the vertical position of the triggering position and the vertical position of the exiting position is less than the canceling threshold.
[0031] If the designating mode is exited with the normal mode assigned, referring to the logic flow 84 in FIG 2, a step of capturing one or more characters on the display is performed. If the designating mode is exited with the canceling mode assigned, referring to the logic flow 80 in FIG 2, the step of capturing one or more characters from the display is not performed.
[0032] The step 72 of capturing one or more characters on the display in an exemplary logic flow comprises capturing the one or more characters that are displayed under the horizontal line that is drawn when the one or more characters are designated in the step 66 of designating characters. The one or more characters are considered to be under the horizontal line if the displaying rectangle regions of the one or more characters and the displaying region of the horizontal line are overlapped with at least one pixel, i.e., if the displaying rectangle region of a character is denoted as R(xO, yθ, xl, yl), where xθ, yθ, xl, and yl are respectively the left, top, right, bottom positions of the rectangle region Rl, and the horizontal line is denoted as L(x_l, x_r, y), where (x_l, y) and (x_r, y) are respectively the positions of the left and right end points of the horizontal line, R and L are considered overlapped if at least one pixel on the horizontal line L is located within the rectangle region R.
[0033] Additionally, the step 72 of capturing one or more designated characters on the display may comprise capturing one or more words that are displayed under the horizontal line that is drawn in the step of designating characters. The one or more words are considered to be under the horizontal line if the displaying rectangle regions of the one or more words and the displaying region of the horizontal line are overlapped with at least one pixel.
[0034] More generally, the step 72 of capturing one or more designated characters on the display may comprise capturing one or more complete character sets. A complete character set in an example comprises one or more characters that are separated by one or more predefined and customizable separating characters. An example of a complete character set is a word, a telephone number, an ISBN, etc. Exemplary separating characters comprise a space (ASCII 32) and punctuation, such as a period, a comma, a colon, etc. e.g., the phrase "Hello 2008" comprises two complete characters set, "Hello" and "2008", if one or more spaces are pre-defined as the separating characters. The step 72 of capturing one or more characters on the display comprises capturing the one or more complete character sets as long as the displaying rectangle regions of the one ore more complete character sets and the displaying region of the horizontal line are overlapped with at least one pixel. In an exemplary case where a phrase "Hello 2008" is shown on the display, a user designates characters "o 2" by drawing a horizontal line, which starts from any position within the rectangle displaying region of the 5th character "o", and ends at any position within the rectangle displaying region of the 7th character "2". The words "Hello" and the number "2008" will be captured because parts of the word ("o" in "Hello") and part of the number ("2" in "2008") are overlapped with the horizontal line.
[0035] The step 72 of capturing one or more characters on the display may be implemented using any techniques that may recognize the content of the display. Exemplary such techniques comprises:
For an operation system (such as Microsoft Windows) that provides API Hook functions, characters on the display may be obtained by hooking text-rendering APIs and retrieving the characters that are shown at specific positions on the display.
For an operation system that provides screen reader API (such as Microsoft Active Accessibility), characters on the display may be retrieved by calling the screen reader API functions.
Optical Character Recognition (OCR) techniques may be applied to recognize characters shown on the display.
Characters shown on the display may be obtained in particular software applications that provide correspondent APIs, e.g., Adobe Acrobat SDK provides interfaces through which the content on one or more display positions may be obtained; typical web browsers (such as Internet Explorer or Mozilla Firefox) provide script based functions capable of analyzing web page layout and retrieving characters shown on one or more display positions.
[0036] After the one or more characters are captured in the step 72, the captured characters are added to the keyword list. In an exemplary approach if the keyword list is empty before the capture, the keyword list comprises the captured one or more characters after the capturing. In an exemplary approach if the keyword list comprises one or more keywords before the capture, in a first option the captured characters are appended to the existent one or more keywords and therefore the keyword list is updated, e.g., if the keyword list comprises a keyword "one", after the step 72 of capturing characters "two three" are captured, in the first option the keyword list is updated as "one two three". Each keyword is separated by one or more separating characters, e.g. a space. If the keyword list comprises one or more keywords before the capture, in a second option the captured characters replace the existent one or more keywords and therefore the keyword list is updated, e.g., if the keyword list comprises a keyword "one", after the step 72 of capturing characters "two three" are captured, in the second option the keyword list is updated as "two three". Whether to apply the first or second option is pre-defined and customizable. Furthermore, the step 72 of capturing one or more characters on the display comprises displaying the keyword list on the display after the one or more characters are captured and added to the keyword list. [0037] Further additionally, an exemplary logic flow comprises a step 74 that the keyword list may be edited by a user. Exemplary editing operations comprise adding additional one or more keywords, deleting one or more existent keywords, modifying one or more existent keywords, etc. This step 74 is optional in that a user may opt not to edit the keyword list.
[0038] In an exemplary approach, before the step 78 of retrieving information, a user may repeatedly perform the steps from the step 62 of choosing a triggering position on the display, to the step 74 of editing the keyword list. Depending on whether a user wants to cancel capturing characters on the display, the repeatedly performed steps may comprise the step 62, 64, 66, 68, 70, 80 and 74, or the repeatedly performed steps may also comprise the step 62, 64, 66, 68, 70, 72, and 74.
[0039] Additionally, the repeatedly performed steps may be performed in any programs on the display and at any positions on the display, e.g., a user may designate and capture a keyword "New York" from a web page in a Mozilla Firefox window, and the user may further designate and capture a keyword "Boston" from a document in a Microsoft Word window, and in a first option append the keyword "Boston" to the keyword list that is updated as "New York Boston", or in a second option replace the keyword list that is updated as "Boston".
[0040] The step 78 of retrieving information in an exemplary logic flow comprises retrieving information from one or more sources. The retrieved information are related to one ore more keywords in the keyword list. The one or more sources may be from either local or computer-based network locations, such as an intranet, the Internet, and particularly the World Wide Web (WWW), e.g., the one or more sources comprise a database in a hard disk located in a user's client computer, and one or more sources also comprise a website (e.g., www.google.com) that provides an interface (e.g., http://www.google.com/search?q=) using which a user may retrieve information.
[0041] Additionally, the step 78 of retrieving information comprises a user selecting one ore more sources before retrieving information.
[0042] Additionally, the step 78 of retrieving information may be performed either explicitly or implicitly. [0043] The step 78 of retrieving information is performed explicitly if a user sends a request of information retrieval through a human-computer interaction. Exemplary human- computer interactions comprise clicking a button or a menu item on the display that sends a request of information retrieval, pressing the ENTER key on a keyboard when the input focus is located in an edit window that displays the keyword list, etc. Judging whether a user sends a request of information retrieval through a human-computer interaction is part of the step 76 in FIG 2.
[0044] The step 78 of retrieving information is performed implicitly if a user triggers the designating mode using a pre-defined and customizable approach, called Instant Triggering Method. In an exemplary approach the Instant Triggering Method may be any one of a plurality of available approaches that trigger the designating mode. An Instant Triggering Methods triggers the designating mode with the step 78 of retrieving information performed immediately after the one or more designated characters are captured and added to the keyword list. As an example, when a user triggers the designating mode by pressing a mouse left button while the CTRL key on a keyboard is pressed and held, which is specified by a user as an Instant Triggering Method, the step 78 of retrieving information is performed immediately after the one or more designated characters are captured and added to the keyword list. When a user triggers the designating mode by pressing a mouse left button while the SHIFT key on a keyboard is pressed and held, which is specified by a user as not an Instant Triggering Method, the one or more designated characters are captured and added to the keyword list, but the step 78 of retrieving information is not performed, until later a user send a request of information retrieval explicitly. Judging whether a user triggers the designating mode using the Instant Triggering Method is part of the step 76 in FIG 2.
[0045] Additionally, the step that a user retrieves information explicitly or implicitly also serves as an exiting strategy for possibly repeatedly performed steps. The exiting strategy is called preselected and/or pre-defined iteration-exit strategy. Depending on whether a user wants to cancel capturing characters on the display, the repeatedly performed steps may comprise the step 62, 64, 66, 68, 70, 80 and 74, or the repeatedly performed steps may also comprise the step 62, 64, 66, 68, 70, 72, and 74. As an example, when a user clicks on a "Search" button to explicitly send a request of information retrieval, no more repeatedly performable steps are performed and the step of retrieving information is performed. [0046] In an exemplary approach after the information is retrieved from the one or more sources, the information is displayed at a position on the display. The retrieved information comprises one or more of HTML, XML, and/or other types of documents. The retrieved information may be displayed in a window that is opened near the triggering position, exiting position, or other positions on the display. The retrieved information from a separate source may be displayed in a separate window (e.g., a new Internet Explorer window or a new Tab in Mozilla Firefox). The retrieved information may also be displayed in a single window. The window that displays the retrieved information comprises a web browser such as Microsoft Internet Explorer or Mozilla Firefox, or any other window that may display the retrieved information.
[0047] Now turning to FIG 3. FIG. 3 is a representation of an exemplary display of an implementation of the apparatus of FIG. 1 upon employment of the exemplary logic flow of FIG. 2. Text information 94 is displayed in a window 80 on the display. A user may designate characters on the display. In a first example, a user designates characters by drawing a horizontal line with two end points 82 and 84, where the first end point 82 is located within the rectangle region of character "E", and the second end point 84 is located within the rectangle region of character "N". The complete character set "BEIJING" is captured and is added to the keyword list 90. hi a second example, a user designates characters by drawing a horizontal line with two end points 86 and 88, where the first end point 86 is located within the rectangle region of character "E", and the second end point 88 is located within the rectangle region of character "B". The complete character set "WATER CUBE" is captured and is added to the keyword list 90. The keyword list is displayed in an edit window 100 and a user may optionally edit the keyword list. When a user wants to retrieve information, s/he clicks on a "Search" button 98, and the retrieved information is displayed in a window 92. The format of the content 102 of the window 92 may be one from a plurality of available formats, such as HTML, XML, WORD, PDF, or other types of documents. The window 92 may be a web browser such as Mozilla Firefox, or a web browser control, such as Microsoft WebBrowser ActiveX control, or other type of windows that is capable of displaying the retrieved information.
[0048] An implementation of the apparatus 10 comprises a plurality of components such as one or more of electronic components, mechanical components, hardware components, optical components, and/or computer software components. A number of such components may be combined or divided in an implementation of the apparatus 10. In one or more exemplary implementations, one or more features described herein in connection with one or more components and/or one or more parts thereof are applicable and/or extendible analogously to one or more other instances of the particular component and/or other components in the apparatus 10. In one or more exemplary implementations, one or more features described herein in connection with one or more components and/or one or more parts thereof may be omitted from or modified in one or more other instances of the particular component and/or other components in the apparatus 10. An exemplary technical effect is one or more exemplary and/or desirable functions, approaches, and/or procedures. An exemplary component of an implementation of the apparatus 10 employs and/or comprises a set and/or series of computer instructions written in or implemented with any of a number of programming languages, as will be appreciated by those skilled in the art. An implementation of the apparatus 10 comprises any (e.g., horizontal, oblique, angled, or vertical) orientation, with the description and figures herein illustrating an exemplary orientation of an exemplary implementation of the apparatus 10, for explanatory purposes.
[0049] An implementation of the apparatus 10 encompasses an article and/or an article of manufacture. The article comprises one or more computer-readable signal-bearing media. The article comprises means and/or instructions in the one or more media for one or more exemplary and/or desirable functions, approaches, and/or procedures.
[0050] An implementation of the apparatus 10 employs one or more computer readable signal bearing media. A computer-readable signal-bearing medium stores software, firmware and/or assembly language for performing one or more portions of one or more implementations. An example of a computer-readable signal bearing medium for an implementation of the apparatus 10 comprises a memory and/or recordable data storage medium. A computer-readable signal-bearing medium for an implementation of the apparatus 10 in an example comprises one or more of a magnetic, electrical, optical, biological, chemical, and/or atomic data storage medium. For example, an implementation of the computer-readable signal-bearing medium comprises one or more floppy disks, magnetic tapes, CDs, DVDs, hard disk drives, and/or electronic memory. In another example, an implementation of the computer-readable signal-bearing medium comprises a modulated carrier signal transmitted over a network comprising or coupled with an implementation of the apparatus 10, for instance, one or more of a telephone network, a local area network (LAN), a wide area network (WAN), the Internet, and/or a wireless network. A computer- readable signal-bearing medium in an example comprises a physical computer medium and/or computer-readable signal-bearing tangible medium.
[0051] The steps or operations described herein are examples. There may be variations to these steps or operations without departing from the spirit of the invention. For example, the steps may be performed in a differing order, or steps may be added, deleted, or modified.
[0052] Although exemplary implementation of the invention has been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions, and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims.

Claims

CLAIMSWhat is claimed is:
1. A method, comprising the steps of: initializing a keyword list; choosing a triggering position on a display; triggering a designating mode from the triggering position; designating one or more characters shown on one or more positions of the display after the designating mode is triggered; exiting the designating mode at an exiting position on the display with a mode status assigned from a plurality of available mode statuses; canceling a current text capturing step if the mode status assigned is a first mode status; if the mode status assigned is a second mode status, capturing the one or more characters, adding the one or more characters to the keyword list, and displaying the keyword list on the display; editing the keyword list; retrieving information related to one or more keywords in the keyword list from a plurality of sources; displaying the retrieved information on the display.
2. A method according to claim 1 and where in the step of initializing the keyword list comprises the step of setting the keyword list to empty or one or more pre-defined keywords.
3. A method according to claim 1 and where in the step of choosing the triggering position comprises moving a cursor to the triggering position on the display.
4. A method according to claim 1 and where in the step of triggering the designating mode comprises user-pressing and user-holding a pre-defined and customizable button associated with a pointing device at the triggering position while one or more pre-defined and customizable keys on a keyboard are pressed and held.
5. A method according to claim 1, wherein the step of triggering the designating mode comprises the step of: pressing and holding by a user a pre-defined and customizable button associated with a pointing device for a period of time that is pre-defined and customizable, contemporaneous with a cursor remaining within a region on the display that comprises the triggering position.
6. A method according to claim 5, where the region that comprises the triggering position may be a rectangle, a square, a circle, an ellipse, or other region on the display, wherein a size of the rectangle, square, circle, or ellipse is pre-defined and customizable.
7. A method according to claim 1 and where in the step of designating the one or more characters comprises drawing a horizontal line on the display above the one or more characters through employment of a pointing device that controls a cursor on the display, contemporaneous with the designating mode remaining triggered; wherein the vertical position of the horizontal line is at the vertical position of the triggering position; wherein the horizontal position of a first end point of the horizontal line is at the horizontal position of the triggering position; wherein the horizontal position of a second end point of the horizontal line is at the horizontal position of the cursor before or at the moment the designating mode is exited.
8. A method according to claim 7 and where the horizontal line has customizable styles for one or more of color, width, transparency, and/or additional selectable features.
9. A method according to claim 7 wherein the horizontal line is a point on the display whose position is the triggering position.
10. A method according to claim 1 and where the step of exiting the designating mode comprises releasing the button that was previously pressed and held to trigger the designating mode when a cursor is located at an exiting position.
11. A method according to claim 1 and where the first mode status may be assigned by pressing one or more pre-defined and customizable keys on a keyboard;
12. A method according to claim 1 and where the first mode status may be assigned when the difference between the vertical position of the triggering position and the vertical position of the exiting position is larger than a pre-defined and customizable threshold.
13. A method according to claim 1 and where one or more visual warning hints are shown on the display when the difference between the vertical position of the triggering position and the latest position of a cursor on the display is larger than a pre-defined and customizable warning threshold, contemporaneous with the designating mode remains triggered.
14. A method according to claim 1 and wherein the step of editing the keyword list is optional.
15. The method of claim 1, wherein the steps: designating the one or more characters; exiting the designating mode; canceling the current text capturing step if the mode status assigned is the first mode status; and if the mode status assigned is the second mode status, capturing the one or more characters, adding the one or more characters to the keyword list, and displaying the keyword list on the display; comprise the step of iterating the steps: designating the one or more characters; exiting the designating mode; canceling the current text capturing step if the mode status assigned is the first mode status; and if the mode status assigned is the second mode status, capturing the one or more characters, adding the one or more characters to the keyword list, and displaying the keyword list on the display; until reaching a pre-defined iteration-exit strategy.
16. A method according to claim 1, wherein a plurality of sources comprises the one or more sources, wherein the step of retrieving the information comprises one of: submitting requests to a source of the plurality of sources; submitting requests to multiple sources of the plurality of sources substantially sequentially; submitting requests to multiple sources of the plurality of sources substantially simultaneously;
17. A method according to claim 1 and wherein the step of retrieving the information comprises: allowing a user to select from a plurality of available sources, the one or more sources to which the user wants to submit a retrieving request after the designated characters are captured and added to the keyword list.
18. A method according to claim 1, wherein the step of retrieving Internet information comprises sending search queries to one or more search engines, wherein the one or more search engines comprise one or more search engines for text, image, video, audio, and/or advertisement information.
19. A method according to claim 1, wherein the step of retrieving the information may be performed immediately after the designating mode is exited with the second mode status assigned and after the designated characters are captured and added to the keyword list.
20. A method according to claim 1, wherein the step of retrieving the information may not be performed after the designating mode is exited with the second mode status assigned and after the designated characters are captured and added to the keyword list; until later a user submits a request of information retrieval explicitly.
PCT/US2008/009997 2007-08-24 2008-08-22 Information retrieval using keywords from cursor positions on display WO2009029219A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US96607607P 2007-08-24 2007-08-24
US60/966,076 2007-08-24
US575707P 2007-12-10 2007-12-10
US61/005,757 2007-12-10

Publications (1)

Publication Number Publication Date
WO2009029219A1 true WO2009029219A1 (en) 2009-03-05

Family

ID=40387648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/009997 WO2009029219A1 (en) 2007-08-24 2008-08-22 Information retrieval using keywords from cursor positions on display

Country Status (1)

Country Link
WO (1) WO2009029219A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040079804A1 (en) * 2002-06-21 2004-04-29 Harding Kyle D. Optical bar code scanner and system for retrieving bar code data
US20040260461A1 (en) * 2001-11-02 2004-12-23 Junichi Sato Terminal apparatus
US7100123B1 (en) * 2002-01-25 2006-08-29 Microsoft Corporation Electronic content search and delivery based on cursor location

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260461A1 (en) * 2001-11-02 2004-12-23 Junichi Sato Terminal apparatus
US7100123B1 (en) * 2002-01-25 2006-08-29 Microsoft Corporation Electronic content search and delivery based on cursor location
US20040079804A1 (en) * 2002-06-21 2004-04-29 Harding Kyle D. Optical bar code scanner and system for retrieving bar code data

Similar Documents

Publication Publication Date Title
US11157577B2 (en) Method for searching and device thereof
US10248305B2 (en) Manipulating documents in touch screen file management applications
US8949729B2 (en) Enhanced copy and paste between applications
US10078414B2 (en) Cursor for presenting information regarding target
CN100428182C (en) Profile based capture component for monitoring events in applications
US8473857B1 (en) Link annotation for keyboard navigation
US7966558B2 (en) Snipping tool
US20070002077A1 (en) Methods and System for Providing Information Services Related to Visual Imagery Using Cameraphones
US20130205189A1 (en) Apparatus And Method For Interacting With An Electronic Form
US20020080179A1 (en) Data transfer method and data transfer device
US10496276B2 (en) Quick tasks for on-screen keyboards
US20070079383A1 (en) System and Method for Providing Digital Content on Mobile Devices
US11200293B2 (en) Method and system for controlling presentation of web resources in a browser window
JP6599127B2 (en) Information retrieval system and method
JP5067745B2 (en) Information search apparatus, method, recording medium, and information search system
WO2013085528A1 (en) Methods and apparatus for dynamically adapting a virtual keyboard
CN105830150A (en) Intent-based user experience
KR20160089379A (en) Contextual information lookup and navigation
JP4626783B2 (en) Information search apparatus, method, recording medium, and information search system
US11314826B2 (en) Method for searching and device thereof
US11853821B2 (en) User interface for searching and generating graphical objects linked to third-party content
US20150213148A1 (en) Systems and methods for browsing
CN112839261A (en) Method for improving voice instruction matching degree and display equipment
WO2009029219A1 (en) Information retrieval using keywords from cursor positions on display
US11586335B2 (en) Graphical user interface marking feedback

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08795528

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08795528

Country of ref document: EP

Kind code of ref document: A1