There are a number of challenges we've faced so far, but the biggest two are latency and audio gear setup. Latency doesn't only come from the internet; your audio gear and OS can also add quite a bit of delay as well. Our approach with latency is to measure well, and help users reduce latency where they can (and of course optimize our own software to add as little latency as possible).
And we continue to refine how you hook up your audio gear to the JamKazam PC/Mac application. Some gear works great. Some... gives us quite a bit of trouble.
Anyway, the product is usable, although we have much, much more to improve on.
If curious, we are using a RoR w/ Postgresql hosted mostly on Linode. We are using Websockets + RabbitMQ to help route messages between clients and browsers. We communicate over websockets for control messages when initially establishing media between two parties, then ultimately going directly P2P with UDP audio to help with latency; hair-pinning audio through the server is not your best bet.
You can check out some videos...
Musicians jamming: https://www.youtube.com/watch?v=I2reeNKtRjg
Overview: https://www.youtube.com/watch?v=ylYcvTY9CVo
Getting Started: https://www.youtube.com/watch?v=DBo--aj_P1w
I always thought you could go A -> B -> C, but A only hears herself, B hears A and B, etc. Do all musicians listen to each other?
Does this need particularly good internet connections? What is the acceptable latency between peers?
Residual Kid: http://youtu.be/dibRmkIaMjs
Mingo Fishtrap: http://youtu.be/mvlcWisMqVs
Gina Chavez: https://www.youtube.com/watch?v=DZWYLN6ML7E
I know these guys personally but am not involved with JK and am very impressed with what they've built. I always thought physics would play a cruel joke on them, but so far they've been able to make it happen!