SYSTEMS AND METHODS FOR FACILITATING FEED IN A NETWORK-BASED MARKETPLACE
Feeds in a network-based marketplace are described. The system receives a request, over a network, from a user that is associated with feed selection information, and identifies source feeds based on the feed selection information. The source feeds respectively include a first plurality of content elements. The system generates a presentation feed by retrieving a second plurality of content elements from the source feeds. The generating is performed continuously and in real-time. The system segments the presentation feed into pages and generates interfaces that include a first interface based on the pages. The system communicates the first interface, over the network, to the user, responsive to the receiving of the request.
Latest eBay Patents:
This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/931,509, filed on May 13, 2020, which is a continuation of and claims priority to U.S. Pat. No. 10,692,131, issued on Jun. 23, 2020, which is a continuation of and claims priority to U.S. Pat. No. 9,786,001, issued on Oct. 10, 2017, which is a continuation of and claims priority to both of: U.S. Provisional Application No. 61/696,633, filed on Sep. 4, 2012, and U.S. Provisional Application No. 61/798,201, filed on Mar. 15, 2013 all of which are incorporated in their entireties by reference.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings that form a part of this document: Copyright eBay, Inc. 2012, All Rights Reserved.
TECHNICAL FIELDThis disclosure relates to the technical field of data communications. More particularly, systems and methods for facilitating feed in a network-based marketplace.
Embodiments illustrated, by way of example and not limitation, in the figures of the accompanying drawings, in which:
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of some example embodiments. It will be evident, however, to one of ordinary skill in the art that embodiments of the present disclosure may be practiced without these specific details.
A network-based marketplace is a website or a mobile application where a user may buy or sell goods or services (referred to collectively as “items”) from a provider of the online marketplace or other users of the online marketplace. A feed is an aggregation of selected pieces of content provided to the user in a network-based marketplace. The aggregation may appear to the user as a webpage or other graphical user interface. The content may include listings describing items for sale, related articles, reviews of items for sale, reviews of (or other information about) sellers, information about the online marketplace, special offers or discounts available to the user, information about people identified by the user as a “friend” in a social network, or other information determined to be relevant to the user. The content element may be presented as a thumbnail (of one of a plurality of available thumbnail sizes) that is selectable by the user to perform one or more actions such as a detailed view of the content, an option to be provided updates to the content (“watch” the content), an option to be provided further content that is similar to the selected content, to buy an item described by the content, or to share the content with one or more other users via various channels (e.g., email, chat, Facebook, Twitter, Pinterest, etc.).
The social networking web site 7 may be embodied as FACEBOOK® services, a social utility that connects people with friends and others who work, study and live around them provided by Facebook of Palo Alto, California. In one embodiment one or more of the source feeds 29 associated with the user may be identified based on a “friend” of the user. For example, the user may be associated with one or more other users on the network-based marketplace 12 or the social networking web site 7 as a “friend” and the source feed 29 associated with the “friend” may be used to generate the presentation feed 31 of the user.
The mobile device 11 may be embodied as an iPhone mobile phone manufactured by Apple, Inc. of Cupertino, Calif. or, as, a Blackberry™ mobile phone manufactured by Research In Motion of Waterloo, Ontario. The interface 35 that is generated for the mobile 11 device may be different from the interface generated for the client machine 5.
An Application Program Interface (API) server 24 and a web server 26 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 28. The application servers 28 host one or more marketplace applications 30 and payment applications 32. The application servers 28 are, in turn, shown to be coupled to one or more database servers 34 that facilitate access to one or more databases 36.
The marketplace applications 30 may provide a number of marketplace functions and services to users that access the network-based marketplace 12. The payment applications 32 may likewise provide a number of payment services and functions to users. The payment applications 32 may allow users to accumulate value in accounts and then to later redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications 30. The value may be accumulated in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points.” While the marketplace applications 30 and payment applications 32 are shown in
Further, while the networked system 10 shown in
The web client 16 and mobile web client 45 access the various marketplace applications 30 and payment applications 32 via the web interface supported by the web server 26. Similarly, the programmatic client 18 accesses the various services and functions provided by the marketplace applications 30 and payment applications 32 via the programmatic interface provided by the API server 24. The programmatic client 18 may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on the network-based marketplace 12 in an off-line manner, and to perform batch-mode communications between the programmatic client 18 and the network-based marketplace 12.
The mobile device 11 may be embodied as a mobile phone, a personal digital assistant (PDA), a cell phone, or any other wireless device that is capable of communicating with the network-based marketplace 12. For example, the mobile device 11 may be embodied as an iPhone mobile phone manufactured by Apple, Inc. of Cupertino, Calif. or, as previously mentioned, a Blackberry™ mobile phone manufactured by Research In Motion of Waterloo, Ontario.
Marketplace and Payment ApplicationsThe network-based marketplace 12 of
A number of fixed-price applications 44 support fixed-price listing formats (e.g., the traditional classified advertisement-type listing or a catalogue listing) and buyout-type listings. Specifically, buyout-type listings (e.g., including the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.) may be offered in conjunction with auction-format listings and may allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for a fixed-price that is typically higher than the starting price of the auction.
Store application(s) 46 allows a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives and features that are specific and personalized to a relevant seller.
Reputation applications 48 allow users that transact, utilizing the network-based marketplace 12, to establish, build and maintain reputations, which may be made available and published to potential trading partners. Consider that where, for example, the network-based marketplace 12 supports person-to-person trading, users may otherwise have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed. The reputation applications 48 allow a user to establish a reputation within the network-based marketplace 12 over time, for example, through feedback provided by other transaction partners and by the computation of a feedback score based on the feedback. For example, the feedback score may be publicly displayed by the network-based marketplace 12. Other potential trading partners may then reference such a feedback score for the purposes of assessing credibility and trustworthiness.
Personalization applications 50 allow users of the network-based marketplace 12 to personalize various aspects of their interactions with the network-based marketplace 12. For example, a user may, utilizing an appropriate personalization application 50, create a personalized reference page at which information regarding transactions to which the user is (or has been) a party may be viewed. Further, a personalization application 50 may enable a user to personalize listings and other aspects of their interactions with the networked system 10 and other parties.
The networked system 10 may support a number of marketplaces that are customized, for example, for specific geographic regions. A version of the networked system 10 may be customized for the United Kingdom, whereas another version of the networked system 10 may be customized for the United States. Some of these versions may operate as an independent marketplace, or may be customized (or internationalized) presentations of a common underlying marketplace. The networked system 10 may accordingly include a number of internationalization applications 52 that customize information (and/or the presentation of information) by the networked system 10 according to predetermined criteria (e.g., geographic, demographic or marketplace criteria). For example, the internationalization applications 52 may be used to support the customization of information for a number of regional websites that are operated by the networked system 10 and that are accessible via respective servers 24 and 26 both of
Navigation of the network-based marketplace 12 may be facilitated by one or more navigation applications 54. For example, the network-based marketplace 12 may receive search information to search for items on the network-based marketplace and a processing application may process that request. A browse application may allow users to browse various category, catalogue, or inventory data structures according to which listings may be classified within the networked system 10. Various other navigation applications may be provided to supplement the search and browsing applications.
In order to make listings available via the networked system 10 as visually informing and attractive as possible, the marketplace applications 30 may include one or more imaging applications 56 with which users may upload images (e.g., thumbnail images) for inclusion within listings. An imaging application 56 also operates to incorporate images (e.g., thumbnail images) within viewed listings. The imaging applications 56 may also support one or more promotional features, such as image galleries that are presented to potential buyers. For example, sellers may pay an additional fee to have an image included within a gallery of images for promoted items.
Listing creation applications 58 allow sellers to conveniently author listings pertaining to goods or services that they wish to transact via the network-based marketplace 12, while the listing management applications 60 allow sellers to manage such listings. Specifically, where a particular seller has authored and/or published a large number of listings, the management of such listings may present a challenge. The listing creation applications 58 may further facilitate a buyer watching specific listings or specific types of listings. The listing management applications 60 provide a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the seller in managing such listings.
One or more post-listing management applications 62 may also assist sellers with a number of activities that may typically occur post-listing. For example, upon completion of an auction facilitated by one or more auction applications 42, a seller may wish to leave feedback regarding a particular buyer. To this end, a post-listing management application 62 may provide an interface to one or more reputation applications 48, so as to allow the seller conveniently to provide feedback regarding multiple buyers to the reputation applications 48.
Dispute resolution applications 64 provide mechanisms whereby disputes arising between transacting parties may be resolved. For example, the dispute resolution applications 64 may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a third party mediator or arbitrator.
A number of fraud prevention applications 66 implement fraud detection and prevention mechanisms to reduce the occurrence of fraud within the network-based marketplace 12.
Messaging applications 68 are responsible for the generation and delivery of messages to users of the network-based marketplace 12, with such messages, for example, advising users regarding the status of listings at the network-based marketplace 12 (e.g., providing “outbid” notices to bidders during an auction process or to providing promotional and merchandising information to users). Respective messaging applications 68 may utilize any one of a number of message delivery networks and platforms to deliver messages to users. For example, messaging applications 68 may deliver electronic mail (e-mail), instant message (IM), Short Message Service (SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messages via the wired (e.g., the Internet), Plain Old Telephone Service (POTS), or wireless (e.g., mobile, cellular, WiFi (e.g., IEEE 802.11 technologies including 802.11n, 802.11b, 802.11g, and 802.11a)), Worldwide Interoperability for Microwave Access (e.g., WiMAX—IEEE 802.16) networks.
Merchandising applications 70 support various merchandising functions that are made available to sellers to enable sellers to increase sales via the network-based marketplace 12. The merchandising applications 70 also operate the various merchandising features that may be invoked by sellers and may monitor and track the success of merchandising strategies employed by sellers. In addition, the user may utilize the transaction incentivizing applications 72 to select one or more criterion that may be used to generate a social goodness index that is used to generate a badge.
The Feed Applications 74 may facilitate feed in the network-based marketplace as described throughout this document. The Feed Applications 74 may include the receive module 21, process module 23 and communication module 25.
Data StructuresThe tables 200 also include an items table 204 in which item records (e.g., listings) are maintained for goods and services that are available to be, or have been, transacted via the network-based marketplace 12. Item records (e.g., listings) within the items table 204 may furthermore be linked to one or more user records within the user table 202, so as to associate a seller and one or more actual or potential buyers with an item record (e.g., listing).
A transaction table 206 may contain a record for each transaction (e.g., a purchase or sale transaction or auction) pertaining to items for which records exist within the items table 204.
An order table 208 may be populated with order records, with each order record being associated with an order. Each order, in turn, may be associated with one or more transactions for which records exist within the transaction table 206.
Bid records within a bids table 210 may relate to a bid received at the network-based marketplace 12 in connection with an auction-format listing supported by an auction application 42 of
A search table 218 may store search information that has been entered by a user (e.g., buyer) who is looking for a specific type of listing. A customization table 220 may store customization information for incentivizing transactions that enhance social goodness.
A feed table 27 may facilitate the generation and presentation of a real time continuously generated feed in the network-based marketplace 12.
The remote source feeds 408 may include remote feed identifiers that identify content elements 15 and other information for retrieval from a remote server. For example, the remote source feed 408 may include remote feed identifiers that are utilized to identify source feeds 29, content elements 15 and the third party server machines 41 (e.g., social networking web site) where the source feeds 29 and the content elements 15 are located. In another instance, the remote feed identifiers may identify source feeds 29, content elements 15 and the third party server machines 41 (e.g., social networking web site) where the source feeds 29 and the content elements 15 are located at the third party server machines 41 based on a “friend” status that is shared by the user and another user.
The local source feeds 409 may include content elements 15 that are generated based on information that is related to the network-based marketplace 12. For example, the local source feeds 409 may include content elements 15 that are generated based on service announcements and business announcements that are authored by the network-based marketplace 12.
The others source feed 411 may include content elements 15 that were generated based on the identity of other users. In one instance the content elements 15 may be generated based on one or more selections that were received from the other user by the network-based marketplace 12. In another instance the content elements 15 may be generated based on the present location of the other user. In another instance the content elements 15 may be generated based on an inventory that is identified by the other user (e.g., a collection of listings 300).
The content selection information 322 may be used to identify content elements 15. In one instance the content selection information 322 may be used to identify content elements 15 for retrieval from one or more source feeds 29. In another instance the content selection information 322 may be used to identify content elements 15 for retrieval from a source other than the source feeds 29. The content selection information 322 may include user filtering information 330, user progression information 332, user preference information 334, user friend information 336, user location information 338, user selling information 340, user purchasing information 342, user search information 344, and interests 226. The user filtering information 330 may be utilized to filter content elements 15. For example, the user may be provided an option to exclude content elements 15 from the presentation feed 31. In one instance the user may provide keywords that are received by the network-based marketplace 12 and used to exclude matching content elements 15 from the presentation feed 31. In one instance, the keywords may be conceptualized. For example, the keywords “Batman Returns DVD” (in category “movies”) may be conceptualized to “Batman” and used to filter content elements 15 that describe items related to “Batman” (in other categories such as “Toys”, “Clothing”, etc.) from the presentation feed 31. Further, the content element 15 may be excluded from the presentation feed 31 based on user behaviour that is detected by the network-based marketplace 12. For example, if a user only buys items made in the USA, the presentation feed 31 may be filtered to only include those items. Further, if a user avoids a certain brand of items then that brand of items may be removed from the presentation feed 31. Further, content elements 15 may be filtered based on an amount of money available in a financial account of the user such as banking account or a PayPal account. For example, content items 15 that are generated from listings 300 of items that include a price or a minimum bid above that amount of money available in the financial account of the user may be filtered. The user progression information 332 may be utilized to identify content elements 15 in the source feeds 29 based on a progression of an entity that is associated with the user. An entity may include a person, place or a thing. A progression of a person may include the selection of content elements 15 that are age appropriate for the person (e.g., baby, teenager, adult, etc.). A progression of a place may include the selection of content elements 15 that are appropriate for the passing of time associated with the place. For example, content elements 15 may be selected based on a season (e.g., Winter, Spring, Summer, Fall) in association with places including parks, theatres, and performing forums. A progression of a thing may include the selection of content elements 15 that are appropriate for the passing of time associated with the thing. For example, the content element 15 may be selected based on the present date and the maintenance schedule for a car, appliance, or bill payment.
The user preference information 334 may be utilized to identify content elements 15 based on preferences that are indicated by the user. In one instance the user preference information 334 may be utilized to identify content elements 15 in the source feeds 29 based on preferences that are received by the network-based marketplace 12 from the user. In one instance the user may express the preference in the form of keywords that are received by the network-based marketplace 12. In one embodiment, the keywords may be conceptualized to identify additional content elements 15. For example, the keywords “Oz DVD” (in category “movies”) may be conceptualized to “Oz” and used to add content elements 15 related to “Oz” (in other categories such as “Toys”, “Clothing”, etc.) to the presentation feed 31. Further, additional weight may be given to content elements 15 that relate to items that the user repeatedly interacts with or purchases on the network-based marketplace 12. The user friend information 336 may be utilized to identify content elements 15 based on a “friend” of the user on the network-based marketplace 12 or a third party server machine 41 (e.g., social networking web site). The user location information 338 may be utilized to identify content elements 15 based on the present location of the user. For example, the network- based marketplace 12 may identify content elements 15 in one or more source feeds 29 that describe items for sale by bricks and mortar stores based on the location of the user. Further, the selection of content elements 15 based on the location of the user may further be refined based on the time of day or local weather. The user selling information 340 may be utilized to identify content elements 15 in the source feeds 29 based on the selling patterns of the user. For example, a user who sells a quantity of a type of item over a predetermined threshold may trigger an identification of content elements 15 that describe or are related to the type of item. The user purchasing information 342 may be utilized to identify content element 15 based on the purchasing patterns of the user. For example, a user who buys a quantity of a type of items over a predetermined threshold may trigger an identification of content elements 15 in source feeds 29 based on the type of items. The user search information 344 may be utilized to identify content elements 15 based on the searches entered by the user and received by the network-based marketplace 12.
At the network-based marketplace 12, at operation 454, the receive module 21 may receive the request and associated the request with a user identifier. At operation 456 the process module 23 may identify source feeds 29 and content elements 15 in the source feeds. For example, the process module 23 may utilize the user identifier to identify user information 318 in the user table 202 that includes the feed selection information 320 and the content selection information 322. Next the process module 23 may utilize the feed selection information 320 to identify source feeds 29.
At operation 458, the process module 23 may generate the presentation feed 31 based on the source feeds 458 and the content selection information 320. For example, the process module 23 may identify the content elements 15 in the source feeds 29 based on the content selection information 322 and add the content elements 15 that were identified to the presentation feed 31. Further, the process module 23 may identify content elements 15 that are not in a source feed 29 based on the content selection information 320 and add the content elements 15 that were identified to the presentation feed 31. At operation 460 the process module 23 may segment the presentation feed into pages 33. For example, the pages 33 may correspond to a quantity of content elements 15 that may be displayed on a single screen of a device (e.g., desktop monitor, mobile device, etc.) At operation 462, the process module 23 may generate interfaces 35 based on the pages 33. For example, the process module 23 may generate a user interface including user interface elements or a machine interface based on machine interface elements. At operation 464, the process module 23 may set a timeout. At operation 468, the communication module 25 may communicate the interface 35 (e.g., user interface) over the network 14 to the client machine 19.
At the client machine 19, at operation 470, the client machine 19 may receive and display the interface 35. At operations 472 and 474, the client machine 19 may receive a prompt from the user for the next interface 35 of content element 15 and communicate the prompt to the network-based marketplace 12.
At the network-based marketplace 12, at operation 468, the communication module 25 may communicate the next interface 35 (e.g., user interface) to the client machine 19.
At operation “A,” responsive to the expiration of the timeout, the operations 458, 460, 462 and 464 are performed again. In this manner the presentation feed 31 is continuously generated in real-time until the process is interrupted. For example, the presentation feed 31 may operate as a continuously generated first-in, first-out buffer until the user interrupts the process.
At the network-based marketplace 12, at operation 484, the receive module 21 may receive the request from the user. At operation 486 the process module 23 may add or remove the interest 226 for the user. For example, the process module 23 may identify the appropriate user information 318 based on the user identifier and add the interest 226 to the feed selection information 320 and the content selection information 322 based on a command that adds the interest or remove the interest 226 from the feed selection information 320 and the content selection information 322 based on a command that removes the interest.
The “My Feed” interface 602 facilitates the presentation of content elements 15 to the user and may be configured by the user. The “My Feed” interface 602 corresponds to the “My Feed” user interface 500 in
The user may interact with the content elements 15 that were generated from listings 300 on the “My Feed” interface 602. Responsive to a hover over of a content element 15 that was generated from a listing 300, the user may be presented with selectable actions to: (A) watch an item that is described by a listing 300, or (B) remove an item that is described by a listing 300. Responsive to the user selecting the title 420 or image 422 of a content element 15 that was generated from a listing 300 the user may be presented with a single item in the “Viewed” interface 616 that provides additional details about the item. Responsive to the user selecting the feed name 532 the user is presented with the “Sub Feed” interface 610.
The “My Feed” interface 602 may be infinitely scrolled, meaning that as the user scrolls down the interface 602, the process module 23 continues to retrieve content elements 15 from the source feeds 29 and generate the presentation feed 31. Further, the network-based marketplace 12 may continuously identify items that are described by listings 300 that are presently becoming available (e.g., new listing, new offer for sale, etc.) and that match the feed selection information 320 and the content selection information 322 associated with the user. Responsive to an identification of content elements 15 that are new, a “new discoveries” interface element may be displayed on the top of the “My Feed” interface 602 with a count of the newly matching items that are now available for the user to view in the “My Feed” interface 602. Selection of the interface element may move the user to the top of the “My Feed” interface 602 where the new items are displayed in the form of content elements 15 that are faded to facilitate detection by the user.
“What's Popular”The “What's Popular” interface 608 may include content elements 15 that are identified as popular on the network-based marketplace 12. The “What's Popular” interface 608 may be generated with the method 450, as illustrated in
The user may interact with the content elements 15 on the “What's Popular” interface 608. Responsive to a hover over of a content element 15 that was generated from a listing 300, the user may be presented with selectable actions to: (A) watch an item that is described by a listing 300, or (B) remove an item that is described by a listing 300. Responsive to the user selecting the title 420 or image 422 of a content element 15 that was generated from a listing 300 the user may be presented with a single item in the “Viewed” interface 616 that provides additional details about the item. Responsive to the user selecting the feed name 532 the user is presented with the “Sub Feed” interface 610.
The “What's Popular” interface 608 may be infinitely scrolled, as described above responsive to identifying the user has already created a feed (e.g., My Feed). Otherwise, the “What's Popular” interface 608 may be blocked at a bottom where the user is prompted to create their own feed.
“Recently Viewed”The “Recently Viewed” interface 604 includes content elements 15 that depict listings 300 of items the user has recently viewed in previous sessions. The “Recently Viewed” interface 604 may be generated with the method 450, as illustrated in
The “Watched” interface 606 may include content elements 15 that depict listings 300 of items the user has added to their watch list. The “Watched” interface 606 may be generated with the method 450, as illustrated in
The “Edit My Feed” interface 612 facilitates the monitoring, addition and removal of interests 226. For example, the “Edit My Feed” interface 612 may present multiple interests 226 that are presently being followed by the user. The user may elect to remove the interest 226 or do nothing and continue to follow the interest. In another instance, the user may enter keywords that may be received by the receive module 21 and the process module 23 may associate the keyword to interests 226 that are identified as added (e.g. being followed). In another instance the user may connect with a third party application 43 on a third party server machine 41 (e.g., Facebook, Pinterest, etc.) to retrieve interests 226 for following by the user. For example, the user may login to the third party server machine 41 and request the third party application 43 on the third party server machine 41 to “share” the interests 226 of the user with the network-based marketplace 12 or to “share” the interests 226 of a “friend” of the user with the network-based marketplace 12. The interests 226 that area added with the “Edit My Feed” interface 612 may be stored as feed selection information 320 and content selection information 322.
“Sub-Feed”The “Sub-Feed” interface 610 includes content elements 15 from one source feed 29. The “Sub-Feed” interface 610 is generated with the method 450, as illustrated in
The “On-Boarding” interfaces 614 facilitate a user to initially configure presentation feed 31 (e.g., “My Feed”). The “On-Boarding” interfaces 614 may enable the network-based marketplace 12 to receive selections from the user that identify source feeds 29 and interests 226. In one instance the network-based marketplace 12 may suggest source feeds 29 to the user based on searches that have been entered by the user and searches that have been saved by the user. In another instance the network-based marketplace 12 may communicate an input box in which the user may enter keywords that are received by the network-based marketplace 12 and associated with interests 226 that the user may then select by selecting a “Follow” interface element that is associated with the user. In one instance the user must select a minimum number of source feeds 29 before the users feed is configured. In another instance the user may connect with a third party application 43 on a third party server machine 41 (e.g., Facebook, Pinterest, etc.) to retrieve interests 226 that may then be selected for following. For example, the user may login to the third party server machine 41 and request the third party application 43 on the third party server machine 41 to “share” the interests of the user with the network-based marketplace 12.
“Viewed”The “Viewed” interface 616 may include a single content element 15 that depicts a listing 300. The “Viewed” interface 616 may be entered by selecting the title 420 or the image 422 of a content element 15 of a listing 300 from any of the above identified interfaces 35. The “Viewed” interface 616 may provide additional information for the item. For example, the “Viewed” interface 616 may enable the user to purchase the item or enter a bid that wins an auction. In one instance the “Viewed” interface 616 may enable the user to share the item with third party application 43 on a third party server machine 41 (e.g., Facebook, Pinterest, Twitter, email, etc.).
Other InterfacesThe term “interface 35,” as used in this document, may include the “Edit My Feed” interface 612, the “Sub-Feed” interface 610, the “Recently Viewed” interface 604, the “Watched” interface 606, the “My Feed” interface 602, the “What's Popular” interface 608, the “On-Boarding” interface 614 and the “Viewed” interface 616. It will be appreciated by one having ordinary skill in the art that the term “interface 35” may also include other types of interfaces including more specialized interfaces. Accordingly, the functionality that is enabled by the above described interfaces 602, 604, 606, 608, 610, 612, 614 and 616 may be embodied as a user interface including user interface elements, a machine interface including machine interface elements, an audio interface including audio interface elements, a kinetic interface including kinetic interface elements, and other types of interfaces 35.
The follow panel 752 may include multiple interest elements 770 that describe interests 226. Each interest element 758 may include an image 760, a title 762, and a user interface element 764 bearing the status “Following,” indicating the interest 226 is presently being followed by the user. The user may stop following the interest 226. For example, the user may select the user interface element 764 causing the status to change to “Unfollow,” as illustrated in the interest element 758 for “Vintage Films” on the bottom left of the follow panel 752. Responsive to the user selecting the user interface element 764, the receive module 21 may receive an interest identifier and the process module 23 may remove the interest 226 from the feed selection information 320 and the content selection information 322.
The search panel 754 may include an input box 766 and a user interface element 768. Responsive to the user selecting the user interface element 768, the receive module 21 may receive the keywords that were entered into the input box 766 by the user, the process module 23 may identify interests 226 based on the keywords, and the process module 23 may store the interests 226 as feed selection information 320 and content selection information 322. The suggestion panel 756 may include multiple suggestion elements 770. Each suggestion element 770 may include an image, a title, and a user interface element 774 with the status “Follow” indicating the interest 226 is presently not being followed by the user. The user may select the user interface element 774 to start following the interest. Responsive to the user selecting the user interface element 774, the receive module 21 may receive an interest identifier that is associated with the particular user interface element 774 and the process module 23 may add the interest 226 to the feed selection information 320 and the content selection information 322.
MODULES, COMPONENTS AND LOGICCertain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiples of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connects the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
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 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).)
ELECTRONIC APPARATUS AND SYSTEMExample embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
EXAMPLE MACHINE ARCHITECTURE AND MACHINE-READABLE MEDIUMThe example computer system 1100 includes a processor 1102 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1104 and a static memory 1106, which communicate with each other via a bus 1108. The computer system 1100 may further include a video display unit 1110 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1100 also includes an alphanumeric input device 1112 (e.g., a keyboard), a user interface (UI) navigation device 1114 (e.g., a mouse), a disk drive unit 1116, a signal generation device 1118 (e.g., a speaker) and a network interface device 1120.
MACHINE-READABLE MEDIUMThe drive unit 1116 includes a machine-readable medium 1122 on which is stored one or more sets of instructions and data structures (e.g., software) 1124 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 1124 may also reside, completely or at least partially, within the main memory 1104 and/or within the processor 1102 during execution thereof by the computer system 1100, the main memory 1104 and the processor 1102 also constituting machine-readable media. Instructions may also reside within the static memory 1106.
While the machine-readable medium 1122 is shown 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 or data structures. 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., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (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.
TRANSMISSION MEDIUMThe instructions 1124 may further be transmitted or received over a communications network 1126 using a transmission medium. The instructions 1124 may be transmitted using the network interface device 1120 and 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., WiFi 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 media 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.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of ordinary skill in the art upon reviewing the above description. 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. The figures provided herein are merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Thus, feed in a network-based marketplace were disclosed. While the present disclosure has been described in terms of several example embodiments, those of ordinary skill in the art will recognize that the present disclosure is not limited to the embodiments described, but may be practiced with modification and alteration within the spirit and scope of the appended claims. The description herein is thus to be regarded as illustrative instead of limiting.
Claims
1. A method comprising:
- causing a client machine to render a first user interface that displays a plurality of suggested interests;
- receiving, from the client machine over a network, a request associated with a user indicating to follow an interest of the plurality of suggested interests;
- identifying, based on information associated with the user, a plurality of interests that are indicated as followed by the user, the plurality of interests including the interest indicated by the request; and
- causing the client machine to render a second user interface that displays a plurality of interest elements, each interest element representing a respective interest of the plurality of interests and including a user interface element that is selectable to unfollow the respective interest.
2. The method as recited in claim 1, wherein the plurality of suggested interests are selected for inclusion in the first user interface based on at least one of searches previously entered by the user or searches previously saved by the user.
3. The method as recited in claim 1, wherein each interest element includes a title of the respective interest, an image associated with the respective interest, and the user interface element that is selectable to unfollow the respective interest.
4. The method as recited in claim 1, further comprising:
- receiving user input comprising text entered into an input box displayed in the second user interface; and
- identifying at least one additional interest based on the text.
5. The method as recited in claim 4, further comprising adding the at least one additional interest to the plurality of interests followed by the user.
6. The method as recited in claim 1, wherein each respective suggested interest displayed in the first user interface includes a user interface element selectable to follow the respective suggested interest.
7. The method as recited in claim 6, wherein receiving the request to follow the interest includes receiving user input to select the user interface element associated with the interest.
8. The method as recited in claim 1, wherein the plurality of suggested interests are interests of the user retrieved from a server associated with a third-party application.
9. The method as recited in claim 1, wherein the second user interface further includes at least one suggestion element representing an additional interest that is not followed by the user, the at least one suggestion element including a title of the additional interest, an image associated with the additional interest, and a user interface element that is selectable to follow the additional interest.
10. A system comprising:
- at least one processor; and
- at least one computer storage media storing instructions that are executable by the at least one processor to: cause a client machine to render a first user interface that displays a plurality of suggested interests; receive, from the client machine over a network, a request associated with a user indicating to follow an interest of the plurality of suggested interests; identify, based on information associated with the user, a plurality of interests that are indicated as followed by the user, the plurality of interests including the interest indicated by the request; and cause the client machine to render a second user interface that displays a plurality of interest elements, each interest element representing a respective interest of the plurality of interests and including a user interface element that is selectable to unfollow the respective interest.
11. The system as recited in claim 10, wherein the plurality of suggested interests are selected for inclusion in the first user interface based on at least one of searches previously entered by the user or searches previously saved by the user.
12. The system as recited in claim 10, wherein each interest element includes a title of the respective interest, an image associated with the respective interest, and the user interface element that is selectable to unfollow the respective interest.
13. The system as recited in claim 10, wherein the instructions are further executable by the at least one processor to:
- receive user input comprising text entered into an input box displayed in the second user interface; and
- identify at least one additional interest based on the text.
14. The system as recited in claim 13, wherein the instructions are further executable by the at least one processor to add the at least one additional interest to the plurality of interests followed by the user.
15. The system as recited in claim 10, wherein each respective suggested interest displayed in the first user interface includes a user interface element selectable to follow the respective suggested interest.
16. The system as recited in claim 15, wherein the request to follow the interest is received as user input to select the user interface element associated with the interest.
17. The system as recited in claim 10, wherein the plurality of suggested interests are interests of the user retrieved from a server associated with a third-party application.
18. The system as recited in claim 10, wherein the second user interface further includes at least one suggestion element representing an additional interest that is not followed by the user, the at least one suggestion element including a title of the additional interest, an image associated with the additional interest, and a user interface element that is selectable to follow the additional interest.
19. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more hardware processors of a machine, cause the machine to perform operations comprising:
- causing a client machine to render a first user interface that displays a plurality of suggested interests;
- receiving, from the client machine over a network, a request associated with a user indicating to follow an interest of the plurality of suggested interests;
- identifying, based on information associated with the user, a plurality of interests that are indicated as followed by the user, the plurality of interests including the interest indicated by the request; and
- causing the client machine to render a second user interface that displays a plurality of interest elements, each interest element representing a respective interest of the plurality of interests and including a title of the respective interest, an image associated with the respective interest, and a user interface element that is selectable to unfollow the respective interest.
20. The non-transitory computer-readable storage medium of claim 19, wherein the user interface element further includes a status indicating whether the respective interest is being followed, the status changing responsive to receiving user input to select the user interface element.
Type: Application
Filed: Mar 23, 2022
Publication Date: Jul 7, 2022
Applicant: eBay Inc. (San Jose, CA)
Inventors: Jack Philip Abraham (Palo Alto, CA), Andrew David Palmer (Campbell, CA), Jeffrey Tyson (San Jose, CA), Christina Mercando (Brooklyn, NY), Jason Kotenko (San Jose, CA), Benjamin Gleitzman (Alameda, CA), Kyle Lee (San Jose, CA)
Application Number: 17/702,138