KDE Talk at FOSDEM 2005 by Matthias Ettrich


These are my rough notes only, corrections welcome.

Shows us a screenshot of Unix desktop in 1996, netscape, xview, different widget sets etc. Shareware programmes. Horrible.

Shows us a screenshot of CDE the commercial desktop from the same time. This is still used on some Solaris workstations. If you have never tried CDE and you get the opportunity do check it out, it's unbelievably sucky.

Screenshot of KDE 3.3. Not just looking better but the functionality is there.

We now have office applications, web clients (firefox, opera, konqueror), groupware (kontact+kolab server), multimedia, edutainment, superb development platform. People like to badmouth the gnu/linux desktop saying it misses a lot but in many ways it is the best out there and has come a very long way since 1996.

Qt is the product he has been working on for the last few years and has been his main contribution to the linux desktop. Single source cross platform C++ toolkit. Covers GUI, I/O, printing, network, XML, SQL, process handling, threading and more. Over 5000 customers of which 70% will target GNU/Linux. You may think there are not many commercial desktop programmes for unix but there are a lot of specialist programmes that you never hear about because they are too specialised. To those on the outside writing a toolkit can seem easy, just a few widgets how hard can it be. However the devil is in the detail, just changing from Qt 3 to 4 has taken 60 to 70 man years.

So mission accomplished? No way. We have just begun. In the past 9 years we have developed from nothing to a useable desktop. Infact it has so many features many of you probably don't use a lot of them. KDE is feature complete and an ideal basis for innovation. We have exciting times infront of us.

Challenges. The desktop is an exciting place for development, there are lots of things going on. D-Bus is a DCOP style system, in many ways like a DCOP 2. We have been involved with that even though a lot of work has been done by Gnome developers. By introducing D-BUS nothing will change immediately. But once you have a standard way of talking between applications the possibilities open up. We would like to cooperate more with gnome and they would like to cooperate more with us but the problem is defining the interface, dbus can do that. This is not a first, XDnd, XEmbed and EWMH have done the same thing. If you look at the desktop over the past years there is one thing that people saw never changed and that was X. Now though we have X.org as an open project where everyone can help. If you are looking for an interesting challenge have a look at X, they are desperate for people to do cool things. Porting the KDE framework to Qt 4 is another challenge.

Focus areas are groupware (Kontact and Kolab), software development with KDevelop and Qt 4, accessibility and beyond hierarchical data.

Technical challenges, startup time is the thing that annoys him most. Too many processes, too modular. Multimedia framework is another challenge.

There is a lot of discussion going on with regard to usability. Universal browser paradigm is questioned. Feature and configuration bloat is difficult, hard to just say "lets remove this" because someone will want it. There are some broken concepts in KDE, one is the sidebar in Konqueror but he's never come across a KDE developer who ever uses it. System tray is another area he doesn't like but people asked for it so he implemented it. The systray on his laptop has 6 icons already without him having adding anything there, it's very small and crowded and hard to use because of that.

Social challenges in KDE is that it lacks effective leadership. It can be difficult to enter the KDE community. How can we make decisions. We need more democracy.

Looking at the computers in 1996 and 2005 the CPU has done from 33 to 3000MHz which is a factor of 90. RAM gone from 8 to 512MB a factor of 64. Hard disks have gone from 0.1 to 100GB disks a factor of 1000. Network is always on with broadband. Screen was 800x600 now can be 1600x1200. Users of free software desktop have gone from 100s to 100,000s. These changes have an impact on how we do computing.

Cynical view says we used the CPU for eye candy and seti@home. Hard disk has gone to MP3s. Larger screen has gone on larger fonts and more systray icons. To please the many users we have 1000 more configuration options. Realisticly things are not as bad as that. There are background tasks making use of the CPU e.g. spell checking and auto-completion, syntax highlighting in program editors, search while typing. Network has web applications like Wikipaedia, IMAP e-mails, KDevAssistant documentation doesn't need the documentation online, RSS feeds for news.

What should we do with the extra power of modern computers? More background tasks like indexing. If you drop the MP3 and video collection we have unlimited hard disk but we still require users to save documents. One of the differences between geeks and normal people in computer use is we use revision control systems. Our hard disks are big enough to store all the revisions of documents easily. We also have space to do more caching when disconnected. The file system must die from a users perspective although nobody has a solution to this yet. We have 26x the network from 1996 so thin clients are possible with e.g. NX NoMachine, these technologies are not integrated into the desktop but should be for persistent connections. We need vector graphics to make use of larger and smaller (PDA) screens, in Qt 4 everything is float based and anti-aliased. We are moving from an undergroup culture to mainstream. Computers are no longer geek toys but a part of everyday culture.