Hello, I made Playlistful because I like hosting parties where everyone gets to contribute to the music, but hated people skipping each others songs, accidentally deleting the whole playlist, and queuing up 3000 songs so that no one else gets a turn.
This is the first web app I have ever made, and my first time using any of the languages/tools involved.
Any feedback would be greatly appreciated! Thanks a lot
At the risk of suggesting anything Microsoft on HN, have a look at the Xbox music API. It has search functionality as well as streaming (for people with a music pass). It will also give you some artwork to display as the song is running.
http://msdn.microsoft.com/en-us/library/dn546671.aspx
Thanks for suggesting it, I hadn't even heard of it! I'll take a look. It would certainly make sense to use more than one source for the music so that the whole thing doesn't go down when YouTube change their mind on who can use what.
I'm currently working on something similar called MyJam, which lets you collaboratively build playlists and vote for the favorite songs which then rise to the top of the queue. We won Startup Weekend Ottawa! Check it out here: http://myjam.co/
Wow, that looks great, I'll have to give it a go. Where were all these similar apps a year ago?
Side comment: There is a site called https://www.thisismyjam.com/ might get confusing, not sure who was first though. It's pretty hard finding a unique name in this space, took me AGES to come up with Playlistful.
You should give more details about what music can be played : from guests clients device and streamed to the host or solely music stored locally on the host computer ?
I expected to find that info in the FAQ.
An introduction video/screenshots on the front page would be good to.
Love the idea!
Agreed. I had to run a test party and login as a guest in order to find out it expected a YouTube link. That should probably be more visible. Since the sources seem similar to Blip.FM, you might check how they handle this.
Thanks! I tried to make it as simple to use as possible. I might do a blog post or two if people are interested in how it was made and the design process. In short: Python using Flask on Google App Engine; YouTube API V3; GIMP for images and logo; Notepad++ for coding; And then loads of battling CSS.
Could you add host-side configuration of an upper limit on video length, after which the remainder is automatically skipped? That would handle the case where someone (accidentally or otherwise) chooses an excessively long video (for instance, a version looped for several hours), to avoid the host having to manually skip it.
Related to that, you might consider letting the host designate a privileged client, so that the person running the party can hook that up to their phone to control skips and similar, without going directly to the party machine hooked up to the big screen and sound system. You might also offer options for consensus skips: "if more than N people want to skip a song...".
I like that if you fullscreen the video, it stays that way when a new video comes up; that makes this useful for more than just music. (Please do keep that working if you add non-YouTube support.) However, you might consider making a fullscreenable container that puts the video at almost-fullscreen, but still shows Playlistful and the party ID.
It looks like on the Playlist screen you replace the username with "You", even as a substring of the user's name: I tried it out with users "Foo", "Not Foo", and "Random", and when "Not Foo"'s song came up, Foo's Playlist screen showed it as "Chosen by Not You".
You might consider letting people add a YouTube playlist, or for that matter let users with a YouTube account choose from their favorited/liked/etc videos.
Why couldn't you just have a skip button with a limit (e.g. 4 skips needed until song is skipped) then let anyone click skip or have it be a bit more smarter and everyone gets 1 free skip for each X minutes and then if they want more - they can pay (like piano bar) where that $ could go towards drinks/food. Okay, maybe over thinking, but at least let others choose to skip if 4+ people choose that. Just a though - pretty slick - I wonder what other cool things this concept could work for.
With many people around, someone might have to wait a while to have a video/song come up; it shouldn't be possible for a single person (other than the host) to skip a song. On the other hand, if a significant fraction of the people connected to the party want to skip something, skip it; if it was skipped close to the beginning of the video, bump that person's next request higher in the queue as a replacement.
Thanks a lot! Yes, the ability to either stop long songs getting added, or to skip the end of them is the next thing I'm going to add. The first test run I did, inevitably, someone added 10 hours of trololol man straight away.
Your second point is a good idea, I had considered having a pop up that is visible for a few seconds, or maybe even the whole song, but that sounds like it might be better.
Also, thanks for the heads up, yeah it's just a s/$name/you/ replace. I'll look into that. Thanks
Since it's YouTube would you consider chromecast support from the host machine? I'm honestly not sure exactly how it works but it could be neat to have the videos on the TV and that's quite often where the best sound system is.
Also have you considered letting people set the party url? Taking advantage of the fact most could probably come up with a reasonably unique and memorable name and the fact you only need to keep them around for a few hrs or a day - it could make the connection easier.
Thanks! I haven't looked into Chromecast yet, but I agree it would be a good idea.
Don't tell anyone, but at the moment you can pick the party URL by changing the id parameter in the URL after clicking start party... Though it is definitely something I'm considering adding official support for.
I'll throw out what my roommate and I did too. We did essentially the same thing, but it plays music from rdio, or whatever songs you have on an iPhone/iPad/iPod touch.
It's up at http://letsparty.fm. Not quite finished, but definitely usable for our purposes.
Thanks! At the moment it randomly selects a user with one or more songs queued up, and then picks their top song. I think that I will refine this though as sometimes someone gets picked 6 times in a row and everyone complains. Especially if that someone is me, it looks suspicious...
Cool, I'll check that out. How long ago did you release it? I've been looking for something like this for ages.
Maybe you could order the users by how long they waited to have one track played. This way, everyone has the guarantee to be able to play at least one track.
And thanks! It's not released officially yet, I'm still hacking on it on weekends, and beta testing it in parties. I may post it on hacker news when the spotify integration is ready
Since you show the upcoming songs in the playlist, you could consider using that information in the queueing: explicitly order the upcoming songs to rotate between people, one song per person, with everyone getting one song before anyone gets a second.
Thanks! That's a really interesting suggestion that I hadn't thought of... Maybe make it have a printable option of something so you can stick it around your house before the party starts.
This really solves a problem I'm sure everyone has at house parties. Congratulations, you make me feel ashamed I didn't come up with this first :)
Good luck
I think that is something where my music taste has directed how it works. I would never dream of fading a metal or classic piece of music into another one, but I bet that it would be great for other genres of music. Perhaps I could include an option when the party is started up. I know that there are programs specifically to do this kind of thing aren't there? Anyone know of any good examples? I suspect you'd need to match the beats up somehow.
This post was penalized by the voting ring detector, but we turned that off because we want to see original work on HN and because there's a genuine discussion here.
All: please don't try to promote your submissions to HN by getting friends to upvote them. If friends are trying to do you a favor, try to call them off. The HN software identifies most of this as voting ring activity and penalizes the story.
My guess is that it detects natural access to the post by browsing new/top etc. versus direct link access followed by a vote and disconnect plus perhaps some vote distribution detection (i.e. a cluster of direct access votes indicates a ring)
I imagine full disclosure would simply encourage more sophisticated voting rings :P
This is the first web app I have ever made, and my first time using any of the languages/tools involved.
Any feedback would be greatly appreciated! Thanks a lot