Loudmouth 2, Getting There
I haven’t blogged much about the development I’m doing on Loudmouth. I started hacking Loudmouth some three-four years ago to for the fun of implementing Jabber (before it was turned into a standard named XMPP).
While Loudmouth sure served it’s purpose it has been getting more and more complex to extend, I’ve also kept the API stable on the 1.X branch. In order to make the design fit better with the current needs I’ve chosen to break the API for Loudmouth 2 and do quite a large redesign. One big change for users of Loudmouth is that I have decided to make certain derivable objects use GObject.
In Loudmouth 2, it will be much easier to extend the library with application specific extension, for example make Loudmouth use a Unix socket transport layer for using XMPP for IPC or add an extension to implement a certain XEP (XMPP Extension Proposal).
Loudmouth will also be split into Loudmouth Core and Loudmouth Extended (two separate libraries within the same source tarball). Where Loudmouth Core will give approximately the same functionality and API level as Loudmouth 1 and Loudmouth Extended will be a higher level API.
I hope to be able to post some documents on the new design up on Imendio Developer Pages soon.