[comp.sys.next] Developer's Course: A TA's view

wjs@fred.cs.washington.edu (William Shipley) (03/06/90)

I recently had the good fortune to be invited to be a TA at a mini developer's
seminar here at the UW.  Following are some of my random thoughts and ideas on
the whole thing.

When I first saw postings about the seminar, I noticed two things: it was free,
and NeXT was buying everyone food.  I thought that was really classy.  I signed
up within a day or so, and they said they weren't sure they had enough room.  I
gave the names some of the NeXT people I've met, and they immediately said,
"Ok, you're in."  Lesson one: it ain't what you know...

A week or so later I got a call, and the NeXT guy told me based on talking to
my friends he didn't think I'd learn anything, but would I like to be a TA?
I said shore.

First thing I noticed when I showed up to unpack the cubes was that a lot of
the people there were young.  20s or so.  Even the ones who weren't so young
_seemed_ young.  They all had this feeling of being involved in a revolution.
It reminded me of the way magazines used to describe Mac evangelists before
the Mac grew up and got boring.

The lady in charge was very friendly, and joked with everyone.  One of the
guys kept throwing tape wads at her, and missing.  I commented later that he
couldn't hit the barn side of a broad.  It wasn't until much later that I
found out she was in charge of NeXT Seattle.  I was shocked.  She seemed much
too nice to be an uppity-up.  Lesson two is that NeXT people are friendly
and enjoy themselves.

One of the guys there used to work at tech support, and didn't quite have the
training in closed-mouthedness that the others had.  For example, he mentioned
to one of the other employees that the color board didn't actually have the
RAM on it, instead they'd put 4mb RAMs on the main board.  Mind you, he didn't
actually say this to me, but he didn't actually notice I was around, either.

He was also curiously honest.  When someone confronted him with statements like
"X has basically won, hasn't it?"  His response wasn't the typical IBM-we-are-
blind-to-anything-we-don't-support type answer.  Instead he said, "It depends
on the market.  Sure, X is popular in universities, but it isn't at all clear
who will win for personal workstation use."  Good point, I thought.

The field guys were all amazingly conversant with how the machine worked.  All
of them knew how to write C code, and knew how to use the interface builder.
They had to, they were the other TAs.  Although you would EXPECT these people
to know these things, after dealing with other computer companies, I still find
competence surprising.

One of the other interesting things about NeXT is the operation was classy the
whole way through.  For example, besides catered breakfast and lunch, they
provided New York seltzers midway through each day.  All the TAs except me
had really slick black nametags with little NeXTs on them.  The course materials
had NeXTs plastered everywhere.  Nothing looked amateurish or cheap.  The
ex-tech guy described it as "Steve-like".  I thought that fit.  I guess lesson
three is that NeXT has got bucks.

The actual seminar itself took two days from about 9-5.  It was a miniture
version of the $750 seminar that qualifies one to be a _real_ developer.
However, one of the guys told me what's become lesson four: anyone in higher
education who calls NeXT and says, "I'm a developer," is assumed to be a
developer.  They don't check.  Mind you, education people automatically get
the developer prices, but this factoid enables us to get tech help, too.

The material covered was pretty basic, but still gave enough information to
get one used to the NeXT way of programming.  They went through the process
of hooking a slider up to a custom controller and hooking that up to a
text field.  Pretty good intro, I thought.  Some of the guys got fancy and
did other things.  I think most of the people left with a pretty good idea
of what outlets and actions are, and quite a few seemed pretty excited about
developing for the NeXT.

The two major drawbacks with the Interface Builder (the uneasy difference in
between the way one instantiates subclasses of views and other classes, and
its inability to unparse without destroying your code) both were major
stumbling blocks for people in the class.  I'm hoping NeXT will fix these as
they get more and more feedback from new users saying, "that bites."

At one point a guy in the audience discovered that if you size your window
too small and size it up again,  everything is rearranged.  The event was neat
because the teacher did it up on the main NeXT, explained that it was a round
off bug, and said he'd tell NeXT about it and they'd fix it.  I like that
attitude.  He could have blamed the user for going to small, or ignored him
in embarrassment.  Lesson five is they didn't BS when they were wrong.

Another guy in the class got skittish about programming for a machine where
you could screw up the windows by sizing them too small, but he calmed when
I explained that with a single line of code you could and should prevent the
user from resizing smaller than the smallest size of all subviews.

Most of the people attending were very pleased with the whole event, and
I'm sure a lot of them shared my wonder that NeXT would foot the bill.  I'm
even more convinced that when I graduate I'll work for NeXT.  To me, all the
other companies seem old and stuffy.  I'd rather spend my time inventing than
trying to squash invention.

It seems like every successful company starts out with a new idea, and all
the other companies do their darnedest to squash it.  Apple once innovated
with the Macintosh, but it's been years since they've done anything more
exciting that switch its case.  Where's unix?  Where's object oriented
programming?

NeXT, for all its drawbacks, is the only company that I see really innovating.
I'll stay with them as long as they keep it up.

Final lesson: NeXT good, others bad.

-william shipley
university of washington computer science undergrad
NeXT employee wannabe

Note:  I have no affiliation with any of the companies mentioned.  I am about
to ask NeXT for a job, though.  My senior thesis was a MacDraw-clone written
under X11R3, and I've read Inside Macintosh and programmed HyperCard.  I've
read the entire NeXT Reference Manual, and have written a few small apps.
NeXTStep is by far my favorite interface.