Another site claiming to be “The Vault” has a quick how to on setting up KDE Public File Server (aka kpf.) Kpf lets you share files with other users across a network using http. Its basically a personal web server that doesn’t require administrator rights to use and is fully manageable from your KDE desktop. The tutorial is light on information but has screen shots. Oh, and FYI yes those Max OSX looking dialogs are KDE dialogs. KDE/Kwin can be made to look like almost any desktop; OSX, Solaris, CDE, or even one from a company in the northwest United States (who shall remain unnamed.)
Category: Technology
What am I Doing Wrong?
A particularly useful KDE application when developing, testing, or debugging is kdebugdialog. It is a single dialog box that lets you turn on/off all of the various debugging, error, and stderr messages for each KDE application and each debugging level. Thankfully, the dialog includes search functionality.
KDE Tips
News Forge has a article on Tips an Tricks in KDE, covering topics like advanced kwin usage and rendering GTK+ apps with Qt. Some of the stuff they talk about I have already discussed previously. Why are people still using Gnome?
The Power of KDE
One of the most advacned development tools of any environment is KDE’s UI scripting environment (aka DCOP) and a GUI scripting tool by the name of Kommander.
Kommander may be a revolution in application development, unlike any other tool created for scripting. What Kommander does is essentially extends the power of RDE to scripting. Language support include Bash, sh, Csh, Zsh, straight DCOP, or even Javascript. linux.com has a two part series on Kommander that should be required reading for anyone who is starting to do development on the Linux/KDE platform.
What is amazing is that the bulk of execution time is actually done by the KDE application binaries themselves; meaning that Kommander applications run almost as fast as stright C++/KDE/QT apps. Peviosuly I have talked about kdialog and its uses as a GUI interface for commandline scripts. Kommander takes this functionality to the Nth power.
Couple other quick KDE tutorials are:
- Listening to Music with KsCD – A tux magazine article on KDE’s CD player.
- KMail in Depth – LinuxPlanet’s article on using KMail. One of the most powerful email clients, anywhere.
kio-kde
One of the benefits of KDE is that is has the the most powerful IO interface of any desktop environment I have ever seen. KIO allows for a pluggable interface to outside resources in a simple and powerful way. The best part about it is that is works system wide. For example, long before Windows was working on a DB file system; a enterprising KDE developer had created kio_sql. This allows every KDE application to have access to any database as if it were just part of the file system. You can open table data just like you open a test file.
One very cool KIO module is kio-locate. Locate is a system wide indexer for Unix OSes. On the command line you can type “locate bob” and it will return every file with the name bob in it INSTANTLY. Want to open your websites index.html file but you don’t remember where it is? With kio-locate you simply start your web development environment, click file->open… and in the file selection dialog type locate:index.html… and you will see every file named index.html that you have access to on the system. Its like having a file name meta data search available in every KDE application. Check out this screeny to get an idea of what I mean.
There are literally dozens of KIO interfaces for everything you can imagine. kio_rar (for access to your rar files without unrar’ing them), kio_burn (gives every KDE application drag-&-drop file burning capabilities), kio-sword (browse the bible like its a file system), and the one I use most often ipodslave (aka: kio-ipod), which gives all of my KDE applications access to my ipod (i.e. any music player can play from it, and all applications can save files to it.)
People who finish quicker than me
Remember when you were young and wanted to test how quickly you could finish Super Mario Brothers? How about Contra? Well, archive.org has a list of video’s by people beating video-games in record time. Talk about amazing. How about Half-Life beaten (hard setting) in 48 minutes! Metroid (old Nintendo edition) completed in 22 minutes! Mario Brothers (NES edition) five minutes. Metal Gear Solid (extreme mode), one hour and 18 minutes. … seriously! Watch the full video’s and be amazed!
Disk Imaging
Ghost 4 Unix (aka g2u) is a disk imaging tool for Unix OSes. Basically its a custom FreeBSD distro on a disk with local and network disk writing tools. It supports both IDE and SCSI; and work with every known x86 operating system. Work on same-to-same size disks and smaller-to-larger size disks.
DB2 and Apache
This article is particularly relevant to me lately. I have been spending a great deal of time working on our database authentication infrastructure for Apache, IBM DB2, and mod_perl. Great article that gets your DB2/Apache setup working quickly.
More on the Spacial Metaphor
This is a working draft of a direct response to John Siracusa’s article about the Spacial Finder. This resource, on one of my all-time favorite tech sites ever (my forum login dates from 1999), has been used as the reference for many a spacial interface argument. I believe its an interesting article but fundamentally flawed in a couple ways.
John’s article on ARS has been used as the definitive guide to spatiality sense he wrote the darn thing over a year ago. To this day I believe that loyal ARS reading Gnome developers made the abrupt decision to ruin their UI, based almost entirely on that article.
The “Why Spatial?” section of his document attempts to argue the virtues of the Spacial Interface by providing 4 standards of usability. But a couple of the characteristics of his standard of usability are misidentified. For example:
Ease of learning: John says that the strongest characteristic of “ease of learning” comes from its adherence to physical laws, but this is obviously not the true. Swimming is something that totally adheres to physical laws, but I still had to take swimming lessons. Simplicity is what makes for “ease of learning.” Take a wall mounted type light switch for example. People who have never used one often misunderstand what it does and is for, but once they accidentally flick-the-switch; they understand its entire functionality and almost certainly never forget how to use it. They may not know what it DOES but they certainly understand how to use it. Its seem fairly obvious when you think about it, if you want something to be easy to learn; make it very simple to use. Let me give another example. Touch-less hand driers you find in U.S. bathrooms operate via motion sensors. They defy most everyday physical laws but once a person starts trying to mess with it, they very quickly figure out how to activate/use it. Again simplicity and not adherence to physical laws makes them easy to learn.
Memorability: The article goes on to say that door knobs and light switches do not move or change on their own, making their location and operation easy to remember.. This makes a lot of sense when you first hear it but the reality of memorability is much simpler. Consistency is the key here. My best friends house has all of the light switches at hip level. They did this because they wanted the light switches to be reachable by their children when they were very young. I spent years of my life in that house but I never got used to the location of the switches. Even after I got used to reaching DOWN for the switches I would still miss the switch (on the first try) because it was such a non-consistent movement when compared to every other house I had ever been it. Not only does consistency aid in memorability but it allows you to easily transfer knowledge from one learned experience to another. To take the light switch analogy again; once a person learns how to work a light switch they can work almost an light switch they will ever run into. Just as long as those light switches are fairly similar to the one they learned on. Consistency is what makes for memorability and can be achieve in many more important ways than simply physical location.
Efficiency and Satisfaction are both admirable goals of usability but are not specific traits to the realm of spatiality. In fact simplicity and consistency are not specific to the realm of spatiality. Simplicity and consistency are traits pursued in mathematics, science, engineering, philosophy, and even religion. Usability then gets advanced by following universal rules of understanding instead of some limiting subset of spacial rules. Again, this makes a great deal of sense when you consider it. Things will be most usable if they follow rules (or models if you like) that already fit into the way we are designed to do things. This is very similar to what John Spatiality is part of those rules
Why Users Blame Bad Design
An on OSnews discusses the much complained about spatial Nautilus found in the most recent version of Gnome. The argument basically goes like this; 1) computers can be difficult for new users, 2) adding real-life-alike (their words not mine) interfaces, i.e. making things in a computer environment more like real life, helps overcome these difficulties, 3) spacial file management allows users to treat windows like actual folder “objects” making them more real-life-alike, and finally 4) this makes spacial file management easier for users to interact with.
Trying desperately to contain my disdain for the mind numbing ignorance of said spatiality; I will attempt to explain why this understanding of UI is… shale we say “flawed.”
1.) Almost everything new is difficult until you understand how to use it. Just imagine trying to explain how to drive a car to someone who has never done anything but walk. “You start off by checking your vehicle’s mirrors and buckling your safety belt. Turn the car key (assuming your car using a key) clockwise to start the car, while simultaneously applying foot pressure to the car break. Stop turning the car key once the vehicle engine begins running. Put the car in the appropriate gear for desired movement….” My 3 year old daughter prefers crayons because they are “easier” to use than pencils (darn things have those erasers, are way to thin, and you have to sharpen them for the love of GOD.)
2.) Limiting interface advantages by making them act more like other interfaces REDUCES their usability. It does not increase it. I wish my frigging TV still had a dial! Why? Because a dial is a whole lot easier to use than having to press and/or hold down a damn volume button. Dials take advantage of the users wrist movements to allow quick, easy, and accurate adjustment of object with a range of possible values. How many of you remember when Apple QuickTime had a volume dial? Seriously it had a frigging dial. Like my flexible wrist movement helps a whole lot on a dang mouse. Most users resolved to adjusting the volume by clicking on the top of the dial, pulling the mouse in a semi-round fashion, letting go of the mouse, repeat 50 frigging times.
3.) How about the spacial folder metaphor? The windows remember their placement, and each folder opened opens a new window with file placement, window sizes, and window placement all remembered. God knows I got a frigging computer because I just loved having 2500 fscking folders open at the same time on my “real” desk; moving paper from one folder to another. Now I can live this joy in the electronic age too! Hey while we are at it why don’t we remove the copy and paste functionality. There’s an entirely electronic metaphor that is simply making my life too easy. The modern computer user interface was designed to take advantage of the computer environments strengths.
4.) Things like drop-down menus, shortcuts, icons, and tree views are all electronic representations of functionality that have no real-life-alike equivalent (just imagine trying to implement a drop down menu on paper.) Tons of research and development were spent to discover UI elements that would be fairly simple to understand but would still take full advantage of the electronic environments strengths. Use our drop down menu for an example. A more real-life-alike representation would be to have a full list of all drop down menu options with a radio button beside them. But once you have taught someone how to use a drop down menu, they have little trouble using it later on. The new element is now both a space and time advantage over the more real-life-alike radio button list. The best way to make a UI that users will easily interface with is to take use the environments advantages in a consistent and user friendly way. To teach the how to use a functionally clear file manager that does not relay on old metaphors to try and gain a temporary learned advantage. To teach the person how to use the pencil; not remove the pencil eraser, make it shorter, and remove all the wood.
There is a reason that Apple, Microsoft, Sun, and Xerox all abandoned the spacial metaphor within the file manager. Steve Jobs may have said it best when he said, The problem with the spacial finder is that it causes all users to become janitors.