[GoingWare Home] [The GoingWare Manifestoes] [crawford@goingware.com]

Note This was recently relocated from its old location at Scruznet.com after my old ISP, one of the oldest local ISPs in the country, fell victim to the tech meltdown. Let that be a lesson to you as to why you should own your own domain name.

For further reading, see Freeing the Developer from OS Vendor Shackles

I'm worried about my future. That's why I'm a Be developer

This is cross-posted to semper.fi and bedevtalk. I know it's long, but it should be worth your while to read. I'd especially like Apple employees to read it.

Chris Hanson wrote:

Someone remarked that Be appears to be even more of a business "long shot" than Rhapsody for funded development. However, Be appears to embody more the Macintosh spirit ...

That and because we genuinely *believe* Jean-Louis when he says he won't shaft his developers. Even Steve Jobs himself with the Force to back up his famed reality distortion field couldn't convince me that Apple will actually follow through on its promises for Rhapsody.

I've been spending a lot of time the last few months thinking about my future.

I also spent a lot of time at job interviews where I was told that, if I was as good a Windows programmer as I was a Mac programmer, they would hire me, but as it was I was out of luck, even with ten years experience as a professional programmer on Unix, DOS, and Mac.

I finally got a Windows job where they were willing to take me without experience on the platform. It was a nice company, but I had to move and I got really homesick. It was in SmallTalk, which is a very nice environment, but SmallTalk insulates you from the Windows OS (so I wasn't really learning Windows), and I had to spend my days driving Windows 95 and that just plain sucks.

I moved back to Santa Cruz and got another job as a Mac programmer.

Now, I'm working, but I'm still worried about my future. If 4100 Apple employees and contractors can't count on Apple to keep them employed, how can I? I've been an Apple developer since 1990, and I have one year as an Apple contractor and another year and a half as an Apple employee. So I think I'm qualified to say that I've observed the company to do many stupid things and a few mean things as well.

For example, one of the managers in Evangelism told me in 1993 that Apple wouldn't be supporting Apple Events anymore as they (in his words) choked the event queue. I had just spent a year, and a great deal of my small company's money, working full-time to develop the Word Services Apple Event Suite, with the initial enthusiastic support of Evangelism. Because Apple wouldn't be supporting Apple Events any more (as he said), Apple wouldn't promote Word Services or support it in their own products.

In the process of working with Evangelism on defining a new Apple Event suite, I had become very close friends with one of the other evangelists. The manager who said these awful things to me went on to make what sounded like a pretty clear threat to fire my friend if we made trouble.

We considered suing Apple, but decided instead to go full-bore into Windows development. I wasn't able to do any of this - we hired consultants to do it for us. I had an interesting conversation about this a few years later with a VP at Apple (Shirley Stas), who listened sympathetically for an hour but then did nothing about it.

Now Apple has spent a fortune - how much could it be? - developing Copland, only to abandon it. I've heard they had 400 engineers working on Copland. Let's say they average $50K per year for three years, that would be $60M. But you have to add a lot of other expenses - managerial and clerical support, QA, the cost of the lovely new expensive R&D campus with a private office for every engineer and manager, plus some of the time of multimillion-dollar a year executives. I wouldn't be at all surprised if they spent more than ten times that much on Copland. Apple has also spent a great deal of time that could have been more profitably spent doing something else -- just about anything else, considering how much of the Copland effort is going to waste.

Remember, Copland was not Apple's first effort to develop a post-7 modern OS. When I was contracting at Apple in 1990, there was a great deal of work in progress to develop Pink. I was involved in this in a peripheral way - Pink was to be an Object-Oriented OS, so I given the task of writing object oriented test tools for MacTCP that would be later adapted to Pink. I wasn't so much writing tools for Pink as exploring the concept of object oriented test tools. It didn't work out very well actually. I didn't know anything about object oriented design or even C++, and though I had to work in C++, I was not allowed to take Apple's internal training class on C++ because I was a contractor. When I left Apple at the end of 1990 it was because I was so pissed at how poorly Apple treated contractors.

We all know what happened to Pink. I think it still exists in a way, as IBM's Taligent OO development framework for AIX. But I think a lot of people are trying real hard to forget or otherwise keep quiet that Pink was supposed to be the new modern operating system for Macintoshes, to be released in, say, 1994 or so.

When I heard Apple was courting Be, and when it finally bought Next, my feeling was the same as one might get watching one's father stumbling drunkenly from lamppost to lamppost, groping for support. It is not a good feeling that I have, watching a company that I not only depend on for my livelihood, but a company that I love, driving itself under. Continuing this analogy, I don't want Apple to find a good sturdy lamppost - I want it to stop drinking and straighten itself out.

It's not because of Microsoft that Apple's doing so poorly. Sure, Microsoft has done lots of underhanded things, but Apple has had many opportunities to compete effectively, and it employs a very talented staff and certainly draws executive expertise from the same pool as Microsoft - so if Apple fails due to Microsoft's and Intel's competition it is it's own damn fault. If I should become broke and homeless, it certainly wouldn't be fair to blame the other engineers who competed with me for jobs, would it?

I hope Apple succeeds, I really do, but I don't have a lot of hope. A lot of people are pinning their hopes on Rhapsody to bring the company back to prosperity, but I really don't think Jane User spends much time wishing for protected memory or preemptive multitasking. Sure, these will be nice once they're available, but I just don't think Rhapsody's going to make all that much difference to Apple's market share.

This leaves me still worried about my future. I've had some unusual expenses lately - a crown on my tooth, cancer surgery for my cat, $500 worth of work on my car, and I didn't work during December while I was moving back to Santa Cruz. Even though I make good money I've been late on a lot of my bills.

I felt very worried as I heard the webcast of Gil's speech about the layoffs. I felt very fortunate to have a job. But my job is Macintosh programming. I hope to buy a home soon. Five years after Rhapsody ships, will I be able to make house payments and enjoy a good standard of living, and get to live in Santa Cruz, if I'm a Mac programmer? I'd like to, but I don't feel at all confident of that.

In a couple of weeks I'm going to port a Windows program to MacOS. The program I'm going to port is actually pretty cool - it should be fun to work on. I like porting, even though it can be very difficult. I'm going to ask for a PC to start the port on, and build the program in Windows at first and do my initial cleanup of the code on Windows. It should be a good opportunity to finally learn Windows. Maybe if I suffer through the nastiness of the Windows API I will be rewarded with a little extra job security in the future. But I really don't want to do Windows. I really don't.

This brings me to Be.

About a year ago I heard about the Be Box on the Usenet News. I heard that, if you could convince them you had the means to develop a product for Be, they would sell you a dual-processor Be Box really cheap. They asked you to provide a "calling card" in your introductory letter - a list of your software accomplishments. They didn't ask for a lot of money or fancy marketing plans.

I wrote a letter asking to be a developer, and detailing all the products I have written. I also suggested they avoid hiring NeXT's "Sales Prevention Department", the folks who decided to charge five grand for a development system. I also inquired about coming to work for them. This was while I was working as an OS engineer for Apple, as an employee. In fact, I wrote a letter quite a lot longer than this one that raved about how excited I was that they were doing this.

I got a nice letter back from their engineering manager, Erich Ringewald:

Hello,

Thanks for taking time to write into us about your perceptions of us and our business.

I too was an Apple OS engineer. I wrote MultiFinder (perhaps you've heard of it) in 1986 and 1987. Since 1991 I've been here at Be.

Please send me your resume if you're still interested, and maybe we can talk about a place here for you at Be.

- erich

We wrote back and forth a bit about me working at Be. I'm not sure what happened with this - I think I just sort of chickened out. The commute would have been too long for me too, but I think I mainly got cold feet. The pay and benefits at Apple kept me there for the time being. I didn't get a Be Box, either. It wasn't a good time for me for a lot of reasons. I wasn't ready yet.

A year later Be put their Developer Release 8.2 on a CDROM in MacTech magazine. At the same time they held a one day developer conference after the MacWorld Expo. I had the CD before the conference, but I didn't install it - but I was excited by the what I saw at the conference - not just the OS itself, with preemptive threading, symmetric multiprocessing, protected memory, built-in 3D support and a filesystem built on top of an integrated database. No, what really excited me was the company behind the OS.

At Apple, my own team had three or four engineers and three or four managers and clerical people. Our job was to fix bugs. When QA or a beta tester found a bug, and no one knew where it came from, my team would either track it down and assign the blame or fix it ourselves. We wrote very little code - I eventually changed departments because I wanted to get back to writing code - and we had eight people. Eight really expensive people making up a department that would not even exist at most software companies.

At Be, there's a guy writing the filesystem. At the conference, he got up on stage and actually asked for a show of hands over whether the filesystem should be case-sensitive. I'm not sure what he's done, but he asked this question as if our opinion really mattered. There's another guy writing the networking. There's lots of different subsystems in any OS, but at Be, for the most part, they're all being written by one engineer apiece. It's not being written by a committee.

Further, they brought almost all the engineers to the conference. They were all introduced, and we were expected to talk to them during the day, and ask them questions when they were on stage. They were accessible.

At the conference I decided, on the spot, that I would become a Be developer. Further, I would port the Word Services Suite from MacOS to Be. On MacOS, it's based on Apple Events. On Be, it will be based on BMessages.

I couldn't port just the protocol - I would also port Spellswell. I knew it would be a very difficult task, and it is proving to be, as Spellswell is one of the oldest programs still supported on MacOS. It was written well before ANSI C came out. It's certainly not object oriented. The program works well because it has been through so many years of debugging, but I cannot even say it's structured. But I felt it was the right thing to do. I convinced my old boss from Working Software to give me the code so I could port it. That's what I've been doing all day before I got started on this rant.

I hadn't done much with Word Services for a long time. It works well on MacOS, and there are some programs that support it, but not many. Experience with it has revealed some things about the protocol that could be done better. I got real excited, and contacted all the other Word Services developers that I could find, and registered a domain name just for the protocol, and wrote up a new web page - it's at http://www.wordservices.org/

Now, if I don't think MacOS is going to succeed well enough to allow me to make a living, how can I think Be will? Because they've got a modern OS that works, and they have made it work with only 50 people. It's not a company that will have 4100 people to lay off when times get rough. It's not being made by a company that has committees to organize its committees. I imagine things were like this at Apple once, when the Mac was first being developed, and the Apple II before that, but the Apple of today is huge, bloated, expensive, stupid and slow.

And, dammit, I want Be to succeed. I'm willing to risk the investment of my time and money to do my little piece to help it succeed. I would imagine that Jean-Louis has spent a lot of his own money on Be. He probably could have lived comfortably for the rest of his life off of what he made at Apple. Instead he burned it on Be. I'd like Jean-Louis to get rich.

And one little thing any computer is going to need to succeed, mundane as it may be, is a spellchecker. If it doesn't have good productivity tools, then users will also need to have a Mac or PC to do their word processing on. Word processors need spellcheckers. I can make one for Be, and that's what I'm spending all my free time doing.

And not a traditional, built-in spellchecker, with each application having a different dictionary that wastes disk space, and different user dictionaries, so users have to repeatedly add words to different dictionaries. And not a speller that patches traps, and has INIT conflicts and stability problems, like Thunder 7 and Lookup. A modular spellchecker, where the user can have just one for his whole machine, that plugs into each application, with one dictionary and one common user interface. Or maybe several spellers, one for each language the user wants. A speller based on an open protocol, so they can pick their favorite speller from one of several competing companies.

We had component software working in 1992, reliably, years before OpenDoc made it to market. And it's easy to use - I tried to make an OpenDoc speller, and finally gave up because it was just too complicated an API. It only takes a couple days to add Word Services to an application.

That's why I'm a Be developer.

To sum it up - Apple, as a corporate entity, is stupid, and I don't see any hope of it changing. My livelihood depends on the Apple's success. Windows Sucks. The Be OS is cool, and the people behind it are cool. I want Be to succeed, and I have a little bit of the technology Be will need to succeed.

I want you to be a Be developer too.

I think I've raged on enough for the evening. It's been good to write this. Now I've got Spellswell to work on.

Good night,

Mike Crawford

PS. You can buy Spellswell for MacOS for $14.95 from http://www.working.com. Are you still developing for MacOS? See http://www.wordservices.org/ to find out how to link to Spellswell via the Word Services Suite.

[GoingWare Home] [The GoingWare Manifestoes] [crawford@goingware.com]