Archive for the ‘Sandbox’ Category

Browser D-Bus Bridge 1.2

Friday, September 10th, 2010

Another bugfix release of BDB was more than overdue, finally got around to do it.

There is on sort of new feature included though, the build supports now building the WebKit flavor against (a modified) QtWebKit. The actual jscorebus code is unchanged wrt this, it just gets linked to a different library. This is necessary since JavaScriptCore is (at least currently) not distributed as a separate library, but instead inside the WebKit libraries.

Unfortunately QtWebKit doesn’t expose the JavaScriptCore API (I think they want to leverage QtScript usage by this) so there are few patches to QtWebKit required to actually use jscorebus with QtWebKit. The patches are included in the (very general) setup instructions.

Changelog for 1.2 can be viewed here.

Browser D-Bus Bridge hits 1.0

Tuesday, May 5th, 2009

After prolonged slumber, the beast has awaken.

And after furious few weeks of hacking I’m pleased to announce that the Browser D-Bus Bridge finally reached the goals set for the first official release. Unlike the usual cautious approach of releasing with low numbers, I decided to aim high and give the dreaded one-oh slate to the first release.

So what were the goals?

First and foremost the type support needed fixing, there was missing types (structs and variants) and inadequate support for nested complex types. Much hair pulling later, there should not be types that cannot be transferred through the Bridge (knock on wood, naturally every possible combination hasn’t been tested).

The most exciting new feature is the introspection support. Previously the API was defined in terms of creating individual methods and signals, but now you can simply point the Bridge to a service and say “I want this interface, ok?”. What you get is a JS object that already contains the method and signal objects so you can just set your callbacks and fire away.

For a release there needs to be serious documentation, and so now the dbus.js API wrapper is annotated with jsdoc comment blocks. Generated docs are available online (see the wiki page).

Naturally, also all sorts of silly leaks were plugged, but let’s not pay attention to those ;)

You can find the release tag in the git repository or if you prefer, download the 1.0 release tarball. The tarball includes generated documentation, which has few cosmetic changes over the release tag. It also includes a compilation fix to jscore tester utility not present in the tag. Sorry about that.

Movial Callithrix released

Wednesday, March 18th, 2009

We have developed a simple, lightweight gecko-based browser meant for usage on MID devices. You can read more about it in the wiki page.

Matrix 1.1

Monday, January 26th, 2009

The next release of the ARM Linux Internet Platform is right behind the corner and the Matrix tool got some updates as well. matrix changes gives a more readable list now and calculating dependencies and using ranks and matrix-graph should work better. Check the log for details.

Sources are available as tarballs and from git.

Introducing the Browser D-Bus Bridge

Monday, November 3rd, 2008

The Browser D-Bus Bridge is a way to use D-Bus services with JavaScript from a browser application.

Just to be clear (this is a very common concern), it does *not* mean using D-Bus from web sites. The target audience for the Bridge is browser extension and UI developers, not web developers. Using web technologies (HTML, CSS, JavaScript…) to build applications is an increasingly interesting thing, and this is another step in that direction. Currently the Bridge only has API for clients, so you can’t (easily) implement a D-Bus service with it (yet).

The way we have approached this is to create a thin API to bind the basic functionality of D-Bus into JavaScript. This is to minimize the work needed in the actual browser-to-D-Bus bridging. This low-level API can then be used to wrap D-Bus services with JavaScript to give a comfortable end-user API.

There are two implementations of the Browser D-Bus Bridge, one for use in Gecko-based applications and one for WebKit-based applications. We have tried to use the most natural way for of integrating with the engine for both cases. For Gecko this means creating an XPCOM service and for WebKit an add-on library.

Currently the Bridge is lacking support for some of the more complex types and deeply nested message signatures, but it’s already usable for example controlling NetworkManager or querying HAL for the battery level. Future plans for the Bridge include (naturally) finishing the message args support, adding introspection support (this might be implemented just in the JavaScript side though) and later adding API for implementing services from JavaScript.

Good starting points for the Bridge are the wiki page and browsing the source code.

We don’t have a bugzilla or mailing list for the Bridge, but you can mail me at kalle.vahlman at and I’ll try to help in any way I can. Oh, and I’ll gladly integrate patches too ;)

Matrix 1.0

Friday, August 8th, 2008

The first Matrix release is now out! Get the source tarball or see the git log.

Sandbox founded

Wednesday, August 6th, 2008

Sandbox is a place for Movial’s open source projects and a blog to¬†support¬†them. Matrix being the first project.

More projects will be published in the future.