Hi everyone, I posted a comment a little while ago that gained some traction so I'm posting my solo project here. JQBX is a social listening platform that lets you listen to music in real time with anyone anywhere. You can also chat, vote, and save tracks that other people have played. JQBX uses the Spotify as the backbone for all this so you need a Spotify Premium account to use the app. Happy to field any technical questions anyone has. Thanks!
That looks amazing. Does anybody remember grooveshark? It had their own little group of popular DJs who would live-edit their playlists and thousands would listen in. This leads me to the question: Do I need to know the person(s) I'm listening with or can someone actually generate a following through your platform? Also, what do you need camera access for?
1. You don't need to know the person in order to listen with them. What you do is you create a room (or join an existing one) and then you can either step up and DJ in the room (with friends or strangers) or you can just do nothing and listen to what people play. You can also make rooms private if you want to do it w/ just people you know.
2. I need camera access so you can upload your avatar. I should probably only request it at the time of upload however- so that's my fault and I'll look into fixing it.
3. I didn't try that Grooveshark feature but it sounds similar. It draws a bit of inspiration from turntable.fm which has been out of business for a couple years.
Yes, their API doesn't let allow for music streaming / playback access unless you have a Spotify Premium account. Also even if it did there would probably be an issue w/ keeping people in sync assuming Spotify wanted to continue to play audio ads for free users of their API.
First of all - awesome app will give it a good testing this week! I've been using Discord's party-listen (or whatever it's called feature). Spotify enforced some random restrictions like - if I'm talking for more than 30 seconds then it assumes that I'm illegally streaming to music so it pauses the song immediately.
Have similar silly restrictions been enforced on JQBX to your knowledge?
No but I'm sure our scale is a bit different and I can see how that could be an issue since they probably don't want to dish out cash for streams to people who aren't there. I take care to make sure that you're not AFK but it's on the scale of hours and not 30 seconds/minutes.
FYI, the term "social listening" has an entirely different meaning in the marketing industry (it means social media monitoring). So some people might get confused as to what you're showing.
I'd agree with that approach. 'social' is burdened with a variety of meaning, and a lot of it not too positive. 'group listening' sidesteps any of those possible concerns.
On the other hand, if you want a buzzword, "social listening" seems fine because it is only used in a niche that most potential users aren't living in. Sure it might run up against VC conceptions. That points to its real problem: "social listening" is a product category more than an activity.
For me the term 'social' in the context of some new app or site has some negative connotations. Using 'group' or perhaps 'collaborative' would be more neutral, I think.
Feel free to shoot me an email jason[at]thebestagency.com if you have anything specific. At a high level a lot of the components end up being pretty different because the UI is naturally pretty different. They share some functions but the "DOM" is mostly rewritten. But the redux actions and reducers are all pretty much the same (small changes depending on how to store state but that could definitely be abstracted away).
> But the redux actions and reducers are all pretty much the same (small changes depending on how to store state but that could definitely be abstracted away).
Are you using a monorepo? The reducers/actions are copied/pasted for each version? Thanks!
Click the "Playlists" tab (center of the page on the website, separate tab on mobile) then click on the playlist you want and on the top right click "Add Playlist to Queue". And the playlist will get added to your queue.
The download for macos seems to be a bit broken, it's meant to be going to download.jqbx.com but it's not redirecting. I think it might be a cert issue (firefox dev edition). Looks cool though, going to give the web app a go.
Yes I definitely want to make that integration work. As it stands it's a bit of a pain since it's not included in Spotify's connect API. I have a Sonos so I feel your pain.
A quick fix (if you run OSX) is to download the Mac App and then direct your Spotify App to your Sonos speaker. Then it will work as expected. For now thats the only way to hook them up w/o a wire.
I've been playing JQBX over Sonos as Jason described. It works pretty well. It does seem that the app player is needed for this as the web player will play one song over Sonos and then revert to playing on the device where the web app is running.
This is awesome. I was a DJ back in the early 2000s using Shoutcast [0] to stream. A lot of issues with obtaining music and obviously streaming rights.
This is so easy to whip up your own station with a legit music source. Barrier to entry is much lower than having to figure out how to configure all of the software and connect to the actual stream server. The DJ software had some cool features like fade-in/fade-out, etc. but the music and the DJ's ability to speak to the audience were the important part. The chat element here could replace that. Something like this seems like it could be the next evolution in online radio.
I have a feature request :) Would it be possible to show the time a track has started to play in the history? Someone made a comment about a track he was going to play next, but I only read it ~20 minutes later so I don't know which track he was referring to. Maybe this would also be interesting in cases where you can't check the current playlist right now but want to know which track was playing at a specific time.
Oh, I just noticed that the currently playing track is shown next to a comment. So I can figure out the first case. But if I'm e.g. driving and can't check the playlist right now it would still be useful to be able to check later what was playing at a specific point in time.
This is awesome! I'll use it at work with colleagues. We have tried https://www.ampme.com, which I really didn't like. It was more targeted at playing exactly synchronised on the speakers of multiple devices to boost the volume (and at least when I tried it, it was mobile only).
Thanks! Yeah I played around with ampme and sounds like their case as I remember it. Our use case is more for listening to music in sync with other people and voting / chatting in real time.
You can also use it w/ colleagues not in the same office. A lot of people have had success using it in their office if they work remote or have a lot of employees that do.
I really love this concept. I usually use YT recommendations to find new music, but it's too narrow-minded to come up with things which are totally new to me. Dumb noob question - would making this app "Spotify agnostic" amount for a complete rewrite?
Thanks! Not a complete rewrite, but definitely a refactor of all the logic for playing audio and syncing audio between users (and some UI changes). I would also need to do a dive into each platform's API specifics and make sure they give permissions to pause, search, seek, and play.
My only problem is that it’s too fun — I have a hard time using it at work because I get too engaged chatting, saving great tracks and adding my own to a channel.
Next I plan to use this at the gym to keep myself and a few friends workout playlist in sync.
Definitely going to check this out. I'm a big fan of social listening sites. I run a bot in a room on Dubtrack.fm[1]. Before Dubtrack we were on Plug.dj. I love that you have Spotify integration.
Any chance you'll add the ability to queue up YouTube and/or Soundcloud songs?
I think you'll like JQBX then! Re. YT & Soundcloud: I'm exploring it. My goal was to get everything feature complete w/ just Spotify to keep things focused. But once all the kinks get sorted out it's definitely on the roadmap.
I'm having an issue where songs will play but it randomly moves to the next song without finishing the current song. Is anyone else seeing this? Is there a Spotify setting I need to change?
Have you tried clicking "Sync Audio" also what version are you using (Mobile app or Web App)? Feel free to shoot me an email jason[at]thebestagency.com if you want help troubleshooting.
87 comments
[ 2.8 ms ] story [ 145 ms ] thread1. You don't need to know the person in order to listen with them. What you do is you create a room (or join an existing one) and then you can either step up and DJ in the room (with friends or strangers) or you can just do nothing and listen to what people play. You can also make rooms private if you want to do it w/ just people you know.
2. I need camera access so you can upload your avatar. I should probably only request it at the time of upload however- so that's my fault and I'll look into fixing it.
3. I didn't try that Grooveshark feature but it sounds similar. It draws a bit of inspiration from turntable.fm which has been out of business for a couple years.
Have similar silly restrictions been enforced on JQBX to your knowledge?
"Listen together"?
On the other hand, if you want a buzzword, "social listening" seems fine because it is only used in a niche that most potential users aren't living in. Sure it might run up against VC conceptions. That points to its real problem: "social listening" is a product category more than an activity.
EDIT: as others have suggested.
Mobile is React native, Mac Desktop app is electron + react and website is react. For anyone else wondering.
Are you using a monorepo? The reducers/actions are copied/pasted for each version? Thanks!
A quick fix (if you run OSX) is to download the Mac App and then direct your Spotify App to your Sonos speaker. Then it will work as expected. For now thats the only way to hook them up w/o a wire.
This is so easy to whip up your own station with a legit music source. Barrier to entry is much lower than having to figure out how to configure all of the software and connect to the actual stream server. The DJ software had some cool features like fade-in/fade-out, etc. but the music and the DJ's ability to speak to the audience were the important part. The chat element here could replace that. Something like this seems like it could be the next evolution in online radio.
Awesome work!
[0] https://www.shoutcast.com/
With that in mind; maybe voting for the next song instead of current?
Great work! Looking forward to using it!
You can also use it w/ colleagues not in the same office. A lot of people have had success using it in their office if they work remote or have a lot of employees that do.
My only problem is that it’s too fun — I have a hard time using it at work because I get too engaged chatting, saving great tracks and adding my own to a channel.
Next I plan to use this at the gym to keep myself and a few friends workout playlist in sync.
Any chance you'll add the ability to queue up YouTube and/or Soundcloud songs?
1. https://www.dubtrack.fm/join/chillout-mixer