Itty Bitty Things
True confession: I love my Mozilla mail filter panel.(For non-mozilla users,
this is the ever-present textfield that filters my message
headers as I type, making it so very easy to find messages quickly).
I'm also wildly fond of browser smart-fields that use auto-complete to
recall my userid/password at the umpteen different websites where
my memory always shorts. Auto-complete in general has changed my life.
Itty bitty things make such a difference - nuggets of gold
that seem so obvious in hindsight that we wonder how UIs ever
existed without them. These are examples of usability features
that help reduce what I call the "fuss-factor" in software, which is
that intangible time spent around the edges of tasks, quietly
accumulating, hard to measure, but adding up in the long run.
System admin, virus warfare, and lengthy install wizards are a few
examples of the fuss that remains in software. But also fitting this bill are
the more subtle quirks that cause an unnecessary context switch or
pause in the natural flow, like having to bring up a heavy search
dialog to find something, or using HTML applications
that refresh the page on every mouse click. (Please - give me real-time sort,
search, and filter of my rottentomatoes movie lists!). You'd think software could make smarter use
of the 2.3GHz sitting in our laps.
Just imagine if corporations accounted for this fuss-factor in their
"total cost of ownership" assessment of software. It just might
change the purchasing habits of IT departments everywhere, now
wouldn't it? Why is it that extreme degrees of usability are
often relegated to the "consumer" market? No human being from
my mother-in-law to James Gosling wants to waste time fussing at
anything but the definitive task at hand, be it viewing grandchild
photos or a little friendly mudslinging. Being
technical or not has nothing to do with it.
I recently googled "usability" and was delivered straight into
the hands of Dr. Jakob Nielsen at useit.com. This
turns out to be a rare source of information (some for
free, some for fee) on how usability impacts return on investment.
He focuses largely on the web, but his meta-message applies to
user-experience in general and, unbeknownst to many, once upon a time
he worked at Sun.
So if common sense (wastedTime == lostMoney) isn't enough, the data
is there for those willing to confront it.
Our challenge in the Java platform group is to make it
radically easier to build usable (less-fussy) client applications.
And here is where I weave a tie-in to my current project...
Java Desktop Network Components (JDNC) is all about simplifying
the task of building and deploying rich Java desktop clients that deliver an
exceptional end-user experience. We do this by providing
high-level UI components with built-in networking smarts, great visuals,
and usability features (like a filtering and other itty bitty things). On top of these
Java components is an XML configuration layer for easy construction.
We introduced JDNC at JavaOne 03 and have been working steadily
since to produce a bag of useful bits worthy of evolution in the open
source community. We hired ourselves a 3-year XML veteran to ensure
we do the XML part justice (thankfully the schema has evolved since I
wrote the original JDNC whitepaper). We've been quiet because we've been busy.
I just remembered another usability diamond of mine:
Alt-tab (for navigating active windows) - the single feature that
transformed me into a laptop-only woman, having kissed the mouse goodbye.