This is doing to be short. Via an extension to Zeitgeist (no Zeitgeist code modified), any application that pushes its events into Zeitgeist, Zeitgeist tells Tracker to index the subjects of these events. Why do you need it? Well simple:
Tracker does not really index all your files but rather the “Home” folder and the standard XDG directories (recursively). You can add more folder or documents to be monitored, however this is pretty expensive due to the nature of inotify sucking.
This is where Zeitgeist jumps in. We managed to get applications to tell Zeitgeist what they are doing (event) and to whom they are doing it to (subject) and via an extension we tell Tracker when a subject is modified or created. This way stuff that is outside the “monitored directories” are also indexed when you interact with them…
So if you have Tracker installed and want to get more out of it just install Zeitgeist too then:
Download tracker.py and add it to ~/.local/share/zeitgeist/extensions/
After writing a script to clean up my Zeitgeist DB (not deleting events), optimizing an FTS issue and vacuuming, my 2 Zeitgeist processes now uses around 12 MB with normal usage (logging everything and using Synapse) and Docky… I will look into the 64 Bit issue soon, but with 32 Bit I hope this stays constant for a while.
Hi everybody,
As you all know Zeitgeist has been trying to make rapid strides in the linux desktop and the Zeitgeist team is working really hard to enhance and improve the desktop experience and integration in Ubuntu, KDE and GNOME.
To get more feedback from our fellow users and updating our beloved readers about all the development that has been brewing in the camp, we have decided to have a Zeitgeist Twitter account and a Facebook page.
Do follow the twiiter page and like the Facebook page to keep yourself informed. We would start posting a lot of things. You can even pass on your wish if you find bug trackers too difficult to use. It doesnt matter if you a programmer or artist or lawyer or a rock/metal musician. All of you are welcome.
Hello KDE,
With this awesome week in Randa 2011 and being a KDE GSoC mentor to Mr. Trever Fischer. I will be posting about the process of integrating Zeitgeist into KDE and the work with Nepomuk.
I will be posting more stuff soon.
Cheers
Seif
The basic structure of events as understood by both projects Nepomuk and Zeitgeist are different.
Nepomuk looks at events as an “activity on a subject” with a duration with a start and end. Zeitgeist on the other hand looks as an event as an entitiy in time. So Open and Close are 2 different events for Zeitgeist while in Nepomuk their are properties of an Event.
Yet this did not stand in our way. We reached a solution where no side had to compromise but only purely collaborate.
To cut it short…
Zeitgeist and Nepomuk worked on extending NUAO for the Shared Desktop Ontology
Zeitgeist will still use its own ontology but map everything into NUAO before pushing into Nepomuk. Our internal DB will be kept for our own reasons. It is encouraged that developers who want to ask for events to interact with Nepomuk though. Yet it will be possible to interact with Zeitgeist (we can search over Nepomuk via an extension)
Here is the structure for the implementation.
We got this more or less working… without having to change Zeitgeist code! This is all done over Zeitgeist extensions, leaving Nepomuk and Zeitgeist unchanged.
I must say this was a great week. Sebastian Trueg, Ivan Cukic and Trever Fischer just made it happen. And I am glad we are moving forward.
P.S: I am here with Ryan Lortie. KDE has been holding us hostage in a room because we are GNOMErs (kidding). No honestly it was very productive and having Zeitgeist and dconf now in adoption by KDE is just a good example of cross desktop collaboration.
Ladies and gentlemen meet the 2 new rising Zeitgeist rockstars:
Trever Fischer: who works mainly on Zeitgeist KDE integration. He already started patching for Phonon and Amarok. He is also my GSoC student at KDE who will be working on a Zeitgeist Journal widget for Plasma which requires integration with Nepomuk. I will be meeting him at Randa in 9 days and it will rock
JP Lacerda: I met JP at UDS. And as usual UDS has a great impact on Zeitgeist. This kid is ridiculous. He started working on Zeitgeist stuff fixed several bugs and is working on some optimization. He will have a very important role in the release of Zeitgeist 0.9. You can read more about his work on his blog.
I am very happy to have them working with the team. Both of them are just lots of fun.
First I have to say until now it has been amazing. Why you may ask?
libQZeitgeist moved to KDE repositories thanks to my SoC student and already well established rockstar “Trever Fischer”
Consensus around the integration of Zeitgeist in KDE from the both sides of Nepomuk and Zeitgeist devs
The awesome Nepomuk team
So what are our plans for KDE…
Well Zeitgeist is not only a storage as much as it is also a logic and framework for event processing. Event processing varies from:
Allowing/disallowing events from being logged.
Attaching geolocation to events
Prevent duplicate logging
Global incognitos
etc…
So our idea is to have Zeitgeist into Nepomuk. HOW? The process will be (KDE runtime) activity manager pushing to Zeitgeist for event evaluation, then Zeitgeist forwarding the events Nepomuk. A good scenario to understand why this is needed is:
You dont want something from folder XXX to be logged. How do you do that?
Nepomuk is a storage.
When the event is captured by the activity manager pushing to Zeitgeist where Zeitgeist will have a set of rules like (don’t log anything from XXX) and will evaluate.
Then Zeitgeist decides if it should be pushed or not.
(Zeitgeist will also keep its own DB since its pretty compact and useful for some cool zeitgeist features like calculating “what files are related to what” in runtime.)
When is this all gonna happen?
Well I am going to Randa 2011 and so is Trever from the Zeitgeist team and we will be meeting with the Nepomuk guys. And discuss these ideas further as well as have it implemented.
So the todo list for the week will be:
Zeitgeist extension that uses FTS search from Nepomuk and sorts using Zeitgeist (DONE)
Zeitgeist extension that pushes into Nepomuk (mapping our events to their event representation)
Zeitgeist extension that pulls from Nepomuk (forwarding their events)
Zeitgeist extension that annotates activity ids to events
Patch the Activity Manager to send to Zeitgeist
Trever has some working code for some of the tasks but no testing environment yet. So…
So now that GNOME 3 is out, and I am excited about the future progress of the “Finding and Reminding” feature. My design philosophy is that design should be an evolutionary process with multiple prototypes tested for effectiveness along the way, not a “design everything upfront” process.
Along with Federico Mena and Siegfried Gevatter, and Akshaj Gupta working with us as a SoC student, we have been working on rapid prototypes of our own “Finding and Reminding” ideas and also have been working on cleaning up of those prototypes.
Jumplists: (Right clicking on an app in the dash or the IconGrid opens a menu with the 4 Recently used files with the applications)
Search: (Searching now looks in Zeitgeist for all your most used documents mathcing your strings… This can be done via Tracker too and I have a zeitgeist-extension that pulls the search results from Tracker and sorts them via zeitgeist)
Library Tab: A vague implementation of the design ideas from the gnome wiki
Here are pictures and a video of what this branch can do…
Jumplists
Library
Search
To test it you will need the latest Zeitgeist packages from from your distribution or get the source code from:
Some nice ideas worth experimenting would be to replace some Zeitgeist stuff with Tracker stuff and test… I already started with some Zeitgeist extensions that make this possible.
This work is in no way what you should expect from the “Finding and Reminding” stuff that is being designed. With a lot of luck there might be some stuff pulled into the main design. But it would be nice to have feedback.
Play with it, tell me what’s bothering you, or what you like at #gnome-shell-experiments on gimpnet (irc.gimp.org).
Let’s encourage prototypes and testing. While prototypes does not mean the code will be used, it is a good way to have a more agile development and interactive design process, that could help out the GNOME Shell designers with their decisions.
If you’ve got ideas on how to improve GNOME shell’s ability to “Find and Remind”, send us your sketches, mockups, and ideas and we’ll work with you to develop rapid prototypes and test your ideas and theories.
I think this week has been a very chaotic but productive week on the Zeitgeist front…
First of all Congrats to the Ubuntu team for releasing natty (the best Ubuntu release to date). Just installed it on my netbook and its badass (Sorry folks I use Fedora on my work computer now). We will be releasing lots of stuff during the next days on our PPA (no natty packages yet). Some of the cool stuff to be released are:
Two version of the engine 0.7.2 and 0.8. With 0.8 we are introducing file tracking capabilities (needs a data-providers) that allows Zeitgeist to track where files were moved or copied to and the long due improved blacklist manager.
Activity Log Manager (Zeitgeist History Manager) is complete at last just needs packaging and an Icon) sadly its only 0.8 compatible for now…
All libraries have been updated to support some new upcoming badass features
His royal awesomeness Ted Gould is working with me on bringing El Locco to Gtk3 (due to libchamplain moving to gir) and we hope to be showing it off at UDS-O
Now you can always test our stuff from trunk but we really discourage that. But if you feel adventurous here you go…
bzr branch lp:zeitgeist
bzr branch lp:zeitgeist-datahub
bzr branch lp:history-manager
We need a logo for the History Manager
so feel free to drop by #zeitgeist at irc.freenode.net and show us your work. We don’t have the staff to do artwork atm so help us get stuff done and ping m4n1sh or cando
So with an awesome GNOME 3.0 out I already had some stuff prepared for 3.2 that can show off some of the power and awesomeness Zeitgeist could provide for GNOME 3.2
The designs are random till now and we (Federico, Siegfried and me) are waiting for directions. Until then we are doing what we think somehow makes sense for new GNOME 3.2 features.
None of these things are final yet so feel free to criticize. We have all the pieces we need so it is up to the design team to come up with a final design so we can implement it (sponsored by Collabora). I will be sending a mail to the mailing list soon.
Happy hacking everybody and congratulations for the GNOME 3.0 release…