Embodiments of the present invention relate to the field of video and audio delivery services and, more particularly, to an event ticket marketplace including a related video and/or audio presentation.
On the Internet, event ticket websites and applications allow users to search, view, and purchase tickets to an event. Such event ticket websites and applications typically allow the user to search for event information based on a location or geographic area (e.g., a zip code) and/or a date or event time frame. In identifying one or more events of interest, the user is typically provided with basic information regarding the event, such as, for example, the artist's name, venue information, and basic event information (e.g., date and time of the event). In some instances, a Uniform Resource Locator (URL) link to separate websites associated with the artist or the event is provided which the user can select in order to obtain more information about the artist or event.
Many ticket brokering websites and applications provide potential event and ticket customers with suggested event listings to advertise various events to different users. However, the suggested event listings are usually based solely on preferences that the user manually enters and maintains.
In one embodiment, a method to facilitate an event ticket marketplace including event listings and associated media content identified based on a user's profile is provided. The method includes maintaining or identifying a user profile and associating the user profile with a request from the user to access the event ticket marketplace website or application (herein referred to as the “event ticket marketplace”). Alternatively, the request may be processed without associating it with a user profile by utilizing information, parameters, and/or constraints communicated by the user via a user interface. The method then determines an event list including information associated with one or more events based on the user profile, information, parameters, and/or constraints. The method also determines a media playlist including one or more media files (e.g., videos) associated with the identified events. A media file from the media playlist is selected, and a graphical user interface (GUI) is provided which includes the event list, the playlist and the selected media file.
In another embodiment of the invention, another method to provide an event ticket marketplace including event listings and associated media content identified based on a user's media consumption history is presented. The method includes maintaining a media consumption history associated with a user and associating the media consumption history with a request from the user to access the event ticket marketplace. The method then determines an event list including information associated with one or more events based on the media consumption history. The method also determines a media playlist including one or more media files (e.g., videos) associated with the identified events. A media file from the media playlist is selected, and a graphical user interface (GUI) is provided which includes the event list, the playlist and the selected media file.
In additional embodiments, computing devices for performing the operations of the above described embodiments are also implemented. Additionally, in embodiments of the invention, a computer readable storage media stores methods for performing the operations of the above described embodiments.
The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention.
A system and method for a web-based event ticket marketplace including event listings and associated media content customized for a user are described. Embodiments of the invention maintain a user profile and associate the user profile with a request from the user to access an event ticket marketplace. Based on the user profile, an event list including information associated with one or more events is determined. In another embodiment, the request may be processed without associating it with a user profile. In this embodiment, the event list may be determined based on information, parameters, and/or constraints specified by the user via a user interface. A media playlist, including one or more media files (e.g., videos) associated with the identified events, is also determined. In addition, a media file from the media playlist is selected for playback to the user. In response to the request to access the event ticket marketplace, a graphical user interface (GUI) is generated which presents the user with the event list, the playlist, and the selected media file.
In one embodiment, the event list is determined based on a media consumption history associated with a user. As used herein, the media consumption history may include, but is not limited to, a user's previous video viewing history, the user's previous audio listening history, and/or information relating to the user's interactions with the previously played video and/or audio files. In one embodiment, the selected media file is determined based on the media consumption history. In one embodiment, the user is provided with the opportunity to opt-out of having all or some of his/her consumption history stored and/or accessed by a server, e.g., a server of the event ticket marketplace.
In one embodiment, the selected media file is automatically streamed or played back in a media file playback window of the GUI at the time the user accesses the event ticket marketplace, e.g., via a user device such as a laptop, mobile phone, or tablet computer. In one implementation, once the event ticket marketplace is accessed by the user device, the GUI is dynamically generated and the selected media file automatically begins playing in the GUI.
In one embodiment, the GUI presents one or more action buttons or fields to the user, and the user may select the action button to cause the performance of a corresponding action (e.g., a ‘purchase tickets’ action, a ‘more’ or ‘more information’ action, a ‘next act’ or ‘next event’ action). Based on an instruction associated with the user's selection of an action button, the GUI may be updated to include an updated event listing, an updated playlist, and/or an updated selected media file.
Embodiments of the present invention may also receive, identify or otherwise determine a user's actions and/or indications relating to the playlist and/or media file. The user's action may include, for example, pausing, rewinding, adjusting the volume, skipping, repeating, a length of time spent viewing/listening to a media file, inputting a rating/review associated with the media file, etc. In one embodiment, a user-inputted positive indication relating to an event or media file is received and used to update the playlist to include one or more additional media files associated with the event or media file associated with the positive indication. A positive indication may include, for example, any action or feedback received from a user which indicates a positive reaction to an object, such as, for example, the inputting of a positive rating or score, raising of the volume of the playback of a media file, repeating the playback of a media file, the sharing of a link to a media file, etc.
In one embodiment, the GUI may include an event listing window or first area for presenting the event listing, a media playlist window or second area for presenting the media playlist, and a media file playback or third area for presenting the selected media file. In a further embodiment, the GUI may simultaneously present the event listing and corresponding media playlist. In yet another embodiment, the selected media file may be automatically streamed and begin playing immediately upon presentation of the GUI or soon thereafter.
The client/user device 105 may be any type of computing device, for example, a device including a processing device (e.g., a processor), a computer-readable medium, and a memory. In some embodiments, the client/user device 105 may be executing a browser application or other application adapted to communicate over Internet related protocols (e.g., TCP/IP and HTTP) and/or display a user interface. While only a single client/user device 105 is shown in
Moreover, embodiments of the invention may operate within a single server device or on multiple server devices. Although each of front-end server 110, event listing engine 120, event database 130, media information database 140, and user profile database 150 are depicted in
During operation of system 100, a user accesses system 100 via client/user device 105 over network 102. The front-end server 110 receives communications from the client/user device 105, and processes and/or directs these communications accordingly. In one embodiment, the front-end server 110 includes a processing device and a computer-readable memory.
Front-end server 110 is configured to present one or more web pages relating to an event ticket marketplace configured to allow one or more users to view event information and purchase tickets to the events. In one embodiment, the front-end server 110 is configured to receive a request from the client/user device 105 for access to the event ticket marketplace and respond to the request by serving a GUI to the client/user device 105, as described in detail below.
Front-end server 110 is communicably coupled to the event listing engine 120. Event listing engine 120 may be implemented in hardware, software, firmware, or any combination of the above. In embodiments of the invention, event listing engine 120 processes the request from a client/user device to access the event ticket marketplace and employs a selection module 122 to maintain or identify a user profile associated with the user stored in the user profile database 150 and associate the user profile with the request. In one embodiment, the selection module 122 of the event listing engine 120 is configured to determine an event list including one or more events for presentation to the user.
In one embodiment, information relating to the event list and associated events is stored in the event database 130. The user profile includes information associated with a user, such as, for example, user preferences and the user's media consumption history as authorized by the user. In an embodiment, the user preferences may be received from a user via a user interface.
In an embodiment, the user preferences can include any user-selected parameters or settings, such as, for example, parameters or settings relating to a preferred location of the event, a preferred location radius, a preferred date range, preferred ticket price limits or ranges, specific taste/interests of the user, a preferred venue size, a preference to exclude previously viewed/previewed events from the event listing, a desired video and/or audio quality, and/or a preferred age range for the event.
In an embodiment, default parameters or settings may be used in cases when the user has not provided his or her preferences. The default parameters and settings may be manually changed or modified by the user. For example, the location of a user may be auto-detected by the system, if so authorized by the user. The auto-detected location of the user may be used as a default location setting for the user and the user is provided with an option to change or modify the default location setting.
Other exemplary default parameters or settings and exemplary user modifications may include a default date range (e.g., next three months) with a user-option to specify a date range, a default location radius (e.g., 50 km) with a user-option to specify a location radius, a default to all available ticket prices with a user-option to specify a ticket price range, a default to all available events with a user-option to filter the events automatically or manually based on music taste/interests, a default to all available venues with a user-option to select or exclude certain venues or filter the venue list based on venue characteristics (e.g., venue size).
The media consumption history may include, for example, a user's previous video viewing history, the user's previous audio listening history, and/or information relating to the user's interactions with the previously played video and/or audio files. Accordingly, as an example, a user's prior viewing on a video sharing website of a particular artist may be taken into account in identifying events of interest near the user's current location. For example, in one implementation, a relatively unknown artist may perform on an entertainment show. The show's producer may then upload the segment to a video sharing website. The user views the segment on the video sharing website and positively rates the video. The user may then search on a mobile device for events near the user's current location. The event listing engine can identify that the user previously viewed the video of the artist, positively rated the video, and that the user's current location is near a venue where the artist has an upcoming performance event. The event listing engine can include the performance event in its listing, thereby providing a customized event listing.
For example, if a user views and positively rates or reviews a video of Band ABC's performance on a late night talk show on a video sharing website, the event listing engine may utilize this information and the user's location to include the Band ABC's upcoming performance at a venue near the user's location in an event listing generated for the user.
In one embodiment, the event ticket marketplace notifies the user of the types of information (e.g., the user profile, media consumption history, user preferences) that are identified, compiled, and/or used by the event listing engine 120 and stored in respective application logs and databases (e.g., the user profile database 150), if any, and provides the user the opportunity to opt-out of having such information stored and/or accessed by the event listing engine 120 and/or the front-end server 110 of the event ticket marketplace.
In one embodiment, the event listing engine 120 is configured to determine and assemble a playlist including one or more media files (e.g., video files and/or audio files) associated with the one or more events of the event list. Following the determination, the event listing engine 120 retrieves information relating to the playlist and the one or more media files from the media information database 140. The media information database 140 is configured to store or have access to the media files and information relating to the media files (which can include e.g., file name, file size, file location, storyboard images, thumbnail images, and the like). In an embodiment, the user may customize, modify or change the playlist. In an embodiment, the playlist may be assembled based at least in part on user profile information (e.g., prior viewing and/or listening habits or history).
In one embodiment, the selection module 122 is further configured to select a media file from the identified playlist for presentation to the user (i.e., playback). In one embodiment, the selection module 122 is configured to select the media file based on the user profile. In another embodiment, the selection module 122 is configured to select the media file based on the user's media consumption history.
In one embodiment, the event listing engine 120 includes a GUI generator 124 configured to generate a GUI including the event listing, the playlist, and the selected media file determined by the selection module 122. In one embodiment, the GUI generator 124 is configured to automatically stream the selected media file in response to the user request. In this embodiment, the GUI generator 124 may present the GUI such that the selected media file is played soon after, e.g., immediately after, an initial web page of the event ticket marketplace is served to the client/user device 105 by the front-end server 110. In another embodiment, the GUI generator 124 is configured to continuously stream multiple media files from the playlist. Although schematically shown in
In one embodiment, the GUI generator 124 is configured to generate a GUI including an event listing window (for presentation of the event listing), a media playlist window (for presentation of the playlist), and a media file playback window (for presentation of the selected media file). The GUI generator 124 may be configured to generate one or more action buttons or fields that allow the user to perform actions relating to the event ticket marketplace. For example, the GUI generator 124 may be configured to generate action buttons that allow the user to skip through events or, if an event is composed of more than one act, skip through act by act or to manually jump to a new event or act. The GUI generator 124 can also be configured to generate action buttons that allow the user to sort the event list by date, by distance, by ticket price, by relevance to the user's taste, etc.
At block 210 of method 200, event listing engine identifies a user profile associated with a user. The user profile may be stored in a database, such as, for example, the user profile database 150 of
In block 220, the event listing engine receives a user request for access to the event ticket marketplace. In one embodiment, the user request may be provided to the event listing engine by a front-end server (e.g., front-end server 110 of
In block 240, the event listing engine determines an event listing including one or more events to present to the user. The event listing may be determined based on the user profile, including the media consumption history and/or the user preferences. Next, in block 250, the event listing engine also determines a playlist including one or more media files associated with the one or more events of the event listing. In one embodiment, the one or more media files of the playlist correspond to the artists associated with the events in the event listing. For example, if the event listing includes a listing of events relating to artists A, B, and C, then the associated playlist may include videos relating to artists A, B, and C. In addition, the playlist may be prioritized and ordered to include media files corresponding to the order of the event listing. In addition, relative media file popularity (e.g., number of views of the video, average percentage view-through, likes, favorites) may be taken into account in the selection process. According to another embodiment, a selection process may be employed wherein a score is assigned to each media element (e.g., video file, audio file) based on a user's viewing history and the preferences of other users having an overlapping viewing history. In addition, the selection process may consider artist's preferences wherein the media owner or media subject or representative specifies which media element they wish to be used when being promoted in a playlist. The media files may be stored in one or more databases connected to the event listing engine through, for example, network 102. For example, a video-sharing website/service and its associated databases may be communicatively connected to the event listing engine via the network 102. Media files available via the video sharing website may have been uploaded by various artists. The playlist may be created based on videos available via the video-sharing website, selected based on artist selection and user preferences and/or viewing history.
In one embodiment, in block 260, the event listing engine selects a media file from the playlist for playback. In one embodiment, the selected media file may be automatically played upon rendering an initial web page of the event ticket marketplace to the user, without any user action or initiation of the playback. For example, the selected media file may be a music video of an artist associated with the initial entry in the event listing.
Next, in block 270, the event listing engine generates a GUI presenting the event listing, the playlist, and the selected media file to the user. In one embodiment, the GUI is generated by the GUI generator 124 of the event listing engine 120 of
Following the initial generation of the GUI, the user's actions and/or interactions with the GUI may be considered by the event listing engine. For example, following a user action, the event listing engine may perform one or more of the actions in blocks 240-270, resulting in an updated GUI. The updated GUI may include an updated event listing, an updated playlist, and/or an updated selected media file. For example, if the user clicks on the third entry in the event listing related to Artist ABC, the event listing engine may perform the actions in blocks 240-270 to produce an event listing including events for Artist ABC, a playlist including the most viewed videos for Artist ABC, and an updated selected media file including a video featuring Artist ABC's most recent live performance.
The first area 310, or event listing window, is configured to present the event listing generated by the event listing engine. The exemplary event listing includes information relating to four events (e.g., Event 1, Event 2, Event 3 and Event 4). As shown, exemplary Event 4 includes 2 acts which may have media files included in the playlist.
In the exemplary embodiment shown in
In the exemplary embodiment shown in
In the exemplary embodiment shown in
One having ordinary skill in the art will further appreciate that there are many other possible arrangements, implementations and designs for GUI 300, and that GUI 300 may include additional fields, buttons, windows, etc. than those shown in the example illustrated in
As shown in
The exemplary computer system 500 includes a processing device (processor) 502, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 506 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 518, which communicate with each other via a bus 508.
Processor 502 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor 502 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processor 502 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processor 502 is configured to execute instructions 526 for performing the operations and steps discussed herein.
The computer system 500 may further include a network interface device 522. The computer system 500 also may include a video display unit 510 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker).
The data storage device 518 may include a computer-readable storage medium 524 on which is stored one or more sets of instructions 526 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 526 may also reside, completely or at least partially, within the main memory 504 and/or within the processor 502 during execution thereof by the computer system 500, the main memory 504 and the processor 502 also constituting computer-readable storage media. The instructions 526 may further be transmitted or received over a network 574 via the network interface device 522.
In one embodiment, the instructions 526 include instructions for an event listing engine 550, which may correspond to event listing engine 120 of
In the foregoing description, numerous details are set forth. It will be apparent, however, to one of ordinary skill in the art having the benefit of this disclosure, that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “identifying”, “receiving”, “responding”, “presenting”, “generating,” “streaming” or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, this matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Reference throughout this disclosure to “one implementation,” or “an implementation,” or “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the implementation or embodiment is included in at least one implementation or one embodiment. Thus, the appearances of the phrase “in one implementation,” or “in an implementation,” or “in one embodiment,” or “in an embodiment” in various places throughout this specification can, but are not necessarily, referring to the same implementation or embodiment, depending on the circumstances. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more implementations or embodiments.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.