Work on Modest and C++ for Maemo

Some public statements allow me to now mention some work I’ve been doing recently for Openismus, for Nokia, though the heavy cloak of secrecy still hangs over many Nokia things by default.

Maemo Modest

Since Nokia’s Dirk-Jan Binnema talked about Maemo’s new Modest email-client at the GNOME conference (his slides), I can mention that some of the Openismus people (myself, Armin Burgmeier, Johannes Schmid, and Christian Kellner) have been working on this project quite intensively since May 2007. It consumes most of my time at the moment.

Modest is an email client for the Nokia Internet Tablet that’s actually usable, meaning it can handle real world amounts of email, via both POP and IMAP, and it has presets that make it easy to set it up to use many common email accounts, such as Yahoo and Gmail. If we can get everything done (Nokia’s quality requirements are sensibly high) then this will be used by a lot of people.

It uses Tinymail, which uses Evolution’s camel code, so we obviously get most of the functionality that Evolution has, without using Evolution’s UI, but everything is much faster and responsive. It is by far the best way that I can imagine to write an email client now, not that there’s a lot of competition. I say that even though I think that tinymail is currently not a lot more than a glorified wrapper for camel. It’s just that it’s a very good wrapper. Good APIs cause applications to be better and save developers time. It will get really interesting when there’s a future version that can use something other than camel. Philip Van Hoof knows the Tinymail and camel code very well and is incredibly responsive to our needs. While I might be up all night worrying about a problem, Philip has usually been up all night fixing it properly.

We’ve made some small but significant changes to tinymail’s version of camel (camel-lite) – a big investment of time. I think that Evolution should be ported to our camel-lite in the near future, to get some improved stability (general fixes and better thread locking to avoid intermittent hangs and crashes) and improved error codes (allowing better error messages), and obviously to get the performance improvements (though a one-time cache upgrade would be needed, I think). That would be useful even if they never decide to use Tinymail, which they probably should do too one day.

Maemo C++

The updated C++ bindings for Maemo, which I mentioned recently, will be released and supported by Nokia (with help from Openismus) as part of their regular SDK. This means that people can feel safe about using C++ and gtkmm to develop Maemo applications, should C++ be their programming language of choice.