GSOC 2012 – Revamp of the Activity Journal – Final report

The GSoC 2012 program is drawing to a close. Today is the firm pencils down date and we have to submit evaluations to Google. First, let me say that it has been an incredible learning experience and I’m very happy of the final results. I would like to thank everyone has taken part in this travel starting obviously from my mentor Thorsten. Then, thanks to our great Seif, Hylke, Harvey, Federico and everyone else has helped me. Finally, I want to thanks the GNOME guys for accepting my project and sponsoring my travel to GUADEC.
So, now is a good time for some reflection on what has been achieved. Well, last two weeks have been incredible; we have fixed lots of bugs, polished a lot the application, tested it and added two very important features : dynamic time navigation of your activities through the timebar widget and search.

Dynamic Time Navigation (Timebar)

We have finally revamped the timebar widget that allows you to navigate your activities dynamically and easily. With some simple clicks you can jump in time and find/search your activities much more easily than in the previous version of the Journal. The timebar is populated only with days in which the user actually performed activities: the result is less clutter and more effectiveness in navigation. Below you can see a couple of screenshoots showing the behaviour of the timebar on the left.


Now you can search your activities through a custom search view. The results are flexible and dense, displayed in the same way of the normal timeline. Here you are with the obligatory screenshoot:

That’s all. Me and my mentor are very happy of the results we achieved: we have designed and rewritten a new application from scratch and although there is still a long way to go, we reached our initial goals. Obviously I’ll continue my work on the Journal after the GSoC…so, stay tuned and see you at the next Journal report!!!!

P.S. As reminder you can find the application code here. Developers and contributors are welcome!

Pubblicato in development, GNOME, GSOC, Journal, open source, Uncategorized, zeitgeist | 8 commenti

GSOC report #5 – Getting there

It’s time for another GSOC report. First of all, I’d like to say that I’m very happy with the period since my the last report. Me and my mentor have worked hard on the Journal and now our application is really more clean, consistent and smooth. There are also way less bugs.

Below, a screenshot of my today’s Journal.


You can now access all items shown in the timeline view directly from the bubbles. Also, items in bubbles as well as in detail views are consistently sorted to reflect your amount of use (most-used one’s first).
Keyboard shortcuts have been added for timeline navigation as well as for switching back from detail to timeline view. Also, we improved the detail views themselves (i.e the views which open, if you click on a bubble with multiple activities).
Timebar behavior was improved. Bubbles and their headers are more consistent now, and they show bubble cardinality (i.e. the amount of items a bubble stands for). Moreover, bubbles have been tuned to use less screen space. With respect to improved and more smooth bubble and timebar designs, we owe thanks to Hylke and Seif.
In order to let you deal with files you might remember to have worked with, but which are no longer accessible we provide awareness about inaccessible files (this might become a display option in the timeline view). Inaccessibility awareness in detail views is not final yet: there will be aggregated items (which can be expanded and collapsed), to let you control detail views according to your focus.
And, sure, tons and tons of these small nasty bugs got fixed.

What’s next?

We have several pages of to-do’s left and probably, not everything will get done within the coming two weeks. For now, we’ll switch away from that list and head on to a thing very essential: search and filter. Yeah, the feature is a big one, but we’ll do our best to finish it before the end of the GSoC program. Well, and the end of GSoC will certainly not be the end of the Journal’s story.

Stay tuned!

Pubblicato in Test, Uncategorized | 4 commenti

GUADEC 2012 talk

Quick post: for those interested I’m posting the slides of the small talk I gave yesterday at GUADEC during the GNOME interns lightening talks. Hope you enjoy it!


And now…it’s hackfest time in A Coruna!

Pubblicato in Uncategorized | 1 commento


GUADEC it’s almost over; tomorrow BoF and hackfests will start. It has (and it’s continuining to be) an incredible experience I will take with me for the next years coming. This GUADEC it’s the first international conference I ever attended and…well, that’s amazing. I would like to thanks again the GNOME Foundation for sponsoring me and Google for giving me the opportunity to partecipate in the Google Summer of Code initiative.

Finally I would thanks the whole GNOME community: you guys are awesome!


Pubblicato in Uncategorized | Lascia un commento

GSOC report #4: The GTK port

Hello everybody. It’s time for another GSoC report. In this period, me and my mentor, with the precious help of Seif Lotfy, decided to port our application from Clutter to pure GTK.

Why the Port?

Well, initially I chose Clutter because it seemed the best match with requirements we set up for implementing the timeline view that came out of our design process. I wanted nice transitions, effects and so on. Also, I wanted to improve my Clutter skills.
And actually, Clutter is a very nice and powerful lib, but we decided to switch to GTK for the following reasons:

  1. Citing Emmanuele Bassi (Clutter’s maintainer):

    if you’re trying to create a spreadsheet, a standard toolkit is definitely the best
    choice. same goes for a classical, mostly portable application.
    if you’re writing a media center, or a mobile UI, both Clutter and a standard toolkit have had validation in those areas – both in commercial and open projects.

  2. No need for Hardware Acceleration
  3. Feasibility was evaluated ok. And we actually found a way to implement the timeline with GTK. You guess for yourself, if that was some work 🙂
  4. I’m much more expert in GTK than in Clutter. Originally, I wanted to learn more Clutter, but that’s the way life goes.

Status and Current Plans

First, here you are with a screenshot. Yes, it’s GTK …

The timebar on the right now works better. We have video bubbles. And application bubbles, which show you the most used applications of the day, most-used one first.

The porting is almost finished and we will devote our next month to adding new features, such as integration of calendar items. Search will be revamped, including visual guidance to days further in the past, which hold matches. The dynamic Timebar also still needs work. And there is more.
Basic things will need attention too. Interaction with the ‘Journal experience’ still doesn’t feel smooth enough for me to be pleased with it. So there’ll be things popping up, I’m sure.
By the way, Thorsten is writing a row of posts with recaps, reflections, and thoughts about where the Journal’s journey might be taken. Here’s his blog.
See you at GUADEC!!

Pubblicato in GNOME, GSOC, Journal, open source, zeitgeist | 10 commenti

Designing the Journal … and sure: Prototyping it!

This is my second update on my Summer of Code project. In these weeks, I’ve been pretty busy because of Univ. exams, but I’ve hacked as much as possible. Before I’ll demonstrate my prototyping progress, let’s first consider some picks of our current design decisions. Note, that I’m not alone! 🙂 … quite some people commented on early drafts of a design document and some even provided designs. Big Thanks! … to all of you … more detailed acknowledgements will follow …

Design Considerations

I’ll cover some of the rationales for the most important elements of the Journal, in no particular order, starting out with the most obvious one.


The central presentation metaphor of the main Journal view remains a timeline, just as holds for many of the systems, which share some of the goals with my Journal revamp (such as Forget-me-not, Lifestreams, LifeLines, Milestones / Stuff I’ve Seen, PostHistory, the OLPC Journal as well as the ReflAction Journal).

Continuous Scrolling

Continuous scrolling of a timeline appears to be the approach to local exploration of a temporal environment, which is most easy to understand and to handle. So, as compared to the ‘old GAJ’, it was decided to move to a continuous timeline with continuous scrolling. Horizontal and vertical timeline layouts have been discussed and designed within the past weeks and I started out with the vertical version because, along with a vertical scrollbar, it’s pretty much known to everyone, as the majority of us is still used to something A4 portrait, right? However, there will be choice, one day.

“The Mind so easily gets Bored!”:  Uniform Boxes in Columns vs. Variably-Sized Activity Bubbles on a Timeline … “and the Winner is?”

As already indicated above, the ‘timeline plus columns’ layout of the old GAJ was abandoned, also because much regularity in layout rather suits visual comparison of the boxes’ contents than it is supportive to re-finding and recognizing specific activities and therein involved information and people. In our opinion, an ‘overly regular’ layout prevents visually reflecting, for example, both clusters of information touched and particular activity distributions occurred. These observations, which made us dismiss structures such as lists and homogeneous thumb-grids as well, are in line with what we refer to as Federico’s ‘irregular grid’ note.
The need to adhere to a ‘too strictly predefined structure’ simply provides too little room and flexibility for adapting the boxes to the contained different information types and relative representation forms. Besides that, the rather small boxes didn’t really allow for adding visually effective reminding support.
Our assumption that the chosen design move to ‘activity bubbles’ on a timeline (as presented below) can provide more overview, than what was achievable with the old GAJ user interface, remains to be proven correct. By contrast, enabling more condense search-result presentation by the new Journal user interface seems evident to us.
The appearance of the activity bubbles is on purpose similar to the design of the GNOME popups: a triangle for visual anchorage plus rounded corners. All nice.

Two-Column Layout

Regarding the two-column layout which contains the activity bubbles line-up, we consulted a numerologist 🙂 Additionally, we opened our ears to rumors about the design rationales, which led to the two-column layout of most ACM conference submission templates: while this template might not be perfectly supportive to the production of easy to read pages, it certainly allows for a condense presentation of easy to scan and overview content.

Logarithmic Timebar

Logarithmic timelines with their focus on the more recent periods of time were invented in the 1930’s and are today widely used for historical overviews and scientific diagrams: a logarithmic scale ensures increasing resolution when approaching the present time, which is useful in cases, where recent times hold the most interest.
The advantages of a ‘logarithmic timebar navigation widget’, complementing the Journal’s timeline are obvious, considering that the information touched today, within the last week, and within the last month, respectively, was shown to account for 5%, ~20%, and ~50% of a user’s overall information re-use. In fact, even without awareness of these numbers, some designs of the old GAJ (soon after the project had started) favored a similarly distorted timebar navigation widget; but this was only until the decision to merge a histogram navigation widget (for jumping to specific days within the Journal) with visual indications of the amounts of activity per day. So, now, at the occasion of the Journal revamp, these ideas surfaced again, and I decided to give experimenting with them a try. In general, I am not really convinced of distorted information visualizations, but I like this distorted widget thing.

Prototyping Progress

So far, my work mainly focused on reaching with the new Journal about the same feature set as the old GAJ provides. This involved fixing a lot of nasty bugs and the Journal is day-by-day becoming more smooth. I didn’t surface the implemented support for searching and filtering, yet. Another thing on my TODO list is continue prototyping of the ‘detail view’ of activity bubbles as well as of the transitioning back and forth between the Journal’s main view with the bubbles and the expanded detail view of a single bubble, which will allow to focus on its content.
Finally, to wrap-up of this post, I’ll give you a screenie for take-away.

That’s all for now. Stay tuned and see you at the next GSoC report!

Pubblicato in Activity Journal, development, GNOME, GSOC, open source, zeitgeist | 4 commenti

See you at GUADEC 2012!

Hello again! Great news: I will attend GUADEC in A Coruna! Thanks to GNOME for sponsoring my travel. You’re awesome!

This will be the first time in my life attending an international conference  and I’m so excited….I will be happy to meet up for the first time in person with my mentor Thorsten, with Seif Lotfy, with the awesome Zeitgeist Team and with all the GNOME troupe.

File:Escudo de A Coruña.svg


See you there!



Pubblicato in Uncategorized | 1 commento

Say Bye-Bye to Activity Journal! And please welcome the Journal!

Hello everybody! Great news: I’m very proud that this year I’ve been chosen by GNOME to be one of their 29 GSOC students. My work will focus around the application formerly known as Activity Journal. Citing my proposal:

The proposed project is about combining support for overviewing and re-finding past, current and future user activities in one user interface. Hence, I will revamp and rewrite the current Activity Journal application, which will then be hosted on the GNOME infrastructure. Beyond mapping out a user’s past and current doings, the journal’s UI-metaphor time lends itself to be further leveraged for reminding a user about upcoming stuff.

For the ones who are interested, you can find the complete proposal here. You can follow my progress by reading my blog or by weekly “polling” this page, where I’ll put up everything about the project: designs, code, screenshots, videos, comments and more. My mentor is the great Thorsten Prante. It’s lovely to work with him and I’m sure we’ll get awesome results.

What have I achieved so far? Well, we’re in the first “real” week of GSoC now. However, I started about 3 weeks ago. So, me and my mentor have already worked on a re-design of the application: we analyzed and discussed design options, studied some literature, experimented with designs (with the help of some others) and received early feedback. The results are documented and will soon be available. Apart from that, I’ve started to implement a prototype of the new Journal. I’m using Clutter and GTK+ and you can find out about that work here (obviously, it’s in pre-pre-pre-alpha status).

Stay tuned and see you at the next GSoC report!

Pubblicato in Activity Journal, development, GNOME, GSOC, open source, zeitgeist | 6 commenti

Please say Welcome to the first draft of Zeitgeist Global Privacy

Finally we have started working on a feature (or better, a set of feature) that many, many, many users have long been calling :

  • the possibility to delete a part of Zeitgeist history (last hour, last day, last week,…);
  • the possibility to blacklist an application or a particular MIME type (where blacklist mean that Zeitgeist won’t log anything that the user does with this particular application);
  • the possibility of  inhibit the logging of a particular folder.

In simple word, the user asks the control on what Zeitgeist should or should not log.
For achieving this, we are implementing an application, that we call “Zeitgeist Global Privacy”.
My task in the team is to create the UI (basing my work on some Manish‘s mockups).

And so here you can see some screenshoots of this first draft of the application.

Comments and suggestions are welcome.

Pubblicato in Uncategorized | 39 commenti

Emesene2 gets MeMenu support.

Some times ago I wrote a patch for the Ubuntu MeMenu adding the support for Emesene chat client. Emesene it’s the first open-source project I’ve worked on and I’m glad to announce that my patch has been accepted and will be included in the next Ubuntu release, Natty 11.04.

This is a great news for all Emesene’s users because in Natty they will find a fully integrated (Emesene supports the Messaging menu, too) and shiny new Emesene2 ( for the uninitiated, Emesene2 was released, debianized and included in Debian and Ubuntu ).

Pubblicato in development, open source, python | 1 commento