Wednesday, October 27, 2010

The cost of doing your own shell on top of GNOME

In this post, Dave Neary writes:

OLPC had many teething problems with the Sugar desktop environment. Bugs, stability and performance issues plagued the project for many months, to the point where they abandoned the development of the stack as the primary target platform for the devices. The project lives on in Sugar Labs, thans to a broad and vibrant developer community.
-- snip --
There is another possibility which seems to me more plausible: building a rock solid and functional desktop is hard. Really hard.

Just wanted to mention that the Sugar team never had more than 4 full-time paid developers (and most of the time far less than that), and this is relevant to this discussion because shows that with the right approach and knowledge in the team, the challenge doesn't need to be so insurmountable. As a comparison, I would be very surprised if the other GNOME-based shells mentioned would have had teams with less than a few dozens of engineers.

Now, Sugar as a project and its architecture were set up by the Desktop Team at Red Hat, composed by long-time and well-known GNOME hackers, of which most of them are now involved in the GNOME Shell, maybe not by chance.

With this I want to say that maybe Canonical has in their Unity team people with equivalent experience, who have shaped the GNOME project since its inception and thus know how to take this challenge. If that's the case, then I think they would have a bigger chance than what Dave concedes.


Anonymous said...

If it makes you any happier, I don't like either one.

Duncan said...

Wow. A balanced take on this. Nice!

I really appreciate that someone in the Gnome community actually took the time to appraise the situation before making up one's mind. The debate is getting pretty toxic

Anonymous said...

is XFCE built ON-TOP of gnome? or just use some of it's libraries? I never fullt understood.

Anonymous said...

gnome modules are classified into different categories... XFCE is built on the gnome PLATFORM, but not the gnome DESKTOP

Anonymous said...

An encouraging comment. I think people who think Canonical might just not be able to do it are overlooking that Unity already exists as a useable environment - with plenty of work to do of course, but you could say the same about Gnome-shell.

Jef Spaleta said...

To think that Canonical can't produce a usable environment don't have historical context. Canonical has proven..repeatedly..they can in fact produce usablable vendor differentiated interfaces.

Ubuntu MID
Ubuntu Network Remix
Ubuntu Network Remix for ARM based on EFL
Mi for HP

All of these were built by Canonical.

All of these interfaces were usable.

All of them were copyright controlled.

None of them saw the establishment of a healthy development community develop around them.

Many of them, are now official dead projects seeing zero future development.

The issue isn't whether Canonical has the man power to actually build a usable interface. The issue is, can vendors rely on Canonical to stick it out and continue to evolve an interface when its no longer exciting or new and very specific detailed improvements are needed. That is far from clear.

nicu said...

I don't want to offend you, but Sugar never got near the level of polish expected from a major desktop operating system, so comparing the team sizes does not work: it is OK to have a small team to create a simple and specialised interface but another thing to create something rivalling Windows or OS X.

Tomeu Vizoso said...

@nicu: Sure, that's obvious. Moreover, Sugar (nor Maemo, etc) doesn't aim to provide a UX that fits everybody, it has very specific aims which reduces greatly the scope.

The point I was trying to make is that if you stick only to what you really care about, choose the most adequate platform and use it wisely you really really reduce the amount of work to build and to maintain that UX.

But this is only a technical aspect, there's also the community (not only volunteers, also deployers, partners and employees) side of things which is at least equally important, as Jef mentions.

Tomeu Vizoso said...

@Jef: I hope Canonical isn't trying to build a long-term desktop replacement at the level of GNOME, Windows or OSX, because as you say they don't seem to have the conditions to do so.

What they may aim to is just to do what they feel they need right now, and after 1 or 2 years then re-evaluate.

It wouldn't be wise for them to focus on retaining their current user base when there are still some thousand of millions of people to convince, and there will still be in 2 years from now :)

nicu said...

If Canonical isn't trying to build a long-term desktop replacement at the level of GNOME, Windows or OSX then what is the point? A normal desktop user will expect that, anything less will be too little... the recent news item was about Canonical wanting to use Unity as default for desktops, not only for netbooks.

Tomeu Vizoso said...

@nicu: the whole point of my post was just to note that building and maintaining a new UX on top of an existing, appropriate platform doesn't need to be as expensive as for example Maemo has been.

I'm not as interested in speculating about what Canonical plans to do, but I guess that in their actual position they may do better in focusing in 1 or 2 years, no more.

Changing UI so often may piss off some of your current user base, but those are ridiculously few when compared with the potential new users.

Jef Spaleta said...


You and I are speaking different languages I think.

When I think Canonical..I think customers..not users. And Canonical's customers are the OEMs...the OEMs paying for the differentiated work.

There are not millions of those. There are just a few handful of them..and even fewer of them that are willing to pay for external engineering services.

The only path to the thousands of millions of users is through the gates of hardware manufacturers. Those thousands and millions of users are OEM customers..and OEMs are the customers Canonical is shooting for.

Ubuntu as a wider community maybe focused on those thousands of millions of users. But Canonical's engineering efforts better be about delivering value to OEMs as a priority.