[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-usability
Subject:    KDE Usability: Ideas, opinions and rants
From:       Pandurang Rao <pandu_rao () yahoo ! com>
Date:       2001-07-30 3:55:38
[Download RAW message or body]

Hello everybody,
	I've been using KDE since its early days and have
seen it grow to become the best desktop out there. 
	However, there's a lot more work to be done in the
area of usability. I've put together a few of my
thoughts in the area of usability.
	I'd like to discuss the feasibility/practicality and
general foolhardiness of the ideas.
	Here's looking up to a great desktop and its luminous
feature! :-))

Best regards,
Pandu Rao


KDE Usability: Ideas, opinions and rants


What it is
{
		#A desktop environment provides windows and widgets,
with keyboard and mouse access to every underlying
function. This is the primary aim of the desktop
environment.
}


What it is not
{
		#A desktop environment is an accessor; not a
simplifier. i.e. It allows users to execute every
available function. It does not not create the
illusion of a simplified environment.
}


Usability is affected by the following factors:
Flexibility, Predictability, customize-ability

Flexibility
{
		#A flexible desktop is a natural visual-extension of
the underlying UNIX operating system. For example,
when I bought a Logitech Internet Keyboard, it was a
trivial task for me to map the special keys to common
KDE functions(via Xmodmap). In Windows however, I had
to install special keyboard drivers from Logitech. 

		#The people at KDE employed the flexibility
inherited from the creators of UNIX and X. This is
good practice and must be continued.
}

Predictability
{
		#Users quickly acquaint themselves with predictable
environments. If a method works and works well and is
well liked by users, it should not be changed unless
the new method is vastly superior to the old and/or
demanded by the users. e.g. single mouse-click to
select an icon, double-click to launch the associated
application. 

		#A standard complex interface is better than a
convoluted simple one. e.g. In their thirst for
simplification Microsoft hid all but the most used
menu options in Windows 2000. This menu simplification
is seen even when the administrators logs on!

		#Users will acquire dexterity through repeated use.
I suggest that the user interface be logical, thereby
predictable. The effort on the users part to learn
interface concepts will pay off in terms of
productivity(as demonstrated by advanced command line
users).
}

Customize-ability
{
		#An important feature of a powerful desktop
environment. A customize-able desktop environment
increases productivity(e.g. customize-able keyboard
shortcuts) and the quality of the experience(changing
fonts, icons, and wallpapers). The customize-ability
of the UNIX command line environment must be extended
to the desktop environment. The desktop environment
must allow the users to select alternate widgets. e.g.
Tabs allow for the logical grouping of controls, but
inadvertently conceal many of the functions provided.
In many cases it easier to access the functions if
they're all presented in a single scrollable page,
with lines demarcating the logical groups. This is
seen in Lotus Notes. To make navigation easier- in
case of a very long page- we could provide a tree
control on the left.

		#KDE comes very close to delivering all the
customize-ability that one expects from a DE. A little
more effort in this direction would wrap things up
quite nicely.


		Portability
		{
				#A user must be able to copy his .kde directory or
home directory to another machine and every aspect of
the user's environment must be recreated on the new
machine. I think this is already possible, I'm not
sure though.
				
				#Its a good idea to store the user's document
templates, spreadsheet templates
		}
}

Feature levels and versioning
{
		#Feature levels are a way of classifying features.
Some features form the core of the functionality e.g.
Keyboard shortcuts, KMenu and Kicker. Other features
such as animation fall under the full featured desktop
environment. This feature would make KDE the ideal
desktop for laptop use.

		#Features may be classified as follows:
		-Lightweight
		-Basic
		-Full featured

		Feature versioning
		{
				#Each release of KDE comes with bug fixes, plus
new features or minus others. Even though these come
bundled in a single release, the user must not be
given an all or nothing option. Users may want the bug
fixes but may be comfortable with features of the
older release. And the older way could actually be
better than the newer way. For example, in Windows 98
Explorer, there was a cycle-through-views button/menu.
Clicking the button repeated cycled through icon, list
and detail views or the user could drop down the menu
and select icon, list or detail view. I only used the
cycle click method. With Windows 2000 Microsoft
completely got rid of the button/menu and replaced it
with a menu. No more quick cycling of views (Some
people prefer three quick clicks to one
click-and-hunt-menu-item). An older, useful feature
gone.
		}
}


Intuitiveness
{
		#Intuitiveness is overrated. Its a desktop
environment. Not a mind-reading device. If I want to
save a .jpg file I don't want the default directory to
be "My pictures". 

}

Complexity shielding
{
		#This is an error committed by the folks at Redmond.
This attempt at simplification takes away much of the
power from a desktop environment. e.g The usability
experts at Microsoft felt that file extensions confuse
the novice user. So they hid the file extension by
default. Today, novice users run untrusted executables
disguised as documents.
}


Icons
{
		#Can increase or decrease the appeal of a desktop
environment. Too few icons can make a desktop look
drab and too many can make it sluggish. Users must be
able to toggle icon usage for applications. KDE 2
Konsole lets users toggle icons for the many terminal
sessions it displays.

		#Icons can convey different meanings to people of
different cultures. I suggest icon localization as a
means of overcoming this.

		Iconset
		{
				#The same icon in multiple sizes, multiple color
depths, etc.
		}

		One iconset per application
		{
				#Each application will use its associated icon.
The icon used will be one from the iconset that's most
appropriate. e.g. if a 16x16 icon is required the
application will use the 16x16 icon with the maximum
color depth possible or a color depth permitted by the
user.

		}

		One iconset per class of formats/MIME content
		{
				#If a file has no associated application, the
desktop environment will use one based on the MIME
content of the file.

		}

		#Devices such as cdroms, floppy drives get their own
iconsets.

		#Most of what I've suggested here is probably
already being employed in KDE. This sections rounds up
my ideas about icons.
}

Dialog boxes
{
		#Yes, No and Cancel buttons must be selectable by Y,
N and Esc keys respectively. Y and N shoud be
underlined to indicate this.
		#OK and Cancel buttons must be selectable by Enter
and Esc keys respectively.
}

Animation
{
		#Window/widget animation is good when intended to
provide valuable feeback. This must be entirely
optional since it consumes processor cycles and the
user may wish to use these cycles elsewhere. For
example, Windows Explorer animates every copy
operation with a sheet of paper flying from one
"folder" to another. There is nary an option to turn
of this kind of "inanemation".

}

Installation scripts
{
		#Must offer a pre installation report as follows:
		The following files will be added to your system.
Sortable by directories, permissions, size, etc.

		#All questions that need to be answered must be
presented upfront. Allowing a user to generate a
single "answer file". The install script then proceeds
with the installation and gets its answers from the
answer file.

		#Wizard based installation scripts such as Install
shield are downright frustrating.
}

Tabs
{
		#Tab widgets must be standardized. Tab labels should
not have shortcut keys. Control PageUp/PageDown must
allow the user to cycle through tabs. 
}

Optimized widgets
{
		#Lightweight widgets are important. e.g. If 2D
widgets consume less resources, then provide the user
with an option to use 2d widgets globally.
}

Window layout templates
{
		#WLTs are guides that define window placement.
		#An example template divides the desktop into two
panes: pane A(90% of the desktop width) and pane
B(10%). 

		#Pane A is for major applications, pane B is for
minor applications. Each pane is made up of stacked
multiple layers such as Konsole layer, Konqueror layer
and so on. The Konsole layer defines the size and
position of a the Konsole windows launched by the
user.

		#Pane B is reserved for minor applications such as
reminders, imporant system messages, calendars, notes,
etc. i.e. Reminders always show up in the designated
area, system messages show up only in the designated
area. When a user selects a word in the Konqueror
running in the Major application pane A, the
dictionary applet displays the meaning in its
designated area in pane B. Another useful application
for the minor pane is to show clipboard contents in
the designated area.


-------------------------
|PANE A		|PANE B	|
-------------------------
|konqueror	|dict	|
| konsole	|	|
| emacs		|cal 	|
|		|	|
|		|	|
-------------------------

		#Applications can be maximized to occupy the width
of the major pane or full desktop width. Meaning that
pane view must be toggled on or off with just one key
stroke.

		#The layer is just a concept of dealing with layout.
Users do not see layers unless they wish to.
}

Timed windows
{
		#Some applications are ethereal. e.g. calendar,
clock, notes, etc. When the user lauches a timed
window application, the window shows up and disappears
after a fixed interval of time, say 3-4 seconds. The
use can keep the timed window alive as long as the
mouse cursor rests over it.

		#Other examples that come to mind are ping,
traceroute and so on. These applications would do well
to surface, inform the user and then terminate
themselves.

		#A timed window manager keeps track of the various
timed windows that popup and disappear so a user can
recall them if needed or relaunch a timed application.

}

Visual pipes
{
		#Self descriptive. An application that displays its
input and stores it in a temporary buffer for later
use.
		
		#Here's an example:

		Let's say I'm trying to delete files in a directory
except one

		$ls | vp:0

		the output of the ls command is piped to the visual
pipe:0
		visual pipe launches a little window numbered 0
which contains the output of the ls command
		visual pipe:0 has an editable buffer that I edit.
i.e delete the filenames from the buffer

		then go back to the shell and type
		$rm `vp:0 `

		or I could even type "rm *" in the visual pipe:0's
command line. The * wildcard resolves to all filenames
in the buffer rather than on all the filesnames in the
actual directory.
}

Navigation grid for Konqueror
{
		#One feature that's missing in every web browser out
there is the ability to navigate web pages using the
keyboard. Using the Tab key to move from widget to
widget works well in familiar screens. This concept
cannot and should not be extended to navigate web
pages. I suggest an alternative: The navigation grid.


		#The navigation grid consits of a transparent
spreadsheet-like grid superimposed upon the webpage.
Only the wire-frame of the grid is visible to the
user. This makes it very easy to navigate to specific
areas of the webpage, using the keyboard alone. Of
course, the granularity of the grid is user
controllable. The grid can be hidden or shown based on
user commands.

		#This grid makes it easy to select areas of the web
page comprising of text and/or images to mark for
printing.
		#This grid makes it easy to hide sections of
webpages that annoy users.(e.g. GIGANTIC BANNERS)

}

Miscellaneous
{
		#Menu items in the K start menu must have shortcut
keys.
		#TrueType font support is very important. A standard
set of usable TrueType fonts(Serif, Sans serif, etc.)

		#Keyboard shortcut standardization. 
        e.g. Konqueror has j,k for scroll-line-down
and scroll-line-up resp. These need to be
documented(unless, I've missed them).
}


__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
_______________________________________________
kde-usability mailing list
kde-usability@master.kde.org
http://master.kde.org/mailman/listinfo/kde-usability

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic