First, though, I should caution that this isn't a paean to desktop Linux's infallibility. There certainly remains a lot of room for improvement in the Linux experience, both on the desktop and beyond. But that said, it's also worth recognizing the clear progress that has been made over the course of the last several years, bringing innovations that -- if you're like me -- you may now simply take for granted.
Namely, these include:
- Better hardware support: Broadly speaking, hardware support has improved tremendously in just a few years. Efforts such as compat-wireless have ensured much better out-of-the-box support for wireless cards. At the same time, many distributions have introduced tools, such as Ubuntu's "jockey" (a.k.a. Hardware Drivers) package, to make it much easier to install proprietary device drivers. Remember when you had to download Nvidia's Unix driver source code, drop to runlevel 3, type some archaic commands to compile it and then reboot the computer? If not, you can thank jockey (or its equivalent in your distribution of choice).
- New desktop interfaces: The latest generation of Linux desktop environments -- namely GNOME Shell and Unity -- has not been without controversy. But regardless of whether you like the particular details of the new desktop environments, it's clear they've wrought major changes for the desktop Linux experience. Ultimately, I'm optimistic their kinks will be worked out and the new interfaces will change the desktop definitively for the better.
- Kernel mode setting: It's hard to believe that KMS has existed in Ubuntu only since 2009. And while it's still not supported by all video drivers, it works pretty well now in many cases, bringing with it a much smoother graphical experience beginning within the first moments of booting the system.
- Desktop compositing, implemented most famously in the form of compiz, has also radically transformed the desktop experience for Linux users since the mid-2000s. Many of the "desktop effects" that it makes possible may constitute simple eye candy more than tangibly useful features, but they nonetheless make Linux much nicer to look at. And some of them, such as desktop zoom, can prove tremendously valuable at times.
- User-friendly virtualization: Virtualization technology has been around in one form or another for decades, so it's not exactly novel. But what is new are virtualization tools simple enough for the masses to use. In particular, I give my praise to VirtualBox, which makes it trivially easy to run Windows or Linux guests on a desktop Linux system, complete with advanced features including clipboard-sharing and even 3D acceleration in the guest.
- KVM: On the virtualization note, the KVM hypervisor has also changed Linux for the better. Admittedly, KVM's most important applications tend to be on Linux servers more than desktops, and as a tool designed for serious system administrators it is not the most user-friendly virtualization technology out there -- although I have argued in the past that's it's getting there. All the same, I love that, as a semi-geek, I can open a terminal and fire up a virtual machine via KVM with a few simple commands -- making it super-easy to test out new Linux ISOs, for example.