LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1762|回复: 21

WHY KDE RULES

[复制链接]
发表于 2005-12-30 10:38:24 | 显示全部楼层 |阅读模式
发表于 2005-12-30 11:06:45 | 显示全部楼层
osnews要改变gnome bias的形象了。 8)
回复 支持 反对

使用道具 举报

发表于 2005-12-30 12:12:24 | 显示全部楼层
感觉都没有说到要点上
回复 支持 反对

使用道具 举报

发表于 2005-12-30 15:05:00 | 显示全部楼层
上不去,把原文贴一下怎么样?
回复 支持 反对

使用道具 举报

发表于 2005-12-30 15:17:18 | 显示全部楼层
http://www.osnews.com/comment.php?news_id=13118

"This document was created to show non-KDE people what they're missing - and if you haven't used KDE a lot, you're missing a lot of things and you may interested in reading this page to learn how many wonderful things you've been missing. I promise, this is a subjective analysis of why KDE rules. I was a GNOME user for a long time, one of those users who loved GNOME UI, and I didn't know how much things I was missing with KDE until I tried it."
回复 支持 反对

使用道具 举报

发表于 2005-12-30 15:28:20 | 显示全部楼层
http://www.terra.es/personal/diegocg/kde/

WHY KDE RULES  

Update: I had the chance talking with oGALAXYo, he feels bad about part of the gnome community because he spent so many years contributing to GNOME as developer and contributor and he believes that they have treatened him like an ass. He recognizes all the gnome community are not bad people and some of them didn't deserved some of his hard words. Even if I believe he deserved getting this he on the other hand has shown to me that he in reality is a "nice guy". So that's everything, let's continue with our lives. In case you didn't noticed it - apparently, many osnews readers didn't noticed it - this is about "why KDE rules", not "why Gnome sucks" and if you think the latter you're wrong: I wrote this article just to give people a oportunity to see what they're missing if they're not using KDE, so they can change if they want. A "Why gnome rules" doc would be welcome.

(PD: If you've suggestions, send them to me with/without screenshots to diegocg@gmail.com. You're allowed to copy,distribute and modify this document as long as you keep the images where the name of the singer "Joaquín Sabina" appears. I'm serious. Also, if you're using IE you must know that it's IE's failure that the page doesn't render correctly and why PNG transparency isn't handled as it should. Use firefox damnit, at least until IE 7 is released)





This document was created to show non-KDE people what they're missing - and if you haven't used KDE a lot, you're missing a lot of things and you may interested in reading this page to learn how many wonderful things you've been missing, I promise-. This is a subjective analysis of why KDE rules. I was a Gnome user for a long time, one of those users who loved Gnome UI, and I didn't know how much things I was missing with KDE until I tried it - which doesn't means Gnome is crap, Gnome has its strenghts and without it linux wouldn't have the same success. I think this is one of the major failures of KDE: They have "failed" to market and show non-KDE users their awesome technology (aka: features), because I really think the stuff in KDE is better than the alternatives if you balance all sides. This document is for those non-KDE users who, like me in the past, don't run KDE except for saying "how ugly it is" without realizing how much power there's behind KDE. I hope this docs help them to know what they're missing.

To see the full-size images of this page you need a Javascript-capable browser, and click on the images. Yes, Javascript sucks badly. So does posix, HTTP (why oh why), html and many other things. The Unix guys at Bell labs fixed Unix by creating Plan 9 and nobody cares about them, so to keep the tradition I'm not going to care about people who thinks that (x)html is the one way of creating web pages or think that all web pages must work with lynx because 80x25 consoles designed for dumb terminals are the One User Interface Possible (tm) for smart machines with 3D-capable graphics. (I love consoles too, I just think there're better ways of keeping the good ideas of the past without killing progress, and I don't think preserving the VT100 semantics forever is one of those ways)

In case you're one of those users, you can see a page with all the full-size images. You can also maximize all the images, or minimize them again.


  • Small FAQ
  • amaroK
  • DCOP
  • Kparts
  • KIOslaves
  • More Kparts
  • Various


Small FAQ: No good Linux desktop analysis is complete without all those frequently asked questions that everybody already knows but that everybody love to re-explain again and again in slashdot to get +5 Insightful moderation points.


Small FAQ: No good Linux desktop analysis is complete without all those frequently asked questions that everybody already knows but that everybody love to re-explain again and again in slashdot to get +5 Insightful moderation points.

    * "Qt is not free": Qt is licensed under the GNU GPL license: The same license than many GNU projects and the Linux kernel. Yes, Qt has an additional commercial license. This doesn't makes Qt less free, because the GPL version already gives you all the freedom you need. You can read more on the topic on the KDE myths web page. In case you don't trust me, let me quote Richard Stallman on the Qt 2.2 announcement: "I am very pleased to see that Qt is now available under the GPL. This is a big win free software and a great gift from Trolltech to the community".

    * "KDE uses too many resources": Yes, that's true. It's true for gnome, too. And despite of what that link says, running XP (or Mac OS X) with 128 MB of RAM - or with 256 as long as you start a couple of programs - is quite painful, too (been through it). The fact is, modern desktops eat lots of ram. And yes, I think it can be improved. It's being improved, in fact (gnome too, look at the previous link): KDE 4 will use Qt 4.0 which is a big improvement in that field. When Qt designer was ported to Qt 4.0 - only the neccesary changes to make it compile - the "libqt size decreased by 5%, Designer num relocs went down by 30%, mallocs use by 51%, and memory use by 15%. The measured Designer startup time went down by 18%". (Now try to imagine the savings for the whole KDE desktop). And GCC and libstdc++ have dramatically improved the quality and performance of the C++ platform in Linux (and will continue doing so, we hope!). The internals of KDE are also being tweaked - some people has tweaked it to boot in 5 seconds in a 900 Mhz laptop - and there's a KDE Performance Tips in case you're interested

    * "KDE forces me to install many libraries!": Welcome to the world of code reutilization.

    * "C++ sucks": Indeed, C++ is not the greatest language invented by the human being and no, Qt/KDE users are not blind. C is far from being perfect too (and if you think it's perfect you need to stop taking drugs) Does that mean they are not useful? Hell no; because being able to build good software is THE real objective of every programming language, not discussing abstract designs over a paper. The fact is that you can build WONDERFUL software with C++ (just like with C): lightweight window managers like fluxbox or icewm, efficient and powerful package managers like apt/dpkg and serious server software like powerDNS have been written in C++. KDE development is focused in a good, widely used, object-oriented programming language: C++ - which doesn't means you can't use bindings -  and hence it can concentrate in what really matters: building software, not discussion how software must be built. Also, C#, Java and other languages are Yet Another Object-Oriented Programming Language - good or not, they're not that different. There's not a "revolutionary paradigm shift" between those and C++ no matter how you want to look at it and no matter how much you want to discuss that C++ is not a true OO language.

    * "KDE looks like windows": I must admit I don't really know what to think about this one. In one hand, the fact is that windows has been much better than Linux on desktops for a while and both KDE and Gnome have copied some ideas from them (and this is a KDE document so I'm not going to spend time showing people that Gnome has also copied ideas from Windows) but saying "looks like windows"...what the hell does that mean exactly? Do you mean the user interface? I admit the default KDE configuration looks a bit "square" (mainly because of that ugly digital-style clock look, "digital numbers" in the real world are so square because doing them round was technically more difficult and getting all the numbers by lighting the needed segments in a "8" square number was much easier - not because lots of people likes them. It gives a very "squary" first impression of KDE. Fortunately you can tweak that). Windows has been a better desktop than GNU/linux for years so I don't know if "being like windows" is a good thing or not. But the fact is that KDE is WAY more configurable than others desktops. Example: You can have a Mac OS-like menu bar:

回复 支持 反对

使用道具 举报

发表于 2005-12-30 15:33:35 | 显示全部楼层
"KDE's usability is poor": It'd be stupid denying that Gnome has spent more time looking at usability or saying that KDE 3.x is a usability paradise. I get lost myself easily in kcontrol (look at the previous image), and it's amazing how much usability could be improved by just thinking twice how to name things. I was a Gnome user for years and when I switched to KDE I found it a bit more "unusable" than I'd have wanted: But the rest of the things that KDE has was able to overcome that (and that's what this doc is largely about, showing you why "KDE rules"). But usability is one of the main objectives of KDE 4, and with things like Plasma and the help from usability experts KDE 4 will be much better, we hope. By the way: There was recently some controversial with some  Linus' words. Apparently some people don't know Linus: I've been reading him for years in the kernel mailing list and I don't think you need to "calm him down". He just expresses his opinions that way (and mind you, there're quite a few brilliant Linux design decisions that have been "imposed" by Linus with emails like that, and sometimes it has took years for people to recognize that he was right). I think I understand well what he means - and what I'm going to say it's MY opinion, not KDE community's opinion -: "Usability" as a word doesn't means just "easy to use" but also "it can be used for doing things". I just said above that one the reasons why I switched from Gnome to KDE was its "technical superiority". But many times, the true is that KDE was not that good. Many times, Gnome had removed so many "complex funcionality" from the interface that the problem was not longer about being easier to use or not: The problem was about being able to do things or not. And I was no longer able to do some things in other desktops, things like having a thumbnail view (including video previews) or sorting files by size in the file selector. My view on usability is that interfaces must be as "easy to use as possible", but always with an eye in not forbidding people doing things, because allowing people to do things is, at the end, the _whole_ purpose of creating software (I bet people has written good books about it, but it's much easier to express your opinion and get a email correcting you if you're wrong than reading the book or trying to figure out what books are good). So, while KDE is not a usability paradise in some sense, it is more usable than other desktops for me, and I (other KDE users may have a different opinion) agree with Linus to some point. I think the following screenshot will show you why I think that (enable it in your KDE open dialog pressing F11):





amaroK: THE audio player. "Why start with amaroK and not the KDE desktop?". Because amaroK was the app that introduced me to the KDE world, and I think it can do the same for others (it's not the default player in KDE though, there's juk). It combines some of the greatest KDE features (smart usage of khtml's kpart) and few of its main defects (it is quite usable): It's extremely powerful and easy to use at the same time, it's one of the best music players out there (it's indeed the best on the Linux field IMO). It eats *lots* of RAM, but when you look at the alternatives you realize that they eat 50% of the resources amaroK uses to implement less than 25% of the equivalent functionality. By the way, if after reading this document you plan to try KDE, I recommend you two things: First, wait for KDE 3.5.1 (.0 versions are never good no matter what software it is) which will be released in 20 January 2006 and second, don't "switch": Install and try first some powerful KDE apps like amaroK and K3b and use it for a while (try it while kde 3.5.1 is released for example). Transitions are never easy, radical switchs can be dissapointing no matter what software it is.




This is the First-time-wizard, which ask you where to find your music. As you see, it can watch the directories for changes, so when you rip your CDs they can get automatically added to your collection.




This is the main window. Alternatively, you can make this dissapear and have a xmms-like window (not showed here but available). You may think that it's "too complex" (aka: "unusable"), but I don't think you will think the same if you take a bit of time to look all the screenshots. As you see, you have a "search" field to grep in your play list. The engine which manages your song information is database-based (you can, in fact, choose between a mysql, postgresql or SQLite backend) and as you see it supports boolean operators like AND/OR. amaroK also gives songs a "punctuation" based in how much you listen a song, if you switch to another song, etc. Also, it shows all the albums from the same artist you're listening.



No, I didn't have to download those covers myself - amaroK can download them automatically from Amazon (of course you can set yourself manually in case Amazon doesn't has it). In fact, if you doubleclick the cover, it'll open a browser in the amazon's album page if case you want to buy it.



In fact, amaroK has a "cover manager". Notice the Spotlight-esque search field again: KDE is full of those search fields now.


(省去一些图片等,如果看不到原链接,图片也应该看不见的)
回复 支持 反对

使用道具 举报

发表于 2005-12-30 15:36:18 | 显示全部楼层
(  下面贴的也省去了图片,如果看不到原链接,图片也应该看不见的)




DCOP: Enought. Now it's time for the KDE Desktop. The KDE internal architecture is awesome, you already saw the power of Kparts when embedding Khtml in amaroK, now it's time to show the power of DCOP



Dcop example

The first command counts how many songs you have in your amaroK collection. The second, how many albums. I already told you that amaroK handles all that info with a database

The third line tells me what song I'm listening to right now. The fourth, the path to the cover. Fifth, the cached lyrics of the song - this is Mike Oldfield, so there're no lyrics for this song.

The sixth command switchs to my second virtual desktop. The last command sends the output of "ls -l" to a contact via kopete (of course I don't have a foobar@msn.com contact so it fails), a IM program. As you see, DCOP is everywhere, and the amount of things you can do is amazing - these were just some interesting examples. But wait, there's more





Kword and DCOP

That's right, that Kword window and that text have appeared automatically after running those commands, no other interactions required, and you can manipulate that text and tons of things with DCOP in Kword. Kword is also a amazing app, by the way (and before some people speaks, I'll remember everyone that Kword was there before openoffice or others, just like Khtml has been there for a long time or DCOP vs DBUS, so please think twice if you're going to try to flame KDE for "duplicating efforts")

The power of DCOP is amazing and has been there for years. It started around 1999 with KDE 2.0, after some failed attempts of use CORBA. Right now, there's DBUS - similar concept, different implementation and design - which is a freedesktop.org project, and it's the project gnome is going to use in the future. Fortunately the KDE guys are nice guys and apparently KDE 4 will use DBUS and drop DCOP - the sun will shine really hard that day, so you'd better buy some Rayban stock now.



Kparts: I think it would be fair to say that what we're seeing today with Kparts and DCOP-like technologies is just the tip of the iceberg. Kparts feels to me like the equivalent of unix shell comands when applying its same design principle "separate mechanism and policy": Build "small" pieces of GUI-oriented software and then allow programs to use their functionality as needed. Part of the success of firefox is due to this design principle: Implement mechanism in the browser (extension APIs) and let extensions combine and use those "mechanisms" as needed. Perfect mechanism/policy separation has been one of the most important design principles of the Unix world, and regarless what other OSes say, it's good. The DBUS KDE/Gnome "unification" will be also something interesting to follow. Today we have lots of apps which do amazing things, but the collaboration between those is very poor, and making easier for one app to get information from another is AFAIK the final effect that every user (expert or newbie) desires (and it's the main objective of WinFS, even if most of Mac zealots are stupid enought to compare it with spotlight when the fact is that they're not even close to provide the same funcionality)




Kontact and kopete

As you see, you can integrate all your kontacts - sorry, contacts - with kaddressbook. The interface you see in the right side of the window is not kontact - it's the kaddressbook kpart. And kopete has a plugin which notifies via kaddressbook when a contact is online, which notifies kontact when that kontact is online. Well, no: Kaddressbook is "embbeded" as a kpart in Kontact so it doesn't to notify kontact, I guess. And yes, if I press the "chat with" menu option, a kopete chat window will appear on the screen.





Kontact and akregator

And this is a great example of the Kparts Powah (tm). The interface may seem a bit clunky but I can't host unlimited screenshots so I needed to make the window small - 50% of the population doesn't care anyway because 50% of the population are girls and size doesn't matter for them, right? Here you can see kontact hosting a akregator kpart, while at the same time I open a link from a slashdot RSS entry in a khtml kpart, and I post a typical slashdot commentary (proof of concept, eat my karma!). Yes, that's right: A kpart inside another kpart. Notice the backward/forward buttons, and the spell checker. The spell checker works everywhere inside KDE BTW. Maybe you would argue that such combination of kparts is crazy and that it renders the interface to an "unusable" state. But what I want to show here is how powerful kparts are, not anything else, and now we'll start with KIOslaves.




KIOSlaves: KIOslaves are a way to abstract things and show them to the user with a "common I/O interface" (I know, a bad definition). Thins like your mail in a pop3 mail server, man pages, or other things: you access them writing things like pop3:/, man:/ or audiocd:/ in konqueror (or using menus, of course). Screenshots are more intuitive than my explanations.



audiocd KIOslave

This is probably the best example of how powerful KIOslaves can be. This is audiocd:/, a KIOslave for audio CDs. I didn't do anything to get all those things that you see in the screen. I inserted the CD, and the KIOslave automatically connected to the CDDB database to get the album's information and name the files.

Yes, the "CDA", "FLAC", "MP3", "Ogg Vorbis" directories are what you think and contain the same songs but ending in .mp3 or whatever and no, they aren't real. KIOslaves shows you them (did you hear about "virtual folders" in vista? Let me laugh). In case you haven't realized, with KDE you don't need to "rip" CDs anymore or specialized programs: You insert your audio CD, go to the directory you want, you copy the files you want to have with your mouse, paste them, and the audiocd KIOslave automatically will  rips those tracks for you. The "full CD" directory contains files with the name of the album ending in .mp3/.ogg/etc, and "information" contains the CDDB info. It's as simple as that. No "rippers", no extra user interaction involved (can you speak "usability"?), no need to run extra programs, nothing, stop breaking your head: KDE does everything for you. I hope someone writes a girlfriend:/ KIOslave some day.






KDE wallpaper

This is a screenshot of the process which happens when you press the "get more wallpapers" in the wallpaper configuration: The app downloads a list of wallpapers from the internet (I agree that seeing the I/O dialogs is not very nice but it just takes a few seconds) and it shows you the following screen. (I had to remove the wallpaper to make the image smaller, stop bitching)




KDE Wallpaper

Yes, that's exactly what happens. The "get more wallpapers" button takes you to this screen, where you have a continually updated list of available wallpapers. As you see, you just need to select the wallpaper and click "Install" - no need to download anything by hand and then search it through your file manager.





kioslave in khtml

This is yet another example of Kioslaves. In many web pages you have a form which allow you to upload files for whatever purpose. Some times, what you want to upload is something that it's in another web page. So you have to download it first by hand, and then set the form field to a file in your hard disk. KIOslaves saves you time: In konqueror, you can put an URL in those forms. And when you click upload, KIOslaves will download that URL to a temporary storage (after you confirm it in the dialog you see in the screen) and automatically sets internally the correct file path and automatically uploads it.






man KIOslave

There's a KIOslave for man, too - as you see, it even features autocompletion. Forget about having to switch to a terminal or using special help apps. There're KIOs for pop3, imap, perldoc, pydoc, mbox, tar, smtp, fonts, finger, ssh...





ftp KIOslave

This is a example of the FTP KIO. I pressed Shift + Control + L (to "split" the screen, which may look "unusable" but it's very useful) and I wrote "ftp://ftp.teleline.es", and wrote my user name and password. This way, I have my local disk at left and my remote FTP site at right, allowing me to upload and syncronize this document. No need to use a "special app" for FTP. No need to go to the command line. Just drag and drop (notice that KDE is smart enought for not trying to render thumbnails from a remote site, although you certainly can enable it in the configuration). Another good example of network transparency is konserve, a backup program which can use network transparency to put the backups wherever you want (a FTP site, a SSH account..)





Camera KIOSlave

This is the camera configuration. Cameras supported by libgphoto are supported, and system:/media/camera will show the photos. Again, no special programs needed.




More Kparts:


konqueror overwrite

This is another Kparts example. This is what you get when you try to overwrite a file with a existing name, and the files are images.






konqueror overwrite music

...and obviously, this is what you get when you try to overwrite a song. Neat, isn't it? (I wonder when other theorically superior operative systems will start doing things like this). I've not been able to do the something for video, I don't know if it doesn't support it or there's some error in my configuration, but you get the idea: Thanks to kparts, adding it won't mean rewriting konqueror.






Ksysguard taskbar

This may not look very interesting: Yet another system monitor, right?

Ksysguard

...but the truth is that it's just another kpart. This is ksysguard, which allows you to monitor your system. And as you see, it can monitor lots of things. And every entry in that menu can be put in the taskbar. This means the previous screenshot was not Yet Another Monitor which only monitors the CPU and memory usage. The previous screenshot was measuring the number of interruptions per second, the number of context switches per second and the load average.





Kdevelop kparts

Yet another example of Kparts. This is kdevelop, a powerful IDE (many KDE users don't seem to like it, though - you know, the "vim vs emacs" disease). Anyway, this is a good example of how Kparts can help even to power users. Here you see a .c file, and a Konsole kpart running the epic4 IRC client in irc.freenode#kde-devel. At the same time, I search in the documentation for information related with the netlink linux kernel feature, but thanks to the khtml kpart I can do all this (and more) inside kdevelop without needing to switch tasks. Again, this screenshot makes kdevelop look crap because of the size, sorry.




Various:


Kword regexp

With the ocassion of the billionth second of the Unix time, Rob Pike - coauthor of the wonderful Plan 9 operative system - wrote a paper called "The good, the Bad and the Ugly: The Unix legacy" where he critized some Unix failures (some of those being design failures still not fixed by Linux/Solaris/*BSD, although it looks we're getting per-process name spaces in Linux and we already have the 9P protocol and FUSE), where he said: "Then think about regular expressions: One of Unix’s greatest contributions; unused outside. Almost no visibility beyond the Unix community! Does your web browser’s Find command use regexps? Why not?"

As you see, KDE is trying to fix some of those failures (KIOslaves are, after all, a way to recognize than Plan9 file-oriented network-transparent servers were a great idea). When you press the "edit" button, a graphical regexp editor will appear on your screen. And by the way, I took this screenshot in Kword, but the fact is that regexp search is available in kate or konqueror aswell. Being object-oriented (truly object oriented, not just an emulation), the feature can be used across all the apps that need it easily.

You may argue that a regexp search is against usability since normal users or even semi advanced users don't know regexps, and you'd be probably right. You may also argue that a firefox-like search is better than showing a window, and I'd agree. But I also could tell you that using regular expressions in a big document is a good thing, and you'd need to agree with me, unless you're an idiot or you have never used regular expressions.




Print dialog

By the way, did I tell that inside KDE you can print anything to a PDF file? (yes, cups can do it too) Also, take a look at this nice C++ code to see how Qt 4.x will make this much easier (yes, Cairo too).





kdesktop Icon Selector

This is the KDE's icon selector. May be this is just me but I find it much more usable than most of the alternatives in other OSes.





Kcontrol kompmgr

Have you heard about Composite and Damage? Recent X.org versions have implemented the neccesary technology to implement a "composited" desktop - part of what Mac OS X has - which allows X.org to draw transparencies, etc. Maybe you've tried xcompmgr in the past and it was slow. This has been improved in X.org 7.0 with EXA; a new acceleration architectures which replaces XAA. It's much faster, and drivesr which implement EXA feel "usable" now.

What you see in the screen shot is the Composite configuration. Kwin has already integrated some code from xcompmgr. Unlike what happens if you run xcompmgr alone, the integration done with kwin allows to kwin to take the "composite" decisions in reaction to window manager actions: For a time, for example, I used to set the unactive windows as transparents and the active windows as opaque, but you can configure many other things aswell.




Another example of integration is Kwallet: KWallet is a system which allows you to store all your passwords and other sensitive information. This can be used by other KDE apps to manage all those info in a centralize way. K3B, lots of apps... there's no room for everything. That's everything for now. I hope you liked it. I wrote this document to tell everybody why KDE is great, why it's worth of using (great funcionality), supporting (great development platform) and hacking (great design), why it's far from dead and why you can expect many other awesome features from KDE 4.





PD: Thanks to fromoze and Hugo for their suggestions ;)


Diego Calleja <diegocg@teleline.es>
(and some tidy love)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-30 15:47:36 | 显示全部楼层
jhuangjiahua,呵呵,贴的辛苦了。
回复 支持 反对

使用道具 举报

发表于 2005-12-30 17:55:02 | 显示全部楼层
在用gnome,很好,在我的机子上kde很慢,别人的我就不知道了,呵呵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表