
Show HN: Jam.now.im – Multiplayer HTML5 audio - inportb
http://jam.now.im/c/Hacker-News?mode=auto
======
inportb
I 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
Thank 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
I 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
Got 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!

------
jjcm
Not 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
SoundCloud 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)

------
moron4hire
This 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.

------
alexland
Love 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?

~~~
inportb
I'd like to investigate this. What browser and OS do you use? Thank you for
the help.

~~~
alexland
I'm on OSX, I've tried it on both Firefox (36) and Chrome (41.0.2272.118
(64-bit)).

------
itaysk
Love 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
Thanks! 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.

------
sic1
Looking 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
We 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.

------
timdaub
Does 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?

~~~
inportb
Thank 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
I'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.

~~~
inportb
It 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.

------
munk801
When 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
I, 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.

------
mandeepj
It 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
It'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://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP)

~~~
mandeepj
Thank you so much. It is going to help me in a big way. Appreciate your
response.

------
yellowapple
Not 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. :)

------
anon4
If 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.

------
z3t4
WOW! You just made the worlds best music discovery service! Too bad that was
the easy part ...

~~~
inportb
... the hard part is monetizing it so it doesn't go the way of turntable.fm :)

------
errozero
This 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
Yes, that's the default channel. I'm working on the confusing bits! Thanks for
playing.

------
timinman
It's blocked by our corporate web filtering service.

