Zeitgeist Hackfest

Aarhus, 2011


Primary contact: seif@lotfy.com
Secondary contact: mikkel.kamstrup@googlemail.com

Relevant GNOME team

Zeitgeist maintainers and developers


The hackfest is very important to us since all year we work remotely and when we get to meet for a week we are able to finalize the last issues and draft the upcoming development cycles. I think we can agree that doing things together and talking face to face while scribbling on a blackboard is old-shool yet very effective.

With this hackfest(sprint) we intend to close outstanding issues so we can provide better integration into GNOME. During the last 6 months we provided integration with Rhythmbox, Banshee (both upstream) and will propose the integration with gedit and Totem by the end of the month. After the hackfest further integration will be easier and more solid.

Agenda, goals

1) Handle the Subject Availability

In its current form zeitgeist will frequently return results of non-existent files (0.3+ series). This is modestly to greatly annoying to application authors who are then forced to do this filtering manually (along with some additional guesswork to pad out filtered results and such). As a rule, ZG should not return results for files which no longer exist, or is not currently available.

2) Revamp the blacklist API

Currently our Blacklist API is just terrible and efforts have been made to fix that. Currently we are following Markus and Mikkel's specs and want to finish the implementation.

3) Add new aggregation API

Zeitgeist API can give us vague information but not statistics over the API although the info is there. Use case: - Give me counts of every subject_text from actor = Unity Currently to do that one will need to either: Request all events with Shell as an Actor and count the subject_text This can be done much better if we provide an Aggregation Extension. But before we hack on that we need to agree if its necessary and how the API will look like.

4) Extend Ontology for Contact interaction events

While working on Telepathy and Skype we noticed alot of issues that were not covered by our ontology yet: Audio & Video:

  • Start Call
  • Receive Call
  • Missed Call
  • Answer Call
  • Hang Up
  • End Call


  • Start Conversation
  • End Conversation
  • Send Msg
  • Receive Msg
  • Read Msg


  • Create Send Request
  • Start Sending
  • Pause Sending
  • End Sending
  • Cancel Sending
  • Receive Request
  • Start Receiving
  • Pause Receiving
  • End Receiving
  • Cancel Receiving

Also we need to agree on how we will fill out the event templates concerning the subjects of the interaction

5) Add origin property to event

We should allow tracing the origin of an event (domain), e.g: I was linked from youtube.com to facebook.com. Here youtube becomes an origin of the visit event to facebook

6) Monitoring Create/Move/Copy Files events

An issue we are facing at the moment is that ppl lose track of there files in a timeline if the file was moved around or renamed. I would propose using taskview or patch nautilus to actually grab those events. This will allow Unity and GNOME Shell to not lose the actual frequency of usages of data after they get moved around

7) Get gnome-activity-journal to be shippable by Gnome

We want to use gnome-activity-journal as the "journal" application for desktops that can't run gnome-shell, or for all desktops if the shell-native journal isn't ready on time. The goal for the hackfest would be to ensure that gnome-activity-journal is fit for inclusion as part of the Gnome release set. Currently g-a-j doesn't have a well-defined installation method, for example; it's just a python program that runs from its bzr checkout.

8) Get the patches for gnome-shell merged into the mainline

Currently there are two patchsets to start integrating Zeitgeist into gnome-shell:

The first patch is close to being merged. The second patch is very early in its development. We need to get it past the prototype stage so that gnome-shell users can start trying it out.

9) Revise FindingAndReminding with what gnome-activity-journal has taught us

Finding and Reminding is gnome-shell's design for a journal-in-the-shell. We need to revise this design with what we have learn from gnome-activity-journal's actual implementation - is it usable? What have people found useful in it? How can gnome-shell's design for the journal be improved?

Measuring the success

If we can close 4 out of the 6 blueprints then the hackfest is a success. Further success can then be measured by the amount of deployment we get done.


Seif Lotfy


Markus Korn


Mikkel Kamstrup Erlandsen


Siegfried Gevatter


Michal Hruby

Dubnica Nad Vahom/Slovakia

Morten Mjelva

Current sponsors

(!) <list of confirmed sponsors>


INCUBA Science Park, Åbogade 15, 8200 Århus N.

Date and time

  • Arrival: 6. February 2011
  • Start: 7. February 2011
  • End: 11. February 2011
  • Departure: 12. February 2011


CABINN Hotel in Aarhus

Hackfests/Zeitgeist2011 (last edited 2011-01-27 19:40:54 by FedericoMenaQuintero)