Re: Cocoa et al as HCI usability problem
Re: Cocoa et al as HCI usability problem
- Subject: Re: Cocoa et al as HCI usability problem
- From: Michael Vannorsdel <email@hidden>
- Date: Sun, 18 May 2008 11:56:59 -0600
Well what can you do. Not sure why but lately many newcomers have
been showing up and complaining about Cocoa's difficulty. I'm not
sure if they've done GUI work before, but I remember my days with
PowerPlant and spending a massive amount of time just creating the GUI
and the code to back it. Perhaps this is what gave me the sense of
how much time Cocoa saves. It's easy to take things like webviews for
granted. I can guess the amount of code Apple wrote to back those to
work out of the box is pretty massive and complicated.
If programming was just drag and drop and clicking some option boxes
users could just write their own programs. But the fact is
programming is far more complicated than that (and probably will be
for a long time) and making such a framework would take a decade or
more, by which time it would be obsolete and outdated.
For professionals the GUI is a smaller part of development thanks to
time saved by Cocoa. If I have to write my own controls from scratch,
I will as it's what programmers do, write code. But I'm thankful 99%
of the time I can use something from Cocoa that comes with much of the
code already done for me.
I guess some people are upset Cocoa doesn't do enough, or all, of the
work for them. I'm more of the people happy Cocoa does any work for
me at all. If it saves me time, it's a good thing.
On May 18, 2008, at 10:41 AM, Jens Alfke wrote:
"Hobbyists"? I think "professionals" is more accurate — especially
since in the early days of the Mac you had to spend hundreds of
dollars to become a developer and get access to tools and
documentation.
I can see your point about obsessive hackers having the stamina to
overcome complicated APIs, but any platform vendor's main objective
in developer tools is to target professional developers who will
create the products that make the platform attractive to customers.
"Professional" doesn't necessarily imply a big company; I refer
equally to startups and indie outfits, anyone seriously devoted to
creating a product.
In Apple's defense, the task of implementing a sophisticated GUI on
such limited computers was extremely difficult. The top goals were
usability, decent performance, and affordable price. That left no
leeway for making the APIs themselves easy to use — the niceties we
take for granted like object-oriented programming would have used up
way too much of that 128k of RAM and 64k of ROM.
(Yes, some of the first GUIs were written in the first OOP language,
Smalltalk. But the Xerox computers that ran Smalltalk-80 cost
$10,000 or more; the ones that ran it with any kind of decent
performance (the "Dorado") cost $50,000 and were basically
supercomputers. They all had ten times as much RAM as the first Mac,
and had custom CPUs with programmable microcode optimized for
Smalltalk. Even so, performance was much worse than the original
Mac, and the GUI was much cruder and harder to use. I'd already been
using Smalltalk-80 when the first Mac came out, and the Mac's speed
and aesthetics were just jaw-dropping.)
Anyway.
I have to say I find this whole discussion frustrating. The attitude
of some people seems to be that writing computer programs, of
arbitrary complexity, should be as easy as using a word processor.
That's a Utopian goal at best, and more generally just naïve. Of
course we should be trying to make the APIs and tools and
documentation more useable; that's a constant task, and a very
difficult one, and one Apple's doing a good job at. (The complexity
under the hood is terrifying, and it's already been covered up
enough that in an hour an experienced developer can throw together
an app that fifteen years ago would have sold for $100.)
Face it, any sort of serious creative endeavor is hard! There's no
way around it. And the hardest part is learning the techniques and
tools. If you wanted to build a robot, play Vivaldi on the violin,
design a house, paint landscapes, or cure Ebola, you'd have to
accept that it would take months or years of serious study, that the
tools and documentation would sometimes be hard to use, and you'd
have to put up with frustration before you mastered the skills.
Why on earth is writing the best GUI applications in the world
supposed to be trivial by comparison? Maybe I'm taking this too
personally, but I sense a subtext that some people think the task of
software design itself is somewhat trivial, more like programming a
VCR than like architecture or painting or chemistry.
_______________________________________________
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