I was thinking of a suitable topic to start my whiny blog, and i thought that i would slowly introduce my area of interests.
Now, i am a Linux user. I have been a Linux user for quite some time (with varying degree of actually using Linux as my everyday OS). Moreover, i can consider myself a somewhat advanced Linux user. Although i don't do anything k00l and l33t anymore (well, aside from using my USB drive as a login and sudo device (e.g. without it no login, no sudo), if that's considered l33t enough) but i used to do all sorts of things a casual user wouldn't think of doing - setting up a server, using remote access, recompiling kernel, writing complex scripts to automate some tasks...
In my trials and tribulations i have gone through many distributions, ranging from Mandrake 8.1+, (K/X)Ubuntu 6.06+, Gentoo, Debian Etch et al and upwards to things like FreeNAS and DSL. To put it another way - i've seen them all. Well, not all, but a fair share of what Linux world has to offer. I've used countless WM's ranging from ominpresent Metacity and KDM and down to Enlightment, *boxes and practically any other WM you can imagine. The search for perfect desktop was long, but in the end i came back to where i have begun (well, not exactly, but still).
However, i wasn't really serious about using Linux until a couple of years ago. Back when i was fiddling with it, it was fun - i was a fearless explorer diving into SSH, command-line, trying different things and bending Linux backwards just to see if it breaks. It didn't, and that's what i like about Linux to this day, it hasn't changed. The core system never fails. Ever.
On the GUI side, things were not so bright. Although it was quite k00l to send commands over SSH and doing stuff i never dreamed of doing, i wasn't really trying it out in a regular, casual use department until a few years back. You know, every day stuff like browsing, checking emails, using IM and listening to music. When i did, i quickly found out that the Desktop side of Linux is far from ideal. The majority of software was written with GTK (the GIMP toolkit), with KDE lagging behind and other stuff (wxWidgets or just directly X) being in the ass. Of course, with the introduction of KDE4 the situation is finally changing.
Which brings me to my main point. GNOME. GNOME SUCKS. Literally and metaphorically. GNOME sucks, GTK sucks, GIMP sucks, and every bloody piece of software that uses GTK wil forever SUCK until they switch to something more sensible. And for the sake of simplicity, i will use GNOME and GTK terms interchangeably since they really are part of one big crappy framework.
Why, you might ask? First of all, it's ugly as hell. Windows 98 with rounded edges. Yes, i'm not afraid of CLI, but i value great looking sleek interface. I am one of the guys that doesn't care about system performance since i usually use up to date hardware (as opposed to running Linux on a typewriter) and don't jack off on benchmarking results - as long as it's responsive enough it's fine with me. I never liked Beryl/Compiz and i hardly ever use ANY desktop effects (aside from window animations), so you can stick all your GTK+Compiz arguments up your ass. GTK is ugly, get over it.
GTK is crap. It's written in C and contains whole fucking load of legacy code and features that go back as far as 1998 (i mentioned Windows 98 for a reason). KDE4 API proved that good looking, feature-rich object-oriented C++ API that is easy to use for a developer can exist without too much C crap. It's not that C is a bad language, it's just that IMO it is not suitable for userspace tasks like GUI API. Drivers, kernel - anytime, GUI library - fuck you. WinAPI is a nightmare, GTK is not any better.
Have you actually noticed how crappy looking GNOME icons are? Again, Windows 98. For fuck's sake, Windows XP had a similar style "plastic" icons, but they looked WAY better back then than GNOME icons look NOW, 9 years later! What the fuck is wrong with GNOME people?! They don't care about innovation, all they care about is backwards-compatibility. Innovations always come at a price, and that is a price i am willing to pay - if something is broke during the process i'll just wait for an update, i don't want legacy code holding me down. But apparently, GNOME guys think otherwise.
There's lots of great software written with GTK and it's really a shame. Before you start saying that it doesn't matter which toolkit they use, let me give an example of truly HORRID GNOME crap - the file selection dialog. Even Windows 98 got it right! Hell, Windows 95 had a better one! Mac OS always had it! KDE got it right from the start! And GTK is now at version 2 and they STILL haven't figured out that this file selection dialog just plainly SUCKS BIG FUCKING MONKEY BALLS?!!! Firefox! OpenOffice! Chromium! Thunderbird! Eclipse! They are all GREAT pieces of software, and they are spoilt with this GTK crap - this is just plainly stupid! I would resign from using ever GTK just for this very reason! But what amazes me even more is WHY do all these people use it for development?! I understand that OpenOffice, Firefox et al have a lot of legacy code so it would probably be a lot of rewriting just to get rid of this GTK crap, but things like Chromium?! I thought Google were smarter guys...
Thank God for KDE4. The guys weren't afraid to break everything in favor of laying the foundation on which they can build a desktop better than it is now. Plasma workspace is a brilliant idea! Plasmoids are a brilliant idea! Everything is done RIGHT - everything is flexible enough to fit in anywhere - regardless of display resolution and size of the toolbars, and this flexibility is not because the developers of the plasmoids are smart, but because the very API they use allows this kind of flexibility without any extra effort!
And, to conclude - the flexibility of GNOME. GNOME is notoriously inflexible when it comes to configuration. This might be a good thing at first, but after a while GNOME gets boring. It takes away the excitement of learning something new because there is really nothing to learn.
I will be watching the GNOME shell project closely, but unless they change the underlying API (i.e. GTK) it is doomed to suck too.