Back from GUADEC '08, back to Dublin

Okay, it's been a week already, but it was not only the back from GUADEC for me, but coming back to Dublin at the Sun offices as a full time employee.

GUADEC has been great time, as usual, I would like to thanks Baris and the whole Istanbul team for their excellent job.

Others have summarized the contents pretty well, so I won't go through that. However, which is been pretty clear to me is that this GUADEC has been an interesting start point towards leadership strength on the community.

  • First, Stormy Peters as our Executive Director, this is probably the best decision that the board has made since I've got involved in GNOME, I'm pretty sure she's going to make a difference in the project's direction and focus, plus getting in touch with other parties to make them embrace our community and technology more and better than before. Go Stormy!
  • Second, Gtk+ 3.0, okay, a lot of people have complained about certain details about the plan, however, we have a plan that can be discussed, and we have people committed to accomplish it, that is way far better than no having plan and no people at all. Big kudos to the Imendio guys and other Gtk+ heads for pushing this discussion further.
  • And third, the GNOME release team for putting the 3.0 release with a better long term strategy for the desktop in the table. Again another leadership show that I highly appreciate.

My talks went pretty well, however, the attendance to both the APOC and the Gtk+ one were pretty low since unfortunately both of them were on the after hours track. It was specially sad that no core Gtk+ hackers were around for the last one, I might extend the topic a little further and even propose a keynote next year as suggested by some Igalians (which were pretty much the 90% of the audience :-( ).

And last but not least, the board have decided to go for Gran Canaria as next years' GUADEC, I'm pretty thankful to the board for trusting our proposal and I'll make sure that next year is at least as good as the previous ones. If you have any suggestions, feedback or if you want to volunteer for helping, don't hesitate to give us a shout at the guadec's mailing list.

Re: On Version Control Systems

I would like to add some points regarding Lennart's last post on Version Control Systems (sorry for such a long post, but I wanted to make my point here ;-)

First, I completely agree on Lennart's first point that DVCS is not the solution to all of our pains and it won't make people suddenly write better code.

However, I strongly disagree that our decision should be done following a popularity contest, the decision should be taking thinking in the long term impacts of it, not just about the current situation. Okay, the Linux kernel choose git, X.org and consequently fd.o too, but we shouldn't give for granted that if it's a good decision for them it's a good decision for us.

We target to a quite different developer base than kernel.org an freedesktop.org, our project works differently, our culture is different. We sometimes forget that VCS is one of the key entry points for new contributors, the harder it is to learn the VCS, the harder it is to contribute to our project (actually, I would say that DVCS are harder to learn than SVN).

Git is probably the responsible of the current popularity of DVCS, specially after Linus talk at Google, but despite having the best performance and probably being the most popular has its drawbacks as well, and we might consider the impact of those drawbacks on our particular community.

First drawback is usability, at this point git is extremely hard to understand because of its inconsistent and weird semantics and the lack of proper error reporting that denies users to be able to instinctively learn what needs to be done to solve the problem plus current documentation is extremely poor. Now imagine the frustration of new contributors while learning how to create a new project or contribute for their first time to GNOME. I don't think asking people who are already used to one DVCS to learn another one is a big deal compared to force new users, that might not even used a centralized VCS ever, to go through that pain.

Second one is the lack of a portable and reusable design, git is too tied to a UNIX environment, for it to work on Windows it requires msys, curl, perl and other UNIX specific bits this makes really hard to maintain a high quality port of the tool, and ties a Windows user to a bash terminal to effectively use the tool.

Of course we all love the flexibility that a shell based implementation allows by using pipes and that stuff, and that's fine for kernel developers or X.org developers because its source code is aimed to Linux/OpenSolaris/BSD developers in the 99% of the case.

However we have projects at gnome.org svn that are supported on Windows, such as Gtk+ or Evolution. Setting up a development environment on Windows for a GNOME project is hard enough at the moment, using a tool that won't work natively on this platform by design won't make the situation any better in my opinion and this will prevent new contributions from other platforms happening.

On the other side, this design prevents the effective reuse of git from other tools such as IDEs or web services without accessing the command line, which drives to security issues and less maintainable code.

Gran Canaria candidate for GUADEC+aKademy 2009

During the latest months I've been working with the local government of Gran Canaria and a group of open source companies to prepare the candidacy of Gran Canaria (Canary Islands, Spain) to host GUADEC+aKademy for 2009, check out the bid here.

It's been a few years since I've been looking forward to see GUADEC organized in my home town (not my home anymore though since I'm moving back to Dublin for good pretty soon), and when Agustin, a pretty good KDE fellow told me he was working to get aKademy hosted at Gran Canaria we though it was the perfect timing to get both conferences happening together, which is also something I'm willing to see happening as well.

Gran Canaria, and the Canary Islands is one of the most famous touristic targets in Europe, the weather is quite nice all over the year, and of course food is as nice as the rest of Spain (if not better ;-), we're in the middle of the Atlantic Sea and have an international airport. The city itself, Las Palmas de Gran Canaria, is a 400K population city and has dozen of things to do over night.

One of the biggest strengths is the venue, the Alfredo Krauss Auditorium which is placed beside one of the best rated beachs in the world, Las Canteras, which is a 3km beach placed right in the middle of the city with plenty of hotels, restaurants, pubs. Actually for those who like surf, the auditorium is placed right in the side of the beach where is best suited for it!


Alfredo Krauss Auditorium, photo by Mariela Sevilla

Las Canteras Beach, Las Palmas de Gran Canaria

Another big strenght is the commitment from the supporters of the bid, the local opensource companies, the local linux user group, the Spanish linux user group and the two canary islands universities, specially the local government, which already approved a quite impressive budget of 250K Euros in case the bid succeeds to cover the venue, and all the infrastructure and people needed to get the event done.

 

I'm soooo excited about this that I can't wait until the GNOME Foundation and the KDE e.V. take the desicion, if you want more details, check out the bid document. Meanwhile, see ya at Istambul.

Breaking Assumptions: Chapter 1.

Seems like a good moment to throw out the ideas about how to do real innovation on GNOME, while I think Andy's post was a little bit pessimistic, I think is good it has started the discussion inside the community, and I do think that I have some points into it so here's my 2 cents on the topic. I´ll do a few post with different points to not bore everyone.

Decadence threat!

The Desktop is the OS

I think it's time to break loads of assumptions and to risk some "backwards compatibility", not in terms of API/ABI, but in terms of how do we think about our desktop. We must start thinking about the desktop as something more similar to an OS rather than something on top of the OS in favor of a better user experience. I will try to show what I mean with an example.

We sometimes have a hard time developing good UIs to manage basic OS services such as sharing a folder or configuring the network. I encourage you to create a bridge interface and add your Ethernet and your Wi-Fi card into it under XP and compare then doing that on few Linux distribution. The first thing you'll notice is, typing ifconfig / brctl won't store the configuration, and modifying the text files won't change the current configuration until you restart some machine, the second thing you'll notice is that each distribution will have it's own configuration format, and in some cases its own tools.

That's why projects like NetworkManager and GNOME System Tools have a hard time to succeed, the first one tries to solve only the obvious and simple problems, but it ignores totally ignores the stored configuration and the specific services of the distribution, and the second one tries to support every distribution, which leads to a huge maintaining effort.

Instead, the GNOME community could say, see, this is how you're going to store network configuration (interfaces, proxy, vpn, gprs, ppp...) if you want an unified user experience and this is the UI and the command line tools for it. If the right tools and the right APIs are there, I don't see any reason for distributions not adopting it after a few releases. Let's stop delivering half arsed solutions.

This is just an example of what can be achieved, other examples could be the current directory layout (I can't sleep thinking about the screams of users browsing / from the file chooser), software installation (go PackageKit go!) and (put your favorite legacy weirdness here).

The landscape has changed a lot over the latest 10 years, and we have showed that we can offer a predictable release that's API/ABI stable, we're the desktop and the development platform of choice for all the major opensource desktop vendors (RedHat, Canonical, Sun Microsystems, Novell...) and they've showed they're willing to work closely with us (see the GIO port success!) to achieve reasonable goals, we have not only the power, but also the responsibility to boost changes to improve the whole situation. Yes, we can! ;-)

Stay tuned.

Gtk+ updates on the OSX/Win32 front

GDI+ Pixbuf loader integrated into Gtk+ trunk

tml has done an outstanding job integrating the GDI+ pixbuf loader into trunk there. This means that we can get rid of at least libjpeg and libtiff dependencies on Win32. zlib and libpng are needed by cairo anyway.

I'm really happy about this, since I'm kind of paranoid on removing dependencies and reusing as much as possible on the platform to make the Gtk+ runtime smaller and easier to build, on the other hand this is probably the first time a project that I bootstrap myself gets into mainstream somwhere.

Of course, none of this could have happened without the heavy lifting of Dom and his tips at the very beginning of the project. Kudos for him too!

 

OS X's Quartz engine/theme landed on GNOME's svn

I've been working on improving rhult's Mac OS X quartz engine as well, tabs, menubar backgrounds and arrows has got some love, again during a flight, while I was coming to Spain.

After those fixes rhult and myself thought that moving the code from his git repository to an official SVN module would be a good idea to encourage testing a more people to help. So there it is, check it out while it's hot!

$ svn co http://svn.gnome.org/svn/gtk-quartz-engine/trunk gtk-quartz-engine

Win32 Combobox fixes backported to 2.12

The fixes I did on the hackfest are now backported to 2.12, this means that comboboxes won't look broken anymore on any future stable releases of Gtk+ with the Win32 engine/theme. Yay!

Meet the beasts!

I made two hackgergotchis out of some photos taken during the hackfest:


Rob Taylor

Juerg Billeter

Dear planet maintainers, can you update them? I already agreed with them.

Curved borders are cool, let's put them everywhere!

Someone on the firefox team decided that putting a curved separator inside a curved container was a good idea (second navbar is what I think it should be):

Besides that it looks extremmely ugly to me, it actually separates two elements that are  non curved and vertical, the text and the favicon side, it also waste space for the sace of curveness. On the other hand, it actually breaks consistency on how mac tabs does the separation between tabs in a notebook (which is basically the same pattern, separate elements inside a common rounded border container):

Could anyone tell me what's the best way to address this issue within the mozilla community?

Anyway, I'm heading to Gran Canaria right now, leaving Dublin for almost 4 months. Everything is packed and my taxi would be downstairs in 15 minutes. There I go warm weather!

APOC projects at the Google Summer of Code 2008

Students! What are you waiting for? APOC has two open ideas on both GNOME and KDE's pools for this year:

Sabayon integration with APOC

Wanna make GNOME rock even more on big deployments?

Sabayon is a configuration profile management tool written in python, it allows to create configuration profiles using an X session and directly configuring applications using a special user. This profiles are then stored in a zipfile that can be deployed on the users' home unzipping it.

This approach has the shortcoming that profiles can't be deployed on a group base without unzipping the profile on each home directory and there's no real policy when you want to apply several profiles to different groups. Storing profiles with the APOC format would allow to apply them seamlessly to tens of thousands of users using LDAP either by role, host, group or user base.

Some time ago we wrote a patch at Sun to enable Sabayon to store profiles in the same format that APOC does. The goal of this project is to adapt this patch to get it into the mainstream Sabayon code base and extend its capabilities to store the OpenOffice configuration keys.

The whole project would be written in Python, although some Java reading might be needed.

I will mentor this project myself and federico (the Sabayon maintainer) offered himself to support the effort as much as he can.

KConfig adapter for APOC

Wanna make KDE rock even more on big deployments?

APOC already has adapters for GConf, Firefox/Mozilla and OpenOffice in place (although not all of them has been released yet). However, the other big open source desktop player on the opensource arena is still missing, we would love to see a KConfig adapter for APOC and that's why we have propossed an idea on the KDE's pool.

This would be a huge gain to complement the awesome kiosk capabilities that KDE already has, making KDE even more suitable for enterprise and education environments. On the other hand it would help to make the APOC community scope even bigger, which is something that I'm really willing to see.

This project would mostly involve C++/QT coding.

My workmate and APOC rockstar Joerg is going to mentor this project.

If you're interested in apply to any of those projects, drop us a line to alberto (dot) ruiz (at) sun (dot) com or joerg (dot) barfurth (at) sun (dot) com.

 

Mac got tabs, native and shiny tabs!

I think that we should hire a plane with a few printed editions of the Devhelp manuals and references plus an offline backup of bugzilla for the next Gtk+ hackfest.

This is what I got working during my flight back to Dublin:

I'm having lots of fun working on the native engines for Mac and Windows. It's not that hard, and the results makes tons of people a lot happier.

There is a patch already in place to allow to center the tabs. Next step would be to figure out what's the last tab so we can do the round corner on the other side. I've submitted a bug with an idea on how to solve it, gotta write the patch still.

Pretty productive flight though :-)

Beware GLib/Gtk+ hackers!