Five Years of KDE
Jacek Fedorynski writes: "Looks like KDE is five years old. Five years seems like a lot of time but just look how much they've achieved in this time." I think the hard part is just beginning - KDE has got all the basics down, and now they have to resist adding too much more crap.
Or, rather, to use the same 5 year timespan, in 5 years, Microsoft went from Windows 95 to WindowsXP. That is a huge leap in terms of stability and security (both up) and boot time (down).
KDE has got all the basics down, and now they have to resist adding too much more crap.
I think KDE team is doing their good job. What do you mean by "adding more crap"? Do you mean adding more apps into the window manager? Well, you can always only download kde-base and other necessary ones if you don't like KOffice, KDevelop, and other stuffs...
Meanwhile, I like the idea to integrating their office suite with KDE. That way, you can get consistencies in user interface so that Windoze users don't get too much shock on migration.
Moreover, they're getting better every release. More stable, speedier, and more usable to users. Five years to develop this brilliant stuff is just unbelievably short. Not even Microsoft can build their lousy Win3.1 to another lousy Win2K, that took them more than 5 years...
--
Error 500: Internal sig error
And after 5 years I'll bet most KDE users are using pretty much the latest version. Nearly 7 years after its release it is not odd to find Windows 95 still in use (about 100 of the 500 boxes I support are running 95), enough so software and peripheral companies still benifit from supporting it. Why is it still in use? For one, the price of upgrading all the software, secondly, the value of not replacing old systems for many orginizations. Comparing KDE and its five years of development and any five years of development in Windows history demonstrates the strenth of free software.
A company should have a focus - instead of trying to be all things to all people (MS == content provider/os maker/game station maker/you name it). KDE is a great example of what is possible when a project is not non-competitive, and focuses on providing one thing, in this case a desktop environment. Some might argue that KDE's focus is too broad. I don't use it that much, so I couldn't say.
Anyway, good work KDE people! Keep it up!
My Karma was at 49, then they switched to words. All that work for nothing!
A) There are way less users of KDE than of windows
B) Users of KDE tend to be the admins of their own machine
C) Installs of KDE tend to be highly isolated compared to the mass installs you will find of windows at a corporation
Anyone who does custom work on their own (especially when there is OSD dogma pushing them forward) will of course upgrade as soon as possible. Corporations always move slower.
The announcement that Matthias made that seemed to have sparked off the KDE (and I knew only now that K stood for Kool!) gives the impression that Matthias was onto something big. He was cocksure of KDE's success, confident that it was going to be a big hit (though even Matthias mightn't have expected it to catch on like it has done). Well, thats something that's lacking in the Open Source World 5 years thence. The conviction, that what one is doing is big, and the faith in one's abilities. Guess, there are just too many bloated carcasses floating around with little support/management, and moreover no cohesive force that rallies coders around, whips up their passion into doing something new.
:(
Way to go, Matthias. Now, if only that announcement could motivate me to getting round to completing my assignment in time..
The QT libraries continue to evolve nicely, and thanks to Troll for GPL'ing the code.
Konqueror is an excellent browser product, and I consider it to be on par with the excellent Mozilla product.
KOffice is a competitve, well integrated product for people with moderate needs. I haven't had any problems yet I could not solve with KOffice.
KDevelop is the closest thing the Visual Studio on linux.
Other lesser-known product like Qunata, Kate and KXML are starting to show real promise. I would like Kate in particular to really catch fire like Emacs has over the years - its time for an editor that it totally integrated with its visual environment.
Its the integration that keeps me using KDE over GNOME, which I admit may have some stronger individual programs but just isn't stitched together like KDE is. Its amazing that this entire system is free and has source code available. I look forward to the next five years of this fantastic set of products.
I agree that these five years worth of progress is very impressive. However comparing them to Microsoft's work isn't entirely fair. Microsoft was developing an Operating System, not just a GUI for it. KDE has the advantage of using somone else's GUI library to work with as a basis. Plus they don't have to worry about the complexities of Operating System's.
Don't get me wrong, i don't mean to not give KDE credit where credit is due...but we gotta be fair, comparing KDE to Windows is hardly an equal comparison.
.. is a woman!
From Matthius' original newsgroup post:
"..The idea is to create a GUI for an ENDUSER. Somebody who wants to browse the web with Linux, write some letters and play some nice games.
I really believed that is even yet possible with Linux until I configured my girlfriend's box.
Yes indeed, I would like to thank Matthius and the rest of the KDE team for their enormous contributions to the future of Open Source. But most of all, I'd like to thank the nameless girlfriend who wasn't afraid to complain! (-:
Since KDE is out of Germany and QT from Norway I was just thinking how much international connection Linux has compared to Windows or Macintosh which are completely US centric.
Linux - Finland
GNU - US
KDE - Germany
QT - Norway
GNOME - Mexico ( Miguel )
OpenOffice - Germany ( Stardivision )
Mozilla - US
SAMBA - Australia
Of course there are GUI's. There is the Commond Desktop Environment (much too exensive), Looking Glas (not too expensive but not really the solution), and several free X-Filemanagers that are almost GUI's. Moxfm for example is very well done, but unfortunately it is based on Motif. Anyway, the question is: What is a GUI? What should a GUI be?
First of all, since there are a lot of missunderstandings on this topic, what is NOT a GUI:
IMHO a GUI should offer a complete, graphical environment. It should allow a users to do his everyday tasks with it, like starting applications, reading mail, configuring his desktop, editing some files, delete some files, look at some pictures, etc. All parts must fit together and work together. A nice button with a nice "Editor"-icon is not at all a graphical user environment if it invokes "xterm -e vi". Maybe you have been disappointed long time ago too, when you installed X with a nice window manager, clicked on that beautiful "Help"-Icon ... chrk chrk (the hard disk)...an ugly,
unsuable, weird xman appeared on the desktop :-(
A GUI for endusers
The idea is NOT to create a GUI for the complete UNIX-system or the
System-Administrator. For that purpose the UNIX-CLI with thousands of tools
and scripting languages is much better. The idea is to create a GUI for an
ENDUSER. Somebody who wants to browse the web with Linux, write some letters
and play some nice games.
I really believed that is even yet possible with Linux until I configured my girlfriends Box. Well, I didn't notice anymore that I work with lots of different kind of menues, scrollbars and textwidgets. I already know that some widgets need to be under the mouse when they should get the keyevents, some sliders wants the middle mouse for dragging and some textwidgets only want emacs-bindings and don't understand keys like "pos1" or "end". And selecting some text is different everywere, too. Even the menues and buttons (for exampel Xaw, Fvwm, XForms, Motif) behave completely different.
One word to the Athena-Widgets: Although there are a few nice applications available that uses these "widgets" we should really get rid of them. Thinking that "Athena is a widget-library" is a similar missunderstanding like "X is a GUI". Athena is an very old example how widget libraries could be implemented with Xlib and Xt. It's more or less a online-documentation for Widget-Set-Programmers, but not a tool for application-programmers. Unfortunately, the old Unix problem, a so good online-documentation that people used it for applications.
So one of the major goals is to provide a modern and common look&feel for all the applications. And this is exactly the reason, why this project is different from elder attempts.
Since a few weeks a really great new widget library is available free in source and price for free software development. Check out http://www.troll.no
The stuff is called "Qt" and is really a revolution in programming X. It's an almost complete, fully C++ Widget-library that implementes a slightly improved Motif look and feel, or, switchable during startup, Window95.
The fact that it is done by a company (Troll Tech) is IMO a great advantage. We have the sources and a superb library, they have beta testers. But they also spend their WHOLE TIME in improving the library. They also give great support. That means, Qt is also interesting for commercial applications. A real alternative to the terrible Motif :) But the greatest pro for Qt is the
way how it is programmed. It's really a very easy-to-use powerfull
C++-library.
Qt is also portable, yet to Windows95/NT, but you do not have to worry about that. It's very easy to use UNIX/X specific things in programming, so that porting to NT is hardly possible :-)
I really recommend looking at this library. It has IMO the power to become the leading library for free software development. And it's a way to escape the TCL/TK monsters that try to slow down all our processors and eat up our memory...
It's really time yet to standarize the desktop somewhat. It's nonsense to load 10 different widgets into memory for the same task. Imagine this desktop:
One may argue that a usual UNIX-Box has enough memory to handle all these different kind of widgets. Even if this might be correct, the really annoying thing is, that all these widgets (menus, buttons, scrollbars, etc.) behave slightly different. And this isn't only an academic example, I've really seen such desktops :-}
I know we couldn't get rid of this chaos at once, but my dream is a coexistance between Motif and Qt. The Kool Desktop Environment (KDE) I don't have the time to do this all alone (also since LyX is my main project). But a thing like a Desktop Environment can easily be cut into lots of parts. There is very probably a part for you, too! If you want to learn some X-programming, why not doing a small, neat project for the KDE? If you know others who like to programm something, please prevend them from writing the 1004th tetris games or the 768th minesweeper clone ;-) Think we also
have enough XBiffs yet...
So here is my project list so far. Probably there are even more things to do that would fit great into the KDE. It's a very open project. Panel: The basic application. Run's as FvwmModule (at the beginning). Offers a combination between Windows95 and CDE. I think about a small taskbar at the bottom and a kind of CDE-panel on the top of the screen. The panel has graphical icon menus on the left (similar to GoodStuff) to launch applications, 4 buttons in the middle to switch to other virtual desktops and few icons for often needed applications on the right. There is for example a mail-icon that also indicates new mail, a wastebasket to open the delete-folder (that also indicates when it isn't empty and is capable of drag'n'drop). Maybe a analog clock with date at the very right. Also a nice special icon for exiting the environment or locking the screen. All the stuff is completly configurable via GUI. I'm also thinking about solutions, that only available applications can be installed on the desktop and that new applications appear on the desktop automatically.
I started to work on this panel, but would of course love some help. There are also lot of smaller things to do, like a tool to chose a background pixmap (for each virtual desktop) etc.
Also nice icons are needed!
Filemanager Another major application inside the KDE. The idea is not to create a powerful high-end graphical bash-replacement (like tkdesk tries to be), but a nice looking easy-to-use filemanager for simple tasks. Simple tasks are mainly deleting some files, copying some files, copying some files to floppy disk, starting applications by clicking on a file (for example ghostview for postscript files or xli for gifs, etc).
I'm thinking about nice windows, one for each directory, that shows icons for every file. It should be possible to drag files around (either copy or move), even between different windows. Another important point is the support of the floppy-disk, so that mounting/umounting is done user-transparent.
Dragging of icons should be done in a nice way, that means moving around a special window (see Qt's xshape example), NOT like xfm or xfilemanager by setting another monochrome bitmap for the cursor.
So it will also be possible to put files as icons on the desktop. This is IMO a very nice feature. Since applications are launched by the panel, it's even clear that icons are real data-objects. With fvwm-1 and the FvwmFileMgr it wasn't really clear wether an icon is yet a file or an iconified window.
Drag'n'drop inside a Qt application isn't really difficult. The filemanager is IMO a very nice and not too time consuming project. Who wants?
mail client A really comfortable mailclient. IMO the most comfortable mailclient for X is yet XF-Mail. And the author is willing to port it to Qt when the KDE-project will start! But he asks for some assitance (for example for coding the small popups, etc.)
easy texteditor Very small but important project. An editor that fits the needs of those who have to edit a textfile once in a month and didn't find the time yet to learn vi (and don't have the time to wait for x-emacs to start, and don't have the memory to use a motif-static-nedit, and don't have the cpu-power and memory to use a tk-monster like tkedit,...)
Unfortunatly the Qt multiline-textwidget isn't available in Qt-1.0, but Troll-Tech already announced the beta-testing. So the texteditor can be started in a few weeks, too.
Terminal Similar to the CDE terminal program. A kind of xterm with nice menu bar to set the font, exit, etc. Nice project, get the xterm sources and add a GUI with Qt!
Image viewer The application that will be launced as default from the filemanager for gifs, jpegs and all this. Well, xv is shareware and really needs quite a long time for startup. But there is a plain Xlib programm without any menues or buttons called "xli". Get the sources and make it userfriendly with Qt!
Lots of small other tools:
- xdvi with Qt-Gui
- ghostview with Qt-Gui
- xmag with Qt-Gui
- whatever you want
Hypertext Help System A complete desktop environment needs a nice hypertext online help. I think the best choice would be HTML (>= 2.0). So a free Qt-based html-viewer would be a great idea. It might be possible to use the Arena-sources, but arena needs very long for startup. Maybe it would be best to start from scratch. Qt offers excellent functions for dealing with different fonts. For a help system HTML 2.0 is more than enough, some nice search function added and that's it. Since it is also possible to convert the obsolete troff man-pages to HTML, we can also integrate the original UNIX help system.BTW: There is a Troll Tech Qt-competition (look at their webpages). The best application (not only functionallity, but also design counts. Just porting an existing great application to Qt won't probably be enough :-( )
wins $2000 and a few Qt on NT licenses (worth another $2000). They also
mentioned a browser-project as an example. So a nice HTML-browser in Qt,
ready in Janurary may be worth $4000 (This includes selling the unneeded
NT licenses ;-) )
Window Manager At the beginning, the KDE panel will work as an Fvwm-Module. When this is done, a lot of stuff can be stripped from the bloated fvwm window manager. We don't need anymore fvwm-menus, icon handling and zillions of configurable things. We need a small, realiable windowmanager. So maybe stripping all unncessary stuff from fvwm will make sense in a while. But this may come very last.
System Tools Whatever a user, or you, might need. A graphical passwd comes to my mind. But probably there are a lot more! Maybe this will lead to a small system administration tool someday.
Games We have yet a nice tetris game (an Qt example program). What is needed is a nice set of small games like solitaire (please with nice cards that can be really dragged!). There are several nice card games available for X, for example xpat2. So why not take the cards from them and write a real solitaire games, very similar to MS-Solitaire. I really had to install Wine sometimes just to play solitair, what an overhead! But other games are needed, too. Take xmris, pacman, etc. add a nice GUI. Or write some from scratch. Whatever you want :)
Icons A set of nice icons. 3D-pixmaps are quite a good start (but why should the button be inside a pixmap, if we use a toolkit with buttons???)
Documentation A documentation project is always a good thing to have. But before we should clearify how the hypertext help system should look like. We can then start with documentation pages in the chosen HTML-subset and for example use arean as help browser. Anyway we need some application to document first.
Web-Pages / Ftp Server / Aministration We need a server for the files and webpages that inform about the state of the project. Especially what projects are currently worked on and what projects still wait for somebody to do them. I set up a preliminary homepage on http://www-pu.informatik.uni-tuebingen.de/users/et trich
that just contains this posting yet and a few links. I may setup real
webpages for the very beginning but I would be very happy if I could
concentrate on discussion and coding. So if there is someone out there in
the net who likes to design and maintain webpages, here is a job for him :)
Discussion The most important topic :-) If you are interested please
join the mailing list
kde@kde.org
Subscribing can be done by sending a mail with in *Body*: subscribe [your email address]
to
kde-request@kde.org
Applications When the KDE gets widely accepted, new (free) applications will hopefully be based on Qt, too, to fit with the comfortable and pleasant look and feel of the desktop.
We may for example port LyX to Qt, so that a comfortable wordprocessor is available. But that is still in discussion in the LyX Team.
A nice vector-orientated drawing tool would also be fine. Well, Xfig is a powerful but ugly monster. But there is "tgif", a very powerful, easy to use but ugly program. The author doesn't like the idea of adding a Qt GUI for the menus, icons and scrollbars, since Qt is C++ and he wants to keep tgif plain C, since on some sites no C++ compiler is available. Well, the KDE doesn't really aim on these old and weird UNIX boxes (also I think a g++ is almost everywhere available). But maybe the tgif-author agrees when somebody else adds a nice GUI to tgif (the sources are free, don't know wether this is GPL). Since tgif yet implements its own GUI this shouldn't be too difficult. It's really easy with Qt to access plain Xlib functionality and functions, so not very much will have to be rewritten. Also C++ makes it very easy to include plain C code.
What about an easy to use, nice newsreader similar to knews? Could also be integrated into the KDE. ... and ... and ... and.
So there is a lot of work (and fun) to do! If you are interested, please join the mailing list. If we get about 20-30 people we could start. And probably before 24th December the net-community will give itself another nice and longtime-needed gift.
The stuff will be distributed under the terms of the GPL.
I admit the whole thing sounds a bit like fantasy. But it is very serious from my side. Everybody I'm talking to in the net would LOVE a somewhat cleaner desktop. Qt is the chance to realize this. So let us join our rare sparetime and just do it!
Hopefully looking foward to lots of followups and replies! Regards,
Matthias Ettrich
(ettrich@informatik.uni-tuebingen.de)
BTW: Usually these postings get a lot of answers like "Use a Mac if you want a GUI, CLI rules!", "I like thousands of different widgets-libraries on my desktop, if you are too stupid to learn them, you should use windoze", "RAM prices are so low, I only use static motif programs", "You will never succeed, so better stop before the beginning", "Why Qt? I prefer schnurz-purz-widgets with xyz-lisp-shell. GPL! Check it out!", etc. Thanks for not sending these as followup to this posting :-) I know I'm a
dreamer...
BTW2: You might wonder why I'm so against Tk. Well, I don't like the philosophy: Tk's doesn't have a textwidget, for example, but a slow wordprocessor. Same with other widgets. In combination with TCL the programs become slow and ugly (of course there are exceptions). I didn't yet see any application that uses Tk from C++ or C, although an API seems to exist. TCL/TK is very usefull for prototyping. Ideal for example for kernel configuration. And since Tk looks little similar to Motif, the widgets are also quite easy to use. But I really don't like any TCL/Tk application to stay permanantly on the desktop. And Qt is much easier (at least as easy) to program. Check it out!
BTW3: I don't have any connections to Troll Tech, I just like their product (look at the sources: really high quality!) and their kind of marketing: free sourcecode for free software. Original document by Matthias Ettrich,
HTMLized by Matt McLeod
This is not a flame, not a troll, just the sad truth.
A point that needs to be raised is that all this was achieved in the face of possibly the nastiest episode in the history of free software; the FUD spread by GPL fanatics about the QT licence.
Gnome was founded by said fanatics for one reason and one reason only - to squash KDE, the best thing that had ever happened to desktop Linux. Microsoft must have been laughing their heads off...
And let's not forget that when Trolltech finally GPL'd the QT library RMS in one of the most arrogant pieces I've ever seen graciously granted "forgiveness" to the KDE team for unspecified breaches of the GPL that *may* have happened and then ended with "Go Gnome!.
Five years on KDE continues to bring out with almost military precision new releases. Despite vastly greater resources thrown at, Gnome 2.0x is as far off as ever, and Gnome remains a pretty but unstable desktop with some poorly-integrated GTK apps that have been retrospectively given the Gnome imprimateur.
Ironic, innit, that the only reason Gnome is still going is because the US suits who back it prefer LGPL to GPL - ie our noble FSF clacque who dumped on KDE using the GPL are quite happy to use a less free licence.
Anyway, as a usable desktop KDE is way out of front. Gnome is there for wannabe hackers who can't stomach the discipline of C++ and ideological fanatics. And those who want to stay in the perfection of eternal beta-land.
KDE shows what can be done with limited resources and a proper design and project plan
GNOME shows what happens when large amounts of resources are pissed up against the wall to make up for lack of said design and project planning.
KDE = Konqueror
GNOME = Mozilla
KDE = results
GNOME = vapourware
Thanks to the modular design of KDE, adding new features doesn't bloat it in any way unless you actually use those features. If you use those features, then of course you have to allocate resources too them.
KDE doesn't start up features unless you actually want to use them, and this is definitely a good thing.
Well this wasn't Matthias Ettrich's first and only accomplishment. He also gave us the first and only usable frontend to latex.
I (and many other people!) swear by lyx for their scientific papers. It is absolutely great. Only after this did Matthias Ettrich start KDE.
First he created a GUI for the best OS text processing system, then he went on to create the best GUI for the entire unix OS!
Unlike some other guys (Miguel, Bruce, ...) he did not become a poster child of slashdot kids, but he deserves our gratitude for his great work towards a linux (and BSD) for the end user and on many desktops.
THANK YOU!
Moritz