It’s been a little while since I’ve posted anything about Bongo; for much of this year there hasn’t been an awful lot to write about – we’ve all been pretty busy. However, yesterday we had a teleconference which is worth talking about.

One of the problems we’ve had is that working on a number of pieces of the system, including the backend and web front ends, has been difficult – both parts are in development, and having everything subject to change like that it pretty difficult. On top of that, the web parts we were bequeathed from Hula just don’t work well and ideally want to be restarted with a modern JS library underneath.

So, we’ve agreed to take a slightly different short-term path: initially, we’re going to ship a version of Roundcube as our mail client. Yesterday, I demonstrated some of the work that Lance and I had done to this end, which comprises a skin for Roundcube (based on the Dragonfly design and assets), and a Bongo plugin based on the PHP bindings we developed as part of the Dragonfly-NG project. As well as the standard IMAP and SMTP support, then, the plugin connects straight to Bongo and pulls through your address book – as well as your own, you can also access shared address books on the server. This all works right now and is pretty useful.

The direction we’d like to take this is to continue the development of these additional parts to make Roundcube as good a Bongo client as we can make it; including:

  • calendar access;
  • server-side rules, signatures and vacation settings;
  • anti-spam training;
  • removing dependencies we’re not interested in (SQL being the obvious one).

It will be interesting to see what extent we can do this within the existing Roundcube framework; the plugin API doesn’t seem sophisticated enough quite at this point. However, the intention is definitely not to fork the project: where we can’t do things within the plugin, we’ll need to see if we can put forward proposals which are more generally acceptable to everyone – making Bongo-specific core changes would be pretty easy, but really not the road we want to go down.

The initial version of this plugin and various other bits of code are available in the Bongo-Web project on Gna!. The intention here is that we will release this concurrently with Bongo, so the two pieces fit together well: we will also be developing an separate administration tool to sit along side this.

What this means for the future web development is unclear at this point. It’s still possible we would take forward our own client development in the future, but that isn’t something we need to think about at this point: and even if we did, it would still be advantageous to maintain good support for Roundcube users in the future.