Links for help
- What We Talk About When We Talk About Zeitgeist http://www.grillbar.org/wordpress/?p=426
- A Re-Introduction to Zeitgeist http://milky.manishsinha.net/2011/02/11/a-re-introduction-to-zeitgeist/
- AskUbuntu zeitgeist tag http://askubuntu.com/tags/zeitgeist
- What is zeitgeist useful for http://wiki.zeitgeist-project.com/index.php?title=What_is_Zeitgeist_Useful_for
What is Zeitgeist
Zeitgeist is an event logger which keeps a track of your activities while you are using your computer (any supported computing device). Events such as opening files, closing files, recieveing calls, sending a message on Instant Messenger (GTalk, Yahoo etc) are logged by Zeitgeist. The logging can be configured, so you have the complete control on what is logged and what is not.
This data can then be used for variety of useful activities. Some of the possibilities are having a complete skype, empathy, pidgin call log. Finding out with you converse the most. You can check which applications you launch the most and how many times you have opened a specific file.
What Zeitgeist is not
Zeitgeist is not a search engine. If you have some file on your system, then don't expect zeitgeist to search for it. It is not the work of zeitgeist to scan you disks and find files. It's work is to track your activities and log it.
As opposed to general misconception, zeitgeist doesn't track files. Zeitgeist deals with events and not files. There are events where no file is involved like recieveing a call.
You might hear FUD that Zeitgeist is a malware/spyware which tracks your activities. This is not a definition of malware/spyware. They record their activity, steal your data without your approval and sneak into the system without system. They have a desructive intention.
Contrast this with zeitgeist, it records events so that it can be used for constructive purposes. It's like nuclear technology. Use it constructivly, it will benefit mankind, use it destructivly and you will be harmed.
One concern people raise is that if some malware is installed, then it can steal the zeitgeist data. In this scenario, if a malware is installed, then you are at a bigger risk than just getting your zeitgeist data stolen. Your pidgin passwords are stored in plain text in your home directory. Your browser's history is very easily accessible. If you have not set the master password in Firefox, then even your passwords are available to the malware.
Technologies used in Zeitgeist
Zeitgeist is written using Python and uses Sqlite to store the events. It exposes an API using DBus using which other applications can communicate with it. Below the hood, it is basically dependent on glib which makes zeitgeist portable. Get a proper port of dbus and glib on windows and zeitgeist should run there without much issues.
Components of Zeitgeist
At the core of zeitgeist is an engine which stores all the events and acts as the store. It recieves and provides relevant information(events) to the process. The information is exposed via a DBus Session bus. If the zeitgeist server is not running, the first time an application invokes a method over DBus, the daemon is started.
It is a passive logger which runs with the daemon and inserts events after fetching it from GtkRecentManager. These events correspond to the files you have opened
Activity Journal was formerly known as Gnome Activity Journal is a dashboard for your activities. It is a global event viewer where you can check when you opened which file or watched which movie or listened to which track in your favorite media player. With proper zeitgeist extensions you can even have more detailed logs including when you joined an IRC channel or when you received or dropped a call over your IM client.
If you right click on any event and select "More Information", you can come to know what other files were opened or which other activity you were engaged in during this event. You can delete the event if you do not like it.
Dataproviders are small extension/addins/addons/plugins into applications which can push events to zeitgeist. Datahub cannot push everything to the daemon. It mostly tracks opening of files by double-clicking from file browser. Using data-providers more *relevant* events can be added like "Creating a new playlist", "Buying a track from foo music store"
When we say extensions, it refers to zeitgeist daemon extensions.
Zeitgeist extensions are those components using which you can control he behavior of how the daemon behaves. You can expose additional information via DBus.
In a nutshell, you this is your tool of trade if you are not satisfied with how zeitgeist behaves. One size doesn't fit all.
If you want to have an inner scoop of extensions behavior, check Zeitgeist daemon extensions explained
Language bindings for Zeitgeist DBus API
As an application developer you might want to integrate zeitgeist support in your application. Since you can use your language/platform of preference, the zeitgeist team has strived hard to make sure that language bindings to DBus API are available. Right now 5 bindings are present
- Python - Included in default install
- C/Vala - libzeitgeist
- Mono (C#) - zeitgeist-sharp
- Qt - libqzeitgeist
Zeitgeist in GNOME3
Integration of Zeitgeist in applications
Unity is a shell interface for the GNOME desktop environment developed by Canonical Ltd for its Ubuntu Operating System.
Unity debuted in the netbook edition of Ubuntu 10.10. It is designed to make more efficient use of space given the limited screen size of netbooks, including, for example, a vertical application switcher.
Unity makes use of Zeitgeist in its dash where it provides the user with easy access to its most and recently used data (files/folders/applications) as well as searching over the Zeitgeist FTS (Full Text Search) extension.
There is more development going on to bring the same features to a contacts dash where the user can browse his contacts by most/recently used.
Synapse is a quick application launcher developed taking inspiration from projects such as Gnome Do, Quicksilver or the Gnome Launch Box.
The user punches in a swift keyboard combination and is presented with a text box, where they start typing the name of the application.
It’s designed to be fast, efficient and out of the way.
Other than heavily depending on the Zeitgeist FTS (Full Text Search) extension for searching, you can also browse recent items which were logged by Zeitgeist, in case you close a document by mistake or just want to hear again the music track that played a few minutes ago.
It also has a relevancy service, which makes sure that applications you use often end up among the first results of a search – this is done using Zeitgeist, so you can also track the popularity also in other Zeitgeist clients.
Activity Journal is your portal to the world of Zeitgeist. It’s an user interface ideated for easily browsing and finding every kind of user activity (files, webpages, contacts,…) on your computer.
It incorporates search, file preview, tag, bookmark, timeline visualization and other useful features. It is an alternative to finding your data using the hierarchical files-system and instead depending on the concept of remembering when and in which context data were used.
Let’s use this metaphor: consider Zeitgeist as the mind, the brain and Activity journal as the body, the external envelope.
Activity Journal is just Zeitgeist’s client, the most complete, that shows in a useful manner every activity that Zeitgeist has logged and we are interested in. It depends fully on Zeitgeist from A to Z.
Docky is an advanced shortcut bar that sits at the bottom, top, and/or sides of your screen. It provides easy access to some of the files, folders, and applications on your computer, displays which applications are currently running, holds windows in their minimized state, and more.
The integration with Zeitgeist is in the form of generating jump-lists for applications and folders.
An application that is provided a jump-list is populated with the most and recently used data that was used with it. This also applies for folder where the most and recently used files are displayed in its jump-list.
Starting/Stopping/Restarting the daemon
If you're using zeitgeist-datahub version 0.6 or later, zeitgeist is automatically started when you start your desktop session.
These commands can be used to manipulate the daemon:
- `zeitgeist-daemon` Start the daemon if it's not running.
- `zeitgeist-daemon --quit` Stops the daemon (please note that other application can still autorun it).
- `zeitgeist-daemon --restart` Restarts the daemon.
Latest version numbers
- Zeitgeist Engine - 0.7 "All I have is this woodchuck"
- Zeitgeist Datahub - 0.7.0
- Activity Journal - 0.6.0 "Pink Unicorns don't exist"
- libzeitgeist - 0.3.6 Belladonna
- zeitgeist-sharp - 0.1.1 Lily
- libQZeitgeist - 0.1 "Hit ‘n Run"
- Dataproviders - (No release, only bzr snapshots are packaged)
Installing Zeitgeist from repos and PPA
The best way to install Zeitgeist, Activity Journal, Dataproviders etc is to install from your distro's package management system.
If you are using Ubuntu, you have 2 options
As the name suggests for the second PPA, it is experimental. Use it at your own risk. Though care is taken, it can still break your packaging.