::scr usability, languages and apis

celia romaniuk scr@thegestalt.org
Mon, 19 Nov 2001 05:54:32 -0800 (PST)


On Thu, 15 Nov 2001, simon wistow wrote:

> It occured to me that an API is like an interface and has some of the same
> usability problems.

Yer basic definition of usability rests upon three principles:
o Efficiency (does it let you do things quickly and easily)
o Effectiveness (does it let you do what you need it do to; is it actually
useful)
o Satisfaction (is it nice to use; do you like going back to it)

As far as I can tell, these principles are not terribly difficult to apply
to programming languages, though I'm aware that there's an
efficiency/effectiveness trade off depending on the task (e.g. the
different between printing hello world in Java and Perl). So the
application of the idea of 'usability' is probably more complex than lots
of other interfaces.

I suspect that what you'd end up saying is that 'for these tasks, this
programming language is highly usable, but for these other tasks, it's
unweildy'. I'll be gobsmacked if this comes as a surprise to anyone.

> Basically a good API should, where possible be consistent, predictable and
> follow the rule of least surprise. 

Yep. Some nice guidelines on how you achieve interface usability are here: 

http://www.asktog.com/basics/firstPrinciples.html

tog++ # cheesy sense of humour, though.

HTH, HAND

- 
celia
...(small town, slow news day)