Every now and then I like to take a break from my typical PC routine and install Linux, as any self-respecting geek should.
I started playing with Linux back in 98, without any particular goal in mind, and kept doing that just for kicks about once every two years. Frankly, Windows has always felt good enough to me and I never really dreamed of switching to something better. After all it is not the OS I use, it's all about the applications.
So every couple of years I install Linux, I look at its somewhat rough desktop, my eyes immediately get fried by its awful, unreadable fonts and usually I quickly retreat to the black and mysterious world of the text console. I may spend a day or two playing with some command line toys and call it a nice try. Unreadable text by itself served me as a powerful motivation to get back to Windows, every time. However, crappy fonts and primitive font rendering were not all.
Linux GUI and X
Linux X-system has always looked like a giant architectural mistake to me: you don't want to build your GUI subsystem as a "server" that "serves requests" from the clients. UNIX guys made matters even worse by implementing other GUI components in this manner, like the font server, for instance. Frankly I can only theorize on why Linux UI has been so painfully unresponsive. Even the mouse has always felt awkward on Linux, so too has choppy window resizing. Maybe those "servers" are not it. Well, let's get back (or move forward) to 2007.
I am happy to report that in 2007, Ubuntu, one of the many Debian-based distributions, looks fine. No, don't get me wrong: the fonts are still screwed by default, but at least there is Google and great support from the community of Ubuntu fans. Apparently, in 2007 Linux knows how to render fonts properly, with anti-aliasing and font hinting, but due to patent issues with Microsoft, Adobe and Apple, those features are disabled by default. Lucky me, I know how to edit an ASCII file, copy those gorgeous Windows True Type fonts into Linux fonts folder and restart my X server. Nice! Not quite Vista/XP quality, but very much usable, especially on modern XZ-something-VGA resolutions we all are accustomed to.
Oh! The fonts!
I wish I could close the issue of fonts, but I can't. As it turns out, many applications simply ignore system-wide font settings and render their own. How the heck is that possible - would be my question, coming from years of Win32 GDI programming, but apparently you can do that in X. OpenOffice happily makes itself totally useless by rendering its own crappy fonts that are as hard to read as they were back in 98, worse than Windows was in 1991. I guess OpenOffice in 2007 compares favorably to something "graphical" from the 70s that I am not familiar with. Heck, I'm only 30. FireFox seems to have its own ideas about fonts, but at least they look much better.
Hardware support and Gnome
But guess what - I don't need OpenOffice, GVim works fine in GNOME, thank you. Oh, speaking of GNOME. I have not tried modern KDE yet, but GNOME has definitely evolved. Overall look and feel are very polished and professional. Everything that I expected to work just worked. Ubuntu even allowed me to use a proprietary, binary nVidia driver for my video card, and everything was responsive. Not quite XP-level responsive, where windows and other graphical objects have almost physical, real-world feel when you move them around, but certainly more responsive than Vista. When I plugged my fairly basic Motorola phone into USB, a little iPod icon appeared on the desktop and all MP3 files from the phone showed up in GNOME's music player. Sweet. XP doesn't do that! Well, of couse it does, but I never noticed it before...
Ahhrr, it turns out that MP3 is a proprietary protocol therefore Ubuntu cannot legally install an MP3 codec for you, but it conveniently offers you an option of installing it yourself with 3 mouse clicks. Same applies to video codecs as well. Downloading and installing the missing codecs worked a lot smoother than it did in XP, which due to its age also comes without DivX.
Most of curious souls who try to compare Linux to Windows usually start by picking Windows features one by one and comparing them to how Linux does that. That's just wrong. Because there are things (at least in Ubuntu/Debian) that Windows simply doesn't do. Take their package management system for instance. Finding free software and installing/removing it from a central repository is awesome. Windows, with its always broken registry and freakish MSI, makes it scary and generally "not safe" to install new software. In fact, Windows gradually gets more and more broken as you install something. Hey, computer geeks, how often do you get a call from a friend, complaining that "My Windows computer got a lot slower"? And what can be said about an OS that discourages you from installing software on it?
And that is the most beautiful part of the Linux experience: there is lots of free software. One can spend days browsing Ubuntu/Debian repositories, installing, playing, removing and comparing all kinds of programs. Let's start with software Ubuntu comes pre-installed with. It was carefully pre-selected and it shows: standard programs are very well-made. Almost every component is better than its Windows counterpart; Instant Messenger is better, it supports all IM protocols I care to remember, default Image Editor is a lot better, default "Notepad" is also nicer, the list goes on. My favorite one is Rhythmbox, GNOME's music player. It has a very clean and intuitive UI that easly eats Windows Media Player for lunch. Somehow, even though I've been using Media Player for years, I am guilty to admit that I STILL have very little idea how to DO anything in it. Rhythmbox is intuitive, simple and powerful. Rhythmbox is usable right away.
Is Ubuntu Good Enough for You?
So... is Ubuntu ready for a typical average user? I don't know, I am not average, moreover - I am nearly a computer genius, right? :) But I seriously do not know. As it appears, most people spend their time in their browsers lately listening to MP3s playing in the background. They may download their digital photos from their camera, organize them into albums and possibly email them to their friends. What else? Rip music CSs into MP3s? - check! Burn MP3s onto CDs? - check! Backup files to external USB drive? - check! Write simple basic documents - check! Hmmm... it appears that Ubuntu will work just fine for them, once they figure out the font madness.
But hey, I am not an average user. I am a software developer. And you know what? For software people Linux is a dream OS these days. It wasn't the case in 98 though. I do not believe it was the case in 2002 either. But in 2007 it is definitely an OS for software people. Why? I don't know where to begin! But haven't you noticed that most of the newest and coolest stuff that people rave about in their blogs is Linux-native? Seriously, look around. It is much easier to try and play with Ruby, Python, Haskell, LISP, Squeak, OCaml, D Language, Rails and Django, PHP and friends - all are first-class Linux citizens that do not "feel good" on Windows. Even Java does not feel as native on Windows. Do you read tech books or you are 9-to-5 kind of programmer? In case you do read and care to recall, what OS is most commonly used to produce screen shots for tech books these days? Or whenever you find an interesting piece of open source code, I bet it's tgz file, isn't it?
Who is it For?
What I think is happening, is that many bright minds in computer field are moving away from Windows. And for "computer people" who like to keep up, UNIX *is* the system of choice. I said UNIX, not necessarily Linux, because Mac OS X is a nice programmer's OS too. In fact OS X is probably the *only* OS for guys who like to build really nice GUIs and get paid for it.
Ahrr... the mandatory conclusion... Here we go: Linux has become a gorgeous OS for "computer people", and a very good alternative to Vista for average+ users who don't have very specific Windows-only needs, like Photoshop or DSLR RAW converters. All they have to do is to enable readable fonts. But truth be told, if my mom asks me which computer/OS to buy I will have to send her to http://apple.com
Meanwhile I am returning my sweet DELL Vostro 1400 because Ubuntu would not run on it well and getting somewhat obsolete ThinkPad T60 with linux-friendly hardware. But, on a side note, in case you absolutely need to log into Vista prison every day, Vostro 1400 is one sweet&cheap piece of hardware - easily the most pleasing item Dell has ever sold to me. I will keep looking for a perfect Linux notebook and I'll be back with my findings.