Showing posts with label user-interface. Show all posts
Showing posts with label user-interface. Show all posts

Monday, February 26, 2007

Screenshots of my Windows XP desktop

Earlier I talked about how I customized my Linux desktop to look like Vista. Recently, I found a theme that brings me closer to what I want: A LunaQQ theme with Vista buttons. Currently my screen looks like this using the "Vista Inspirat" theme. Here is how my desktop generally used to look with the Luna QQ theme. Overall I like the modifications done by the "Vista Inspirat" over the other Vista based themes I have seen that copy almost every single widget of Vista thickness and all. Vista Inspirat uses a noticeably thinner task bar compared to Vista. It is similar to that of LunaQQ actually. Along with that it uses the Vista style minimize, maximize and open buttons. Now here are a list of improvements I wish someone can make to the "Vista Inspirat" theme.

  • Darker borders for the active window. Currently its hard to distinguish between active and incative windows in this theme, they are both bright.
  • Either get rid of the photo on the Start menu, or change the fonts and move things around so my name would actually fit.
  • I think it could stand to lose a couple more pixels on the top of the window. The top border looks a bit on the thick side.
  • Remove the rounded corners at the bottom part of the window, that would probably getr rid of a few more pixels at the bottom part of the window.
  • Make the start button a tad bit smaller, I don't mean make it like KDE which is the size of one icon, but no more than 3 icon sizes. It looks like its about 3 1/2 to 4 icons in size.
  • Make it available in blue, I like blue :)

Friday, February 16, 2007

Ubuntu still looks ugly. Vista or Mac OSX need not worry.

Actually its not fair to say Ubuntu. It should be "Gnome" and "KDE" look ugly (but more Gnome is just fuglier). I am talking about the default out of the box configurations and not something customized to the extreme with Beryl and Emerald. Whenever I try out a new Linux one of the first things I try to get working is Beryl just so I can get the non-GPLed themes and use "Visa smoked glass" which is the best looking that is legible Vista like theme. Then tweak all the shortcuts to make it make sense for me. Using Beryl gives me that choice, but Beryl is not instantly setup with any Linux I have tried as of yet. Maybe in a year or so the top Linux distros would have caught up to something that would match what Vista comes out of the box. Although I would've preferred LunaQQ with the vista like close buttons. But in the end I got this However, I think it would be a while before we get some form of consistency with the applications because of this stupid KDE/QT vs Gnome/GTK choice we have to deal with. In KDE's defense, I don't think they are far off from good user interface design. Their defaults may suck as much as Gnome, but the first thing they ask is what you would prefer (which I choose Windows since that is what I am used to). Gnome doesn't give you that option or at least not that easily. I'd rather drop Gnome and use KDE for my apps, unfortunately Eclipse and Firefox (with StumbleUpon) are Gnome based. This is the same stupidity I find with SWT vs Swing. I wish that SWT just get merged with the JDK already and make Swing just use the SWT widgets at the same time getting rid of the theming thing. I'm all for Java, but seeing OpenOffice have their fonts anti-aliased using the old way rather than the sub-pixel smoothing method really irks me. I like consistency in my interface. I didn't like the Borland widgets when they came out with it and MS Office with their different fangled menus and Eclipse and FireFox themes (fortunately their default pulls a lot from the desktop environment theme already). Anyway back to Linux or more specifically X. Some all knowing wise guy up there decided that X should define mechanism and not policy. Nice goal, but now we have toolkits coming out left right and center. Maybe if Xt was more usable and portable. I mean how many different kinds of buttons/scroll bars would we need to see? Plus "Sans" is still one of the worst fonts ever for people with lower resolutions or who want to have as much stuff on the screen as possible. Its too bloody wide and you don't get the full CJK fonts. On Windows Tahoma is better, but Segoe UI of Vista is so much better and on XP you get CJK things rendering correctly for your file names and not boxes with hex values. I can't remember if it was GTK or QT that had this problem, but drop down boxes are not available to keyboard users (meaning you cannot tab to it). Lots of the applications I used in Linux have no sense of tab order sometimes. I think it was Evolution that had one of the more demented tab ordering for their contacts. Also aside from Mandriva, none of Mint, Ubuntu, PCBSD and FreeBSD set my monitor which is 1680x1050 correctly in xorg.conf. Yah I can do it manually, but that comes with experience of using Linux and X since Slackware was the only distribution out there. The package system on any distribution I have used all have potential flaws when you want to deviate from the norm. Especially since not everyone makes .deb or .rpm for every distro out there. (Choice presents this problem), the only choice you may have is to compile things yourself. And if you do something as large as KDE on Mandriva, you may break too many things (like I did) and just start over from scratch again (like I did, but at least I got to try Mint because of it). At least with Windows and Mac its not much of a moving target for device makers as well. Windows may need to deal with installation of drivers while mac doesn't as much, but at least the drivers and support software are more likely to be available and tested well than it would be for Linux. Case in point, my Nokia 6230i cell phone. After a lot of googling I finally got it to be recognized over bluetooth and gnokii can get some data off the cell phone. But there is no sync facility yet that works correctly at least in the released versions. In Windows, all I have to do is install the code bloat of a software known as PC Suite. In a Mac I just make my phone discoverable and let the Mac find it and Calendar and Addressbook just syncs up correctly. And then you get these Linux fanboys that just say get a new cell phone. "No thank you very much, I'll just stick and recommend that people use the OS that comes with their system which is usually Windows or MacOS". They already paid for it anyway. Using Linux has a cost, its not money (unless you buy Mandriva PowerPack), but time. Setting up Windows may take a whole 30 minutes plus another 30 for Office and another hour to download the updates, but Linux takes 30 minutes to install everything and an hour to get Beryl or some nice window manager working, and about 3 hours configuring things to get things just right. Macs are just happy out of the box, but they do cost a lot (so I don't have one for myself, my wife does have one), and I can fix things in Windows if I have to, Linux as well, but with more time. read more | digg story

Thursday, February 15, 2007

Input context efficiency

Input context efficiency is a qualitative metric on how long before a user's hand switches to a different device. It is a term I coined up, I am not sure if it is used anywhere else (and it is not in Google at the time of writing this article). I alluded to this on my KDE vs everything else rant.

Why is this important?

Efficiency, accessibility, and recovery.

As a user gets familiar with a user interface, more efficient users would look for shortcuts to reduce the amount of mouse clicks or typing they would need to do. The more that can be done with one device, the better the metric.

By allowing more to be done from many devices, we make the application more accessible to more people. Some people may be able to use the keyboard, but not the mouse. Some people might only have one hand. And some might not have any hands. However, this metric is limited to input accessibility not output such as screen or text to speech.

Sometimes our input devices fail or can't get recognized. For example, you wireless mouse runs out of batteries, but you still need to work with the system. If you can do everything that you need on the keyboard (although slower since there is stuff to learn) then at least you can get your job done.

What should be done by the mouse and what should be done by the keyboard?

The mouse is a pointing device, so the action that is best done by a mouse is to actually point at some arbitrary location on the screen.

The keyboard is a typing device, so the action that is best done by a keyboard is to type in text.

How would I quantify this metric?

You can quantify how many actions can be performed on one device but not the other, or requires both devices. That would give you a number to go with. Of course two things that should be ignored are "pointing" on the keyboard and "typing" on the mouse since that does not make any sense. Although you can put that in your metric, but your target would be 1 (unless you really work hard).

In order to save time, its best to just measure two metrics what can be done on the mouse alone that cannot be done on the keyboard and what can be done with a mouse and keyboard that cannot be done by the mouse alone. Those two metrics show how efficient you can be with just the keyboard and the mouse alone, which is the most useful metrics you would get with regards to efficiency.

Another metric that should be measured is how easy is it to figure out all the shortcuts? This metric is pretty simple to calculate anyway as most systems only require one step to do a major portion of the shortcuts and that is to display the menu bar which should list down the hotkeys.

What about other input devices?

You can measure the same metrics with other input devices such as voice input, eye tracking devices, touch screens. Having support for more devices increases accessibility of your application to more people who may be disabled.

What system provides the best metric?

Microsoft Windows and most (if not all) Microsoft applications would have the best metric if it were ever calculated. I think Internet Explorer 1.0 is the only Microsoft application that I really needed a mouse for.

In Windows, window management functions are accessible through the keyboard using Alt-Space to bring up the window menu.

Drag and drop operations which are normally the domain of the mouse can be done through copy and paste keys from the keyboard.

If the keyboard does not work, we have "charmap" or a software keyboard to help us type in case of such emergencies.

Some keyboard and mouse combinations such as holding down control, then drag and drop a file to copy can be done with just the mouse alone. This is done by dragging and dropping with the right mouse button, upon a drop it brings up a popup menu to specify the drop action. To find out a major portion of the hotkeys available, Windows applications require just one key Alt or F10 which brings up the menu bar of the application. To bring up the Start menu, it is just the Window key. Unfortunately, there is no way to figure out the Window key shortcuts unless you search the help, read books or Google, but those are more advanced shortcuts so its no big deal.

What system provides the worst metric?

The failsafe X window system provides the worst metric. Without the mouse you won't be able to select the xterm and you're stuck. Unless the X server provides a way of emulating the mouse through the keyboard. Mind you this is not the norm, we have a lot of Window Managers that allow the user to hotkey everything related to window management. GTK is probably the worst one I have used when it comes to the popular toolkits for Linux (so not including Xt or CDE or Motif). I find that I need to switch between keyboard and the mouse quite often because some widgets such as the combo box cannot be focused using just the keyboard alone on some GTK applications. In GTK or KDE you have F10 to bring up the menu which is great. Unfortunately, it does not span to the window management. So if you press left on the first menu entry, it does not go to the Window managment menu.

What about the Mac?

I haven't use the Mac much so I haven't figured out all the keyboard shortcuts yet. However, with the notion of a one button mouse, a lot things operations that deviate from the norm such as copying files rather than moving require pressing something on the keyboard. So users would have one hand on the mouse and one hand on the keyboard. So if you get into an accident and one arm is in a cast, tough luck if you need to perform operations that would require two hands available. I also haven't found a way of going to the menu bar without the mouse using a single keyboard press, I am pretty sure there should be one, just haven't found it yet. Fortunately Macs now support the right mouse button if you have an external mouse (too bad MacBooks only have one button for the trackpad).

Conclusion

There are a lot of literature and metrics out there regarding how to make user interfaces as easy to use as possible for newbies. However, this metric is not targeted for newbies but normal and power users of the system. From my experience:
  • Microsoft is the leader when it comes to this metric,
  • Apple may be a close second (need more time to use it),
  • QT on X does most of it quite well, except it does not go into the Window manager (mind you I am using Emerald). This is number 3 out of 4.
  • GTK on X based applications are the worst.

Wednesday, February 14, 2007

KDE vs Gnome (and Apple and Windows)

"I like KDE! " There I said it. But I don't use it. Why? The same reason I won't get a PS3 or PSP or almost any new console at launch date. There is nothing to play on it. Actually lets be honest, there are a lot of applications for KDE. However, some of my critical applications such as Firefox and Eclipse are targeted for GTK. And I find a lot more applications that I have a potential of using have a GTK based equivalent. But KDE is still better and I hope more applications go for it. Why? well here's the run down.

FeatureKDEGnomeWindowsApple
CustomizabilityVery customizable without dealing with things that are available in the menus. More consistent than Gnome. I can make KDE work like a Mac or Windows machine so the transition to KDE is much easier than that of Gnome. More customizable than that of Apple and Windows. However, a lot of things are very difficult to do compared to KDE. Even something as simple as periodic wallpaper changing is outside the DE and the current wallpaper-tray in the repositories are so buggy you need gconf-editor to add directories to it. Not very, but there are some hacks to put in unsigned VS and excellent themes for it. Although most of it is extra, the stuff I use are free and easy enough to use and install. Not very much at all. Although I haven't looked too far for it.
Registry Not really sure, I never had to look for it in KDE. You use gconf-editor to have something like a registry for Gnome applications. The Windows registry is something that people complain about, but Gnome has its own as well which looks like a big mess when I see it as well. So don't tell me about registry bloat. Ya registry bloat. yada, yada, yada, blah, blah blah. Just install the user profile hive cleanup service if you have a genuine Windows XP and you'd be fine. Same as KDE I am not sure how it works, but I never needed to look for it.
UI Performance (inside the window, so not counting Beryl) Slower than Windows and the Mac. This is the general flaw in almost any X application. Slower than Windows and the Mac. This is the general flaw in almost any X application. Normal. A lot of widgets are drawn by the core libraries rather than the application process themselves I find. Quite responsive.
Default shortcuts KDE allows me to change the shortcuts to match whatever environment I used last. So I find it okay. The defaults are relatively the same as Gnome. I haven't seen the option to use an established shortcut scheme for Gnome and I don't like the defaults. How does Alt-F2 represent "RUN"? Makes a lot of sense (for English speaking people at least). Win-R for Run Win-D for Show Desktop F1 for help has been quite established now. Ctrl-X,C,V copied from the Mac but makes a lot of sense. Application level shortcuts do make a lot of sense. So much so that other OSes steal them. But on OS X, the function key rows just don't make any sense what so ever. How is F6 (or whatever it is) representative of show desktop?
Hot key customization Quite good, especially with Beryl. I customized the hotkeys so they make more sense to me. Quite good, especially with Beryl. I customized the hotkeys so they make more sense to me. If I have to change things I may need some external utility. But since the shortcuts make sense to me in general I never needed to. I have no clue how, but I am pretty sure there should be a way.
Desktop widgets Couldn't get superkaramba working when I was using a KDE based installation. gDesklets are slow, ugly, unstable and sometimes US centric. Google Desktop is okay. Yahoo Widgets have a lot more to choose from, which also means a lot of crap to plow through. The ones I have seen look really nice. And the management interface is well done.
StumbleUpon in the common web browsers (my favorite extension of all time) Not available for Konqueror. Firefox has it and works well. Firefox and IE have it. Not available for Safari. But at least Firefox pulls UI elements from the DE.
Eye candy Out of the box, you get support for different wallpapers per desktop. Out of the box, it looks like crap. All you can do is some changes for the visual styles, but you can't do much things on the desktop side without going through gconf Out of the box really looks like crap. Thankfully that is easy to change with the VS patch. Out of the box, looks like white everywhere.
Input context efficiency. (For lack of a better term, this is a metric I like to measure UI designs on. Basically it is how long before I switch between a keyboard and a mouse) I can't say I tried much. So I won't comment on this one for KDE. So so. I found that my hand did switch quite a lot from keyboard to mouse. But that's probably because I don't know much of the shortcuts yet. However, I did find that my left hand was always resting at the keyboard. Excellent. Most of the things you can do on the mouse (with the exception of pointing) can be done on the keyboard. And most of the things you can do on the keyboard (except for typing) is available on the mouse. Poor. Yah I might not know all the shortcuts yet, but I find myself at a loss trying to do file drag and drop with the keyboard. Having only one button pointing device you don't get the privilege of having a popup menu when you drop. Then you'd need to remember what all the possible modifiers you have to deal with to copy or move or make an alias to a file. And this is because some UI guy thought that two buttons are too difficult for most people.
My impression on developer attitude KDE development seems to be more open to many UI concepts. Although it is time permitting. The side effect of this is the sheer volume of options a user has which can be a good or bad thing depending on who is touching the keyboard. I prefer this one since I am more of a power user, but at the same time when I am new to the system, I am not too keen on going through the registry to do configurations. Although they do seem quite attached to KHTML. Arrogant people who think they know UI design. They think they are catering to the lowest common denominator, but what they do is really alienate the people that know what they are doing and what they want. They also seem to think in a more lab/university environment rather than real world situations. Hence, the lowest common denominator tends to be more inept with computers than normal. They want people to adapt to their way of thinking rather than the other way around. Unfortunately, for experienced users we are forced to dumb ourselves down to the DE rather than the DE smartening itself up for us. This is shown by how difficult it is to make any changes. See Gnome. However, there are a lot of free applications that can tweak the UI (sometimes even provided by Microsoft) to make it work the way the user would want it. Also in Windows there are quite a number of ways of doing things. Even old ways that some people might've forgetten about such as Ctrl-Ins for copy. Or right click drag to open a context menu of drag target options. See Gnome. period