My recurring dream begins pleasantly enough. A sleek black machine passes before my eyes, and then Display PostScript, endless PostScript typefaces, UNIX, multitasking, an intuitive iconic interface, a high-resolution printer, on-line references, CD-quality sound, an awesome development environment. All the ingredients for an incredible computer-graphics workstation are there. So I sit right down at the keyboard, ready and anxious to change the world.
That's when I start to toss and turn in my bed: no programs for painting or page layout; no image processing; no 3-D modeling or animation; no CAD software. I search the directories frantically. They've got to be in here somewhere. I see a screen saver, a draw program, another screen saver, another draw program. ARRRRRRRRRGH!!!
I wake up covered in sweat, every time, always faced with my own familiar screen of flying toasters and wondering the same thing: Where are the great software developers of the world and where are their NeXT masterpieces?
If this development environment is so special, where are the applications to prove it?
I feel the absence most acutely in my own field, publishing and graphics. As I write this, there is finally some reason for hope, as companies like RightBrain, Pages, Appsoft, and Altsys are close to shipping robust professional graphics applications. But the wait has been too long. The same delay has undermined NeXT's success in CAD, animation, 3-D modeling, video, and interactive multimedia.
One reason we find ourselves at this juncture is NeXTSTEP itself. It may be easier to develop software in NeXTSTEP's object-oriented environment than elsewhere, but it's not easy. It takes a good year of solid programming to really be able to use it. You've got to familiarize yourself with 100 objects and subclasses and learn the correct algorithms, programming languages, and data structures, not to mention understanding the psychology of the user interface and what it takes to make a top-flight application. Application tool kits like NeXTSTEP enable the quick application but often frustrate the complex one.
Having spent four years working with NeXTSTEP, I know enough to create my own tools for graphic design and animation. So I know it can be done. But I can't very well recommend that every end user spend four years learning to program his or her NeXT machine.
Another part of the problem is that good NeXTSTEP programmers are a scarce commodity, and many of them work for NeXT. This leaves NeXTSTEP publishers in a bind. The big players from other platforms Ð Frame, Adobe, Lotus, WordPerfect Ð can afford to put together the right team for the right product. A few have come through with top-notch programs, such as FrameMaker and Improv. Adobe, though, did a mediocre port of Illustrator and then retreated into other ports for other platforms. The other big guys Ð Aldus and Microsoft, for example Ð are still not interested for the most part because NeXT hasn't come up with the sales volume necessary to justify investment.
That leaves the little guys Ð independents who specialize in the NeXT Ð to hold the torch. Some of these are maturing and getting more ambitious with each project. Lighthouse Design started with Diagram, not very complex and derivative of Draw, but it provided an education in NeXTSTEP programming. Lighthouse's follow-up application, Concurrence, is more ambitious in both code and user interface and is a clear leap into the mainstream application market. Stone Design has evolved in much the same way Ð from TextArt to Create to DataPhile. These companies are making money on the platform and have proven it can be done.
Other start-ups, inspired by the success of Stone and Lighthouse, are starting too small, getting their feet wet with those screen savers and Dock extenders. These products give good programming experience but are often time consuming and cramp a company's evolution because of their need for tech support.
Of course there's more to good programming than technical excellence. Producing a quality application also takes a good artistic sense; the design has to be marketable and pretty. Nothing turns off consumers more than an unprofessional look. Strong advertising and sales are necessary, too. Companies like NeXTConnection, Paget Press, and NeXTWORLD magazine are helping many NeXT developers get the exposure they need. But there needs to be more.
NeXT itself can be of more help to third parties in several ways. First, with advice in developer classes. Education influences products more than just about anything else. NeXT's training department is great, but I think NeXT needs to focus on a few specific areas, such as user-interface and application design, and the art of marketing products. NeXT should also be a little more generous with the immense resources in its software department, offering more help from the NeXTSTEP engineers, for example.
NeXT has a good developer advocate program, but it's difficult to get an advocate and there is only so much they can do.
Now's a particularly good time for NeXT's engineers to take a break and spend some time with the developer community Ð between finishing up 3.0 and heading into the planning stage of 4.0. There's no point to designing a system like 4.0 without having a full suite of products.
NeXT should also be giving machines to potential developers and pursuing more relationships with large developers. How about kidnapping some Adobe executives and convincing them to support the only platform that's going it solo with Display PostScript?
If NeXT's sales pick up this year, or at least come close to target, the company will have the funds to loosen the reins a little and help out their ailing developer community. With or without the money, though, they really have no choice. The future of NeXTSTEP application development remains in the hands of the little guys, at least for the time being.
I for one am willing to endure 2000 more flying toaster screen savers Ð and a few more sleepless nights Ð if it will produce a few worthwhile quality applications that NeXT desperately needs.
Former NeXT software designer Keith Ohlfs recently started up his own user-interface design firm.