GAJ towards a new view

Great news dudes!
Some days ago “big Seif Lotfy” asked me to write a new view for GAJ. In his imagination this view should help the user to see when and how much he has worked on a particular item/file/anything else…
Well, in the last week I’ve hacked on that request and these are the results.

The graph is painted with a little great cairolib called Beauty-timeline that I’ve hacked and adapted to our needs…
Pay attention! This feature is in a early alpha state and it’ll be strongly improved (hopefully…when i’ll find some time after univ exams… :P).

I want a video! I want a video! I do want a video!!

Really???Are you sure?? Well, here you are… 🙂

Well, now you only have to tell me what do you think…..:P

Comments and suggestions are welcome.

Pubblicato in development, open source, python, spare time, zeitgeist | 16 commenti

GAJ gets an App Indicator

Nowadays almost every applications has an app indicator. Why GAJ shouldn’t have it?
Well, i’ve answered to that question  and today i’ve pushed to trunk this new feature hoping to do a good thing for all GAJ/Zeitgeist users.

Obviously it’s possible to disable the app indicator and in fact by default it’s disabled. You can enabled it in the preferences dialog.

But wait app indicators work only for Ubuntu! And pure Gnome users that don’t have libappindicator?

Relax, dude! If GAJ runs in a pure Gnome environment, instead of the app indicator a simple Gnome tray-icon is showed!
As always i post a screencast of the feature. Here you are:

At the moment with the app indicator you can only show/hide GAJ (and close it): in my humble opinion this is better than open and close every time GAJ because with the indicator the application is more responsive and “near a mouse click”. 🙂

Obviously comments and suggestion for improving the App indicator are welcome.

Pubblicato in development, open source, python, zeitgeist | 1 commento

GAJ continues to improve

Yesterday i’ve commited new mods to GAJ.

The Folder dilemma

The most important and the most discussed one ( see this bug, and these comments) is the possibility to add a right click entry “Open the folder containing the item” in every item’s context menu.
Well, someone has pointed out that doing that isn’t useful, as we return back to file manager scenario. Someone else instead, finds this click entry really useful ( please read the previous comment’s link).
Well, I’ve tried to please everyone and this is my solution:

Yup, it’s very simple: if you want to open  the item’s folder you can click on the label indicating the item’s path (it becomes red and the cursor becomes an hand). Doing that I don’t have to add any new click entry but opening the folder is still simple.
Pay attention: you can only click on items that really have a parent folder!
For example you can’t click on notes or webpages’s path!

GAJ becomes careful to deletions

The others two mods that i’ve commited might appear a bit technical but i think they’re very important.
In those commits I’ve fixed GAJ, so now it can handle correctly DELETE_EVENTs. What does it means?? Well, it means that from now on deleted items doesn’t appear in GAJ.

But…wait..It’s been a while that deleted items don’t appear in GAJ!

Yep, you’re partially true because that is only the case of “common” files (text, pdf, odf, etc..). With my mods GAJ becomes aware of delete events coming from external data-providers ( if you don’t know what data-providers are, check out this post). For example from now on deleted Tomboy’s notes aren’t showed, and so on…
The nice thing is that my mod will work out of the box also for other future data-providers that will send DELETE_EVENT to Zeitgeist’s daemon… 🙂

GAJ updates item’s name

Finally, the last mod permits to GAJ to update in “real-time” the name of an item that is being modified. For example if you’re working on a note and you change its name, this change is istantly showed in GAJ.

In opposition to the previous mod, this works only for external data-providers. Normal file are updated only if you close and reopen GAJ. We’re working to fix that, but it seems there is no simple way to get a rename_event from the Gtk framework.

Comments and suggestions are welcome.

Pubblicato in development, open source, python, Uncategorized, zeitgeist | 4 commenti

GAJ becomes Draggable

Yup! Yesterday I’ve hacked a little more on GAJ and I’ve finished my previuos work with drag ‘n drop.

In particular I’ve added this feature to the Bookmark/Pinning area (after closing a little bug concerning the same area). Now you can drop an item onto that area and the item is automagically bookmarked. Nice, isn’t it?

With these last mods Gnome Activity Journal becames fully compatible with Drag ‘n Drop…..well, you can’t drop a file on GAJ and expect that it’s added to the current day’s list: you can’t because it doesn’t make sense. Except for that you can do everything else: you can drag ‘n drop an item in your Desktop and the item is copied, you can drag an item in a chat conversation and the item’s uri is copied and much more.
Wise men say that a screencast is better than 1000 words…so here you are (in this screencast you can see also the other feature I’ve implemented: audio preview).

Hoping that  so much rock music hasn’t broken your speakers, now you’ve to do only one thing: check it out!!!!!!
(Obviously for the moment these features are only avaible in trunk.)

Be honest: you can’t wait for the new release, can you?

Update: Now you can also drag ‘n drop a file over an empathy conversation and the file is sent to the buddy you were talking to… 🙂

Pubblicato in development, open source, python, zeitgeist | 20 commenti

Becoming a GAJ Team Member

Great news! Seif (if you don’t know who he is, he is the Zeitgeist project manager, aka the boss!! ^^ ) has granted me the access to the repository of GAJ. This means that I’m a member of the Gnome Activity Journal Team!

Woooooooo! :O..That’s amazing!

Thanks Seif, I’m honored of having the opportunity to work with you and the other great hackers of the team…I’ll do my best to help you out, creating a better GAJ/Zeitgeist!

Pubblicato in development, open source, spare time, zeitgeist | Lascia un commento

Me and Zeitgeist

In the last few weeks I’ve started hacking with Zeitgeist.
For those who do not know what it is, Zeitgeist is in my humble opinion one of the most interesting projects born in the open-source panorama in the last few years.

But…what’s Zeitgeist?I’m pretty sure it was a movie!

Simplifying, Zeitgeist is a service which logs the users’s activities and events, anywhere from files opened to websites visited and conversations. It is also able to establish relationships between items based on similarity and usage patterns.

It’s magic is simple: consider a daemon always running in background waiting for an user action, like opening file or listening to music, for logging them in a useful manner.

Wow!!You exclaim…. yup, you should!

Uses cases.

Zeitgeist kicks out the old, useful but not very intuitive folder paradigm. Zeitgeist wins where folders organization fails.

If for example you don’t remember on which files you were working last week, Zeitgeist helps you; if you want to know to whom you’ve talked yesterday when working on a particular document, Zeitgeist helps you; if you want to know what file you used together a particular one, Zeitgeist helps you; if you want to know what was the really nice site you visited last month, but you don’t remember exactly his name, Zeitgeist helps you. Zeitgeist integrates with Ubuntu Software Center adding “raccomandation” feature. Zeitgeist also figures out, which are an user’s most used items, not only in general, but also applying time scoping as in “What was most relevant to me, while I was working on project X, for a month last year?”.

This is only a really really small list of possible uses (trust me!). If i haven’t convinced you consider also these uses cases.

I should also mention that Zeitgeist will be shipped with the Unity Ubuntu Interface, creating a new really exciting user experience. Here’s an amazing example of  Zeitgeist integration with Unity from Seif Lotfy, the Zeitgeist project manager.

GAJ: the Zeitgeist’s portal

But wait, Zeitgeist is “only” the daemon; there is also an user interface called Gnome Activity Journal that permits you to dig into your events and actions. It incorporates search, preview, tag, bookmark and other useful features: GAJ is your portal to the world of Zeitgeist. Here’s a screenshoot:

Yes! you guessed it: GAJ stands for Gnome Activity Journal.


Zeitgeist is magic, but “he” needs help to take care of all user actions/events: Zeitgeist simply (well…that’s not so simple) logs events but “he” needs that someone notifies him those events. All simple events like opening, modifying, deleting a file are signaled to Zeitgeist by the GNOME infrastructure, but the others like music playing, web surfing or creating tomboy notes aren’t.

Data-providers do that! They are plugins ( written by the Zeitgeist team) that plugged to the respective applications report to the daemon their particular event.
Rhytmbox has a data-provider, Banshee has a data-provider, Tomboy has a data-provider, Firefox has a data-provider, Chrome has a data-provider, Telepathy has a data-provider, Bazaar has a data-provider and so on. With them Zeigeist can log __every__ user action.

Are you begin to understand the big picture?

My turn.

My first contributions to Zeitgeist  have focused on GAJ: I’ve added the Drag’n Drop feature and added the audio preview to the music files showed in your Activity Journal. The Zeitgeist Team has approved my changes so you’ll can found them in the next release. I’ve also improved the bzr data-provider adding the support to the pull-event and fixing small bugs here and there.

Yep, you’re right…it’s not such a great thing…:)

Ah!The Zeitgeist Team!

Yeah!It’s awesome! Honestly I’ve not personally met the members of the team, but to every question, they have __always__ been kind and helped me out a lot.

Do you want to meet them? Join #zeitgeist irc channel..

What’s next?

Well, i think you should really check it out.
You can install the daemon and GAJ on Ubuntu with the following commands:

sudo add-apt-repository  ppa:zeitgeist/ppa
sudo apt-get update
sudo apt-get install zeitgeist gnome-activity-journal

You should install also data-providers for a complete Zeitgeist experience. Just type those commands (I consider that your current working directory is ~/gaj):

bzr branch lp:zeitgeist-dataproviders
cd ~/gaj/zeitgeist-dataproviders
make && make local-install (change to make install if you want to install globally)

Manish Sinha, another great new developer of Zeitgeist, reminded me the presence of a PPA for the data-providers created by Markus Korn:
There is also a PPA for the Tomboy’s data-provider that’s not included in the previous PPA:

Finally, don’t forget to check out this post for a panoramic tour of all Zeitgeist related projects.

Comments and suggestions are welcome.

Pubblicato in development, open source, python, zeitgeist | 12 commenti









Yup! That’s definitely true. I think it could be scientifically proved.

Pubblicato in spare time | Lascia un commento