Applications available on the Internet have progressed from facilitating a medium of information delivery to a venue for sales and, more recently, to a platform for social networking. An online marketplace such as eBay.com® is an example of an online seller. Similarly, Facebook.com® and twitter.com® are examples of social networking.
The subject matter disclosed herein generally relates to the processing of data. Specifically, the present disclosure addresses systems and methods of providing content generated by a user of a networked publication system for transmission to a social network platform.
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
In the figures, the same or similar references have been used to indicate the same or similar features unless otherwise indicated.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide embodiments of the subject matter set forth in the present disclosure. It will be evident, however, to one skilled in the art that the present disclosure may be practiced without these specific details.
Content may be provided over a network from a first server to a second server. The first server may be, e.g., a web server, a database server, or a listing server. For example, a network-based publication system may include a first web server that provides content over a network to the second web server. Specifically, the second server may be a third-party social network server that provides a social networking service (e.g., Facebook®) to millions of users and provides social network data. Herein, the use of “Facebook” could as easily be Twitter® or any other social network service.
Each of the first server and second server may provide the content to one or more client machines, which client machines may be the same client machine or a different client machine.
A client machine may be a computer, a mobile device, or other machine functioning, temporarily or permanently, as a client in relation to the content machine. For example, the client machine may, as indicated above, have a user. The user may be a human user or a machine-implemented user (e.g., software executing on the client machine). The content provided by the social network server may be presented to a client machine and thence to the user by the client machine. Other couplings between these or similar servers and one or more client machines may be used.
Turning specifically to the network-based social platform 13, an application program interface (API) server 25 and a web server 27 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 29. The application servers 29 may host one or more social applications 31 and a network-based marketplace interface module 33 that communicates with a communication module 39 and a processing module 41. The application servers 29 are, in turn, shown to be coupled to one or more database server(s) 35 that facilitate access to one or more database(s) 37.
The social applications 31 provide a number of social networking functions and services to users that access the network-based social platform 13. For example, the social applications 31 may enable a user to store information in a profile that may be viewed at the client machines 20, 22 and to selectively grant access to information that appears on the profile to other users who may also view the profile at their client machines 20, 22. The social applications 31 may provide criteria that may be employed by a user to grant various levels of access to various levels of users. For example, a first user may access profile information associated with a second user responsive to the first user achieving the status of “friend” in relation to a second user. A user may achieve the status of friend by accepting an invitation from another user or by sending a request to a user that subsequently grants the request.
The social applications 31 may further enable third-party service providers to add “applications” on the network-based social platform 13 that are utilized by users to interact with other users. For example, a network-based marketplace application may be added by a third-party service provider in the form of the network-based marketplace interface module 33, the communication module 39, and the processing module 41 that may provide market application services in the network-based social platform 13 environment and may communicate with the network-based marketplace 12.
In one embodiment, a request related to the marketplace application may be generally processed as follows. The request may originate at the client machines 20, 22 that communicate the request via programmatic or web interface services 25, 27 to the social applications 31 that, in turn, communicate the request to the network-based marketplace interface module 33 that, in turn, communicates the request to the communication module 39 and processing module 41 that process the request. Conversely, the communication module 39 and processing module 41 may respond to the social applications 31 via the network-based marketplace interface module 33. In some instances processing of the request may require communication with the network-based marketplace 12. In such instances the communication module 39 or the processing module 41 may communicate via the API server 25 with the network-based marketplace 12.
The network-based social platform 13 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, Calif. Another embodiment for the network-based social platform may be TWITTER® services, which is also a social utility, provided by Twitter of San Francisco, Calif.
The web client 16, it will be appreciated, in one embodiment accesses the various social applications 31 via the web interface supported by the web server 27. Similarly, the programmatic client 18 in one embodiment accesses the various services and functions provided by the social applications 31 via the programmatic interface provided by the API server 25.
Turning to the network-based marketplace 12, 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 server(s) 35 that facilitate access to one or more databases 36.
The marketplace applications 30 provide a number of marketplace functions and services to users that access the network-based marketplace 12. The payment applications 32 likewise provide a number of payment services and functions to users. The payment applications 32 may allow users to quantify for, and accumulate, value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications 30. While the marketplace and payment applications 30 and 32, respectively, are shown in
Further, while the system 100 shown in
The web client 16, it will be appreciated, accesses the various marketplace and payment applications 30 and 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 and payment applications 30 and 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 of items 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.
It will be appreciated that the marketplace applications 30, payment applications 32, social applications 31, the network-based marketplace interface module 33, the communication module 39 and the processing module 41 may execute on a single platform. Accordingly, in one embodiment, the aforementioned applications/modules may execute on the network-based marketplace 12 and in another embodiment the aforementioned applications/module may execute on the network-based social platform 13.
The news feed applications 47 publish events associated with the user and friends of the user on the network-based social platform 13. The news feed applications 47 may publish the events on the user profile of a user. For example, the news feed applications 47 may publish the uploading of a photo album by one user on the user profile of the user and the user profiles of friends of the user.
The profile applications 49 may maintain user profiles for each of the users on the network-based social platform 13. Further, the profile applications 49 may enable a user to restrict access to selected parts of their profile to prevent viewing by other users. The note applications 51 may be used to author notes that may be published on various user interfaces.
The forum applications 53 may maintain a forum for users to post comments and display the forum via the profile associated with a user. The user may add comments to the forum, remove comments from the forum and restrict visibility to other users. In addition, other users may post comments to the forum.
The search applications 55 may enable a user to perform a keyword search for users, groups, and events. In addition, the search applications 55 may enable a user to search for content (e.g. favorite movies) on profiles accessible to the user.
The relationship applications 57 may maintain relationship information for the users. The network applications 59 may facilitate the addition of social networks by a user, the social networks based on a school, workplace, or region or any social construct for which the user may prove an affiliation. The communication applications 61 may process incoming and outgoing messages, maintain an inbox for each user, facilitate sharing of content, facilitate interaction among friends (e.g., poking), process requests, process events, process group invitations and process communicating notifications.
The account applications 63 may provide services to facilitate registering, updating, and deleting user accounts. The photo applications 65 may provide services to upload photographs, arrange photographs, set privacy options for albums and tag photographs with text strings. The event applications 67 may provide services to create events, review upcoming events, and review past events. The group applications 69 may be used to maintain group information, display group information, and navigate to groups.
Turning to
The signal generation module 77 may provide a rendering signal for rendering at least the content of the received signal. This rendering signal may be transmitted by transmission module 79 via network 14 to a social network, not shown. Alternatively, instead of transmitting signals via the network to a social network server, the transmission module 79 may transmit the signals, either via the network 14 or internally to the network-based marketplace 12, to a social platform integrated within a network-based marketplace 12. Further, the signals from signal generation module 77 may include signals such as signals requesting a user of the social network for an opinion about the content, or for chat, questions, or additional suggestions for items of content, among other things, as more fully discussed below. The foregoing may be termed “commentary” or “poll commentary” at various places herein. Such commentary may include one, or any combination of, the foregoing.
A publication system user (the publication system sometimes being an ecommerce marketplace (for example, eBay®)), or a person accessing or browsing anywhere on the Internet, may share purchases or prospective purchases with friends on a social networking platform (e.g., Facebook.com or a platform integration within an ecommerce marketplace or other publication system). An electronic marketplace can be referred to as an ecommerce marketplace. These clothes, and other items similarly shared with friends as discussed herein, may be termed “commercial items,” or simply “items.” For example, within the ecommerce marketplace shopping flow, the user may be provided with the ability to post her transaction involving a commercial item to a social network wall. This wall concept is sometimes referred to herein as “storage space,” and could include renderable or viewable storage space. The user may tag a post with friends so that it shows up in their social graph(s). The post may include a picture and certain item information. Further, the friend may be provided with a user selectable “See Similar” function to see similar pictures and item information. For example, there is a “See Similar” function, such as “More Like This,” on eBay's fashion page. Typically the selection button for such function may be located adjacent to the item listing, or adjacent the item's photo, as a link. It could also be added as a contextual pop-up. The shared post may include a selection like “commentable” or “likeable.” These cases describe interactions that may feed into the social network, for example, Facebook. “Commentable” means that the marketplace user may share a particular product or item with his or her social graph via the Facebook Wall and include a comment along with it. “Likeable” means a Facebook user may provide a Facebook thumbs up if he or she likes the product or item. A social network user may also be able to provide a thumbs down if he or she doesn't like the product or item.
An ecommerce marketplace user may solicit the opinions of friends before buying an item on an ecommerce marketplace. To do this, the user may push an item to a social networking platform in the form of a poll. Other uses of social networks for shopping, or shopping information, may also be used.
For example, an ecommerce marketplace user, used here as an example a party named Emily, may hear about the ability of eBay to work with social networks. Accordingly, she may log in to eBay, by a browser plug-in or otherwise, and navigate to the screen seen in
Moving on to
Continuing, while shopping on an e-commerce site such as eBay, Emily may drag and drop items (i.e. images of products) to place holder storage areas of her Stash Tray so she can revisit them later. As an example, Emily may have previously stored the two dresses, which she might like to wear to a wedding, in the place holders of the Stash Tray. She may select them as at 509, 511 of
Also on
Turning to
Assuming, for example, that Emily does not see any items on her Stash Tray 502, or elsewhere, that she would like to add as Option C, she may then select the user interface element “Send” 718 on
Jessica, as a participant, who may be a non-eBay user, and a non-Stash Tray user, receives a message about the poll from Emily, as an organizer, via eBay in Jessica's Facebook inbox as seen in
In order to get additional information Jessica may, by chatting or other communication, as at 1001, ask for information such as, whether the wedding is day or night, at the beach, at a banquet hall, and the like. This is seen at 1010. Other users such as other friends participating in the poll, herein also called “participants,” such as Missy D at 1012 may reply, as may Emily as at 1014 where she may provide answers such as “It starts at 6 p.m., at a nice private club, with a beach view.” Each of the parties may also ask additional questions as at 1012 to help them in their opinion.
At 1016, Jessica may then add a Milly dress to the poll. This illustrates the fact that not only can the originator, here Emily, add items to the poll, but friends, here Jessica, can also add items for the poll. This may be seen in
With continued reference to
In addition, the submit button 714, or some other selectable signal, may send the new poll, which includes the Milly dress of Option C at 708, to the other participants participating in the poll. The new poll sent to the other friends may include the similar items 716-724. At some appropriate time during the poll, each of the friends may vote using one of the voting buttons under the appropriate option. In addition to voting, the poll voters may themselves purchase any of the items in Option A through Option C or items 716-724 from eBay by selecting the item to enable the browser of the individual voter to present an appropriate web page from eBay to that individual.
At an appropriate time, Emily may activate her Stash Tray 502, as seen in
The originator, here, Emily, may hover her curser over the winning dress at 1230 and a layer may appear that has the names of her friends and fellow eBay users who voted for it. This is an example of social influence. The poll may be published on eBay as well as on the social network such as Facebook so that all poll voters may take part in all aspects discussed above.
The originator, Emily, may decide to end the poll and buy the winning dress that participant Jessica suggested. This may be done, for example, by clicking on the item, here 1230, at which point Emily's browser may be presented with a landing page on eBay to view the item and purchase the dress. Further, Jessica, and other voters, may receive a notification on Facebook or other communication platforms that Emily has ended the poll. Jessica and other participants may be provided, through a link in her inbox, with a way to access the poll landing page of
Turning now to
As one example, the photograph may have been found on the Internet by browsing, and the originator may like the clothes or the accessories seen in the photograph. The originator might desire to learn the brand, size, and the like, and therefore puts the photograph into the Stash Tray of
In another embodiment, the participant's Facebook message may be similar to that of
Referring to
The foregoing description illustrates a user of an ecommerce site, here the originator, as one example, shopping socially with people, such as the participants, who have a common interest with the user. The interest may be, as one example, shopping for fashion items on the eBay site. The participants may be friends on Facebook, or may be a following on Twitter. The user-originator may decide to shop with participants because the originator likes the styles suggested by the participants. The social shopping described may even be accomplished anonymously by creating polls, and the like, for groups who shop on Fashion pages on eBay. Opt-in for such anonymous shopping may be provided, and polls, chats, votes, and the like, can be communicated by email, chat, SMS, or other types of communication to participants who opt-in.
Flowcharts of example embodiments are seen in
At decision operation 2031 of
The system may, as at 2035, test to determine whether the user-organizer has created a poll with respect to the stored item content and entered poll questions as discussed with respect to
If a participant at a client machine selects the poll in order to view it, as discussed with respect to
A new poll may also be created, if desired, which includes the new item added by the participant as discussed at operation 2051, above, and/or the items resulting from the “More Like This” type of search. The system may test for this new poll at a testing operation (now shown). Whether a new poll is created or not the system may transmit poll results, either the results of the original poll for the items from the originator, or the results of the new poll, if any, with the items from the originator and the new item(s) from the participant. These results may be transmitted as at 2063 as shown on
Certain 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 on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is 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 hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware 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 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 may be appreciated that the decision to implement a hardware 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 module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware 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 module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware 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).)
Example 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.
The example computer system 300 includes a processor 302 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 304 and a static memory 306, which communicate with each other via a bus 308. The computer system 300 may further include a video display unit 310 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 300 also includes an alphanumeric input device 312 (e.g., a keyboard), a user interface (UI) navigation device 314 (e.g., a mouse), a disk drive unit 316, a signal generation device 318 (e.g., a speaker) and a network interface device 320.
The disk drive unit 316 includes a machine-readable medium 322 on which is stored one or more sets of data structures and instructions 324 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 324 may also reside, completely or at least partially, within the main memory 304, static memory 306, and/or within the processor 302 during execution thereof by the computer system 300, the main memory 304 and the processor 302 also constituting machine-readable media.
While the machine-readable medium 322 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 324 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 described implementations, 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.
The instructions 324 may further be transmitted or received over a communications network 326 using a transmission medium. The instructions 324 may be transmitted using the network interface device 320 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.
This present application claims the priority benefits of U.S. Provisional Application No. 61/561,083 filed on Nov. 17, 2011, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61561083 | Nov 2011 | US |