The latest issue of the GNOME Journal has just been published. It features insights into the Portland Project which were gained from a conversation with one of its lead architects, Waldo Bastian, an introduction to GNOME’s new deskbar, an interview with Elijah Newren, GNOME’s release manager, and three simple tips for designing application interfaces you should know. Writers in this edition are Sri Ramakrishna, Davyd Madeley, Lucas Rocha, and Claus Schwarm, respectively.
A very interesting paragraph, and I quote:
[…]In order to break out of this situation we need to think about market share. We need to present Linux as a single unified platform, not as a diverse eco-system that forces ISVs to look at the various parts. Vendors should not have to deal with KDE or GNOME, but rather with the “Linux Desktop”. When we present Linux as a single platform we are creating a market segment for ISVs that is significant. When we show a large percentage of market share we have something to drive both hardware and software vendors to support Linux. We should fight fragmentation in Linux distributions and the desktop environments. Creating strong standards is a key strategy to encourage third party software investment.
This is what many of us have been saying for years, and have received so many times the same response: “Diversity is good”. Yes, it is, but when it turns into chaos it is not. Hopefully this will raise awareness in the community and things will change so in the future we can enjoy diversity without having to suffer the great disavantages it presents us now. If Linux is to succeed as a desktop platform, I think it’s the way to go (though of course, some people just like Linux the way it is now, but that’s a different matter).
Does it really matter all that much if there are 2 main GUI platforms on Linux? If I run GNOME but there’s some really cool app released but it’s QT, I’ll still use it. Sure it might not ‘fit it’ as well as the other apps but it wouldn’t matter so much if the app really was good. Lots of people use Firefox on Linux even though it’s not really a QT or GNOME app. There are thousands of apps on Windows which each have their own look and feel. I think Linux having 2 different GUI toolkits really isn’t as much of a problem as people are making out. It’d be great if there was one but the current situation isn’t that horrible. Unless I’ve missed something…
Does it really matter all that much if there are 2 main GUI platforms on Linux? If I run GNOME but there’s some really cool app released but it’s QT, I’ll still use it.
It’s a shame that every discussion about the Portland Project turns into a toolkit/desktop discussion.
That said, what do you think: Would people discuss the issue over and over, again, if it wouldn’t matter? Do you think they have nothing better to do?
The discussion about toolkits and desktop environment is complex. However, you can say at least one thing: The toolkit is a product feature just like any other. It differs a little bit because its value depends on the user’s desktop: A GTK+ app is a little bit more valueable for a GNOME user than for a KDE user, ceteris paribus [1].
This means: The value of (developing with) GTK+ depends on the market share of GNOME (and XFce) — not completely, but still. Likewise, the value of GNOME depends on the availability of GTK+ applications — again: not completely but still. The same holds for KDE and KDE apps.
This is basically the same situation that most operating systems are in, with the slight difference that the core operating system is abstracted. The results will be similar. It will just take longer.
For example, let’s take a look at Motif/Lesstif: It’s a dead toolkit. Nobody with a sane mind would use it today for his next project. But: If you would have used it for porting your proprietary application to Linux years ago, would you be happy about today’s situtation of Motif?
Any competitor moving today (ie. later) would use GTK+ or QT. It could gain a competitive advantage by doing so. This is a funny result: Moving first (when porting to Linux) may give you a disadvantage. The usual first mover advantage [2] probably doesn’t hold due to the insufficient growth of Linux in the desktop, or isn’t relevant if your app is already well-known under Windows or Mac.
Sure, people can use your app but a good number of them will buy something different if there’s a resonable alternative. Worse: Some developers may start to build something different because of your toolkit choice or simply because you’re proprietary.
So, the critical factor of your remark is “really cool”. Sure, you will run a QT app under GNOME if it’s really cool. But would you run it if it’s not that cool? Would you run it if there’s a sufficiently good-enought GTK+ application?
Remember: Profit is made by the “last” percentages of your customers. Let’s say, the last 10%. If these 10% happen to use the other desktop and buy the competitor’s product, you have a problem. It’s the grey areas that matter here.
The Portland Project may allow application to cover some desktop-related differences. It’s necessary to remove some arguments of ISVs to not port. It may also kick off momentum to port.
But I doubt they will be able to cover the underlying economics of a platform [3]. It reduces the risk of a port somewhat but it does not bring it down to the usual level (with only one dominating desktop).
[1] http://en.wikipedia.org/wiki/Ceteris_Paribus
[2] http://en.wikipedia.org/wiki/First-mover_advantage
[3] http://www.dedasys.com/articles/programming_language_economics.html
I still don’t get it! What’s wrong with having 2 or more different DE? Gnome supports KDE apps and it’s also true other way around. Look ‘n feel is not the main criteria for software development and of course not for hardware! The main thing is the userbase. If you don’t have much user, you won’t have developer for it. It’s that simple!
This is where Ubuntu is looking good. They targeted the average users. When you come to desktop computer always think of general user. This is why microsoft is successful. And I see the war between Gnome and KDE making linux desktop more easier to use every day. I hope this war should go on so that linux can really get a market.
> What’s wrong with having 2 or more different DE?
Violates the KISS principle.
Not a real problem for a stand-alone power-user, but a useless cost for an organization with lots of users.
> > What’s wrong with having 2 or more different DE?
> Violates the KISS principle.
No, it’s about choice. Nothing to do with KISS.
GNOME tries to be KISS but fails miserably (UI is simple and doesn’t do much but code is over-engineered crap, not KISS).
KDE is not KISS but does usually what user wants (configurable enough) and is stable.
Why is it a problem for users…
Most users dont notice standard look and feel issues. If a browser, word processer, and email client exist, that satisfies most people.
Home and corporate.
Diversity and coordination/cooperation are not incompatible. In fact, certain kinds of coodination can *promote* healthy diversity that really is good.
Low level standards in particular empower a great deal of diversity and a thriving ecosystem of interrelated software. MS for example has never been like the linux vendors in including a ton of bundled apps they have maintained a consistent and usable standard for people to build applications against. Not the prettiest one if we are talking about win32 and windows but at least it existed! So even though ms never bundled a ton of apps,a thriving ecosystem of free and propietary apps just naturally sprang to life. Apple does the same thing. The areas where MS didn’t do this (activesync, smb, exchange, ect) there is zero diversity or for that same reason, quality. But then that was very clever of them and exactly what they wanted.
Low level standards empower and they give everyone a strong foothold to move forward with that they can count on to not change. The printing api thing is fantastic. It is lower level than a particular de but it empowers all hardware vendors to jump in and know that they can target the entire linux world with this effort and not just ones running redhat and gnome for example.
But we all already know that open standards were the way to nirvana right? I like to think of this balance and the resultant fecundity like the entire animal kingdom competing and evolving and being wonderful and elegant and huge all on top of a simple set up pervasive standards call the laws of physics. For something to really spring to life and by dynamic and thriving there need to be rules and those rules need to be pervasive and coherent.
Edited 2006-04-22 04:17
Very good posting!
One comment though:
Any competitor moving today (ie. later) would use GTK+ or QT. It could gain a competitive advantage by doing so. This is a funny result: Moving first (when porting to Linux) may give you a disadvantage
This assumes that the first-mover does not upgrade their offer from Motif to one of the new toolkits.
Newer versions on the first-mover’s product might require some overhaul anyway, allowing them to move to a better graphical representation than they had earlier on, much like software got upgraded from Win3.11 look to Win9x look to WinXP look.
Especially when the first-mover is porting their product from another platform and the competitors will later do the same, the first-mover has very likely gained a lot of knowledge and be able to put that into future versions while the later coming competitors “start at zero”
What I like about Gnome 2.14 and the current state of desktop linux is the ability to mix up different pieces from separate desktop environments — essentially building a customized hotrod that suits your needs *exactly* instead of compromising with a monolithic solution. For example, take my current desktop setup: I am running Fedora Core 5 with XFCE4.4 beta as a desktop environment. I like Nautilus 2.14 so I use it instead of XFCE’s file manager. I dislike the panel that comes with XFCE4 so instead I run gnome-panel and have qucik access to all the Gnome applications. XFCE4.4 beta also allows you to minimize applications, like in CDE, to icons (iconize).
I took a screenshot of this desktop configuration to show what it looks like. The screenshot shows iconized applications running along the left side of the screen. Along the right side of the screen are Python based Adesklets desklet applications. The clearlooks theme is styling the GTK widgets. Beagle desktop search is searching for lost photos.
Screenshot:
http://www.markbokil.org/images/xfce4-4.png
XFCE4.4 beta installer:
http://www.xfce.org/archive/xfce-4.3.90.1/installers/
Adesklets engine:
http://adesklets.sourceforge.net/
Edited 2006-04-23 15:59