In the last few weeks I’ve started hacking with Zeitgeist.
For those who do not know what it is, Zeitgeist is in my humble opinion one of the most interesting projects born in the open-source panorama in the last few years.
But…what’s Zeitgeist?I’m pretty sure it was a movie!
Simplifying, Zeitgeist is a service which logs the users’s activities and events, anywhere from files opened to websites visited and conversations. It is also able to establish relationships between items based on similarity and usage patterns.
It’s magic is simple: consider a daemon always running in background waiting for an user action, like opening file or listening to music, for logging them in a useful manner.
Wow!!You exclaim…. yup, you should!
Zeitgeist kicks out the old, useful but not very intuitive folder paradigm. Zeitgeist wins where folders organization fails.
If for example you don’t remember on which files you were working last week, Zeitgeist helps you; if you want to know to whom you’ve talked yesterday when working on a particular document, Zeitgeist helps you; if you want to know what file you used together a particular one, Zeitgeist helps you; if you want to know what was the really nice site you visited last month, but you don’t remember exactly his name, Zeitgeist helps you. Zeitgeist integrates with Ubuntu Software Center adding “raccomandation” feature. Zeitgeist also figures out, which are an user’s most used items, not only in general, but also applying time scoping as in “What was most relevant to me, while I was working on project X, for a month last year?”.
This is only a really really small list of possible uses (trust me!). If i haven’t convinced you consider also these uses cases.
I should also mention that Zeitgeist will be shipped with the Unity Ubuntu Interface, creating a new really exciting user experience. Here’s an amazing example of Zeitgeist integration with Unity from Seif Lotfy, the Zeitgeist project manager.
GAJ: the Zeitgeist’s portal
But wait, Zeitgeist is “only” the daemon; there is also an user interface called Gnome Activity Journal that permits you to dig into your events and actions. It incorporates search, preview, tag, bookmark and other useful features: GAJ is your portal to the world of Zeitgeist. Here’s a screenshoot:
Yes! you guessed it: GAJ stands for Gnome Activity Journal.
Zeitgeist is magic, but “he” needs help to take care of all user actions/events: Zeitgeist simply (well…that’s not so simple) logs events but “he” needs that someone notifies him those events. All simple events like opening, modifying, deleting a file are signaled to Zeitgeist by the GNOME infrastructure, but the others like music playing, web surfing or creating tomboy notes aren’t.
Data-providers do that! They are plugins ( written by the Zeitgeist team) that plugged to the respective applications report to the daemon their particular event.
Rhytmbox has a data-provider, Banshee has a data-provider, Tomboy has a data-provider, Firefox has a data-provider, Chrome has a data-provider, Telepathy has a data-provider, Bazaar has a data-provider and so on. With them Zeigeist can log __every__ user action.
Are you begin to understand the big picture?
My first contributions to Zeitgeist have focused on GAJ: I’ve added the Drag’n Drop feature and added the audio preview to the music files showed in your Activity Journal. The Zeitgeist Team has approved my changes so you’ll can found them in the next release. I’ve also improved the bzr data-provider adding the support to the pull-event and fixing small bugs here and there.
Yep, you’re right…it’s not such a great thing…:)
Ah!The Zeitgeist Team!
Yeah!It’s awesome! Honestly I’ve not personally met the members of the team, but to every question, they have __always__ been kind and helped me out a lot.
Do you want to meet them? Join #zeitgeist irc channel..
Well, i think you should really check it out.
You can install the daemon and GAJ on Ubuntu with the following commands:
sudo add-apt-repository ppa:zeitgeist/ppa
sudo apt-get update
sudo apt-get install zeitgeist gnome-activity-journal
You should install also data-providers for a complete Zeitgeist experience. Just type those commands (I consider that your current working directory is ~/gaj):
bzr branch lp:zeitgeist-dataproviders
make && make local-install (change to make install if you want to install globally)
Manish Sinha, another great new developer of Zeitgeist, reminded me the presence of a PPA for the data-providers created by Markus Korn: https://launchpad.net/~thekorn/+archive/ppa.
There is also a PPA for the Tomboy’s data-provider that’s not included in the previous PPA: https://launchpad.net/~manishsinha/+archive/experimental.
Finally, don’t forget to check out this post for a panoramic tour of all Zeitgeist related projects.
Comments and suggestions are welcome.