|
Initial Impressions
Its a thick book. There isn't much about
the Windows APIs. MFC API calls are not much in evidence.
However, a scan through the CD Rom will show you that there is
sample MFC code, a DLL with an extended set of components. So
there is something for the programmer. In general though its a
book which assumes the reader knows how to program Windows GUI
or will have an expert do it for them.
The other first impression is the quality
and depth of the knowledge on Interaction, Navigation, Human
Interface and Usability. The author is very well read and the
book is filled with content taken from many recent authors
working in the field as well as copious references to other
material. It is also obvious that this is a book which is
operating at a higher level than many Windows GUI books which
have gone before it. In many ways, it is also better than many
recent books on Swing, in this regard.
This is a book about Interaction Design for
GUI and how to use it to improve the User Experience with GUI
Application software. It holds the usual West Coast bias to
shrink wrapped applications but that isn't necessarily bad. It
starts with a review of the state-of-the-art and several book
reviews from the recent past. It introduced me to at least one
author I didn't know but should have done. It then moves on to
talk about Style Guides. By the end of Chapter 4 much of what
is covered in earlier Windows GUI books is over and done with.
Now onto the interesting stuff.
Users
Two chapters are dedicated to the
discussion of User skill level. The first looks at Windows
widgets and the degree of complexity each poses for the User.
The second chapter looks at issues regarding Applications
versus say a suite of separate utilities. Chapter 8 moves on
to look at understanding the User, defining User types and
targeting the design at the user. This is one of the few books
on UI where the author seems to have a grasp of marketing. So
often overlooked. We are introduced to new terms Marketing
Centered Design and Vision Centered Design. Chapter 9
introduces User Goals. One of several chapters which show the
author is a fan of Alan Cooper.
Design Concepts
The section on design starts to bring out
McKay's own work and opinions. Good interfaces are visible!
Hmmm. Others have sought to make them invisible. However, he
goes on to qualify what he means and tries to introduce some
science to the measure of "intuitive" interface. He
then starts to walk us through components showing how Windows
widgets can be used or improved to make the interface more
intuitive. This is important work and has validity for Swing
developers too. As the techniques presented are easy to do
with Swing too. Things such as checkboxes embedded into lists
rather than using a multi-selection list. The latter is less
intuitive as it requires more advanced knowledge of the GUI
standard being used. Really nice stuff this! Rather cheekily
McKay's next Chapter is all about Good interfaces are
invisible. Ah ha! You will have read a lot of this before from
Cooper or Tog but if you haven't then this is a very adequate
treatment on when its not appropriate to stick a Dialog into
the User's face.
Chapter 12 is intriguingly titled, "Learn
from the Design of Everyday Things". Here we are walked
through the lessons from Don Norman's classic book. Again some
this has been seen in other places e.g. Theo Mandel's,
Elements of User Interface Design or Laura Arlov's GUI Design
for Dummies but this was a really explicit attempt to
demonstrate that Don Norman had more to offer than aligning
his light switches intuitively. I also like the all too brief
review of the different iterations of the Windows GUI and how
they measure up.
The book gets right up to date in Chapter
13 with "Learn from the Web". McKay looks at how
restrictions in HTML caused innovation in UI Design. Things
like single window, no MDI, no Dialog boxes, Single Click
interface, Simplified Navigation. The one I felt that he
missed was flatter look and feel. Reflecting a slight weakness
in the book overall - visual communication. It is so strong in
other areas that this is a minor criticism.
Chapter 14 looks at Prototyping. It points
out a few of the pitfalls of high fidelity prototypes and
introduces the notion of Prototyping by example. This
technique is very similar to my own UI Modeling approach and
McKay introduces the notion of re-use of patterns of
Navigation and Interaction at least in an informal manner.
The Design section concludes with a chapter
entitled "Keep it simple" which is actually a
passable Widget Usage Guidelines piece.
Getting Detailed
There follows 9 chapters on detailed design
topics looking at standard vs. custom controls, direct
manipulation, default settings and when they are appropriate,
configurability and when its appropriate, previews, tooltips
and then a section on modality such as Dialog boxes and
Repetitive Tasks. I particularly liked the techniques for
eliminating dialog boxes using browser style navigation
layouts. McKay has documented some stuff which I intended to
present as patterns white papers. He finishes up with a whole
chapter on why Speed is important. So true.
Testing and Quality
12 short Chapters packed with heuristics
about finding fault with your design and implementation and
how to learn from your mistakes. Refactoring is really trendy
with the software developers these days. Learn to refactor
your UI with this advice. This is not a particularly formal
approach to Usability or any attempt at a Quality Process or
formal methodology. This section like the rest of the book is
firmly rooted in pragmatism. In many ways, it reminds me of
Laura Arlov's GUI Design for Dummies which it references
extensively.
Summary
Everett McKay has written a good book which
is a considerable improvement on other Windows specific books
which have gone before. It sits at a much higher level of UI
Design and seeks to develop methods and techniques in
improving User Experience, general Navigation and Interaction
Design. Despite its Microsoft patronage, this is a book which
has value to add to the design of any GUI applications and
those seeking a general book on improved Interaction Design
for Swing or Mac or Linux / X-Windows applications could do a
lot worse than read this book.
The cover is misleading and the title is a
misnomer. The book isn't about Development, its about Design.
It isn't about User Interface so much, but, User Interaction
instead! Finally, its not much about Microsoft Windows either.
You might have expected Microsoft to release a clutch of books
heralding the next generation Windows 2000. Well this
certainly isn't one of them.
It sits in the gap between methodology
books such as Deborah Mayhew's, Usability Engineering
Lifecycle and style guide books such as Galitz, The Essential
Guide to User Interface Design.
McKay is evidently an experienced, well
read and thoughtful author. This thick book must have taken a
great deal of effort. It represents best of breed techniques
for much of what is known and understood. It hints at some
newer areas of research such as patterns for prototypes. It
will teach you what should be visible, how to make the rest
invisible and how to prevent add the unnecessary evil. Windows
needed this book 5 years ago! Perhaps even earlier in order
that the developers had time to read it. I wonder if its been
required reading at Microsoft this past few months?
Recommendation
5/5 - A really good teaching book for GUI
Interaction Design. Fills a gap between grandiose methodology
books and lower level style guides. Such a pity that it comes
so late. Microsoft finally shutting the stable door, after
the application horse has bolted!
BUY
IT from Amazon...
|