Newsgroups: comp.os.ms-windows.advocacy


Ok things have been quiet for a while. Here goes...

Isn't it about time MS came out with some UI guidelines?
========================================================

Yes, I have seen the new MS User Interface Guidelines. It is because
of these that I am posting this note.

New applications tend to have a number of features in common:
	-Toolbars
	-3D look
	-OLE
	-Drag and Drop
With Visual Basic making it cheap and easy to write Windows Apps, a
whole new group of people are starting to produce programs.
The problem as far as I can see is that the existing UI Guidelines
are woefully inadequate and no-one seems to be using them anyway.

	Toolbars

Take toolbars. I guess their origin was in the rulers that programs
like MacWrite had to control justification and spacing. Nowadays the
bars have been extended to offer the functions which someone thinks
are common. But who decides which common functions should be
supported? And more importantly what the icons should be?

I now find that while I can use different spreadsheets, word
processors or compilers through almost identical selection and menu
actions, I can't use the toolbars without getting a manual and
wasting time learning application interfaces anew.

All the UI guidelines say on the matter is that you should make sure
that all functions are available from the keyboard: there's no
mention on good and bad toolbar uses.

When I write programs, I have to consider adding toolbars. Should I
omit them and have a old-fashioned applet? Should I make up my own
buttons and make users suffer? Or should I sample existing buttons
from common applications and risk legal action instead?

	Now the emergent 3-D look...

Although of the standard MS controls only buttons stick out, everyone
is developing applications which have raised and sunken bits
everywhere. This is a combination of the influence of Motif making
flat interfaces look dated, and the new developer's toolkits making
such interfaces easy. No doubt many people will object to such
chrome, and on a black and white LCD display their complaints are
fully justified. But again, each application is providing the
chiselled steel look slightly different from other apps. The
guidelines do not cover such a look, and yet Microsoft's own
applications, from Excel to Visual Basic offer it.

What should I do: follow proper 3-D UI guidelines such as the Motif
set, stick with a boring old flat display or just do whatever I feel
looks pretty?

	OLE

I've read the UI guidelines. I've read the Windows User Guide. I've
ploughed through the SDK section on OLEVTBLS and the registration
database. I've even written a small DogCow client which wags its tail
(slowly) inside another window. And yet I still have trouble as an
end user trying to embed pictures inside documents. Why is it so
tortuous? If I drag a bitmap from the file manager to a Write window
what do I get? The picture embedded inside the document? No, I get a
object package link to paintbrush, which is not what I wanted at all.
This is not just a foible of a particular application: this action is
explicitly requested in the documentation of OleCreateFromFile() in
the functions book of the SDK. That's a really obvious place to put
UI rules isn't it?

Imagine I create a paintbrush picture inside a document. I get given
an image of the size which paintbrush pictures default to -normally
full screen . So for a smaller picture I just change the size of the
picture in the right settings box within paintbrush. 

And get a new picture which is no longer linked to the document. What
I have to do next is exit paintbrush, then create a new embedded
image and it it is only this time that I get a picture of the right
size. Now correct me if I am wrong but one of the benefits of OLE is
that it is meant to be easier for users. So what has gone wrong?

	Drag and Drop

I'm not even going to start on drag and drop or ask why the file
manager thinks it's so special...

	Conclusions

As you may guess, I am not 100% happy with the Win31 UI. A lot of
the blame can be pointed at people like myself: programmers of
Windows Apps.  However if MS actually produced guidelines which were
more relevant to the burning issues of today's interfaces, and maybe
bundled them (even on line) with Visual Basic and the Borland tools,
then perhaps things would improve.

Of course, guidelines are one thing, but to get a feel for an
interface you really need to use it. With the bundled applications
setting such bad examples then usability defects cannot fail to be
propagated.