8 ms·
Show HN: Jam.now.im – Multiplayer HTML5 audio
- inportb 12y agoI wanted to play with new toys, so here's a little app that lets you build and synchronize a playlist with other people. Open the page in a few more tabs/computers for more fun. Thanks for playing :) Limitations: It relies on HTML5 audio, so it probably only works well on Chrom{e,ium}, Firefox, Safari, Opera, etc. Content comes from YouTube, so Firefox might have trouble with AAC when WebM is unavailable. Mobile devices are remote control only. http://jam.now.im/c/Hacker-News http://jam.now.im/c/Hacker-News (hacker jam!) http://jam.now.im/c/Hacker-News?mode=auto http://jam.now.im/c/Hacker-News?mode=auto (play old stuff if there are no requests) http://jam.now.im/c/Hacker-News?mode=rc http://jam.now.im/c/Hacker-News?mode=rc (remote control only, with no audio) Replace `Hacker-News` with your channel name.
- inportb 12y agoThank you for all the awesome feedback! I'll collate some of them here: 1. It's confusing - This is also my concern. It diffs/merges playlists, so it can be confusing how your requests map to what's actually playing. The other thing it does is count votes and exclude below-average tracks. 2. Thumbs up/down - Thumbs up votes for an encore/repeat. Thumbs down votes to skip. It weighs your votes against the number of requests for the track. 3. Song length limit - That's actually a great idea, to keep things moving along. 4. It's annoying when people skip lots of tracks - Indeed, perhaps a rate limit per user would be a good idea?
- pierrec 12y agoI think that the "thumbs up" vote should be separate from the possible "encore/repeat" vote. People probably vote thumbs up just to counteract other's thumbs down (inevitable once there are enough participants), then, if a track makes it through the battle without being skipped, an awkward situation is created when it starts looping but nobody wanted it to loop. As for the skipping situation, maybe if tracks started off with a default of one "thumbs up", then you would need at least two people to skip a track. Just one possible solution.
- inportb 12y agoGot it. It seems that it would be more intuitive if the thumbs up just added that track to your requests. The encore button should definitely not look like an upvote button. I'll look into making it harder to skip tracks. Thanks!
- moron4hire 12y agoThis is awesome. I just got Weird Al's "The Saga Begins" to follow Don McLean's "American Pie". It's like riffing with whole tracks. It'd be wonderful if everyone could agree to riff on each track, rather than just injecting their favorite stuff and breaking any overall unity to the playlist.
- jjcm 12y agoNot bad. Seems somewhat lighter featured than plug.dj and other community dj rooms, but I think the nice thing is that you're just extracting the html5 audio tracks as opposed to playing the entire video. Could make it easier to port to mobile. I'd like to see more sources than youtube though - soundcloud specifically. Any plans on open sourcing this?
- inportb 12y agoSoundCloud is in the works. It needs a (client side) metasearch function, which I think lunr.js could help with. The source is in the pipeline, but not quite ready yet! This is actually a rewrite of an earlier project of mine and shares most of the ideas: https://github.com/jyio/jamwithfriends https://github.com/jyio/jamwithfriends
- alexland 12y agoLove the idea, but I'm having trouble getting the audio to play. After searching for and adding songs, they are listed but the "There are no requests" message is still displayed, and nothing is playing. Am I missing something?
- itaysk 12y agoLove how simple and friction-less the UX is! Also, search auto-complete is really fast, how did you do that? (wouldn't suppose you cached entire YouTube's index)
- inportb 12y agoThanks! It queries YouTube's API so it doesn't hit my server at all for these requests. Ractive.js makes it easy to show search results using a consistent interface.
- timdaub 12y agoDoes not work for me: - Chrome Version 41.0.2272.118 (64-bit) - MBP 2014 MAC OS X 10.10.2 Yosemite Also tried latest version of Waterfox. Having a rather poor internet connection here, but kept the page open for more than 5mins without any music playing. Any suggestions?
- zz1 12y agoSame OS, Firefox works
- inportb 12y agoThank you for reporting this. Did it give you a playlist at all, and was there any chat history on the right side of the page? Even though HTML5 audio support is pretty good, we're running into problems with Google's location-based restrictions and audio formats.
- timdaub 12y agoI'm from Germany, if this explains it then. Other than that, it played some little music after 10-20mins idling in my tab bar I guess. Then it stoped again... Chat is showing, Playlists are showing. There are no errors in the js console and no scripts are being blocked as well.
- frik 12y agoIt's your GEMA, that blocks YT videos.
- zz1 12y agoIn Germany too, but it works.
- inportb 12y agoIt actually tries to detect country-restricted tracks and proxies them (so it's good that there aren't too many of these... yet). When I encounter one of those, I refresh with the console open and find a request to *.googlevideo.com/videoplayback returning 403 Forbidden. It's hard for me to debug this in the US, but I'll look into it.
- z3t4 12y agoWOW! You just made the worlds best music discovery service! Too bad that was the easy part ...
- inportb 12y ago... the hard part is monetizing it so it doesn't go the way of turntable.fm :)
- deleted 12y ago[deleted]
- munk801 12y agoWhen I request songs, it shows up at the top section and then grays out. And it looks like there is no way to add the song to the queue. Is there a reason for this? Otherwise, this is something I always wanted every since we lost turntable.fm :(. I never got into plug.dj.
- inportb 12y agoI, too, loved turntable.fm and wanted something similar. When you request a track (add it to your list), you upvote the track; if votes >= median, it gets queued in the master playlist (thumbnail appears in the header), or else it appears gray on your list.
- anon4 12y agoIf someone wants something similar, but for their local music collection, check out grooveshark -- it features a web UI and streaming to any number of connected hosts, along with a (primitive) permissions model and allows uploading of new tracks to the music library through the web UI.
- mandeepj 12y agoIt does not look like an on-demand music player. Is it true? Another question if someone can answer here - it looks this site is playing just audio from youtube music videos. How can you do that? Is it a hack or youtube api supports some type of parameter?
- inportb 12y agoIt's only really on-demand if you're the only user requesting tracks (e.g. you're using your own channel). YouTube offers video and audio content separately at various bit rates[1]. [1]: http://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP http://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over...
- mandeepj 12y agoThank you so much. It is going to help me in a big way. Appreciate your response.
- yellowapple 12y agoNot bad at all. I'll have to pass this around with my coworkers and see if we can get a room going. I'm also pleasantly surprised that I'm not the only one around here who likes Yes. :)
- timinman 12y agoIt's blocked by our corporate web filtering service.
- errozero 12y agoThis is really cool, I've just played about 10 tracks with it. A little bit confusing though, not sure what BlueberryJam means in the top left corner, is that my channel name?
- inportb 12y agoYes, that's the default channel. I'm working on the confusing bits! Thanks for playing.
- sic1 12y agoLooking pretty good for a first run, of course UI updates will have to happen, as it took a bit of clicking to figure out where i was at and what i was actually doing. Still confused as to what control/endless and just the normal room grant. Either way, I started a room in http://jam.now.im/c/bass http://jam.now.im/c/bass and its basically just bugged out. The track that i put in first (of course) is throwing a 500 when it tries to play `Failed to load resource: the server responded with a status of 500 (Internal Server Error)`. You might need some sort of fail handler to ensure a room doesnt just get flat out bugged. Either way, thanks, and I'll be watching closely :) Plans to open source? Or you more like planning to make $$? :P
- sic1 12y agoWe have a few ppl in http://jam.now.im/c/bass http://jam.now.im/c/bass Join up if you like bass music (dubstep, trap, future bass, glitch hop, chill bass, and the like) so we can test this with some dope tracks.
- inportb 12y agoThank you for playing :) A fail handler does sound like a good idea. Control is remote control only, without audio (saves your bandwidth if you're driving your media center with this). Endless will recycle historical tracks if there are no requests. It seems difficult to monetize such a thing (other than using affiliate links, etc). When I find a bit of spare time, I do plan to clean up the code and make it open source. Meanwhile, you could find the previous version at https://github.com/jyio/jamwithfriends https://github.com/jyio/jamwithfriends