None.
None.
The invention disclosed broadly relates to the field of search and more particularly relates to the field of search for touch screen devices.
Providing and improving geographic (geo) search technology, particularly for mobile applications (apps) has become a focus of major search companies. The improved ability to locate and identify businesses through geo search, particularly in mobile devices, is recognized as a tremendous boon to businesses and advertisers alike. Formulating a query with geo search technology requires as input: the query object (restaurants, offices), the location, and the semantic relation between the query object and the location (at, east of, outside of, inside of, nearby, etc.). Discerning the location is usually delegated to servers in communication with the mobile device via mobile gateway interface.
In geo search, the location can be specified using names (e.g., Palo Alto), postal codes (e.g., 94303), and geographic coordinates (e.g., Lat/Lon 37.47/122.12). The goal of search is to provide the most relevant results. Searches today are keyword based. As an example of current geo search models, assume a user is searching for local restaurants in San Francisco. The user supplies the query object (Mexican restaurant), and the location (San Francisco). The semantic relation is usually not explicitly provided, but assumed to be “in.” In this example, the user enters a query such as “Mexican food marina San Francisco” which requires the user to know the name of the neighborhood for the target restaurant. This information is not always known, but is required in today's geo searches in order to get relevant results.
Moreover, in some cases the information is known, but it is too difficult or even impossible to know which keywords to use to formulate the search query in order to achieve the desired result. For example assume a user is searching for commercial office rentals in San Francisco close to the water, but not on the waterfront, not in a retail area, but close to a trolley stop. Using the keywords “San Francisco,” “office rental, water, trolley stop” would probably not bring up the desired results, because of difficulties in query disambiguation. The search query would return available offices near the water, including waterfront space which the user did not want. It is difficult to disambiguate the undesirable search candidates partly because of the difficulty in expressing a semantic relation such as “nearby but excluding.” In addition, certain features which may be viewable on a map, such as trolley stops, are not expressed in search engines, therefore they are not picked up by a search query.
Search applications for mobile devices have evolved to include geographic maps. One such application currently sold for the iPhone is shown in
Continuing with this example,
Therefore, there is a need for a non-keyword search capability to overcome the shortcomings of the known art.
Briefly, we describe a computer-implemented method for non-keyword searching according to an embodiment of the present invention. The method includes: receiving information required to render a first map of a geographical area on a touch screen display; delivering the map for presentation on a first visual area rendered on the touch screen display associated with a computer in use by a user; and receiving from the user a selection of a target search area within the geographical area wherein the user desires to restrict a search for items of interest, wherein the selection of the target area is produced by the user drawing a shape encompassing at least a portion of the target area over the first map presented on the touch screen display. Responsive to receipt of the drawing, the method proceeds by accepting the shape of the drawing; recognizing the shape as a boundary; and identifying the boundary as representing the target area for restricting the search. Further, the method causes a search for the items of interest located within the boundary, wherein the search is executed on a query including the item of interest and the target area, excluding any items of interest not located within the target area; and returning query results to the user by indicating on the touch screen display those results matching the items of interest located within the boundary represented by the drawn target area.
According to another embodiment of the present invention, we describe a system for computer-implemented search including: a device that includes a touch screen display; a processor device operatively coupled with the touch screen display, and a memory for storage of operational instructions for execution by the processor device. The device also includes an interface to a search feature and an interface to a geo location/mapping feature.
According to the invention, the processor device is operable for: receiving information required to render a first map of a geographical area on the touch screen display; delivering the map for presentation on a first visual area rendered on the touch screen display; receiving from a user of the touch screen display a selection of a target search area within the geographical area wherein the user desires to restrict a search for items of interest, wherein said selection of the target search area is produced by the user drawing a shape encompassing at least a portion of the target search area over the first map presented on the touch screen display; and responsive to receipt of the drawing the processor device is operable for: accepting the shape of the drawing; recognizing the shape as a boundary; and identifying the boundary as representing the target search area for restricting the search.
The processor device is further operable for executing a search for the items of interest located within the boundary, wherein the search is executed on a query including the item of interest and the target search area, wherein the query excludes any items of interest not located within the target search area; and returning query results to the user by indicating on the touch screen display those results matching the items of interest located within the boundary represented by the drawn target search area.
According to another embodiment of the present invention, we describe a computer program product comprising a non-transitory computer readable storage medium with program instructions which, when executed, case a computer to perform the method steps as described above.
To describe the foregoing and other exemplary purposes, aspects, and advantages, we use the following detailed description of an exemplary embodiment of the invention with reference to the drawings, in which:
While the invention as claimed can be modified into alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the scope of the present invention.
In the following description of the invention, we disclose various embodiments that incorporate the features of the invention. The descriptions of the various embodiments serve to illustrate and exemplify the invention such that one with knowledge in the art may be able to understand the invention as presented and reduce it to practice. The scope of the invention is not to be construed as limited to the disclosed embodiments, but instead the scope of the invention shall be defined by the appended claims.
In the following description, numerous specific details are set forth by way of exemplary embodiments in order to provide a more thorough description of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail so as not to obscure the invention. The preferred embodiments of the inventions are described herein in the Detailed Description, Figures, and Claims. Unless specifically noted, it is intended that the words and phrases in the specification and claims be given the ordinary and accustomed meaning as understood by those of skill in the applicable art. If any other meaning is intended, the specification will specifically state that a special meaning is being applied to a word or phrase.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As used throughout, “touch screen” indicates the touch sensitive panels coupled with an underlying high resolution graphical electronic display that are found in many computing systems today, such as mobile phones, laptops, and larger devices such as touch screen kiosks and touch screen mall guides. In a touch screen device, the underlying electronic display is able to effect data capture in response to touch navigation in order to update the image presented on the panel. Haptic (tactile) stimulation of the panel produces an identical effect as if a mouse and/or keyboard was used to make selections. The underlying technology of drawing displays is known, varied, and beyond the scope of the invention and requires no further elaboration in this document. This technology is aptly described in numerous publications and patents, including U.S. Pat. No. 6,738,050 entitled “Microencapsulated Electrophoretic Electrostatically Addressed Media for Drawing Device Applications” filed on Sep. 16, 2001.
We discuss a sketch-based search system, method, service, and apparatus for touch screen devices that affords a user a rich search experience without having to input keywords. Further, the sketch-based method allows more meaningful expression of semantic relationships between query objects and their location because it enables exclusion by enabling relations such as “nearby, but not adjacent.” The search process can be location-specific without requiring the user to enter a location by typing on a keyboard. In fact, the keyboard is not necessary and can be hidden from view.
In the sketch-based method according to the invention, a search query is “drawn” by the user by simply sketching (by freehand drawing, or template) a search area on a map displayed on the viewport associated with the touch screen device. The advantage here is that, unlike the example discussed with respect to
The sketch or drawing can be a simple shape such as a circle, oval, square, or even a straight line and does not have to be correctly proportioned to accommodate freehand drawing. The sketch can be generated by a user drawing directly on the touch screen with a finger or stylus. Localized results (available offices, restaurants, businesses, points of interest, and so forth) that fall within the drawn area are returned as query results; results that fall outside of the drawn area are not returned. The user is then able to filter the query results based on social signals (did my friends like this? food type, and many other filters).
A further advantage of the sketch-based search is that zooming and panning interactions are enabled on the map once the search area is “drawn.” This allows the user to more specifically target an area and then re-draw another search area on the zoomed or panned map display. The newly drawn search area replaces the previous search area in the query.
A further advantage is gained in that the sketch search is able to generate clusters of items of interest to assist the user in locating interesting areas within a city. Rather than requiring users to know the neighborhood/cities of each area they want to search or requiring them to enter multiple neighborhood searches e.g. “Mexican food Noe Valley” and then “Mexican food Mission,” or “Mexican food downtown” a user is able to search for specific areas within each of these neighborhoods all at once by simply drawing an object within the areas of these neighborhoods. Throughout this discussion we use restaurants as an example of an item of interest. However, it should be noted that other items of interest (such as doctors, ATMs, gas stations, real estate listings, and others) could also be substituted as items of interest to be searched.
Referring now in specific detail to the drawings, and particularly to FIG. 1, there is illustrated a high level process flow diagram 100 of a sketch search method according to an embodiment of the invention. The requirement for this method is a touch screen and logic for operating the touch screen, and access to both search and geo location engines. The touch screen may be part of a cell phone, personal digital assistant, laptop, or other user device. Furthermore, the touch screen may be a stand-alone apparatus such as a touch screen kiosk and mall guide.
The method begins at step 110 after a user has selected the sketch search application from the user's touch screen phone and/or laptop (or other touch-screen device). Requirements for the device are a touch screen or touch pad capability and a mobile application gateway to a geo-location subsystem such as a GPS (Global Positioning System) and a search engine. Once the user selects the sketch search application, the logo of the application (app) will become animated.
The user may retain the default location by tapping the “Yes” button shown in
Once the location is selected in step 130, the Locate Me default screen 400 appears showing a map in the top portion of the viewport with the selected or default location centered within the map. This screen is shown in
Shown on the “Locate Me” screen, the user has access to four image buttons 410 (shown here for exemplary purposes only on each of the four corners of the screen). The four buttons 410 are: a) the draw mode button; b) the location button; c) the filter button; and d) the places button (the user's current location as address or the most accurate form possible). The image buttons 410 have a sufficiently large target area such that they can be easily pressed by a human finger, but are placed so as not to obstruct the image. Note that the appearance of the image buttons 410 will change according to the current state of the button 410. Three different states will be represented: 1) enabled; 2) selected; and 3) disabled. The different states may be indicated using colors, highlight, blinking, or other feature. At this point in the process, the draw, places, and locate buttons are shown as enabled, and the filter button is shown as disabled until the user sketches a search.
In its simplest form, in an alternative embodiment, no buttons are required and the draw mode is always enabled. Additionally, it is contemplated that other embodiments with different combinations of buttons and modes that actuate changes to the images presented in the touch screen display are within the spirit and scope of the invention.
In the “Draw Mode,” the map shown in the viewport is movable using conventional means such as swiping, panning, and pinch and zoom. The places and locate buttons are available should the user wish to re-situate the view prior to selecting the draw mode. The Draw Mode allows the user to sketch the search area. The Draw Mode is selected by tapping the draw button 410 on the lower left-hand side of the screen or by pressing a finger against the map surface for more than one second without moving the map.
Next in step 140 the Draw Mode as shown in
Once in Draw Mode, the user selects a search area in step 150 by a drawing action with a finger or stylus or other suitable touch-screen compliant instrument. Lines as well as closed selections can be drawn. See
In the example of
Once the location has been drawn, lifting the finger from the touch screen automatically enters the selected location and the search query is processed. Multiple strokes for one query are not supported. To modify or cancel the query the user must tap the draw button again after the system begins to process. Tapping the draw button “erases” the current operation and results display and returns the user to the ready to draw state. The filter states and map location are retained unless the user changes them.
When the query is entered, in step 160 the screen is in processing mode. This is shown in
Processing the search is preferably enabled by a back-end search operation such as, but not limited to, YAHOO!® Local Search. The search is processed by formulating a query for only those items of interest within the designated target area as drawn by the user. This brings us to step 170, the Results Mode screen as depicted in
In the Results Mode, the lower area of the viewport transitions into the result list. The top item on the list is highlighted and a callout balloon is presented over the corresponding pin. The top 50 results are returned. If there are more than 20 relevant results the Filter Mode is automatically enabled, replacing the list view. The user can apply filters and in turn the results change real-time on the map display. Any interaction with the map surface or a pin will exit the filter mode and display the list view.
If the query turns up more than 50 results (or other designated threshold amount), at the bottom of the list is a “show more” that will return 20 (or other designated amount) more results and so on until the user is done or there are no more results to display. If the drawn area is too wide and the zoom factor is too low to show results then the system displays in Cluster Mode to further assist in locating the desired items of interest. See the “low zoom factor view and clustering” examples shown in
When results are returned, the following are shown in the viewport: a) result pins (or other indicators) appear and the overlay gets populated with results that match the pins as well; and b) the first ranked result and associated pin is highlighted. Note that the interaction between the pins and the map and the result items will function in a same or similar manner to that of the YAHOO!® Local Search application. Note that in the Results Mode, the user can click on a selected result for details about that result (shown in
Even after results have already been displayed, the user is able to reposition the map. If the map is moved after the results appear: a) pins are only shown within the drawn area, even as the user repositions the map; b) objects are allowed to move out of the viewport as the user re-positions the map; c) as the user zooms in the drawing line is able to move out of the viewport; d) if the user selects another item from the results list while the object and pins are not within the viewport, then the object and pins will be brought back into the viewport and center the map on the pin associated with the item selected from the results list.
In the exemplary viewport example shown in
If a result is tapped the map screen gets replaced and shows detailed information, such as: location, rating, direction (button to a native Map app), phone/call (button to call), photos, business meta-data e.g. hours of operation, user reviews and more reviews link, email, and warning (business may be closed; business may be seasonal). In this mode the navigation bar is concealed. Clicking will reveal the navigation bar. The “done” button returns the user to the previous view; and the “fwd” button brings up an option to email the data. When the user clicks “done” the user is returned to the previous view. For example, if user navigated from filter view the user will be returned to filter view. Both the detail and list areas are scrollable.
Monetizing the search.
An important aspect of this search process is the ability to monetize the search. Selling a ranking of the search results is contemplated within the spirit and scope of the invention. Further, in another embodiment of the present invention, advertising can be displayed along with the search results (in the detail view screen). Additionally, it is possible to distinguish search results belonging to subscribers or other clients by using font attributes such as blinking, highlighting, bolding, color, and other attributes.
In step 190 the user can indicate that he/she rejects a displayed result. See
The second way to indicate that you are not a fan is from the map itself: select a pin callout and hold it for more than 3 seconds; callout starts to shake; the pin is now movable and the user can throw (swoosh) it off the map; when user throws it off the map it “poofs” away; and after the user does this the first time a message such as “you can unhide this item in the list below by selecting the Unhide button” will appear. The unhide button is provided should the user change his/her mind and wish to see cast off item again. Next to the unhide button the number of hidden items will be displayed.
Filter mode.
Once results appear on the screen, the filter and location buttons become active. See
To disengage the filter display: a) tap the filter button again; b) touch a pin or the map surface; and c) entering draw, places, or location modes. The error messages for the filter mode can be: a) no results message “no results found” b) no connection “unable to load map: please ensure that your device is connected to the Internet and then try again.”
Share and Social Poll Option.
A further advantage of the sketch search feature is the ability for a user to share and poll the query results. Optionally in step 195 the user can select the share and social poll option, shown in
The viewport in Poll Mode will show the business listing information along with poll choices such as “I Like,” “Maybe,” “No,” embedded into the mail/messenger capture and in addition to voting on the poll the user can add free-form text like “Ate here last week this place rocks!” In the example of
The poll responses are associated with the sender, recipient, and business listing ID and are displayed in the detail view. The poll responses inform the user and the user's correspondents. The poll responses enrich the business listing data set with the votes and comments.
Finish Processing.
Lastly, in step 199 the user is able to start over or exit the search sketch app. The user can start over by depressing the draw mode button or clearing the drawing by shaking the touch screen device. Vigorously shaking the device will clear the drawing. Once the drawing is cleared the map mode once again becomes “drawable.” The screen will display fade animation of the drawn object slowly disappearing from the screen similar to erasing an etch-a-sketch board.
Places Mode.
“Places Mode” is shown in
User customization.
The sketch search app can be customized with user preferences. For example, the user is able to select audio on or off; shake to clear on/off; and reset “not a fan” (are you sure dialog?). Other user customization features are contemplated within the spirit and scope of the invention.
Features.
The sketch search app remembers the last state when the session is resumed. When terminating the app it remembers the user's last state and on app start returns user to the last (suspended) state. The app works for the Apple iPod® mobile digital device touch users, except the call button is grayed out.
Locate Mode.
Returning to step 120, if the user selects “no” for the locate me prompt,
Cluster Mode.
Referring to
The items of interest clusters are algorithmically generated along a specific street or neighborhood. A cluster can be defined as 20+items of interest results within a 0.5 mile area. If more than 60% (or other threshold amount) of the items of interest within the cluster area are located on a single street then the cluster is labeled with the name of the street e.g. University Ave., else the cluster is named by the lowest level neighborhood e.g. downtown Palo Alto. The designated cluster name can appear overlaid on the cluster image, or show in the results list in the lower portion of the viewport. In another embodiment, the cluster name may be hidden from view due to space constraints and revealed by a roll-over on the cluster callout.
Low Zoom Factor Pre-Draw Mode.
Zoom and Position by Cluster Mode.
The Low Zoom Factor Draw Mode.
The Low Zoom Factor Draw Mode is shown in
Low Zoom Factor Drawn Area Auto-Zoom Mode.
The low zoom factor drawn area auto-zoom mode is exemplified in
The user can pinch and zoom in beyond the threshold at which individual results are shown. Or, the user can tap on a highlighted list item or corresponding pin on the map to zoom in over that area at a zoom factor that can show individual pins. If the user's location is known the pins are centered. If not the densest part of the cluster is centered. If an un-highlighted cluster is selected from the list item the drawing and results are retained and the map repositions to optimize that cluster in the map viewport. No results are shown in areas outside the drawn area.
Line Draw Mode.
Device Embodiments.
In this implementation of the sketch search system, the polling feature can provide richer results because a larger number of users and correspondents can participate in the polling, generating more meaningful results. Additionally, the kiosk embodiment has tremendous monetizing potential.
Referring now to
The mapping/locator feature and the search feature may be embodied in software, hardware, or firmware. They may be bundled with the device 2200 or accessible over the Internet using using mobile app device software. Device 2200 includes inter alia a processor device (apparatus) 2202 embodied in hardware, a memory 2204, and an input/output subsystem 2206. The processor device 2202 is operationally coupled with the input/output subsystem 2206, the touch screen display 2260, and the memory 2204. Memory 2204 may include both volatile and persistent memory for the storage of: operational instructions for execution by processor device 2202, data registers, application storage and the like. The input/output subsystem includes various user interfaces and the underlying logic for their operation (drivers, etc.), such as the touch screen, mouse, keyboard, and others.
Device 2200 includes a network interface 2210 for enabling operability of internet-dependent applications and may include a computer program product such as CD/DVD ROM 2290 or other removable media.
As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer-usable program code embodied in the medium.
Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
These computer program instructions may also be stored in a computer-readable medium such as CDROM 2290 that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
What has been shown and discussed is a highly-simplified depiction of a programmable computer apparatus. Those skilled in the art will appreciate that other low-level components and connections are required in any practical application of a computer apparatus capable of performing the described invention.
This is a non-provisional of, and claims priority from, U.S. patent application Ser. No. 61/302,953, filed on Feb. 9, 2010 and entitled “Sketch-a-Search,” which application is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61302953 | Feb 2010 | US |