Audio Recording in the Browser

“I’m really excited to announce a new feature in Jetpack 0.4 — Audio Recording. ‘Jetpacks’ can now access the microphone with just a few simple lines of Javascript […] The result is an audio file encoded in Ogg/Vorbis, which you can then playback, or if you choose to upload the file to a remote location”. A while ago we discussed Jetpack (and Google’s) HTML / JavaScript based browser extensions. Now the ante has been upped, with such creativity as URL-based voice memos!

Of course, Flash has had the ability to access the microphone for some while now, why this announcement is news is that this is part of Mozilla Jetpack–an extension that lets users write Firefox extensions using HTML and JavaScript so that they don’t have to learn the more complex XUL and XPCOM interface. A JavaScript API is provided to simplify a number of Firefox functions, much like what FUEL had done before.

By having the functionality as part of a browser extension however, it means that the audio functionality can escape the plugin-prison and serve a purpose throughout the browser. The voice memos example demonstrates a practical way of tapping into browser data. Personally, I find this very exciting, as it represents a lot of potential innovation.

Imagine a podcast recording web app, or even extending that to video–being able to record and make minor edits to a video entirely in the browser would open up the Internet as a two way channel of communication for so many people. YouTube, as popular as it has been still relies upon a fair few hurdles and bits of technical-know how to get your videos online, and the time involved.

Now imagine being able to record, edit and publish a personal video all within the browser in a single interface. What a difference that would make.

Having such audio and video input functionality exposed to the browser also gives developers all the more chances to use the super-fast JavaScript engines in browsers to good use. Augmented reality is just one example (requires Firefox 3.5).

I genuinely find this to be very exciting, but it does leave an itch at the back of my mind: what about security, privacy, and ultimately control?

But that’s the great thing about having this built into the browser, and not inside a plugin-prison! Control is ultimately yours! Whilst HTML5 video and audio tag content is a rare occurrence at the moment, what happens if lots of sites start using it, and you get assaulted by auto-playing music and videos on multiple tabs?

With the decoder built into the browser, you get the final say, unlike in Flash where the browser has no control over nuisances. Mozilla could implement a browser-wide volume control, or only play audio/video in the currently focused tab. The browser can always veto the content. A browser-wide option can be added to not automatically play audio or video content, despite the HTML asking to do so. No such fine control in Flash. This could be controlled on a per-site basis using Firefox’s per-site customisation capability (zoom settings are remembered currently).

And that means, security, privacy and control wise, you are the one in control, rather than Flash, or the website at hand.


  1. 2009-07-17 7:53 pm
  2. 2009-07-17 7:54 pm
    • 2009-07-17 8:23 pm
  3. 2009-07-17 8:57 pm
    • 2009-07-17 9:02 pm
  4. 2009-07-17 9:11 pm
  5. 2009-07-17 9:45 pm
    • 2009-07-18 1:52 am
  6. 2009-07-18 1:56 am