Post GUADEC notes (aka GNOME in revolution mode)

This GUADEC brought a lot of momentum to GNOME: fresh new ideas and nice discussions and plans about our future platform and desktop. For the first time in the last 2 years, I have the strong feeling that GNOME is about to switch to a “revolutions mode”. This means that several small and big revolutionary things will start to bubble inside the project from now on. I’m really excited about it! (Obviously, I’m not saying that nothing interesting happened before this GUADEC. It’s just that now I see more cohesion around some goals inside community.)

The Online Desktop

The Online Desktop is something that, if done right, can bring a big and positive impact on the GNOME user experience. What I like about this idea:

  • It takes advantage of the whole world of cool web services out there
  • It makes the GNOME Desktop much more fun (I remember Vincent commented about it 2 years ago… He is totally right!)
  • Consequently, it brings GNOME much closer to the user who uses the computer to strengthen his/her social and emotional ties

I don’t think we should work on an “online mode” (with a special UI) for GNOME Desktop though. IMO, the way to go is to turn GNOME into a “web-aware” desktop environment. some examples:

  • If you’re viewing some photos or watching a video, it should be easy and seamless to upload them to your favorite photo/video sharing web service
  • It should be natural to keep track of what your friends are doing on web (what Mugshot does)
  • When you import some photos from your camera, it should be possible to upload them straight away to the web

Bringing web-awareness to GNOME involves creating a basic platform (mostly a set of D-Bus services and GTK+ widgets) that could be shared by any desktop component who wants to be web-aware. This way those bits can be used on GNOME Mobile as well.

We should not limit ourselves on the data sharing on web services because, in essence, what we want (as users) is to share media with other people. We should consider having an integrated communication framework as part of the Online Desktop effort. Some examples:

  • If you’re viewing some photos or watching a video, it should be easy and seamless to share them with one or two friends (via messenger, e-mail, local network share, etc). If your friends are online you can simply start chatting with them after you shared something with them. Something like Web Swarm (in Mugshot) does for links but for any shared media
  • There should be some central place to start communicating with someone. it doesn’t matter if it’s via e-mail, messenger or whatever else
  • It should be easy to make collaborative work on the same content (documents and media). OLPC is doing a great job on this subject

We already have a lot of code available for covering some of those use cases. Some of them: Conduit for easy syncing with web services, Empathy and Mission Control for a Telepathy-based integrated communication in the desktop, Mugshot (server and client) stack for web services activities tracking, Soylent for “people browsing”, and so on. There will be this big effort to add the “online” bits to applications and other desktop components.

“Bling!” on GNOME

There were some nice talks about adding more “Bling!” to GNOME. It was nice to see things like Clutter, Lowfat, GTK+ 3.0 (oops, 4.0!) discussions, compositing, etc. There two things I’d like comment on:

  • We have this challenge of making GNOME sexier. Ok, cool! But let’s keep this in mind though: we should not make GNOME unusable on a computer without 3D acceleration. At the same time that we want to impress the user with cool effects (which should improve the usability btw), we need keep in mind that there are lots of people using low-power/old computers with GNOME on social projects out there (Brazil has many of those).
  • In order to bring “Bling!” to GNOME in a consistent way, those bits should be in the platform level with components that could be easily reused among applications. Also, we would need to have clear guidelines in HIG. Otherwise we’ll end up in a “Bling!” hell!

GNOME Platform

It was nice to see that important changes are about to come in our platform. Most of them I’ve already commented before: GVFS, GTK+ 3.0, New applet API, GSettings, Mallard and others. Next year will be really nice for GNOME Platform!

People

That’s GNOME: a bunch of extremely talented and generous people working on the common goal of creating free, easy-to-use, and innovative technologies to everyone!

Quick idea for a revamped HIG

I just wanted to blog about it before I forget. I had a nice chat with Andreas and this idea came out.

Well, everybody knows that our beloved Human Interface Guidelines (aka HIG) needs an update. There are some missing bits for new use cases and the current content needs to be updated for the current desktop (although most of the document seems to be still quite valid). I guess I don’t need to argue about the importance of those guidelines to GNOME usability and UI consistency, right?

My main use case as an user of HIG is to open its table of contents and search for a section related to the topic I’m trying to deal with in my UI. So, would it be nice if the HIG became some kind of a UI guidelines knowledge base? This way we can easily keep the guidelines updated and evolve it every time we find out about a new use case.

Each entry in this knowledge base would provide guidelines for a specific use case or behavior (keyboard shortcuts, search, zooming, drag and drop, etc) or UI element (statusbar, toolbar, menubar, dialogs, panels, etc). Entries could be marked as deprecated and have different versions. Of course, entries could be tagged as well. The initial webpage could have just a search entry and a sane topics tree, tag cloud (or a kind of table of contents). The entries could be submitted by anyone but it would be moderated and improved/fixed by the GNOME Usability experts.

Well, this was just a random idea. I don’t really plan to work on that. I hope it can be an inspiration and bring some motivation to update our HIG and make it rock even more! :-P

GUADEC Highlights

  • I think my talk about Hildon Desktop went quite nicely. Well, that’s what I’ve heard from the attendees :-)
  • Some interesting ideas came out from Havoc‘s and Bryan‘s keynote about Online Desktop. I still don’t see much sense in something like Big Board or an online-only desktop flavor. But yes, we need to take the new web services into account in GNOME Desktop in interesting ways. I have some ideas for Eye of GNOME plugins for instance. :-P
  • Very strong presence of GNOME mobile related people in GUADEC. I’m pretty excited about what is yet to come in this area. Yay!
  • I love the stickers that came in the conference bag!
  • The GUADEC 2007 group in Flickr group has some nice shots
  • Mirco brought some interesting ideas and demo in his talk about a possible next generation GNOME Desktop. There are lots of yet-to-be-answered questions on this subject but I think it’s always good to see people bringing fresh new ideas for discussion.
  • Xan and Fer rocked our world with an awesome intro talk for the GTK+ 3.0 BoF! It’s cool to see the GTK+ community starting to consider in a more concrete way the next iteration of our beloved toolkit.
  • I commited a patch by Hubert that adds XMP support to Eye of GNOME (based on exempi). Hub, you rock!
  • Vincent can’t say “Hello” with a british accent. HA HA HA! Dude, I love you!
  • Danilo, Da Da Da! Dje!
  • Etrunko, thanks for lending me your iPod with loads of cool “caipira” songs!
  • Very nice to meet again Thomas, Andreas, Claudio, Izabel and many others!

Python in the Eye

As I’ve announced before, the development version of Eye of GNOME, your beloved image viewer, features a new plugin system which allows you to extend EOG’s UI and behavior. Now that I added python support to the plugin system, the only thing is missing is a bunch of cool plugins! :-)

I’ll pay a beer (at GUADEC) for each one who develops a cool plugin and helps us to improve our plugin system. I have some ideas for a start:

  • File browser pane: something like the File Browser Gedit plugin;
  • Flickr Uploader (aka Postr integration): I have a prototype ready for this one;
  • Photo feed viewer: add support for adding, removing, and viewing photo feeds;
  • Blog This Image: this one could be done by integrating with good/old gnome-blog app;
  • Add watermark to Image: you would be able to add the watermark from a text or from an existing image;
  • Location on Statusbar: show a statusbar icon with a tooltip showing location info (city, country, neighborhood, street, etc) embedded in the image;
  • Creative Commons Licence: show a statusbar icon with a tooltip showing the license embedded in the image;
  • Add your suggestion here!

Volunteers!? :-)

The Side Pane problem

I want to allow plugins to add functionalities to a side panel in EOG. As you probably know, there’s no such side panel in EOG yet. Considering that currently you can place the image collection pane on the top, bottom, right, or left side of the window (a feature requested by several users), how can I have the (left) side pane (for plugins) and allow the image collection pane to be on the left side as well?

In the case of Gedit, the side panel has a documents list (the equivalent UI element of EOG’s image collection pane) and other “pages” can be added to the panel by the plugins. In the case of EOG, this would not be a good approach because the image collection pane is something that you want to keep visible all the time and the side bar should always be on the left side.

Any suggestion?

On GNOME 2.22: the rise of a revamped platform and desktop

We’re now in the middle of the development cycle for GNOME 2.20 and our plans were already published in our RoadMap page. Of course, there are some very nice stuff coming for the next GNOME stable release as you can see there.

I’d like to bring some attention to an important thing that can make a lot of difference for GNOME next year. We have a very good opportunity to make big, necessary and important changes in our desktop and platform in the 2.22 release. Why am I saying that?

From the roadmap process we’ve kicked off in the 2.20 development cycle, it’s perfectly clear (to me) that several important changes are coming (potentially for 2.22). Here are some of them:

  • Revamped session management: headed by Dan Winship. Recently, a branch has been created with the new code.
  • Next iteration of the GNOME Configuration system: headed by Emanuelle Bassi. Possibly, an initial code will be shown and discussion on this topic will happen at GUADEC.
  • Revamped VFS API: it’s called GFVS and is being headed by Alex Larsson. Current code resides on a git repo. For a good overview on GVFS, read this message Alex to gtk-devel-list some time ago. Current status and discussion will be take place at GUADEC.
  • New documentation technologies: it’s called Mallard and is being headed by Shaun McCance and Don Scorgie. Current code resides here (Mallard) and here (Rarian, replacement for scrollkeeper). We have 2 Summer of Code projects for the development of a documentation editor for GNOME which uses the new infrastructure. Some of the new stuff will probably be used in 2.20 already. Talks about related topics at GUADEC.
  • New applets API: developed by Ryan Lortie. Current code resides on git repo (I don’t remember where it is). Talk and discussions on this topic will happen at GUADEC.

There are others: GTK+ additions and more widgets consolidation (Project Ridley), SoC projects (some of them could possibly land in GNOME 2.22), Bugzilla 3.0, and so on. Also, there are some important topics which needs to be seriouly and objectively discussed like web services integration, better desktop integration with instance messenging and voip, search engines and metadata, and others. A combination of effort, time, manpower, good communication and community cohesion will decide if those goals will be achieved or not.

Let’s keep those goals in mind for 2.22 and try to stay focused as much as possible so that we can make them a reality. GUADEC will be a wonderful time to discuss those topics.

GNOME 2.20 will rock a lot! Let’s make 2.22 a 23 release!