KDE is what I consider the most usable desktop environment there is. But what makes it so?
One thing that makes it so is it’s configurability, which is often the target of criticism. Another is the way it’s designed, the parts that make up the whole. Let’s take a look at these.
KDE believes in empowering users.
Anyone who’s tried KDE, and opened “System Settings”, will no doubt note that there’s a lot of options there. If you’re coming from another desktop like Gnome or Unity, it can seem a bit overwhelming. It’s part of KDE’s world-view however: to empower users, to give them the tools they need to make their computing environment what they want and need it to be, freely and openly. Long ago the KDE developers decided to opt on the side of abundance rather than being meager. Their view is that it’s not only demeaning, it’s downright insulting to assume your users won’t or don’t have enough intelligence, nor common sense, to make rational choices. KDE believes in empowering users. To remove choice is not empowering.
Most of the criticism you hear states that there’s just too many options, that enabling so much configuration does more to confuse users, and offers too many chances to break the system. In my opinion this argument really doesn’t hold water. I’ve worked with and helped a lot of people new to open-source in general, and KDE in particular. Invariably if they didn’t know what something did, they either didn’t play with it or tried to find out what it did before making any changes. They asked questions. They went looking for written resources. They learned about it, and learning is always a good thing.
In my experience people who change options with no idea what they’re doing will do that with any desktop environment, regardless of how many or little options there are. They’re the ones you often run across in the user forums pleading for help and cursing the software for crap. After countless exchanges back and forth trying to help them, you finally learn that they changed some option or options without any idea of what it did. Fortunately, most people are a bit more sensible.
Now, normally I like to supply links to any research I do, or to support any claims and/or opinions. With KDE’s configuration options there’s just so much pro and con that’s been written, I found it impossible to just link one or two. I really think if the reader’s interested, a Google search will give them plenty to follow up on. So for those who’d like to see more (and other opinions), here’s a Google search link to start things off.
Yes, there are a lot of configuration options in KDE. Taking the time to understand what they do will bring rewards in having an environment you can tailor to your individual needs, uses and tastes. You truly have the power to create a computing environment that’s as individual as you are.
On to our second subject, some of the bits and pieces that make KDE such a usability powerhouse. There are those who have acknowledged KDE’s usability is a great feature but go on to taint that praise saying it’s at a cost of a huge number of dependencies. Does KDE have an over-abundance of it’s own files and dependencies?
Hmm, I never thought KDE has any more libraries and support files than Gnome, Unity or any other comparable desktop environment. So I tried an experiment, thanks to openSUSE’s SUSE Studio. (For those who don’t know what SUSE Studio is, it’s a web service that allows you to custom-build your own distro. Can’t find a distribution to suit your needs or tastes? Build it yourself with SUSE Studio). Many thanks to SUSE for that tool! I chose the default KDE “build” which would create a very basic install image with just a bare Linux system and KDE on top. Total number of files: 552. I then did the same but this time choosing the default Gnome build. Total number of files: 696. Well it would appear at least in this that KDE actually has less dependencies and files than Gnome, substantially less.
KDE uses several technologies to achieve it’s legendary integration. Perhaps currently the most well-known of these are Akonadi and Nepomuk. Those however are topics for another time. Two less known but in my opinion equally important are ‘kioslaves’ and ‘kparts’.
Kioslaves (KDE Input/Output) are libraries that among other things allow KDE programs like Dolphin and Konqueror to do a lot more than just manage local files. Some kioslaves give them what’s called “network-transparency”. In other words they enable the ability for these programs and others to work with files on a network, just like they were local files on the user’s hard-disk. They provide a consistent way to access different file systems and protocols seamlessly, and to work with them in new and innovative ways. An example would be working with remote files via FTP. No need for a separate FTP client program, just type “ftp://some-ftp-server-address” in Dolphin’s address bar and it takes you there. The remote folder is now like any other folder on your computer. You can even save the ftp folder to your favorites like any other folder, going back to it by clicking on it like any other folder whenever you want.
There are many kioslaves for all kinds of uses. Take for example the audiocd kioslave. If you pop an audio CD into your CD/DVD tray one of the options that will pop-up in the Device Manager on the System Tray is “Open with File Manager”. Click on this and Dolphin will open with a list of folders on the CD. However, audio CD’s don’t actually have folders, the audiocd kioslave is creating virtual ones. You’ll also see that many of these “virtual” folders have names of media formats like “Ogg Vorbis” and “FLAC”. The files contained in these folders as well as the folders themselves don’t exist on the CD. All that you’re seeing is the work of the audiocd kioslave. What it’s doing is giving the user a seamless method of copying the actual files that are on the CD to their hard-disk while simultaneously converting them to one of these open-source formats, all in one transparent action. All the user has to do is simply drag the kioslave-generated folder to their desktop or Music folder or wherever they want, and the kioslave will copy and convert the files. Slick, isn’t it.
Want to view a man page but don’t want to mess around with the terminal? How about a nice, HTML-formatted version in your web browser? In Dolphin type into the address bar “man:/command-name“, where ‘command-name’ is the command you want to know about. Your browser will open with a nicely formatted man page for your viewing pleasure. If you’re using Konqueror for your file manager, it will pop up right in Konqueror. Yep, it’s a kioslave. Want to learn more about kioslaves? Check out this article and browse the Techbase on the KDE website.
Adding to kioslave, another great thing about KDE that makes it so integrated and fast is the use of Kparts. Kparts are basically shared “pieces” between applications. Take the ‘katepart‘ for example. Instead of everything that displays or works with text in KDE having to contain the necessary code to do this, they employ katepart. So whether you’re browsing text files in Konqueror, showing a text file thumbnail in Dolphin, or editing a text file in Kate or Kwrite, they all use the same piece of code, the same katepart plug-in. This allows uniformity while reducing bulk and complexity.
Other examples would be listening to an audio file in Dolphin. Instead of having to add this ability (and all the code) into Dolphin to do this, it just uses the DragonPlayer kpart, which does the playing. Press the <F4> key in Dolphin and you get a terminal at the bottom. Yep, a Konsole kpart. That PDF thumbnail you see in Dolphin? Reading a PDF in Konqueror? You guessed it: Okular kpart.
These are just two of the many technologies incorporated into KDE that IMHO make it the peerless desktop environment it is. KDE provides a fast, elegant and seamless working environment like no other. Too many users only scratch the surface of what it’s capable of. Hopefully, if you’ve read this far and you’re a KDE user, you’ll want to explore more and make better use of it. If you’re not a KDE user, or one who tried it but found it lacking at the time, hopefully I’ve peaked your interest and you’ll take the latest KDE for a spin.