Content management for media systems
By generating collaborative playlists, multiple user content preference management problems in the speaker network are solved, multi-user collaboration and content preference sorting are realized, and the playback experience is improved.
Patent Information
- Application Number
- CN202280101544.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-08
- Publication Date
- 2025-06-13
AI Technical Summary
The prior art is difficult to effectively manage content preferences of multiple users in a speaker network, resulting in only outputting content from one mobile device at a time, ignoring the preferences of other users, and the ‘break-in’ feature may lead to user conflicts and unpleasant listening experiences.
By generating a first list of content items at the first computing device and obtaining a second list of content items associated with the second computing device, a cooperative playlist is generated based on the two lists such that the content items in the cooperative playlist are output via one or more output devices.
Collaboration between multiple users and devices is achieved, content is provided using a coordinated media system, and content in the playlist is sorted based on content preferences of multiple users, ensuring that more popular content is played earlier or more frequently, improving the user experience.
Smart Images

Figure CN120153370A_ABST
Abstract
Description
Technical Field
[0001] The various embodiments generally relate to entertainment systems and, more specifically, to techniques for managing content in a media system. Background Art
[0002] With the proliferation of mobile devices ( For example , smart phones), the demand for portable personal speakers has also increased. A personal speaker allows a user to have a speaker for enjoying audio content on the move, which provides better audio quality than the speaker included in the mobile device. One feature of the increasingly popular personal speakers is the "party mode", in which multiple personal speakers are communicatively coupled together to form a speaker ad-hoc network that synchronizes together and outputs audio content as one speaker system. The party mode can be coordinated and controlled via a mobile device. The content is output from the mobile device to the speaker network.
[0003] When multiple users want to provide content for playing on the speaker network, such as when different users (each of these users has a different mobile device) use different audio content providers and / or have different audio content preferences, problems arise with the party mode of the speakers. A disadvantage of the conventional party mode of the speakers is that the speaker network can output content from only one mobile device at a time. When the speaker network outputs content from only one device at a time, the content preferences of other users are ignored. In response to this disadvantage is the "barge-in" feature, in which another user can stop the content output from the first user's device and start outputting content from his or her own device. However, this "barge-in" feature does not solve the potential problem that the content preferences of other users are ignored when content is provided from only one device at a time. In addition, this "barge-in" feature may lead to an undesirable conflict between users trying to control the content output through the speaker network, which can result in an unpleasant listening experience in cases where the "barge-in" feature causes no song to be streamed to completion.
[0004] As described above, there is a need for more effective techniques for managing content to be output by a media system. Summary of the Invention
[0005] The various embodiments of the present disclosure set forth a computer-implemented method for managing content in a media system, including: generating a first list of content items at a first computing device, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
[0006] Other embodiments provide one or more non-transitory computer-readable media and systems configured to implement the methods set forth above, and the like.
[0007] At least one technical advantage of the disclosed technology over the prior art is that, using the disclosed technology, multiple users and devices can collaborate together to use a coordinated media system to provide content for playback. Another advantage is that the content in the playlist is sorted based on the content preferences of multiple users. Thus, the more preferred content among multiple users is played earlier and / or more frequently in the playlist and is thus more likely to be played than the later content in the playlist. These technical advantages provide one or more technical improvements over prior art methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to understand the manner in which the above-recited features of the various embodiments can be obtained, the inventive concept briefly summarized above can be described in more detail by reference to the various embodiments, some of which are illustrated in the drawings. However, it should be noted that the drawings only illustrate typical embodiments of the inventive concept and should therefore in no way be considered limiting in scope, and there are other equally effective embodiments.
[0009] Figure 1 is a block diagram of a computer system configured to implement one or more aspects of the various embodiments;
[0010] Figure 2 illustrates a coordinated audio system according to one or more aspects of the various embodiments;
[0011] Figure 3 illustrates an example of a collaboratively generated playlist of a coordinated audio system according to one or more aspects of the various embodiments;
[0012] Figure 4 illustrates another example of a collaboratively generated playlist of a coordinated audio system according to one or more aspects of the various embodiments;
[0013] Figure 5 illustrates yet another example of a collaboratively generated playlist of a coordinated audio system according to one or more aspects of the various embodiments;
[0014] Figure 6 is a flowchart of method steps for generating a collaborative playlist of a coordinated audio system according to one or more aspects of the various embodiments;
[0015] Figure 7 is another flowchart of method steps for generating a collaborative playlist of a coordinated audio system according to one or more aspects of the various embodiments; and
[0016] Figure 8 It is yet another flowchart of method steps for generating a collaborative playlist for a coordinated audio system according to one or more aspects of various embodiments. Detailed implementation manners
[0017] In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to those skilled in the art that the inventive concept may be practiced without one or more of these specific details.
[0018] Although the following disclosure is primarily described with respect to outputting audio content using an ad-hoc network of audio output devices, the disclosed techniques are equally applicable to video content and / or other types of content items. For example, these techniques may be used in a coordinated media system to manage and output a playlist of video content items for display using one or more video output devices (such as one or more televisions and / or computer monitors). The video content items may be video content items stored on a computing device and / or provided by one or more video content providers (such as YouTube, TikTok, Vimeo, Twitch, Veoh, paid content providers, etc.).
[0019] Figure 1 A computer system 100 configured to implement one or more aspects of the various embodiments is shown. As shown, the computer system 100 includes, but is not limited to, one or more computing devices 180-1 to 180-M (which are also collectively referred to as computing devices 180 or generally referred to as computing device 180), an input device 122, an output device 124, an audio output device 126, a network 160, an audio device network 162, and a media content service 170. The computing device 180 ( For example , the computing device 180-1) includes, but is not limited to, one or more processing units 102, an I / O device interface 104, a network interface 106, an interconnect 112 ( For example , a bus), a storage device 114, and a memory 116. The memory 116 stores an output device manager application 150 and a media content application 152. The processing unit 102 and the memory 116 may be implemented in any technically feasible manner. For example, but not limited to, in various embodiments, any combination of the processing unit 102 and the memory 116 may be implemented as a separate chip or as part of a more comprehensive solution, which is implemented as an application-specific integrated circuit (ASIC), a system-on-chip (SoC), etc. The processing unit 102, the I / O device interface 104, the network interface 106, the storage device 114, and the memory 116 may be communicatively coupled to each other via the interconnect 112.
[0020] One or more processing units 102 may include any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a tensor processing unit (TPU), any other type of processing unit, or a combination of multiple processing units, such as a CPU configured to operate in conjunction with a GPU. Generally, each processing unit in one or more processing units 102 can be any technically feasible hardware unit capable of processing data and / or executing software applications and modules.
[0021] The storage device 114 may include non-volatile storage devices for applications, software modules, and data, and may include fixed or removable disk drives, solid state drives, secure digital and other flash memory devices, as well as CD-ROM, DVD-ROM, Blu-ray, HD-DVD, or other magnetic, optical, solid state storage devices, etc.
[0022] The memory 116 may include random access memory (RAM) modules, flash memory cells, or any other type of memory cell, or a combination thereof. One or more processing units 102, the I / O device interface 104, and the network interface 106 are configured to read data from and write data to the memory 116. The memory 116 includes various software programs and modules ( For example , an operating system, one or more applications) and application data associated with the software programs ( For example , data loaded from the storage device 114).
[0023] In some embodiments, one or more databases 142 are loaded from the storage device 114 into the memory 116. The database 142 includes applications, user data, media content, etc. associated with one or more applications executable by the processing unit 102.
[0024] In some embodiments, the computing device 180 is communicatively coupled to one or more networks 160. The network 160 can be any technically feasible type of communication network that allows the exchange of data between the computing device 180 and other systems or devices, such as servers, cloud computing systems, or other networked computing devices or systems ( For example , the media content service 170). For example, the network 160 may include a wide area network (WAN), a local area network (LAN), a wireless network ( For example, Wi-Fi network, cellular data network, ad hoc network) and / or the Internet, etc. Computing device 180 can be connected to network 160 via network interface 106. In some embodiments, network interface 106 is hardware, software, or a combination of hardware and software that is configured to connect to network 160 and interact with the network. In some embodiments, network interface 106 facilitates communication via one or more standard and / or proprietary protocols ( For example , Bluetooth, proprietary protocols associated with a specific manufacturer, etc.) to communicate with other devices or systems.
[0025] The media content service 170 includes a device configured to provide For example , providing ( For example , distribute) one or more computerized services for media content. Examples of media content services 170 include Spotify, Apple Music, Pandora, YouTube Music, Amazon Music, Tidal, Deezer, etc. As used herein, media or media content includes but is not limited to audio content ( For example , spoken and / or musical audio content, audio content files, streaming audio content, audio tracks of videos, etc.) and / or video content. Examples of media content services 170 include, but are not limited to, media content streaming services, digital media content vendors, media servers (local and / or remote), etc. More generally, media content services 170 include one or more computer systems ( For example , servers, cloud computing systems, networked computing systems, distributed computing systems, etc.). Computing device 180 can be communicatively coupled to media content service 170 via network 160 and download and / or stream media content from media content service 170. In some embodiments, any of computing devices 180 can also be used as a media content service, such as when media content has been previously purchased by a user of computing device 180 and the media content is locally stored ( For example , in storage device 114 and / or memory 116) and / or remote storage ( For example , in a cloud storage device).
[0026] In some embodiments, media content service 170 also stores profile data associated with computing device 180 and / or a user associated with computing device 180. User profile data includes, but is not limited to, the user's media content library within media content service 170, user demographic data, user preference data regarding media content, user-created and / or auto-generated media content playlists, etc. User preference data includes, but is not limited to, media content consumption data, user-expressed or implicit preferences, etc. Media content consumption data may include how many times a media content item or playlist has been played, how many times a media content item has been played from start to finish, how many times a media content item has been skipped immediately or before completion, how many times a media content item has been looped or repeated, which predefined playlists have been played, the days and times of the week when a media content item has been played, the days and times of the week when a certain type of media content item has been played, how many times a media content item has been played recently ( For example e.g., in the last week, last month), etc. User-expressed or implicit preferences may include "liking", upvoting, "+1" voting, "favoriting", etc. ( For example e.g., voting to play a certain media content item) or "disliking", downvoting, "-1" voting, "unfavoriting", etc. ( For example e.g., voting not to play the media content item), ratings and / or rankings of media content items in his or her media content library, clickstream data, etc. In some embodiments, at least some of the profile data is stored ( For example i.e., cached) at computing device 180 ( For example in database 142). In some embodiments, the profile data is displayed in the user interface of media content application 152 and / or using output device 124. Media content service 170 may host an individual user account for the corresponding user and store the corresponding user profile data. In some embodiments, media content service 170 may also aggregate user profile data to generate non-personalized aggregate data, such as aggregate media content consumption data and / or aggregate preference data ( For example e.g., how many times a certain media content item has been played among the users of media content service 170, upvotes and downvotes of a certain media content item by the users of media content service 170, etc.). In some embodiments, media content service 170 also aggregates user profile data across multiple computing devices 180, such as when one or more users access the same media content service 170 from multiple computing devices (e.g., laptop, smartphone, desktop computer, smartwatch, etc.).
[0027] Input device 122 includes one or more devices capable of providing input. Examples of input device 122 include, but are not limited to, a touch-sensitive surface ( For example e.g., a touchpad), a microphone, a touch-sensitive screen, buttons, knobs, dials, a keyboard, a pointing device (For example , such as a mouse, a stylus, etc. The output device 124 includes one or more devices that provide output. Examples of the output device 124 include, but are not limited to, a display device, a tactile device, etc. Examples of the display device include, but are not limited to, an LCD monitor, an LED monitor, an OLED monitor, an AMOLED monitor, a touch-sensitive monitor, a transparent monitor, a projection system, etc. Additionally, the input device 122 and / or the output device 124 may include a device that is capable of both receiving input and providing output, such as a touch-sensitive monitor, etc.
[0028] The audio output device 126 includes one or more devices that are capable of outputting sound. The audio output device 126 includes, but is not limited to, a portable speaker, a bone conduction speaker, a shoulder-worn and shoulder-mounted headphone, a glasses-mounted speaker, a neck-worn speaker, a Bluetooth, a true wireless stereo (TWS) headphone, or other wireless headphones, etc. In some embodiments, the audio output device 126 may be coupled to the computing device 180 in any technically feasible manner ( For example , universal serial bus (USB), Bluetooth, ad-hoc Wi-Fi) either wired or wirelessly via the I / O device interface 104 and / or the network interface 106.
[0029] In various embodiments, the audio output device 126 further includes computing, communication, and / or networking capabilities. For example, the audio output device 126 may further include one or more processing units, a memory, and / or a storage device similar to the processing unit 102, and a network interface similar to the network interface 106. The audio output device 126 may be communicatively coupled to one or more other audio output devices 126 and / or to one or more computing devices 180 via the network interface, and optionally store data.
[0030] In various embodiments, multiple audio output devices 126-1 through 126-N (which are also collectively referred to as audio output devices 126 or generally referred to as audio output devices 126) are communicatively coupled to each other and / or communicatively coupled to a computing device 180 to form a coordinated media or audio system. As used herein, a coordinated media audio system is an ad hoc network of one or more media output devices, such as an ad hoc network of one or more audio output devices 126 communicatively coupled to each other via an audio device network 162 and communicatively coupled to one or more computing devices 180. The ad hoc network of audio output devices 126 and computing devices 180 includes any number of one or more audio output devices 126 and any number of one or more computing devices 180. In some embodiments, the ad hoc network includes only one audio output device 126, two or more audio output devices 126 provided by a single user, two or more audio output devices 126 provided by two or more users in any combination (e.g., one user provides an audio output device 126, a second user provides two or more audio output devices 126, and / or a third user provides no audio output devices 126), etc. Additionally, in some embodiments, the ad hoc network includes only one computing device 180, two or more computing devices 180 provided by the same user ( For example , smart phones and tablet computers), two or more users each providing their own computing device 180, etc. In some embodiments, the ad hoc network is formed in a private space ( For example , home, dormitory, backyard, etc.) and / or a public space ( For example , dormitory common area, park, public place, etc.). The audio device network 162 is typically a wireless network, such as a Wi-Fi network, an ad hoc Wi-Fi network, a Bluetooth network, etc. In some embodiments, the audio output devices 126 in the coordinated audio system operate in a "party mode".
[0031] In the coordinated audio system, the audio output devices 126 output media content received from the computing device 180 via the audio device network 162. The audio output devices 126 output the media content in a synchronized or near-synchronized manner. In some embodiments, the coordinated audio system is initiated from one of the computing devices 180 via the output device manager application 150. For example, when the computing device 180-1 is communicatively coupled to the audio output device 126, the computing device 180-1 may send a media content item to the audio output device 126 to be output synchronously by the audio output device 126. The coordinated audio system is described in more detail in Figure 2 .
[0032] The memory 116 includes an output device manager application 150 and one or more media content applications 152. The output device manager application 150 and the media content applications 152 are stored in the memory 116 and loaded into the memory from the storage device 114. In operation, the media content applications 152 output ( For example , decoded for playback) locally stored media content ( For example , stored in the memory 114) and / or media content from the media content service 170. The media content applications 152 also collect and / or generate user profile data, including, for example, media content consumption data and preference data. The media content applications 152 may also communicate with the media content service 170 to obtain ( For example , purchase, lease, and / or subscribe to download, stream, or otherwise retrieve) media content for output and / or storage at one of the computing devices 180, upload the user profile data to the corresponding user account at one of the media content services 170, download user profile data associated with the user of any of the computing devices 180 from any of the media content services 170, etc. In some embodiments, the media content applications 152 are associated with a particular media content service 170 ( For example , the Spotify application for the Spotify service, the Apple Music application for the Apple Music service, etc.) and may access the particular media content service.
[0033] The output device manager application 150 facilitates the management of the audio output device 126. When the computing device 180 is communicatively coupled to the audio output device 126, the user may perform management functions of the audio output device 126 via the output device manager application 150, including but not limited to monitoring the status of the audio output device 126 ( For example , battery level, volume level, firmware version, etc.), configuring the settings of the audio output device 126 ( For example , equalization settings), updating the firmware of the audio output device 126, etc. In some embodiments, preferences from the user are aggregated across the computing devices 180 in any form of upvote, downvote, average, etc. in the foregoing form to form an audio output level and / or an audio equalization curve applied to the media content sent to the audio output device 126. In some embodiments, the output device manager application 150 may ( For example, interact with the media content application 152 via an application programming interface (API) to cause or otherwise facilitate the media content application 152 to send media content to the audio output device 126 and / or obtain data associated with the media content application 152, including but not limited to media content library information and / or user profile data.
[0034] In addition, in some embodiments, the output device manager application 150 facilitates the creation and management of a coordinated audio system. A user can command the audio output device 126 to join the coordinated audio system via the output device manager application 150, thereby creating a coordinated audio system. Within the output device manager application 150, a user can configure individual audio output devices 126 and / or configure the coordinated audio system, modify ( For example , add or remove audio output devices 126) or terminate the coordinated audio system, and perform other management functions associated with the coordinated audio system. In addition, the output device manager application 150 can generate a media content playlist to be sent by the media content application 152 to the audio output device 126. The output device manager application 150 can generate the playlist based on explicit input from the user and / or user profile data from the computing device 180 in the coordinated audio system, the further details of which are described below.
[0035] Figure 2 A coordinated audio system 200 is shown in accordance with one or more aspects of various embodiments. The coordinated audio system 200 includes a plurality of audio output devices 126-1 to 126-N ( For example , speakers) communicatively coupled together via an audio device network 162. The coordinated audio system 200 further includes computing devices 180-1 to 180-M communicatively coupled together via the audio device network 162. Within the coordinated audio system 200, the computing device 180 is communicatively coupled to zero or more audio output devices 126.
[0036] Communication in the coordinated audio system 200 can use standard and / or proprietary protocols. For example, the computing device 180 can communicate with the audio output device 126 and with each other using standard protocols ( For example , Bluetooth, Wi-Fi), and the audio output devices 126 can communicate with each other using standard or proprietary protocols ( For example , Bluetooth, a proprietary protocol associated with a particular manufacturer). In some embodiments, the audio output devices 126 that communicate with each other using a proprietary protocol are audio output devices 126 from the same manufacturer ( For example , speakers of the same brand).
[0037] In some embodiments, one of the computing devices 180 is a leader or coordinator computing device that coordinates the audio system 200. The computing device 180 from which the coordination of the audio system 200 is initiated can be made the leader or coordinator device, and the leader or coordinator role can be passed to another computing device 180 via a user command or request. In some embodiments, the coordinator device is automatically assigned, such as when the coordinator device is the only computing device 180 having access to the only media content service 170 or locally stored media files to be played next on the collaborative playlist. For ease of understanding, the coordination of the audio system 200 is further described below in the case where the computing device 180-3 is the coordinator computing device, but any of the other computing devices 180 can be the coordinator computing device.
[0038] In the coordinated audio system 200, the audio output devices 126 output audio corresponding to the same media content received from one source at a time. That is, a given source sends a media content item to the audio output devices 126, and each of the audio output devices 126 outputs audio corresponding to that media content item. In some embodiments, the computing device 180 transmits data corresponding to the media content item to the first audio output device 126, and then the first audio output device transmits the data to the other audio output devices 126. In some embodiments, the computing device 180 transmits data corresponding to the media content item to two or more of the audio output devices 126. In some embodiments, two or more of the audio output devices 126 in the computing device 180 communicate with each other to determine which computing device in the computing device 180 will send the data corresponding to the media content item to the first audio output device 126 or all of the audio output devices 132. In some embodiments, the media content item is transmitted from one computing device 180 to the cloud ( For example , one of the media content services in the media content service 170), and then the cloud transmits data corresponding to the media content item to the first audio output device 126 or two or more of the audio output devices 126. In some embodiments, two or more of the audio output devices 126 in the computing device 180 communicate with each other to determine which audio output device in the computing device 180 will send the data corresponding to the media content item to the cloud.
[0039] When the audio output devices 126 output audio corresponding to the media content items from one computing device 180 at a time, multiple computing devices 180 can collaborate to select the media content items to be output to the audio output devices 126. In some embodiments, at each computing device 180, separate content lists 206-1 to 206-M for output in the coordinated audio system 200 can be generated ( For example, a media content item playlist). Content lists 206-1 to 206-M are aggregated into a media content collaborative playlist 210 for output to the audio output device 126. In some embodiments, the computing device 180-3 sends the collaborative playlist 210 to other computing devices 180 so that users of the other computing devices can view the collaborative playlist 210 and / or express preferences for each media content item in the media content items in the collaborative playlist 210. The media content items in the collaborative playlist 210 can be sent to the audio output device 126 from the coordinator computing device 180-3 or from a computing device 180 whose content list 206 includes the media content item. In some embodiments, the collaborative playlist 210 can be saved for later use and / or used as a basis for a collaborative playlist to be generated later. The generation of the collaborative playlist is described in further detail below.
[0040] The content list 206 can be generated based on user input ( For example , the user manually adds a media content item to the content list) and / or based on user profile data ( For example , user preferences, the user's playlists, a list of "liked" songs, a list of most frequently played songs) automatically generated. At the computing device 180, the user can add or remove media content items from the corresponding content list 206 at any time. As shown, the computing devices 180-1 to 180-M respectively include preference data 208-1 to 208-M associated with the users of the computing devices. At a given computing device 180, one or more media content items can be suggested based on the preference data 208 and added to the content list 206. In addition, in some embodiments, the media content items in the collaborative playlist 210 can be sorted based on user input and / or user profile data ( For example , preference data 208).
[0041] At the computing device 180 in the coordinated audio system 200, the user can interact with the coordinated audio system 200 via the output device manager application 150 at the computing device 180. For example, the user at the coordinator computing device 180-3 can manage the coordinated audio system 200 via the output device manager application 150. In addition, at the computing device 180, the user can add media content to the content list 206 and / or remove media content from the content list 206. The output device manager application 150 can also determine one or more media content suggestions based on one or more inputs ( For example , user input, user profile data, etc.) and add those suggestions to the content list 206. The output device manager application 150 at the coordinator computing device 180-3 can obtain from other computing devices 180 ( For example, receive) content list 206, generate a collaborative playlist 210 from the content list 206, share the collaborative playlist 210 with an output device manager application 150 at another computing device 180, and optionally reorder the media content in the collaborative playlist 210 based on one or more inputs ( For example , user profile data, user preferences). Based on the ordering of the media content in the collaborative playlist 210, the output device manager application 150 at the coordinator computing device 180-3 may direct the output device manager application 150 at the coordinator computing device 180-3 or the output device manager application at another computing device 180 to cause a media content item to be sent to the audio output device 126 for output. For example, when the output of the media content in the collaborative playlist 210 reaches a media content item on the content list 206-2 included on the computing device 180-2, the output device manager application 150 at the coordinator computing device 180-3 may direct the output device manager application 150 at the computing device 180-2 to send the media content item to the audio output device 126.
[0042] Figure 3 Illustrates an example of a collaboratively generated playlist of a coordinated audio system according to one or more aspects of various embodiments. Figure 3 Illustrates content lists 306-1 through 306-L associated with respective multiple computing devices ( For example , computing devices 180). Each content list 306 lists media content manually added to the list by a user. For example, content list 306-1 includes content items A, B, and F added to content list 306-1 by a first user; content list 306-2 includes content items C and E added to content list 306-2 by a second user; and content list 306-L includes content item B and content item D added to content list 306-L by a third user. The inclusion of content item B in both content lists 306-1 and 306-L indicates that the same content item can be included on multiple playlists. The collaborative playlist 310 may be generated by the output device manager application 150 at the coordinator computing device by aggregating the content lists 306. Thus, the collaborative playlist 310 includes content items A through F.
[0043] In some embodiments, the content items in the collaborative list 310 may be ordered based on one or more criteria. One criterion is the timestamp when the media content item was added to the content list 306. For example, content items A through F may be ordered within the collaborative playlist 310 based on the timestamps when content items A through F were added to their corresponding content lists 306, and content items A through F are output in that order. Other ordering criteria may include alphabetical order by title or artist, or random order.
[0044] In some embodiments, a user may upvote or downvote media content items in the collaborative playlist 310, and sort the media content items based on the counts of upvotes and downvotes. For example, sort the media content items based on the upvote minus downvote, where items with a larger difference are placed earlier in the collaborative playlist 310. The upvote / downvote criteria for sorting media content items may be used in combination with other criteria ( For example , sort these items based on the upvote to downvote difference, using the timestamp of addition to the content list as a tiebreaker when there is a tie). More generally, media content items are based on user profile data associated with the media content items ( For example , user preference data); the user preference data indicates the preference among users in the coordinated audio system for the media content items. The upvotes and downvotes of a user are just one instance of user preference data that can be used to sort the media content items in the collaborative playlist 310. In some embodiments, multiple criteria ( For example , number of plays, number of playlists including the media content item, etc.) may be aggregated into a score or ranking for the purpose of sorting the collaborative playlist 310 and / or removing certain media content items from the collaborative playlist 310. These criteria may be aggregated into a score or ranking using, for example, a weighted score function, where the criteria are weighted by corresponding predefined weights.
[0045] Figure 4 Another example of a collaboratively generated playlist of a coordinated audio system in accordance with one or more aspects of various embodiments is shown. Figure 4 Content lists 402-1 through 402-L associated with respective multiple computing devices ( For example , computing device 180) are shown. Each content list 402 lists media content manually added to the list by a user. For example, content list 402-1 includes content item A added to content list 402-1 by a first user; content list 402-2 includes content items C and E added to content list 402-2 by a second user; and content list 402-L includes content item D added to content list 402-L by a third user.
[0046] In some embodiments, the media content items added to the content list are seed content items, and one or more content item suggestions may be determined based on these seed content items. In Figure 4Among them, the seed content items are indicated by bold text. The output device manager application 150 at the corresponding computing device determines one or more content item suggestions based on the seed content items in the corresponding content list. For example, for content list 402-1, based on the seed content item A, the output device manager application 150 determines the suggested content items B, F, and H. Content list 406-1 includes the seed content item A and the suggested content items B, F, and H. Similarly, for content list 406-2, based on the seed content items C and E, the suggested content items G and K are suggested. For content list 406-L, based on the seed content item D, the suggested content items I and J are suggested. It should be understood that any technically feasible technique (including requesting suggested content items from one of the media content services 170 or using the playlist function provided by one of the media content services 170) can be used to perform the determination of the suggested content items. In some embodiments, the feature of determining the suggested content items is referred to as "creating a radio station" or "creating a playlist" based on one or more media content items. A collaborative playlist 410 can be generated from the content list 406 with seed and suggested content items in a manner similar to the collaborative playlist 310 above. In addition, the media content items in the collaborative playlist 410 can be sorted based on criteria similar to those described above with respect to the collaborative playlist 310. In some embodiments, if the output of the media content items in the collaborative playlist 410 is reaching the end of the playlist, the output device manager application 150 can determine additional suggested media content items based on the media content items in the collaborative playlist 410 and add those suggested content items to the collaborative playlist 410. Additionally and / or alternatively, each of the seed content items in the content list 402 can be received at the coordinator computing device, and then the aggregated content list 402 can be used as seed content to generate additional media content items to extend the collaborative playlist 410.
[0047] Figure 5 Shows yet another example of a collaboratively generated playlist of a coordinated audio system according to one or more aspects of various embodiments. Figure 5 Shows with the corresponding multiple computing devices ( For example, preference data 508-1 to 508-L associated with the computing device 180). Each preference data 508 includes preference data associated with the user of the corresponding computing device. Based on the preference data 508 (or more generally, user profile data), the output device manager application 150 can determine one or more recommended media content items and add those recommended media content items to the content list 506 at the corresponding computing device. For example, a content list 506-1 with content items A, B, F, and H is generated; the content items A, B, F, and H are recommended content items determined based on the preference data 508-1. Similarly, a content list 506-2 with content items C, E, G, and K is generated; the content items C, E, G, and K are recommended content items determined based on the preference data 508-2. A content list 506-L with content items D, I, and J is generated; the content items D, I, and J are recommended content items determined based on the preference data 508-L. A collaborative playlist 510 can be generated from the content list 506 in a manner similar to the collaborative playlists 310 or 410 above. Additionally, the media content items in the collaborative playlist 510 can be sorted based on criteria similar to those described above for the collaborative playlists 310 or 410. In some embodiments, if the output of the media content items in the collaborative playlist 510 is reaching the end of the playlist or if the playlist is to be extended for any other reason, the output device manager application 150 can determine additional recommended media content items based on the media content items in the collaborative playlist 510 and / or any of the content lists 506 and / or the preference data 508 and add those recommended content items to the collaborative playlist 510. Additionally and / or alternatively, each of the preference data 508 can be received at the coordinator computing device and the preference data 508 can be aggregated and then used as aggregated preference data for generating the collaborative playlist 510.
[0048] Thus, a collaborative playlist for coordinating an audio system can be generated based on content items manually added by the user and / or automatically determined by the output device manager application 150. Recommended content items can be determined based on seed content items and / or user profile data. The media content items in the collaborative playlist can be sorted based on one or more criteria associated with the user profile data or manual upvoting and downvoting.
[0049] Although the above description of the collaborative playlist assumes that the collaborative playlist is generated and stored locally at a computing device and shared with other computing devices within the coordinated audio system, in some embodiments, the collaborative playlist can be in a remote system ( For example, generated and / or shared to a remote system at the cloud system). For example, user profile data and / or content lists associated with the coordinated audio system can be uploaded to the cloud system, where a collaborative playlist associated with the coordinated audio system is generated and downloaded to one or more of the computing devices in the coordinated audio system. Any part of the collaborative playlist generation, sorting, and storage can be performed on one or more computing devices, in the cloud, or even on one or more processors housed within the audio output device 126.
[0050] Figure 6 is a flowchart of method steps for generating a collaborative playlist for a coordinated audio system according to one or more aspects of various embodiments. Although these method steps are described with respect to Figures 1 to 5 systems and examples, those skilled in the art should understand that any system configured to perform these method steps in any order falls within the scope of the various embodiments. In some embodiments, one or more steps of the Figure 6 method may be omitted and / or additional steps (not shown) may also be performed.
[0051] As shown, method 600 begins at step 602, where the output device manager application obtains one or more inputs for selecting one or more content items for a first list. At a computing device in the coordinated audio system ( For example , the coordinator computing device 180-3), the output device manager application 150 can receive from the user an input to manually add one or more media content items to a corresponding content list ( For example , content list 206-3).
[0052] At step 604, the output device manager application obtains a second list of one or more content items from a second device. The output device manager application 150 obtains a content list ( For example , content list 206-2) from another computing device ( For example , computing device 180-2) in the coordinated audio system and / or any content list among content lists 206, 306, 406, and / or 506.
[0053] At step 606, the output device manager application generates a collaborative playlist that includes content items from the first list and the second list. At the computing device 180-3, the output device manager application 150 generates a collaborative playlist 210 that includes media content items from content lists 206-3, 206-2, and other content lists 206 in the coordinated audio system. For example, in Figure 3 , the collaborative playlist 310 is generated by aggregating the content list 306.
[0054] At step 608, the output device manager application sorts the content items in the collaborative playlist based on one or more criteria. The output device manager application 150 sorts the media content items in the collaborative playlist (e.g., collaborative playlists 210, 310, 410, and / or 510) in output or play order based on one or more criteria, which include, for example, the timestamp when the media content item was added to the corresponding content list, upvotes and downvotes for the media content item, and preference data associated with the media content item. The output device manager application 150 may use any of the techniques described herein to sort the media content items in the collaborative playlist. In some embodiments, the output device manager sorts the media content items by selecting a combination of one or more methods in a predetermined manner. In some embodiments, the user's preference for sorting the media in the collaborative playlist is selected by using the input device 122 or by selecting one or more methods from a list via a GUI running on the coordinator device or other computing devices 180.
[0055] At step 610, the output device manager application causes the media content items in the collaborative playlist to be output via one or more audio output devices. The output device manager application 150 at the coordinator computing device 180-3 may direct the media content application 152 at the computing device 180-3 to send the media content items in the collaborative playlist 210 to the audio output device 126 in the coordinated audio system 200. Alternatively, the output device manager application 150 at the coordinator computing device 180-3 may direct the media content application 152 at the corresponding computing device 180 to send the media content items in its corresponding content list 206 to the audio output device 126. The order in which the media content items in the collaborative playlist 210 are sent to the audio output device 126 is based on the order determined during step 608.
[0056] In some embodiments, when additional content items are to be added to the content list while the media content items in the collaborative playlist are being output, method 600 may return to step 602, and thus method 600 may be repeated to update the collaborative playlist accordingly. Although Figure 6Not shown in the figure, but step 604 can be repeated multiple times for each computing device in the computing device that coordinates the list of content items provided to the audio system, and step 606 can further generate a collaborative playlist based on the list of these additional content items. When the computing device 180 enters or leaves the coordinated audio system 200, items from the content list 206 can be added to and removed from the collaborative playlist 210, or the impact of the user preference data of these items can be added or removed correspondingly when sorting the media in the collaborative playlist at step 608, or the impact of the recommended playback level and audio equalization of these items can be added or removed correspondingly.
[0057] Figure 7 is another flowchart of method steps for generating a collaborative playlist for a coordinated audio system according to one or more aspects of various embodiments. Although these method steps are described with respect to Figures 1 to 5 systems and examples, those skilled in the art should understand that any system configured to perform these method steps in any order falls within the scope of the various embodiments. In some embodiments, one or more steps of the Figure 7 method may be omitted and / or additional steps (not shown) may also be performed.
[0058] As shown, method 700 begins at step 702, where the output device manager application obtains one or more inputs for selecting one or more seed content items. At a computing device in the coordinated audio system ( For example , any one of the computing devices in computing device 180), the output device manager application 150 can receive an input from the user to manually add one or more seed content items to the corresponding content list ( For example , any one of the content lists in content list 506).
[0059] At step 704, the output device manager application 150 determines one or more recommended content items based on the one or more seed content items. The output device manager application 150 can determine one or more recommended media content items based on the seed content items. For example, in Figure 4 , content items B, F, and H are recommended according to seed content item A.
[0060] At step 706, the output device manager application generates a first list of content items including the seed content items and the recommended content items. The output device manager application 150 can add the seed content items and the recommended content items to the corresponding content list. For example, in Figure 4 , content list 402-1 includes seed content item A and recommended content items B, F, and H.
[0061] At step 708, the output device manager application obtains a second list of one or more content items from the second device. Step 708 is similar to step 604 of the above-described method 600.
[0062] At step 710, the output device manager application generates a collaborative playlist that includes content items from the first list and the second list. At step 712, the output device manager application sorts the content items in the collaborative playlist based on one or more criteria. At step 714, the output device manager application causes the media content items in the collaborative playlist to be output via the audio output device network. Steps 710, 712, and 714 are similar to steps 606, 608, and 610 of method 600, respectively.
[0063] In some embodiments, when additional seed content items can be manually added to the content list and / or additional computing devices join or leave the collaborative audio system while the media content items in the collaborative playlist are being output, method 700 can return to step 702, and thus method 700 can be repeated to update the collaborative playlist accordingly. Additionally or alternatively, suggested content items can be used as seed content items to determine additional suggested content items. Although Figure 7 not shown, step 708 can be repeated multiple times for each computing device that provides list content items for the coordinated audio system. Then, step 710 can further generate a collaborative playlist based on these additional lists of content items. Although Figure 7 not shown, steps 702, 704, and 706 can be repeated multiple times for each computing device that provides seed content items for the coordinated audio system. In some embodiments, steps 702, 704, and 706 are only performed for all computing devices 180, and step 708 is omitted to form an automatically generated collaborative playlist.
[0064] Figure 8 is another flowchart of method steps for generating a collaborative playlist for a coordinated audio system according to one or more aspects of various embodiments. Although these method steps are described with respect to Figures 1 to 5 systems and examples, those skilled in the art should understand that any system configured to perform these method steps in any order falls within the scope of the various embodiments. In some embodiments, one or more steps of the Figure 8 method can be omitted and / or additional steps (not shown) can also be performed.
[0065] As shown, method 800 begins at step 802, where the output device manager application obtains preference data associated with a user. In a computing device in the coordinated audio system ( For example, at the coordinator computing device 180-3, the output device manager application 150 obtains preference data 208-3 associated with the user of the computing device 180-3. The output device manager application 150 may obtain the preference data 208-3 through the media content application 152.
[0066] At step 804, the output device manager application determines one or more recommended content items based on the preference data. The output device manager application 150 at the computing device 180-3 may determine one or more recommended media content items based on the preference data 208-3. For example, in Figure 5 , content items A, B, F, and H are recommended according to the preference data 508-1.
[0067] At step 806, the output device manager application generates a first list of content items including the recommended content items. The output device manager application 150 may add the recommended content items to the corresponding content list. For example, in Figure 5 , the content list 506-1 includes the recommended content items A, B, F, and H.
[0068] At step 808, the output device manager application obtains a second list of one or more content items from a second device. Step 808 is similar to step 604 of the above method 600.
[0069] At step 810, the output device manager application generates a collaborative playlist including the content items from the first list and the second list. At step 812, the output device manager application sorts the content items in the collaborative playlist based on one or more criteria. At step 814, the output device manager application causes the media content items in the collaborative playlist to be output via the audio output device network. Steps 810, 812, and 814 are similar to steps 606, 608, and 610 of method 600, respectively.
[0070] In some embodiments, when additional preference data becomes available and / or when additional computing devices join or leave the collaborative audio system while the media content items in the collaborative playlist are being output, method 800 may return to step 802, and thus method 700 may be repeated to update the collaborative playlist accordingly. Although Figure 8 not shown, step 808 may be repeated multiple times for each of the computing devices that provide list content items for the collaborative audio system. Then, step 810 may further generate a collaborative playlist based on the additional preference data and / or the lists of content items. Although Figure 8Although not shown in the figure, steps 802, 804, and 806 can be repeated multiple times so that multiple computing devices can provide preference data for forming a list of content items for a coordinated audio system. In some embodiments, steps 802, 804, and 806 are only performed for all computing devices 180, and step 808 is omitted to form a fully automatically generated collaborative playlist. In some embodiments, both manually added and automatically generated content items from one or more computing devices 180 form a collaborative playlist.
[0071] In summary, multiple computing devices and output devices are coupled together to form a coordinated media system. The computing devices collaborate to generate a list of content for output on the output devices. Content can be manually added to the list by a user at each computing device, and the content lists from the computing devices are combined into a collaborative playlist. The output order from the collaborative playlist can be determined based on the time the content is added to the list and / or the preferences of the users associated with the content in the collaborative playlist. Manually added content in the collaborative playlist can also be used to determine content suggestions that can be added to the collaborative playlist. Additionally, the content of the collaborative playlist and / or the sorting of the content can be determined based on the user's content consumption data.
[0072] At least one technical advantage of the disclosed technology over the prior art is that with the disclosed technology, multiple users and devices can collaborate together to provide content for playback using a coordinated media system. Another advantage is that the content in the playlist is sorted based on the content preferences of multiple users. Thus, the more preferred content among multiple users is played earlier and / or more frequently in the playlist and is therefore more likely to be played than the later content in the playlist. These technical advantages provide one or more technical improvements over prior art methods.
[0073] 1. In some embodiments, a computer-implemented method for managing content in a media system includes: generating a first list of content items at a first computing device, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
[0074] 2. The method according to clause 1, wherein the one or more output devices include a plurality of communicatively coupled audio speakers.
[0075] 3. The method according to clause 1 or clause 2, wherein generating the first list of content items includes: receiving one or more user inputs to add one or more first content items to the first list.
[0076] 4. The method according to any one of clauses 1 to 3, wherein generating the collaborative playlist comprises: determining one or more recommended content items based on one or more first content items in the first list, and adding the one or more recommended content items to the collaborative playlist.
[0077] 5. The method according to any one of clauses 1 to 4, wherein generating the first list of content items comprises: obtaining user profile data associated with a user of the first computing device, determining one or more recommended content items based on the user profile data, and adding the one or more recommended content items to the first list.
[0078] 6. The method according to any one of clauses 1 to 5, further comprising sorting a plurality of content items included in the collaborative playlist based on one or more criteria.
[0079] 7. The method according to any one of clauses 1 to 6, wherein the one or more criteria correspond to respective timestamps associated with when each of the plurality of content items is added to the first list or the second list.
[0080] 8. The method according to any one of clauses 1 to 7, wherein the collaborative playlist includes a first content item, and wherein the one or more criteria include at least one of a number of votes for playing the first content item or a number of votes for not playing the first content item.
[0081] 9. The method according to any one of clauses 1 to 8, wherein causing at least one content item included in the collaborative playlist to be output via the one or more output devices comprises: causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
[0082] 10. In some embodiments, one or more non-transitory computer-readable storage media comprise instructions that, when executed by one or more processors at a first computing device, cause the one or more processors to perform the following steps: generate a first list of content items, obtain a second list of content items associated with a second computing device, generate a collaborative playlist based on the first list and the second list, and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
[0083] 11. The one or more non-transitory computer-readable storage media according to clause 10, wherein generating the first list of content items comprises receiving one or more user inputs to add a first content item to the first list.
[0084] 12. One or more non-transitory computer-readable media as described in clause 10 or clause 11, wherein the steps further include: sorting the content items in the collaborative playlist based on at least one of the number of votes for playing the first content item by one or more users or the number of votes for not playing the first content item by the one or more users.
[0085] 13. One or more non-transitory computer-readable storage media as described in any one of clauses 10 to 12, wherein generating the collaborative playlist of content items further includes: determining one or more recommended content items based on the first content item, and adding the one or more recommended content items to the first list.
[0086] 14. One or more non-transitory computer-readable storage media as described in any one of clauses 10 to 13, wherein generating the first list of content items includes: obtaining user profile data associated with a user of the first computing device, determining one or more recommended content items based on the user profile data, and adding the one or more recommended content items to the first list.
[0087] 15. One or more non-transitory computer-readable storage media as described in any one of clauses 10 to 14, wherein the user profile data includes media content consumption data and preference data.
[0088] 16. One or more non-transitory computer-readable storage media as described in any one of clauses 10 to 15, wherein causing the at least one content item included in the collaborative playlist to be output via the one or more output devices includes: causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
[0089] 17. One or more non-transitory computer-readable media as described in any one of clauses 10 to 16, wherein the steps further include sending the collaborative playlist to the second computing device.
[0090] 18. In some embodiments, a computing device includes a memory storing an application and one or more processors that, when executing the application, are configured to: generate a first list of content items, obtain a second list of content items associated with a second computing device, generate a collaborative playlist by aggregating the first list and the second list, and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
[0091] 19. The computing device as described in clause 18, wherein the one or more processors, when executing the application, are further configured to: determine one or more recommended content items based on at least one of the first content item included in the first list or the user profile data associated with the user, and add the one or more recommended content items to the first list.
[0092] 20. The computing device as described in clause 18 or clause 19, wherein in order to output the at least one content item via the one or more output devices, the computing device is configured to: send the at least one content item to the one or more output devices, or cause the second computing device to send the at least one content item to the one or more output devices.
[0093] Any and all combinations, in any way, of any claim element recited in any claim and / or any element described in this application fall within the intended scope of the present disclosure and protection.
[0094] The descriptions of the various embodiments have been presented for illustrative purposes and are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
[0095] Aspects of the present embodiment may be embodied as a system, method, or computer program product. Accordingly, aspects of the present disclosure may take the form of: a completely hardware embodiment, a completely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software aspects with hardware aspects, which embodiments are generally referred to herein as "modules", "systems", or "computers". Additionally, any hardware and / or software technologies, processes, functions, components, engines, modules, or systems described in the present disclosure may be implemented as a circuit or a collection of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0096] Any combination of one or more computer-readable media can be utilized. A computer-readable medium can be either a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, by way of example and not limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, a solid state drive (SSD), a secure digital (SD) drive, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium can be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0097] As described above, aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. When executed by the processor of the computer or other programmable data processing apparatus, these instructions enable the functions / actions specified in one or more blocks of the flowchart and / or block diagram to be implemented. Such a processor can be, but is not limited to, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable gate array.
[0098] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, depending upon the functionality involved, or may sometimes be executed in the reverse order. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or actions, or combinations of special purpose hardware and computer instructions.
[0099] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope thereof, which is determined by the claims that follow.
Claims
1. A computer-implemented method for managing content in a media system, comprising: at a first computing device: generating a first list of content items; obtaining a second list of content items associated with a second computing device; generating a collaborative playlist based on the first list and the second list; and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
2. The method of claim 1, wherein the one or more output devices include a plurality of communicatively coupled audio speakers.
3. The method of claim 1, wherein generating the first list of content items includes receiving one or more user inputs to add one or more first content items to the first list.
4. The method of claim 1, wherein generating the collaborative playlist comprises: determining one or more suggested content items based on one or more first content items in the first list; and adding the one or more suggested content items to the collaborative playlist.
5. The method of claim 1, wherein generating the first list of content items comprises: obtaining user profile data associated with a user of the first computing device; determining one or more suggested content items based on the user profile data; and adding the one or more suggested content items to the first list.
6. The method of claim 1, further comprising sorting a plurality of content items included in the collaborative playlist based on one or more criteria.
7. The method of claim 6, wherein the one or more criteria correspond to respective timestamps associated with when each of the plurality of content items was added to the first list or the second list.
8. The method of claim 6, wherein the collaborative playlist includes a first content item, and wherein the one or more criteria include at least one of a number of votes for playing the first content item or a number of votes for not playing the first content item.
9. The method of claim 1, wherein causing at least one content item included in the collaborative playlist to be output via the one or more output devices comprises: causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
10. One or more non-transitory computer-readable storage media, the one or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors at a first computing device, cause the one or more processors to perform the following steps: generating a first list of content items; obtaining a second list of content items associated with a second computing device; generating a collaborative playlist based on the first list and the second list; and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
11. The one or more non-transitory computer-readable storage media of claim 10, wherein generating the first list of content items includes receiving one or more user inputs to add a first content item to the first list.
12. The one or more non-transitory computer-readable media of claim 11, wherein the step further includes: sorting the content items in the collaborative playlist based on at least one of the number of votes for playing the first content item by one or more users or the number of votes for not playing the first content item by the one or more users.
13. The one or more non-transitory computer-readable storage media of claim 11, wherein generating the collaborative playlist of content items further includes: determining one or more suggested content items based on the first content item; and adding the one or more suggested content items to the first list.
14. The one or more non-transitory computer-readable storage media of claim 10, wherein generating the first list of content items includes: obtaining user profile data associated with a user of the first computing device; determining one or more suggested content items based on the user profile data; and adding the one or more suggested content items to the first list.
15. The one or more non-transitory computer-readable storage media of claim 14, wherein the user profile data includes media content consumption data and preference data.
16. The one or more non-transitory computer-readable storage media of claim 10, wherein causing the at least one content item included in the collaborative playlist to be output via the one or more output devices includes: causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
17. The one or more non-transitory computer-readable media of claim 10, wherein the step further includes sending the collaborative playlist to the second computing device.
18. A computing device, including: a memory that stores an application; and one or more processors that, when executing the application, are configured to: generate a first list of content items; obtain a second list of content items associated with a second computing device; generate a collaborative playlist by aggregating the first list and the second list; and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
19. The computing device of claim 18, wherein the one or more processors, when executing the application, are further configured to: determine one or more suggested content items based on at least one of the first content item included in the first list or user profile data associated with a user; and add the one or more suggested content items to the first list.
20. The computing device according to claim 18, wherein in order to output the at least one content item via the one or more output devices, the computing device is configured to: send the at least one content item to the one or more output devices; or cause the second computing device to send the at least one content item to the one or more output devices.