REVIEW: How do you feel about vi being included in System V?
JOY: I was surprised that they didn’t do it for so long. I think it killed the performance on a lot of the systems in the Labs for years because everyone had their own copy of it, but it wasn’t being shared, and so they wasted huge amounts of memory back when memory was expensive. With 92 people in the Labs maintaining vi independently, I think they ultimately wasted incredible amounts of money. I was surprised about vi going in, though, I didn’t know it was in System V. I learned about it being in System V quite a while after it had come out. They had this editor, se, but I guess it failed.

I think editors have to come out of a certain kind of community. You need a cultural context. As you mentioned before, Bruce Englar thought of a number of things, Dick Fateman contributed work to the cursor position after the join command – little things like that. There were just dozens of people involved, but if you are in an environment where management says, “This person shall do an editor,” it doesn’t necessarily work. It’s funny, the politics at Bell Labs.

REVIEW: You had said, when you were giving a demonstration earlier today, that when you are on foreign systems you use ed.
JOY: That’s right. Absolutely.

REVIEW: You don’t even try to use vi?
JOY: I’m used to having a 24-line terminal with no ability to scroll back. The reason I use ed is that I don’t want to lose what’s on the screen. I used to have a Concept terminal which had eight pages of memory, like a mini-version of a window system. I just don’t like to lose what’s in the window. I’m looking forward to the editor that’s going to be embedded in the window system Warren Teitelman is working on. Having editing functionality everywhere would be great in the same sense that it would be nice to have history everywhere.

REVIEW: So there will be a history mechanism in the new editor?
JOY: I would be surprised if there wasn’t. Warren basically invented all those things. He’s very keen on that. I tried to use EMACS and I liked it. The problem was I spent all my time programming it because it was improving so fast that my programs kept breaking. I got tired of maintaining my macros so I guess I’m looking forward to an editor I can learn and then forget about.

I started to write a new editor not too long ago and had it about half done after two days. It was going to have almost no commands, but, instead use what’s basically the smalltalk editing menu, a scroll bar, and a thumb bar. Lines just went off the right and if your window wasn’t big enough – too bad – it just threw them away. There was going to be an edit file, and a store and read file. That was it.

It was called be. I’ll let you guess what that stands for. It actually stands for about eight different things.

REVIEW: Bill’s editor?
JOY: That’s one of the eight. It’s also the English verb “to be” because it is. There are six more. I got tired of people complaining that it was too hard to use UNIX because the editor was too complicated. Since I sort of invented the editor that was most complicated, I thought I would compensate by also designing the editor that was most simple. But I got distracted. If I had just spent another day on it… I could actually edit a file on it. I actually used it to edit itself and scrunched the source code – sort of old home day, because we used to do that all the time.

I had threatened to remove all the copies of vi on January 1 of this year and force people to use be. I don’t think it would have worked, though, because I don’t know any of the root passwords here anymore. These editors tend to last too long – almost a decade for vi now. Ideas aren’t advancing very quickly, are they?

REVIEW: So you use Interleaf now?
JOY: I use Interleaf for all my documentation. When I’m writing programs, I can type them in half the time with cat because the programs are six lines – a #include, main and a for loop and one or two variables. I actually use vi for editing programs. James Gosling did a really nice editor as part of a project at Carnegie Mellon University which is AWYSIWYG: Almost What You See Is What You Get. It’s also a program editor built into the window system he’s working on. I think that will ultimately replace vi.

Interleaf is very nice. I expect there to be a lot of competition for programs like that. I don’t expect that to be the only one. By the end of next year there will be half a dozen UNIX-based integrated office systems. Interleaf is based on the formatting process.

I think you’ll see others focused on database, calendar management, mail, and spreadsheets – you need all those things to have a generic office automation application. I don’t really know who is going to win. I know about a few that are unannounced, but it’s not clear which is the mode desirable. None of them are open, really. None are as programmable as UNIX. You really can’t go in and add things that you need. That lack of programmability is probably what ultimately will doom vi. It can’t extend its domain.

REVIEW: Some would argue that vi’s domain is already far too extended.
JOY: That’s probably fair, too. That’s why it’s so complicated, and has left and right parentheses commands. You start out with a clean concept and then sort of accrete guano. It lands on you and sticks and you can’t do anything about it really.

REVIEW: What is it that Interleaf offers you that EMACS doesn’t?
JOY: I can just look at my screen, and when I print it off, it’s the same as it looks on the screen. It is formatted, and I’m tired of using vi. I get really bored. There have been many nights when I’ve fallen asleep at the keyboard trying to make a release. At least now I can fall asleep with a mouse in my hand. I use the Xerox optica mouse instead of the other one because it is color coordinated with my office. Did you notice? I prefer the white mouse to the black mouse. You’ve got to have some fun, right?

This business of using the same editor for 10 years – it’s like living in the same place for 10 years. None of us does it. Everyone moves once a year, right?