Category Archives: June 2006

Behind the Scenes: Emmanuele Bassi

Lucas Rocha interviews Emmanuele Bassi, co-maintainer of gnome-utils and author of the GTK+ recently used resources support. Emmanuele talks about “desktop 2.0” and other GNOME things and shows his geek code to everyone.

Short Intro

  • Age: I’m 25 years old.
  • Located in: I just moved from Milan to London with my soon-to-be wife Marta
  • Profession: I’m currently employed as a software developer and GTK hacker with the fine people at OpenedHand
  • Nickname on IRC: ebassi, even though you’ll see me mostly with these handles: ebassi|afk, ebassi|out, ebassi|zzz, ebassi|lunch, ebassi|dinner
  • Homepage and blog (Italian): http://www.emmanuelebassi.net,
  • Blog (English): http://log.emmanuelebassi.net

Interview

In what ways do you contribute to GNOME?

I’m the author and maintainer of the GConf and libgnomeprint Perl bindings, of the perl porting of the GTK tutorial, and also give a hand on the gtk2-perl core bindings.

I’m the co-maintainer of gnome-utils and the gnome-dictionary maintainer after I re-wrote that ancient piece of code.

I also contribute to GTK+ and GLib; I took maintainership of the (now finally deprecated) EggRecent module in libegg and created the recently used resources support (GtkRecent) that recently went in GTK+ 2.9 and which will be available for GNOME 2.16.

Other than this, I’m helping out on the mailing lists and on IRC.

How and when did you get involved in GNOME?

As a user, I began looking at GNOME in the alpha-stage days, but due to lacking a good machine, I used the console much more than I used X (I tweaked the init scripts to have login spawned on 8 consoles instead of 6, and I used another two consoles to monitor logs). I got back to GNOME during the 1.2/1.4 releases, and I liked the applications but dreaded the lack of coherency and polish that GNOME can pride on these days. Then, when GNOME 2.0 became available on Debian I switched to it and loved the integration, the clean UI and the attitude of making things just work for the user.

I began helping out the language bindings for the platform libraries (my very first bug on the GNOME Bugzilla is a patch for pygtk) and created a couple of the Perl binding modules, Gnome2::GConf (for GConf) and Gnome2::Print (for libgnomeprint and libgnomeprintui); I still maintain these modules, even if at a slower pace.

As I was binding for Perl the EggRecent code, I saw that it was unmaintained and that it had a bunch of bugs with patches on Bugzilla; I also saw on the GNOME Wiki that an effort for revamping the spec and the code was underway, so I contacted Federico Meña Quintero and met him at GUADEC 2005 in Stuttgart. While we were waiting for our lunch at a terrible restaurant, we designed the requirements and the basics of the API; after a couple of months, the first version of the code landed in libegg. Meanwhile, I helped Vincent Noel with gnome-utils, namely by porting the package to gnome-doc-utils and by re-writing the dictionary (which was bit-rotting and used code dating back to the 1.x days, and long since deprecated); as Vincent was moving back to Europe, he asked me to release gnome-utils for him during the 2.13/2.14 cycle.

What motivates/keeps you motivated to work on GNOME?

The people and the constant drive to perfection not (only) through bells and whistles but through simplicity and cleanliness. The goal is to provide a system that does not think for you and neither that gives you so many choices that you don’t know what to do with them; instead, GNOME is a system that helps you without getting in the way of your job – because many of us work with computers to make something else, even if that “something else” is programming. What motivates me is also gratitude to the community, because without the help I received I wouldn’t have been able to contribute in the first place, or to get a job.

How much time do you usually spend on GNOME?

What’s left between my work (which usually means dealing with GTK and GNOME anyway) and my family.

What do you think is still badly missing in GNOME?

I think GNOME is lacking a vocal community of “common” users. In the F/L/OSS world it’s easy to get a vocal community as long as you keep the hardcore users satisfied – and those hardcore users are geeks, people with enough computers to issue a naming policy (and if they fork(), they are tempted to apply the same policy to their children). We ended up pissing off many of these hardcore geeks, with some of our choices, but I think we failed to create a vocal community of users which are not hardcore geeks – people using GNOME because they don’t want to set the speed of the mouse animations up to the millisecond but want a reliable, coherent and useful environment to work with.

What is the GNOME’s killer app? Why?

I think GNOME is part of a killer app. Jeff Waugh said, at FOSDEM 2006, that killer apps are mostly network effects: the “killer app” emerges only if all the pieces are working together. I think that integrating GNOME with all the social networking environments, like flickr, del.icio.us, last.fm and all these stuff that comes under the “web 2.0” buzzword, we could get a new kind of “social network aware” desktop, where I can work with a group of people not in the clumsy “groupware” concept (I work, send a copy to a bunch of people, get back all the changes from all the people, merge them, resolve the inevitable conflicts, repeat from start), but in a true collaborative space. Let’s call it “desktop 2.0”, if we want. In this collaborative space GNOME can really play the role of the glue, of the environment that keeps track of everything and, due to its simplicity and sane defaults policy, never gets in the way of your workflow.

Who are your favorite GNOME hackers? Why?

The list is really long. There is a bunch of hackers I respect and admire, like federico, mclasen, ross, vuntz, rambokid, seb128, iain, muppet, kaffee, Manny, alexl, pbor, behdad, jdahlin, jrb, jamesh, tml and many, many others. Their work is invaluable, and often they are really under-appreciated for what they do.

What does your desktop look like?

At the moment, it’s really a mess of folders and files.

I usually change the background depending on light, weather outside, season or mood. The icon theme is Tango, the metacity theme is clearlooks green and the gtk+ theme is clearlooks with the animations turned off.

Which distribution do you use? Why?

I’ve been using Debian since 1998, and before that I used Red Hat, SuSE and Mandrake. In 2004 I switched to Ubuntu as it didn’t force me to download GNOME from CVS to be able to develop on it (I didn’t have a broadband connection, at the time).

Who or what in your life would you say influenced you most?

I had the luxury to grow up in a family which has been supportive of all my decisions about my life, albeit if I had to fight for some of those decisions. I also had the luxury of having good friends and of finding Marta, who really pushed me into doing what I wanted, supporting me with her patience and understanding.

How would you describe yourself?

 ----- BEGIN GEEK CODE BLOCK ----- Version: 3.12 GCS d-(+) s: a- C++++$ UL++++$ P+++>++++ L+++>++++$ E--- W++ N+(+++) o+ !K w--- O--() M V-- PS++ PE- Y+>++ PGP++>+++ t++(+++) 5+ X(+) R* !tv(+) b+++ DI+++$ D++ G+ e* h--- r++ y+++ ------ END GEEK CODE BLOCK ------ 

Which you can find decoded at: http://www.emmanuelebassi.net/linux/ebassi-geek-code.html

What do you get passionate about?

Politics, religion, computers, sci-fi, human nature and all the stuff that is answered by ‘42’.

What sites do you visit daily?

My morning chores involve opening these tabs in Epiphany:

  • planet.gnome.org (obviously)
  • live.gnome.org/RecentChanges (in case something happened while I was asleep)
  • http://www.dilbert.com
  • http://www.eriadan.com (an italian web comic)
  • userfriendly.org
  • slashdot.org
  • gnomedesktop.org

After that, I only update Planet GNOME once in a while.

Free Software or Open Source?

Both.

Married, partner or up for adoption?

I’m living with my fiancée Marta, and we’re going to marry on the 7th of July (or: one week after GUADEC ends).

If you have a partner or children, how do they cope with a GNOME addict?

Marta is, and has been, very supportive with my “addiction”, to the point that she actively pushed me to talk with Federico at GUADEC, and she doesn’t mind me hacking to the wee hours of the morning (even though she once admitted to be a bit jealous). She really is the perfect companion, lover and wife.

If someone visits your country, which spot is a must-see?

I’ll assume Italy here, because outside London I didn’t really see much of UK. 😉

Milan is always a nice place to go for museums and shopping, even though I really love Rome and Naples. Other nice cities are Bologna and Trento; I’d avoid Florence. But anything goes as long as you eat nice food and drink good wine.

Quickies

A phrase?

We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)

A movie?

Ghostbusters (I can quote the italian dubbing by heart).

A food?

Does coffee qualifies? Otherwise, liver with onions (“alla Livornese”).

A place?

No place like ${HOME}, whatever that expands to.

A text editor?

ViM forever and a day. Gedit is great, though. In short: everything but emacs.

A band?

At the moment, The Decemberists.

A song?

I’m in the obsessive-compulsive phase that comes when I buy new albums; one song that I listen to often these days is “July, July”, by The Decemberists, in “Castaways and cut-outs”.

Discuss this story with other readers on the GNOME forums.

The GNOME Community: End Users

GNOME is not just software, but also a community. But what is a community? Vincent Untz takes a closer look, starting with end users in this issue.

There are many visions of GNOME: the GNOME Desktop probably is what most people see, while some think of GNOME as a more general project which also delivers a developer platform and other software. Few people would answer that GNOME is a community when asked the “What is GNOME?” question. It’s the community creating the project, improving it and promoting it, but also the community using the project. The user community lives inside the broader GNOME community. This is too often forgotten.

Nevertheless, the user community forms a central piece in the GNOME world, as it probably does for every project: without any users, the work done within the GNOME project would be considered useless by many if not all contributors. In the GNOME case, there are at least three types of users:

  • end users using our software, sometimes without even knowing what GNOME is
  • distributors integrating our software into larger offerings
  • developers using our platform to create software

In this article, we will focus on the end users, and future articles might discuss the other types of users, and take a look at our contributors.

Why the user is important

It could be argued that spending time to figure out what end users think is costly and it is simply easier to not do this. After all, end users don’t even know what they’re expecting and how things should work, do they?

You may not be able to imagine how wrong this is from a community point of view. Users are the basis of every community, if only for a simple reason: all contributors were users before starting to contribute. Moreover, nobody should forget that a user loving GNOME will, one way or another, directly or indirectly, contribute to the project. Also, assuming the user is stupid cannot be a good answer: if something does not work for one user, there is a good chance that it does not work for others.

While evident to many, the availability of some volunteer support is important to users since it brings confidence that solutions will be found for the small issues everyone faces. We can all easily help here, since it is most often only a matter of answering questions. The benefits of this support are much greater than they appear, since it also helps extend our community. Someone who sees their problems resolved might then try to help other users, creating a virtuous circle. More and more users will contribute, improving the support. This helps to show potential users that GNOME is not only great but also well-supported, and that maybe they should give it a try.

The satisfied user is also a good advocate. He (or she) will promote GNOME when it makes sense, explaining why it works well for them and why it would work equally well for others. We should encourage everyone to advocate GNOME, and to want to advocate GNOME. Imagine someone who is well-known and respected, or is highly visible by many many people. Imagine this person trying GNOME, and reporting how great it is. Imagine all the people learning about GNOME this way. Such promotion is worth a lot. This is how trends are created, this is one way to make GNOME even more successful. Think about it: fixing a bug that is low priority for GNOME contributors, but which is deeply annoying for some users, can provide a real boost to GNOME. A satisfied user is our best advocate.

The user can do some support, can advocate and can do many other tasks such as reporting bugs or proposing features. The user is a contributor, but he (or she) does not know that. If one day he (or she) discovers it, then they will contribute even more and become an even more active contributor. That is how all contributors started.

Ms. Contributor, please meet Mr. User

It is worth noting that people working on GNOME have fewer contacts with end users than we might expect. While a contributor presenting GNOME on a booth would expect to answer some general questions about the organization of the project, its future and some interesting features, users coming to the booth often ask about specific issues they have with GNOME, or they just want to learn what GNOME is. The user is interested in what is available now, or what will be available soon, but the contributor generally looks at the future.

Why is there so few contact? How can this be explained? Comments on many news sites will make you believe that this is happening because contributors are ignoring users; however this explanation sounds totally unfair to most contributors. One more realistic explanation can be found in the communication channels used by users and contributors. A usual GNOME contributor will use mailing lists, IRC and bugzilla to discuss how to improve GNOME; but a normal user will not use IRC, subscribe to mailing lists or find bugzilla very usable. Although contributors are quite happy to listen to users, they do not communicate by the same means and so do not hear much of each other.

Another explanation can be linked to what most users are really using: they are using an operating system. When they look for help, they search for Fedora, Ubuntu, SUSE, OpenSolaris or whatever operating system they are using. If you are not convinced about this, just take a look at the GNOME user forums and at the Ubuntu user forums and see the difference in scale.

This leads to the question of where to find end users. The quick answer is “wherever they are”. This answer might sound stupid, but it is true. It is not possible to make end users change their communication habits just to discuss things with contributors. Contributors have to take the first step, have to show they are willing to listen to the end users. The online user forums are one place where users are meeting, and this is a place that contributors should be watching for feedback. This is a place where you can see how one small bug is really annoying lots of end users. This is a place where ideas are being proposed by users. But there are other places where contributors can find users: if you go to some events or conferences, you will meet users; even if you only look around you, in your family or maybe at work, you will find some other users. Finding users is not difficult, but taking the time to listen to them is.

Let me ask you a favour

Whether you are a GNOME contributor or a GNOME user, try to do this: use ten or twenty minutes per day to help a user, to answer questions on the user forums, to write a blog entry about what you love in GNOME or what should be improved, or to promote GNOME in any other way. Do this for a month. And then look back at the results: you will be amazed to see the user community growing. If you are a contributor, try to help fix an issue that was directly pointed out by a user. Such an issue is not necessarily a software bug; it might be something as simple as an error on a web page. If you are “only” a user, just be aware that the contributors do not ignore you. And stay with GNOME.

Showing the users that they are loved will help them love GNOME even more. Love creates more love.

Discuss this story with other readers on the GNOME forums.