by Seif Lotfy

One thing that makes FLOSS special is being able to credit people for their work. I would like to do so concerning Zeitgeist and GNOME Activity Journal (known as GNOME Zeitgeist).

A lot of people usually see me as the founder of the project. This is not all so true. I worked on a similar project at Fraunhofer under the supervision of Thorsten Prante. Back then I also worked with Alex Gabriel on Alex Graveley’s Gimmie from which we forked Mayanna. When I stumbled upon Federico’s GUADEC presentation about a journal I decided to give it a quick hack on the 10th of October during the boston hackfest based on the old Gimmie/Mayanna code (Mayanna at that point being now a whole different project with other goals). When Marina managed to convince me to show it to Federico I went for it and then he blogged about it. This gave me a big boost and motivated me to work it out more. I contacted Thorsten since he was the person I knew who had dealt with a journal issue for several years and planned out my graduation thesis. One day later Natan Yellin contacted me and pushed the code into launchpad for everyone to look at. Now Zeitgeist was accessible to a big audience. I proposed the name GNOME Zeitgeist for the project, and Natan and I started hacking like idiots using the prototype from Boston. We set up an IRC channel an soon enough Dave Richards as well as Ketil W. Aanson settled in to set the first requirements for there usage.

Federico made me get in contact with Sebastian Faubel from the Organise FW Project with whom I am working now on some secret stuff :)

Some time in March I got a little cute mail from “Siegfried Gevatter” who wanted to use Zeitgeist engine (back then we didn’t have the process split only code split) for his GSoC. Before it even started he had wrote a whole DBus interface for it. GNOME Activity Journal remained being hacked by me and Natan, while Siegfried was tampering around making the engine more stable and efficient. We decided to rewrite the engine before UDS. While I maintained contact with Alex Gabriel sharing some ideas, for example how to find contextual relevancy, during that time over the phone because of his work on Mayanna. We attempted a first merge between the two projects that failed for organizational reasons.

Now at UDS is where the magic happened. I met Siegfried and we started walking along the halls trying to promote our work. Meeting up with  the GNOME Do team (Jason Smith, Alex Launi and David Siegel) ideas came floating in for the UI and especially the engine (back then i had a crazy way to calculate the contextual relevancies which i will put in again). Siegfried and I got in contact with many other individuals who supported our ideas and suggested new features like Neil J. Patel, David Barth, Rick Spencer, Jorge Castro, Jono Bacon, Mark Shuttleworth, Ken VanDine, Martin Owens and the guys form the UX team. By the end of UDS the independent pre-Zeitgeist engine was born.

To meet the requirements of those specs we wanted to redesign the DB.

Then came the 2 Developers who actually in my opinion made Zeitgeist a real project. Mikkel Kamstrup and Markus Korn. These two developers took Zeitgeist engine to a whole new plateau. This made a team of 5 developers busting their @sses. Now Mikkel started redrafting the whole database while Markus started fixing and hacking code in almost every part of the Engine. The base and foundation of Zeitgeist engine of how it is now and the future was then set. This is for me when Zeitgeist was actually founded. Right before GCDS we had the whole engine code rewritten form scratch (That is when I was ripped off the liberty of hacking into trunk directly after some big ugly commits form my side) and started discovering new cool features to set.

GCDS was then a where we had the opportunity to present Zeitgeist. We then got a lot of feedback especially from very valuable members of the GNOME and KDE community such as Og Maciel, Diego Escalante, Sebastian Trueg, Frank Karlitschek, David Schelsinger, Daniel Siegel (The guy behind the Zeitgeist hackfest), Owen Taylor, John McCann, Robert McQueen, Robert Taylor, John Carr and the rest of the Collabora and Codethink team. By the end of GCDS we released the 0.2 version of the engine.

Things starting gaining momentum at the GCDS. Robert McQueen prototyped the Teamgeist concepts for us and now Youness Alaoui (aMSN) and Sumana Harihareswara are managing the Teamgeist project (also working on the 0.3 release of Zeitgeist). Siegfried was working on Shell integration, Mikkel was writing the specs for a 0.2.1 and and Markus went crazy rewriting all dataproviders again and developing Zeigeist-Filesystem. Sebastain Faubel helped me with the parental control which is being developed by Shane Fagan.

After GCDS my old partner in crime Alex Gabriel and I started again talking Zeitgeist and Mayanna. The vision of Mayanna being a platform to distribute data of interest, I convinced him to join the team and look at some of the contextual graphs prototypes I had. 2 days later after long long nights of hacking we were done.

After this intense period we took some time off and right before openSUSE conference Federico convinced me to rehack the UI. Sebastian Faubel and Moritz Eberl joined the crew at the conference and together with them and Alex Gabriel we recreated the whole UI. Later with the help of Kalle Persson, Hylke Bons, Andreas Nilson, Jason Smith, David Siegel and Karl Lattimer it kept becoming better and better. But before I forget Vincent Untz offered us a lot of organizational consultancy during the conference.

Stephane Lauriere form Mandriva invited us to talk at the OWF. And with the help of Rob Taylor there we got in contact with very good people to demonstrate Zeitgeist.

Right now the team is growing and more or less some each spec for the 0.3 release is being reviewed by at least 5 at a time.

Zeitgeist is just beginning to look really good. We learned alot in this one year journey and we expect to do some really sweet things at the hackfest and afterwards. Being referred to as the guy behind Zeitgeist is very flattering but not true in my opinion. It was a community effort. I just connected the people and the dots. (I wouldn’t mind being called initiator though :P). I try to keep the momentum up, report the work the developers are doing, do some general spanking (as Federico likes to call it) and Blueprint driving. The developers are constantly working and do alot. I think everyone involved by now should blog about his work for zeitgeist or contributions.

I think it is now that the Zeitgeist project has started!

Thanks guys for an awesome year of development.

**I might have missed some people that deserve credit please contact me.