Saturday, September 10, 2011

Desktop common ground

There's a common argument that you hear about open source desktops which goes something like "we have less than 1% market share; the other desktops are laughing at us; we should pool together and make a real contender".

And you know what, they're right!  We don't have a significant market share, and we're not at the point where we have a truly amazing desktop experience (but we're getting closer).  Anything we can do to get there faster must be a good thing.

And you know what, they're wrong.  We don't have a finite developer resource.  Open-source is amazing like that - when a project starts that people care about suddenly the community grows.  Trying to mash everyone together into one project wouldn't work and would probably make us even slower.  Putting all our eggs in one basket is a big risk.

How can we share resources to grow that market share without pushing us together into a big compromise?  We need to share infrastructure.  What we need is a POSIX for the 21st century.  We've been slowly building this with things like the Linux, D-Bus, X, GStreamer.  We can do more.

There's been a rise in design thinking in Open-Source which has been really good for everyone.  But I think the pendulum has swung too far.  User experience is not the only factor in deciding what to do.  Infrastructure is expensive.  Every bad API is slowing us down progress on the layers above it.  Every desktop developer that dives into infrastructure is not working on those layers either.

Sharing is hard.  But the cost of not sharing is huge.  Lets make sure the infrastructure we're building for tomorrow works cross-desktop and we can share those costs.

7 comments:

Jan Jokela said...

I think the main issue preventing the Linux desktop from having a bigger market share is the product itself. To conquer market share we need a breakthrough product, one that is so much better than the alternatives that OEM's are -forced- to ship it. Well, from an user point of view, our product isn't that compared to Windows or the Mac. Now, one safe bet is that people will use smart phones and tablets much more than the desktop. And on those devices the scenario is even worse, even though they are a great opportunity. I'm afraid there are folks in gnome trying to hack tap-and-hold to right click in GTK, make buttons bigger and call that a tablet operating system :)

Matthias said...

Yes, yes, yes! You're right in every word you say.
But defining standards is a very difficult task, takes a long time and is sometimes not successful.
We really need to think about Freedesktop in it's current form and improve the standardization progress there - and Fd.o should be generally more important.
Also, to achieve a _real_ standard, we need something all desktops, KDE, GNOME, E17, XFCE, etc. can work with and can agree with.
Due to different toolkits this can be hard, but it's definitely worth it.

sri said...

I was thinking somewhat similar lines. Freedesktop for instance does not have their own conference.

I want to make a conference that is like Plumbers conference but for middleware.. above the kernel and the display system at hte desktop level. Yes it seems that might be Desktop Summit, but not quite. I don't know if Desktop Summit is particularly effective. The conference I'm thinking of is more along the lines of getting hardware vendors, like tablet manufacturers, companies like Intel, build systems like yocto, and GNOME/KDE/Meego etc and figure out how we are going to get into consumer devices, like TVs, ultra notebooks, you name it.

Meego, Ubuntu, and GNOME share a lot of the stack today, and we can build an eco-system amongst just the three of us, tight coupling and get ourselves onto has many of the platforms that our out there today.

But we have a lot of weaknesses and we need a lot more external people to tell us what want to make it easier to get our software to them. That's how we grow the market.

Andreas Nilsson said...

Robert: Really good post. I think we need to remind ourselves we don't live in a vacuum and really need to take the universe around us into account. There is a lot of potential to grow here. +1000 for punctuating the finite developer myth.

Sri has a good point that external people need to tell us their needs. Sri: I would really like to go to such conference, could be much more fruitful than just a shared GNOME/KDE event.

Martin Wildam said...

More than optimizing for tablets and the like, I would like the small but very annoying bugs go away, like monitor not put to sleep when closing notebook lid or the whole gnome desktop getting slow sometimes until I close and reopen lid. - Or my vpn client that is not working anymore since Ubuntu v11.04 or so.

Mardy said...

Let's be Qt!

Jos Poortvliet said...

I fully agree. There are many strong infrastructural bits in GNOME which could be used more easily in non-GNOME projects like XFCE or KDE. In some cases, that use is promoted - like with Telepathy and Gstreamer. But in other cases, the developers only care about GNOME. That's not smart and holding back the Free Desktop. We should take a cue from the Linux Kernel and realize that these components are part of a larger ecosystem. If you want to improve a Driver API in the kernel you're responsible for fixing all drivers. If you want to replace/change a Linux Desktop API you are responsible for making the tools work with that. If you don't you put the burden on the distributions. systemd and NetworkManager are prime examples of that - if systemd wants to be a login manager for the desktop, well, just fixing GDM is not enough. Fix XFCE, LXDE and KDE's display managers or forget about it...