The Cutting Edge Tech Behind JAM with Chrome, a Jam Session Web App
Google made ample use of standard and experimental web technologies
JAM with Chrome is a great way of showing off what the web can do these days. It's a virtual jam session, done in real time, which uses nothing more than web technologies. It's also a fun app and you can actually create some interesting things with it, if you put in the time.But if you're more interested in what's inside, Google is providing all the details. The main component, obviously, is Web Audio API, which makes it all possible.
Web Audio API is Chrome-only for now, but it's been built into Chrome and enabled by default for a few months now, enough for some impressive apps to be built with it.
Web Audio API makes it possible to play several sounds at the time, alter and distort them, generally do powerful sound processing (for a browser) in near real time without bringing your computer to a halt.
Beyond the Web Audio API, JAM with Chrome uses Websockets, the troublesome but powerful technology that enables two-way data streams between the servers and Chrome. This is what makes it possible to keep in sync with your friends while jamming.
Speaking of servers, everything is glued together by Google's App Engine where all the server side code is run. And speaking of code, that's all written in Go, Google's very one programming language, again for the server side.
Back to the app, the visuals are handled by the now common CSS3, for the effects, transitions and the site's styling, along with HTML5 Canvas for the heavy duty animations and graphics. Finally, Google's Web Fonts provide the necessary distinctiveness of a polished app like this.
Overall, apart from the Web Audio API perhaps, this is all fairly standard technology at this point. What it shows is that developers have plenty of tools to choose from if they want to stick to the web for powerful and snazzy apps.