Module Proposal: Zeitgeist

Zeitgeist is an event logging framework. It stores user activity in a structured manner and provides a powerful DBus API to query and monitor the log. Zeitgeist as such does not have a graphical component, but is intended to integrate wherever it makes sense. Just like Tracker, Folks and GStreamer, Zeitgeist does not provide a UI. And is not a going to be used by the user directly, but rather would allow developers to harnest the feature it provides and make something useful out of it in their UX.

It has been 3 years and 8 month since Zeitgeist started under the GNOME umbrella. We proposed Zeitgeist for inclusion in 2010 but we got rejected due to several reasons including but not limited to: 
Zeitgeist is not meant for searching through your files and folders, but rather as a log for user activities. This can be used for:
People have expressed interest in using it within GNOME, we want to help and make it happen. We think all these use cases could be address.

We already have GNOME specific developments:
Another deployment in development is a feature that we think would enrich the developer story for folks, which is giving folks the ability to actually provide developers with some interaction details for each individual. [6] This is under development and hopefully can be merged soon.

We also provide a logger for Telepathy as part of the zeitgeist-datasources package. It will soon be shipped directly with Telepathy-Logger as a soft-dependency.

We have moved to so we can play nicely with GNOME, KDE, Ubuntu as well as others. [7]

Since we are not a GNOME dependency some projects hesitate to integrate with us. 
It is a chicken and egg problem. Applications don't want to depend on us since we are not GNOME upstream (thus only soft-dependencies) and GNOME hesitates to accept Zeitgeist since no application fully depends on it.

For example: We want to use Zeitgeist in GNOME Clocks will to store "alarms" as scheduled activities. However we are not sure if we can do that without Zeitgeist being an external dependency.

Another example, Epiphany integration: Zeitgeist could take over storing Epiphany history. However due to the uncertain state of Zeitgeist in GNOME we can not move on.
I would like to quote Xan Lopez: if GNOME decides to use it throughout I'd be happy to add support for it in Epiphany.

Some interesting facts about Zeitgeist:
Proposal to become a blessed dependency
With this appliation I would like to address the possibility of accepting Zeitgeist as a blessed dependency.

Resource usage:
Other notes:
What most people think of as Zeitgeist is split in two processes zeitgeist-daemon and zeitgeist-datahub. The daemon does not do any active monitoring for events, it only manages the log database and exposes a DBus interface for inserting, deleting, querying events, and monitoring for changes. The datahub monitors the system and pushes events into the daemon. This architecture makes the datahub expendable if we one day move to an architecture where apps themselves (or something else) push events into Zeitgeist. Indeed it's already the case that we have plugins for some apps that makes them push events into the daemon.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]