Zeitgeist: Sign o' the times
It's a word that crops up on the news sites and conference notes, but you may not know what it is. Of course, you recall from German-101, zeitgeist means "the spirit of the times" or "the spirit of the age, but in Ubuntu terms, Zeitgeist is a "a data engine for the GNOME desktop.”
"GNOME Activity Journal (formerly known as GNOME Zeitgeist) is a tool for easily browsing and finding files on your computer. It keeps a chronological journal of all file activity and supports tagging and establishing relationships between groups of files."
Zeitgeist comes in two parts: an engine that constantly logs events and an activity journal that presents the logged events on-screen...
It logs and tags every document, website, conversation, email, note and application that’s opened on the GNOME desktop, providing a central database for quick access, sorting, filtering and tagging. The engine logs which applications are running and which files or URLs they're opening, which the journal viewer can query for what you were viewing, when and what else you had open; then on to trending this same data for 'how long', 'how often', 'time of day' type queries.
Exploit the tagging to extraoplate relevant associations and behaviour - for example what programs and data you multi-task - and Zeitgeist can infer from the journal what tools and files are used to carry out a particular activity based on past behaviour - something like predictive text in SMS messages. I could then launch my 'work packages' with one click. I could also analyse my, or my organisation's productivity over several months, highlighting training needs or work-flow improvements. Build Zeitgeist feedback into user experience reporting and I have a huge insight into what they're doing with the software I develop, for both usability and future software integration. It's a kind of insight tool that major software vendors have charged fortunes for these last ten years.
According to lead developer Natan Yellin, "...one of the key concepts in Zeitgeist is that users care about documents and not files...” irrespective of the source - local, remote, network, internet. “Therefore, we have plans to index documents from online sources such as Google Documents, Flickr, and Launchpad. In a world where everything is online, there’s no reason why file managers should focus only on local files!" Although if you are concerned about your privacy, Gnome Activity Journal may be one feature you decide to turn off.
Using the Zeitgeist engine, it should be possible to build - even self-build- new user interfaces which pull from the database custom “Smart Feeds” aggregating many different files according to user-defined filters.
Despite the slippage of the Gnome 3.0 release, Zeitgeist is beginning to appear in desktop applications. Canonical is pushing it as a key technology in future versions of Ubuntu Netbook Edition, Unity and the 10.10 Desktop edition. It featured prominently in Mark Shuttleworth's UDS sessions and blog this year:
"Unity does embrace the key technologies of Gnome 3: Mutter, for window management, and Zeitgeist will be an anchor component of our file management approach. The interface itself is built in Clutter."
It's only indexing what we use, not the whole filesystem and given it uses a Dbus database API and GTK+ front-ends, it shouldn't hog CPU-cycles like some operating systems' indexing that we could mention! The examples we're seeing now are only scratching the surface. RC
- The Zeitgeist project homepage is at: http://zeitgeist-project.com/
- Zeitgeist Framework Team : https://launchpad.net/~zeitgeist
- Project pages : https://launchpad.net/gnome-activity-journal
Some Zeitgiest examples
- Avant Window Manager: http://www.webupd8.org/2010/07/latest-avant-window-navigator-gets.html
- Automatic music rating : http://bloc.eurion.net/archives/2010/automatic-music-rating/
- Integrating Sezen - the new Unity like activity browser which uses Zeitgeist to browse files based on their last access time, into the GNOME panel. http://lh5.ggpht.com/_1QSDkzYY2vc/TDCUzoqKhkI/AAAAAAAABYk/GAeT3JaCyEE/s400/sezen-applet.png
- Chromium Browser extension - Sezen http://lh5.ggpht.com/_1QSDkzYY2vc/TDC3IRV_oTI/AAAAAAAABY0/_rzIq5YqSIM/s400/Sezen_023.png
- The Zeitgeist team has mocked up an example for Ubuntu Software Centre showing a usage count of your installed packages: