Archive for July 2009

Yet Another Zeitgeist Rant

Well first of all I am happy that we finally released the 0.2 of Zeitgeist engine (check out my GSoC student’s blog). It took us 9 months :P .

Now to clarify some issues concerning Tracker and Zeitgeist collaborations that have been discussed during GUADEC and that might confuse people, I will sum them up in points:

Tracker, Zeitgeist and Nepomuk are not the same. Nepomuk is an ontology used to describe Data. Tracker 0.7 (not the old 0.6) is an indexer and storage (which should have another title) . It is very efficient and uses the Nepomuk ontology. Zeitgeist is an event logging framework that provides cross application awareness. The reason why Zeitgeist was not able to use Tracker form the start was that neither the Nepomuk ontology nor Tracker supported the idea of storing an Event as an entity of its own (storing the history of the documents into themselves would not have done the job). Now several ways were discussed howto join forces and here are a few doable at the moment:

  • Zeitgeist could notify Tracker about important events so Tracker could index those Targets (optimizing the queue).
  • Zeitgeist stores all its data into the Tracker storage (except events until an ontology that satisfies the needs of all three projects (Nepomuk, Tracker and Zeitgeist) has been reached)
  • Zeitgeist could use information Tracker has about URI’s of interest.
  • Tracker could use the dynamic tags (to be implemented sooner than you think) and set them somehow as relations between documents.

That being said the focus of some of the team members has gone to the Shell to provide a journal view as well as better integration by October. Also we are cooking a new dynamic “File Browser” based on Natan Yellin’s mockups and Sebastian Faubel’s “Organize Framework” vision (@David Siegel: It will rock your world :P ).

Now during the hackfest I managed to prototype “Teamgeist” aka “Cookie Monster” creating application awareness over p2p. Instead of using a torrentish protocol, Robert McQueen from Collabora set it up to use telepathy tubes, also some Tracker magic with the help of John Carr has been done there too.  We set up a little UI and voila. I will uplaod a demo soon but here is what some people had to say:

Federico Mena (Novell):

W00T! oh my god! you just invented twitter for real work!

Robert McQueen (Collabora):

This project is an awesome demonstration of how GNOME’s new technologies can be combined to achieve completely new UI concepts – it has the potential to change the way teams work together on the free desktop.

Rob Taylor (Codethink):

AWSOME

ANONYMOUS (Don’t know why):

Are you shitting me! This is freaky!

GNOME@GCDS moments!

diego

Hmmmmmmm Yeah I’d rather take the Euro too when you think about it that way!

GCDS: Need help from Telepathy guys!

HELP please contact me if you are at GCDS! Wanna test the Zeitgeist integration!

Zeitgeist acting as a file chooser dialog

Markus Korn just made my day:
WATCH the last minutes of the demo

* UPDATE: its back up (pretty big file but its worth it)

GCDS: A Tracker Zeitgeist Collaboration

The Tracker and Codethink awesomeness is ridiculous. We came up with the plans of Tracker Zeitgeist collaborations.
The guys at Codethink (who provide genius) agreed on setting a roadmap so we can know when we can depend on them and believe me its sooner than you think. Tracker 0.7 is faster and better and SEXIER than “iffy” 0.6 (sorry Codethink but just like Stallman I think I am entitled to my STUPID opinion).

Our first draft and plan is to store all our metadata attached to the arguments of the events such as the applications and document metadata into the tracker storage (we are working on that already). Thus leaving the docs and metadata relations to them. Our job is to notify Tracker on specific events what to index etc… so basically we are acting as a data provider. Later we will work with Nepumok to have an event entity in their ontology allowing us to dunp all our event data into tracker, making Zeitgeist act as a hub and event manager. Also we will be querying Tracker with searches where they will the provide us with the URIs that fulfil the descriptions. ROCK ON!

Zeitgeist sweetness

1. Markus Korn (our dataprovider guru) managed to write his first client. I don’t want to ruin it for  by telling you what the client does but here is a kick ass video of his work and look at the branch.

2. At GCDS I started a parental control prototype (during the Richard M. Stallman talk) and I previewed at the the Zeitgeist presentation and in front of the GNOME adivsory board. I know ppl may hate it but it is a proof of concept, being able to to subscribe for events from zeitgeist analyzing them and creating reactions. Again we can provide applications that subscribe to us with documents of the event as well as apps that produced the event. But enough talk lets walk!

So more hacking with the Tracker boys today! KICK ASS!

GCDS Adventure

At last I got some time to write down a rant…

First of all thanks to GNOME Travel Committee

So first day was really nice i met some of my personal heroes at the Canonical Party. But of course not only Canonical guys but also Novell, Codethink and Redhat people. I tried to help Jorge out with giving out t-shirts. I was also very happy to meet people I kinda work with but never got to meet like Marina and Owen. All in all it was a very nice party. Nice people and atmosphere.

Well the official Day#1 was very interesting in terms of Robert Lefkowitz and Richard M. Stallman (RMS). The first was amazingly entertaining and the second was just RMS. I consider RMS a fundamentalist and as much as he is inspiring this was just pathetic and a joke. But yet again I am entitled to my own stupid opinion. I pretty got start struck when I met Federico Mena. WOW I could have pissed my pants if I wouldn’t have used the bathroom before that. It is nice to see the main man who got the Zeitgeist project rolling. When the talks ended we went back to the Fataga hotel and made good use of the hacker room to finish the slides and what all the last minutes polished to the “Journal”. I got into talks with Nepomuk and Tracker guys and looking forward to actually start helping each other out.

Day#2: My notebook broke!!!! WTF on the day of the presentation! Well me managed to get it through though. Except for the fact that I was nervous, I think Federico and Throsten did an awesome job. We got our message through I hope. It is nice to see people getting interested and showing them that there is more to Zeitgeist then just a UI but also a whole independent engine. We got some nice attention but I have to make clear that the project is not just the three at the presentation. It is a whole team. People form the UI side and people from the engine side, who kept moving each other forwards. I would have wanted the engine developers to be present. A lot of credit should go to Natan Yellin, Siegfried Gevatter, Mikkel and Markus Korn who put alot of time into the engine work. Again they are very much involved in the project as I am. Siegfried already surpassed me concerning Karma point for the project on Launchpad :P . The night went on well at the Nokia sponsored Party. I was invited to join “SMASHED” (Single Malt Appreciation Society of Hackers Engineers and Developers” looking forward to that.

So no I kinda need a new notebook. It stopped charging and it just freezes and crashed randomly. So I will set up a donation box so I could continue working on Zeitgeist :P .

Some Zeitgeist news

The last 3 weeks were a pain in the ass concerning Zeitgeist. However it was very productive and dynamic. We finished implementing the new DB design and got it running.

David Barth helped us a lot with organizing the transfer to the new engine that was designed by Mikkel (the XESAM dude). And all the dataproviders were modified accordingly thanks to Markus Korn.

One of the things that got me jumping up and down like a child is when Alex Graveley (Tomboy and Gimmie) told me he was considering building Gimmie again using the Zeitgeist engine (I guess that won’t happen though he seems to busy). I will look into that at some point after October.

As for our vague roadmap:

Zeitgeist engine 0.1 and GNOME Zeitgeist 0.1:

We froze development and are only fixing bugs for a 0.1 release:

We currently cover the use cases with the engine and UI:

  1. What did I do in any time period.
  2. Search activities by tags etc…
  3. Allow application push their events in Zeitgeist(engine)
  4. Get most used Documents and websites within any time period
  5. Bookmark and Tag Documents
  6. Allow applications to subscribe to events form Zeitgeist(engine)

We will be releasing on Friday hopefully.

Zeitgeist engine 0.2 and GNOME Zeitgeist 0.2:

0.2 Release should be in a month it will be a more or less extending the API and UI.

We intend to cover: (All these points are possible but need to be covered by the API)

  1. What applications were used in any time period
  2. Bookmark/Tag applications
  3. Most used applications in any time period
  4. Most occurring events (reading/writing or visiting)
  5. Bookmark/Tag events

Of course all that needs some refurnishing from the UI side. So the current UI is not our final implementation while the engine wont be seeing major changes until 2.28

After GNOME 2.28 we intend to go a little further by first logging events from online applications and exporting all our dataproviders to be extensions residing in the applications themselves. For that we will need some support form the GNOME developers to extend their apps if possible with plugins. This will allow us then to:

Know how long an activity on an document lasted which then would allow us to:

  • Auto Tag intersecting events and their documents
  • Create relationships between items
  • Restore a full state of a computer (which docs and apps were open)

Also my GSoC student “RainCT”, who is amazingly proficient at making me feel redundant (I will be blogging about that topic soon), has done amazing progress with the engine, API as well as the Shell integration. He has become one of the most important people in the team. Canonical or Google I recommend hiring the little dude!

I think I should mention that Shane Fagan is working on a new KDE UI.

Federico, Thorsten and me are working on the slides for our GUADEC talks. Pretty exciting shit!

However I will be taking 2 weeks off after GUADEC since I have been actively working on Zeitgeist since last October (almost everyday). I need to focus on my exams and the new Zeitgeist extension “Codename Cookie Monster”(we still need a better name) that I will be designing the backend of it with Alex Gabriel from Mayanna and Natan.