# Patent

## Title
Multilevel silhouettes in an online shopping environment

## Abstract

Selecting a first silhouette image of an item at a client machine displays a plurality of silhouette images representing aspects of the item such as style, length type and sleeve type. Selecting any of those aspects allows a server to search a database for listings of similar items that have those aspects. Concurrently selecting one or more of the images representing those aspects and one or more sizes, allows a server to search a database for listings of similar items that have those aspects and those sizes.

## Background
RELATED APPLICATIONS
This application is related to and claims priority to provisional patent application Ser. No. 61/377,914 entitled “Multilevel Silhouettes in an Online Shopping Environment,” which was filed on Aug. 28, 2010, which is assigned to the assignee of this application, and which is hereby incorporated herein by reference in its entirety


TECHNICAL FIELD
The present disclosure generally relates to data processing techniques. More specifically, the present disclosure relates to methods and systems for displaying, at a user interface, item listings for the user to select from for querying the system, in order to enable the system to return to the user images of the type of item desired by the user for possible purchase.
BACKGROUND
Advancements in computer and networking technologies have enabled persons to conduct commercial and financial transactions “on-line” via computer-based applications. This has given rise to a new era of electronic commerce (often referred to as e-commerce.) A number of well-known retailers have expanded their presence and reach by operating websites that facilitate e-commerce. In addition, many new retailers, which operate exclusively online, have come into existence. The business models utilized by enterprises operating online are almost as varied as the products and services offered. For instance, some products and services are offered at fixed prices, while others are offered via various transaction methods, and still others are offered via a system of classified ad listings. Some enterprises specialize in the selling of a specific category of product (e.g., books) or a specific service (e.g., tax preparation), while others provide a myriad of categories of items and services from which to choose. Some enterprises serve only as an intermediary, connecting sellers and buyers, while others sell directly to consumers.
Despite the many technical advances that have improved the state of e-commerce, a great number of technical challenges and problems remain. One such problem involves determining how to best present products and services (e.g., items) that are being offered for sale, so as to maximize the likelihood that a transaction (e.g., the sale of a product or service) will occur. For instance, when a potential buyer performs a search for a product or service, it may often be the case that the number of item listings that satisfy the potential buyer's query far exceeds the number of item listings that can practically be presented on a search results page. Furthermore, when a buyer selects from a user interface an item of interest by textual name of that item, a selection error can occur. That is, the buyer might select the incorrect name of the product, such as selecting a clutch handbag when an evening handbag is really desired. Preventing that error and providing the buyer with an image of the precise type of item he or she is looking for enhances the buyer's experience and is more likely to lead to an executed transaction.



DESCRIPTION OF THE DRAWINGS
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which:
FIG. 1 is a block diagram of a network environment including a network-connected client system and server system, with which an embodiment of the invention might be implemented.
FIG. 2 illustrates is a database diagram illustrating an exemplary database for the transaction facility.
FIG. 3 illustrates an example of a fashion related page on an e-commerce system website.
FIG. 4 illustrates an example of a women's clothing page on an e-Commerce system web site.
FIG. 4A illustrates a navigation pane useable with FIG. 4, as illustrated at the left of FIG. 4.
FIG. 5 illustrates an example of operation of a sliding silhouette that uncovers multiple silhouettes for item selection.
FIG. 5A illustrates a navigation pane useable with FIG. 5, as illustrated at the left of FIG. 5.
FIG. 5B illustrates an exemplary implementation of the operation of FIG. 5.
FIGS. 5C and 5D illustrate an exemplary implementation of the operation of creating shopping profiles.
FIG. 6 illustrates an example of a layer that can open when a button that asks for additional brands is clicked, the brands then being viewable and selectable.
FIG. 7 illustrates an example of a picture of a product of a given brand, using image similarity to match the product with similar products of different brands.
FIG. 8 illustrates a window for creating shopping profiles for later use.
FIG. 9 illustrates a diagrammatic representation of machine in the exemplary form of a computer system.



DETAILED DESCRIPTION
Methods and systems for displaying, at a user interface, item listings for the user to select from for querying the system, in order to enable the system to return to the user interface item listings of the type desired by the user for possible purchase. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various aspects of different embodiments of the present invention. It will be evident, however, to one skilled in the art, that the present invention may be practiced without these specific details.
Terminology
For the purposes of the present specification, the term “transaction” shah be taken to include any communications between two or more entities and shall be construed to include, but not be limited to, commercial transactions including sale and purchase transactions, auctions and the like.
Transaction Facility
To better understand the invention, an embodiment of an electronic transaction facility is shown in FIGS. 1 and 2.
FIG. 1 is a block diagram illustrating an exemplary network-based transaction facility in the form of an Internet-based transaction facility 10. White an exemplary embodiment of the present invention is described within the context of an transaction facility, it will be appreciated by those skilled in the art that the invention will find application in many different types of computer-based, and network-based, commerce facilities. It will also be appreciated by those skilled in the art that the invention may be used in transaction facilities of other architectures. The instructions stored in the transaction facility (which can be executed by a processor) can be stored on a machine-readable medium including, but not limited to read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, or electrical, optical, acoustical or other form of propagated signals.
The transaction facility 10 within which an embodiment can be implemented includes one or more of a number of types of front-end servers, namely page servers 12 that deliver web pages (e.g., markup language documents), picture servers 14 that dynamically deliver images to be displayed within Web pages, listing servers 16, CGI servers 18 that provide an intelligent interface to the back-end of transaction facility 10, and search servers 20 that handle search requests to the transaction facility 10. E-mail servers 21 provide, inter alia, automated e-mail communications to users of the transaction facility 10.
The back-end servers include a database engine server 22, a search index server 24 and a credit card database server 26, each of which maintains and facilitates access to a respective database.
The Internet-based transaction facility 10 may be accessed by a client program 30, such as a browser (e.g., the Internet Explorer distributed by Microsoft Corp. of Redmond Wash.) that executes on a client machine 32 and accesses the transaction facility 10 via a network such as, for example, the Internet 34. Other examples of networks that a client may utilize to access the transaction facility 10 include a wide area network (WAN), a local area network (LAN), a wireless network (e.g. a cellular network), or the Plain Old Telephone Service (POTS) (or PSTN) network.
Database Structure
FIG. 2 is a database diagram illustrating an exemplary database 23, maintained by and accessed via the database engine server 22, which at least partially implements and supports the transaction facility 10. The database 23 may, in one embodiment, be implemented as a relational database, and includes a number of tables having entries, or records, that are linked by indices and keys, in an alternative embodiment, the database 23 may be implemented as a collection of blocks in a block-oriented database. While FIG. 2 shows one embodiment of a database, it will be appreciated by those skilled in the art that the invention can be used with other database structures.
Central to the database 23 is a user table 40, which contains a record for each user of the transaction facility 10. A user may operate as a seller, buyer, or both, within transaction facility 10. The database 23 also includes item tables 42 that may be linked to the user table 40. Specifically, the item tables 42 include a seller items table 44 and a buyer items table 46. A user record in the user table 40 may be linked to multiple items that are being, or have been auctioned or otherwise marketed via the transaction facility 10. A link indicates whether the user is a seller or a buyer with respect to items for which records exist within the items tables 42. While offerings by the seller are referred to as “items” in the specification, “items” includes any product or service offered by the seller. The database 23 also includes a note table 48 populated with note records that may be linked to one or more item records within the item tables 42 and/or to one or more user records within the user table 40. Each note record within the note table 48 may include, inter alia, a comment, description, history or other information pertaining to an item being auctioned or otherwise sold via the transaction facility 10 or to a user of the transaction facility 10.
A number of other tables are also shown to be linked to the user table 40, namely a user past aliases table 50, a feedback table 52, a bids table 54, an accounts table 56, and an account balances table 58.
The on-line trading system includes a user interface which may the browser 30 whereby a user can enter select a search term describing an item the user is interested in seeing for possible purchase. Usually a buyer would like to browse a category of images, for example hand bags, by style and/or brand so that the user can quickly find something interesting to the buyer. The buyer selects one of the choices for the desired item and images of one or more of the category of item selected from the choices are returned for the buyer to see for possible purchase. For instance, a number of product type can be presented via the user interface by name, such as shoes, handbags, clothes, and the like. If the category of item the user desires is a handbag, the handbag selection presented to the buyer in textual form by the user interface might be the words “clutch,” “evening bag,” “messenger style,” and “satchel,” among others. It could occur that the user might confuse, as one example, “clutch” with “evening bag” and enter “clutch” as the category of bag desired when the user is actually looking for an evening bag. This would result in one or more images of a clutch being returned to the user, when the user actually wanted one or more images of an evening bag image to be returned. Thus the item image being returned to the user that is not the actual category of item the user desires, and the user's experience is therefore less than optimum. This in itself may result in the transaction not being executed.
If, on the other hand, the selection presented to the user is in visual form, such as a silhouette of the product, then there is much less room for error. The user will see an image of the category of handbag. Using the example next above, the user would see images of “clutch,' “evening bag,” “messenger style,” and “satchel.” This could be, for example, presented by brand. The user could then, as only one example of an embodiment, mouseover each image to display the name of each of the various types of handbag offered for each image. Mouseover is a well known function and an example, taken from Wikipedia, is seen in the appendix to this specification. The user could then click on the bag of the user's choice to view possible attributes of the bag such as styling, color and fabric, among others. Since the buyer will see images of the category of bag desired, with very little opportunity for error, the experience is more nearly optimum, and a transaction is more likely to be executed. This can be implemented, in one embodiment, by the images of types of handbags being presented to the user in silhouette so that the users could, for example, mouseover the silhouette image that is most like the category of bag desired and the title of the bag would be presented. For example, the user interface can present the prospective buyer with silhouettes of a clutch, an evening bag, a messenger style bag, and a satchel, among others. Seeing the silhouette images, the buyer can mouseover them for the name and simply select the silhouette of the category of bag desired, for example an evening bag, and the system displays the types of evening bags offered for sale. One of ordinary skill in the art will see that the displaying the title is not necessary for the invention. The user might just select the silhouette based on recognizing the silhouette. In this manner in which a buyer can find products or services which they wish to purchase.
In response to the selection, information, including images and attributes of the selected silhouette can then be returned to the user interface for the user. In one embodiment this is accomplished by the system mapping the selected evening bag image information of this example to a textual value and making a query to the transaction facility 10 which will undertake a search using the query and will then obtain and return the foregoing image and attributes. In another embodiment, attributes of the images can be returned separately for presentation to the user by way of the user interface. The presentation of a silhouette of a category of product to the buyer, since it is visual, drastically reduces the opportunity for error, or error rate, makes the buyer's experience more nearly optimum, and is more likely to result in an executed transaction.
As another example, if the buyer is interested in women's shoes, various type of women's shoes will be presented in silhouette, such as high heels, pumps, flats, sandals, and the like. The user mouses over the silhouettes, again to display the name, —as only one example, and clicks to select the category of shoe of interest from the silhouettes, for example, high heels. High heel shoes of various types and attributes can be returned to the buyer for possible purchase, much the same way handbags were returned in the above example. The various types of heels could be three-inch heels stilettos, Cuban heels, and the like. Attributes could be fabric, color, size, price and availability, among others can be displayed for the user.
In some embodiments, a user operates a web browser application 30 on a client machine 32 to interact with the transaction facility 10. A user may be presented with a search interface on client browser 30, with items in silhouette, as described generally above, and in more detail below, from which the user can select an item to be used in generating a search request submitted to the transaction facility. In some embodiments users themselves may be able to select certain item attributes. For example, the buyer may be interested in women's shoes. Certain type of women's shoes is provided to the user interface in visual representation as silhouettes. The buyer selects a category of shoe in silhouette, and, as a result, shoes of that category, with certain attributes, such as the color, fabric, size, price, and the like, will be returned for the user to see and possibly purchase. This can be implemented by the transaction facility 10, after receiving and processing the search request, communicating a response to the web browser application 30. The response could be, for example, an Internet document or web page that, when rendered by the browser application 30, displays a search results page showing one or more item listings, possibly with attributes, that satisfy the user's search request. The item listings are, in some embodiments, presented by a presentation module, which may be a web server or an application server.
In some embodiments, the search engine module, not shown but of a type well known in the industry, could provide the actual search function. For instance, the search engine module, in some embodiments, receives and processes a search request to identify the item listings that satisfy the search request. It will be appreciated by those skilled in the art that a variety of search techniques might be implemented to identify item listings that satisfy a search request. In general, however, the item attributes of item listings are analyzed for the presence of the user-provided search terms. For instance, in some embodiments, selected silhouette can be converted to textual information and used to query system storage.
In an alternative embodiment, the search engine module may represent an interface to a search engine implemented as an external component or module, for example, as part of transaction facility 10, or as a separate external module. In such a scenario, the search engine module may simply receive the set of item listings that satisfy a search query.
FIG. 3 illustrates a fashion related page 300 having a bar 301 with various categories such as women's clothing, men's clothing, and the like. If the user hovers his or her mouse over any an item certain fly-out navigation appears. For example, hovering over “Women” will give the categories of women's items. Hovering over or clicking Women's Clothing, for example, provides the Women's Clothing page seen in FIG. 4. Also shown in FIG. 4A is a navigation pane that may be used with FIG. 4 as illustrated at the left of FIG. 4. Showing in the illustration is All Categories and the results set 400 with items 401, 403, 405, and the like. As can be seen, and as discussed above, the landing page embodies silhouettes for much of its graphics. Women's Clothing is given as an example, it being understood that what is described would be applied to Men's Clothes, Women's Shoes, Men's Shoes, and any of the other categories offered for sale.
Turning to FIG. 5, if the user selects the “Dresses” silhouette in FIG. 4, the “Dresses” silhouette slides to the left as at 501 showing, or visually uncovering, multiple silhouettes of the various elements of dresses, such as style or length, sleeve, and the like. This is essentially a set of subcategory silhouettes for the primary silhouette “Dresses.” Selecting a particular length and sleeve type will allow one to search by that sleeve type and length of dress. In addition, there is the ability to refine one's search by size of the item desired, concurrently with length and sleeve types, as discussed below. While it is well known to those of ordinary skill in the art how to implement the above description of multilevel silhouettes, the following is included as a matter of additional teaching. Referring to Figure B, when a user is performing a listing search, the system, as seen at 510, checks to see whether a first level silhouette of a desired type of item, such as the “Dress” icon of FIG. 5, has been selected. If the selection is made, then at 512, the system provides signals to display a second level of silhouettes of aspects of item of the selected type. Then as at 514, the system checks to see whether one of the second level silhouettes representing aspects has been selected. If it has been selected, then, as at 516, the system searches, such as by querying a database, for listings of the selected desired type of item having the selected aspect. The display of the second level of silhouettes can be done, for example, by the system providing a signal to “slide” or move the selected primary icon of FIG. 4 to one side of the rendering at FIG. 5, while concurrently displaying the second level of silhouettes seen in FIG. 5 in order to give the appearance to the user of the selected icon sliding over to uncover the second level of silhouettes.
FIG. 5A illustrates a navigation pane that can be used with FIG. 5, as illustrated at the left of FIG. 5. Below the “Create New Profile” box 521 is seen a size map in tile format, comprising the various sizes, and equating numeric sizes to alpha sizes. While the size map is shown in tile format, it could be rendered in silhouette or in any other icon type format. For example, one could select S, 4, 6 and the results set shows dresses of the above length and sleeve type, in sizes 4 and 6, with the alpha designation “Small.” This would be concurrent with searching the aspects discussed above. Alternatively, one can select only size 4 under Small and the above result set would be limited with Small, size 4. This gives the user for whom a size 6 might be a little too large the ability to refine her size. Further, it shows the user the relations between the size in alpha (Small) and the numerical sizes in a visual way. As another example, size mapping can be done by two or more alpha sizes, or by more than one or two numeric size. As another example, one might know that the appropriate fit is a small or medium, but not really a size 10. So the user can unselect 10 under medium, leaving 8 under Medium, and also select Small 4, 6. The search results could be all items in 4 or 6, with the alpha size Small appended, and all items in 8, with alpha size Medium appended. Alternatively if a user isn't sure what sizes are within the Medium category, the size map illustrates this visually.
The tile aspect is not limited to the size map. It can also be used in search results in the result set. One example might be for search results, using a tile treatment for various groupings of data, for example, stores or boutiques that handle specific items in the search. Another example might to tile brands, or to tile profiles on a search page. Grouping together related items by tile formatting, or grouping together related data by tile formatting, is an improvement over just putting one big block data on the page.
Continuing with providing the user a combination of item aspects to search on, FIG. 5 illustrates a left navigation pane that allows the user to search by Brand; Price; Condition of the item offered for sale; Format; and Seller type, identified as shown in the illustration. Again, while these elements are illustrated as selectable words, they could easily be provided as icons or silhouettes. Each of these elements can be selected and a search could search for items with the selected aspects, concurrently with the other aspects discussed above.
In some systems, when a search in a particular size results in no items found, the system will tell the user there are no items in that size. This can give the user a had experience. Rather than tell the user there are no items in that size, the page can merely gray out the items on the results set, giving essentially the same information but also having the ability to alleviate or lessen a bad user experience.
Size also varies by manufacturer. A Burberry size 4 may be equivalent to a J.Crew size 2. Some customers shop by brand and size. For example, people who are shopping at Burberry are not necessarily the same people shopping at Gap but they may know what size they wear in Gap versus what size they wear at Burberry. For example, Burberry size small may equate to a 4 in Burberry, where a Gap size small might equate to a size 4 in Gap. While the two are very similar; it may be that just the waist measurements are slightly different, but most of the customers know what sizes fit them by brand. Thus size mapping can be very useful for searching by Brand in addition to other search aspects.
Size mapping can be accomplished, for example, by on online sales organization mining historical sales data. That is, data on what people tend to buy could be mined by computer. Alternatively, this can be done manually. For example, searching people who buy one brand and size and who also buy another brand and size is a relatively simple search algorithm. Other algorithms can also be developed. The results can be aggregated or organized statistically and stored in a search database for presentation to the user as a size map.
Another example of search is single searching on Brand, or multi selecting Brands for search, according to the user's preference. This can be done in at least three ways. One is to scroll down under Brand in the vertical navigation pane of FIG. 5 and select the desired brand(s). If the user multiselects and chooses more than one brand, those brands will concurrently be searched using a search database including the brand data, with the other search aspects discussed above and the results set could show items in the brands, sizes, and types as discussed above. In other words, the system will then pull in all the brands available for that style, sleeve, and size.
Another way is the click “Choose More Brands” on FIG. 5. When Choose More Brands is clicked in FIG. 5, a layer such as in FIG. 6 can open and the multiple brands can be available to be selected. Alternatively, a picture of a brand and product can be displayed as at the left of FIG. 7 using known image matching technology that matches a word to a picture, and then using image similarity matching technology that matches that picture with pictures in other brands. This can result in the additional (more) brands at the right of FIG. 7.
In yet another example, a populating typing implementation can be used as in FIG. 8 by selecting “Short List” and beginning typing in “BCBG,” that the user can check and select. If the user begins typing “Tahari” that populates as well. Alternatively, one can type just T, and select T, and the user will be shown everything that is available in brands beginning with T.
Further, one can click on a brand like Theory, and there would be a database correlating Theory with related brands such as Tahari, and BCBG. The latter two brands can be displayed as alternates to, or along with, BCBG. One can also create a list of selected or favorite brands, sometimes called a “shortlist” This can be done by clicking Shortlist in the layer of FIG. 6, as an example, and entering or selecting the desired brands in the resulting window. One can search on all the brands in the shortlist, or can deselect some of them if the user just wants to see what's available in one or a few of the brands.
Referring back to FIG. 5, Condition and Format is seen in the left navigation pane. This refines down the result set by indicating the condition of the item and the type of sale it is offered under. If the user mouses over any item in the result set that item will appear with, for example, title, price information and More Like This, which can link to an image search page in order to find more brands like the one searched or viewed, in addition to the type, sleeve length and size as discussed.
The system can also implement a Create a New Profile function in order to include a shopping profile function. When one clicks on Create New Profile in FIG. 5, the system may open up a window as seen in FIG. 8. If the user is coming from a women's page it defaults to Women; if the user is coming from a men's page it defaults to Men. Then the user can enter a name for a shopping profile for current or subsequent use without having to go back and re-refine the aspects in the search once the shopping profile is completed. The user may give the shopping profile a name. For example, the user could name a shopping profile Diana's Every Day Brands and can enter such parameters as waist size shoe size, and preferred brands, which can then be saved.
The user can be given the option of creating a number of shopping profiles. For example, the user can create and name a second shopping profile, for example, Diana's High-End Brands. This could be a second shopping profile for items, for example, that are more expensive than the items in Diana's Every Day Brands. The two profiles can be used, one for every day shopping, and the other for special purchase shopping, at a future date without having to re-refine the aspects of the items searched. One can even create a profile for another person such as a spouse or guest for similar use.
One use of the shopping profile is that on subsequent log-in's the user's shopping profile will be presented to the user. For example the user can be presented with a dropdown of each of her or his different shopping profiles and the user can choose which one is desired at the time. But instead of going through all the refinement processes discussed above, the user easily switches to Diana's Every Day Brands, in our example, and the shopper profile refines down. That is, the entire shopping profile could be refined down, saving significant time and improving the shopping experience.
Further, the shopping profile can be implemented such that once you select an item, even an item in another category, for example, Blazers and Jackets instead of Dresses, which is the current example, the shopping profile will hold all stored refinements and preselect those refinements in the category Blazers and Jackets, so it becomes easy for the user to look at several different categories at once. This feature can be a great help in minimizing what has come to be known as “buyer fatigue.” As a further example, the user goes to the shopping profile and selects pants, selects her sizes, and selects her brands. The user can then go to Dresses, reselect her brands, and reselect her sizes, in what is an easy way to select a search.
A further use of the shopper's profile is as an aid in sending targeted emails. The data in the shopping profile can be used to target sales. For example, the data can be mined and determine that the user's favorite brand is BCBG. If there is a sale for that brand, the user can be sent a targeted email. Further, if the data shows the user's favorite brand is BCBG and there is a Tahari sale, which is a related brand to the user's favorite brand, BCBG, the system can send the user a targeted email based on the related brand.
Yet another other way the shopper profile can be used is to provide the online sales organization information relating to what its inventory needs are. For example, if there are a lot of buyers indicating certain favorite brands and other information in the shopper profile, this information indicates what pockets of inventory the online sales organization may be shallow in, what users are looking for, and what the online organization needs to move. The online sales organization can then use the information in the shopper profile for these purposes.
While it is apparent to one of ordinary skill in the art how to implement the above shopping profile embodiment, the following is provided as additional teaching. FIG. 5 is a is a flow chart illustrating a method 500 for providing shopping profiles, and using the shopping profiles for shopping, including shopping during a subsequent log-in, in accordance with an example embodiment. The method 500 may be performed by processing logic that may comprise hardware dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. The processing logic, according to example embodiments, may reside in any of the modules shown in FIG. 1A. Referring to FIG. 5B, the system at 531 checks to determine whether a user has created a shopping profile. If the system detects a creation of a shopping profile it takes the Yes path to decision point 533. If not, it continues checking for an appropriate time. At 533 the system checks for the detection of additional shopping profiles. If the creation of additional shopping profiles are detected, up to the maximum number of shopping profiles, as the system may be designed, the system 535 associates the shopping profiles with the user and stores the shopping profile. Alternatively, the system may store only the selection shopping parameters of the shopping profile. If, on the other hand, no additional shopping profiles are detected, the system may take the No path and continue check, for at 533 for an appropriate period of time before performing the store step at 535.
As discussed above, the system checks to detect a user log-in, for example, a subsequent log-in of the user, as at 537 of FIG. 5C. If a log-in is detected the decision takes the Yes path and proceeds to decision point 539 where the system checks to determine whether the user is logged in to a page offering for sale the same type of item for which the shopping profile was created. It the user is so logged-in, the system takes the Yes path to function 541 where the system provides the appropriate signal to render the user's shopping profile at the client machine for the user to use in shopping. If the user is logged into a page where a different type of product than the one for which the shopping profile was created (as an example, the users logs in to blazers, and the shopping profile has been created for Dresses), as at the No path of 539, the system then proceeds to step 543 at which the system provides the appropriate signal to render at the user's client machine a shopping profile for the new type of item. This can be done by propagating (or refining) the shopping profile for blazers with the appropriate selected shopping parameters from the already created and stored shopping profile of the user. The user will not have to re-refine the shopping profile from the beginning for the new type of item and thus a certain amount of “Buyer Fatigue” can be forestalled.
Hardware Operation
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
Example Computer System
FIG. 8 is a Hock diagram of a machine in the form of a mobile device within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environments, or as a peer machine in peer-to-peer (or distributed) network environments. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example computer system 1500 includes a processor 1502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1501 and a static memory 1506, which communicate with each other via a bus 1508. The computer system 1500 may further include a display unit 1510, an alphanumeric input device 1517 (e.g., a keyboard), and a user interface (UI) navigation device 1511 (e.g., a mouse). In one embodiment, the display, input device and cursor control device are a touch screen display. The computer system 1500 may additionally include a storage device (e.g., drive unit 1516), a signal generation device 1518 (e.g., a speaker), a network interface device 1520, and one or more sensors 1521, such as a global positioning system sensor, compass, accelerometer, or other sensor.
The drive unit 1516 includes a machine-readable medium 1522 on which is stored one or more sets of instructions and data structures (e.g., software) 1523 embodying or utilized by any one or more of the methodologies or functions described herein. The software 1523 may also reside, completely or at least partially, within the main memory 1501 and/or within the processor 1502 during execution thereof by the computer system 1500, the main memory 1501 and the processor 1502 also constituting machine-readable media.
While the machine-readable medium 1522 is illustrated in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The software 1523 may further be transmitted or received over a communications network 1526 using a transmission medium via the network interface device 1520 utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi® and WiMax® networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
APPENDIX
A Mouseover or hover box refers to a GUI event that is raised when the user moves or “hovers” the cursor over a particular area of the GUI. The technique is particularly common in web browsers where the URL of a hyperlink can be viewed in the status bar. Site designers can easily define their own mouseover events using Javascript[1] and Cascading Style Sheets.[2] In case of multiple layers the mouseover event is triggered by the uppermost layer.
Mouseover events are not limited to web design and are commonly used in modern GUI programming. Their existence might not even be known to the user as the events can be used to call any function and might affect only the internal workings of the program.
Tooltip
A special usage of mouseover event is a tooltip showing a short description of the GUI object under the cursor. The tooltip generally appears only after the mouse is held over the object for a certain amount of time.
EXAMPLES












<!-- Direct usage not recommended | does not conform with web


standards -->


<img id=“myImage” src=“/images/myImage.jpg”


onMouseOver=“alert(‘your message’);”>


// javascript without any framework


var myImg = document.getElementById(‘myImage’);


function myMessage( ) {









alert(‘your message’);







}


if(myImg.addEventListener) { //addEventListener is the standard method


to add events to objects









myImg.addEventListener(‘mouseover’, myMessage, false);







}


else if(myImg.attachEvent) { //for Internet Explorer









myImg.attachEvent(‘onmouseover’, myMessage);







}


else { //for other browsers









myImg.onmouseover = myMessage;







}


// jQuery example | degrades well if javascript is disabled in client browser


$(“img”).mouseover(function( ) {


 alert(‘your message’);});

## Claims

1. A computer-implemented method comprising:
providing, by a server, a first user selectable silhouette image of an item for rendering on a display at a client machine;
responsive to the selection of the first user selectable silhouette image, providing a plurality of user selectable silhouette images representing aspects of the item for rendering at the client machine, the providing the plurality of user selectable silhouette images performed by providing a signal for the first user selectable silhouette image to move its position on the display and visually uncover at least some of the plurality of user selectable silhouette images; and
detecting, by the server, the selection of at least one of the plurality of user selectable silhouette images representing said aspects, and responsive to the detecting, querying a database for item listings that include at least one of the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

2. The method of claim 1, the method further comprising providing for rendering at the client machine an item listing that includes the at least one of the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

3. The method of claim 1, the method further comprising providing for rendering at the client machine a grayed-out image indicating that no item listing that includes an aspect corresponding to an aspect represented by the grayed out image was found.

4. The method of claim 1, the method further comprising:
detecting the concurrent selection of (1) at least one of the plurality of displayed silhouette images representing said aspects, and (2) at least one element representing a feature selected from the group consisting of: size of the item, brand of the item, price of the item, condition of the item, format of the sale, and seller type, and
responsive to detecting the concurrent selection, searching for images of an item that includes the at least one of the plurality and the at least one selected element.

5. The method of claim 1 wherein aspects represented by the selected at least one of the plurality of user selectable silhouette images are selected from the group consisting of: style, length type, and sleeve type.

6. A non-transitory computer-readable medium having embedded therein a set of instructions which, when executed by one or more processors of the computer causes the computer to execute the operations comprising:
providing a first user selectable silhouette image of an item for rendering on a display at a client machine;
responsive to the selection of the first user selectable silhouette image, providing a plurality of user selectable silhouette images representing aspects of the item for rendering at the client machine, the providing the plurality of user selectable silhouette images performed by providing a signal for the first user selectable silhouette image to move its position on the display and visually uncover at least some of the plurality of user selectable silhouette images; and
detecting the selection of at least one of the plurality of silhouette images representing said aspects and, responsive to the detecting, querying a database for listings that include the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

7. The computer-readable medium of claim 6, the operations further comprising providing for rendering at the client machine an item listing that includes at least one of the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

8. The computer-readable medium of claim 6, the operations further comprising providing for rendering at the client machine one or more grayed-out images indicating that no item listing that includes an aspect corresponding to an aspect represented by the grayed out image was found.

9. The computer-readable medium of claim 6, the operations further comprising:
detecting the concurrent selection of at least one of the plurality of displayed user selectable silhouette images representing said aspects, and at least one element representing a feature selected from the group consisting of: size of the item, brand of the item, price of the item, condition of the item, format of the sale, and seller type, and
responsive to detecting the concurrent selection, searching for images of an item that includes the at least one of the plurality and the at least one selected element.

10. The computer-readable medium of claim of claim 6 wherein the aspects represented by the selected at least one of the plurality of user selectable silhouette images are selected from the group consisting of: style, length type, and sleeve type.

11. An image search system comprising:
one or more processors and storage for storing and executing:
an input module to receive from a client machine signals representative of selection of information, including selection of a first user selectable silhouette image of an item rendered on a display;
an analysis module coupled to the input module and responsive to receiving signals representative of selection of the first user selectable silhouette image, for presenting for display at a client machine a plurality of user selectable silhouette images representing aspects of the item, the presenting for display at a client machine a plurality of user selectable silhouette images performed by providing a signal for the first user selectable silhouette image to move its position on the display and visually uncover at least some of the plurality of user selectable silhouette images, and
a query module coupled to the input module for detecting selection at the client machine of at least one of the plurality of user selectable silhouette images representing said aspects and, responsive to the detecting, querying a database for item listings that include the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

12. The image search system of claim 11, the analysis module, responsive to results from the querying, providing, for rendering at the client machine item, listings that include the aspects represented by the selected at least one of the plurality of user selectable silhouette images.

13. The image search system of claim 11, the analysis module further responsive to the querying not finding item listings that include said aspects providing for rendering at the client machine a grayed-out image indicating that no item listing that includes an aspect corresponding to the aspect represented by the grayed out image was found.

14. The image search system of claim 11 wherein the input module:
receives a signal representative of the concurrent selection at the client machine of (1) at least one of the plurality of displayed user selectable silhouette images representing said aspects, and (2) at least one element representing a feature selected from the group consisting of: size of the item, brand of the item, price of the item, condition of the item, format of the sale, and seller type, and, responsive to receiving the signal, searching for item listings that include said aspects and said at least one selected element.

15. The image search system of claim 11 wherein the aspects represented by the selected at least one of the plurality of user selectable silhouette images are selected from the group consisting of: style, length type, and sleeve type.