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.