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: P Teeson <email@hidden>
- Date: Sun, 18 May 2008 16:38:06 -0400
begin rant:
Oh me oh my the poor newcomers to Cocoa. Sorry folks back in the days
of 360 mainframes there were manuals and they were inscrutable.
But if you took the Winston Churchill aproach and spent some blood,
sweat, toil and tears you would probably become a 1/2 decent
assembler language programmer.
Same with Obj- C - if you know C you can grok Obj-C in at most a week
- less if you are experienced. You won't be a master of it for a year
or so of serious programming.
But that's true of acquiring literacy in any field.
Finally in this spoon fed age of sound bytes and simplistic and
thoughtless political and economic panacea's in a world far more
complex that when I grew up (70 years ago)
you newbies to Cocoa need to do what the docs provide you with.
RTFM! and sweat it out. Or else take the blue pill! Sheesh they all
want pay for no work!
rant ends:
On 18-May-08, at 1:56 PM, Michael Vannorsdel wrote:
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
_______________________________________________
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