Language Selection

English French German Italian Portuguese Spanish

KDE 4.0: Everything that has an end, has a beginning

Filed under
Reviews

Note: This review's based on KDE 4.0 installed on openSUSE 10.3. If you're running openSUSE 10.3, KDE 4.0 is extremely easy to install. (Apologies to the Wachowski brothers for the title.)

Get Over It

A confession: I was among the many who griped publicly (and privately) about KDE 4.0's release date. I thought KDE 4.0 was not ready for release and should be held back until it was. (Hey, my wife and my dog listened to me. So there.)

Why? There were two main reasons.

First, one of the things I've loved the most about KDE is its large range of configuration options. For example, there's about a gazillion things you can do with the "kicker panel" (a.k.a. the taskbar) at the bottom of the screen in KDE 3.5.7.


Some of KDE 3.5.7's many kicker configuration options

By comparison, there's little you can do with the panel in KDE 4.0 — and, compared to KDE 3.5.7, not a lot you can do with the desktop, either. It didn't help that the betas and release candidates of KDE 4 contained even less functionality than the final version.

Second, although I've been playing with Linux distros since the late 90s, I didn't start using Linux seriously until around 2003. So the only version of KDE that I learned well was KDE 3. Changes to the KDE 3.x series seemed incremental; in other words, if you ran a live CD containing KDE 3.0, you could definitely recognize it as the precursor to KDE 3.5.8. I assumed KDE 4's user interface (UI) would be a "superset" of KDE 3.x's.

Instead, the KDE developers chose to concentrate on rewriting KDE's "plumbing," focusing (as far as this non-developer can tell) on simplifying and modernizing KDE's application programming interfaces (APIs), and updating it to Qt 4 (Qt is the development framework that KDE's based on). Among other things, this new "plumbing" includes a multimedia back-end named phonon; a new way of dealing with hardware named solid; and, most noticeably, a new user interface named plasma. As its Wikipedia article notes, "Plasma is still undergoing heavy development."

(Long-time KDE users have already noticed that, for some strange reason, none of the names for these technologies begin with the letter "k.")

Wikipedia mentions that, in KDE "x.0" releases, the developers can break compatibility with former releases. They didn't go that far, since KDE 3.5.x apps seem to run just fine on KDE 4.0. But we did see an example of the open source mantra, "release early, release often," in action. And it's worth mentioning that, while still very rough around the edges, the released version of KDE 4.0 was greatly improved compared to the betas and release candidates.

Developers as Politicians

Something else happened that was interesting. Several KDE developers, realizing the controversy there would be over KDE 4.0's unfinished state, took the time to explain what was going on. In particular, Aaron Seigo, president of the KDE foundation and the man mainly responsible for Plasma, addressed naysayers in a long blog post titled "Talking Bluntly" (a recommended read). openSUSE's Stephan Binner wrote a couple of posts about the situation. As the openSUSE KDE 4 page says:

"To make a long story short: KDE 4.0 is not and never was meant to replace 3.5.x for regular users. The main goals were porting to Qt4 and creating the frameworks to create all the things announced for KDE 4. Frameworks are unfortunately hardly visible to the user, so most things that use them, like plasmoids, panel-functionality etc., will only appear after the frameworks are in place, i.e. starting with 4.1."

(If you've got the time and bandwidth, download and listen to The Linux Link Tech Show's Jan. 2nd interview with Aaron Seigo (link goes to a 33.8 MB audio file in ogg format). He comes across as a very intelligent, thoughtful guy, and does a great job explaining the decisions behind KDE 4. Mr. Seigo seems to have taken quite a bit of grief over Plasma, but handles criticism with aplomb. Calling someone a politician is not always an insult!)

From Kubuntu to KDE 4.0

Users of Kubuntu 7.10 "Gutsy Gibbon" were treated to a simplified file manager named Dolphin, a simplified control center named System Settings, and a web-based desktop search engine named Strigi. All three are in KDE 4.0. Moreover, Dolphin now plays the role of KDE's default file manager, and System Settings replaces the KDE Control Center.

   
Left: Dolphin and System Settings on Kubuntu. Right: Strigi desktop search on Kubuntu.

   
Dolphin, System Settings, and Strigi on KDE 4.0

KDE 4.0's user interface will seem familiar to users of former versions of KDE. The major change is the addition of so-called "widgets," or "plasmoids," to the desktop. (I'll use the terms interchangeably.) Widgets are usually SuperKaramba-like applets, which could potentially be anything from a clock to a calculator to a system monitor. But it goes further than that — even desktop icons are widgets.

     
The KDE 4.0 panel (itself a plasmoid), L-R: Kickoff menu; traditional menu; task manager; desktop pager; Klipper (in the System Tray); New Device Notifier; and clock

Desktop widgets can be added by mousing over the Plasma icon in the upper right-hand corner of the screen, or from a desktop context menu. If you want to add one to the panel (such as the "traditional menu" seen above, or a trashcan), you can click and drag them from the "Add Widgets" dialog to an empty spot on the panel. You can also filter your favorite widgets from that dialog, as well as take them off your desktop.

 
Miscellaneous widgets

 
Messing around with widgets (click for larger image)

Widgets can be rotated, made larger, configured (if there are any configuration options for that widget), and made to quit, via small icons in the frame surrouding them that shows up when you mouse over them. You can lock them to the desktop, which hides the frame (which is handy, because at this point, sometimes the frame doesn't go away when it should).

Essential Apps

It would seem that the KDE developers wanted users to be able to differentiate between the web browser (Konqueror) and the file manager (Dolphin), instead of having the confusion of having Konqueror perform both functions. Although you can still use Konqueror as a file manager (by pressing Alt+F2 to open KRunner, and entering the command "konqueror --profile filemanagement" as before), for now, Konqueror uses Dolphin as its file management engine. (What's missing in both is a tree view in the right-hand pane. Hopefully that'll come back soon.)

Dolphin seems to have borrowed from GNOME's Nautilus file manager and from Mac OS X in its design. Of particular interest: the "breadcrumb" bar across the top, between the toolbar and the file window. Click on a ">" symbol to get a vertical listing of directories. The "breadcrumb" bar can be interchanged with a regular editable location bar with a mouse click. Also of interest: the new "columns" and "split" views (which sort of make up for the lack of a tree view in the right-hand pane).

   
L-R: Dolphin with "breadcrumb" bar; Dolphin using column view; Konqueror in file management mode

KDE 4.0's new default document viewer, Okular, can open up a huge variety of document formats. Gwenview is KDE's default image viewer. Konsole, KDE's terminal application, has a subtly revamped feel. (I could swear the line spacing is just a bit larger than it was in KDE 3.5.x; a pleasant surprise.)

   
L-R: Okular's list of supported formats; Gwenview in browser mode; Konsole's "profiles" settings

Games in KDE 4.0 now usually use scalable vector graphics, for a much nicer look. There are some interesting new applications, including Marble, a searchable "desktop globe;" and KPhotoAlbum, which is apparently complicated enough that the new user's offered a 10-minute series of introductory videos. As of this writing, KOffice 2.0 is still under development, and while some parts of it work, others (such as KWord) instantly crash.

     
L-R: Games in KDE 4.0; the Marble desktop globe; KPhotoAlbum; the Amarok audio player (version 2.0 "pre-alpha")

More Eye Candy

KDE 4.0's default theme, named Oxygen, comprises a new set of default sounds, a new, more photo-realistic set of icons, a windows decoration, or "windec" (the part that surrounds your application windows), and a widget style ("widget," in this sense, meaning buttons, scroll bars, progress bars, etc.).

(For those keeping score, most of these screenshots use Plastik as the windec and (the new) Plastique as the style. You still get to choose.)

   
The Oxygen style

If you've got a graphics card capable of displaying compositing effects (such as you'd see with Compiz Fusion), you'll find that KDE 4.0 includes many of its own. (They're turned off by default, but can be switched on from System Settings > Desktop > Desktop Effects.) Some of the effects are quite useful, such as the one that darkens the window underneath an active dialog box; and some are just for fun, such as the Explosion effect that makes windows that are closed, explode into pieces. Be advised that, at this point, turning on desktop effects can make other applications unresponsive, cause general flakiness, and make the entire UI unresponsive if you use an OpenGL screensaver.


     

L-R: Desktop effects settings; an Alt+Tab "box switch" window switcher; a "desktop grid" virtual desktop chooser

Finally, KDE 4.0 also comes with some gorgeous wallpapers.

In Conclusion...

KDE 4.0's release has been a learning experience, at least for me. KDE 4.0's got a long ways to go before it's ready to replace KDE 3.5.x. (For example, my desktop icons have suddenly stopped working!) But one thing is for sure: improvements (which is what you'll call them if you approve of them) and changes (which is what you'll probably call them if you don't) are occurring rapidly. (It seems like openSUSE releases new KDE 4 packages on an almost daily basis.) As far as the prior complaints go — fuggeddabouddit. Time to move on. I'm looking forward to seeing what KDE looks like, six months from now, and longer-term, years from now.

— Andrew Heil, aka "eco2geek"

For More Information:




StumbleUpon


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

A Fair Summary

My experience has been similar. I do remember one slightly angry diatribe by Aaron Segio in early beta days on his blog in response to some criticism. It appears to me that Mr. Segio has matured and grown in this development/release process. He is certainly a bright, thoughtful, and engaging person as his appearance on the TLLTS podcast clearly demonstrates.

I look forward to KDE 4.1 and 4.2, as I do believe that it will make for a magnificent desktop experience.

> KDE 3.5.x apps seem to run

> KDE 3.5.x apps seem to run just fine on KDE 4.0

That's because they use Qt4, whereas KDE4 uses Qt4, so I suppose KDE3-apps don't actually use anything from KDE4!

Makes sense

And since openSUSE puts KDE3 into /opt, and KDE4 into /usr (which is where all the other distros I've seen usually put KDE3), that probably makes it a whole lot easier to have them both installed at the same time, without naming conflicts.

s/Qt4/Qt3/

Béranger wrote:
That's because they use Qt4, whereas KDE4 uses Qt4
Obviously, what I wanted to say is "because they use Qt3, whereas KDE4 uses Qt4".

Nice summary Eco2geek.

I too was one of the ones that complained alot about the kde 4 rc/betas. I still feel there's alot of missing functionality and such..but overall, I was actually a lot LESS disappointed with kde 4.0 than I thought I would be. Some how..it seems they really made everything fall into place right before the release. I've been using it ever since..and aside from a few minor annoyances, it's a fairly solid desktop. I really like it..and I'm looking forward to future releases..which should be greatly improved feature-wise.

More in Tux Machines

What Happens When You Run a Command in Linux?

Most Linux users are often unaware of the internal working of the operating system. You might be running Linux commands on the shell for a long time, but have you ever wondered what's happening behind the scenes when you hit Enter? By the end, you'll have a brief understanding of how the shell processes the typed command in Linux. Read more

today's howtos

  • How To Install SuiteCRM on CentOS 8 - Unixcop

    SuiteCRM is a free open source Customer Relationship Management application for servers. It is written in PHP. Open source CRM is often used as an alternative to proprietary CRM software from major corporations such as HubSpot, Salesforce and Microsoft Dynamics CRM applications. SuiteCRM is a software fork of the popular customer relationship management (CRM) system from SugarCRM. The SuiteCRM project started when SugarCRM decided to stop development of its open-source version. In this guide, we will show you how to install SuiteCRM in your CentOS 8 Linux.

  • How to Install & Configure VNC Server on CentOS 8, Rocky Linux 8, or AlmaLinux 8 - ByteXD

    Virtual Network Computing, commonly known as VNC, is a platform-independent protocol that uses the client-server architecture to access a remote computer over a network. It enables users to access the remote computer’s graphical desktop and send mouse clicks and keyboard strokes to the remote system. Alternatives to VNC for CentOS that we have covered are xRDP and X2Go. All these technologies have similar goals, but their methods for achieving them differ. This post will give you a step-by-step tutorial for installing and configuring a VNC server on your CentOS 8, Rocky Linux 8 or AlmaLinux 8, along with how to install and use multiple popular desktop environments. Over the course of this article we’ll refer to all 3 operating systems when mentioning only CentOS 8, to avoid repeating all 3 every time. Also, the screenshots provided in this tutorial are mostly from CentOS 8. I have provided a few from Rocky Linux 8 and AlmaLinux 8, to prove that I have also tested this tutorial on them.

  • How to Install Apache Spark on Debian 11

    Apache Spark is a free, open-source, general-purpose and distributed computational framework that is created to provide faster computational results. It supports several APIs for streaming, graph processing including, Java, Python, Scala, and R. Generally, Apache Spark can be used in Hadoop clusters, but you can also install it in standalone mode. In this tutorial, we will show you how to install Apache Spark framework on Debian 11.

  • How to Install Specific Version of Package using DNF

    As part of application requirements or testing, you might need to install specific version of a package. DNF is a package manager for RPM-based Linux distributions such Fedora, RHEL, Rocky Linux, AlmaLinux, and more. In this tutorial, we learn how to install specific version of package using DNF.

  • How to Install Unity Desktop on Ubuntu 21.10 Impish Indri - LinuxCapable

    Unity Desktop Environment is a graphical shell for the GNOME desktop environment created and maintained by Canonical for Ubuntu operating systems. As time has passed and Ubuntu is now officially using GNOME as the default desktop environment, it is maintained and developed by the Unity7 Maintainers and UBports. With Ubuntu 21.10 being released, another Unity Desktop environment has occupied it. This release still uses the Unity 7 interface as the UnityX 10 is still under development. However, in further Ubuntu distribution releases, this interface will undoubtedly appear. Overall, Unity is an excellent option for its speed, alternative looks to rival any other Desktop Environment. In the following tutorial, you will learn how to install Unity on Ubuntu 21.10 with various options.

  • How to install Craft CMS on Ubuntu 20.04 LTS Focal Fossa - Linux Shout

    Just like WordPress, we have another open-source Craft CMS that is a new and innovative content management system with a large community of developers and communities worldwide. Here we learn the steps to Install Craft CMS on Ubuntu 20.04 or 18.04. It is an open-source CMS based on PHP / MySQL with the TWIG template engine, flexible in nature, and has a user-friendly interface for creating digital current and administrative tasks. Craft CMS also offers a built-in plugin store with hundreds of free and paid plugins. Whereas is robust framework allows developers to develop modules and plugins.

  • Install Guacamole for Remote Linux/Windows Access in Ubuntu [Ed: Just updated]

    As a system administrator, you may find yourself (today or in the future) working in an environment where Windows and Linux coexist. It is no secret that some big companies prefer (or have to) run some of their production services in Windows boxes and others in Linux servers.

Today in Techrights

Programming Leftovers

  • ThreatMapper: Open source platform for scanning runtime environments - Help Net Security

    Deepfence announced open source availability of ThreatMapper, a signature offering that automatically scans, maps and ranks application vulnerabilities across serverless, Kubernetes, container and multi-cloud environments.

  • Josef Strzibny: Organizing business logic in Rails with contexts

    Rails programmers have almost always tried to figure out the golden approach to business logic in their applications. From getting better at object-oriented design, to service objects, all the way to entirely new ideas like Trailblazer or leaving Active Record altogether. Here’s one more design approach that’s clean yet railsy.

  • Status update, October 2021

    On this dreary morning here in Amsterdam, I’ve made my cup of coffee and snuggled my cat, and so I’m pleased to share some FOSS news with you. Some cool news today! We’re preparing for a new core product launch at sr.ht, cool updates for our secret programming language, plus news for visurf. Simon Ser has been hard at work on expanding his soju and gamja projects for the purpose of creating a new core sourcehut product: chat.sr.ht. We’re rolling this out in a private beta at first, to seek a fuller understanding of the system’s performance characteristics, to make sure everything is well-tested and reliable, and to make plans for scaling, maintenance, and general availability. In short, chat.sr.ht is a hosted IRC bouncer which is being made available to all paid sr.ht users, and a kind of webchat gateway which will be offered to unpaid and anonymous users. I’m pretty excited about it, and looking forward to posting a more detailed announcement in a couple of weeks. In other sourcehut news, work on GraphQL continues, with paste.sr.ht landing and todo.sr.ht’s writable API in progress. Our programming langauge project grew some interesting features this month as well, the most notable of which is probably reflection. I wrote an earlier blog post which goes over this in some detail. There’s also ongoing work to develop the standard library’s time and date support, riscv64 support is essentially done, and we’ve overhauled the grammar for switch and match statements to reduce a level of indentation for typical code. In the coming weeks, I hope to see date/time support and reflection fleshed out much more, and to see some more development on the self-hosted compiler. [...] The goal of this project is to provide a conservative CSS toolkit which allows you to build web interfaces which are compatible with marginalized browsers like Netsurf and Lynx.

  • Monthly Report - September

    The month of September is very special to me personaly. Why? Well, I got married in the very same month 18 years ago. The best part is, I choose the day 11 to get married. I have never missed my wedding anniversary, thanks to all the TV news channel.

  • My Favorite Warnings: uninitialized | Tom Wyant [blogs.perl.org]

    This warning was touched on in A Belated Introduction, but I thought it deserved its own entry. When a Perl scalar comes into being, be it an actual scalar variable or an array or hash entry, its value is undef. Now, the results of operating on an undef value are perfectly well-defined: in a nuneric context it is 0, in a string context it is '', and in a Boolean context it is false. The thing is, if you actually operate on such a value, did you mean to do it, or did you forget to initialize something, or initialize the wrong thing, or operate on the wrong thing? Because of the latter possibilities Perl will warn about such operations if the uninitialized warning is enabled.