BrowserPlus Source Code Available Now on Github

Today we're pleased to announce that the BrowserPlus platform source code is on github, available under the Mozilla Public License. BrowserPlus is open source technology for web browsers that allows developers to create rich web applications with desktop capabilities.


In addition to making the code available, we've launched an all-new developer portal which gives you a snapshot of the latest happenings in the project: including irc discussions, recent commits, forum posts, tweets, and headlines from our developer blog. is the new developer dashboard for the project and we'll be refreshing and migrating all of our documentation to that site in the coming months.

Releasing the platform source code marks a final milestone on our journey to open up browserplus, still it's not the only thing we've been working on these past months. The browserplus user on github contains over 15 different repositories including implementations of most Yahoo!-maintained services for BrowserPlus as well as frameworks and tools to make authoring new services easier.

A Brief Primer

In case you haven't heard about BrowserPlus, let's take a moment to review the Big Ideas behind the project. Simply put, BrowserPlus is a platform for developing web plugins that are browser-agnostic. It is a layer on top of all common browsers that abstracts existing plugin or "Add-On" APIs to expose a single new API. This alternate plugin interface is laser focused on making JavaScript scriptable web plugins easier and safer to write and distribute. If you are the more hands-on type, feel free to peruse the header files for this API on github.

From an applications perspective, BrowserPlus is the tool behind theYahoo Mail's new and improved attachment management. The all-new Yahoo! Mail uses BrowserPlus services to provide client-side image manipulation, efficient uploading, improved file selection, and drag-and-drop to build one of the most compelling upload experiences around.

While there are many different ways to achieve a similarly fluid user experience, all involve writing native software to augment browsers. Instead of building a one-off custom solution for Yahoo! Mail, we've applied BrowserPlus to the problem. This has given us an opportunity to share the solution amongst other Yahoo! properties, as well as with the developer community at large.

HTML5's Missing Piece

As we talk with more folks about BrowserPlus, we're frequently asked, "Will your BrowserPlus effort play nice with HTML5?". Here are some answers:

  • Use what's there: Wherever there's an emergent standard way of accomplishing something, our preference is to provide a "shim" for browsers without support for the feature. For example, at some point in the future when browser vendors all provide a means of handling desktop sourced drag and drop, we hope to drop our own and migrate.
  • Implement what's not: We stay up to date with new happenings in HTML5 and where possible are deeply interesting in helping to develop and publish services which realize emergent standards to give the community a way to viscerally evaluate these standards (some times you just have to "try it on").
  • Explore what's possible: The key focus of BrowserPlus is to realize new scriptable APIs in browsers everywhere faster than ever before. We hope that BrowserPlus can continue to be a project where ideas are realized, explored, and can serve to influence browser vendors and standards bodies.

While the HTML5 effort and its fruits are heartening, we of the BrowserPlus project feel that sometimes the fundamental ingredient of P-L-A-Y is missing. The larger software community has realized over recent years the value of rapid prototyping; the notion that an idea is not fully explored until it's realized in some way. Today, explorations of new APIs can be proprietary or open, taking the form of the Gears project from Google, the new Facebook photo uploader, or a direct implementation in a popular browser. What these efforts have in common: they're *expensive* roads to travel that are not open for all. They can require a great deal of engineering effort, take a lot of time, and are often biased toward those with influence over browser vendors.

The BrowserPlus project is an attempt to bring play back to the web. In the words of Dion Almaer, "We shouldn't have to wait for browser vendors to implement APIs. We should be allowed to experiment more."

Furthermore, we're impatient. Even though we may believe that the web evolves too slowly, we don't neccesarily believe that the standards track should be rushed. *Standards* should be well thought out and vetted in the real world before being implemented natively in all the browsers. What's missing, we claim, is a way for the community to try out new ideas *without* having to standardize them. Maybe we could be more patient with the pace of standards if we had a way to play, while we're waiting.


The future of the BrowserPlus is bright, and we're extremely excited to be able to work now more deeply with the community. The core team's job is simple, we'll continue to help Yahoo! properties and the community in general to realize new ideas for the web, and let our collective actions speak louder than words. Our job is to push this platform as hard as we can, without getting in the way. We'll look forward to seeing you online, and happy forking!

By Lloyd Hilaiel, BrowserPlus Engineering