July 18, 2008

You are currently browsing the daily archive for July 18, 2008.

Havoc mentioned that he had talked to me about the emerging GNOME duality after coming back from GUADEC. He also suggested that I post something about it. I’ll try to put my thoughts down here on paper.

First of all, I think that the GNOME project is in a really strange place right now. Others called it “decadence” but I’ve been thinking of it more as a state of transition. Things are changing in GNOME and I think that it’s largely just a reflection of time. GNOME has been around for more than a decade. Leadership is changing. GNOME is evolving into something else. I don’t think that I really understood this until after I was at the advisory board meeting at this year’s GUADEC.

Second, I’ll state what I said to Havoc. That I think that GNOME has evolved into two different projects, each struggling to share code and be successful. One is the “classic desktop” as we used to call it at Red Hat and the second project is built around servicing the mobile and highly-specialized desktop experience market. These are not the same thing, not by any stretch. Different audiences, different goals, different players and different revenue models. As a result you can feel some measure of friendly, but sometimes misunderstood confusion in the GNOME project because the underlying change isn’t fully understood.

A side effect of this change is also that there’s been a major change of the leadership in GNOME. It’s safe to say that in the past the North American Linux distributors played the largest part in determining the direction of GNOME. But those two companies haven’t experienced much growth over the last 10 years, either in terms of market or financial success and that’s been reflected in the relative investment that you see from the two companies.

Novell has lost most of the former Ximian people to attrition after the Novell merger and Red Hat hasn’t invested in a huge number of people relative to the growth of the rest of the company. And desktop opportunities haven’t really grown so things are at best static. Novell is still invested in apps and Red Hat is still invested in underlying infrastructure. Not much has changed on that front in a long time. It’s still all slow-growth high-touch enterprise work. Not the kind of stuff that shapes an industry, to be sure. (Note that I don’t mention Canonical who intentionally does not invest in upstream GNOME and aside from a somewhat large distribution channel, does not lead inside of GNOME.)

This is in direct contrast to the various consulting companies doing mobile work. There are at least 14 20+ people at OH, 20+ people at Collabora, 11 people at Imendio, people at Fluendo, people at Nokia, Litl, a couple of other random consulting shops in places like Spain, all leading and all contributing. These little shops are alive with energy and impact, they are writing new and interesting things and they are really the heart of where GNOME is heading. This is where the new leadership lies. And they are managing to lead as a group and share in the wealth found in GNOME work.

As a side note this signals a change in the geography of leadership of GNOME. It’s moved from the US to Europe in a very short time frame. If you want to be part of the core of GNOME you have to be in Europe. It used to be Boston in the US. That is no longer the case.

But this also signals a different kind of change. An even more important one. In the past the core of GNOME has been creating great experiences for users. GNOME love. Fixing hard technical problems up and down the stack that really solve user problems. D-Bus, HAL, PackageKit, NetworkManager – all of these low level pieces started with creating great user experiences. This is what has differentiated GNOME from KDE – creating simple and wonderful experiences for users. It was never technology focused.

But in the mobile world, and certainly one that’s driven by the financials of consulting organizations, platform is key. (Actually, this is a lie, but bear with me for a second.) The new leadership is more interested in delivering a working platform than a great experience. The experience in the mobile market is more often determined by the customer. In this case it would be the manufacturer or the mobile operator. And that’s something that GNOME has never had to deal with before, at least not in any real sense.

I will make a statement here that will probably be controversial but I believe to be true. Based on experiences with developers, GNOME’s stack is not as good as others that are on the market when it comes to platform-based decisions and platform experience. In particular, Qt and Apple’s platform are both very developer friendly and make it very easy for developers to create good-looking, modern looking apps. And they have more time and experience in embedded environments. With GTK+ it’s possible to make things look good and work fast, but it’s very difficult. If in a platform-driven market and a platform-driven world you’re not the #1 or #2 player it’s going to be very difficult to make a dent in the market. (This is especially true if Nokia decides to fix the Qt licensing.)

Basically what I’m saying is that if mobile is one of the main roads for GNOME (and it clearly is) then platform and embedding needs to be a core competency of the entire project. It can’t be just about experience. And I don’t think that we’re there today. That’s one of the big risks that we face.

I made a statement earlier, one that’s actually a lie. That platform was the key component in the mobile space. But I would actually argue that it’s not. End user experience, which can be driven by the platform in a bottom up fashion (as opposed to top down) is extremely important. Apple showed us that. The ability to make decisions about user experience in mobile is something that hasn’t historically been up to platform people. But I believe that in order to really be successful that GNOME needs to find a way to do this.

I believe that this is also one of the things that is a big downside of having a lot of small consulting shops all working on the same project. While it’s nice to have that diversity, it’s also very difficult to come to decisions about experience. And no one right now is focused on a complete product and experience. Everyone is building tools to let someone else make a decision.

Products almost always win. They lower costs for buyers and producers alike and increase leverage for the people who build the products. They offer the producer the ability to make decisions. And that’s the most important factor in building great experiences for people. Weak products are the result of poor decision making and a lack of design direction. And I worry that’s where GNOME is going. To a place where we’re not at our core competency and we aren’t building things that actual people will care about. That’s not historically what GNOME has been about, and I worry that’s where it’s going.

That’s also why I’m calling this a duality. Two projects existing as one. One without a great deal of success, but an end-user identity and brand and goals, and another with a chance to succeed but without much identity or end-user goals. It’s going to be a rough ride and I think that in order to find success we have to find a way to merge the two into a single set of goals. The desktop isn’t going anywhere, but the mobile project isn’t going to produce GNOME-visible results either. GNOME will be well-hidden behind someone else’s branding and experience. And maybe that’s fine, but it’s not the way to lead and win in the end.

I think the GTK+ 3.0 discussions are a symptom of this. They are sold as a technology change, a chance to clean up, but without a specific user-driven direction as to why someone would want to make that change. (Or at least that’s how it was presented at the AB meeting.) If someone could describe why that change should be made, that would be great. How will it help users? How will it help us achieve our goals? (Holy crap, what are our goals anyway?) How does it help bridge the gap between desktop and mobile? These are important questions, and I think a lot more discussion needs to take place.

So those are my thoughts on the GNOME project today. Hope it helps bring some understanding to how GNOME can more effectively manage itself.

In my original post on whoisi I made a remark about wanting to keep track of events:

You also might notice that I have an entry above that just says “@fisl2008″. This is me just playing with events. One thing I’ve always wanted is the ability to say “I’m going to be at this event and I would love to see others who are doing the same.” In this sense it’s like saying “I was @ FISL 2008.”

Over the last couple of evenings I put together some code that made that possible and decided to make a stream for OSCON 2008 since I will be there:

I go to a few conferences a year and I’ve always wanted to have access to information about who was there and what they were doing during the conference. So I’ve tried to create that experience with this. Want to keep up with who is going to dinner where? Or who found something really interesting? Following this stream should help.

If you look at the events page there’s a quick tutorial on how to add yourself or someone else to the event. It’s easy. And thanks to a suggestion from Jeff the aliases in profiles now link to the respective event and/or group. That should make it easier to discover events from people’s pages.

There aren’t that many people listed right now. About 34 last time I counted. That’s about the number of people who responded to my request the other day. But if you’re interested in the feed or you’ll be there feel free to add yourself.

Have fun!



Pretty neat to see someone ported over flashblock to run on MicroB on the N810. I haven’t looked at the code to see how they do it, but I’ll bet it was a rough ride since that’s written in C and C++, not in XUL. (I also assume that Antonio did this work?)

As we continue to bring up Fennec it will be interesting to see how fast we can start migrating add-ons over to support Fennec. It will be a different experience, but many of the same pieces will be there so having support for Firefox for the desktop and Firefox on your mobile device will likely be possible. (Mark, correct me if I’m wrong.)