Part of Dave Winer's personal website.

cactus picture Outliners & Programming

I wrote this piece as we were starting up UserLand Software in 1988. It's interesting if you want to know how I got involved in outlining while I was learning about programming on my way to doing an BBS which turned out to be an outliner which turned out to be part of a scripting system. Whew!

High Files

I started working on outline processing and scripting at the University of Wisconsin in the mid 1970's. Initially, the idea came from LISP programming systems that had hierarchic program editors. I wanted to see if the same thing could be done for Pascal.

The result was a development system that ran on PDP-11s under Unix that viewed and edited source code as a tree. This embryonic outliner could dive and surface, displaying one level of the hierarchy at a time. Programmers could edit the structure of their programs directly. If you want to switch the order of two loops, just put the cursor on the latter loop statement, and move it up. No selections, no need to view the bodies of the loops. This very early piece of software met the two criteria that make something an outliner: you can control the level of detail in the display of information, and you can reorganize according to the structure of the information.

The next step was to create an outliner without the programming language, that could organize and edit structures of information of any type. I left UW in early 1979 and set up shop in my Madison living room using a Cromemco Z2D, with UCSD Pascal grafted on top of CP/M.

The resulting product was an integrated outliner/database. Fields of the database could contain outlines, among other types. Outlines could serve as an index on the database. I called this product High Files because I thought of it as a high-level filing system.


Later that year I moved to California. My goal -- sell this software to Apple Computer. I had seen Apple IIs showing up in Madison, and played with the software. I thought I'd move to Cupertino and teach them how to make software. Based on what I had seen on the early Apple II's -- these guys needed a lot of help!

Apple was interested in the database, not the outliner. I was 24 years old and very self-confident. I tried to convince them that they really wanted the outliner. No deal. I then went to Personal Software, the hottest company in the valley at the time. They were just about to publish VisiCalc, which in many ways became the founding product of the personal computer industry. They liked the outline processor story, I became one of their authors, contracted to develop a product to be called VisiText. The goal of this product was to put the Visi interface on the outline structure editor I had developed in Madison. VisiText was the first outliner to use the now-familliar expand and collapse outline display. The user moves a bar cursor from headline to headline. Commands visually reorganize the outline, searching followed the outline structure. The command interface mimicked the style of VisiCalc on the Apple II. Which meant it looked kind of pretty, certainly for the day, but was pretty cryptic and certainly not very user friendly.

I started with Personal Software when they had 10 employees. By 1981 there were over 100 people at PSI. Cool people like Mitch Kapor, Dan Bricklin, Bob Frankston, Dan Fylstra, Ed Esber. And some pretty uncool people. Personal Software was the startup startup personal computer software company. Lots of mistakes were made here for the first time in our industry. As we were about to ship VisiText in the summer of 1981, the new management decided not to market the product. By late 1981 I was on my own again, flush with cash from the settlement deal with Personal Software.


Rather than ship the VisiText product, I decided to spend some time playing. In 1982 I programmed software that turned my outline processor into an on-line system. Called LBBS (for Living Bulletin Board System) it allowed multiple users to link messages to a tree structure. LBBS ran on an Apple II with a 10-megabyte Corvus hard drive, and a Hayes 300-baud modem. The LBBS tree structure represented the message thread structure. If I reply to your message, my message becomes the first child of your message. Any replies to my message appear indented one level under the my message. This process goes on until LBBS runs out of levels -- the limit was 32767 levels. It's still the sexiest implementation of message threading I've ever seen.

But this created a problem. As messages got more and more deeply nested, it became harder and harder to find the new ones. As people logged on and left messages, mostly about nuclear warfare, Douglas Adams' books, and the system itself, the database would get cluttered, and the system would stagnate until I cleaned out the database and started with a clean structure.

The solution to the problem was to add a dual, parallel structure that allowed the user to visit the messages in chronologic order. It kept a bookmark for each user, so each time he used the system he automatically jumped to the next new message (since the last time he logged on). This structure was called the Message Scanner. As you browsed this way, any time you could jump over to the tree and read the responses to a message or look up the tree at messages that it was in response to. Of course you could switch back to the Message Scanner any time. This dual-structure outliner was a first.

LBBS was a very interesting product to work on. I had two monitors on my desk, one for my development machine (an Apple III) and the other for the LBBS machine (an Apple II Plus). If I was in the mood, I could turn on the LBBS monitor and watch a user reading, writing or browsing. Or getting lost.

Sometimes I wished I could ask the user why the cursor hasn't moved for the last three minutes. Are you lost? Or is someone at the door? Or are you getting a snack? But patterns would emerge -- and I'd try implementing solutions, either by restructuring the database or by changing the software.

It was because of LBBS that I decided to name my new company Living Videotext. Videotext was the hot buzzword in the industry at the time for communications-based computing. I felt at the time and still do, that computers are primarily significant because they make people better communicators.

By the end of 1982 I was getting low on money, and started thinking seriously about shipping software, rather than playing with new interfaces and data structures. Living Videotext opened for business in early 1983, with less than $5000 in the bank, a manual and a couple of Apple II master disks, and no idea of how the software business worked. The plan was to introduce the ThinkTank outliner, the one I got back from Personal Software, make it successful, and then introduce the on-line system -- it's name changed from LBBS to TankCentral.


There was no reason LVT should have worked. We were on the wrong platform (the Apple II) and we had an oddball product. We couldn't raise venture capital (I now understand why, they only invest in things that would obviously succeed without them). But on the strength of early good press and reviews, we were able to raise money from doctors, lawyers, entrepreneurs and real estate people. By 1984 we had a PC product and a staff of about 10 people. We weren't exactly prospering, but we were paying the bills, attending trade shows and selling enough product to keep the doors open.

In July 1983 I met Guy Kawasaki, then a marketing guy at a small southern California software company. I tried to hire him to help me with Living Videotext, but Guy went to work at Apple Computer as part of the Macintosh team. A couple of weeks later, he called me in for a demo.

I'll never forget my first glimpse at a Macintosh. It was an instant reaction -- this is our machine. I knew that my outliner, which was gaining the reputation as an artist's tool, would appeal to the same people that this machine would appeal to. Macintosh would turn creative people on, our software would turn their creativity into results. For me, after that first instant, it was never a question of whether we would produce a ThinkTank for the Macintosh, it was more a question of how we could do it. I was already burdened with our PC-compatible development, and the increasingly complex job of running the company and schmoozing up the press and customers. So in September 1983 I hired my brother, Peter Winer, then a consultant and contract developer in Boston, to develop ThinkTank for the Macintosh.

Peter and I brainstormed the user interface for outlining on this new kind of computer. He worked round the clock to get our ideas implemented. The result was one of the first business applications to ship for the Macintosh -- ThinkTank 128, shipped in June 1984. Initially, the sales of ThinkTank 128 were incredible. But eventually, as the initial rollout of the Macintosh faded, sales of our product dropped off. Luckily for us, our IBM-compatible product continued to grow, so we were able to keep the doors open while many of our Macintosh-only colleagues went out of business.

At the end of 1984 we shipped ThinkTank 512 for the Macintosh, again the result of heroic efforts on Peter's part. By then we had hired Doug Baron to help with the Macintosh development, and as soon as ThinkTank 512 shipped, we began work on the product that would become MORE.

1985 was a very rough year in the Macintosh world. The general industry consensus was that Apple was dead, that the Macintosh wouldn't carry the company and that the Apple II was obsolete. Layoffs, followed by Steve Jobs' departure left Apple chairman John Sculley promising developers that Òthe halceon days are yet to come. Not many developers believed him.

At Living Videotext, we didn't necessarily believe Sculley, but we did believe in our Macintosh product. While most developers curtailed Mac development, we continued to invest in the Mac. In early 1986, Apple shipped the Mac Plus, which solved the most critical problems in the earlier machines. It boomed! So we scheduled our shipment of the next-generation graphic outliner to ship in time to catch the wave.


We looked around at all the enhancements we had devised for outlining on all our platforms. We pulled code out of the PC product for outline math. Peter had been working on an orgchart program -- that became the Tree Chart component of MORE. Peter also enhanced the Slide Show feature that had been a part of ThinkTank 512. A calendar-generator was added. A phone dialer. I showed Doug Baron how to do hoisting and cloning (as usual Doug one-upped me significantly -- his implementation of cloning was absolutely magnificent).

An interesting thing happened when we demoed an early version of MORE to Guy Kawasaki and Alain Rossman at Apple. The Bullet Chart idea was Guy's. We showed him the enhanced slide show. He asked if it could print. We printed for him. He went to the LaserWriter down the hall and brought back our printout, marked up with a box around the text, and bullets on each of the subheads on the printout. He said if we could do that, everyone at Apple would use this product.

We got the idea! For the next couple of weeks, Peter and I iterated over the design of what would become the Bullet Chart feature of MORE 1.0.

Bullet Charts were a real score for us and our users. We already knew from reading regcards that a very major use of ThinkTank was preparing for presentations. It only made sense that we should go the next step, and print the outline in presentation form.

I've always felt that graphics products like page layout programs, draw programs, paint programs, were too low-level to be useful to word and concept people. With MORE, the process of producing graphics was automated. The user didn't get control over every pixel in the presentation, that's the usual tradeoff, but you could produce a sequence of bullet charts in MORE simply by typing in an outline and flipping a switch. It was this instant graphics, it's very high leverage, that made MORE a powerful product.

moread pictureThe shipment of MORE 1.0 in June 1986 was the only bona fide home run that LVT would hit. I look back on MORE as the perfect product. It took outline processing, which was still a very spacy sort of category in 1986, and transformed it into a business application. If UserLand Software is lucky, it's first end-user product will be as timely as MORE, and as uncontested in the marketplace.

By the end of 1986 we were looking to acquire products based on the success of MORE. I was particularly interested in communications software, particularly InBox from THINK Technologies, InterMail from Internet, and DaVinci EMAIL. It was my dream to get the technologists at each of these companies working together, using the new version of MORE we were developing as a unifying data structure. The goal was to produce a LAN version of MORE, using all the experience I had gained in developing LBBS in the early 80's.

To get ready for this, I did some prototypes of a mail-organizer built around MORE. I asked Doug Baron to turn MORE into a disk-based product (all the way through MORE 1.1C all our Macintosh products were memory-based).

In the spring of 1987, as we were preparing to go into the communications business, the Macintosh became a phenomenon in the PC software industry. There wasn't much software to buy, and those in a position to sell, such as Living Videotext, were much sought-after. I was conflicted -- on the one hand I was incredibly exhausted from the roller coaster ride at Living Videotext, my personal life was a wreck, and my body was fat and very out of shape. But I was really turned on by the technology we could develop with MORE as the starting point.

Selling Out

I didn't realize how tired my Board of Directors was. When the offers started to come in, they got very excited. That tipped the scales. Even though I had enough stock to control the company, I decided to take their advice and in the summer of 1987 we negotiated with Symantec and merged with them in September 1987.

I really believed in the mission of Symantec, and still do. A lot can be gained by separating the machinery of operating a software company -- sales, support, administration, manufacturing, and some marketing functions -- from the product side of the business. But integrating companies as diverse as Breakthrough Software, Living Videotext, THINK Technologies and the original Symantec, proved to be a lot more difficult. Too many personalities and egos, and too many burnt-out tired people to be patient enough to work out the differences. After six months of feeling ineffective, I resigned from Symantec to catch my breath, get my body in shape and think about new software products. I really appreciate the effort Gordon Eubanks put in to making Symantec the powerhouse software company it has become. I use their products and continue to hold stock in the company.


By late 1988 I was ready to go again. I had spent a month skiing. I lost 80 pounds, and got my body into the best shape it's been in since college. I had started developing some ideas for a new product and a new company. With me as president and sole shareholder, and my attorney Jack Russo as secretary, UserLand Software was founded in November 1988.

This page was last built on 3/21/98; 6:44:12 AM by Dave Winer.