As planned, we split the project into the engine (Zeitgeist) and the default graphical user interface (GNOME Activity Journal), but during this time we also dropped our old database to start with a completely new structure which is way more flexible and uses less disk space than our previous one.
Not so positively, some team members wanted to try out an ORM (Storm), which from the start one I thought was a bad idea (it’s not that I can’t see the convenience for using one in certain projects, but for Zeitgeist, an engine mainly constituted by a little set of rather complex queries, I don’t really see how it can help us). Doing this -at the same time as the switch the the new database model- ended up as a pretty demotivating experience, and while we got it working at the end the result was an engine which worked slow (even with caching) and used lots of resources, so we’ve decided to go back to plain SQL.
Right now we still have a mix (we’ll probably finish quicking out the remaining Storm parts within the next weeks), but I already changed the main information request methods to SQL, thus reducing common operations from requiring up to thousands of queries to doing only a single one, doubling the speed while reducing memory usage. I hope to get further performance improvements while converting the remaining parts (for example, inserting data currently takes way more time than I’d like).
We also cleaned up the D-Bus API (it was pretty much of a mess before, just enough for the GUI to work) and added more functionality to it. However, it may still undergo substantial changes in future versions once we start making more use of the added flexibility the new database gives us (for example, for the 0.2 release we’ll probably split up tags into “user defined tags” and “automatically assigned tags”). Unrelated to this, Markus has started working at making it possible to configure and enable/disable loggers, so there’s also some cool stuff coming from this front (but nothing visible yet).
Just some random notes… You can read more about Zeitgeist at Seif’s blog, in his recent blog post “Some Zeitgeist news“, and if you have any comment you can come find us in #gnome-zeitgeist on GIMPnet . I’m now going back to work: after all, today we’re going to release Zeitgeist 0.1 (development preview)!