Cocoa et al as HCI usability problem
Cocoa et al as HCI usability problem
- Subject: Cocoa et al as HCI usability problem
- From: Julius Guzy <email@hidden>
- Date: Sun, 18 May 2008 12:33:30 +0100
The very good , interesting and informative debate in this list
concerning the accessibility of the programming environment to new
users has it seems to me incresingly polarised between those who
think the documentation more or less adequate and those like me who
for whatever reason, have great difficulties making use of the
facilities.
I think this debate relates to the same concerns and battles we had,
and in many cases are still having about computer usability, namely
the effective design of human-computer interfaces, aka HCI.
It is ironic that we are having this debate within an Apple
programmer's mailing list. Apple has been celebrated for the
usability of its machines and long may it continue to be so. However,
Apple has been less celebrated for the humanity of its programming
interface having, in my experience of Macs from the Lisa onwards,
seemingly taken the attitude that its programmers were hobbyists,
geeks essentially, who because of their enthusiasm would successfully
negociate their way into the machine's innards. That said, the 9
tomes of "Inside the Macintosh" documentation of the programmer's
workshop were pretty good once you got into them but there was a lot
less to get into then than there is today.
This question of volume of documentation and system size and
complexity is significant to our debate. It is pertinent to quote
what one of the great programming pioneers, Dijkstra said about PL/1:
That it
" must be like flying a plane with 7,000 buttons, switches, and
handles to manipulate in the cockpit. I absolutely fail to see how we
can keep our growing programs firmly within our intellectual grip
when by its sheer baroqueness the programming language - our basic
tool, mind you! - already escapes our intellectual control". ("Humble
Programmer", see Prgramming Methodology 1978).
Well I think that the sheer size and complexity of Cocoa et al comes
close to being an aeroplane cockpit and one which we are largely
expected to learn to use from engineering manuals essentially
concerned with listing the identity, composition and location of
components,(not to mention the various incarnations of Xcode and
Interface Builder). I am not saying that tremendous pains have not
been taken to create a robust coherent system nor to document it.
There have. Also there are many who have succeeded in mastering the
system. Some will have done so through having grown up with it from
early days, others will have had the fortune to attend (expensive)
traning courses, and others still will have done so through dint of
talent, perspicacity and hours of hard work. So mastery is possible.
But I am not stupid nor a shirker nor a complete novice and I expect
that the same can be said for most people who have had and are
continuing to have horrendous dificulties in getting to use the
system. It is clear that the programing interface to the Mac has
serious usability issues.
I cannot help touting one recent example. To specify the outlets etc
between a class definition and Interface Builder on Leopard we are
told to type the name of the class into a field and that thereafter
IB will make the appropriate links with Xcode. It took me ten minutes
of doing it this way and that before I realised that IB would only
make the connections AFTER one had typed in the class name AND saved
IB! We know from HCI research that it is little things like this
which most frequently cause users to give up and never touch the
equipment again.
Now, of course, as programmers we are well used to wasting hours
hacking through the underbrush to discover that to switch on the
machine we need to hold down Alt-Escape with the right hand whilst
depressing a button round the back of the machine with the left.
(That was how in the 70s one turned on some of the PCs at Leicester
Poly!). But what a waste of time and effort and how demoralising and
off-putting to anyone but the most obstinate programmer. I deferred
having a go at Cocoa for about three or four years because I knew it
would be a struggle and these last five months or is it six have been
horrorshow.
Let me state two principal facts.
1. Designing good user interfaces is hard.
2. Designing good user interfaces is expensive.
It is hard because every human being is an individual,
because there is seemingly a lot to learn
and because there are limits to the complexity we can handle.
It is expensive because the design of good HCI is primarily an
empirical activity centered on user testing.
The question is then whether we and possibly apple should do anything
about it.
Julius
http://juliuspaintings.co.uk
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden