2 years of Gnomefiles and the state of Gnome/GTK

Gnomefiles.org is already 2 years old now, it has over 1230 GTK+ apps in its database and it has a steady flow of about 25,000 pageviews per day. I don’t plan to add any features or change the site, it does already what I want it to do and how to do it.

Gnomefiles always makes me think that there are no more than 1500 GTK-based active applications out there. KDE/Qt has double that, even if lately Gnome and KDE have almost equal market share these days (KDE used to have over 55% and Gnome about 25% just 3-4 years ago), but still, KDE produces more apps. The reason for this, as I have mentioned many times in the past, is the tools provided. Trolltech — being a commercial/professional company– provides all the tools required to create a modern app easily. GTK+ is more difficult to learn (thank God for pyGTK and GTK#), but most importantly, it has no serious tools. Comparing Qt Designer to Glade and KDevelop to Anjuta is a bit of a joke. Additionally, KDE has more debugging and profiling tools than GTK has. More over, GTK+ and its bindings have no up-to-date documentation (no, looking at other people’s source code does not count). Trolltech on the other side, has taken all the required measures to deliver good docs. The only problems of Qt are GCC C++ changes that break Qt app compilation every other moon, incompatible Qt changes in itself and the fact that the resulted apps look seriously crappy (regardless of KDE/theme used).

Anyways, I have being arguing online about the GTK problems for years and only recently Novell has placed two guys to work on them. One works on Stetic (a new C# RAD tool) and another one works on API documentation. But they don’t move fast enough…

In the meantime, Gnome 3.0 is nowhere to be seen or heard. There was some talk about it a year ago, now it seems that the maintainers don’t really care about it. The original idea was to break source code compatibility with the 2.x code and deliver major new features, but it seems that either they don’t have the stamina to go on with such a big change, or no one wants anymore to lose the current stability and the compatibility with these 1500 apps. I would actually agree with them. They should evolve Gnome stadily and compatibly and not re-write large parts and re-discover the wheel breaking everything on the way. That would be an even bigger disaster than the current one with the existing GTK 2.x third party developers.

Gnome 3.x and GTK 3.x should retain full source and binary compatibility for the sake of its users and its subsequent success. We don’t want to have the same problems we had with many Gnome 1.x applications under Gnome 2. Some worked, most didn’t, even after installing the old libs (with resulted headaches). The old apps just didn’t work correctly and transition was not smooth. The same should not happen with Gnome 3.

In conclusion, I must say that the reason why we don’t see much of Gnome 3 propaganda (and even not so much of KDE 4) is because the Linux desktop is in its decline in terms of hype. Be careful, I am not saying that this year will be fewer Linux users than last year (on the contrary, Ubuntu brings many new users to the Linux platform every day). I am just saying that there is less HYPE about it. Normal people know what to expect from it now, they don’t eat all the “Linux is the best OS on the planet” shit anymore. The whole Linux scene is toned down, for a bit over a year now. The “Golden Era of Desktop Linux” (remember: hype-wise) was between 2001 and 2004. And since we are out of this era, companies like Sun, Red Hat and Novell have shifted most of their forces away (Mugshot anyone?) and have a smaller involvement with Gnome/GTK. And SuSE & Mandrake don’t do nearly as much as they did in the past about KDE either. Hence, the whole tone-down in development and consequent hype of Linux on the desktop and as a competitor to Windows.

I firmly believe that Linux on the desktop in its current incarnation (== several distros kinda similar but semi-incompatible with each other) has already reached its maximum at that 2.5% of OS market share. For Linux to go further and impress, a company (with the kind of money Google has – *twink*) must invest in rethinking the whole thing and create something fresh and innovative. Kinda like how Apple took Mach and FreeBSD and created a brand new OS, but didn’t kept compatibility with either NeXTSTEP or FreeBSD. Compatibility is very important (as I said above), but not when the existing distro market is pulling you down with it. If there is ONE Linux-based OS that uses ONE package manager and it’s fully compatible with itself all the way through and it’s fresh, new, innovative with lots of financial backing, then it can do it. In other words, that would be a brand new platform that simply “happens” to also use some Linux/GTK code (so that existing third party apps would be ported relatively easily to it). That doesn’t mean that this OS would be “just another distro”. It shouldn’t be.

Post a comment »

KCorax wrote on June 20th, 2006 at 4:58 AM PST:

> it has over 1230 GTK+ apps in its database…
Given the progress of mono, we should start counting in some windows apps that Just Work ™.
Even now they are not negligible in population. Sadly most are customized for enterprise use, and we still don’t have many killer apps targeting the .net runtime anyway.
Much is expected with WinFX/.net 3 and unless the community supports mono better (ie not just novell/mainsoft) lack of implemented APIs could be a real problem.

> One works on Stetic (a new C# RAD tool…
Stetic is very near 1.0 delivery and is much more important than it seems. It’s the first time that gnome delivers a fully integrated IDE/Rad designer. I expect a significant boost from this.

> Gnome 3.x and GTK 3.x should retain full … compatibility
I think otherwise. I think we should have a deeply refreshed API that takes immediate advantage of XGL and finally some eye candy on app level. Currently only the GDM uses it.
Compatibility on linux is overrated. Hosting the older runtime side-by-side is much more feasible. With some care it shouldn’t turn to Frankencode, or worse Frankendesign…

> Additionally, KDE has more debugging and profiling tools…
Actually that’s an open wound. Linux monitoring software is generally too invasive to be usefull.

> the Linux desktop is in its decline in terms of hype…
That’s good, that’s maturity. That’s less people getting heart attacks after they blind switch from Outlook to Evolution while owning a smartphone.


KCorax wrote on June 20th, 2006 at 5:03 AM PST:

> I was reminded of why Linux on the desktop still doesn’t work…
Try paying for a distribution like Xandros of Linspire. It helped me loose the esteem I had for the top 5 of http://www.distrowatch.org .


Bryan Bell wrote on June 20th, 2006 at 12:41 PM PST:

I was reminded of why Linux on the desktop still doesn’t work, it took me most of the day to change over from Fedora 2 to 5. The wireless card was a pain in the ass since the I had to install the ndiswrapper, then I had to add a config file so redhat’s network tool would pick up the card.
Similarly installing the nvidia driver didn’t just work. I tried yum and that failed, so I used the driver installer installer from nvidia which did.

The upshot is that something as basic as a driver doesn’t just work, you have to fiddle, find out that the driver isn’t allowed because of SELinux, and numerous other annoyances.


This is the admin speaking...
Eugenia wrote on June 21st, 2006 at 4:04 AM PST:

If it hasn’t been updated for more than 1-2 years.


Ludovic Hirlimann wrote on June 21st, 2006 at 9:19 AM PST:

How do you define that an application is active or not ?


Lumbergh wrote on June 22nd, 2006 at 11:22 AM PST:

I’ve been saying most of what you said for years. The biggest mistake for the linux desktop was that there was two major desktops instead of just one and a few anklebiters to keep the big guy honest.

I agree with your assessment that someone with money (like Google) would have to come along and start from the bottom-up (kernel) and produce something new and innovative. Gnome/KDE slapped onto X and the kernel is going nowhere. KDE had the right idea but the Qt license alway hurt it. Gtk+ had an “ok” license and the corporate support, but the Gnome folks never pushed C++ bindings, never came up with a decent IDE like KDevelop, and failed with the Bonobo architecture.

I don’t think anyone is going to do anything like you suggested with the linux kernel. First of all, the GPL has too much baggage. I suspect someone would grab a BSD, sign NDAs with Nvidia and ATI for the register level specs, ditch X alltogether (which is still way too crufty and is uneeded with modern Remote Display tech, and build from the ground up.

But I just don’t see that happening in the near future. Nobody has the balls and/or the money to take on Microsoft.

The only hope I really have is for Apple’s marketshare to keep on sinking and they finally realize that they need a partner (Dell?).

But for the time being (5+ years at least), it’ll probably the status quo. Really, the prime opportunity for linux was this whole time during the XP phase. Now Vista is right over the horizon and it’s new graphics system absolutely spanks anything in the X world, and is quite a bit superior to what Apple has.

Year 2000 and the fanboys screamed “year of the linux desktop”. It’s 2006 and too late for the old Gnome/KDE/X/linux distros game.

P.S. the whole concept of distros was and is retarded. Everything from the kernel to all tools and the desktop should have been one group.


memsom wrote on June 23rd, 2006 at 11:30 AM PST:

Here’s me take…

C# and .Net will play a big role in the future of Linux. Just a Wine has helped it a lot with getting bits of Windows working.

Secondly… Um… since when has OpenStep source code *not* been compatible with OSX? If its in Objective C, it is about as compatible as any evolution of a single class library could be. You can take an OpenStep app, and convert the source to Project Builder for MacOS X 10.2.X really easily…. I’m sure the same is probably true for XCode, but I’ve never used it so I couldn’t be 100% sure.


memsom wrote on June 23rd, 2006 at 11:32 AM PST:

One line I forgot:

And the jump between NextStep and OpenStep is no more complicated than the step to OSX from OpenStep.


This is the admin speaking...
Eugenia wrote on June 24th, 2006 at 1:13 AM PST:

The source code of OpenSTEP apps *is not* compatible with Cocoa’s new APIs, no. Apple has made many-many changes since then. You are dissilusion yourself if you think that sources are still fully compatible after 10 years of tinkering.

And besides, who cares if something is source-compatible or not? Even 95% of the OpenSTEP developers don’t give a shit. Do you think that this would have any user impact? Users is what we are talking about here.


memsom wrote on June 26th, 2006 at 8:56 AM PST:

Eugenia, I have taken OpenStep code and ported it to Cocoa with no effort what so ever. So, um, no – you are wrong. The difference is like Win 3.1 and WinXp. The underlying API is the same, though there is more of it under OS X.

You do generalise some times. Cocoa is based on the Openstep spec, not NextStep, so I guess if you coded on your Next box it would seem different, but code in OpenStep (and I have done so in 4.2, Rhapsody and Yellowbox for Windows) and OS X has in 70-80% of the time an identical class or at the very least an close analog.

You must never have worked in an API over, say, a 10 year period. I use the VCL with Delphi on a daily basis and have done so since version 1. We’re now on version 10. The API is extremely different, but code from V1 can be made to compile with a small amount of effort and familiarity with the API.


KCorax wrote on July 2nd, 2006 at 1:46 AM PST:

> The difference is like Win 3.1 and WinXp.
Is that an elaboration of the word abysmal ? Win16 apps run in emulation in XP, so…


Comments are closed as this blog post is now archived.

Lines, paragraphs break automatically. HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

The URI to TrackBack this blog entry is this. And here is the RSS 2.0 for comments on this post.